From 2632279392007ddea47aad75ef3c88fd523bd1d8 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 14 Feb 2021 20:08:43 +0100 Subject: update other langs --- locale/it/LC_MESSAGES/messages.po | 2115 ++++++++++++++++++++++++++++++++++++- 1 file changed, 2114 insertions(+), 1 deletion(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index ca9bf922..19867c79 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2019-11-07 16:26+0000\n" +"POT-Creation-Date: 2021-02-14 19:58+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,5 +18,2118 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.4.0\n" +#: common/base.j2:5 common/news.j2:5 +msgid "GNUnet" +msgstr "" + +#: common/base.j2:6 common/news.j2:6 +msgid "GNU's framework for secure p2p networking" +msgstr "" + +#: common/footer.j2.inc:7 +msgid "Contact" +msgstr "" + +#: common/footer.j2.inc:8 common/navigation.j2.inc:49 +msgid "GNUnet e.V." +msgstr "" + +#: common/footer.j2.inc:9 template/about.html.j2:6 +msgid "About GNUnet" +msgstr "" + +#: common/footer.j2.inc:14 common/navigation.j2.inc:64 +msgid "Bug Tracker" +msgstr "" + +#: common/footer.j2.inc:19 template/copyright.html.j2:6 +msgid "Copyright Assignment" +msgstr "" + +#: common/footer.j2.inc:20 common/navigation.j2.inc:89 +#: template/developers.html.j2:24 +msgid "Bibliography" +msgstr "" + +#: common/footer.j2.inc:31 +msgid "Source code of this site." +msgstr "" + +#: common/footer.j2.inc:32 +msgid "Report issues with this website." +msgstr "" + +#: common/navigation.j2.inc:38 +msgid "About" +msgstr "" + +#: common/navigation.j2.inc:39 news/index.html.j2:8 +msgid "News" +msgstr "" + +#: common/navigation.j2.inc:40 template/index.html.j2:289 +msgid "Applications" +msgstr "" + +#: common/navigation.j2.inc:44 +msgid "Community" +msgstr "" + +#: common/navigation.j2.inc:47 template/index.html.j2:292 +msgid "Engage" +msgstr "" + +#: common/navigation.j2.inc:48 +msgid "GSoC Projects" +msgstr "" + +#: common/navigation.j2.inc:50 +msgid "Copyright for Contributors" +msgstr "" + +#: common/navigation.j2.inc:51 +msgid "IRC Archive" +msgstr "" + +#: common/navigation.j2.inc:58 +msgid "Development" +msgstr "" + +#: common/navigation.j2.inc:61 +msgid "System Architecture" +msgstr "" + +#: common/navigation.j2.inc:63 template/roadmap.html.j2:6 +msgid "Roadmap" +msgstr "" + +#: common/navigation.j2.inc:65 template/gnurl.html.j2:186 +msgid "Source Code" +msgstr "" + +#: common/navigation.j2.inc:66 +msgid "Source Code Documentation" +msgstr "" + +#: common/navigation.j2.inc:67 +msgid "Continuous Integration" +msgstr "" + +#: common/navigation.j2.inc:68 +msgid "Development Tutorial" +msgstr "" + +#: common/navigation.j2.inc:79 +msgid "Documentation" +msgstr "" + +#: common/navigation.j2.inc:82 template/install.html.j2:6 +msgid "Install" +msgstr "" + +#: common/navigation.j2.inc:83 template/install-on-openwrt.html.j2:76 +msgid "Use" +msgstr "" + +#: common/navigation.j2.inc:84 +msgid "Videos" +msgstr "" + +#: common/navigation.j2.inc:85 template/glossary.html.j2:6 +msgid "Glossary" +msgstr "" + +#: common/navigation.j2.inc:86 +msgid "Handbook" +msgstr "" + +#: common/navigation.j2.inc:87 +msgid "REST API" +msgstr "" + +#: common/navigation.j2.inc:88 +msgid "FAQ" +msgstr "" + +#: news/index.html.j2:11 +msgid "News posts about changes related to GNUnet such as releases and events" +msgstr "" + +#: news/index.html.j2:16 +msgid "subscribe to our RSS feed" +msgstr "" + +#: news/index.html.j2:34 +msgid "read more" +msgstr "" + +#: template/about.html.j2:11 +msgid "What is GNUnet?" +msgstr "" + +#: template/about.html.j2:13 +msgid "" +"GNUnet is an alternative network stack for building secure, decentralized " +"and privacy-preserving distributed applications. Our goal is to replace the " +"old insecure Internet protocol stack. Starting from an application for " +"secure publication of files, it has grown to include all kinds of basic " +"protocol components and applications towards the creation of a GNU internet." +msgstr "" + +#: template/about.html.j2:23 +msgid "" +"Today, the actual use and thus the social requirements for a global network " +"differs widely from those goals of 1970. While the Internet remains suitable " +"for military use, where the network equipment is operated by a command " +"hierarchy and when necessary isolated from the rest of the world, the " +"situation is less tenable for civil society." +msgstr "" + +#: template/about.html.j2:32 +msgid "" +"Due to fundamental Internet design choices, Internet traffic can be " +"misdirected, intercepted, censored and manipulated by hostile routers on the " +"network. And indeed, the modern Internet has evolved exactly to the point " +"where, as Matthew Green put it, \"the " +"network is hostile\"." +msgstr "" + +#: template/about.html.j2:41 +msgid "" +"We believe liberal societies need a network architecture that uses the anti-" +"authoritarian decentralized peer-to-peer paradigm and privacy-preserving " +"cryptographic protocols. The goal of the GNUnet project is to provide a Free " +"Software realization of this ideal." +msgstr "" + +#: template/about.html.j2:49 +msgid "" +"Specifically, GNUnet tries to follow the following design principles, in " +"order of importance:" +msgstr "" + +#: template/about.html.j2:56 +msgid "" +"GNUnet must be implemented as Free Software." +msgstr "" + +#: template/about.html.j2:60 +msgid "" +"GNUnet must minimize the amount of personally identifiable information " +"exposed." +msgstr "" + +#: template/about.html.j2:61 +msgid "" +"GNUnet must be fully distributed and resilient to external attacks and rogue " +"participants." +msgstr "" + +#: template/about.html.j2:62 +msgid "" +"GNUnet must be self-organizing and not depend on administrators or " +"centralized infrastructure." +msgstr "" + +#: template/about.html.j2:63 +msgid "" +"GNUnet must inform the user which other participants have to be trusted when " +"establishing private communications." +msgstr "" + +#: template/about.html.j2:64 +msgid "GNUnet must be open and permit new peers to join." +msgstr "" + +#: template/about.html.j2:65 +msgid "GNUnet must support a diverse range of applications and devices." +msgstr "" + +#: template/about.html.j2:66 +msgid "GNUnet must use compartmentalization to protect sensitive information." +msgstr "" + +#: template/about.html.j2:67 +msgid "The GNUnet architecture must be resource efficient." +msgstr "" + +#: template/about.html.j2:68 +msgid "" +"GNUnet must provide incentives for peers to contribute more resources than " +"they consume." +msgstr "" + +#: template/about.html.j2:72 +msgid "" +"To get know and learn more, please check our handbook, especially the chapter on \"Key Concepts" +"\", explaining the fundamental concepts of GNUnet: " +msgstr "" + +#: template/about.html.j2:88 +msgid "More Resources" +msgstr "" + +#: template/about.html.j2:90 +msgid "" +"There are many more resources to learn about GNUnet besides the handbook, such as the " +"bibliography with papers covering " +"the various layers, many videos or a brief glossary." +msgstr "" + +#: template/about.html.j2:95 +msgid "" +"You are most welcome to get engaged into the " +"conversation, install GNUnet, use it and contribute and get engaged " +"in various ways." +msgstr "" + +#: template/about.html.j2:100 +msgid "" +"Please be aware that this project is (despite of it's age) still in an early " +"alpha stage when it comes to software – its not an easy task to " +"rewrite the whole Internet!" +msgstr "" + +#: template/about.html.j2:105 +msgid "Current funding" +msgstr "" + +#: template/about.html.j2:110 +msgid "" +"We're receiving funding from NLnet's Next Generation Internet funding line " +"to document and implement the GNU Name System protocol in a way suitable for " +"the IETF standardization process." +msgstr "" + +#: template/about.html.j2:123 +msgid "" +"This project has received funding from the European Union’s Horizon 2020 " +"research and innovation programme under the NGI_TRUST grant agreement no " +"825618. The project aims to integrate re:claimID with the GNU Taler payment " +"system in a pilot in order to demonstrate the practical feasibility and " +"benefits of privacy enhancing technologies for users and commercial service " +"providers. The project is called \"Decentralized Identities for Self-" +"Sovereign End-users\" (DISSENS)." +msgstr "" + +#: template/about.html.j2:141 +msgid "" +"We are grateful for free hosting offered by the following organizations:" +msgstr "" + +#: template/about.html.j2:150 +msgid "Past funding" +msgstr "" + +#: template/about.html.j2:152 +msgid "We are grateful for past funding from the following organizations:" +msgstr "" + +#: template/applications.html.j2:7 +msgid "Applications provided by GNUnet" +msgstr "" + +#: template/applications.html.j2:13 template/gns.html.j2:7 +msgid "The GNU Name System" +msgstr "" + +#: template/applications.html.j2:15 +msgid "" +"The GNU Name System (GNS) is a fully decentralized " +"replacement for the Domain Name System (DNS). Instead of using a hierarchy, " +"GNS uses a directed graph. Naming conventions are similar to DNS, but " +"queries and replies are private even with respect to peers providing the " +"answers. The integrity of records and privacy of look-ups is " +"cryptographically secured. " +msgstr "" + +#: template/applications.html.j2:38 +msgid "Self-sovereign, decentralized identity provider" +msgstr "" + +#: template/applications.html.j2:40 +msgid "" +"re:claimID is a decentralized " +"Identity Provider (IdP) service built in top of the GNU Name System. It " +"allows users to securely share personal information with websites using " +"standardized protocols (OpenID Connect)." +msgstr "" + +#: template/applications.html.j2:57 +msgid "Filesharing (Alpha)" +msgstr "" + +#: template/applications.html.j2:59 +msgid "" +"GNUnet filesharing is an application that aims " +"to provide censorship-resistant, anonymous filesharing. The publisher is " +"empowered to make a gradual choice between performance and anonymity." +msgstr "" + +#: template/applications.html.j2:73 +msgid "Conversation (Pre-Alpha)" +msgstr "" + +#: template/applications.html.j2:75 +msgid "" +"GNUnet conversation is an application that provides secure voice " +"communication in a fully decentralized way by employing GNUnet for routing " +"and transport." +msgstr "" + +#: template/applications.html.j2:91 +msgid "Applications utilizing GNUnet" +msgstr "" + +#: template/applications.html.j2:97 +msgid "GNU Taler (Alpha)" +msgstr "" + +#: template/applications.html.j2:99 +msgid "" +"GNU Taler is a new privacy-preserving " +"electronic payment system. Payments are cryptographically secured and are " +"confirmed within milliseconds with extremely low transaction costs." +msgstr "" + +#: template/applications.html.j2:118 +msgid "secushare" +msgstr "" + +#: template/applications.html.j2:120 +msgid "" +"secushare is creating a decentralized " +"social networking application on top of GNUnet. Using overlay multicast and " +"the extensible PSYC protocol, notifications are distributed end-to-end " +"encrypted to authorized recipients only." +msgstr "" + +#: template/applications.html.j2:139 +msgid "pretty Easy privacy" +msgstr "" + +#: template/applications.html.j2:141 +msgid "" +"pretty Easy privacy (p≡p) is " +"creating a usable end-to-end encrypted e-mail solution using opportunistic " +"key exchange. p≡p will use GNUnet to protect metadata and exploit new " +"cryptographic protocols to verify keys." +msgstr "" + +#: template/applications.html.j2:160 +msgid "Cadet-GTK" +msgstr "" + +#: template/applications.html.j2:162 +msgid "" +"Cadet-GTK is a " +"convenient but feature-rich graphical application providing messaging using " +"especially the CADET subsystem. It is developed using GTK and libhandy for a " +"convergent design." +msgstr "" + +#: template/applications.html.j2:180 +msgid "groupchat" +msgstr "" + +#: template/applications.html.j2:182 +msgid "" +"groupchat is a " +"terminal user interface providing messaging using especially the CADET " +"subsystem. It is developed using nim. Cadet-GTK and groupchat are planned to " +"be compatible." +msgstr "" + +#: template/architecture.html.j2:6 +msgid "GNUnet System Architecture" +msgstr "" + +#: template/architecture.html.j2:15 +msgid "Legend" +msgstr "" + +#: template/architecture.html.j2:55 +msgid "Foundations" +msgstr "" + +#: template/architecture.html.j2:57 +msgid "" +"The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " +"end-to-end encrypted messaging layer (CADET), a public key infrastructure " +"(GNS) and a pluggable transport system (TRANSPORT).
Using public keys " +"for addresses and self-organized decentralized routing algorithms, these " +"subsystems replace the traditional TCP/IP stack." +msgstr "" + +#: template/architecture.html.j2:70 +msgid "Security" +msgstr "" + +#: template/architecture.html.j2:73 +msgid "" +"GNUnet is implemented using a multi-process architecture. Each subsystem " +"runs as a separate process, providing fault-isolation and enabling tight " +"permissions to be granted to each subsystem. Naturally, the implementation " +"is a GNU package, and will always " +"remain free software." +msgstr "" + +#: template/architecture.html.j2:87 +msgid "System architecture" +msgstr "" + +#: template/architecture.html.j2:93 +msgid "Subsystems" +msgstr "" + +#: template/architecture.html.j2:102 +msgid "libgnunetutil" +msgstr "" + +#: template/architecture.html.j2:108 +msgid "APIs" +msgstr "" + +#: template/contact.html.j2:6 +msgid "Contact information" +msgstr "" + +#: template/contact.html.j2:11 +msgid "The mailing list" +msgstr "" + +#: template/contact.html.j2:13 +msgid "" +"An archived, public mailing list for GNUnet is hosted at https://lists.gnu.org/" +"mailman/listinfo/gnunet-developers. You can send messages to the list at " +"gnunet-developers@gnu.org." +msgstr "" + +#: template/contact.html.j2:23 +msgid "The IRC channel" +msgstr "" + +#: template/contact.html.j2:25 +msgid "" +"#gnunet is reachable via irc." +"freenode.net. There is also an archive available." +msgstr "" + +#: template/contact.html.j2:38 +msgid "Contacting individuals" +msgstr "" + +#: template/contact.html.j2:40 +msgid "" +"GNUnet developers are generally reachable at either PSEUDONYM@gnunet." +"org or LASTNAME@gnunet.org. Most of us support receiving GnuPG " +"encrypted Emails. Urgent and sensitive security issues may be addressed to " +"the GNU maintainers schanzen and grothoff." +msgstr "" + +#: template/contact.html.j2:53 +msgid "Reporting bugs" +msgstr "" + +#: template/contact.html.j2:55 +msgid "" +"We track open feature requests and bugs for projects within GNUnet in our Bug tracker. You can also report bugs " +"or feature requests to the bug-gnunet mailing list. The mailinglist requires no " +"subscription." +msgstr "" + +#: template/copyright.html.j2:11 +msgid "" +"

Contributors to GNUnet with Git access must sign the copyright assignment to ensure that the GNUnet e.V. --- Taler Systems SA agreement on licensing and collaborative " +"development of the GNUnet and GNU Taler projects is satisfied.

" +msgstr "" + +#: template/copyright.html.j2:22 +msgid "" +"

The agreements ensure that the code will continue to be made available " +"under free software licenses, but gives developers the freedom to move code " +"between GNUnet and GNU Taler without worrying about licenses and to give the " +"company the ability to dual-license (for example, so that we can distribute " +"via App-stores that are hostile to free software).

" +msgstr "" + +#: template/copyright.html.j2:30 +msgid "" +"

Minor contributions (basically, anyone without Git access) do not require " +"copyright assignment. Pseudonymous contributions are accepted, in this case " +"simply sign the agreement with your pseudonym. Scanned copies are " +"sufficient, but snail mail is preferred.

" +msgstr "" + +#: template/developers.html.j2:5 +msgid "GNUnet for developers" +msgstr "" + +#: template/developers.html.j2:13 +msgid "Repositories" +msgstr "" + +#: template/developers.html.j2:16 +msgid "" +"A list of our Git repositories can be found on our our Git Server." +msgstr "" + +#: template/developers.html.j2:27 +msgid "" +"Technical papers can be found in our bibliography." +msgstr "" + +#: template/developers.html.j2:34 +msgid "Discussion" +msgstr "" + +#: template/developers.html.j2:37 +msgid "" +"We have a mailing list for developer discussions. You can subscribe to or " +"read the list archive at http://lists.gnu.org/mailman/listinfo/gnunet-developers." +msgstr "" + +#: template/developers.html.j2:47 +msgid "Regression Testing" +msgstr "" + +#: template/developers.html.j2:50 +msgid "" +"We have Buildbot automation tests to " +"detect regressions and check for portability at https://old.gnunet.org/buildbot/gnunet/." +msgstr "" + +#: template/developers.html.j2:59 +msgid "Code Coverage Analysis" +msgstr "" + +#: template/developers.html.j2:62 +msgid "" +"We use LCOV to " +"analyze the code coverage of our tests, the results are available at https://old.gnunet.org/coverage/." +msgstr "" + +#: template/developers.html.j2:72 +msgid "Performance Analysis" +msgstr "" + +#: template/developers.html.j2:75 +msgid "" +"We use Gauger for performance " +"regression analysis of the exchange backend at https://old.gnunet.org/gauger/." +msgstr "" + +#: template/download.html.j2:7 template/gnurl.html.j2:209 +msgid "Downloads" +msgstr "" + +#: template/download.html.j2:11 +msgid "" +"Here you can download releases of our software and find links to the various " +"versions." +msgstr "" + +#: template/download.html.j2:17 +msgid "0.11.x series" +msgstr "" + +#: template/download.html.j2:18 +msgid "tarball" +msgstr "" + +#: template/download.html.j2:20 +msgid "" +"The tarball of the latest version can be obtained from GNU FTP and its " +"mirrors." +msgstr "" + +#: template/download.html.j2:30 +msgid "git" +msgstr "" + +#: template/download.html.j2:32 +msgid "" +"You can fetch the git tag of version 0.11.x from our development server:" +msgstr "" + +#: template/engage.html.j2:6 +msgid "Engage!" +msgstr "" + +#: template/ev.html.j2:6 +msgid "Verein zur Förderung von GNUnet e.V." +msgstr "" + +#: template/ev.html.j2:11 +msgid "About GNUnet e.V." +msgstr "" + +#: template/ev.html.j2:13 +msgid "" +"On December 27th 2013 a group of GNUnet hackers met at 30c3 to create the " +"\"Verein zur Förderung von GNUnet e.V.\", an association under German " +"law to support GNUnet development. The Amtsgericht München registered " +"the association on the 7th of March under VR 205287." +msgstr "" + +#: template/ev.html.j2:22 +msgid "" +"The association is officially dedicated to supporting research, development " +"and education in the area of secure decentralized networking in general, and " +"GNUnet specifically. This is the official website for the association." +msgstr "" + +#: template/ev.html.j2:31 +msgid "Becoming a Member of GNUnet e.V." +msgstr "" + +#: template/ev.html.j2:33 +msgid "" +"GNUnet developers with git (write) access can become members to participate " +"in the decision process and formally support GNUnet e.V. For this, all you " +"have to do is update the members.txt file in the gnunet-ev repository. There are no " +"membership dues; however, members are required to support GNUnet e.V. and in " +"particularly contribute to the technical development within their means. For " +"further details, we refer to the Satzung (currently only available in German, translations " +"welcome)." +msgstr "" + +#: template/ev.html.j2:52 +msgid "Governance" +msgstr "" + +#: template/ev.html.j2:54 +msgid "" +"You can find our \"Satzung\", and the list of members under https://git.gnunet." +"org/gnunet-ev.git/tree/satzung.tex. The current board consists of: " +"
Vorsitz
Martin " +"Schanzenbach
stellvertretender Vorsitz
t3sserakt
" +"
Kassenwart
Florian Dold
Beisitzer
Christian Grothoff, ch3
" +msgstr "" + +#: template/ev.html.j2:73 +msgid "Official Meeting Notes" +msgstr "" + +#: template/ev.html.j2:86 +msgid "Support Us!" +msgstr "" + +#: template/ev.html.j2:88 +msgid "" +"Everybody is welcome to support us via donations. For financial " +"contributions, Europeans are able to donate via SEPA. We hope to setup " +"accounts in other major currency areas in the future. You can also donate " +"via Bitcoin, routing details are given below. Please note that we are unable " +"to provide receipts for your donations. If you are planning to donate a " +"significant amount of money, please contact us first as it might be better " +"to come to a custom arrangement.
BitCoin
" +"
1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh
SEPA/IBAN
" +"
DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)
" +msgstr "" + +#: template/faq.html.j2:12 +msgid "Is GNUnet ready for use on production systems?" +msgstr "" + +#: template/faq.html.j2:14 +msgid "" +"A: GNUnet is still undergoing major development. It is largely not yet ready " +"for usage beyond developers. Your mileage will vary depending on the " +"functionality you use, but you will always likely run into issues with our " +"current low-level transport system. We are currently in the process of " +"rewriting it (Project "Transport Next Generation [TNG]")" +msgstr "" + +#: template/faq.html.j2:24 +msgid "Is GNUnet build using distributed ledger technologies?" +msgstr "" + +#: template/faq.html.j2:26 +msgid "" +"A: No. GNUnet is a new network protocol stack for building secure, " +"distributed, and privacy-preserving applications. While a ledger could be " +"built using GNUnet, we currently have no plans in doing so." +msgstr "" + +#: template/faq.html.j2:35 +msgid "" +"I receive many "WARNING Calculated flow delay for X at Y for Z". " +"Should I worry?" +msgstr "" + +#: template/faq.html.j2:37 +msgid "" +"A: Right now, this is expected and a known cause for high latency in GNUnet. " +"We have started a major rewrite to address this and other problems, but " +"until the Transport Next Generation (TNG) is ready, these warnings are " +"expected." +msgstr "" + +#: template/faq.html.j2:46 +msgid "Is there a graphical user interface?" +msgstr "" + +#: template/faq.html.j2:48 +msgid "" +"A: gnunet-gtk is a separate download. The package contains various GTK+ " +"based graphical interfaces, including a graphical tool for configuration." +msgstr "" + +#: template/glossary.html.j2:12 +msgid "Ego" +msgstr "" + +#: template/glossary.html.j2:14 +msgid "" +"We use the term \"Ego\" to refer to the fact that users in GNUnet can have " +"multiple unlinkable identities, in the sense of alter egos. The ability to " +"have more than one identity is crucial, as we may want to keep our egos for " +"business separate from those we use for political activities or romance.
" +"Egos in GNUnet are technically equivalent to identities (and the code does " +"not distinguish between them). We simply sometimes use the term \"ego\" to " +"stress that you can have more than one." +msgstr "" + +#: template/glossary.html.j2:27 +msgid "Identity" +msgstr "" + +#: template/glossary.html.j2:29 +msgid "" +"In GNUnet users are identified via a public key, and that public key is then " +"often referred to as the \"Identity\" of the user. However, the concept is " +"not as draconian as it often is in real life where many are forced to have " +"one name, one passport and one unique identification number.
As long as " +"identities in GNUnet are simply public keys, users are free to create any " +"number of identities, and we call those egos to emphasize the difference. " +"Even though users can create such egos freely, it is possible to have an ego " +"certified by some certification authority, resulting in something that more " +"closely resembles the traditional concept of an identity.
For example, a " +"university may certify the identities of its students such that they can " +"prove that they are studying. Students may keep their (certified) student " +"identity separate from other egos that they use for other activities in life." +msgstr "" + +#: template/glossary.html.j2:50 +msgid "Pseudonym" +msgstr "" + +#: template/glossary.html.j2:52 +msgid "" +"A pseudonym is an ego that is specifically intended to not be linked to " +"one's real name. GNUnet users can create many egos, and thus also many " +"pseudonyms.
Repeated uses of the same pseudonym are linkable by " +"definition, as they involve the same public key. Anonymity requires the use " +"of either the special \"anonymous\" pseudonym (for GNUnet, this is the " +"neutral element on the elliptic curve) or a throw-away pseudonym that is " +"only used once." +msgstr "" + +#: template/glossary.html.j2:71 +msgid "Namespaces" +msgstr "" + +#: template/glossary.html.j2:73 +msgid "" +"The GNU Name System allows every ego (or identity) to securely and privately " +"associate any number of label-value pairs with an ego. The values are called " +"record sets following the terminology of the Domain Name System (DNS). The " +"mapping of labels to record sets for a given ego is called a namespace.
" +"If records are made public and thus published, it is possible for other " +"users to lookup the record given the ego's public key and the label. Here, " +"not only the label can thus act as a passphrase but also the public key -- " +"which despite its name may not be public knowledge and is never disclosed by " +"the GNS protocol itself." +msgstr "" + +#: template/glossary.html.j2:89 +msgid "Peer" +msgstr "" + +#: template/glossary.html.j2:91 +msgid "" +"A \"peer\" is an instance of GNUnet with its own per-instance public key and " +"network addresses. Technically, it is possible to run multiple peers on the " +"same host, but this only makes sense for testing.
By design GNUnet " +"supports multiple users to share the same peer, just as UNIX is a multi-user " +"system. A \"peer\" typically consists of a set of foundational GNUnet " +"services running as the \"gnunet\" user and allowing all users in the " +"\"gnunet\" group to utilize the API. On multi-user systems, additional " +"\"personalized\" services may be required per user.
While peers are " +"also identified by public keys, these public keys are completely unrelated " +"to egos or identities. Namespaces cannot be associated with a peer, only " +"with egos." +msgstr "" + +#: template/gns.html.j2:13 template/gnurl.html.j2:60 +msgid "Motivation" +msgstr "" + +#: template/gns.html.j2:15 +msgid "" +"The Domain Name System today enables traffic amplification attacks, " +"censorship (i.e. China), mass surveillance (MORECOWBELL) and offensive cyber " +"war (QUANTUMDNS).
Unfortunately, band aid solutions such as DoT, DoH, " +"DNSSEC, DPRIVE and the like will not fix this. This is why we built the GNU " +"Name System (GNS), a secure, decentralized name system built on top of " +"GNUnet." +msgstr "" + +#: template/gns.html.j2:28 +msgid "Overview" +msgstr "" + +#: template/gns.html.j2:37 +msgid "Features" +msgstr "" + +#: template/gns.html.j2:39 +msgid "" +"The GNU Name System (GNS) is secure and decentralized naming system. It " +"allows its users to register names as top-level domains (TLDs) and resolve " +"other namespaces within their TLDs.
GNS is designed to provide:
    " +"
  • Censorship resistance
  • Query privacy
  • Secure name " +"resolution
  • Compatibility with DNS
  • " +msgstr "" + +#: template/gns.html.j2:52 +msgid "Resources" +msgstr "" + +#: template/gnurl.html.j2:21 +msgid "" +"libgnurl is a micro fork of libcurl. The goal of libgnurl is to support only " +"HTTP and HTTPS (and only HTTP 1.x) with a single crypto backend (GnuTLS) to " +"ensure a small footprint and uniform experience for developers regardless of " +"how libcurl was compiled." +msgstr "" + +#: template/gnurl.html.j2:30 +msgid "" +"Our main usecase is for GNUnet and Taler, but it might be usable for others, " +"hence we're releasing the code to the general public." +msgstr "" + +#: template/gnurl.html.j2:37 +msgid "" +"libgnurl is released under the same license as libcurl. Please read the " +"README for instructions, as you must supply the correct options to configure " +"to get a proper build of libgnurl." +msgstr "" + +#: template/gnurl.html.j2:48 +msgid "About gnurl" +msgstr "" + +#: template/gnurl.html.j2:50 +msgid "" +"Large parts of the following 6 paragraphs are old and need to be rewritten." +msgstr "" + +#: template/gnurl.html.j2:62 +msgid "" +"cURL supports many crypto backends. GNUnet requires the use of GnuTLS, but " +"other variants are used by some distributions. Supporting other crypto " +"backends would again expose us to a wider array of security issues, may " +"create licensing issues and most importantly introduce new bugs as some " +"crypto backends are known to introduce subtle runtime issues. While it is " +"possible to have two versions of libcurl installed on the same system, this " +"is error-prone, especially as if we are linked against the wrong version, " +"the bugs that arise might be rather subtle." +msgstr "" + +#: template/gnurl.html.j2:75 +msgid "" +"For GNUnet, we also need a particularly modern version of GnuTLS. Thus, it " +"would anyway be necessary to recompile cURL for GNUnet. But what happens if " +"one links cURL against this version of GnuTLS? Well, first one would install " +"GnuTLS by hand in the system. Then, we build cURL. cURL will build against " +"it just fine, but the linker will eventually complain bitterly. The reason " +"is that cURL also links against a bunch of other system libraries (gssapi, " +"ldap, ssh2, rtmp, krb5, sasl2, see discussion on obscure protocols above), " +"which --- as they are part of the distribution --- were linked against an " +"older version of GnuTLS. As a result, the same binary would be linked " +"against two different versions of GnuTLS. That is typically a recipe for " +"disaster. Thus, in order to avoid updating a dozen system libraries (and " +"having two versions of those installed), it is necessary to disable all of " +"those cURL features that GNUnet does not use, and there are many of those. " +"For GNUnet, the more obscure protocols supported by cURL are close to dead " +"code --- mostly harmless, but not useful. However, as some application may " +"use one of those features, distributions are typically forced to enable all " +"of those features, and thus including security issues that might arise from " +"that code." +msgstr "" + +#: template/gnurl.html.j2:99 +msgid "" +"So to use a modern version of GnuTLS, a sane approach is to disable all of " +"the \"optional\" features of cURL that drag in system libraries that link " +"against the older GnuTLS. That works, except that one should then NEVER " +"install that version of libcurl in say /usr or /usr/local, as that may break " +"other parts of the system that might depend on these features that we just " +"disabled. Libtool versioning doesn't help here, as it is not intended to " +"deal with libraries that have optional features. Naturally, installing cURL " +"somewhere else is also problematic, as we now need to be really careful that " +"the linker will link GNUnet against the right version. Note that none of " +"this can really be trivially fixed by the cURL developers." +msgstr "" + +#: template/gnurl.html.j2:118 +msgid "Rename to fix" +msgstr "" + +#: template/gnurl.html.j2:120 +#, python-format +msgid "" +"How does forking fix it? Easy. First, we can get rid of all of the " +"compatibility issues --- if you use libgnurl, you state that you don't " +"need anything but HTTP/HTTPS. Those applications that need more, should " +"stick with the original cURL. Those that do not, can choose to move to " +"something simpler. As the library gets a new name, we do not have to worry " +"about tons of packages breaking as soon as one rebuilds it. So renaming " +"itself and saying that \"libgnurl = libcurl with only HTTP/HTTPS support and " +"GnuTLS\" fixes 99%% of the problems that darkened my mood. Note that this " +"pretty much CANNOT be done without a fork, as renaming is an essential part " +"of the fix. Now, there might be creative solutions to achieve the same thing " +"within the standard cURL build system, but this was deemed to be too much " +"work when gnurl was originally started. The changes libgnurl makes to curl " +"are miniscule and can easily be applied again and again whenever libcurl " +"makes a new release." +msgstr "" + +#: template/gnurl.html.j2:142 +msgid "Using libgnurl" +msgstr "" + +#: template/gnurl.html.j2:144 +msgid "" +"Projects that use cURL only for HTTP/HTTPS and that would work with GnuTLS " +"should be able to switch to libgnurl by changing \"-lcurl\" to \"-lgnurl\". " +"That's it. No changes to the source code should be required, as libgnurl " +"strives for bug-for-bug compatibility with the HTTP/HTTPS/GnuTLS subset of " +"cURL. We might add new features relating to this core subset if they are " +"proposed, but so far we have kept our changes minimal and no additions to " +"the original curl source have been written." +msgstr "" + +#: template/gnurl.html.j2:161 +msgid "Gotchas" +msgstr "" + +#: template/gnurl.html.j2:163 +msgid "" +"libgnurl and gnurl are not intended to be used as a replacement for curl for " +"users:
    This does not mean there is no confidence in the work done with " +"gnurl, it means that tools which expect curl or libcurl will not make use of " +"a different named binary and library. If you know what you are doing, you " +"should be able to use gnurl as part of your tooling in place of curl. We do " +"not recommend to do so however, as the only usage it is tested for so " +"far is as part of Taler's and GNunet's build-system.
    Since " +"no conflicts in filenames occur you are not expected to remove curl to make " +"use of gnurl and viceversa." +msgstr "" + +#: template/gnurl.html.j2:188 +msgid "You can get the gnurl git repository using:" +msgstr "" + +#: template/gnurl.html.j2:201 +msgid "The versions are checked in as (signed) git tags." +msgstr "" + +#: template/gnurl.html.j2:211 +msgid "" +"Releases are published on ftpmirror.gnu.org/gnu/gnunet. gnurl is available from within a " +"variety of distributions and package managers. Some Package Managers which " +"include gnurl are: GNU Guix (available as \"gnurl\"), Gentoo " +"through the collaborative ebuild collection youbroketheinternet, Nix, and as www/gnurl in pkgsrc." +msgstr "" + +#: template/gnurl.html.j2:228 +msgid "Building gnurl" +msgstr "" + +#: template/gnurl.html.j2:230 +msgid "" +"We suggest to closely follow release announcements, as they might indicate " +"changes in how gnurl is to be build.
    If your package manager provides a " +"binary build or build instructions to build gnurl from source automated and " +"integrated with your environment, we strongly suggest to use this binary " +"build.
    There are two ways to build gnurl. The first one builds from the " +"most recent git tag, the second one uses the distributed tarball. " +"Distributors generally are supposed to build from the tarball, but we " +"describe both methods here. Both methods are written with a NetBSD 9 " +"userland in mind, substitute tools as necessary.
    You should avoid building gnurl from the tip of the default git branch, as only tags are " +"considered to be stable and approved builds." +msgstr "" + +#: template/gnurl.html.j2:251 +msgid "Building from the distributed tarball (prefered method)" +msgstr "" + +#: template/gnurl.html.j2:253 +msgid "" +"If you want to verify the signature, install an OpenPGP compatible tool such " +"as security/gnupgp2 (and set it up). Assuming you use pkgin:" +msgstr "" + +#: template/gnurl.html.j2:267 +msgid "Fetch the signature key from" +msgstr "" + +#: template/gnurl.html.j2:271 +msgid "or via commandline with gnupg2." +msgstr "" + +#: template/gnurl.html.j2:276 +msgid "" +"Fetch the release, the signature, the checksum file as well as its signature:" +msgstr "" + +#: template/gnurl.html.j2:295 +msgid "" +"verify the signatures, and verify the checksums against the checksums in " +"the .sum.txt file." +msgstr "" + +#: template/gnurl.html.j2:301 +msgid "unpack the tarball:" +msgstr "" + +#: template/gnurl.html.j2:311 +msgid "Change into the directory" +msgstr "" + +#: template/gnurl.html.j2:321 +msgid "Now you can either run" +msgstr "" + +#: template/gnurl.html.j2:331 +msgid "directly (and read configure-gnurl before you do so) or invoke" +msgstr "" + +#: template/gnurl.html.j2:341 +msgid "" +"and pass additional parameters such as a custom PREFIX location. Further " +"reference can be the" +msgstr "" + +#: template/gnurl.html.j2:346 +msgid "Now run" +msgstr "" + +#: template/gnurl.html.j2:356 +msgid "(this is optional)" +msgstr "" + +#: template/gnurl.html.j2:365 +msgid "and you are done." +msgstr "" + +#: template/gnurl.html.j2:369 +msgid "Building from a tagged git commit" +msgstr "" + +#: template/gnurl.html.j2:371 +msgid "" +"Follow the steps above, but instead of downloading the tarball, clone the " +"git tag you want to build from." +msgstr "" + +#: template/gnurl.html.j2:382 +msgid "Reporting Bugs" +msgstr "" + +#: template/gnurl.html.j2:384 +msgid "" +"You can report bugs on our bug tracker: bugs.gnunet.org. Alternatively you can use our bug mailinglist, but " +"we prefer to track bugs on the bugtracker." +msgstr "" + +#: template/gnurl.html.j2:395 +msgid "Maintainer and Cryptographic signatures" +msgstr "" + +#: template/gnurl.html.j2:397 +msgid "" +"gnurl/libgnurl is maintained by Nikita. Releases after version 7.69.1 are " +"signed with the OpenPGP Key 0xD6B570842F7E7F8D (keys." +"openpgp.org, n0.is), with the " +"key fingerprint 6115 012D EA30 26F6 2A98 A556 D6B5 7084 2F7E 7F8D." +msgstr "" + +#: template/gsoc-2018-gnunet-webui.html.j2:7 +msgid "GSoC 2018: GNUnet WebUI (GNUnet Web-based User Interface)" +msgstr "" + +#: template/gsoc-2018-gnunet-webui.html.j2:11 +msgid "Tue, 08/14/2018 - 07:55, Phil Buschmann" +msgstr "" + +#: template/gsoc-2018-gnunet-webui.html.j2:18 +msgid "" +"In the context of Google Summer of Code 2018, my mentor (Martin " +"Schanzenbach) and I have worked on creating and extending the REST API of " +"GNUnet. Currently, we mirrored the functionality of following commands:" +msgstr "" + +#: template/gsoc-2018-gnunet-webui.html.j2:32 +msgid "" +"Additionally, we developed a website with the Javascript framework Angular 6 " +"and the design framework iotaCSS to use the new REST API. The REST API of " +"GNUnet is now documented with Sphinx." +msgstr "" + +#: template/gsoc-2018-gnunet-webui.html.j2:41 +msgid "" +"... when you can use the command line tools? We need to keep in mind, that " +"everyone has the right to stay secure and private but not everyone feels " +"comfortable using a terminal. The further developed REST access to GNUnet " +"APIs in addition to the new web application allows new users to interact " +"with GNUnet over a well known tool: their browsers. This addition to the C " +"API and the command line tools may attract new users and developers." +msgstr "" + +#: template/gsoc-2018-gnunet-webui.html.j2:54 +msgid "" +"
  • The REST API developed in GNUnet
    The REST API is already merged " +"into the gnunet.git repository (GNUnet Main Git).
    To use the new features, clone the repository " +"and follow the Installation on gnunet.org. Then, start the rest service with \"gnunet-arm -i rest\". " +"
  • The Web Application
    The web application is available under " +"the gnunet-webui.git repository (
    GNUnet WebUI Git).
    You need to install the newest " +"version of 'node' and 'yarn'. Dependent on your system, you may need to " +"download newer versions and install them manually and not over your packet " +"manager. After the installation succeeded, you need to clone the repository. " +"Then, you need to run \"yarn install\" and \"yarn start\" for testing " +"purposes. To deploy the website (keep in mind, that this website " +"communicates with another localhost instance) use \"yarn build\" for " +"building the web application and use the output in the 'dist' directory.
  • The Documentation
    The documentation is available under the " +"gnunet-rest-api.git repository (GNUnet REST API Docmentation Git).
    Clone the repository " +"and \"make html\". Then open the 'index.html' under 'build/html/'.
  • " +msgstr "" + +#: template/gsoc-2018-gnunet-webui.html.j2:91 +msgid "" +"Please, give it a try and contact me, if you find any bugs or unintentional " +"features. ;)" +msgstr "" + +#: template/gsoc-2018-gnunet-webui.html.j2:98 +msgid "" +"Right now, the build process of the web application may be a little too " +"complex for a casual user. We may be able to solve this by using docker.
    Additionally, the web application does not prevent wrong inputs but " +"responds with error messages. Adding GNUnet Records is currently only usable " +"for people, who know how a GNS Record looks like. This can be adapted to " +"each record type.
    Last but not least, additional features, design " +"changes, etc..." +msgstr "" + +#: template/gsoc-2018-gnunet-webui.html.j2:111 +msgid "Thanks for reading." +msgstr "" + +#: template/gsoc.html.j2:6 +msgid "GNUnet's Google Summer of Code projects" +msgstr "" + +#: template/gsoc.html.j2:12 template/gsoc.html.j2:29 +msgid "Ideas 2021" +msgstr "" + +#: template/gsoc.html.j2:13 template/gsoc.html.j2:215 +msgid "Past projects" +msgstr "" + +#: template/gsoc.html.j2:14 template/gsoc.html.j2:596 +msgid "Finished projects" +msgstr "" + +#: template/gsoc.html.j2:21 +msgid "" +"As a GNU project, GNUnet has participated in the Google Summer of Code " +"(GSoC) for a number of years. This page lists all current, past, and " +"finished projects. If you want to participate and apply for any of the ideas " +"for 2020 below or any past project which is not yet finished (or even your " +"own idea), please contact us either in IRC or mailing list." +msgstr "" + +#: template/gsoc.html.j2:34 +msgid "" +"The GNUnet team is currently working on a transport layer rewrite in order " +"to fix core issues with connectivity. This new component is currently " +"developed under the name \"TNG\". What is currently known as \"transport " +"plugins\" will in the TNG be represented as \"communicators\". Communicators " +"are processes with a well defined API that allow to connect peers over a " +"specific protocol. The primary protocol which are already implemented are " +"UNIX sockets, UDP sockets, and TCP sockets. For a truly resilient network, " +"other connectivity options such as WiFi mesh, Bluetooth, HTTP(S), QUIC or " +"even more obscure alternatives such as radio are required. In this project, " +"the goal is to select, implement and test new communicators. While TNG is " +"not yet ready, communicators can, by design, be developed and tested against " +"the current API. We expect that this project can be worked on by multiple " +"students as there are a lot of protocols to choose from. The tasks would " +"consist of:
    1. Deciding which communicators to implement.
    2. " +"
    3. Test the communicators.
    4. Documentation.
    Advantageous " +"skills/languages/frameworks:
    1. C
    2. Knowledge of HTTPS, QUIC, " +"Bluetooth or WiFi.

    Difficulty: Average, " +"but depends on selected protocols.
    Mentors: Martin " +"Schanzenbach, t3sserakt" +msgstr "" + +#: template/gsoc.html.j2:79 +msgid "" +"The REST API currently only supports a single user system. This is an issue " +"as on multi-user systems, access control must be enfoced on a per-user " +"basis. In this project, the REST service must be extended to support user " +"authentication. This includes the correct handling of user context switches. " +"
    1. Implement user authentication.
    2. Test the access control.
    3. Document the changes to the REST API.
    Advantageous skills/" +"languages/frameworks:
    1. C
    2. Knowledge of user authentication " +"subsystems on Linux/Unix.
    3. REST/HTTP Authentication methods

    4. Difficulty: Beginner
      Mentors: Martin Schanzenbach" +msgstr "" + +#: template/gsoc.html.j2:111 +msgid "" +"reclaimID is a decentralized identity system build on top of the GNU Name " +"System. Currently, there is a Webextension which uses the GNUnet REST API. In order to improve adoption and " +"ease of use, this project aims to include a full GNUnet node within the " +"Webextention as a fallback. GNUnet can be compiled to Web Assembly or " +"JavaScript as demonstrated here. The idea " +"is to improve upon this concept and support more of GNUnet's subsystems. The " +"difficulty of this project largely depends on the students proficiency with " +"build tools, emscripten and improvisation skills. There non-exhaustive task " +"list would be:
      1. Improve existing GNUnet emscripten build to include " +"more subsystems.
      2. Integrate the result into a Webextention.
      3. " +"
      4. Integrate the result into the re:claimID Webextension
      " +"Advantageous skills/languages/frameworks:
      1. C
      2. emscripten
      3. Webextensions

      Difficulty: " +"Challenging
      Mentors: Martin Schanzenbach" +msgstr "" + +#: template/gsoc.html.j2:147 +msgid "" +"Currently, the keys in our statistics database are too verbose. For example: " +"

      nse # flood messages received: 13
      nse # peers connected: 4
      nse # nodes in the network (estimate): 203
      nse # flood messages " +"started: 5
      nse # estimated network diameter: 3
      nse # flood " +"messages transmitted: 10

      With such verbose keys there's no " +"easy way to form compact JSON document or entries for time-series database. " +"And you can't query single stats without having to copypaste the line " +"exactly and put in quotes. In short, the goals are to...

      1. Think of a " +"way how statistics entries can be made canonical.
      2. Implement the " +"change and migrate existing uses.
      3. Document the format(s) and define " +"an appropriate registration mechanism for identifiers
      Relevant " +"bugs: #5650
      " +"Advantageous skills/languages/frameworks:
      1. C
      2. HTML

      3. Difficulty: Beginner
        Mentors: Martin Schanzenbach" +msgstr "" + +#: template/gsoc.html.j2:187 +msgid "" +"The goal is to either build upon the (outdated) GNUnet Rust bindings or to follow the path of https://github.com/bfix/gnunet-go which tries to " +"reimplement most of the GNUnet stack. The end result should be an extension " +"template for GNUnet in the form of the existing C template which allows to quickly start " +"implementing services and libraries for GNUnet." +msgstr "" + +#: template/gsoc.html.j2:198 template/gsoc.html.j2:652 +msgid "Mentors: Martin Schanzenbach" +msgstr "" + +#: template/gsoc.html.j2:203 +msgid "Required Skills: Solid knowledge of Rust and ideally asynchronuous IO." +msgstr "" + +#: template/gsoc.html.j2:208 template/gsoc.html.j2:321 +#: template/gsoc.html.j2:531 template/gsoc.html.j2:662 +msgid "Difficulty level: medium" +msgstr "" + +#: template/gsoc.html.j2:222 +msgid "" +"It is time for GNUnet to run properly on Android. Note that GNUnet is " +"written in C, and this is not about rewriting GNUnet in Java, but about " +"getting the C code to run on Android." +msgstr "" + +#: template/gsoc.html.j2:229 +msgid "" +"Includes: Implementation of rudimentary Android compatibility for GNUnet, in " +"part by porting the GNUnet utils scheduler to act as a thin wrapper over " +"libuv." +msgstr "" + +#: template/gsoc.html.j2:236 +msgid "" +"Mentors: Hartmut " +"Goebel, Jeff Burdges, Christian Grothoff" +msgstr "" + +#: template/gsoc.html.j2:245 +msgid "" +"There is a push for migrating our CI to Gitlab. The CI should eventually not " +"just run \"make check\" on various platforms, but also perform tests with " +"multiple peers running in different VMs with specific network topologies (i." +"e. NAT) between them being simulated. The CI should also be integrated with " +"Gauger for performance regression analysis. Running jobs only when " +"dependencies have changed and scripting more granular triggers or ideally " +"automatic dependency discovery (as done by the autotools) is also important." +msgstr "" + +#: template/gsoc.html.j2:257 +msgid "Mentors: TBD" +msgstr "" + +#: template/gsoc.html.j2:267 +msgid "" +"One great problem of the current Internet is the lack of disintermediation. " +"When people want to talk they need a chat service. When they want to share " +"files they need a file transfer service. Although GNUnet already possesses " +"quite advanced integration into Linux networking, a little extra work is " +"needed for existing applications like irc, www, ftp, rsh, nntpd to run over " +"it in a peer-to-peer way, simply by using a GNS hostname like friend.gnu. " +"Once people have added a person to their GNS they can immediately message, " +"exchange files and suchlike directly, with nothing but the GNUnet in the " +"middle, using applications that have been distributed with unix systems ever " +"since the 1980's. We can produce an OS distribution where these things work " +"out of the box with the nicknames of people instead of cloud services. For " +"more information and context, read" +msgstr "" + +#: template/gsoc.html.j2:288 +msgid "Mentors: lynX & dvn" +msgstr "" + +#: template/gsoc.html.j2:296 +msgid "" +"Implement the AnycastExit spec to enable GNUnet clients to connect over Tor." +msgstr "" + +#: template/gsoc.html.j2:302 template/gsoc.html.j2:337 +#: template/gsoc.html.j2:352 +msgid "Mentors: Jeff Burdges" +msgstr "" + +#: template/gsoc.html.j2:307 +msgid "" +"Note: There was a Special TLDs spec to allow Tor to resolve domain names " +"using GNS over Tor too, but currently that's on hold until folks think more " +"about how names should be moved around the local system. We're calling this " +"more collaborative approach NSS2 for now." +msgstr "" + +#: template/gsoc.html.j2:316 template/gsoc.html.j2:456 +#: template/gsoc.html.j2:496 template/gsoc.html.j2:526 +msgid "Required Skills: C" +msgstr "" + +#: template/gsoc.html.j2:329 +msgid "" +"Improve the Rust implementation of GNUnet utils, possibly including adding " +"support for asynchronous IO using mio, or perhaps a higher level " +"asynchronous IO library built upon it, such as rotor, mioco, eventual_io, or " +"gj." +msgstr "" + +#: template/gsoc.html.j2:345 +msgid "" +"Implementation of a replacement for PANDA (see Pond) with better security, " +"and maybe integration with the GNU Name System for key exchange." +msgstr "" + +#: template/gsoc.html.j2:357 +msgid "Required Skills: Rust or C, crypto" +msgstr "" + +#: template/gsoc.html.j2:362 template/gsoc.html.j2:419 +#: template/gsoc.html.j2:461 template/gsoc.html.j2:501 +msgid "Difficulty level: high" +msgstr "" + +#: template/gsoc.html.j2:370 +msgid "" +"Implement different place types and file sharing by creating a new place for " +"the shared content." +msgstr "" + +#: template/gsoc.html.j2:376 +msgid "Place types to be implemented:" +msgstr "" + +#: template/gsoc.html.j2:380 +msgid "" +"
        • File: generic file with comments
        • Image: display an image " +"with comments referencing a region of the image
        • Sound: play a sound " +"file with comments referencing a timestamp
        • Directory/Album: " +"pointers to File / Image / Sound places
        • Event: with RSVP
        • " +"
        • Survey: ask your social neighborhood questions in a structured form
        • " +"
        " +msgstr "" + +#: template/gsoc.html.j2:391 +msgid "Also provide the following UI functionality:" +msgstr "" + +#: template/gsoc.html.j2:395 +msgid "" +"
        • Fork existing channels, reorganize people into new chatrooms or " +"channels.
        • Share a post (edit and repost something elsewhere, on a " +"fan page for example).
        • Edit a previously published post + offer " +"edit history to readers.
        • Control expiry of channel history.
        • " +msgstr "" + +#: template/gsoc.html.j2:404 +msgid "" +"See also http://secushare.org/" +"features" +msgstr "" + +#: template/gsoc.html.j2:409 +msgid "Mentors: lynX" +msgstr "" + +#: template/gsoc.html.j2:414 +msgid "Required Skills: C/C++" +msgstr "" + +#: template/gsoc.html.j2:427 +msgid "" +"Implement aggregation of distributed state from various channels in order to " +"provide for a powerful social graph API capable of producing social network " +"profiles, dashboards, a calendar out of upcoming event invitations (if " +"available), social search functionality and most of all to make it easy for " +"users to adopt cryptographic identities of their contacts/friends simply by " +"finding them in the social graph of their existing contacts (\"This is " +"Linda. You have 11 contacts in common with her. [ADD]\")." +msgstr "" + +#: template/gsoc.html.j2:445 +msgid "" +"Related to secushare.org/" +"rendezvous" +msgstr "" + +#: template/gsoc.html.j2:451 template/gsoc.html.j2:491 +msgid "Mentors: t3sserakt, lynX" +msgstr "" + +#: template/gsoc.html.j2:468 +msgid "" +"
          • Emulate IMAP/SMTP protocols as necessary to transform traditional " +"mail clients into secushare user interfaces.
          • Think of ways to map " +"e-mail addresses to secushare identities.
          • Encode or translate " +"various e-mail features into secushare equivalents.
          • Parts of " +"secushare are currently written in Rust, therefore Rust is preferred for " +"this task but it is not an requirement.
          " +msgstr "" + +#: template/gsoc.html.j2:509 +msgid "" +"Implementation of the GNUnet auction system described in Chapter 3 of this thesis. " +"Specific tasks are adding smart contract creation and round time enforcement " +"to libbrandt as well as creating the GNUnet auction service, library and the " +"three user interface programs create, info and join." +msgstr "" + +#: template/gsoc.html.j2:521 +msgid "Mentors: mate, cg" +msgstr "" + +#: template/gsoc.html.j2:539 +msgid "" +"Implementation of additional transports to make GNUnet communication more " +"robust in the presence of problematic networks: GNUnet-over-SMTP, GNUnet-" +"over-DNS" +msgstr "" + +#: template/gsoc.html.j2:546 template/gsoc.html.j2:560 +msgid "Mentors: Matthias Wachs" +msgstr "" + +#: template/gsoc.html.j2:554 +msgid "" +"Implementation of ALG-based NAT traversal methods (FTP/SIP-based hole " +"punching, better STUN support)" +msgstr "" + +#: template/gsoc.html.j2:568 +msgid "" +"Mentors: Matthias Wachs, Christian Grothoff, Jeff Burdges" +msgstr "" + +#: template/gsoc.html.j2:576 +msgid "" +"Improving libaboss to make computation on shared secrets (including repeated " +"multiplication) based on Ben-Or et al. if possible. This in particular means " +"moving libaboss to bignums (gcry_mpi)." +msgstr "" + +#: template/gsoc.html.j2:589 +msgid "" +"Please refer to the description for this project listed under GNU Guix " +"project ideas." +msgstr "" + +#: template/gsoc.html.j2:602 +msgid "" +"Python 2.7 is reaching its end-of-life, and we want to get rid of the " +"dependency on Python. The existing gnunet-qr tool is a rather simple wrapper " +"around python-zbar, which itself wraps libzbar. The goal of this project is " +"to directly use libzbar to scan QR codes for GNUnet / the GNU Name System " +"(see also #5562)." +msgstr "" + +#: template/gsoc.html.j2:612 +msgid "Mentors: Christian Grothoff" +msgstr "" + +#: template/gsoc.html.j2:617 +msgid "Required Skills:" +msgstr "" + +#: template/gsoc.html.j2:622 +msgid "Difficulty level:" +msgstr "" + +#: template/gsoc.html.j2:627 +msgid "Report:" +msgstr "" + +#: template/gsoc.html.j2:632 +msgid "Unfinished/Abandoned as gnunet-qr was moved to C outside of GSoC." +msgstr "" + +#: template/gsoc.html.j2:642 +msgid "" +"Implementation of a Web-based UI for GNUnet similar to GNUnet-Gtk with a yet " +"to be determined framework such as Angular2. This includes the design and " +"implementation of not yet existing REST " +"APIs that expose the GNUnet API." +msgstr "" + +#: template/gsoc.html.j2:657 +msgid "Required Skills: C, JavaScript, CSS" +msgstr "" + +#: template/gsoc.html.j2:667 +msgid "" +"Report: GSoC 2018: GNUnet WebUI" +msgstr "" + +#: template/index.html.j2:8 +msgid "The Internet of tomorrow needs GNUnet today" +msgstr "" + +#: template/index.html.j2:26 +msgid "Latest news" +msgstr "" + +#: template/index.html.j2:32 +msgid "Older news entries" +msgstr "" + +#: template/index.html.j2:47 +msgid "The Internet is broken" +msgstr "" + +#: template/index.html.j2:49 +msgid "" +"The conventional Internet is currently like a system of roads with deep " +"potholes and highwaymen all over the place. Even if you still can use the " +"roads (e.g. send emails, or browse websites) your vehicle might get " +"hijacked, damaged, or long arms might reach into its back and steal your " +"items (data) to use it against you and sell it to others - while you can'" +"t even notice the thievery nor accuse and hold the scroungers accountable. " +" The Internet was not designed with security in mind: " +"protecting against address forgery, routers learning metadata, or choosing " +"trustworthy third parties is nontrivial and sometimes impossible. " +msgstr "" + +#: template/index.html.j2:94 +msgid "GNUnet helps building a new Internet" +msgstr "" + +#: template/index.html.j2:96 +msgid "" +"GNUnet is a network protocol stack for building secure, distributed, and " +"privacy-preserving applications.
          With strong roots in academic research, our goal is to " +"replace the old insecure Internet protocol stack." +msgstr "" + +#: template/index.html.j2:119 +msgid "Metadata is exposed" +msgstr "" + +#: template/index.html.j2:121 +msgid "" +"Your metadata is just as revealing as the actual content; and it gets " +"exposed on the Internet.
          Even though transport encryption is " +"increasingly being deployed on the Internet, it still reveals data that can " +"threaten democracy: the identities of senders and receivers, the times, " +"frequency and the volume of communication are all still revealed.
          " +msgstr "" + +#: template/index.html.j2:150 +msgid "GNUnet provides privacy-by design" +msgstr "" + +#: template/index.html.j2:152 +msgid "" +"It provides improving addressing, routing, naming and content " +"distribution in a technically robust manner - as opposed to ad-hoc " +"designs in place today. " +msgstr "" + +#: template/index.html.j2:177 +msgid "Freedoms are not respected" +msgstr "" + +#: template/index.html.j2:179 +msgid "" +"Today, monitoring increasingly centralized infrastructure, proprietary " +"implementations, traffic shapers and firewalls restrict all of the essential " +"freedoms to various degrees." +msgstr "" + +#: template/index.html.j2:203 +msgid "GNUnet supports a free and open society" +msgstr "" + +#: template/index.html.j2:205 +msgid "" +"GNUnet is a self-organizing network and it is free software as in " +"freedom. GNUnet puts you in control of your data. You determine which data " +"to share with whom, and you're not pressured to accept compromises. It " +"gives users freedoms to securely access information (\"run\" the network), " +"to study all aspects of the network's operation (\"access the code\"), " +"to distribute information (\"copy\"), as well as the freedom to deploy new " +"applications (\"modify\")." +msgstr "" + +#: template/index.html.j2:229 +msgid "Decentralization is the key, but hard" +msgstr "" + +#: template/index.html.j2:232 +msgid "" +" Instead of sharing common components and tools for " +"building P2P systems, every P2P project seems to re-invent the wheel. This heightens the effort and increases the " +"potential number of vulnerabilities." +msgstr "" + +#: template/index.html.j2:264 +msgid "GNUnet is a framework" +msgstr "" + +#: template/index.html.j2:266 +msgid "" +"It offers a metadata-preserving foundation for your application. It offers " +"components for addressing, reliable encrypted channels with advanced routing " +"and resource discovery and naming. Our work is based on continuous research " +"spanning almost two decades." +msgstr "" + +#: template/index.html.j2:286 +msgid "Learn more" +msgstr "" + +#: template/index.html.j2:295 +msgid "Get started" +msgstr "" + +#: template/install-on-archpi.html.j2:6 +msgid "Tutorial: GNUnet on Arch Linux/Pi" +msgstr "" + +#: template/install-on-archpi.html.j2:16 +msgid "Requirements for Raspberry Pi 3" +msgstr "" + +#: template/install-on-archpi.html.j2:40 +msgid "Get the Source Code" +msgstr "" + +#: template/install-on-archpi.html.j2:62 +#: template/install-on-debian9.html.j2:131 +msgid "In Addition: gnunet-gtk" +msgstr "" + +#: template/install-on-archpi.html.j2:81 +msgid "Run" +msgstr "" + +#: template/install-on-archpi.html.j2:133 +#: template/install-on-openwrt.html.j2:111 +msgid "Make sure, it works!" +msgstr "" + +#: template/install-on-debian9.html.j2:6 +msgid "Tutorial: GNUnet on Debian 9" +msgstr "" + +#: template/install-on-debian9.html.j2:9 +#: template/install-on-ubuntu1804.html.j2:9 +msgid "Introduction" +msgstr "" + +#: template/install-on-debian9.html.j2:29 template/install-on-macos.html.j2:17 +#: template/install-on-netbsd.html.j2:19 +#: template/install-on-ubuntu1804.html.j2:26 +msgid "Requirements" +msgstr "" + +#: template/install-on-debian9.html.j2:46 +#: template/install-on-ubuntu1804.html.j2:41 +msgid "Make an installation directory" +msgstr "" + +#: template/install-on-debian9.html.j2:60 template/install-on-macos.html.j2:134 +#: template/install-on-netbsd.html.j2:237 +#: template/install-on-ubuntu1804.html.j2:53 +msgid "Get the source code" +msgstr "" + +#: template/install-on-debian9.html.j2:79 template/install-on-macos.html.j2:142 +#: template/install-on-netbsd.html.j2:245 +#: template/install-on-ubuntu1804.html.j2:61 +msgid "Compile and Install" +msgstr "" + +#: template/install-on-debian9.html.j2:104 +#: template/install-on-ubuntu1804.html.j2:70 +msgid "Option 1: GNUnet for testing / usage" +msgstr "" + +#: template/install-on-debian9.html.j2:117 +#: template/install-on-ubuntu1804.html.j2:82 +msgid "Option 2: GNUnet for development" +msgstr "" + +#: template/install-on-debian9.html.j2:154 +#: template/install-on-ubuntu1804.html.j2:97 +msgid "Install GNUnet plugin for name resolution" +msgstr "" + +#: template/install-on-debian9.html.j2:208 +#: template/install-on-ubuntu1804.html.j2:134 +msgid "Create configuration file" +msgstr "" + +#: template/install-on-debian9.html.j2:228 +#: template/install-on-ubuntu1804.html.j2:156 +msgid "Use GNUnet!" +msgstr "" + +#: template/install-on-debian9.html.j2:233 +#: template/install-on-ubuntu1804.html.j2:162 +msgid "Uninstall GNUnet and its dependencies" +msgstr "" + +#: template/install-on-macos.html.j2:6 +msgid "Tutorial: GNUnet on macOS 10.14 (Mojave)" +msgstr "" + +#: template/install-on-macos.html.j2:24 template/install-on-netbsd.html.j2:36 +#: template/install-on-openwrt.html.j2:15 +msgid "Installation" +msgstr "" + +#: template/install-on-macos.html.j2:42 template/install-on-netbsd.html.j2:115 +msgid "First steps" +msgstr "" + +#: template/install-on-macos.html.j2:109 template/install-on-netbsd.html.j2:195 +msgid "Alternative: Installation from source" +msgstr "" + +#: template/install-on-macos.html.j2:154 template/install-on-netbsd.html.j2:265 +msgid "Option 1: GNUnet for production / usage" +msgstr "" + +#: template/install-on-macos.html.j2:187 template/install-on-netbsd.html.j2:293 +msgid "Option 2: GNUnet experimental" +msgstr "" + +#: template/install-on-netbsd.html.j2:6 +msgid "Tutorial: GNUnet on NetBSD 8.0 CURRENT" +msgstr "" + +#: template/install-on-openwrt.html.j2:6 +msgid "Tutorial: GNUnet on OpenWrt" +msgstr "" + +#: template/install-on-openwrt.html.j2:47 +msgid "Configuration" +msgstr "" + +#: template/install-on-ubuntu1804.html.j2:6 +msgid "Tutorial: GNUnet on Ubuntu 18.04" +msgstr "" + +#: template/install.html.j2:12 +msgid "" +"Notice: GNUnet is still undergoing major development. It is largely not " +"yet ready for usage beyond developers." +msgstr "" + +#: template/install.html.j2:18 +msgid "" +"

          Please be aware that this project is still in an early alpha stage when " +"it comes to running software – its not an easy task to rewrite the " +"whole Internet! We are happy to get your helping " +"hand anytime! Further information is available in our handbook. If you have any queries " +"about the installation or the usage, please get in " +"touch!

          " +msgstr "" + +#: template/install.html.j2:30 +msgid "" +"We recommend to use binary packages provided by the package manager " +"integrated within your Operating System. GNUnet is reportedly available for " +"at least: If GNUnet is " +"available for your Operating System and it is missing, send us feedback so " +"that we can add it to this list. Furthermore, if you are interested in " +"packaging GNUnet for your Operating System, get in touch with us at gnunet-" +"developers@gnu.org if you require help with this job. If you were using an " +"Operating System with the Alpine package manager, GNUnet could be installed " +"as simple as:" +msgstr "" + +#: template/install.html.j2:61 +msgid "" +"Next we describe a generic way to install from source. If you are using one " +"of the following Operating Systems these step-by-step guides might be " +"useful: ArchPi, Debian 9, Mac OS, " +"NetBSD, Ubuntu 1804. Be aware that not all of them might be " +"totally up-to-date! Please ask us if you get " +"stuck." +msgstr "" + +#: template/install.html.j2:75 +msgid "" +"First, install the required dependencies of GNUnet. There are base requirements and " +"optional requirements." +msgstr "" + +#: template/install.html.j2:81 +msgid "" +"Now, you need to decide if you want to install GNUnet from the release " +"tarball or from git. If you want to use GNUnet and there is no binary " +"package available for your OS, you should stick with the release tarball. If " +"you want to develop using the most recent build, you should go with the git repository." +msgstr "" + +#: template/install.html.j2:98 +msgid "Alternatively, get the sources from git by entering:" +msgstr "" + +#: template/install.html.j2:106 +msgid "" +"Before building GNUnet, make sure that you setup the required groups and add " +"your user to the group gnunet:" +msgstr "" + +#: template/install.html.j2:117 +msgid "To compile GNUnet, execute:" +msgstr "" + +#: template/install.html.j2:128 +msgid "" +"You can find more configuration flags in the README.
          Install GNUnet with:" +msgstr "" + +#: template/install.html.j2:138 +msgid "You can now start GNUnet by running:" +msgstr "" + +#: template/install.html.j2:146 +msgid "" +"Check the handbook for detailed documentation. For a more hands-on " +"experience, continue here." +msgstr "" + +#: template/use.html.j2:6 +msgid "How to use GNUnet - in a nutshell" +msgstr "" + +#: template/use.html.j2:12 template/use.html.j2:125 +msgid "Filesharing" +msgstr "" + +#: template/use.html.j2:13 +msgid "CADET" +msgstr "" + +#: template/use.html.j2:14 +msgid "Minimal Groupchat" +msgstr "" + +#: template/use.html.j2:15 +msgid "GNS with CLI" +msgstr "" + +#: template/use.html.j2:16 +msgid "GNS with Browser" +msgstr "" + +#: template/use.html.j2:17 template/use.html.j2:448 +msgid "VPN" +msgstr "" + +#: template/use.html.j2:18 template/use.html.j2:508 +msgid "Conversation" +msgstr "" + +#: template/use.html.j2:19 template/use.html.j2:519 +msgid "Trouble Shooting" +msgstr "" + +#: template/use.html.j2:34 +msgid "Accessing GNUnet" +msgstr "" + +#: template/use.html.j2:78 +msgid "Leaving GNUnet" +msgstr "" + +#: template/use.html.j2:88 +msgid "Make sure your GNUnet installation works..." +msgstr "" + +#: template/use.html.j2:107 +msgid "... and play around with it." +msgstr "" + +#: template/use.html.j2:179 +msgid "CADET (and Chat)" +msgstr "" + +#: template/use.html.j2:219 +msgid "Chatting with a (simple) client" +msgstr "" + +#: template/use.html.j2:283 +msgid "Name resolution using GNS on the command line" +msgstr "" + +#: template/use.html.j2:360 +msgid "Name resolution using GNS with a browser" +msgstr "" + +#: template/use.html.j2:521 +msgid "You can't reach other people's nodes" +msgstr "" + +#: template/use.html.j2:557 +msgid "OMG you guys broke my internet" +msgstr "" + +#: template/video.html.j2:12 +msgid "Videos related to GNUnet" +msgstr "" + #~ msgid "_project_title" #~ msgstr "Stack di protocolli GNU per un nuovo Internet etico" -- cgit v1.2.3 From 85b9c9589ab4097a2bb6c02f6bbf6d2d04b34162 Mon Sep 17 00:00:00 2001 From: Martin Schanzenbach Date: Fri, 26 Feb 2021 18:57:57 +0100 Subject: add livingstandards --- common/navigation.j2.inc | 1 + inc | 2 +- locale/de/LC_MESSAGES/messages.po | 49 +++++++++++++++++++++++++-------------- locale/es/LC_MESSAGES/messages.po | 43 +++++++++++++++++++++++----------- locale/fr/LC_MESSAGES/messages.po | 38 +++++++++++++++++++++--------- locale/it/LC_MESSAGES/messages.po | 38 +++++++++++++++++++++--------- locale/messages.pot | 43 +++++++++++++++++++++++----------- template/livingstandards.html.j2 | 27 +++++++++++++++++++++ 8 files changed, 173 insertions(+), 68 deletions(-) create mode 100644 template/livingstandards.html.j2 (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/common/navigation.j2.inc b/common/navigation.j2.inc index 4d4827bc..958db193 100644 --- a/common/navigation.j2.inc +++ b/common/navigation.j2.inc @@ -84,6 +84,7 @@
        • {{ _("Videos") }}
        • {{ _("Glossary") }}
        • {{ _("Handbook") }}
        • +
        • {{ _("Living Standards") }}
        • {{ _("REST API") }}
        • {{ _("FAQ") }}
        • {{ _("Bibliography") }}
        • diff --git a/inc b/inc index 4ae188ae..99a0de7c 160000 --- a/inc +++ b/inc @@ -1 +1 @@ -Subproject commit 4ae188ae658793c6cfddf60fdb5a563e590f9cfa +Subproject commit 99a0de7cac0033db10a0bed9f476900ece1e402a diff --git a/locale/de/LC_MESSAGES/messages.po b/locale/de/LC_MESSAGES/messages.po index b00ab01f..c318b67f 100644 --- a/locale/de/LC_MESSAGES/messages.po +++ b/locale/de/LC_MESSAGES/messages.po @@ -7,11 +7,11 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-02-14 19:58+0100\n" +"POT-Creation-Date: 2021-02-26 18:56+0100\n" "PO-Revision-Date: 2021-02-17 15:13+0000\n" "Last-Translator: Weblate Admin \n" -"Language-Team: German " -"\n" +"Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -48,7 +48,7 @@ msgstr "Fehlerdatenbank" msgid "Copyright Assignment" msgstr "Copyright Übertragung" -#: common/footer.j2.inc:20 common/navigation.j2.inc:89 +#: common/footer.j2.inc:20 common/navigation.j2.inc:90 #: template/developers.html.j2:24 msgid "Bibliography" msgstr "Bibliografie" @@ -66,6 +66,7 @@ msgid "About" msgstr "Über GNUnet" #: common/navigation.j2.inc:39 news/index.html.j2:8 +#: news/oldnews-2018.html.j2:13 news/oldnews-2019.html.j2:13 msgid "News" msgstr "Neues" @@ -151,26 +152,39 @@ msgstr "Glossar" msgid "Handbook" msgstr "Handbuch" -#: common/navigation.j2.inc:87 +#: common/navigation.j2.inc:87 template/livingstandards.html.j2:8 +msgid "Living Standards" +msgstr "" + +#: common/navigation.j2.inc:88 msgid "REST API" msgstr "REST API" -#: common/navigation.j2.inc:88 +#: common/navigation.j2.inc:89 msgid "FAQ" msgstr "FAQ" -#: news/index.html.j2:11 +#: news/index.html.j2:11 news/oldnews-2018.html.j2:16 +#: news/oldnews-2019.html.j2:16 msgid "News posts about changes related to GNUnet such as releases and events" msgstr "" -#: news/index.html.j2:16 +#: news/index.html.j2:16 news/oldnews-2018.html.j2:21 +#: news/oldnews-2019.html.j2:21 msgid "subscribe to our RSS feed" msgstr "" -#: news/index.html.j2:34 +#: news/index.html.j2:36 news/oldnews-2018.html.j2:40 +#: news/oldnews-2019.html.j2:40 msgid "read more" msgstr "" +#: news/index.html.j2:45 +#, fuzzy +#| msgid "IRC Archive" +msgid "News archives:" +msgstr "IRC Archive" + #: template/about.html.j2:11 msgid "What is GNUnet?" msgstr "Was ist GNUnet?" @@ -1233,10 +1247,10 @@ msgstr "" #: template/gnurl.html.j2:397 msgid "" -"gnurl/libgnurl is maintained by Nikita. Releases after version 7.69.1 are " -"signed with the OpenPGP Key 0xD6B570842F7E7F8D (keys." -"openpgp.org, n0.is), with the " +"gnurl/libgnurl is looking for a new maintainer. Releases after version " +"7.69.1 and up to version 7.72.0 were signed with the OpenPGP Key " +"0xD6B570842F7E7F8D (keys.openpgp.org), with the " "key fingerprint 6115 012D EA30 26F6 2A98 A556 D6B5 7084 2F7E 7F8D." msgstr "" @@ -2101,6 +2115,10 @@ msgid "" "experience, continue here." msgstr "" +#: template/livingstandards.html.j2:11 +msgid "On this page you can find links to our technical specifications." +msgstr "" + #: template/use.html.j2:6 msgid "How to use GNUnet - in a nutshell" msgstr "" @@ -2195,11 +2213,6 @@ msgstr "" #~ msgid "2013-12 (constitutional meeting)" #~ msgstr "2013-12 (Gründungstreffen)" -#, fuzzy -#~| msgid "IRC Archive" -#~ msgid "IRC archive" -#~ msgstr "IRC Archive" - #, fuzzy #~| msgid "" #~| "Copyright © GNUnet e.V. 2015, 2016, 2017, " diff --git a/locale/es/LC_MESSAGES/messages.po b/locale/es/LC_MESSAGES/messages.po index 9541d355..cf151d5b 100644 --- a/locale/es/LC_MESSAGES/messages.po +++ b/locale/es/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-02-14 19:58+0100\n" +"POT-Creation-Date: 2021-02-26 18:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -48,7 +48,7 @@ msgstr "Herramienta de seguimiento de errores" msgid "Copyright Assignment" msgstr "Transmisión de derechos de autor" -#: common/footer.j2.inc:20 common/navigation.j2.inc:89 +#: common/footer.j2.inc:20 common/navigation.j2.inc:90 #: template/developers.html.j2:24 msgid "Bibliography" msgstr "Bibliografía" @@ -66,6 +66,7 @@ msgid "About" msgstr "Sobre" #: common/navigation.j2.inc:39 news/index.html.j2:8 +#: news/oldnews-2018.html.j2:13 news/oldnews-2019.html.j2:13 msgid "News" msgstr "Nuevo" @@ -149,26 +150,39 @@ msgstr "Glosario" msgid "Handbook" msgstr "Manual" -#: common/navigation.j2.inc:87 +#: common/navigation.j2.inc:87 template/livingstandards.html.j2:8 +msgid "Living Standards" +msgstr "" + +#: common/navigation.j2.inc:88 msgid "REST API" msgstr "REST API" -#: common/navigation.j2.inc:88 +#: common/navigation.j2.inc:89 msgid "FAQ" msgstr "FAQ" -#: news/index.html.j2:11 +#: news/index.html.j2:11 news/oldnews-2018.html.j2:16 +#: news/oldnews-2019.html.j2:16 msgid "News posts about changes related to GNUnet such as releases and events" msgstr "" -#: news/index.html.j2:16 +#: news/index.html.j2:16 news/oldnews-2018.html.j2:21 +#: news/oldnews-2019.html.j2:21 msgid "subscribe to our RSS feed" msgstr "" -#: news/index.html.j2:34 +#: news/index.html.j2:36 news/oldnews-2018.html.j2:40 +#: news/oldnews-2019.html.j2:40 msgid "read more" msgstr "" +#: news/index.html.j2:45 +#, fuzzy +#| msgid "IRC archive" +msgid "News archives:" +msgstr "Archivo IRC" + #: template/about.html.j2:11 msgid "What is GNUnet?" msgstr "Qué es GNUnet?" @@ -1221,10 +1235,10 @@ msgstr "" #: template/gnurl.html.j2:397 msgid "" -"gnurl/libgnurl is maintained by Nikita. Releases after version 7.69.1 are " -"signed with the OpenPGP Key 0xD6B570842F7E7F8D (keys." -"openpgp.org, n0.is), with the " +"gnurl/libgnurl is looking for a new maintainer. Releases after version " +"7.69.1 and up to version 7.72.0 were signed with the OpenPGP Key " +"0xD6B570842F7E7F8D (keys.openpgp.org), with the " "key fingerprint 6115 012D EA30 26F6 2A98 A556 D6B5 7084 2F7E 7F8D." msgstr "" @@ -2089,6 +2103,10 @@ msgid "" "experience, continue here." msgstr "" +#: template/livingstandards.html.j2:11 +msgid "On this page you can find links to our technical specifications." +msgstr "" + #: template/use.html.j2:6 msgid "How to use GNUnet - in a nutshell" msgstr "" @@ -2178,9 +2196,6 @@ msgstr "" #~ msgid "Get off GNUnet" #~ msgstr "Qué es GNUnet?" -#~ msgid "IRC archive" -#~ msgstr "Archivo IRC" - #~ msgid "Developer Team" #~ msgstr "Equipo de desarrollo" diff --git a/locale/fr/LC_MESSAGES/messages.po b/locale/fr/LC_MESSAGES/messages.po index 453f24a5..8a8b1354 100644 --- a/locale/fr/LC_MESSAGES/messages.po +++ b/locale/fr/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-02-14 19:58+0100\n" +"POT-Creation-Date: 2021-02-26 18:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -46,7 +46,7 @@ msgstr "" msgid "Copyright Assignment" msgstr "" -#: common/footer.j2.inc:20 common/navigation.j2.inc:89 +#: common/footer.j2.inc:20 common/navigation.j2.inc:90 #: template/developers.html.j2:24 msgid "Bibliography" msgstr "" @@ -64,6 +64,7 @@ msgid "About" msgstr "" #: common/navigation.j2.inc:39 news/index.html.j2:8 +#: news/oldnews-2018.html.j2:13 news/oldnews-2019.html.j2:13 msgid "News" msgstr "" @@ -143,26 +144,37 @@ msgstr "" msgid "Handbook" msgstr "" -#: common/navigation.j2.inc:87 -msgid "REST API" +#: common/navigation.j2.inc:87 template/livingstandards.html.j2:8 +msgid "Living Standards" msgstr "" #: common/navigation.j2.inc:88 +msgid "REST API" +msgstr "" + +#: common/navigation.j2.inc:89 msgid "FAQ" msgstr "" -#: news/index.html.j2:11 +#: news/index.html.j2:11 news/oldnews-2018.html.j2:16 +#: news/oldnews-2019.html.j2:16 msgid "News posts about changes related to GNUnet such as releases and events" msgstr "" -#: news/index.html.j2:16 +#: news/index.html.j2:16 news/oldnews-2018.html.j2:21 +#: news/oldnews-2019.html.j2:21 msgid "subscribe to our RSS feed" msgstr "" -#: news/index.html.j2:34 +#: news/index.html.j2:36 news/oldnews-2018.html.j2:40 +#: news/oldnews-2019.html.j2:40 msgid "read more" msgstr "" +#: news/index.html.j2:45 +msgid "News archives:" +msgstr "" + #: template/about.html.j2:11 msgid "What is GNUnet?" msgstr "" @@ -1199,10 +1211,10 @@ msgstr "" #: template/gnurl.html.j2:397 msgid "" -"gnurl/libgnurl is maintained by Nikita. Releases after version 7.69.1 are " -"signed with the OpenPGP Key 0xD6B570842F7E7F8D (keys." -"openpgp.org, n0.is), with the " +"gnurl/libgnurl is looking for a new maintainer. Releases after version " +"7.69.1 and up to version 7.72.0 were signed with the OpenPGP Key " +"0xD6B570842F7E7F8D (keys.openpgp.org), with the " "key fingerprint 6115 012D EA30 26F6 2A98 A556 D6B5 7084 2F7E 7F8D." msgstr "" @@ -2051,6 +2063,10 @@ msgid "" "experience, continue here." msgstr "" +#: template/livingstandards.html.j2:11 +msgid "On this page you can find links to our technical specifications." +msgstr "" + #: template/use.html.j2:6 msgid "How to use GNUnet - in a nutshell" msgstr "" diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 19867c79..b5cbaf1a 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-02-14 19:58+0100\n" +"POT-Creation-Date: 2021-02-26 18:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -46,7 +46,7 @@ msgstr "" msgid "Copyright Assignment" msgstr "" -#: common/footer.j2.inc:20 common/navigation.j2.inc:89 +#: common/footer.j2.inc:20 common/navigation.j2.inc:90 #: template/developers.html.j2:24 msgid "Bibliography" msgstr "" @@ -64,6 +64,7 @@ msgid "About" msgstr "" #: common/navigation.j2.inc:39 news/index.html.j2:8 +#: news/oldnews-2018.html.j2:13 news/oldnews-2019.html.j2:13 msgid "News" msgstr "" @@ -143,26 +144,37 @@ msgstr "" msgid "Handbook" msgstr "" -#: common/navigation.j2.inc:87 -msgid "REST API" +#: common/navigation.j2.inc:87 template/livingstandards.html.j2:8 +msgid "Living Standards" msgstr "" #: common/navigation.j2.inc:88 +msgid "REST API" +msgstr "" + +#: common/navigation.j2.inc:89 msgid "FAQ" msgstr "" -#: news/index.html.j2:11 +#: news/index.html.j2:11 news/oldnews-2018.html.j2:16 +#: news/oldnews-2019.html.j2:16 msgid "News posts about changes related to GNUnet such as releases and events" msgstr "" -#: news/index.html.j2:16 +#: news/index.html.j2:16 news/oldnews-2018.html.j2:21 +#: news/oldnews-2019.html.j2:21 msgid "subscribe to our RSS feed" msgstr "" -#: news/index.html.j2:34 +#: news/index.html.j2:36 news/oldnews-2018.html.j2:40 +#: news/oldnews-2019.html.j2:40 msgid "read more" msgstr "" +#: news/index.html.j2:45 +msgid "News archives:" +msgstr "" + #: template/about.html.j2:11 msgid "What is GNUnet?" msgstr "" @@ -1199,10 +1211,10 @@ msgstr "" #: template/gnurl.html.j2:397 msgid "" -"gnurl/libgnurl is maintained by Nikita. Releases after version 7.69.1 are " -"signed with the OpenPGP Key 0xD6B570842F7E7F8D (keys." -"openpgp.org, n0.is), with the " +"gnurl/libgnurl is looking for a new maintainer. Releases after version " +"7.69.1 and up to version 7.72.0 were signed with the OpenPGP Key " +"0xD6B570842F7E7F8D (keys.openpgp.org), with the " "key fingerprint 6115 012D EA30 26F6 2A98 A556 D6B5 7084 2F7E 7F8D." msgstr "" @@ -2051,6 +2063,10 @@ msgid "" "experience, continue here." msgstr "" +#: template/livingstandards.html.j2:11 +msgid "On this page you can find links to our technical specifications." +msgstr "" + #: template/use.html.j2:6 msgid "How to use GNUnet - in a nutshell" msgstr "" diff --git a/locale/messages.pot b/locale/messages.pot index 4b6c9e85..818bd593 100644 --- a/locale/messages.pot +++ b/locale/messages.pot @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-02-14 19:58+0100\n" +"POT-Creation-Date: 2021-02-26 18:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.9.0\n" #: common/base.j2:5 common/news.j2:5 msgid "GNUnet" @@ -45,7 +45,7 @@ msgstr "" msgid "Copyright Assignment" msgstr "" -#: common/footer.j2.inc:20 common/navigation.j2.inc:89 +#: common/footer.j2.inc:20 common/navigation.j2.inc:90 #: template/developers.html.j2:24 msgid "Bibliography" msgstr "" @@ -63,6 +63,7 @@ msgid "About" msgstr "" #: common/navigation.j2.inc:39 news/index.html.j2:8 +#: news/oldnews-2018.html.j2:13 news/oldnews-2019.html.j2:13 msgid "News" msgstr "" @@ -142,26 +143,37 @@ msgstr "" msgid "Handbook" msgstr "" -#: common/navigation.j2.inc:87 -msgid "REST API" +#: common/navigation.j2.inc:87 template/livingstandards.html.j2:8 +msgid "Living Standards" msgstr "" #: common/navigation.j2.inc:88 +msgid "REST API" +msgstr "" + +#: common/navigation.j2.inc:89 msgid "FAQ" msgstr "" -#: news/index.html.j2:11 +#: news/index.html.j2:11 news/oldnews-2018.html.j2:16 +#: news/oldnews-2019.html.j2:16 msgid "News posts about changes related to GNUnet such as releases and events" msgstr "" -#: news/index.html.j2:16 +#: news/index.html.j2:16 news/oldnews-2018.html.j2:21 +#: news/oldnews-2019.html.j2:21 msgid "subscribe to our RSS feed" msgstr "" -#: news/index.html.j2:34 +#: news/index.html.j2:36 news/oldnews-2018.html.j2:40 +#: news/oldnews-2019.html.j2:40 msgid "read more" msgstr "" +#: news/index.html.j2:45 +msgid "News archives:" +msgstr "" + #: template/about.html.j2:11 msgid "What is GNUnet?" msgstr "" @@ -1221,11 +1233,12 @@ msgstr "" #: template/gnurl.html.j2:397 msgid "" -"gnurl/libgnurl is maintained by Nikita. Releases after version 7.69.1 are" -" signed with the OpenPGP Key 0xD6B570842F7E7F8D (keys.openpgp.org," -" n0.is), with the key " -"fingerprint 6115 012D EA30 26F6 2A98 A556 D6B5 7084 2F7E 7F8D." +"gnurl/libgnurl is looking for a new maintainer. Releases after version " +"7.69.1 and up to version 7.72.0 were signed with the OpenPGP Key " +"0xD6B570842F7E7F8D (keys.openpgp.org)," +" with the key fingerprint 6115 012D EA30 26F6 2A98 A556 D6B5 7084 2F7E" +" 7F8D." msgstr "" #: template/gsoc-2018-gnunet-webui.html.j2:7 @@ -2100,6 +2113,10 @@ msgid "" "here." msgstr "" +#: template/livingstandards.html.j2:11 +msgid "On this page you can find links to our technical specifications." +msgstr "" + #: template/use.html.j2:6 msgid "How to use GNUnet - in a nutshell" msgstr "" diff --git a/template/livingstandards.html.j2 b/template/livingstandards.html.j2 new file mode 100644 index 00000000..f8d1d580 --- /dev/null +++ b/template/livingstandards.html.j2 @@ -0,0 +1,27 @@ +{% extends "common/base.j2" %} +{% block body_content %} +
          +
          + +
          +
          +{% endblock body_content %} -- cgit v1.2.3 From 721e0749dac29a5af80646f847f0d597b57c7586 Mon Sep 17 00:00:00 2001 From: Martin Schanzenbach Date: Mon, 1 Mar 2021 21:06:19 +0100 Subject: replace architecture image with simpler layer image --- images/arch.png | Bin 0 -> 137875 bytes locale/de/LC_MESSAGES/messages.po | 18 +++++++++--------- locale/es/LC_MESSAGES/messages.po | 18 +++++++++--------- locale/fr/LC_MESSAGES/messages.po | 18 +++++++++--------- locale/it/LC_MESSAGES/messages.po | 18 +++++++++--------- locale/messages.pot | 18 +++++++++--------- template/architecture.html.j2 | 9 +++++++-- 7 files changed, 52 insertions(+), 47 deletions(-) create mode 100644 images/arch.png (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/images/arch.png b/images/arch.png new file mode 100644 index 00000000..44a894c9 Binary files /dev/null and b/images/arch.png differ diff --git a/locale/de/LC_MESSAGES/messages.po b/locale/de/LC_MESSAGES/messages.po index c318b67f..2a97ba3f 100644 --- a/locale/de/LC_MESSAGES/messages.po +++ b/locale/de/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-02-26 18:56+0100\n" +"POT-Creation-Date: 2021-03-01 20:31+0100\n" "PO-Revision-Date: 2021-02-17 15:13+0000\n" "Last-Translator: Weblate Admin \n" "Language-Team: German \n" "Language-Team: LANGUAGE \n" @@ -491,13 +491,13 @@ msgstr "Architectura del sistema" msgid "Legend" msgstr "" -#: template/architecture.html.j2:55 +#: template/architecture.html.j2:60 #, fuzzy #| msgid "Documentation" msgid "Foundations" msgstr "Documentación" -#: template/architecture.html.j2:57 +#: template/architecture.html.j2:62 msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " "end-to-end encrypted messaging layer (CADET), a public key infrastructure " @@ -506,11 +506,11 @@ msgid "" "subsystems replace the traditional TCP/IP stack." msgstr "" -#: template/architecture.html.j2:70 +#: template/architecture.html.j2:75 msgid "Security" msgstr "" -#: template/architecture.html.j2:73 +#: template/architecture.html.j2:78 msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " "runs as a separate process, providing fault-isolation and enabling tight " @@ -519,21 +519,21 @@ msgid "" "remain free software." msgstr "" -#: template/architecture.html.j2:87 +#: template/architecture.html.j2:92 #, fuzzy #| msgid "System Architecture" msgid "System architecture" msgstr "Architectura del sistema" -#: template/architecture.html.j2:93 +#: template/architecture.html.j2:98 msgid "Subsystems" msgstr "" -#: template/architecture.html.j2:102 +#: template/architecture.html.j2:107 msgid "libgnunetutil" msgstr "" -#: template/architecture.html.j2:108 +#: template/architecture.html.j2:113 msgid "APIs" msgstr "" diff --git a/locale/fr/LC_MESSAGES/messages.po b/locale/fr/LC_MESSAGES/messages.po index 8a8b1354..498f95ad 100644 --- a/locale/fr/LC_MESSAGES/messages.po +++ b/locale/fr/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-02-26 18:56+0100\n" +"POT-Creation-Date: 2021-03-01 20:31+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -481,11 +481,11 @@ msgstr "" msgid "Legend" msgstr "" -#: template/architecture.html.j2:55 +#: template/architecture.html.j2:60 msgid "Foundations" msgstr "" -#: template/architecture.html.j2:57 +#: template/architecture.html.j2:62 msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " "end-to-end encrypted messaging layer (CADET), a public key infrastructure " @@ -494,11 +494,11 @@ msgid "" "subsystems replace the traditional TCP/IP stack." msgstr "" -#: template/architecture.html.j2:70 +#: template/architecture.html.j2:75 msgid "Security" msgstr "" -#: template/architecture.html.j2:73 +#: template/architecture.html.j2:78 msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " "runs as a separate process, providing fault-isolation and enabling tight " @@ -507,19 +507,19 @@ msgid "" "remain free software." msgstr "" -#: template/architecture.html.j2:87 +#: template/architecture.html.j2:92 msgid "System architecture" msgstr "" -#: template/architecture.html.j2:93 +#: template/architecture.html.j2:98 msgid "Subsystems" msgstr "" -#: template/architecture.html.j2:102 +#: template/architecture.html.j2:107 msgid "libgnunetutil" msgstr "" -#: template/architecture.html.j2:108 +#: template/architecture.html.j2:113 msgid "APIs" msgstr "" diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index b5cbaf1a..b8907fd8 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-02-26 18:56+0100\n" +"POT-Creation-Date: 2021-03-01 20:31+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -481,11 +481,11 @@ msgstr "" msgid "Legend" msgstr "" -#: template/architecture.html.j2:55 +#: template/architecture.html.j2:60 msgid "Foundations" msgstr "" -#: template/architecture.html.j2:57 +#: template/architecture.html.j2:62 msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " "end-to-end encrypted messaging layer (CADET), a public key infrastructure " @@ -494,11 +494,11 @@ msgid "" "subsystems replace the traditional TCP/IP stack." msgstr "" -#: template/architecture.html.j2:70 +#: template/architecture.html.j2:75 msgid "Security" msgstr "" -#: template/architecture.html.j2:73 +#: template/architecture.html.j2:78 msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " "runs as a separate process, providing fault-isolation and enabling tight " @@ -507,19 +507,19 @@ msgid "" "remain free software." msgstr "" -#: template/architecture.html.j2:87 +#: template/architecture.html.j2:92 msgid "System architecture" msgstr "" -#: template/architecture.html.j2:93 +#: template/architecture.html.j2:98 msgid "Subsystems" msgstr "" -#: template/architecture.html.j2:102 +#: template/architecture.html.j2:107 msgid "libgnunetutil" msgstr "" -#: template/architecture.html.j2:108 +#: template/architecture.html.j2:113 msgid "APIs" msgstr "" diff --git a/locale/messages.pot b/locale/messages.pot index 818bd593..2ae626c6 100644 --- a/locale/messages.pot +++ b/locale/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-02-26 18:56+0100\n" +"POT-Creation-Date: 2021-03-01 20:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -486,11 +486,11 @@ msgstr "" msgid "Legend" msgstr "" -#: template/architecture.html.j2:55 +#: template/architecture.html.j2:60 msgid "Foundations" msgstr "" -#: template/architecture.html.j2:57 +#: template/architecture.html.j2:62 msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-" "like end-to-end encrypted messaging layer (CADET), a public key " @@ -499,11 +499,11 @@ msgid "" "algorithms, these subsystems replace the traditional TCP/IP stack." msgstr "" -#: template/architecture.html.j2:70 +#: template/architecture.html.j2:75 msgid "Security" msgstr "" -#: template/architecture.html.j2:73 +#: template/architecture.html.j2:78 msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " "runs as a separate process, providing fault-isolation and enabling tight " @@ -512,19 +512,19 @@ msgid "" " will always remain free software." msgstr "" -#: template/architecture.html.j2:87 +#: template/architecture.html.j2:92 msgid "System architecture" msgstr "" -#: template/architecture.html.j2:93 +#: template/architecture.html.j2:98 msgid "Subsystems" msgstr "" -#: template/architecture.html.j2:102 +#: template/architecture.html.j2:107 msgid "libgnunetutil" msgstr "" -#: template/architecture.html.j2:108 +#: template/architecture.html.j2:113 msgid "APIs" msgstr "" diff --git a/template/architecture.html.j2 b/template/architecture.html.j2 index e7d62c08..ef6e8799 100644 --- a/template/architecture.html.j2 +++ b/template/architecture.html.j2 @@ -8,7 +8,7 @@
          -
          + +
          + +
          + +
          -- cgit v1.2.3 From c14b419bbaea272b8218e3b53c41a0fdc6d317ac Mon Sep 17 00:00:00 2001 From: Martin Schanzenbach Date: Wed, 3 Mar 2021 21:41:56 +0100 Subject: readd architecture --- locale/de/LC_MESSAGES/messages.po | 26 ++++++------ locale/es/LC_MESSAGES/messages.po | 36 ++++++++-------- locale/fr/LC_MESSAGES/messages.po | 26 ++++++------ locale/it/LC_MESSAGES/messages.po | 26 ++++++------ locale/messages.pot | 26 ++++++------ template/architecture.html.j2 | 86 ++++++++++++++++++++------------------- 6 files changed, 114 insertions(+), 112 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/de/LC_MESSAGES/messages.po b/locale/de/LC_MESSAGES/messages.po index 2a97ba3f..99538b83 100644 --- a/locale/de/LC_MESSAGES/messages.po +++ b/locale/de/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-01 20:31+0100\n" +"POT-Creation-Date: 2021-03-03 21:41+0100\n" "PO-Revision-Date: 2021-02-17 15:13+0000\n" "Last-Translator: Weblate Admin \n" "Language-Team: German \n" -"Language-Team: Spanish " -"\n" +"Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -340,9 +340,9 @@ msgstr "" "Hay muchos más recursos disponibles para aprender sobre GNUnet fuera del manual, como bibliografía con artículos que cubren " -"las diversas capas, muchos videos o un corto glosario." +"las diversas capas, muchos videos o un corto glosario." #: template/about.html.j2:95 msgid "" @@ -535,17 +535,13 @@ msgstr "" msgid "GNUnet System Architecture" msgstr "Architectura del sistema" -#: template/architecture.html.j2:15 -msgid "Legend" -msgstr "" - -#: template/architecture.html.j2:60 +#: template/architecture.html.j2:20 #, fuzzy #| msgid "Documentation" msgid "Foundations" msgstr "Documentación" -#: template/architecture.html.j2:62 +#: template/architecture.html.j2:22 msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " "end-to-end encrypted messaging layer (CADET), a public key infrastructure " @@ -554,11 +550,11 @@ msgid "" "subsystems replace the traditional TCP/IP stack." msgstr "" -#: template/architecture.html.j2:75 +#: template/architecture.html.j2:35 msgid "Security" msgstr "" -#: template/architecture.html.j2:78 +#: template/architecture.html.j2:38 msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " "runs as a separate process, providing fault-isolation and enabling tight " @@ -567,24 +563,28 @@ msgid "" "remain free software." msgstr "" -#: template/architecture.html.j2:92 +#: template/architecture.html.j2:52 #, fuzzy #| msgid "System Architecture" msgid "System architecture" msgstr "Architectura del sistema" -#: template/architecture.html.j2:98 +#: template/architecture.html.j2:58 msgid "Subsystems" msgstr "" -#: template/architecture.html.j2:107 +#: template/architecture.html.j2:67 msgid "libgnunetutil" msgstr "" -#: template/architecture.html.j2:113 +#: template/architecture.html.j2:73 msgid "APIs" msgstr "" +#: template/architecture.html.j2:86 +msgid "Legend" +msgstr "" + #: template/contact.html.j2:6 #, fuzzy #| msgid "Continuous Integration" diff --git a/locale/fr/LC_MESSAGES/messages.po b/locale/fr/LC_MESSAGES/messages.po index 498f95ad..e9e7597d 100644 --- a/locale/fr/LC_MESSAGES/messages.po +++ b/locale/fr/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-01 20:31+0100\n" +"POT-Creation-Date: 2021-03-03 21:41+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -477,15 +477,11 @@ msgstr "" msgid "GNUnet System Architecture" msgstr "" -#: template/architecture.html.j2:15 -msgid "Legend" -msgstr "" - -#: template/architecture.html.j2:60 +#: template/architecture.html.j2:20 msgid "Foundations" msgstr "" -#: template/architecture.html.j2:62 +#: template/architecture.html.j2:22 msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " "end-to-end encrypted messaging layer (CADET), a public key infrastructure " @@ -494,11 +490,11 @@ msgid "" "subsystems replace the traditional TCP/IP stack." msgstr "" -#: template/architecture.html.j2:75 +#: template/architecture.html.j2:35 msgid "Security" msgstr "" -#: template/architecture.html.j2:78 +#: template/architecture.html.j2:38 msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " "runs as a separate process, providing fault-isolation and enabling tight " @@ -507,22 +503,26 @@ msgid "" "remain free software." msgstr "" -#: template/architecture.html.j2:92 +#: template/architecture.html.j2:52 msgid "System architecture" msgstr "" -#: template/architecture.html.j2:98 +#: template/architecture.html.j2:58 msgid "Subsystems" msgstr "" -#: template/architecture.html.j2:107 +#: template/architecture.html.j2:67 msgid "libgnunetutil" msgstr "" -#: template/architecture.html.j2:113 +#: template/architecture.html.j2:73 msgid "APIs" msgstr "" +#: template/architecture.html.j2:86 +msgid "Legend" +msgstr "" + #: template/contact.html.j2:6 msgid "Contact information" msgstr "" diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index b8907fd8..b3501213 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-01 20:31+0100\n" +"POT-Creation-Date: 2021-03-03 21:41+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -477,15 +477,11 @@ msgstr "" msgid "GNUnet System Architecture" msgstr "" -#: template/architecture.html.j2:15 -msgid "Legend" -msgstr "" - -#: template/architecture.html.j2:60 +#: template/architecture.html.j2:20 msgid "Foundations" msgstr "" -#: template/architecture.html.j2:62 +#: template/architecture.html.j2:22 msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " "end-to-end encrypted messaging layer (CADET), a public key infrastructure " @@ -494,11 +490,11 @@ msgid "" "subsystems replace the traditional TCP/IP stack." msgstr "" -#: template/architecture.html.j2:75 +#: template/architecture.html.j2:35 msgid "Security" msgstr "" -#: template/architecture.html.j2:78 +#: template/architecture.html.j2:38 msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " "runs as a separate process, providing fault-isolation and enabling tight " @@ -507,22 +503,26 @@ msgid "" "remain free software." msgstr "" -#: template/architecture.html.j2:92 +#: template/architecture.html.j2:52 msgid "System architecture" msgstr "" -#: template/architecture.html.j2:98 +#: template/architecture.html.j2:58 msgid "Subsystems" msgstr "" -#: template/architecture.html.j2:107 +#: template/architecture.html.j2:67 msgid "libgnunetutil" msgstr "" -#: template/architecture.html.j2:113 +#: template/architecture.html.j2:73 msgid "APIs" msgstr "" +#: template/architecture.html.j2:86 +msgid "Legend" +msgstr "" + #: template/contact.html.j2:6 msgid "Contact information" msgstr "" diff --git a/locale/messages.pot b/locale/messages.pot index 2ae626c6..c129e8f2 100644 --- a/locale/messages.pot +++ b/locale/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-01 20:48+0100\n" +"POT-Creation-Date: 2021-03-03 21:41+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -482,15 +482,11 @@ msgstr "" msgid "GNUnet System Architecture" msgstr "" -#: template/architecture.html.j2:15 -msgid "Legend" -msgstr "" - -#: template/architecture.html.j2:60 +#: template/architecture.html.j2:20 msgid "Foundations" msgstr "" -#: template/architecture.html.j2:62 +#: template/architecture.html.j2:22 msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-" "like end-to-end encrypted messaging layer (CADET), a public key " @@ -499,11 +495,11 @@ msgid "" "algorithms, these subsystems replace the traditional TCP/IP stack." msgstr "" -#: template/architecture.html.j2:75 +#: template/architecture.html.j2:35 msgid "Security" msgstr "" -#: template/architecture.html.j2:78 +#: template/architecture.html.j2:38 msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " "runs as a separate process, providing fault-isolation and enabling tight " @@ -512,22 +508,26 @@ msgid "" " will always remain free software." msgstr "" -#: template/architecture.html.j2:92 +#: template/architecture.html.j2:52 msgid "System architecture" msgstr "" -#: template/architecture.html.j2:98 +#: template/architecture.html.j2:58 msgid "Subsystems" msgstr "" -#: template/architecture.html.j2:107 +#: template/architecture.html.j2:67 msgid "libgnunetutil" msgstr "" -#: template/architecture.html.j2:113 +#: template/architecture.html.j2:73 msgid "APIs" msgstr "" +#: template/architecture.html.j2:86 +msgid "Legend" +msgstr "" + #: template/contact.html.j2:6 msgid "Contact information" msgstr "" diff --git a/template/architecture.html.j2 b/template/architecture.html.j2 index ef6e8799..4165c860 100644 --- a/template/architecture.html.j2 +++ b/template/architecture.html.j2 @@ -8,49 +8,9 @@
          - -
          - -
          - -
          @@ -117,6 +77,48 @@
          +
          +
          +
          + +
          +
          +

          {{ _("Legend") }}:

          +
          +
          house
          +
          application
          +
          +
          +
          circle
          +
          application
          +
          +
          +
          box
          +
          daemon
          +
          +
          +
          diamond
          +
          library
          +
          +
          +
          blackline
          +
          dependency
          +
          +
          +
          blue line
          +
          extension via plugin
          +
          +
          +
          red line
          +
          possibly useful
          +
          +
          +
          dashed
          +
          in planning
          +
          +
          +
          +
          {% endblock body_content %} -- cgit v1.2.3 From 8c76b71e35077eab7689646362e85123b1d43f2a Mon Sep 17 00:00:00 2001 From: Sabino Miani Date: Sun, 7 Mar 2021 13:04:51 +0000 Subject: Translated using Weblate (Italian) Currently translated at 2.5% (9 of 349 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index b3501213..4510753d 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -3,57 +3,59 @@ # This file is distributed under the same license as the PROJECT project. # FIRST AUTHOR , 2017. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-03 21:41+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2021-03-08 04:37+0000\n" +"Last-Translator: Sabino Miani \n" +"Language-Team: Italian " +"\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.4.2\n" "Generated-By: Babel 2.4.0\n" #: common/base.j2:5 common/news.j2:5 msgid "GNUnet" -msgstr "" +msgstr "GNUnet" #: common/base.j2:6 common/news.j2:6 msgid "GNU's framework for secure p2p networking" -msgstr "" +msgstr "La struttura di GNU per una connessione p2p sicura" #: common/footer.j2.inc:7 msgid "Contact" -msgstr "" +msgstr "Contatto" #: common/footer.j2.inc:8 common/navigation.j2.inc:49 msgid "GNUnet e.V." -msgstr "" +msgstr "GNUnet e.V." #: common/footer.j2.inc:9 template/about.html.j2:6 msgid "About GNUnet" -msgstr "" +msgstr "Per quanto riguarda GNUnet" #: common/footer.j2.inc:14 common/navigation.j2.inc:64 msgid "Bug Tracker" -msgstr "" +msgstr "Rilevatore di bachi" #: common/footer.j2.inc:19 template/copyright.html.j2:6 msgid "Copyright Assignment" -msgstr "" +msgstr "Accordo sul copyright" #: common/footer.j2.inc:20 common/navigation.j2.inc:90 #: template/developers.html.j2:24 msgid "Bibliography" -msgstr "" +msgstr "Bibliografia" #: common/footer.j2.inc:31 msgid "Source code of this site." -msgstr "" +msgstr "Il codice sorgente di questo sito." #: common/footer.j2.inc:32 msgid "Report issues with this website." -- cgit v1.2.3 From 8064c7c05b73f9a8ef3245d54fd47a623b436c52 Mon Sep 17 00:00:00 2001 From: Sabino Miani Date: Mon, 8 Mar 2021 09:16:21 +0000 Subject: Translated using Weblate (Italian) Currently translated at 16.0% (56 of 349 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 121 +++++++++++++++++++++++++++----------- 1 file changed, 88 insertions(+), 33 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 4510753d..445bad5b 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-03 21:41+0100\n" -"PO-Revision-Date: 2021-03-08 04:37+0000\n" +"PO-Revision-Date: 2021-03-08 22:24+0000\n" "Last-Translator: Sabino Miani \n" "Language-Team: Italian " "\n" @@ -59,127 +59,129 @@ msgstr "Il codice sorgente di questo sito." #: common/footer.j2.inc:32 msgid "Report issues with this website." -msgstr "" +msgstr "Segnalare problemi con questo sito." #: common/navigation.j2.inc:38 msgid "About" -msgstr "" +msgstr "Per quanto riguarda" #: common/navigation.j2.inc:39 news/index.html.j2:8 #: news/oldnews-2018.html.j2:13 news/oldnews-2019.html.j2:13 msgid "News" -msgstr "" +msgstr "Notizia" #: common/navigation.j2.inc:40 template/index.html.j2:289 msgid "Applications" -msgstr "" +msgstr "Applicazioni" #: common/navigation.j2.inc:44 msgid "Community" -msgstr "" +msgstr "Comunità" #: common/navigation.j2.inc:47 template/index.html.j2:292 msgid "Engage" -msgstr "" +msgstr "Impegnare" #: common/navigation.j2.inc:48 msgid "GSoC Projects" -msgstr "" +msgstr "Progetti GSoC" #: common/navigation.j2.inc:50 msgid "Copyright for Contributors" -msgstr "" +msgstr "Diritti per i Contributori" #: common/navigation.j2.inc:51 msgid "IRC Archive" -msgstr "" +msgstr "Archivio IRC" #: common/navigation.j2.inc:58 msgid "Development" -msgstr "" +msgstr "Sviluppo" #: common/navigation.j2.inc:61 msgid "System Architecture" -msgstr "" +msgstr "Architettura di Sistema" #: common/navigation.j2.inc:63 template/roadmap.html.j2:6 msgid "Roadmap" -msgstr "" +msgstr "Tabella di marcia" #: common/navigation.j2.inc:65 template/gnurl.html.j2:186 msgid "Source Code" -msgstr "" +msgstr "Codice Sorgente" #: common/navigation.j2.inc:66 msgid "Source Code Documentation" -msgstr "" +msgstr "Documentazione del Codice Sorgente" #: common/navigation.j2.inc:67 msgid "Continuous Integration" -msgstr "" +msgstr "Integrazione Continua" #: common/navigation.j2.inc:68 msgid "Development Tutorial" -msgstr "" +msgstr "Esercitazione di Sviluppo" #: common/navigation.j2.inc:79 msgid "Documentation" -msgstr "" +msgstr "Documentazione" #: common/navigation.j2.inc:82 template/install.html.j2:6 msgid "Install" -msgstr "" +msgstr "Installare" #: common/navigation.j2.inc:83 template/install-on-openwrt.html.j2:76 msgid "Use" -msgstr "" +msgstr "Utilizzo" #: common/navigation.j2.inc:84 msgid "Videos" -msgstr "" +msgstr "Video" #: common/navigation.j2.inc:85 template/glossary.html.j2:6 msgid "Glossary" -msgstr "" +msgstr "Glossario" #: common/navigation.j2.inc:86 msgid "Handbook" -msgstr "" +msgstr "Manuale" #: common/navigation.j2.inc:87 template/livingstandards.html.j2:8 msgid "Living Standards" -msgstr "" +msgstr "Standard di vita" #: common/navigation.j2.inc:88 msgid "REST API" -msgstr "" +msgstr "REST API" #: common/navigation.j2.inc:89 msgid "FAQ" -msgstr "" +msgstr "Domande Frequenti" #: news/index.html.j2:11 news/oldnews-2018.html.j2:16 #: news/oldnews-2019.html.j2:16 msgid "News posts about changes related to GNUnet such as releases and events" msgstr "" +"Annunci di notizie legate ai cambiamenti di GNUnet come comunicati stampa ed " +"eventi" #: news/index.html.j2:16 news/oldnews-2018.html.j2:21 #: news/oldnews-2019.html.j2:21 msgid "subscribe to our RSS feed" -msgstr "" +msgstr "Fai la sottoscrizione alla nostra bacheca RSS" #: news/index.html.j2:36 news/oldnews-2018.html.j2:40 #: news/oldnews-2019.html.j2:40 msgid "read more" -msgstr "" +msgstr "Per saperne di più" #: news/index.html.j2:45 msgid "News archives:" -msgstr "" +msgstr "Archivi di notizie:" #: template/about.html.j2:11 msgid "What is GNUnet?" -msgstr "" +msgstr "Cos'è GNUnet?" #: template/about.html.j2:13 msgid "" @@ -189,6 +191,13 @@ msgid "" "secure publication of files, it has grown to include all kinds of basic " "protocol components and applications towards the creation of a GNU internet." msgstr "" +"GNUnet è una rete alternativa per la costruzione di applicazioni distribuite " +"che siano sicure, decentralizzate e che tutelino la privacy. Il nostro " +"obiettivo è quello di sostituire il precedente protocollo, in quanto datato " +"e non sicuro. Il tutto è cominciato da un' applicazione utilizzata per la " +"pubblicazione sicura di documenti, ed è cresciuta fino ad includere tutte le " +"tipologie di componenti base ed applicazioni dei protocolli verso la " +"creazione di un internet GNU." #: template/about.html.j2:23 msgid "" @@ -198,6 +207,11 @@ msgid "" "hierarchy and when necessary isolated from the rest of the world, the " "situation is less tenable for civil society." msgstr "" +"Oggigiorno, l'uso effettivo e di conseguenza i requisiti sociali per una " +"rete globale differiscono molto da quelli esistenti nel 1970. Mentre " +"l'utilizzo di Internet per scopi militari resta idoneo, poiché il materiale " +"di rete viene svolto da una gerarchia di comandi e quando necessario isolato " +"dal resto del mondo, la situazione è meno sostenibile per una società civile." #: template/about.html.j2:32 msgid "" @@ -208,6 +222,13 @@ msgid "" "cryptographyengineering.com/2015/08/16/the-network-is-hostile/\">\"the " "network is hostile\"." msgstr "" +"A causa di scelte importanti di progetto Internet, il traffico Internet può " +"essere mal indirizzato, intercettato, censurato e manipolato da router " +"ostili presenti nella rete. \n" +"Inoltre, l'internet dei giorni nostri si è evoluto al punto che, come " +"sottolineato da Matthew Green, \n" +"\"la rete è ostile\"." #: template/about.html.j2:41 msgid "" @@ -216,64 +237,88 @@ msgid "" "cryptographic protocols. The goal of the GNUnet project is to provide a Free " "Software realization of this ideal." msgstr "" +"Crediamo che società liberali abbiano bisogno di un architettura di rete che " +"sfrutti paradigmi decentralizzati e anti autoritari da pari a pari e " +"protocolli criptografici che tutelino la privacy. L' obiettivo del progetto " +"GNUnet è quello di fornire una realizzazione Software gratuita di questo " +"ideale." #: template/about.html.j2:49 msgid "" "Specifically, GNUnet tries to follow the following design principles, in " "order of importance:" msgstr "" +"Nello specifico, GNUnet cerca di adoperare i seguenti principi di progetti, " +"in ordine di importanza:" #: template/about.html.j2:56 msgid "" "GNUnet must be implemented as Free Software." msgstr "" +"GNUnet deve essere implementato come un Software Gratuito." #: template/about.html.j2:60 msgid "" "GNUnet must minimize the amount of personally identifiable information " "exposed." msgstr "" +"GNUnet deve minimizzare la quantità di informazioni di identificazione " +"personale che vengono esposte." #: template/about.html.j2:61 msgid "" "GNUnet must be fully distributed and resilient to external attacks and rogue " "participants." msgstr "" +"GNUnet deve essere distribuito in maniera integrale e deve essere resistente " +"ad attacchi esterni ed a collaboratori disonesti." #: template/about.html.j2:62 msgid "" "GNUnet must be self-organizing and not depend on administrators or " "centralized infrastructure." msgstr "" +"GNUnet deve auto organizzarsi e non dipendere da amministratori o " +"infrastrutture centralizzate." #: template/about.html.j2:63 msgid "" "GNUnet must inform the user which other participants have to be trusted when " "establishing private communications." msgstr "" +"GNUnet deve informare l'utente su quali altri collaboratori possano essere " +"considerati di fiducia nel momento in cui vengano stabilite comunicazioni " +"private." #: template/about.html.j2:64 msgid "GNUnet must be open and permit new peers to join." -msgstr "" +msgstr "GNUnet deve essere aperto e lasciare che nuovi colleghi possano unirsi." #: template/about.html.j2:65 msgid "GNUnet must support a diverse range of applications and devices." -msgstr "" +msgstr "GNUnet deve supportare una vasta gamma di applicazioni e dispositivi." #: template/about.html.j2:66 msgid "GNUnet must use compartmentalization to protect sensitive information." msgstr "" +"GNUnet deve sfruttare la ripartizione in modo tale da proteggere " +"informazioni sensibili." #: template/about.html.j2:67 msgid "The GNUnet architecture must be resource efficient." msgstr "" +"L'architettura GNUnet deve essere efficiente dal punto di vista delle " +"risorse." #: template/about.html.j2:68 msgid "" "GNUnet must provide incentives for peers to contribute more resources than " "they consume." msgstr "" +"GNUnet deve fornire incentivi per colleghi in modo tale che contribuiscano " +"con più risorse di quante ne consumino." #: template/about.html.j2:72 msgid "" @@ -294,10 +339,20 @@ msgid "" "Zones_0029\">Zones in the GNU Name System (GNS Zones)
        • Egos
        " msgstr "" +"Per conoscere ed approfondire, si prega di controllare il nostro manuale, in " +"particolare il capitolo sui \"Concetti Chiave\", che spiega il concetto " +"fondamentale di GNUnet: \n" +".Autenticazione.\n" +"Contabilità per incoraggiare la condivisione delle risorse.\n" +"Confidenzialità.\n" +"Anonimato.\n" +"Negabilità.\n" +"Identità dei colleghi.\n" +"Reparti nel Sistema Nomi di GNU (Zone GNS) Egos." #: template/about.html.j2:88 msgid "More Resources" -msgstr "" +msgstr "Più Risorse" #: template/about.html.j2:90 msgid "" -- cgit v1.2.3 From 52fc2ff6b0617a015ff29f41e79deb10af85b06d Mon Sep 17 00:00:00 2001 From: Sabino Miani Date: Tue, 9 Mar 2021 17:40:26 +0000 Subject: Translated using Weblate (Italian) Currently translated at 24.9% (87 of 349 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 101 ++++++++++++++++++++++++++++++++------ 1 file changed, 85 insertions(+), 16 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 445bad5b..dc4f31e9 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-03 21:41+0100\n" -"PO-Revision-Date: 2021-03-08 22:24+0000\n" +"PO-Revision-Date: 2021-03-09 18:35+0000\n" "Last-Translator: Sabino Miani \n" "Language-Team: Italian " "\n" @@ -363,6 +363,12 @@ msgid "" "\">videos or a brief glossary." msgstr "" +"Esistono molte più risorse che permettono di conoscere GNUnet oltre che il " +"manuale, " +"abbiamo labibliografia con fogli che " +"coprono i vari strati, moltivideoo un breve glossario." #: template/about.html.j2:95 msgid "" @@ -371,6 +377,10 @@ msgid "" "html\">use it and contribute and get engaged " "in various ways." msgstr "" +"Sei sempre il benvenuto quando si tratta di " +"affrontare conversazioni, installare GNUnet, utilizzarlo e contribuire ed impegnarsi in svariati modi." #: template/about.html.j2:100 msgid "" @@ -378,10 +388,13 @@ msgid "" "alpha stage when it comes to software – its not an easy task to " "rewrite the whole Internet!" msgstr "" +"Si prega di osservare che questo progetto (nonostante la sua età) quando si " +"tratta di software è ancora agli inizi della fase alpha – non è " +"infatti un compito semplice quello di riscrivere l'internet!" #: template/about.html.j2:105 msgid "Current funding" -msgstr "" +msgstr "Finanziamento corrente" #: template/about.html.j2:110 msgid "" @@ -389,6 +402,9 @@ msgid "" "to document and implement the GNU Name System protocol in a way suitable for " "the IETF standardization process." msgstr "" +"Stiamo ricevendo finanziamenti dalla linea di finanziamento Next Generation " +"Internet di NLnet per documentare ed implementare il protocollo GNU Name " +"System in modo che sia adatto per i processi di standardizzazione IETF." #: template/about.html.j2:123 msgid "" @@ -400,27 +416,38 @@ msgid "" "providers. The project is called \"Decentralized Identities for Self-" "Sovereign End-users\" (DISSENS)." msgstr "" +"Questo progetto ha ricevuto finanziamenti dal programma Horizon 2020 ricerca " +"ed innovazione dell'Unione Europea in base all'accordo sovvenzionato " +"NGI_TRUST no 825618. Il progetto mira ad integrare re:claimID con il sistema " +"di pagamento GNUnet in una fase pilota per dimostrare la fattibilità pratica " +"ed i benefici di una tecnologia che aumenta la privacy di utenti e fornitori " +"di servizi commerciali. Il progetto è chiamato \"Identità Decentralizzate " +"per Utenti finali auto sovrani\" (DISSENS)." #: template/about.html.j2:141 msgid "" "We are grateful for free hosting offered by the following organizations:" msgstr "" +"Siamo grati di poter essere ospitati in modo gratuito dalle seguenti " +"organizzazioni:" #: template/about.html.j2:150 msgid "Past funding" -msgstr "" +msgstr "Finanziamenti passati" #: template/about.html.j2:152 msgid "We are grateful for past funding from the following organizations:" msgstr "" +"Siamo grati per i passati finanziamenti offerti dalle seguenti " +"organizzazioni:" #: template/applications.html.j2:7 msgid "Applications provided by GNUnet" -msgstr "" +msgstr "Applicazioni fornite da GNUnet" #: template/applications.html.j2:13 template/gns.html.j2:7 msgid "The GNU Name System" -msgstr "" +msgstr "Il GNU Name System" #: template/applications.html.j2:15 msgid "" @@ -432,10 +459,18 @@ msgid "" "cryptographically secured. " msgstr "" +"Il GNU Name System (GNS) è un rimpiazzo " +"decentralizzato per il Domain Name System (DNS). Piuttosto che far uso di " +"una gerarchia, GNS sfrutta un grafico diretto. Le convenzioni per " +"denominazione sono più simili al DNS, ma quesiti e risposte sono privati " +"anche verso i colleghi che forniscono le risposte. L'integrità dei registri " +"e la privacy delle ricerche è criptograficamente sicura.\n" +"" #: template/applications.html.j2:38 msgid "Self-sovereign, decentralized identity provider" -msgstr "" +msgstr "Fornitore di identità auto-sovrana, decentralizzata" #: template/applications.html.j2:40 msgid "" @@ -444,10 +479,15 @@ msgid "" "allows users to securely share personal information with websites using " "standardized protocols (OpenID Connect)." msgstr "" +"re:claimID è un servizio " +"Identity Provider (IdP) decentralizzato costruito al di sopra del GNU Name " +"System. Permette agli utenti di condividere in modo sicuro informazioni " +"personali con siti web utilizzando protocolli standardizzati (OpenID " +"Connect)." #: template/applications.html.j2:57 msgid "Filesharing (Alpha)" -msgstr "" +msgstr "Condivisione di file (Alpha)" #: template/applications.html.j2:59 msgid "" @@ -455,10 +495,14 @@ msgid "" "to provide censorship-resistant, anonymous filesharing. The publisher is " "empowered to make a gradual choice between performance and anonymity." msgstr "" +"GNUnet filesharing è una applicazione che mira a " +"fornire una condivisione di file che sia resistente alla censura ed anonimo. " +"L'editore è autorizzato a compiere scelte graduali tra performance ed " +"anonimato." #: template/applications.html.j2:73 msgid "Conversation (Pre-Alpha)" -msgstr "" +msgstr "Conversation (Pre-Alpha)" #: template/applications.html.j2:75 msgid "" @@ -466,14 +510,17 @@ msgid "" "communication in a fully decentralized way by employing GNUnet for routing " "and transport." msgstr "" +"GNUnet conversation è un applicazione che fornisce una comunicazione vocale " +"sicura in maniera completamente decentralizzata sfruttando GNUnet per il " +"routing ed il trasporto." #: template/applications.html.j2:91 msgid "Applications utilizing GNUnet" -msgstr "" +msgstr "Applicazioni che utilizzano GNUnet" #: template/applications.html.j2:97 msgid "GNU Taler (Alpha)" -msgstr "" +msgstr "GNU Taler (Alpha)" #: template/applications.html.j2:99 msgid "" @@ -481,10 +528,14 @@ msgid "" "electronic payment system. Payments are cryptographically secured and are " "confirmed within milliseconds with extremely low transaction costs." msgstr "" +"GNU Taler è un nuovo sistema di pagamento " +"elettronico che preserva la privacy. I pagamenti sono criptograficamente " +"sicuri e vengono confermati nell'arco dei millisecondi con costi di " +"transazioni estremamente bassi." #: template/applications.html.j2:118 msgid "secushare" -msgstr "" +msgstr "secushare" #: template/applications.html.j2:120 msgid "" @@ -493,10 +544,14 @@ msgid "" "the extensible PSYC protocol, notifications are distributed end-to-end " "encrypted to authorized recipients only." msgstr "" +"secushare sta creando un'applicazione " +"di social network decentralizzata al di sopra di GNUnet. Sfruttando overlay " +"multicast ed il protocollo estensibile PSYC, le notifiche criptate da un " +"capo all'altro vengono distribuite solamente a destinatari autorizzati." #: template/applications.html.j2:139 msgid "pretty Easy privacy" -msgstr "" +msgstr "pretty Easy privacy" #: template/applications.html.j2:141 msgid "" @@ -505,10 +560,15 @@ msgid "" "key exchange. p≡p will use GNUnet to protect metadata and exploit new " "cryptographic protocols to verify keys." msgstr "" +"pretty Easy privacy (p≡p) è " +"creare una soluzione per posta elettronica utilizzabile in modo " +"crittografato sfruttando opportunamente uno scambio di chiavi. p≡p " +"sfrutterà GNUnet per proteggere metadati ed utilizzare nuovi protocolli " +"crittografati per verificare le chiavi." #: template/applications.html.j2:160 msgid "Cadet-GTK" -msgstr "" +msgstr "Cadet-GTK" #: template/applications.html.j2:162 msgid "" @@ -517,10 +577,15 @@ msgid "" "especially the CADET subsystem. It is developed using GTK and libhandy for a " "convergent design." msgstr "" +"Cadet-GTK è " +"un'applicazione grafica conveniente ma allo stesso tempo ricca di " +"funzionalità che fornisce messaggistica utilizzando sopratutto il " +"sottosistema CADET. È sviluppata facendo uso di GTK e libhandy per un design " +"convergente." #: template/applications.html.j2:180 msgid "groupchat" -msgstr "" +msgstr "groupchat" #: template/applications.html.j2:182 msgid "" @@ -529,14 +594,18 @@ msgid "" "subsystem. It is developed using nim. Cadet-GTK and groupchat are planned to " "be compatible." msgstr "" +"groupchat è un " +"terminale di interfaccia utente che fornisce messaggistica utilizzando in " +"modo particolare il sottosistema CADET. Si sta sviluppando tramite nim. " +"Cadet-GTK e groupchat saranno compatibili." #: template/architecture.html.j2:6 msgid "GNUnet System Architecture" -msgstr "" +msgstr "L'architettura del sistema GNUnet" #: template/architecture.html.j2:20 msgid "Foundations" -msgstr "" +msgstr "Foundations" #: template/architecture.html.j2:22 msgid "" -- cgit v1.2.3 From 6930bcd5effeefcd281a9109084154ccc2cca9a6 Mon Sep 17 00:00:00 2001 From: Martin Schanzenbach Date: Fri, 12 Mar 2021 12:47:20 +0100 Subject: start migration of faq --- locale/de/LC_MESSAGES/messages.po | 558 +++++++++++++++++++++++++++++++-- locale/es/LC_MESSAGES/messages.po | 626 ++++++++++++++++++++++++++++++++++---- locale/fr/LC_MESSAGES/messages.po | 554 +++++++++++++++++++++++++++++++-- locale/it/LC_MESSAGES/messages.po | 577 +++++++++++++++++++++++++++++++++-- locale/messages.pot | 563 ++++++++++++++++++++++++++++++++-- template/faq.html.j2 | 553 ++++++++++++++++++++++++++++++++- 6 files changed, 3283 insertions(+), 148 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/de/LC_MESSAGES/messages.po b/locale/de/LC_MESSAGES/messages.po index 99538b83..2134e188 100644 --- a/locale/de/LC_MESSAGES/messages.po +++ b/locale/de/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-03 21:41+0100\n" +"POT-Creation-Date: 2021-03-12 12:43+0100\n" "PO-Revision-Date: 2021-02-17 15:13+0000\n" "Last-Translator: Weblate Admin \n" "Language-Team: German DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR) " msgstr "" -#: template/faq.html.j2:12 +#: template/faq.html.j2:12 template/faq.html.j2:21 +msgid "General" +msgstr "" + +#: template/faq.html.j2:13 template/faq.html.j2:146 template/gns.html.j2:37 +msgid "Features" +msgstr "" + +#: template/faq.html.j2:15 template/faq.html.j2:539 +msgid "Error messages" +msgstr "" + +#: template/faq.html.j2:24 +msgid "What do I do if my question is not answered here?" +msgstr "" + +#: template/faq.html.j2:26 +msgid "" +"A: There are many other sources of information. You can read additional " +"documentation or ask the question on the help-gnunet@gnu.org mailing list or " +"the #gnunet IRC on irc.freenode.net." +msgstr "" + +#: template/faq.html.j2:34 +msgid "When are you going to release the next version?" +msgstr "" + +#: template/faq.html.j2:36 +msgid "" +"A: The general answer is, when it is ready. A better answer may be: earlier " +"if you contribute (test, debug, code, document). Every release will be " +"anounced on the info-gnunet@gnu.org mailing list and on planet GNU. You can subscribe to the mailing list or " +"the RSS feed of this site to automatically receive a notification." +msgstr "" + +#: template/faq.html.j2:47 +msgid "Is the code free?" +msgstr "" + +#: template/faq.html.j2:49 +msgid "" +"A: GNUnet is free software, available under the GNU Affero Public License (AGPL)." +msgstr "" + +#: template/faq.html.j2:56 +msgid "Are there any known bugs?" +msgstr "" + +#: template/faq.html.j2:58 +msgid "" +"A: We track the list of currently known bugs in the Mantis system. Some bugs are occasionally reported " +"directly to developers or the developer mailing list. This is discouraged " +"since developers often do not have the time to feed these bugs back into the " +"Mantis database. Please report bugs directly to the bug tracking system. If " +"you believe a bug is sensitive, you can set its view status to private (this " +"should be the exception)." +msgstr "" + +#: template/faq.html.j2:71 +msgid "Is there a graphical user interface?" +msgstr "Gibt es eine Graphische Benutzeroberfläche?" + +#: template/faq.html.j2:73 +msgid "" +"A: gnunet-gtk is a separate download. The package contains various GTK+ " +"based graphical interfaces, including a graphical tool for configuration." +msgstr "" + +#: template/faq.html.j2:81 +msgid "Why does gnunet-service-nse create a high CPU load?" +msgstr "" + +#: template/faq.html.j2:83 +msgid "" +"A: The gnunet-service-nse process will initially compute a so-called "" +"proof-of-work" which is used to convince the network that your peer is " +"real (or, rather, make it expensive for an adversary to mount a Sybil attack " +"on the network size estimator). The calculation is expected to take a few " +"days, depending on how fast your CPU is. If the CPU load is creating a " +"problem for you, you can set the value "WORKDELAY" in the "" +"nse" section of your configuration file to a higher value. The default " +"is "5 ms"." +msgstr "" + +#: template/faq.html.j2:97 +msgid "How does GNUnet compare to Tor?" +msgstr "" + +#: template/faq.html.j2:99 +msgid "" +"A: Tor focuses on anonymous communication and censorship-resistance for TCP " +"connections and, with the Tor Browser Bundle, for the Web in particular. " +"GNUnet does not really have one focus; our theme is secure decentralized " +"networking, but that is too broad to be called a focus." +msgstr "" + +#: template/faq.html.j2:109 +msgid "How does GNUnet compare to I2P?" +msgstr "" + +#: template/faq.html.j2:111 +msgid "" +"A: Both GNUnet and I2P want to build a better, more secure, more " +"decentralized Internet. However, on the technical side, there are almost no " +"overlaps.

        I2P is written in Java, and has (asymmetric) tunnels " +"using onion (or garlic) routing as the basis for various (anonymized) " +"applications. I2P is largely used via a Web frontend." +msgstr "" + +#: template/faq.html.j2:122 msgid "Is GNUnet ready for use on production systems?" msgstr "" -#: template/faq.html.j2:14 +#: template/faq.html.j2:124 msgid "" "A: GNUnet is still undergoing major development. It is largely not yet ready " "for usage beyond developers. Your mileage will vary depending on the " @@ -824,24 +940,406 @@ msgid "" "rewriting it (Project "Transport Next Generation [TNG]")" msgstr "" -#: template/faq.html.j2:24 +#: template/faq.html.j2:134 msgid "Is GNUnet build using distributed ledger technologies?" msgstr "" -#: template/faq.html.j2:26 +#: template/faq.html.j2:136 msgid "" "A: No. GNUnet is a new network protocol stack for building secure, " "distributed, and privacy-preserving applications. While a ledger could be " "built using GNUnet, we currently have no plans in doing so." msgstr "" -#: template/faq.html.j2:35 +#: template/faq.html.j2:148 +#, fuzzy +#| msgid "What is GNUnet?" +msgid "What can I do with GNUnet?" +msgstr "Was ist GNUnet?" + +#: template/faq.html.j2:150 +msgid "" +"A: GNUnet is a peer-to-peer framework, by which we mostly mean that it can " +"do more than just one thing. Naturally, the implementation and documentation " +"of some of the features that exist are more advanced than others." +msgstr "" + +#: template/faq.html.j2:157 +msgid "" +"For users, GNUnet offers anonymous and non-anonymous file-sharing, a fully " +"decentralized and censorship-resistant replacement for DNS and a mechanism " +"for IPv4-IPv6 protocol translation and tunneling (NAT-PT with DNS-ALG)." +msgstr "" + +#: template/faq.html.j2:171 +msgid "Who runs the GNS root zone?" +msgstr "" + +#: template/faq.html.j2:173 +msgid "" +"A: Short answer: you. The long answer is the GNUnet will ship with a default " +"configuration of top-level domains. The governance of this default " +"configuration is not yet established. In any case, the user will be able to " +"modify this configuration at will. We expect normal users to have no need to " +"edit their own GNS zone(s) unless they host services themselves." +msgstr "" + +#: template/faq.html.j2:184 +msgid "Where is the per-user GNS database kept?" +msgstr "" + +#: template/faq.html.j2:186 +msgid "" +"A: The short answer is that the database is kept at the user's GNUnet peer. " +"Now, a user may run multiple GNUnet peers, in which case the database could " +"be kept at each peer (however, we don't have code for convenient " +"replication). Similarly, multiple GNUnet peers can share one instance of the " +"database --- the "gnunet-service-namestore" can be accessed from " +"remote (via TCP). The actual data can be stored in a Postgres database, for " +"which various replication options are again applicable. Ultimately, there " +"are many options for how users can store (and secure) their GNS database." +msgstr "" + +#: template/faq.html.j2:201 +msgid "What is the expected average size of a GNS namestore database?" +msgstr "" + +#: template/faq.html.j2:203 +msgid "" +"A: Pretty small. Based on our user study where we looked at browser " +"histories and the number of domains visited, we expect that GNS databases " +"will only grow to a few tens of thousands of entries, small enough to fit " +"even on mobile devices." +msgstr "" + +#: template/faq.html.j2:213 +msgid "Is GNS resistant to the attacks on DNS used by the US?" +msgstr "" + +#: template/faq.html.j2:215 +msgid "" +"A: We believe so, as there is no entity that any government could force to " +"change the mapping for a name except for each individual user (and then the " +"changes would only apply to the names that this user is the authority for). " +"So if everyone used GNS, the only practical attack of a government would be " +"to force the operator of a server to change the GNS records for his server " +"to point elsewhere. However, if the owner of the private key for a zone is " +"unavailable for enforcement, the respective zone cannot be changed and any " +"other zone delegating to this zone will achieve proper resolution." +msgstr "" + +#: template/faq.html.j2:229 +msgid "What is the difference between GNS and CoDoNS?" +msgstr "" + +#: template/faq.html.j2:231 +msgid "" +"A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the " +"authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, and " +"there are still registrars that determine who owns a name.

        With " +"GNS, we decentralize the database and also decentralize the responsibility " +"for naming: each user runs his own personal root zone and is thus in " +"complete control of the names he uses. GNS also has many additional features " +"(to keep names short and enable migration) which don't even make sense in " +"the context of CoDoNS." +msgstr "" + +#: template/faq.html.j2:247 +msgid "What is the difference between GNS and SocialDNS?" +msgstr "" + +#: template/faq.html.j2:249 +msgid "" +"A: Like GNS, SocialDNS allows each user to create DNS mappings. However, " +"with SocialDNS the mappings are shared through the social network and " +"subjected to ranking. As the social relationships evolve, names can thus " +"change in surprising ways.

        With GNS, names are primarily shared via " +"delegation, and thus mappings will only change if the user responsible for " +"the name (the authority) manually changes the record." +msgstr "" + +#: template/faq.html.j2:263 +msgid "What is the difference between GNS and ODDNS?" +msgstr "" + +#: template/faq.html.j2:265 +msgid "" +"A: ODDNS is primarily designed to bypass the DNS root zone and the TLD " +"registries (such as those for \".com\" and \".org\"). Instead of using " +"those, each user is expected to maintain a database of (second-level) " +"domains (like \"gnu.org\") and the IP addresses of the respective name " +"servers. Resolution will fail if the target name servers change IPs." +msgstr "" + +#: template/faq.html.j2:276 +msgid "What is the difference between GNS and Namecoin?" +msgstr "" + +#: template/faq.html.j2:283 +msgid "What is the difference between GNS and Handshake?" +msgstr "" + +#: template/faq.html.j2:289 +msgid "What is the difference between GNS and ENS?" +msgstr "" + +#: template/faq.html.j2:295 +msgid "What is the difference between GNS and TrickleDNS?" +msgstr "" + +#: template/faq.html.j2:297 +msgid "" +"A: TrickleDNS pushes ("critical") DNS records between DNS " +"resolvers of participating domains to provide "better availability, " +"lower query resolution times, and faster update propagation". Thus " +"TrickleDNS is focused on defeating attacks on the availability (and " +"performance) of record propagation in DNS, for example via DDoS attacks on " +"DNS root servers. TrickleDNS is thus concerned with how to ensure " +"distribution of authoritative records, and authority remains derived from " +"the DNS hierarchy." +msgstr "" + +#: template/faq.html.j2:310 +msgid "" +"Does GNS require real-world introduction (secure PKEY exchange) in the style " +"of the PGP web of trust?" +msgstr "" + +#: template/faq.html.j2:312 +msgid "" +"A: For security, it is well known that an initial trust path between the two " +"parties must exist. However, for applications where this is not required, " +"weaker mechanisms can be used. For example, we have implemented a first-come-" +"first-served (FCFS) authority which allows arbitrary users to register " +"arbitrary names. The key of this authority is included with every GNUnet " +"installation. Thus, any name registered with FCFS is in fact global and " +"requires no further introduction. However, the security of these names " +"depends entirely on the trustworthiness of the FCFS authority. The authority " +"can be queried under the ".ping" TLD." +msgstr "" + +#: template/faq.html.j2:327 +msgid "" +"How can a legitimate domain owner tell other people to not use his name in " +"GNS?" +msgstr "" + +#: template/faq.html.j2:329 +msgid "" +"A: Names have no owners in GNS, so there cannot be a "legitimate" " +"domain owner. Any user can claim any name (as his preferred name or "" +"pseudonym") in his NICK record. Similarly, all other users can choose " +"to ignore this preference and use a name of their choice (or even assign no " +"name) for this user." +msgstr "" + +#: template/faq.html.j2:340 +msgid "" +"Did you consider the privacy implications of making your personal GNS zone " +"visible?" +msgstr "" + +#: template/faq.html.j2:342 +msgid "" +"A: Each record in GNS has a flag "private". Records are shared " +"with other users (via DHT or zone transfers) only if this flag is not set. " +"Thus, users have full control over what information about their zones is " +"made public." +msgstr "" + +#: template/faq.html.j2:352 +msgid "Are \"Legacy Host\" (LEHO) records not going to be obsolete with IPv6?" +msgstr "" + +#: template/faq.html.j2:354 +msgid "" +"A: The question presumes that (a) virtual hosting is only necessary because " +"of IPv4 address scarcity, and (b) that LEHOs are only useful in the context " +"of virtual hosting. However, LEHOs are also useful to help with X.509 " +"certificate validation (as they specify for which legacy hostname the " +"certificate should be valid). Also, even with IPv6 fully deployed and "" +"infinite" IP addresses being available, we're not sure that virtual " +"hosting would disappear. Finally, we don't want to have to wait for IPv6 to " +"become commonplace, GNS should work with today's networks." +msgstr "" + +#: template/faq.html.j2:368 +msgid "" +"Why does GNS not use a trust metric or consensus to determine globally " +"unique names?" +msgstr "" + +#: template/faq.html.j2:370 +msgid "" +"A: Trust metrics have the fundamental problem that they have thresholds. As " +"trust relationships evolve, mappings would change their meaning as they " +"cross each others thresholds. We decided that the resulting unpredictability " +"of the resolution process was not acceptable. Furthermore, trust and " +"consensus might be easy to manipulate by adversaries." +msgstr "" + +#: template/faq.html.j2:381 +msgid "How do you handle compromised zone keys in GNS?" +msgstr "" + +#: template/faq.html.j2:383 +msgid "" +"A: The owner of a private key can create a revocation message. This one can " +"then be flooded throughout the overlay network, creating a copy at all " +"peers. Before using a public key, peers check if that key has been revoked. " +"All names that involve delegation via a revoked zone will then fail to " +"resolve. Peers always automatically check for the existence of a revocation " +"message when resolving names." +msgstr "" + +#: template/faq.html.j2:395 +msgid "Could the signing algorithm of GNS be upgraded in the future?" +msgstr "" + +#: template/faq.html.j2:397 +msgid "" +"A: Yes. In our efforts to standardize GNS, we have already modified the " +"protocol to support alternative delegation records.

        Naturally, " +"deployed GNS implementations would have to be updated to support the new " +"signature scheme. The new scheme can then be run in parallel with the " +"existing system by using a new record type to indicate the use of a " +"different cipher system." +msgstr "" + +#: template/faq.html.j2:411 +msgid "" +"How can a GNS zone maintain several name servers, e.g. for load balancing?" +msgstr "" + +#: template/faq.html.j2:413 +msgid "" +"A: We don't expect this to be necessary, as GNS records are stored (and " +"replicated) in the R5N DHT. Thus the authority will typically not be " +"contacted whenever clients perform a lookup. Even if the authority goes " +"(temporarily) off-line, the DHT will cache the records for some time. " +"However, should having multiple servers for a zone be considered truly " +"necessary, the owner of the zone can simply run multiple peers (and share " +"the zone's key and database among them)." +msgstr "" + +#: template/faq.html.j2:426 +msgid "" +"Why do you believe it is worth giving up unique names for censorship " +"resistance?" +msgstr "" + +#: template/faq.html.j2:428 +msgid "" +"A: The GNU Name system offers an alternative to DNS that is censorship " +"resistant. As with any security mechanism, this comes at a cost (names are " +"not globally unique). To draw a parallel, HTTPS connections use more " +"bandwidth and have higher latency than HTTP connections. Depending on your " +"application, HTTPS may not be worth the cost. However, for users that are " +"experiencing censorship (or are concerned about it), giving up globally " +"unique names may very well be worth the cost. After all, what is a "" +"globally" unique name worth, if it does not resolve?" +msgstr "" + +#: template/faq.html.j2:442 +msgid "Why do you say that DNS is 'centralized' and 'distributed'?" +msgstr "" + +#: template/faq.html.j2:444 +msgid "" +"A: We say that DNS is 'centralized' because it has a central component / " +"central point of failure --- the root zone and its management by IANA/ICANN. " +"This centralization creates vulnerabilities. For example, the US government " +"was able to reassign the management of the country-TLDs of Afganistan and " +"Iraq during the wars at the beginning of the 21st century." +msgstr "" + +#: template/faq.html.j2:455 +msgid "How does GNS protect against layer-3 censorship?" +msgstr "" + +#: template/faq.html.j2:457 +msgid "" +"A: GNS does not directly help with layer-3 censorship, but it does help " +"indirectly in two ways:
        1. Many websites today use virtual hosting, " +"so blocking a particular IP address causes much more collateral damage than " +"blocking a DNS name. It thus raises the cost of censorship.
        2. " +"Existing layer-3 circumvention solutions (such as Tor) would benefit from a " +"censorship resistant naming system. Accessing Tor's ".onion" " +"namespace currently requires users to use unmemorable cryptographic " +"identifiers. With nicer names, Tor and tor2web-like services would be even " +"easier to use.
        " +msgstr "" + +#: template/faq.html.j2:476 +msgid "Does GNS work with search engines?" +msgstr "" + +#: template/faq.html.j2:478 +msgid "" +"A: GNS creates no significant problems for search engines, as they can use " +"GNS to perform name resolution as well as any normal user. Naturally, while " +"we typically expect normal users to install custom software for name " +"resolution, this is unlikely to work for search engines today. However, the " +"DNS2GNS gateway allows search engines to use DNS to resolve GNS names, so " +"they can still index GNS resources. However, as using DNS2GNS gateways " +"breaks the cryptographic chain of trust, legacy search engines will " +"obviously not obtain censorship-resistant names." +msgstr "" + +#: template/faq.html.j2:492 +msgid "How does GNS compare to the Unmanaged Internet Architecture (UIA)?" +msgstr "" + +#: template/faq.html.j2:494 +msgid "" +"A: UIA and GNS both share the same basic naming model, which actually " +"originated with Rivest's SDSI. However, UIA is not concerned about " +"integration with legacy applications and instead focuses on universal " +"connectivity between a user's many machines. In contrast, GNS was designed " +"to interoperate with DNS as much as possible, and to also work as much as " +"possible with the existing Web infrastructure. UIA is not at all concerned " +"about legacy systems (clean slate)." +msgstr "" + +#: template/faq.html.j2:507 +msgid "Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?" +msgstr "" + +#: template/faq.html.j2:509 +msgid "" +"A: First of all, in GNS you can explicitly see the trust chain, so you know " +"if a name you are resolving belongs to a friend, or a friend-of-a-friend, " +"and can thus decide how much you trust the result. Naturally, the trusted-" +"computing base (TCB) can become arbitrarily large this way --- however, " +"given the name length restriction, for an individual name it is always less " +"than about 128 entities." +msgstr "" + +#: template/faq.html.j2:521 +msgid "" +"How does GNS handle SRV/TLSA records where service and protocol are part of " +"the domain name?" +msgstr "" + +#: template/faq.html.j2:523 +msgid "" +"A: When GNS splits a domain name into labels for resolution, it detects the " +""_Service._Proto" syntax, converts "Service" to the " +"corresponding port number and "Proto" to the corresponding " +"protocol number. The rest of the name is resolved as usual. Then, when the " +"result is presented, GNS looks for the GNS-specific "BOX" record " +"type. A BOX record is a record that contains another record (such as SRV or " +"TLSA records) and adds a service and protocol number (and the original boxed " +"record type) to it." +msgstr "" + +#: template/faq.html.j2:541 msgid "" "I receive many "WARNING Calculated flow delay for X at Y for Z". " "Should I worry?" msgstr "" -#: template/faq.html.j2:37 +#: template/faq.html.j2:543 msgid "" "A: Right now, this is expected and a known cause for high latency in GNUnet. " "We have started a major rewrite to address this and other problems, but " @@ -849,14 +1347,38 @@ msgid "" "expected." msgstr "" -#: template/faq.html.j2:46 -msgid "Is there a graphical user interface?" -msgstr "Gibt es eine Graphische Benutzeroberfläche?" +#: template/faq.html.j2:552 +msgid "Error opening `/dev/net/tun': No such file or directory?" +msgstr "" -#: template/faq.html.j2:48 +#: template/faq.html.j2:554 msgid "" -"A: gnunet-gtk is a separate download. The package contains various GTK+ " -"based graphical interfaces, including a graphical tool for configuration." +"A: If you get this error message, the solution is simple. Issue the " +"following commands (as root) to create the required device file" +msgstr "" + +#: template/faq.html.j2:566 +msgid "" +"'iptables: No chain/target/match by that name.' (when running gnunet-service-" +"dns)?" +msgstr "" + +#: template/faq.html.j2:568 +msgid "" +"A: For GNUnet DNS, your iptables needs to have "owner" match " +"support. This is accomplished by having the correct kernel options. Check if " +"your kernel has CONFIG_NETFILTER_XT_MATCH_OWNER set to either 'y' or " +"'m' (and the module is loaded)." +msgstr "" + +#: template/faq.html.j2:580 +msgid "'Timeout was reached' when running PT on Fedora (and possibly others)?" +msgstr "" + +#: template/faq.html.j2:582 +msgid "" +"A: If you get an error stating that the VPN timeout was reached, check if " +"your firewall is enabled and blocking the connections." msgstr "" #: template/glossary.html.j2:12 @@ -963,10 +1485,6 @@ msgstr "" msgid "Overview" msgstr "" -#: template/gns.html.j2:37 -msgid "Features" -msgstr "" - #: template/gns.html.j2:39 msgid "" "The GNU Name System (GNS) is secure and decentralized naming system. It " diff --git a/locale/es/LC_MESSAGES/messages.po b/locale/es/LC_MESSAGES/messages.po index 4c2a2ccf..a41a5548 100644 --- a/locale/es/LC_MESSAGES/messages.po +++ b/locale/es/LC_MESSAGES/messages.po @@ -7,11 +7,11 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-03 21:41+0100\n" +"POT-Creation-Date: 2021-03-12 12:43+0100\n" "PO-Revision-Date: 2021-03-10 21:17+0000\n" "Last-Translator: Samira Tamboura \n" -"Language-Team: Spanish " -"\n" +"Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -66,6 +66,7 @@ msgid "About" msgstr "Sobre" #: common/navigation.j2.inc:39 news/index.html.j2:8 +#: news/oldnews-2011.html.j2:13 news/oldnews-2013.html.j2:13 #: news/oldnews-2018.html.j2:13 news/oldnews-2019.html.j2:13 msgid "News" msgstr "Nuevo" @@ -158,18 +159,21 @@ msgstr "REST API" msgid "FAQ" msgstr "Preguntas frecuentes" -#: news/index.html.j2:11 news/oldnews-2018.html.j2:16 +#: news/index.html.j2:11 news/oldnews-2011.html.j2:16 +#: news/oldnews-2013.html.j2:16 news/oldnews-2018.html.j2:16 #: news/oldnews-2019.html.j2:16 msgid "News posts about changes related to GNUnet such as releases and events" msgstr "" "Nuevas publicaciones sobre cambios en GNUnet, como lanzamientos y eventos" -#: news/index.html.j2:16 news/oldnews-2018.html.j2:21 +#: news/index.html.j2:16 news/oldnews-2011.html.j2:21 +#: news/oldnews-2013.html.j2:21 news/oldnews-2018.html.j2:21 #: news/oldnews-2019.html.j2:21 msgid "subscribe to our RSS feed" msgstr "suscríbase a nuestro canal RSS" -#: news/index.html.j2:36 news/oldnews-2018.html.j2:40 +#: news/index.html.j2:36 news/oldnews-2011.html.j2:40 +#: news/oldnews-2013.html.j2:40 news/oldnews-2018.html.j2:40 #: news/oldnews-2019.html.j2:40 msgid "read more" msgstr "leer más" @@ -225,8 +229,8 @@ msgstr "" "internet puede ser desviado, interceptado, censurado y manipulado por " "enrutadores hostiles en la red. Y por supuesto, el internet moderno ha " "evolucionado exactamente hasta el punto en que , como Matthew Green lo puso, " -"\"La red es hostil\"." +"\"La red es hostil\"." #: template/about.html.j2:41 #, fuzzy @@ -336,18 +340,18 @@ msgid "" msgstr "" "Para tener conocimiento y aprendes más, por favor chequé nuestro manual,especialmente el " -"capitulo en \"conceptos clave\", explicando los conceptos fundamentales " -"de GNUnet:
        • Auntenticación
        • Contabilidad para fomentar el intercambio de recursos
        • Confidencialidad
        • capitulo en \"conceptos clave\", explicando los conceptos " +"fundamentales de GNUnet: " @@ -695,8 +699,8 @@ msgid "" "IjaAfLiruzjxFFzKAV:matrix.org/\">archive available." msgstr "" "#gnunet es una vía accesible irc." -"freenode.net. También hay un archivo disponible." +"freenode.net. También hay un archivo disponible." #: template/contact.html.j2:38 msgid "Contacting individuals" @@ -841,8 +845,8 @@ msgid "" msgstr "" "Usamos LCOV " "para analizar la cobertura del código de nuestras pruebas, los resultados " -"están disponibles en https://old" -".gnunet.org/coverage/ ." +"están disponibles en https://" +"old.gnunet.org/coverage/ ." #: template/developers.html.j2:72 msgid "Performance Analysis" @@ -884,8 +888,8 @@ msgid "" "The tarball of the latest version can be obtained from GNU FTP and its " "mirrors." msgstr "" -"La ultima version del fichero, se puede obtener desde GNU FTP o en sus ré" -"plicas/espejos." +"La ultima version del fichero, se puede obtener desde GNU FTP o en sus " +"réplicas/espejos." #: template/download.html.j2:30 msgid "git" @@ -975,14 +979,14 @@ msgid "" "
          Kassenwart
          Florian Dold
          Beisitzer
          Christian Grothoff, ch3
          " msgstr "" -"Puede encontrar nuestro \"Satzung\" y la lista de miembros en https: //git.gnunet. org " -"/ gnunet-ev.git / tree / satzung.tex . La junta directiva actual está " -"formada por:
          Vorsitz
          " -"Martin Schanzenbach
          Stellvertretender Vorsitz < / dt>
          " -"t3sserakt
          Kassenwart
          Florian Dold
          Beisitzer " -"
          Christian " -"Grothoff , capítulo 3
          " +"Puede encontrar nuestro \"Satzung\" y la lista de miembros en https: //git." +"gnunet. org / gnunet-ev.git / tree / satzung.tex . La junta directiva " +"actual está formada por:
          Vorsitz
          Martin Schanzenbach
          Stellvertretender Vorsitz " +"< / dt>
          t3sserakt
          Kassenwart
          Florian Dold
          " +"
          Beisitzer
          Christian Grothoff , capítulo 3
          " #: template/ev.html.j2:73 msgid "Official Meeting Notes" @@ -1015,11 +1019,126 @@ msgstr "" "1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh
          SEPA / IBAN
          " "DE67830654080004822650 (BIC / SWIFT: GENODEF1SLR)
          " -#: template/faq.html.j2:12 +#: template/faq.html.j2:12 template/faq.html.j2:21 +msgid "General" +msgstr "" + +#: template/faq.html.j2:13 template/faq.html.j2:146 template/gns.html.j2:37 +msgid "Features" +msgstr "" + +#: template/faq.html.j2:15 template/faq.html.j2:539 +msgid "Error messages" +msgstr "" + +#: template/faq.html.j2:24 +msgid "What do I do if my question is not answered here?" +msgstr "" + +#: template/faq.html.j2:26 +msgid "" +"A: There are many other sources of information. You can read additional " +"documentation or ask the question on the help-gnunet@gnu.org mailing list or " +"the #gnunet IRC on irc.freenode.net." +msgstr "" + +#: template/faq.html.j2:34 +msgid "When are you going to release the next version?" +msgstr "" + +#: template/faq.html.j2:36 +msgid "" +"A: The general answer is, when it is ready. A better answer may be: earlier " +"if you contribute (test, debug, code, document). Every release will be " +"anounced on the info-gnunet@gnu.org mailing list and on planet GNU. You can subscribe to the mailing list or " +"the RSS feed of this site to automatically receive a notification." +msgstr "" + +#: template/faq.html.j2:47 +msgid "Is the code free?" +msgstr "" + +#: template/faq.html.j2:49 +msgid "" +"A: GNUnet is free software, available under the GNU Affero Public License (AGPL)." +msgstr "" + +#: template/faq.html.j2:56 +msgid "Are there any known bugs?" +msgstr "" + +#: template/faq.html.j2:58 +msgid "" +"A: We track the list of currently known bugs in the Mantis system. Some bugs are occasionally reported " +"directly to developers or the developer mailing list. This is discouraged " +"since developers often do not have the time to feed these bugs back into the " +"Mantis database. Please report bugs directly to the bug tracking system. If " +"you believe a bug is sensitive, you can set its view status to private (this " +"should be the exception)." +msgstr "" + +#: template/faq.html.j2:71 +msgid "Is there a graphical user interface?" +msgstr "¿Existe una interfaz gráfica de usuario?" + +#: template/faq.html.j2:73 +msgid "" +"A: gnunet-gtk is a separate download. The package contains various GTK+ " +"based graphical interfaces, including a graphical tool for configuration." +msgstr "" +"R: gnunet-gtk es una descarga separada. El paquete contiene varias " +"interfaces gráficas basadas en GTK +, incluida una herramienta gráfica para " +"la configuración." + +#: template/faq.html.j2:81 +msgid "Why does gnunet-service-nse create a high CPU load?" +msgstr "" + +#: template/faq.html.j2:83 +msgid "" +"A: The gnunet-service-nse process will initially compute a so-called "" +"proof-of-work" which is used to convince the network that your peer is " +"real (or, rather, make it expensive for an adversary to mount a Sybil attack " +"on the network size estimator). The calculation is expected to take a few " +"days, depending on how fast your CPU is. If the CPU load is creating a " +"problem for you, you can set the value "WORKDELAY" in the "" +"nse" section of your configuration file to a higher value. The default " +"is "5 ms"." +msgstr "" + +#: template/faq.html.j2:97 +msgid "How does GNUnet compare to Tor?" +msgstr "" + +#: template/faq.html.j2:99 +msgid "" +"A: Tor focuses on anonymous communication and censorship-resistance for TCP " +"connections and, with the Tor Browser Bundle, for the Web in particular. " +"GNUnet does not really have one focus; our theme is secure decentralized " +"networking, but that is too broad to be called a focus." +msgstr "" + +#: template/faq.html.j2:109 +msgid "How does GNUnet compare to I2P?" +msgstr "" + +#: template/faq.html.j2:111 +msgid "" +"A: Both GNUnet and I2P want to build a better, more secure, more " +"decentralized Internet. However, on the technical side, there are almost no " +"overlaps.

          I2P is written in Java, and has (asymmetric) tunnels " +"using onion (or garlic) routing as the basis for various (anonymized) " +"applications. I2P is largely used via a Web frontend." +msgstr "" + +#: template/faq.html.j2:122 msgid "Is GNUnet ready for use on production systems?" msgstr "¿Está GNUnet lista para usarse en sistemas de producción?" -#: template/faq.html.j2:14 +#: template/faq.html.j2:124 msgid "" "A: GNUnet is still undergoing major development. It is largely not yet ready " "for usage beyond developers. Your mileage will vary depending on the " @@ -1031,16 +1150,16 @@ msgstr "" "mayoría, aún no está listo para usarse más allá de los desarrolladores. Su " "millaje variará según la funcionalidad que utilice, pero es probable que " "vaya a encontrar problemas con nuestro sistema de transporte que actualmente " -"tiene un nivel bajo. Actualmente, estamos en proceso de reescribirlo (" -"Project & quot; Transport Next Generation [TNG] & quot;)" +"tiene un nivel bajo. Actualmente, estamos en proceso de reescribirlo " +"(Project & quot; Transport Next Generation [TNG] & quot;)" -#: template/faq.html.j2:24 +#: template/faq.html.j2:134 msgid "Is GNUnet build using distributed ledger technologies?" msgstr "" "¿Se están utilizando tecnologías de contabilidad distribuida para hacer " "GNUnet ?" -#: template/faq.html.j2:26 +#: template/faq.html.j2:136 msgid "" "A: No. GNUnet is a new network protocol stack for building secure, " "distributed, and privacy-preserving applications. While a ledger could be " @@ -1051,7 +1170,389 @@ msgstr "" "construir un libro de contabilidad usando GNUnet, actualmente no tenemos " "planes para hacerlo." -#: template/faq.html.j2:35 +#: template/faq.html.j2:148 +#, fuzzy +#| msgid "What is GNUnet?" +msgid "What can I do with GNUnet?" +msgstr "Qué es GNUnet?" + +#: template/faq.html.j2:150 +msgid "" +"A: GNUnet is a peer-to-peer framework, by which we mostly mean that it can " +"do more than just one thing. Naturally, the implementation and documentation " +"of some of the features that exist are more advanced than others." +msgstr "" + +#: template/faq.html.j2:157 +msgid "" +"For users, GNUnet offers anonymous and non-anonymous file-sharing, a fully " +"decentralized and censorship-resistant replacement for DNS and a mechanism " +"for IPv4-IPv6 protocol translation and tunneling (NAT-PT with DNS-ALG)." +msgstr "" + +#: template/faq.html.j2:171 +msgid "Who runs the GNS root zone?" +msgstr "" + +#: template/faq.html.j2:173 +msgid "" +"A: Short answer: you. The long answer is the GNUnet will ship with a default " +"configuration of top-level domains. The governance of this default " +"configuration is not yet established. In any case, the user will be able to " +"modify this configuration at will. We expect normal users to have no need to " +"edit their own GNS zone(s) unless they host services themselves." +msgstr "" + +#: template/faq.html.j2:184 +msgid "Where is the per-user GNS database kept?" +msgstr "" + +#: template/faq.html.j2:186 +msgid "" +"A: The short answer is that the database is kept at the user's GNUnet peer. " +"Now, a user may run multiple GNUnet peers, in which case the database could " +"be kept at each peer (however, we don't have code for convenient " +"replication). Similarly, multiple GNUnet peers can share one instance of the " +"database --- the "gnunet-service-namestore" can be accessed from " +"remote (via TCP). The actual data can be stored in a Postgres database, for " +"which various replication options are again applicable. Ultimately, there " +"are many options for how users can store (and secure) their GNS database." +msgstr "" + +#: template/faq.html.j2:201 +msgid "What is the expected average size of a GNS namestore database?" +msgstr "" + +#: template/faq.html.j2:203 +msgid "" +"A: Pretty small. Based on our user study where we looked at browser " +"histories and the number of domains visited, we expect that GNS databases " +"will only grow to a few tens of thousands of entries, small enough to fit " +"even on mobile devices." +msgstr "" + +#: template/faq.html.j2:213 +msgid "Is GNS resistant to the attacks on DNS used by the US?" +msgstr "" + +#: template/faq.html.j2:215 +msgid "" +"A: We believe so, as there is no entity that any government could force to " +"change the mapping for a name except for each individual user (and then the " +"changes would only apply to the names that this user is the authority for). " +"So if everyone used GNS, the only practical attack of a government would be " +"to force the operator of a server to change the GNS records for his server " +"to point elsewhere. However, if the owner of the private key for a zone is " +"unavailable for enforcement, the respective zone cannot be changed and any " +"other zone delegating to this zone will achieve proper resolution." +msgstr "" + +#: template/faq.html.j2:229 +msgid "What is the difference between GNS and CoDoNS?" +msgstr "" + +#: template/faq.html.j2:231 +msgid "" +"A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the " +"authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, and " +"there are still registrars that determine who owns a name.

          With " +"GNS, we decentralize the database and also decentralize the responsibility " +"for naming: each user runs his own personal root zone and is thus in " +"complete control of the names he uses. GNS also has many additional features " +"(to keep names short and enable migration) which don't even make sense in " +"the context of CoDoNS." +msgstr "" + +#: template/faq.html.j2:247 +msgid "What is the difference between GNS and SocialDNS?" +msgstr "" + +#: template/faq.html.j2:249 +msgid "" +"A: Like GNS, SocialDNS allows each user to create DNS mappings. However, " +"with SocialDNS the mappings are shared through the social network and " +"subjected to ranking. As the social relationships evolve, names can thus " +"change in surprising ways.

          With GNS, names are primarily shared via " +"delegation, and thus mappings will only change if the user responsible for " +"the name (the authority) manually changes the record." +msgstr "" + +#: template/faq.html.j2:263 +msgid "What is the difference between GNS and ODDNS?" +msgstr "" + +#: template/faq.html.j2:265 +msgid "" +"A: ODDNS is primarily designed to bypass the DNS root zone and the TLD " +"registries (such as those for \".com\" and \".org\"). Instead of using " +"those, each user is expected to maintain a database of (second-level) " +"domains (like \"gnu.org\") and the IP addresses of the respective name " +"servers. Resolution will fail if the target name servers change IPs." +msgstr "" + +#: template/faq.html.j2:276 +msgid "What is the difference between GNS and Namecoin?" +msgstr "" + +#: template/faq.html.j2:283 +msgid "What is the difference between GNS and Handshake?" +msgstr "" + +#: template/faq.html.j2:289 +msgid "What is the difference between GNS and ENS?" +msgstr "" + +#: template/faq.html.j2:295 +msgid "What is the difference between GNS and TrickleDNS?" +msgstr "" + +#: template/faq.html.j2:297 +msgid "" +"A: TrickleDNS pushes ("critical") DNS records between DNS " +"resolvers of participating domains to provide "better availability, " +"lower query resolution times, and faster update propagation". Thus " +"TrickleDNS is focused on defeating attacks on the availability (and " +"performance) of record propagation in DNS, for example via DDoS attacks on " +"DNS root servers. TrickleDNS is thus concerned with how to ensure " +"distribution of authoritative records, and authority remains derived from " +"the DNS hierarchy." +msgstr "" + +#: template/faq.html.j2:310 +msgid "" +"Does GNS require real-world introduction (secure PKEY exchange) in the style " +"of the PGP web of trust?" +msgstr "" + +#: template/faq.html.j2:312 +msgid "" +"A: For security, it is well known that an initial trust path between the two " +"parties must exist. However, for applications where this is not required, " +"weaker mechanisms can be used. For example, we have implemented a first-come-" +"first-served (FCFS) authority which allows arbitrary users to register " +"arbitrary names. The key of this authority is included with every GNUnet " +"installation. Thus, any name registered with FCFS is in fact global and " +"requires no further introduction. However, the security of these names " +"depends entirely on the trustworthiness of the FCFS authority. The authority " +"can be queried under the ".ping" TLD." +msgstr "" + +#: template/faq.html.j2:327 +msgid "" +"How can a legitimate domain owner tell other people to not use his name in " +"GNS?" +msgstr "" + +#: template/faq.html.j2:329 +msgid "" +"A: Names have no owners in GNS, so there cannot be a "legitimate" " +"domain owner. Any user can claim any name (as his preferred name or "" +"pseudonym") in his NICK record. Similarly, all other users can choose " +"to ignore this preference and use a name of their choice (or even assign no " +"name) for this user." +msgstr "" + +#: template/faq.html.j2:340 +msgid "" +"Did you consider the privacy implications of making your personal GNS zone " +"visible?" +msgstr "" + +#: template/faq.html.j2:342 +msgid "" +"A: Each record in GNS has a flag "private". Records are shared " +"with other users (via DHT or zone transfers) only if this flag is not set. " +"Thus, users have full control over what information about their zones is " +"made public." +msgstr "" + +#: template/faq.html.j2:352 +msgid "Are \"Legacy Host\" (LEHO) records not going to be obsolete with IPv6?" +msgstr "" + +#: template/faq.html.j2:354 +msgid "" +"A: The question presumes that (a) virtual hosting is only necessary because " +"of IPv4 address scarcity, and (b) that LEHOs are only useful in the context " +"of virtual hosting. However, LEHOs are also useful to help with X.509 " +"certificate validation (as they specify for which legacy hostname the " +"certificate should be valid). Also, even with IPv6 fully deployed and "" +"infinite" IP addresses being available, we're not sure that virtual " +"hosting would disappear. Finally, we don't want to have to wait for IPv6 to " +"become commonplace, GNS should work with today's networks." +msgstr "" + +#: template/faq.html.j2:368 +msgid "" +"Why does GNS not use a trust metric or consensus to determine globally " +"unique names?" +msgstr "" + +#: template/faq.html.j2:370 +msgid "" +"A: Trust metrics have the fundamental problem that they have thresholds. As " +"trust relationships evolve, mappings would change their meaning as they " +"cross each others thresholds. We decided that the resulting unpredictability " +"of the resolution process was not acceptable. Furthermore, trust and " +"consensus might be easy to manipulate by adversaries." +msgstr "" + +#: template/faq.html.j2:381 +msgid "How do you handle compromised zone keys in GNS?" +msgstr "" + +#: template/faq.html.j2:383 +msgid "" +"A: The owner of a private key can create a revocation message. This one can " +"then be flooded throughout the overlay network, creating a copy at all " +"peers. Before using a public key, peers check if that key has been revoked. " +"All names that involve delegation via a revoked zone will then fail to " +"resolve. Peers always automatically check for the existence of a revocation " +"message when resolving names." +msgstr "" + +#: template/faq.html.j2:395 +msgid "Could the signing algorithm of GNS be upgraded in the future?" +msgstr "" + +#: template/faq.html.j2:397 +msgid "" +"A: Yes. In our efforts to standardize GNS, we have already modified the " +"protocol to support alternative delegation records.

          Naturally, " +"deployed GNS implementations would have to be updated to support the new " +"signature scheme. The new scheme can then be run in parallel with the " +"existing system by using a new record type to indicate the use of a " +"different cipher system." +msgstr "" + +#: template/faq.html.j2:411 +msgid "" +"How can a GNS zone maintain several name servers, e.g. for load balancing?" +msgstr "" + +#: template/faq.html.j2:413 +msgid "" +"A: We don't expect this to be necessary, as GNS records are stored (and " +"replicated) in the R5N DHT. Thus the authority will typically not be " +"contacted whenever clients perform a lookup. Even if the authority goes " +"(temporarily) off-line, the DHT will cache the records for some time. " +"However, should having multiple servers for a zone be considered truly " +"necessary, the owner of the zone can simply run multiple peers (and share " +"the zone's key and database among them)." +msgstr "" + +#: template/faq.html.j2:426 +msgid "" +"Why do you believe it is worth giving up unique names for censorship " +"resistance?" +msgstr "" + +#: template/faq.html.j2:428 +msgid "" +"A: The GNU Name system offers an alternative to DNS that is censorship " +"resistant. As with any security mechanism, this comes at a cost (names are " +"not globally unique). To draw a parallel, HTTPS connections use more " +"bandwidth and have higher latency than HTTP connections. Depending on your " +"application, HTTPS may not be worth the cost. However, for users that are " +"experiencing censorship (or are concerned about it), giving up globally " +"unique names may very well be worth the cost. After all, what is a "" +"globally" unique name worth, if it does not resolve?" +msgstr "" + +#: template/faq.html.j2:442 +msgid "Why do you say that DNS is 'centralized' and 'distributed'?" +msgstr "" + +#: template/faq.html.j2:444 +msgid "" +"A: We say that DNS is 'centralized' because it has a central component / " +"central point of failure --- the root zone and its management by IANA/ICANN. " +"This centralization creates vulnerabilities. For example, the US government " +"was able to reassign the management of the country-TLDs of Afganistan and " +"Iraq during the wars at the beginning of the 21st century." +msgstr "" + +#: template/faq.html.j2:455 +msgid "How does GNS protect against layer-3 censorship?" +msgstr "" + +#: template/faq.html.j2:457 +msgid "" +"A: GNS does not directly help with layer-3 censorship, but it does help " +"indirectly in two ways:
          1. Many websites today use virtual hosting, " +"so blocking a particular IP address causes much more collateral damage than " +"blocking a DNS name. It thus raises the cost of censorship.
          2. " +"Existing layer-3 circumvention solutions (such as Tor) would benefit from a " +"censorship resistant naming system. Accessing Tor's ".onion" " +"namespace currently requires users to use unmemorable cryptographic " +"identifiers. With nicer names, Tor and tor2web-like services would be even " +"easier to use.
          " +msgstr "" + +#: template/faq.html.j2:476 +msgid "Does GNS work with search engines?" +msgstr "" + +#: template/faq.html.j2:478 +msgid "" +"A: GNS creates no significant problems for search engines, as they can use " +"GNS to perform name resolution as well as any normal user. Naturally, while " +"we typically expect normal users to install custom software for name " +"resolution, this is unlikely to work for search engines today. However, the " +"DNS2GNS gateway allows search engines to use DNS to resolve GNS names, so " +"they can still index GNS resources. However, as using DNS2GNS gateways " +"breaks the cryptographic chain of trust, legacy search engines will " +"obviously not obtain censorship-resistant names." +msgstr "" + +#: template/faq.html.j2:492 +msgid "How does GNS compare to the Unmanaged Internet Architecture (UIA)?" +msgstr "" + +#: template/faq.html.j2:494 +msgid "" +"A: UIA and GNS both share the same basic naming model, which actually " +"originated with Rivest's SDSI. However, UIA is not concerned about " +"integration with legacy applications and instead focuses on universal " +"connectivity between a user's many machines. In contrast, GNS was designed " +"to interoperate with DNS as much as possible, and to also work as much as " +"possible with the existing Web infrastructure. UIA is not at all concerned " +"about legacy systems (clean slate)." +msgstr "" + +#: template/faq.html.j2:507 +msgid "Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?" +msgstr "" + +#: template/faq.html.j2:509 +msgid "" +"A: First of all, in GNS you can explicitly see the trust chain, so you know " +"if a name you are resolving belongs to a friend, or a friend-of-a-friend, " +"and can thus decide how much you trust the result. Naturally, the trusted-" +"computing base (TCB) can become arbitrarily large this way --- however, " +"given the name length restriction, for an individual name it is always less " +"than about 128 entities." +msgstr "" + +#: template/faq.html.j2:521 +msgid "" +"How does GNS handle SRV/TLSA records where service and protocol are part of " +"the domain name?" +msgstr "" + +#: template/faq.html.j2:523 +msgid "" +"A: When GNS splits a domain name into labels for resolution, it detects the " +""_Service._Proto" syntax, converts "Service" to the " +"corresponding port number and "Proto" to the corresponding " +"protocol number. The rest of the name is resolved as usual. Then, when the " +"result is presented, GNS looks for the GNS-specific "BOX" record " +"type. A BOX record is a record that contains another record (such as SRV or " +"TLSA records) and adds a service and protocol number (and the original boxed " +"record type) to it." +msgstr "" + +#: template/faq.html.j2:541 msgid "" "I receive many "WARNING Calculated flow delay for X at Y for Z". " "Should I worry?" @@ -1059,7 +1560,7 @@ msgstr "" "Recibo muchas " WARNING Retardo de flujo calculado para X en Y para " "Z". ¿Debería preocuparme?" -#: template/faq.html.j2:37 +#: template/faq.html.j2:543 msgid "" "A: Right now, this is expected and a known cause for high latency in GNUnet. " "We have started a major rewrite to address this and other problems, but " @@ -1071,18 +1572,39 @@ msgstr "" "este y otros problemas, pero hasta que el Transport Next Generation (TNG) " "esté listo, estas advertencias seguirán ocurriendo." -#: template/faq.html.j2:46 -msgid "Is there a graphical user interface?" -msgstr "¿Existe una interfaz gráfica de usuario?" +#: template/faq.html.j2:552 +msgid "Error opening `/dev/net/tun': No such file or directory?" +msgstr "" -#: template/faq.html.j2:48 +#: template/faq.html.j2:554 msgid "" -"A: gnunet-gtk is a separate download. The package contains various GTK+ " -"based graphical interfaces, including a graphical tool for configuration." +"A: If you get this error message, the solution is simple. Issue the " +"following commands (as root) to create the required device file" +msgstr "" + +#: template/faq.html.j2:566 +msgid "" +"'iptables: No chain/target/match by that name.' (when running gnunet-service-" +"dns)?" +msgstr "" + +#: template/faq.html.j2:568 +msgid "" +"A: For GNUnet DNS, your iptables needs to have "owner" match " +"support. This is accomplished by having the correct kernel options. Check if " +"your kernel has CONFIG_NETFILTER_XT_MATCH_OWNER set to either 'y' or " +"'m' (and the module is loaded)." +msgstr "" + +#: template/faq.html.j2:580 +msgid "'Timeout was reached' when running PT on Fedora (and possibly others)?" +msgstr "" + +#: template/faq.html.j2:582 +msgid "" +"A: If you get an error stating that the VPN timeout was reached, check if " +"your firewall is enabled and blocking the connections." msgstr "" -"R: gnunet-gtk es una descarga separada. El paquete contiene varias " -"interfaces gráficas basadas en GTK +, incluida una herramienta gráfica para " -"la configuración." #: template/glossary.html.j2:12 msgid "Ego" @@ -1198,10 +1720,6 @@ msgstr "" msgid "Overview" msgstr "" -#: template/gns.html.j2:37 -msgid "Features" -msgstr "" - #: template/gns.html.j2:39 msgid "" "The GNU Name System (GNS) is secure and decentralized naming system. It " diff --git a/locale/fr/LC_MESSAGES/messages.po b/locale/fr/LC_MESSAGES/messages.po index e9e7597d..eaef6db4 100644 --- a/locale/fr/LC_MESSAGES/messages.po +++ b/locale/fr/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-03 21:41+0100\n" +"POT-Creation-Date: 2021-03-12 12:43+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -64,6 +64,7 @@ msgid "About" msgstr "" #: common/navigation.j2.inc:39 news/index.html.j2:8 +#: news/oldnews-2011.html.j2:13 news/oldnews-2013.html.j2:13 #: news/oldnews-2018.html.j2:13 news/oldnews-2019.html.j2:13 msgid "News" msgstr "" @@ -156,17 +157,20 @@ msgstr "" msgid "FAQ" msgstr "" -#: news/index.html.j2:11 news/oldnews-2018.html.j2:16 +#: news/index.html.j2:11 news/oldnews-2011.html.j2:16 +#: news/oldnews-2013.html.j2:16 news/oldnews-2018.html.j2:16 #: news/oldnews-2019.html.j2:16 msgid "News posts about changes related to GNUnet such as releases and events" msgstr "" -#: news/index.html.j2:16 news/oldnews-2018.html.j2:21 +#: news/index.html.j2:16 news/oldnews-2011.html.j2:21 +#: news/oldnews-2013.html.j2:21 news/oldnews-2018.html.j2:21 #: news/oldnews-2019.html.j2:21 msgid "subscribe to our RSS feed" msgstr "" -#: news/index.html.j2:36 news/oldnews-2018.html.j2:40 +#: news/index.html.j2:36 news/oldnews-2011.html.j2:40 +#: news/oldnews-2013.html.j2:40 news/oldnews-2018.html.j2:40 #: news/oldnews-2019.html.j2:40 msgid "read more" msgstr "" @@ -779,11 +783,123 @@ msgid "" "
          DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)
          " msgstr "" -#: template/faq.html.j2:12 +#: template/faq.html.j2:12 template/faq.html.j2:21 +msgid "General" +msgstr "" + +#: template/faq.html.j2:13 template/faq.html.j2:146 template/gns.html.j2:37 +msgid "Features" +msgstr "" + +#: template/faq.html.j2:15 template/faq.html.j2:539 +msgid "Error messages" +msgstr "" + +#: template/faq.html.j2:24 +msgid "What do I do if my question is not answered here?" +msgstr "" + +#: template/faq.html.j2:26 +msgid "" +"A: There are many other sources of information. You can read additional " +"documentation or ask the question on the help-gnunet@gnu.org mailing list or " +"the #gnunet IRC on irc.freenode.net." +msgstr "" + +#: template/faq.html.j2:34 +msgid "When are you going to release the next version?" +msgstr "" + +#: template/faq.html.j2:36 +msgid "" +"A: The general answer is, when it is ready. A better answer may be: earlier " +"if you contribute (test, debug, code, document). Every release will be " +"anounced on the info-gnunet@gnu.org mailing list and on planet GNU. You can subscribe to the mailing list or " +"the RSS feed of this site to automatically receive a notification." +msgstr "" + +#: template/faq.html.j2:47 +msgid "Is the code free?" +msgstr "" + +#: template/faq.html.j2:49 +msgid "" +"A: GNUnet is free software, available under the GNU Affero Public License (AGPL)." +msgstr "" + +#: template/faq.html.j2:56 +msgid "Are there any known bugs?" +msgstr "" + +#: template/faq.html.j2:58 +msgid "" +"A: We track the list of currently known bugs in the Mantis system. Some bugs are occasionally reported " +"directly to developers or the developer mailing list. This is discouraged " +"since developers often do not have the time to feed these bugs back into the " +"Mantis database. Please report bugs directly to the bug tracking system. If " +"you believe a bug is sensitive, you can set its view status to private (this " +"should be the exception)." +msgstr "" + +#: template/faq.html.j2:71 +msgid "Is there a graphical user interface?" +msgstr "" + +#: template/faq.html.j2:73 +msgid "" +"A: gnunet-gtk is a separate download. The package contains various GTK+ " +"based graphical interfaces, including a graphical tool for configuration." +msgstr "" + +#: template/faq.html.j2:81 +msgid "Why does gnunet-service-nse create a high CPU load?" +msgstr "" + +#: template/faq.html.j2:83 +msgid "" +"A: The gnunet-service-nse process will initially compute a so-called "" +"proof-of-work" which is used to convince the network that your peer is " +"real (or, rather, make it expensive for an adversary to mount a Sybil attack " +"on the network size estimator). The calculation is expected to take a few " +"days, depending on how fast your CPU is. If the CPU load is creating a " +"problem for you, you can set the value "WORKDELAY" in the "" +"nse" section of your configuration file to a higher value. The default " +"is "5 ms"." +msgstr "" + +#: template/faq.html.j2:97 +msgid "How does GNUnet compare to Tor?" +msgstr "" + +#: template/faq.html.j2:99 +msgid "" +"A: Tor focuses on anonymous communication and censorship-resistance for TCP " +"connections and, with the Tor Browser Bundle, for the Web in particular. " +"GNUnet does not really have one focus; our theme is secure decentralized " +"networking, but that is too broad to be called a focus." +msgstr "" + +#: template/faq.html.j2:109 +msgid "How does GNUnet compare to I2P?" +msgstr "" + +#: template/faq.html.j2:111 +msgid "" +"A: Both GNUnet and I2P want to build a better, more secure, more " +"decentralized Internet. However, on the technical side, there are almost no " +"overlaps.

          I2P is written in Java, and has (asymmetric) tunnels " +"using onion (or garlic) routing as the basis for various (anonymized) " +"applications. I2P is largely used via a Web frontend." +msgstr "" + +#: template/faq.html.j2:122 msgid "Is GNUnet ready for use on production systems?" msgstr "" -#: template/faq.html.j2:14 +#: template/faq.html.j2:124 msgid "" "A: GNUnet is still undergoing major development. It is largely not yet ready " "for usage beyond developers. Your mileage will vary depending on the " @@ -792,24 +908,404 @@ msgid "" "rewriting it (Project "Transport Next Generation [TNG]")" msgstr "" -#: template/faq.html.j2:24 +#: template/faq.html.j2:134 msgid "Is GNUnet build using distributed ledger technologies?" msgstr "" -#: template/faq.html.j2:26 +#: template/faq.html.j2:136 msgid "" "A: No. GNUnet is a new network protocol stack for building secure, " "distributed, and privacy-preserving applications. While a ledger could be " "built using GNUnet, we currently have no plans in doing so." msgstr "" -#: template/faq.html.j2:35 +#: template/faq.html.j2:148 +msgid "What can I do with GNUnet?" +msgstr "" + +#: template/faq.html.j2:150 +msgid "" +"A: GNUnet is a peer-to-peer framework, by which we mostly mean that it can " +"do more than just one thing. Naturally, the implementation and documentation " +"of some of the features that exist are more advanced than others." +msgstr "" + +#: template/faq.html.j2:157 +msgid "" +"For users, GNUnet offers anonymous and non-anonymous file-sharing, a fully " +"decentralized and censorship-resistant replacement for DNS and a mechanism " +"for IPv4-IPv6 protocol translation and tunneling (NAT-PT with DNS-ALG)." +msgstr "" + +#: template/faq.html.j2:171 +msgid "Who runs the GNS root zone?" +msgstr "" + +#: template/faq.html.j2:173 +msgid "" +"A: Short answer: you. The long answer is the GNUnet will ship with a default " +"configuration of top-level domains. The governance of this default " +"configuration is not yet established. In any case, the user will be able to " +"modify this configuration at will. We expect normal users to have no need to " +"edit their own GNS zone(s) unless they host services themselves." +msgstr "" + +#: template/faq.html.j2:184 +msgid "Where is the per-user GNS database kept?" +msgstr "" + +#: template/faq.html.j2:186 +msgid "" +"A: The short answer is that the database is kept at the user's GNUnet peer. " +"Now, a user may run multiple GNUnet peers, in which case the database could " +"be kept at each peer (however, we don't have code for convenient " +"replication). Similarly, multiple GNUnet peers can share one instance of the " +"database --- the "gnunet-service-namestore" can be accessed from " +"remote (via TCP). The actual data can be stored in a Postgres database, for " +"which various replication options are again applicable. Ultimately, there " +"are many options for how users can store (and secure) their GNS database." +msgstr "" + +#: template/faq.html.j2:201 +msgid "What is the expected average size of a GNS namestore database?" +msgstr "" + +#: template/faq.html.j2:203 +msgid "" +"A: Pretty small. Based on our user study where we looked at browser " +"histories and the number of domains visited, we expect that GNS databases " +"will only grow to a few tens of thousands of entries, small enough to fit " +"even on mobile devices." +msgstr "" + +#: template/faq.html.j2:213 +msgid "Is GNS resistant to the attacks on DNS used by the US?" +msgstr "" + +#: template/faq.html.j2:215 +msgid "" +"A: We believe so, as there is no entity that any government could force to " +"change the mapping for a name except for each individual user (and then the " +"changes would only apply to the names that this user is the authority for). " +"So if everyone used GNS, the only practical attack of a government would be " +"to force the operator of a server to change the GNS records for his server " +"to point elsewhere. However, if the owner of the private key for a zone is " +"unavailable for enforcement, the respective zone cannot be changed and any " +"other zone delegating to this zone will achieve proper resolution." +msgstr "" + +#: template/faq.html.j2:229 +msgid "What is the difference between GNS and CoDoNS?" +msgstr "" + +#: template/faq.html.j2:231 +msgid "" +"A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the " +"authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, and " +"there are still registrars that determine who owns a name.

          With " +"GNS, we decentralize the database and also decentralize the responsibility " +"for naming: each user runs his own personal root zone and is thus in " +"complete control of the names he uses. GNS also has many additional features " +"(to keep names short and enable migration) which don't even make sense in " +"the context of CoDoNS." +msgstr "" + +#: template/faq.html.j2:247 +msgid "What is the difference between GNS and SocialDNS?" +msgstr "" + +#: template/faq.html.j2:249 +msgid "" +"A: Like GNS, SocialDNS allows each user to create DNS mappings. However, " +"with SocialDNS the mappings are shared through the social network and " +"subjected to ranking. As the social relationships evolve, names can thus " +"change in surprising ways.

          With GNS, names are primarily shared via " +"delegation, and thus mappings will only change if the user responsible for " +"the name (the authority) manually changes the record." +msgstr "" + +#: template/faq.html.j2:263 +msgid "What is the difference between GNS and ODDNS?" +msgstr "" + +#: template/faq.html.j2:265 +msgid "" +"A: ODDNS is primarily designed to bypass the DNS root zone and the TLD " +"registries (such as those for \".com\" and \".org\"). Instead of using " +"those, each user is expected to maintain a database of (second-level) " +"domains (like \"gnu.org\") and the IP addresses of the respective name " +"servers. Resolution will fail if the target name servers change IPs." +msgstr "" + +#: template/faq.html.j2:276 +msgid "What is the difference between GNS and Namecoin?" +msgstr "" + +#: template/faq.html.j2:283 +msgid "What is the difference between GNS and Handshake?" +msgstr "" + +#: template/faq.html.j2:289 +msgid "What is the difference between GNS and ENS?" +msgstr "" + +#: template/faq.html.j2:295 +msgid "What is the difference between GNS and TrickleDNS?" +msgstr "" + +#: template/faq.html.j2:297 +msgid "" +"A: TrickleDNS pushes ("critical") DNS records between DNS " +"resolvers of participating domains to provide "better availability, " +"lower query resolution times, and faster update propagation". Thus " +"TrickleDNS is focused on defeating attacks on the availability (and " +"performance) of record propagation in DNS, for example via DDoS attacks on " +"DNS root servers. TrickleDNS is thus concerned with how to ensure " +"distribution of authoritative records, and authority remains derived from " +"the DNS hierarchy." +msgstr "" + +#: template/faq.html.j2:310 +msgid "" +"Does GNS require real-world introduction (secure PKEY exchange) in the style " +"of the PGP web of trust?" +msgstr "" + +#: template/faq.html.j2:312 +msgid "" +"A: For security, it is well known that an initial trust path between the two " +"parties must exist. However, for applications where this is not required, " +"weaker mechanisms can be used. For example, we have implemented a first-come-" +"first-served (FCFS) authority which allows arbitrary users to register " +"arbitrary names. The key of this authority is included with every GNUnet " +"installation. Thus, any name registered with FCFS is in fact global and " +"requires no further introduction. However, the security of these names " +"depends entirely on the trustworthiness of the FCFS authority. The authority " +"can be queried under the ".ping" TLD." +msgstr "" + +#: template/faq.html.j2:327 +msgid "" +"How can a legitimate domain owner tell other people to not use his name in " +"GNS?" +msgstr "" + +#: template/faq.html.j2:329 +msgid "" +"A: Names have no owners in GNS, so there cannot be a "legitimate" " +"domain owner. Any user can claim any name (as his preferred name or "" +"pseudonym") in his NICK record. Similarly, all other users can choose " +"to ignore this preference and use a name of their choice (or even assign no " +"name) for this user." +msgstr "" + +#: template/faq.html.j2:340 +msgid "" +"Did you consider the privacy implications of making your personal GNS zone " +"visible?" +msgstr "" + +#: template/faq.html.j2:342 +msgid "" +"A: Each record in GNS has a flag "private". Records are shared " +"with other users (via DHT or zone transfers) only if this flag is not set. " +"Thus, users have full control over what information about their zones is " +"made public." +msgstr "" + +#: template/faq.html.j2:352 +msgid "Are \"Legacy Host\" (LEHO) records not going to be obsolete with IPv6?" +msgstr "" + +#: template/faq.html.j2:354 +msgid "" +"A: The question presumes that (a) virtual hosting is only necessary because " +"of IPv4 address scarcity, and (b) that LEHOs are only useful in the context " +"of virtual hosting. However, LEHOs are also useful to help with X.509 " +"certificate validation (as they specify for which legacy hostname the " +"certificate should be valid). Also, even with IPv6 fully deployed and "" +"infinite" IP addresses being available, we're not sure that virtual " +"hosting would disappear. Finally, we don't want to have to wait for IPv6 to " +"become commonplace, GNS should work with today's networks." +msgstr "" + +#: template/faq.html.j2:368 +msgid "" +"Why does GNS not use a trust metric or consensus to determine globally " +"unique names?" +msgstr "" + +#: template/faq.html.j2:370 +msgid "" +"A: Trust metrics have the fundamental problem that they have thresholds. As " +"trust relationships evolve, mappings would change their meaning as they " +"cross each others thresholds. We decided that the resulting unpredictability " +"of the resolution process was not acceptable. Furthermore, trust and " +"consensus might be easy to manipulate by adversaries." +msgstr "" + +#: template/faq.html.j2:381 +msgid "How do you handle compromised zone keys in GNS?" +msgstr "" + +#: template/faq.html.j2:383 +msgid "" +"A: The owner of a private key can create a revocation message. This one can " +"then be flooded throughout the overlay network, creating a copy at all " +"peers. Before using a public key, peers check if that key has been revoked. " +"All names that involve delegation via a revoked zone will then fail to " +"resolve. Peers always automatically check for the existence of a revocation " +"message when resolving names." +msgstr "" + +#: template/faq.html.j2:395 +msgid "Could the signing algorithm of GNS be upgraded in the future?" +msgstr "" + +#: template/faq.html.j2:397 +msgid "" +"A: Yes. In our efforts to standardize GNS, we have already modified the " +"protocol to support alternative delegation records.

          Naturally, " +"deployed GNS implementations would have to be updated to support the new " +"signature scheme. The new scheme can then be run in parallel with the " +"existing system by using a new record type to indicate the use of a " +"different cipher system." +msgstr "" + +#: template/faq.html.j2:411 +msgid "" +"How can a GNS zone maintain several name servers, e.g. for load balancing?" +msgstr "" + +#: template/faq.html.j2:413 +msgid "" +"A: We don't expect this to be necessary, as GNS records are stored (and " +"replicated) in the R5N DHT. Thus the authority will typically not be " +"contacted whenever clients perform a lookup. Even if the authority goes " +"(temporarily) off-line, the DHT will cache the records for some time. " +"However, should having multiple servers for a zone be considered truly " +"necessary, the owner of the zone can simply run multiple peers (and share " +"the zone's key and database among them)." +msgstr "" + +#: template/faq.html.j2:426 +msgid "" +"Why do you believe it is worth giving up unique names for censorship " +"resistance?" +msgstr "" + +#: template/faq.html.j2:428 +msgid "" +"A: The GNU Name system offers an alternative to DNS that is censorship " +"resistant. As with any security mechanism, this comes at a cost (names are " +"not globally unique). To draw a parallel, HTTPS connections use more " +"bandwidth and have higher latency than HTTP connections. Depending on your " +"application, HTTPS may not be worth the cost. However, for users that are " +"experiencing censorship (or are concerned about it), giving up globally " +"unique names may very well be worth the cost. After all, what is a "" +"globally" unique name worth, if it does not resolve?" +msgstr "" + +#: template/faq.html.j2:442 +msgid "Why do you say that DNS is 'centralized' and 'distributed'?" +msgstr "" + +#: template/faq.html.j2:444 +msgid "" +"A: We say that DNS is 'centralized' because it has a central component / " +"central point of failure --- the root zone and its management by IANA/ICANN. " +"This centralization creates vulnerabilities. For example, the US government " +"was able to reassign the management of the country-TLDs of Afganistan and " +"Iraq during the wars at the beginning of the 21st century." +msgstr "" + +#: template/faq.html.j2:455 +msgid "How does GNS protect against layer-3 censorship?" +msgstr "" + +#: template/faq.html.j2:457 +msgid "" +"A: GNS does not directly help with layer-3 censorship, but it does help " +"indirectly in two ways:
          1. Many websites today use virtual hosting, " +"so blocking a particular IP address causes much more collateral damage than " +"blocking a DNS name. It thus raises the cost of censorship.
          2. " +"Existing layer-3 circumvention solutions (such as Tor) would benefit from a " +"censorship resistant naming system. Accessing Tor's ".onion" " +"namespace currently requires users to use unmemorable cryptographic " +"identifiers. With nicer names, Tor and tor2web-like services would be even " +"easier to use.
          " +msgstr "" + +#: template/faq.html.j2:476 +msgid "Does GNS work with search engines?" +msgstr "" + +#: template/faq.html.j2:478 +msgid "" +"A: GNS creates no significant problems for search engines, as they can use " +"GNS to perform name resolution as well as any normal user. Naturally, while " +"we typically expect normal users to install custom software for name " +"resolution, this is unlikely to work for search engines today. However, the " +"DNS2GNS gateway allows search engines to use DNS to resolve GNS names, so " +"they can still index GNS resources. However, as using DNS2GNS gateways " +"breaks the cryptographic chain of trust, legacy search engines will " +"obviously not obtain censorship-resistant names." +msgstr "" + +#: template/faq.html.j2:492 +msgid "How does GNS compare to the Unmanaged Internet Architecture (UIA)?" +msgstr "" + +#: template/faq.html.j2:494 +msgid "" +"A: UIA and GNS both share the same basic naming model, which actually " +"originated with Rivest's SDSI. However, UIA is not concerned about " +"integration with legacy applications and instead focuses on universal " +"connectivity between a user's many machines. In contrast, GNS was designed " +"to interoperate with DNS as much as possible, and to also work as much as " +"possible with the existing Web infrastructure. UIA is not at all concerned " +"about legacy systems (clean slate)." +msgstr "" + +#: template/faq.html.j2:507 +msgid "Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?" +msgstr "" + +#: template/faq.html.j2:509 +msgid "" +"A: First of all, in GNS you can explicitly see the trust chain, so you know " +"if a name you are resolving belongs to a friend, or a friend-of-a-friend, " +"and can thus decide how much you trust the result. Naturally, the trusted-" +"computing base (TCB) can become arbitrarily large this way --- however, " +"given the name length restriction, for an individual name it is always less " +"than about 128 entities." +msgstr "" + +#: template/faq.html.j2:521 +msgid "" +"How does GNS handle SRV/TLSA records where service and protocol are part of " +"the domain name?" +msgstr "" + +#: template/faq.html.j2:523 +msgid "" +"A: When GNS splits a domain name into labels for resolution, it detects the " +""_Service._Proto" syntax, converts "Service" to the " +"corresponding port number and "Proto" to the corresponding " +"protocol number. The rest of the name is resolved as usual. Then, when the " +"result is presented, GNS looks for the GNS-specific "BOX" record " +"type. A BOX record is a record that contains another record (such as SRV or " +"TLSA records) and adds a service and protocol number (and the original boxed " +"record type) to it." +msgstr "" + +#: template/faq.html.j2:541 msgid "" "I receive many "WARNING Calculated flow delay for X at Y for Z". " "Should I worry?" msgstr "" -#: template/faq.html.j2:37 +#: template/faq.html.j2:543 msgid "" "A: Right now, this is expected and a known cause for high latency in GNUnet. " "We have started a major rewrite to address this and other problems, but " @@ -817,14 +1313,38 @@ msgid "" "expected." msgstr "" -#: template/faq.html.j2:46 -msgid "Is there a graphical user interface?" +#: template/faq.html.j2:552 +msgid "Error opening `/dev/net/tun': No such file or directory?" msgstr "" -#: template/faq.html.j2:48 +#: template/faq.html.j2:554 msgid "" -"A: gnunet-gtk is a separate download. The package contains various GTK+ " -"based graphical interfaces, including a graphical tool for configuration." +"A: If you get this error message, the solution is simple. Issue the " +"following commands (as root) to create the required device file" +msgstr "" + +#: template/faq.html.j2:566 +msgid "" +"'iptables: No chain/target/match by that name.' (when running gnunet-service-" +"dns)?" +msgstr "" + +#: template/faq.html.j2:568 +msgid "" +"A: For GNUnet DNS, your iptables needs to have "owner" match " +"support. This is accomplished by having the correct kernel options. Check if " +"your kernel has CONFIG_NETFILTER_XT_MATCH_OWNER set to either 'y' or " +"'m' (and the module is loaded)." +msgstr "" + +#: template/faq.html.j2:580 +msgid "'Timeout was reached' when running PT on Fedora (and possibly others)?" +msgstr "" + +#: template/faq.html.j2:582 +msgid "" +"A: If you get an error stating that the VPN timeout was reached, check if " +"your firewall is enabled and blocking the connections." msgstr "" #: template/glossary.html.j2:12 @@ -931,10 +1451,6 @@ msgstr "" msgid "Overview" msgstr "" -#: template/gns.html.j2:37 -msgid "Features" -msgstr "" - #: template/gns.html.j2:39 msgid "" "The GNU Name System (GNS) is secure and decentralized naming system. It " diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index dc4f31e9..c22c09b4 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -7,11 +7,11 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-03 21:41+0100\n" +"POT-Creation-Date: 2021-03-12 12:43+0100\n" "PO-Revision-Date: 2021-03-09 18:35+0000\n" "Last-Translator: Sabino Miani \n" -"Language-Team: Italian " -"\n" +"Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -66,6 +66,7 @@ msgid "About" msgstr "Per quanto riguarda" #: common/navigation.j2.inc:39 news/index.html.j2:8 +#: news/oldnews-2011.html.j2:13 news/oldnews-2013.html.j2:13 #: news/oldnews-2018.html.j2:13 news/oldnews-2019.html.j2:13 msgid "News" msgstr "Notizia" @@ -158,19 +159,22 @@ msgstr "REST API" msgid "FAQ" msgstr "Domande Frequenti" -#: news/index.html.j2:11 news/oldnews-2018.html.j2:16 +#: news/index.html.j2:11 news/oldnews-2011.html.j2:16 +#: news/oldnews-2013.html.j2:16 news/oldnews-2018.html.j2:16 #: news/oldnews-2019.html.j2:16 msgid "News posts about changes related to GNUnet such as releases and events" msgstr "" "Annunci di notizie legate ai cambiamenti di GNUnet come comunicati stampa ed " "eventi" -#: news/index.html.j2:16 news/oldnews-2018.html.j2:21 +#: news/index.html.j2:16 news/oldnews-2011.html.j2:21 +#: news/oldnews-2013.html.j2:21 news/oldnews-2018.html.j2:21 #: news/oldnews-2019.html.j2:21 msgid "subscribe to our RSS feed" msgstr "Fai la sottoscrizione alla nostra bacheca RSS" -#: news/index.html.j2:36 news/oldnews-2018.html.j2:40 +#: news/index.html.j2:36 news/oldnews-2011.html.j2:40 +#: news/oldnews-2013.html.j2:40 news/oldnews-2018.html.j2:40 #: news/oldnews-2019.html.j2:40 msgid "read more" msgstr "Per saperne di più" @@ -227,8 +231,8 @@ msgstr "" "ostili presenti nella rete. \n" "Inoltre, l'internet dei giorni nostri si è evoluto al punto che, come " "sottolineato da Matthew Green, \n" -"\"la rete è ostile\"." +"\"la rete è ostile\"." #: template/about.html.j2:41 msgid "" @@ -294,7 +298,8 @@ msgstr "" #: template/about.html.j2:64 msgid "GNUnet must be open and permit new peers to join." -msgstr "GNUnet deve essere aperto e lasciare che nuovi colleghi possano unirsi." +msgstr "" +"GNUnet deve essere aperto e lasciare che nuovi colleghi possano unirsi." #: template/about.html.j2:65 msgid "GNUnet must support a diverse range of applications and devices." @@ -366,9 +371,9 @@ msgstr "" "Esistono molte più risorse che permettono di conoscere GNUnet oltre che il " "manuale, " "abbiamo labibliografia con fogli che " -"coprono i vari strati, moltivideoo un breve glossario." +"coprono i vari strati, moltivideoo un breve glossario." #: template/about.html.j2:95 msgid "" @@ -379,8 +384,8 @@ msgid "" msgstr "" "Sei sempre il benvenuto quando si tratta di " "affrontare conversazioni, installare GNUnet, utilizzarlo e contribuire ed impegnarsi in svariati modi." +"a>, utilizzarlo e contribuire ed impegnarsi in svariati modi." #: template/about.html.j2:100 msgid "" @@ -905,11 +910,123 @@ msgid "" "
          DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)
          " msgstr "" -#: template/faq.html.j2:12 +#: template/faq.html.j2:12 template/faq.html.j2:21 +msgid "General" +msgstr "" + +#: template/faq.html.j2:13 template/faq.html.j2:146 template/gns.html.j2:37 +msgid "Features" +msgstr "" + +#: template/faq.html.j2:15 template/faq.html.j2:539 +msgid "Error messages" +msgstr "" + +#: template/faq.html.j2:24 +msgid "What do I do if my question is not answered here?" +msgstr "" + +#: template/faq.html.j2:26 +msgid "" +"A: There are many other sources of information. You can read additional " +"documentation or ask the question on the help-gnunet@gnu.org mailing list or " +"the #gnunet IRC on irc.freenode.net." +msgstr "" + +#: template/faq.html.j2:34 +msgid "When are you going to release the next version?" +msgstr "" + +#: template/faq.html.j2:36 +msgid "" +"A: The general answer is, when it is ready. A better answer may be: earlier " +"if you contribute (test, debug, code, document). Every release will be " +"anounced on the info-gnunet@gnu.org mailing list and on planet GNU. You can subscribe to the mailing list or " +"the RSS feed of this site to automatically receive a notification." +msgstr "" + +#: template/faq.html.j2:47 +msgid "Is the code free?" +msgstr "" + +#: template/faq.html.j2:49 +msgid "" +"A: GNUnet is free software, available under the GNU Affero Public License (AGPL)." +msgstr "" + +#: template/faq.html.j2:56 +msgid "Are there any known bugs?" +msgstr "" + +#: template/faq.html.j2:58 +msgid "" +"A: We track the list of currently known bugs in the Mantis system. Some bugs are occasionally reported " +"directly to developers or the developer mailing list. This is discouraged " +"since developers often do not have the time to feed these bugs back into the " +"Mantis database. Please report bugs directly to the bug tracking system. If " +"you believe a bug is sensitive, you can set its view status to private (this " +"should be the exception)." +msgstr "" + +#: template/faq.html.j2:71 +msgid "Is there a graphical user interface?" +msgstr "" + +#: template/faq.html.j2:73 +msgid "" +"A: gnunet-gtk is a separate download. The package contains various GTK+ " +"based graphical interfaces, including a graphical tool for configuration." +msgstr "" + +#: template/faq.html.j2:81 +msgid "Why does gnunet-service-nse create a high CPU load?" +msgstr "" + +#: template/faq.html.j2:83 +msgid "" +"A: The gnunet-service-nse process will initially compute a so-called "" +"proof-of-work" which is used to convince the network that your peer is " +"real (or, rather, make it expensive for an adversary to mount a Sybil attack " +"on the network size estimator). The calculation is expected to take a few " +"days, depending on how fast your CPU is. If the CPU load is creating a " +"problem for you, you can set the value "WORKDELAY" in the "" +"nse" section of your configuration file to a higher value. The default " +"is "5 ms"." +msgstr "" + +#: template/faq.html.j2:97 +msgid "How does GNUnet compare to Tor?" +msgstr "" + +#: template/faq.html.j2:99 +msgid "" +"A: Tor focuses on anonymous communication and censorship-resistance for TCP " +"connections and, with the Tor Browser Bundle, for the Web in particular. " +"GNUnet does not really have one focus; our theme is secure decentralized " +"networking, but that is too broad to be called a focus." +msgstr "" + +#: template/faq.html.j2:109 +msgid "How does GNUnet compare to I2P?" +msgstr "" + +#: template/faq.html.j2:111 +msgid "" +"A: Both GNUnet and I2P want to build a better, more secure, more " +"decentralized Internet. However, on the technical side, there are almost no " +"overlaps.

          I2P is written in Java, and has (asymmetric) tunnels " +"using onion (or garlic) routing as the basis for various (anonymized) " +"applications. I2P is largely used via a Web frontend." +msgstr "" + +#: template/faq.html.j2:122 msgid "Is GNUnet ready for use on production systems?" msgstr "" -#: template/faq.html.j2:14 +#: template/faq.html.j2:124 msgid "" "A: GNUnet is still undergoing major development. It is largely not yet ready " "for usage beyond developers. Your mileage will vary depending on the " @@ -918,24 +1035,406 @@ msgid "" "rewriting it (Project "Transport Next Generation [TNG]")" msgstr "" -#: template/faq.html.j2:24 +#: template/faq.html.j2:134 msgid "Is GNUnet build using distributed ledger technologies?" msgstr "" -#: template/faq.html.j2:26 +#: template/faq.html.j2:136 msgid "" "A: No. GNUnet is a new network protocol stack for building secure, " "distributed, and privacy-preserving applications. While a ledger could be " "built using GNUnet, we currently have no plans in doing so." msgstr "" -#: template/faq.html.j2:35 +#: template/faq.html.j2:148 +#, fuzzy +#| msgid "What is GNUnet?" +msgid "What can I do with GNUnet?" +msgstr "Cos'è GNUnet?" + +#: template/faq.html.j2:150 +msgid "" +"A: GNUnet is a peer-to-peer framework, by which we mostly mean that it can " +"do more than just one thing. Naturally, the implementation and documentation " +"of some of the features that exist are more advanced than others." +msgstr "" + +#: template/faq.html.j2:157 +msgid "" +"For users, GNUnet offers anonymous and non-anonymous file-sharing, a fully " +"decentralized and censorship-resistant replacement for DNS and a mechanism " +"for IPv4-IPv6 protocol translation and tunneling (NAT-PT with DNS-ALG)." +msgstr "" + +#: template/faq.html.j2:171 +msgid "Who runs the GNS root zone?" +msgstr "" + +#: template/faq.html.j2:173 +msgid "" +"A: Short answer: you. The long answer is the GNUnet will ship with a default " +"configuration of top-level domains. The governance of this default " +"configuration is not yet established. In any case, the user will be able to " +"modify this configuration at will. We expect normal users to have no need to " +"edit their own GNS zone(s) unless they host services themselves." +msgstr "" + +#: template/faq.html.j2:184 +msgid "Where is the per-user GNS database kept?" +msgstr "" + +#: template/faq.html.j2:186 +msgid "" +"A: The short answer is that the database is kept at the user's GNUnet peer. " +"Now, a user may run multiple GNUnet peers, in which case the database could " +"be kept at each peer (however, we don't have code for convenient " +"replication). Similarly, multiple GNUnet peers can share one instance of the " +"database --- the "gnunet-service-namestore" can be accessed from " +"remote (via TCP). The actual data can be stored in a Postgres database, for " +"which various replication options are again applicable. Ultimately, there " +"are many options for how users can store (and secure) their GNS database." +msgstr "" + +#: template/faq.html.j2:201 +msgid "What is the expected average size of a GNS namestore database?" +msgstr "" + +#: template/faq.html.j2:203 +msgid "" +"A: Pretty small. Based on our user study where we looked at browser " +"histories and the number of domains visited, we expect that GNS databases " +"will only grow to a few tens of thousands of entries, small enough to fit " +"even on mobile devices." +msgstr "" + +#: template/faq.html.j2:213 +msgid "Is GNS resistant to the attacks on DNS used by the US?" +msgstr "" + +#: template/faq.html.j2:215 +msgid "" +"A: We believe so, as there is no entity that any government could force to " +"change the mapping for a name except for each individual user (and then the " +"changes would only apply to the names that this user is the authority for). " +"So if everyone used GNS, the only practical attack of a government would be " +"to force the operator of a server to change the GNS records for his server " +"to point elsewhere. However, if the owner of the private key for a zone is " +"unavailable for enforcement, the respective zone cannot be changed and any " +"other zone delegating to this zone will achieve proper resolution." +msgstr "" + +#: template/faq.html.j2:229 +msgid "What is the difference between GNS and CoDoNS?" +msgstr "" + +#: template/faq.html.j2:231 +msgid "" +"A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the " +"authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, and " +"there are still registrars that determine who owns a name.

          With " +"GNS, we decentralize the database and also decentralize the responsibility " +"for naming: each user runs his own personal root zone and is thus in " +"complete control of the names he uses. GNS also has many additional features " +"(to keep names short and enable migration) which don't even make sense in " +"the context of CoDoNS." +msgstr "" + +#: template/faq.html.j2:247 +msgid "What is the difference between GNS and SocialDNS?" +msgstr "" + +#: template/faq.html.j2:249 +msgid "" +"A: Like GNS, SocialDNS allows each user to create DNS mappings. However, " +"with SocialDNS the mappings are shared through the social network and " +"subjected to ranking. As the social relationships evolve, names can thus " +"change in surprising ways.

          With GNS, names are primarily shared via " +"delegation, and thus mappings will only change if the user responsible for " +"the name (the authority) manually changes the record." +msgstr "" + +#: template/faq.html.j2:263 +msgid "What is the difference between GNS and ODDNS?" +msgstr "" + +#: template/faq.html.j2:265 +msgid "" +"A: ODDNS is primarily designed to bypass the DNS root zone and the TLD " +"registries (such as those for \".com\" and \".org\"). Instead of using " +"those, each user is expected to maintain a database of (second-level) " +"domains (like \"gnu.org\") and the IP addresses of the respective name " +"servers. Resolution will fail if the target name servers change IPs." +msgstr "" + +#: template/faq.html.j2:276 +msgid "What is the difference between GNS and Namecoin?" +msgstr "" + +#: template/faq.html.j2:283 +msgid "What is the difference between GNS and Handshake?" +msgstr "" + +#: template/faq.html.j2:289 +msgid "What is the difference between GNS and ENS?" +msgstr "" + +#: template/faq.html.j2:295 +msgid "What is the difference between GNS and TrickleDNS?" +msgstr "" + +#: template/faq.html.j2:297 +msgid "" +"A: TrickleDNS pushes ("critical") DNS records between DNS " +"resolvers of participating domains to provide "better availability, " +"lower query resolution times, and faster update propagation". Thus " +"TrickleDNS is focused on defeating attacks on the availability (and " +"performance) of record propagation in DNS, for example via DDoS attacks on " +"DNS root servers. TrickleDNS is thus concerned with how to ensure " +"distribution of authoritative records, and authority remains derived from " +"the DNS hierarchy." +msgstr "" + +#: template/faq.html.j2:310 +msgid "" +"Does GNS require real-world introduction (secure PKEY exchange) in the style " +"of the PGP web of trust?" +msgstr "" + +#: template/faq.html.j2:312 +msgid "" +"A: For security, it is well known that an initial trust path between the two " +"parties must exist. However, for applications where this is not required, " +"weaker mechanisms can be used. For example, we have implemented a first-come-" +"first-served (FCFS) authority which allows arbitrary users to register " +"arbitrary names. The key of this authority is included with every GNUnet " +"installation. Thus, any name registered with FCFS is in fact global and " +"requires no further introduction. However, the security of these names " +"depends entirely on the trustworthiness of the FCFS authority. The authority " +"can be queried under the ".ping" TLD." +msgstr "" + +#: template/faq.html.j2:327 +msgid "" +"How can a legitimate domain owner tell other people to not use his name in " +"GNS?" +msgstr "" + +#: template/faq.html.j2:329 +msgid "" +"A: Names have no owners in GNS, so there cannot be a "legitimate" " +"domain owner. Any user can claim any name (as his preferred name or "" +"pseudonym") in his NICK record. Similarly, all other users can choose " +"to ignore this preference and use a name of their choice (or even assign no " +"name) for this user." +msgstr "" + +#: template/faq.html.j2:340 +msgid "" +"Did you consider the privacy implications of making your personal GNS zone " +"visible?" +msgstr "" + +#: template/faq.html.j2:342 +msgid "" +"A: Each record in GNS has a flag "private". Records are shared " +"with other users (via DHT or zone transfers) only if this flag is not set. " +"Thus, users have full control over what information about their zones is " +"made public." +msgstr "" + +#: template/faq.html.j2:352 +msgid "Are \"Legacy Host\" (LEHO) records not going to be obsolete with IPv6?" +msgstr "" + +#: template/faq.html.j2:354 +msgid "" +"A: The question presumes that (a) virtual hosting is only necessary because " +"of IPv4 address scarcity, and (b) that LEHOs are only useful in the context " +"of virtual hosting. However, LEHOs are also useful to help with X.509 " +"certificate validation (as they specify for which legacy hostname the " +"certificate should be valid). Also, even with IPv6 fully deployed and "" +"infinite" IP addresses being available, we're not sure that virtual " +"hosting would disappear. Finally, we don't want to have to wait for IPv6 to " +"become commonplace, GNS should work with today's networks." +msgstr "" + +#: template/faq.html.j2:368 +msgid "" +"Why does GNS not use a trust metric or consensus to determine globally " +"unique names?" +msgstr "" + +#: template/faq.html.j2:370 +msgid "" +"A: Trust metrics have the fundamental problem that they have thresholds. As " +"trust relationships evolve, mappings would change their meaning as they " +"cross each others thresholds. We decided that the resulting unpredictability " +"of the resolution process was not acceptable. Furthermore, trust and " +"consensus might be easy to manipulate by adversaries." +msgstr "" + +#: template/faq.html.j2:381 +msgid "How do you handle compromised zone keys in GNS?" +msgstr "" + +#: template/faq.html.j2:383 +msgid "" +"A: The owner of a private key can create a revocation message. This one can " +"then be flooded throughout the overlay network, creating a copy at all " +"peers. Before using a public key, peers check if that key has been revoked. " +"All names that involve delegation via a revoked zone will then fail to " +"resolve. Peers always automatically check for the existence of a revocation " +"message when resolving names." +msgstr "" + +#: template/faq.html.j2:395 +msgid "Could the signing algorithm of GNS be upgraded in the future?" +msgstr "" + +#: template/faq.html.j2:397 +msgid "" +"A: Yes. In our efforts to standardize GNS, we have already modified the " +"protocol to support alternative delegation records.

          Naturally, " +"deployed GNS implementations would have to be updated to support the new " +"signature scheme. The new scheme can then be run in parallel with the " +"existing system by using a new record type to indicate the use of a " +"different cipher system." +msgstr "" + +#: template/faq.html.j2:411 +msgid "" +"How can a GNS zone maintain several name servers, e.g. for load balancing?" +msgstr "" + +#: template/faq.html.j2:413 +msgid "" +"A: We don't expect this to be necessary, as GNS records are stored (and " +"replicated) in the R5N DHT. Thus the authority will typically not be " +"contacted whenever clients perform a lookup. Even if the authority goes " +"(temporarily) off-line, the DHT will cache the records for some time. " +"However, should having multiple servers for a zone be considered truly " +"necessary, the owner of the zone can simply run multiple peers (and share " +"the zone's key and database among them)." +msgstr "" + +#: template/faq.html.j2:426 +msgid "" +"Why do you believe it is worth giving up unique names for censorship " +"resistance?" +msgstr "" + +#: template/faq.html.j2:428 +msgid "" +"A: The GNU Name system offers an alternative to DNS that is censorship " +"resistant. As with any security mechanism, this comes at a cost (names are " +"not globally unique). To draw a parallel, HTTPS connections use more " +"bandwidth and have higher latency than HTTP connections. Depending on your " +"application, HTTPS may not be worth the cost. However, for users that are " +"experiencing censorship (or are concerned about it), giving up globally " +"unique names may very well be worth the cost. After all, what is a "" +"globally" unique name worth, if it does not resolve?" +msgstr "" + +#: template/faq.html.j2:442 +msgid "Why do you say that DNS is 'centralized' and 'distributed'?" +msgstr "" + +#: template/faq.html.j2:444 +msgid "" +"A: We say that DNS is 'centralized' because it has a central component / " +"central point of failure --- the root zone and its management by IANA/ICANN. " +"This centralization creates vulnerabilities. For example, the US government " +"was able to reassign the management of the country-TLDs of Afganistan and " +"Iraq during the wars at the beginning of the 21st century." +msgstr "" + +#: template/faq.html.j2:455 +msgid "How does GNS protect against layer-3 censorship?" +msgstr "" + +#: template/faq.html.j2:457 +msgid "" +"A: GNS does not directly help with layer-3 censorship, but it does help " +"indirectly in two ways:
          1. Many websites today use virtual hosting, " +"so blocking a particular IP address causes much more collateral damage than " +"blocking a DNS name. It thus raises the cost of censorship.
          2. " +"Existing layer-3 circumvention solutions (such as Tor) would benefit from a " +"censorship resistant naming system. Accessing Tor's ".onion" " +"namespace currently requires users to use unmemorable cryptographic " +"identifiers. With nicer names, Tor and tor2web-like services would be even " +"easier to use.
          " +msgstr "" + +#: template/faq.html.j2:476 +msgid "Does GNS work with search engines?" +msgstr "" + +#: template/faq.html.j2:478 +msgid "" +"A: GNS creates no significant problems for search engines, as they can use " +"GNS to perform name resolution as well as any normal user. Naturally, while " +"we typically expect normal users to install custom software for name " +"resolution, this is unlikely to work for search engines today. However, the " +"DNS2GNS gateway allows search engines to use DNS to resolve GNS names, so " +"they can still index GNS resources. However, as using DNS2GNS gateways " +"breaks the cryptographic chain of trust, legacy search engines will " +"obviously not obtain censorship-resistant names." +msgstr "" + +#: template/faq.html.j2:492 +msgid "How does GNS compare to the Unmanaged Internet Architecture (UIA)?" +msgstr "" + +#: template/faq.html.j2:494 +msgid "" +"A: UIA and GNS both share the same basic naming model, which actually " +"originated with Rivest's SDSI. However, UIA is not concerned about " +"integration with legacy applications and instead focuses on universal " +"connectivity between a user's many machines. In contrast, GNS was designed " +"to interoperate with DNS as much as possible, and to also work as much as " +"possible with the existing Web infrastructure. UIA is not at all concerned " +"about legacy systems (clean slate)." +msgstr "" + +#: template/faq.html.j2:507 +msgid "Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?" +msgstr "" + +#: template/faq.html.j2:509 +msgid "" +"A: First of all, in GNS you can explicitly see the trust chain, so you know " +"if a name you are resolving belongs to a friend, or a friend-of-a-friend, " +"and can thus decide how much you trust the result. Naturally, the trusted-" +"computing base (TCB) can become arbitrarily large this way --- however, " +"given the name length restriction, for an individual name it is always less " +"than about 128 entities." +msgstr "" + +#: template/faq.html.j2:521 +msgid "" +"How does GNS handle SRV/TLSA records where service and protocol are part of " +"the domain name?" +msgstr "" + +#: template/faq.html.j2:523 +msgid "" +"A: When GNS splits a domain name into labels for resolution, it detects the " +""_Service._Proto" syntax, converts "Service" to the " +"corresponding port number and "Proto" to the corresponding " +"protocol number. The rest of the name is resolved as usual. Then, when the " +"result is presented, GNS looks for the GNS-specific "BOX" record " +"type. A BOX record is a record that contains another record (such as SRV or " +"TLSA records) and adds a service and protocol number (and the original boxed " +"record type) to it." +msgstr "" + +#: template/faq.html.j2:541 msgid "" "I receive many "WARNING Calculated flow delay for X at Y for Z". " "Should I worry?" msgstr "" -#: template/faq.html.j2:37 +#: template/faq.html.j2:543 msgid "" "A: Right now, this is expected and a known cause for high latency in GNUnet. " "We have started a major rewrite to address this and other problems, but " @@ -943,14 +1442,38 @@ msgid "" "expected." msgstr "" -#: template/faq.html.j2:46 -msgid "Is there a graphical user interface?" +#: template/faq.html.j2:552 +msgid "Error opening `/dev/net/tun': No such file or directory?" msgstr "" -#: template/faq.html.j2:48 +#: template/faq.html.j2:554 msgid "" -"A: gnunet-gtk is a separate download. The package contains various GTK+ " -"based graphical interfaces, including a graphical tool for configuration." +"A: If you get this error message, the solution is simple. Issue the " +"following commands (as root) to create the required device file" +msgstr "" + +#: template/faq.html.j2:566 +msgid "" +"'iptables: No chain/target/match by that name.' (when running gnunet-service-" +"dns)?" +msgstr "" + +#: template/faq.html.j2:568 +msgid "" +"A: For GNUnet DNS, your iptables needs to have "owner" match " +"support. This is accomplished by having the correct kernel options. Check if " +"your kernel has CONFIG_NETFILTER_XT_MATCH_OWNER set to either 'y' or " +"'m' (and the module is loaded)." +msgstr "" + +#: template/faq.html.j2:580 +msgid "'Timeout was reached' when running PT on Fedora (and possibly others)?" +msgstr "" + +#: template/faq.html.j2:582 +msgid "" +"A: If you get an error stating that the VPN timeout was reached, check if " +"your firewall is enabled and blocking the connections." msgstr "" #: template/glossary.html.j2:12 @@ -1057,10 +1580,6 @@ msgstr "" msgid "Overview" msgstr "" -#: template/gns.html.j2:37 -msgid "Features" -msgstr "" - #: template/gns.html.j2:39 msgid "" "The GNU Name System (GNS) is secure and decentralized naming system. It " diff --git a/locale/messages.pot b/locale/messages.pot index c129e8f2..4b2a70b6 100644 --- a/locale/messages.pot +++ b/locale/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-03 21:41+0100\n" +"POT-Creation-Date: 2021-03-12 12:43+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -63,6 +63,7 @@ msgid "About" msgstr "" #: common/navigation.j2.inc:39 news/index.html.j2:8 +#: news/oldnews-2011.html.j2:13 news/oldnews-2013.html.j2:13 #: news/oldnews-2018.html.j2:13 news/oldnews-2019.html.j2:13 msgid "News" msgstr "" @@ -155,17 +156,20 @@ msgstr "" msgid "FAQ" msgstr "" -#: news/index.html.j2:11 news/oldnews-2018.html.j2:16 +#: news/index.html.j2:11 news/oldnews-2011.html.j2:16 +#: news/oldnews-2013.html.j2:16 news/oldnews-2018.html.j2:16 #: news/oldnews-2019.html.j2:16 msgid "News posts about changes related to GNUnet such as releases and events" msgstr "" -#: news/index.html.j2:16 news/oldnews-2018.html.j2:21 +#: news/index.html.j2:16 news/oldnews-2011.html.j2:21 +#: news/oldnews-2013.html.j2:21 news/oldnews-2018.html.j2:21 #: news/oldnews-2019.html.j2:21 msgid "subscribe to our RSS feed" msgstr "" -#: news/index.html.j2:36 news/oldnews-2018.html.j2:40 +#: news/index.html.j2:36 news/oldnews-2011.html.j2:40 +#: news/oldnews-2013.html.j2:40 news/oldnews-2018.html.j2:40 #: news/oldnews-2019.html.j2:40 msgid "read more" msgstr "" @@ -792,11 +796,125 @@ msgid "" "
          DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)
          " msgstr "" -#: template/faq.html.j2:12 +#: template/faq.html.j2:12 template/faq.html.j2:21 +msgid "General" +msgstr "" + +#: template/faq.html.j2:13 template/faq.html.j2:146 template/gns.html.j2:37 +msgid "Features" +msgstr "" + +#: template/faq.html.j2:15 template/faq.html.j2:539 +msgid "Error messages" +msgstr "" + +#: template/faq.html.j2:24 +msgid "What do I do if my question is not answered here?" +msgstr "" + +#: template/faq.html.j2:26 +msgid "" +"A: There are many other sources of information. You can read additional " +"documentation or ask the question on the help-gnunet@gnu.org mailing list" +" or the #gnunet IRC on irc.freenode.net." +msgstr "" + +#: template/faq.html.j2:34 +msgid "When are you going to release the next version?" +msgstr "" + +#: template/faq.html.j2:36 +msgid "" +"A: The general answer is, when it is ready. A better answer may be: " +"earlier if you contribute (test, debug, code, document). Every release " +"will be anounced on the info-gnunet@gnu.org mailing list and on planet GNU. You can subscribe to the " +"mailing list or the RSS feed of this site to automatically receive a " +"notification." +msgstr "" + +#: template/faq.html.j2:47 +msgid "Is the code free?" +msgstr "" + +#: template/faq.html.j2:49 +msgid "" +"A: GNUnet is free software, available under the GNU Affero Public " +"License (AGPL)." +msgstr "" + +#: template/faq.html.j2:56 +msgid "Are there any known bugs?" +msgstr "" + +#: template/faq.html.j2:58 +msgid "" +"A: We track the list of currently known bugs in the Mantis system. Some bugs are " +"occasionally reported directly to developers or the developer mailing " +"list. This is discouraged since developers often do not have the time to " +"feed these bugs back into the Mantis database. Please report bugs " +"directly to the bug tracking system. If you believe a bug is sensitive, " +"you can set its view status to private (this should be the exception)." +msgstr "" + +#: template/faq.html.j2:71 +msgid "Is there a graphical user interface?" +msgstr "" + +#: template/faq.html.j2:73 +msgid "" +"A: gnunet-gtk is a separate download. The package contains various GTK+ " +"based graphical interfaces, including a graphical tool for configuration." +msgstr "" + +#: template/faq.html.j2:81 +msgid "Why does gnunet-service-nse create a high CPU load?" +msgstr "" + +#: template/faq.html.j2:83 +msgid "" +"A: The gnunet-service-nse process will initially compute a so-called " +""proof-of-work" which is used to convince the network that your" +" peer is real (or, rather, make it expensive for an adversary to mount a " +"Sybil attack on the network size estimator). The calculation is expected " +"to take a few days, depending on how fast your CPU is. If the CPU load is" +" creating a problem for you, you can set the value "WORKDELAY" " +"in the "nse" section of your configuration file to a higher " +"value. The default is "5 ms"." +msgstr "" + +#: template/faq.html.j2:97 +msgid "How does GNUnet compare to Tor?" +msgstr "" + +#: template/faq.html.j2:99 +msgid "" +"A: Tor focuses on anonymous communication and censorship-resistance for " +"TCP connections and, with the Tor Browser Bundle, for the Web in " +"particular. GNUnet does not really have one focus; our theme is secure " +"decentralized networking, but that is too broad to be called a focus." +msgstr "" + +#: template/faq.html.j2:109 +msgid "How does GNUnet compare to I2P?" +msgstr "" + +#: template/faq.html.j2:111 +msgid "" +"A: Both GNUnet and I2P want to build a better, more secure, more " +"decentralized Internet. However, on the technical side, there are almost " +"no overlaps.

          I2P is written in Java, and has (asymmetric) " +"tunnels using onion (or garlic) routing as the basis for various " +"(anonymized) applications. I2P is largely used via a Web frontend." +msgstr "" + +#: template/faq.html.j2:122 msgid "Is GNUnet ready for use on production systems?" msgstr "" -#: template/faq.html.j2:14 +#: template/faq.html.j2:124 msgid "" "A: GNUnet is still undergoing major development. It is largely not yet " "ready for usage beyond developers. Your mileage will vary depending on " @@ -806,24 +924,411 @@ msgid "" "[TNG]")" msgstr "" -#: template/faq.html.j2:24 +#: template/faq.html.j2:134 msgid "Is GNUnet build using distributed ledger technologies?" msgstr "" -#: template/faq.html.j2:26 +#: template/faq.html.j2:136 msgid "" "A: No. GNUnet is a new network protocol stack for building secure, " "distributed, and privacy-preserving applications. While a ledger could be" " built using GNUnet, we currently have no plans in doing so." msgstr "" -#: template/faq.html.j2:35 +#: template/faq.html.j2:148 +msgid "What can I do with GNUnet?" +msgstr "" + +#: template/faq.html.j2:150 +msgid "" +"A: GNUnet is a peer-to-peer framework, by which we mostly mean that it " +"can do more than just one thing. Naturally, the implementation and " +"documentation of some of the features that exist are more advanced than " +"others." +msgstr "" + +#: template/faq.html.j2:157 +msgid "" +"For users, GNUnet offers anonymous and non-anonymous file-sharing, a " +"fully decentralized and censorship-resistant replacement for DNS and a " +"mechanism for IPv4-IPv6 protocol translation and tunneling (NAT-PT with " +"DNS-ALG)." +msgstr "" + +#: template/faq.html.j2:171 +msgid "Who runs the GNS root zone?" +msgstr "" + +#: template/faq.html.j2:173 +msgid "" +"A: Short answer: you. The long answer is the GNUnet will ship with a " +"default configuration of top-level domains. The governance of this " +"default configuration is not yet established. In any case, the user will " +"be able to modify this configuration at will. We expect normal users to " +"have no need to edit their own GNS zone(s) unless they host services " +"themselves." +msgstr "" + +#: template/faq.html.j2:184 +msgid "Where is the per-user GNS database kept?" +msgstr "" + +#: template/faq.html.j2:186 +msgid "" +"A: The short answer is that the database is kept at the user's GNUnet " +"peer. Now, a user may run multiple GNUnet peers, in which case the " +"database could be kept at each peer (however, we don't have code for " +"convenient replication). Similarly, multiple GNUnet peers can share one " +"instance of the database --- the "gnunet-service-namestore" can" +" be accessed from remote (via TCP). The actual data can be stored in a " +"Postgres database, for which various replication options are again " +"applicable. Ultimately, there are many options for how users can store " +"(and secure) their GNS database." +msgstr "" + +#: template/faq.html.j2:201 +msgid "What is the expected average size of a GNS namestore database?" +msgstr "" + +#: template/faq.html.j2:203 +msgid "" +"A: Pretty small. Based on our user study where we looked at browser " +"histories and the number of domains visited, we expect that GNS databases" +" will only grow to a few tens of thousands of entries, small enough to " +"fit even on mobile devices." +msgstr "" + +#: template/faq.html.j2:213 +msgid "Is GNS resistant to the attacks on DNS used by the US?" +msgstr "" + +#: template/faq.html.j2:215 +msgid "" +"A: We believe so, as there is no entity that any government could force " +"to change the mapping for a name except for each individual user (and " +"then the changes would only apply to the names that this user is the " +"authority for). So if everyone used GNS, the only practical attack of a " +"government would be to force the operator of a server to change the GNS " +"records for his server to point elsewhere. However, if the owner of the " +"private key for a zone is unavailable for enforcement, the respective " +"zone cannot be changed and any other zone delegating to this zone will " +"achieve proper resolution." +msgstr "" + +#: template/faq.html.j2:229 +msgid "What is the difference between GNS and CoDoNS?" +msgstr "" + +#: template/faq.html.j2:231 +msgid "" +"A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the " +"authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, " +"and there are still registrars that determine who owns a name.

          " +"With GNS, we decentralize the database and also decentralize the " +"responsibility for naming: each user runs his own personal root zone and " +"is thus in complete control of the names he uses. GNS also has many " +"additional features (to keep names short and enable migration) which " +"don't even make sense in the context of CoDoNS." +msgstr "" + +#: template/faq.html.j2:247 +msgid "What is the difference between GNS and SocialDNS?" +msgstr "" + +#: template/faq.html.j2:249 +msgid "" +"A: Like GNS, SocialDNS allows each user to create DNS mappings. However, " +"with SocialDNS the mappings are shared through the social network and " +"subjected to ranking. As the social relationships evolve, names can thus " +"change in surprising ways.

          With GNS, names are primarily shared " +"via delegation, and thus mappings will only change if the user " +"responsible for the name (the authority) manually changes the record." +msgstr "" + +#: template/faq.html.j2:263 +msgid "What is the difference between GNS and ODDNS?" +msgstr "" + +#: template/faq.html.j2:265 +msgid "" +"A: ODDNS is primarily designed to bypass the DNS root zone and the TLD " +"registries (such as those for \".com\" and \".org\"). Instead of using " +"those, each user is expected to maintain a database of (second-level) " +"domains (like \"gnu.org\") and the IP addresses of the respective name " +"servers. Resolution will fail if the target name servers change IPs." +msgstr "" + +#: template/faq.html.j2:276 +msgid "What is the difference between GNS and Namecoin?" +msgstr "" + +#: template/faq.html.j2:283 +msgid "What is the difference between GNS and Handshake?" +msgstr "" + +#: template/faq.html.j2:289 +msgid "What is the difference between GNS and ENS?" +msgstr "" + +#: template/faq.html.j2:295 +msgid "What is the difference between GNS and TrickleDNS?" +msgstr "" + +#: template/faq.html.j2:297 +msgid "" +"A: TrickleDNS pushes ("critical") DNS records between DNS " +"resolvers of participating domains to provide "better availability, " +"lower query resolution times, and faster update propagation". Thus " +"TrickleDNS is focused on defeating attacks on the availability (and " +"performance) of record propagation in DNS, for example via DDoS attacks " +"on DNS root servers. TrickleDNS is thus concerned with how to ensure " +"distribution of authoritative records, and authority remains derived from" +" the DNS hierarchy." +msgstr "" + +#: template/faq.html.j2:310 +msgid "" +"Does GNS require real-world introduction (secure PKEY exchange) in the " +"style of the PGP web of trust?" +msgstr "" + +#: template/faq.html.j2:312 +msgid "" +"A: For security, it is well known that an initial trust path between the " +"two parties must exist. However, for applications where this is not " +"required, weaker mechanisms can be used. For example, we have implemented" +" a first-come-first-served (FCFS) authority which allows arbitrary users " +"to register arbitrary names. The key of this authority is included with " +"every GNUnet installation. Thus, any name registered with FCFS is in fact" +" global and requires no further introduction. However, the security of " +"these names depends entirely on the trustworthiness of the FCFS " +"authority. The authority can be queried under the ".ping" TLD." +msgstr "" + +#: template/faq.html.j2:327 +msgid "" +"How can a legitimate domain owner tell other people to not use his name " +"in GNS?" +msgstr "" + +#: template/faq.html.j2:329 +msgid "" +"A: Names have no owners in GNS, so there cannot be a " +""legitimate" domain owner. Any user can claim any name (as his " +"preferred name or "pseudonym") in his NICK record. Similarly, " +"all other users can choose to ignore this preference and use a name of " +"their choice (or even assign no name) for this user." +msgstr "" + +#: template/faq.html.j2:340 +msgid "" +"Did you consider the privacy implications of making your personal GNS " +"zone visible?" +msgstr "" + +#: template/faq.html.j2:342 +msgid "" +"A: Each record in GNS has a flag "private". Records are shared " +"with other users (via DHT or zone transfers) only if this flag is not " +"set. Thus, users have full control over what information about their " +"zones is made public." +msgstr "" + +#: template/faq.html.j2:352 +msgid "Are \"Legacy Host\" (LEHO) records not going to be obsolete with IPv6?" +msgstr "" + +#: template/faq.html.j2:354 +msgid "" +"A: The question presumes that (a) virtual hosting is only necessary " +"because of IPv4 address scarcity, and (b) that LEHOs are only useful in " +"the context of virtual hosting. However, LEHOs are also useful to help " +"with X.509 certificate validation (as they specify for which legacy " +"hostname the certificate should be valid). Also, even with IPv6 fully " +"deployed and "infinite" IP addresses being available, we're not" +" sure that virtual hosting would disappear. Finally, we don't want to " +"have to wait for IPv6 to become commonplace, GNS should work with today's" +" networks." +msgstr "" + +#: template/faq.html.j2:368 +msgid "" +"Why does GNS not use a trust metric or consensus to determine globally " +"unique names?" +msgstr "" + +#: template/faq.html.j2:370 +msgid "" +"A: Trust metrics have the fundamental problem that they have thresholds. " +"As trust relationships evolve, mappings would change their meaning as " +"they cross each others thresholds. We decided that the resulting " +"unpredictability of the resolution process was not acceptable. " +"Furthermore, trust and consensus might be easy to manipulate by " +"adversaries." +msgstr "" + +#: template/faq.html.j2:381 +msgid "How do you handle compromised zone keys in GNS?" +msgstr "" + +#: template/faq.html.j2:383 +msgid "" +"A: The owner of a private key can create a revocation message. This one " +"can then be flooded throughout the overlay network, creating a copy at " +"all peers. Before using a public key, peers check if that key has been " +"revoked. All names that involve delegation via a revoked zone will then " +"fail to resolve. Peers always automatically check for the existence of a " +"revocation message when resolving names." +msgstr "" + +#: template/faq.html.j2:395 +msgid "Could the signing algorithm of GNS be upgraded in the future?" +msgstr "" + +#: template/faq.html.j2:397 +msgid "" +"A: Yes. In our efforts to standardize GNS, we have already modified the " +"protocol to support alternative delegation records.

          Naturally, " +"deployed GNS implementations would have to be updated to support the new " +"signature scheme. The new scheme can then be run in parallel with the " +"existing system by using a new record type to indicate the use of a " +"different cipher system." +msgstr "" + +#: template/faq.html.j2:411 +msgid "How can a GNS zone maintain several name servers, e.g. for load balancing?" +msgstr "" + +#: template/faq.html.j2:413 +msgid "" +"A: We don't expect this to be necessary, as GNS records are stored (and " +"replicated) in the R5N DHT. Thus the authority will typically not be " +"contacted whenever clients perform a lookup. Even if the authority goes " +"(temporarily) off-line, the DHT will cache the records for some time. " +"However, should having multiple servers for a zone be considered truly " +"necessary, the owner of the zone can simply run multiple peers (and share" +" the zone's key and database among them)." +msgstr "" + +#: template/faq.html.j2:426 +msgid "" +"Why do you believe it is worth giving up unique names for censorship " +"resistance?" +msgstr "" + +#: template/faq.html.j2:428 +msgid "" +"A: The GNU Name system offers an alternative to DNS that is censorship " +"resistant. As with any security mechanism, this comes at a cost (names " +"are not globally unique). To draw a parallel, HTTPS connections use more " +"bandwidth and have higher latency than HTTP connections. Depending on " +"your application, HTTPS may not be worth the cost. However, for users " +"that are experiencing censorship (or are concerned about it), giving up " +"globally unique names may very well be worth the cost. After all, what is" +" a "globally" unique name worth, if it does not resolve?" +msgstr "" + +#: template/faq.html.j2:442 +msgid "Why do you say that DNS is 'centralized' and 'distributed'?" +msgstr "" + +#: template/faq.html.j2:444 +msgid "" +"A: We say that DNS is 'centralized' because it has a central component / " +"central point of failure --- the root zone and its management by " +"IANA/ICANN. This centralization creates vulnerabilities. For example, the" +" US government was able to reassign the management of the country-TLDs of" +" Afganistan and Iraq during the wars at the beginning of the 21st " +"century." +msgstr "" + +#: template/faq.html.j2:455 +msgid "How does GNS protect against layer-3 censorship?" +msgstr "" + +#: template/faq.html.j2:457 +msgid "" +"A: GNS does not directly help with layer-3 censorship, but it does help " +"indirectly in two ways:
          1. Many websites today use virtual " +"hosting, so blocking a particular IP address causes much more collateral " +"damage than blocking a DNS name. It thus raises the cost of " +"censorship.
          2. Existing layer-3 circumvention solutions (such as " +"Tor) would benefit from a censorship resistant naming system. Accessing " +"Tor's ".onion" namespace currently requires users to use " +"unmemorable cryptographic identifiers. With nicer names, Tor and tor2web-" +"like services would be even easier to use.
          " +msgstr "" + +#: template/faq.html.j2:476 +msgid "Does GNS work with search engines?" +msgstr "" + +#: template/faq.html.j2:478 +msgid "" +"A: GNS creates no significant problems for search engines, as they can " +"use GNS to perform name resolution as well as any normal user. Naturally," +" while we typically expect normal users to install custom software for " +"name resolution, this is unlikely to work for search engines today. " +"However, the DNS2GNS gateway allows search engines to use DNS to resolve " +"GNS names, so they can still index GNS resources. However, as using " +"DNS2GNS gateways breaks the cryptographic chain of trust, legacy search " +"engines will obviously not obtain censorship-resistant names." +msgstr "" + +#: template/faq.html.j2:492 +msgid "How does GNS compare to the Unmanaged Internet Architecture (UIA)?" +msgstr "" + +#: template/faq.html.j2:494 +msgid "" +"A: UIA and GNS both share the same basic naming model, which actually " +"originated with Rivest's SDSI. However, UIA is not concerned about " +"integration with legacy applications and instead focuses on universal " +"connectivity between a user's many machines. In contrast, GNS was " +"designed to interoperate with DNS as much as possible, and to also work " +"as much as possible with the existing Web infrastructure. UIA is not at " +"all concerned about legacy systems (clean slate)." +msgstr "" + +#: template/faq.html.j2:507 +msgid "Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?" +msgstr "" + +#: template/faq.html.j2:509 +msgid "" +"A: First of all, in GNS you can explicitly see the trust chain, so you " +"know if a name you are resolving belongs to a friend, or a friend-" +"of-a-friend, and can thus decide how much you trust the result. " +"Naturally, the trusted-computing base (TCB) can become arbitrarily large " +"this way --- however, given the name length restriction, for an " +"individual name it is always less than about 128 entities." +msgstr "" + +#: template/faq.html.j2:521 +msgid "" +"How does GNS handle SRV/TLSA records where service and protocol are part " +"of the domain name?" +msgstr "" + +#: template/faq.html.j2:523 +msgid "" +"A: When GNS splits a domain name into labels for resolution, it detects " +"the "_Service._Proto" syntax, converts "Service" to " +"the corresponding port number and "Proto" to the corresponding " +"protocol number. The rest of the name is resolved as usual. Then, when " +"the result is presented, GNS looks for the GNS-specific "BOX" " +"record type. A BOX record is a record that contains another record (such " +"as SRV or TLSA records) and adds a service and protocol number (and the " +"original boxed record type) to it." +msgstr "" + +#: template/faq.html.j2:541 msgid "" "I receive many "WARNING Calculated flow delay for X at Y for " "Z". Should I worry?" msgstr "" -#: template/faq.html.j2:37 +#: template/faq.html.j2:543 msgid "" "A: Right now, this is expected and a known cause for high latency in " "GNUnet. We have started a major rewrite to address this and other " @@ -831,14 +1336,38 @@ msgid "" "warnings are expected." msgstr "" -#: template/faq.html.j2:46 -msgid "Is there a graphical user interface?" +#: template/faq.html.j2:552 +msgid "Error opening `/dev/net/tun': No such file or directory?" msgstr "" -#: template/faq.html.j2:48 +#: template/faq.html.j2:554 msgid "" -"A: gnunet-gtk is a separate download. The package contains various GTK+ " -"based graphical interfaces, including a graphical tool for configuration." +"A: If you get this error message, the solution is simple. Issue the " +"following commands (as root) to create the required device file" +msgstr "" + +#: template/faq.html.j2:566 +msgid "" +"'iptables: No chain/target/match by that name.' (when running gnunet-" +"service-dns)?" +msgstr "" + +#: template/faq.html.j2:568 +msgid "" +"A: For GNUnet DNS, your iptables needs to have "owner" match " +"support. This is accomplished by having the correct kernel options. Check" +" if your kernel has CONFIG_NETFILTER_XT_MATCH_OWNER set to either 'y' or " +"'m' (and the module is loaded)." +msgstr "" + +#: template/faq.html.j2:580 +msgid "'Timeout was reached' when running PT on Fedora (and possibly others)?" +msgstr "" + +#: template/faq.html.j2:582 +msgid "" +"A: If you get an error stating that the VPN timeout was reached, check if" +" your firewall is enabled and blocking the connections." msgstr "" #: template/glossary.html.j2:12 @@ -946,10 +1475,6 @@ msgstr "" msgid "Overview" msgstr "" -#: template/gns.html.j2:37 -msgid "Features" -msgstr "" - #: template/gns.html.j2:39 msgid "" "The GNU Name System (GNS) is secure and decentralized naming system. It " diff --git a/template/faq.html.j2 b/template/faq.html.j2 index f23a9d7a..7ba8f849 100644 --- a/template/faq.html.j2 +++ b/template/faq.html.j2 @@ -3,11 +3,121 @@

          FAQs

          -

          This page is a work-in-progress

          -
          +
          +
          + + +
          +

          {{ _("General") }}

          + General questions about the project. +
          +

          {{ _("What do I do if my question is not answered here?") }}

          +

          + {% trans %} + A: There are many other sources of information. You can read additional + documentation or ask the question on the help-gnunet@gnu.org mailing list or + the #gnunet IRC on irc.freenode.net. + {% endtrans %} +

          +
          +
          +

          {{ _("When are you going to release the next version?") }}

          +

          + {% trans %} + A: The general answer is, when it is ready. A better answer may be: earlier + if you contribute (test, debug, code, document). Every release will be + anounced on the info-gnunet@gnu.org mailing list and on + planet GNU. You can subscribe to the + mailing list or the RSS feed of this site to automatically receive a + notification. + {% endtrans %} +

          +
          +
          +

          {{ _("Is the code free?") }}

          +

          + {% trans %} + A: GNUnet is free software, available under the + GNU Affero Public License (AGPL). + {% endtrans %} +

          +
          +
          +

          {{ _("Are there any known bugs?") }}

          +

          + {% trans %} + A: We track the list of currently known bugs in the + Mantis system. + +Some bugs are occasionally reported directly to developers or the developer +mailing list. This is discouraged since developers often do not have the time +to feed these bugs back into the Mantis database. Please report bugs directly +to the bug tracking system. If you believe a bug is sensitive, you can set its +view status to private (this should be the exception). + {% endtrans %} +

          +
          +
          +

          {{ _("Is there a graphical user interface?") }}

          +

          + {% trans %} + A: gnunet-gtk is a separate download. The package + contains various GTK+ based graphical interfaces, including a + graphical tool for configuration. + {% endtrans %} +

          +
          +
          +

          {{ _("Why does gnunet-service-nse create a high CPU load?") }}

          +

          + {% trans %} + A: The gnunet-service-nse process will initially compute a so-called + "proof-of-work" which is used to convince the network that your + peer is real (or, rather, make it expensive for an adversary to mount a Sybil + attack on the network size estimator). The calculation is expected to take a + few days, depending on how fast your CPU is. If the CPU load is creating a + problem for you, you can set the value "WORKDELAY" in the + "nse" section of + your configuration file to a higher value. The default is "5 ms". + {% endtrans %} +

          +
          + +
          +

          {{ _("How does GNUnet compare to Tor?") }}

          +

          + {% trans %} + A: Tor focuses on anonymous communication and censorship-resistance for TCP + connections and, with the Tor Browser Bundle, for the Web in particular. + GNUnet does not really have one focus; our theme is secure decentralized + networking, but that is too broad to be called a focus. + {% endtrans %} +

          +
          + +
          +

          {{ _("How does GNUnet compare to I2P?") }}

          +

          + {% trans %} + A: Both GNUnet and I2P want to build a better, more secure, more decentralized + Internet. However, on the technical side, there are almost no overlaps. +

          +I2P is written in Java, and has (asymmetric) tunnels using onion (or garlic) +routing as the basis for various (anonymized) applications. I2P is largely used +via a Web frontend. + {% endtrans %} +

          +

          {{ _("Is GNUnet ready for use on production systems?") }}

          @@ -31,6 +141,402 @@ {% endtrans %}

          + + +

          {{ _("Features") }}

          +
          +

          {{ _("What can I do with GNUnet?") }}

          +

          + {% trans %} + A: GNUnet is a peer-to-peer framework, by which we mostly mean that it can do + more than just one thing. Naturally, the implementation and documentation of + some of the features that exist are more advanced than others. + {% endtrans %} +

          +

          + {% trans %} + For users, GNUnet offers anonymous and non-anonymous file-sharing, a fully + decentralized and censorship-resistant replacement for DNS and a mechanism for + IPv4-IPv6 protocol translation and tunneling (NAT-PT with DNS-ALG). + {% endtrans %} + See also: Applications. + +

          +
          + + + +

          GNU Name System

          +
          +

          {{ _("Who runs the GNS root zone?") }}

          +

          + {% trans %} + A: Short answer: you. The long answer is the GNUnet will ship with a + default configuration of top-level domains. The governance of this default + configuration is not yet established. In any case, the user will be able + to modify this configuration at will. We expect normal users to have + no need to edit their own GNS zone(s) unless they host services themselves. + {% endtrans %} +

          +
          + +
          +

          {{ _("Where is the per-user GNS database kept?") }}

          +

          + {% trans %} + A: The short answer is that the database is kept at the user's GNUnet peer. + Now, a user may run multiple GNUnet peers, in which case the database could be + kept at each peer (however, we don't have code for convenient replication). + Similarly, multiple GNUnet peers can share one instance of the database --- + the "gnunet-service-namestore" can be accessed from remote + (via TCP). The actual data can be stored in a Postgres database, for which + various replication options are again applicable. Ultimately, there are many + options for how users can store (and secure) their GNS database. + {% endtrans %} +

          +
          + + +
          +

          {{ _("What is the expected average size of a GNS namestore database?") }}

          +

          + {% trans %} + A: Pretty small. Based on our user study where we looked at browser histories + and the number of domains visited, we expect that GNS databases will only + grow to a few tens of thousands of entries, small enough to fit even on mobile + devices. + {% endtrans %} +

          +
          + +
          +

          {{ _("Is GNS resistant to the attacks on DNS used by the US?") }}

          +

          + {% trans %} + A: We believe so, as there is no entity that any government could force to + change the mapping for a name except for each individual user (and then the + changes would only apply to the names that this user is the authority for). + So if everyone used GNS, the only practical attack of a government would be to + force the operator of a server to change the GNS records for his server to + point elsewhere. However, if the owner of the private key for a zone is + unavailable for enforcement, the respective zone cannot be changed and any + other zone delegating to this zone will achieve proper resolution. + {% endtrans %} +

          +
          + +
          +

          {{ _("What is the difference between GNS and CoDoNS?") }}

          +

          + {% trans %} + A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the + authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, and + there are still registrars that determine who owns a name. +

          + With GNS, we decentralize the database and also decentralize the + responsibility for naming: each user runs his own personal root zone and is + thus in complete control of the names he uses. GNS also has many additional + features (to keep names short and enable migration) which don't even make + sense in the context of CoDoNS. + + {% endtrans %} +

          +
          + +
          +

          {{ _("What is the difference between GNS and SocialDNS?") }}

          +

          + {% trans %} + A: Like GNS, SocialDNS allows each user to create DNS mappings. However, with + SocialDNS the mappings are shared through the social network and subjected to + ranking. As the social relationships evolve, names can thus change in + surprising ways. +

          + With GNS, names are primarily shared via delegation, and thus mappings will + only change if the user responsible for the name (the authority) manually + changes the record. + {% endtrans %} +

          +
          + +
          +

          {{ _("What is the difference between GNS and ODDNS?") }}

          +

          + {% trans %} + A: ODDNS is primarily designed to bypass the DNS root zone and the TLD + registries (such as those for ".com" and ".org"). Instead of using those, + each user is expected to maintain a database of (second-level) domains + (like "gnu.org") and the IP addresses of the respective name servers. + Resolution will fail if the target name servers change IPs. + {% endtrans %} +

          +
          + +
          +

          {{ _("What is the difference between GNS and Namecoin?") }}

          +

          +

          +
          + + +
          +

          {{ _("What is the difference between GNS and Handshake?") }}

          +

          +

          +
          + +
          +

          {{ _("What is the difference between GNS and ENS?") }}

          +

          +

          +
          + +
          +

          {{ _("What is the difference between GNS and TrickleDNS?") }}

          +

          + {% trans %} + A: TrickleDNS pushes ("critical") DNS records between DNS resolvers + of participating domains to provide "better availability, lower query + resolution times, and faster update propagation". Thus TrickleDNS is + focused on defeating attacks on the availability (and performance) of record + propagation in DNS, for example via DDoS attacks on DNS root servers. + TrickleDNS is thus concerned with how to ensure distribution of authoritative + records, and authority remains derived from the DNS hierarchy. + {% endtrans %} +

          +
          + +
          +

          {{ _("Does GNS require real-world introduction (secure PKEY exchange) in the style of the PGP web of trust?") }}

          +

          + {% trans %} + A: For security, it is well known that an initial trust path between the two + parties must exist. However, for applications where this is not required, + weaker mechanisms can be used. For example, we have implemented a + first-come-first-served (FCFS) authority which allows arbitrary users to + register arbitrary names. The key of this authority is included with every + GNUnet installation. Thus, any name registered with FCFS is in fact global and + requires no further introduction. However, the security of these names + depends entirely on the trustworthiness of the FCFS authority. + The authority can be queried under the ".pin" TLD. + {% endtrans %} +

          +
          + +
          +

          {{ _("How can a legitimate domain owner tell other people to not use his name in GNS?") }}

          +

          + {% trans %} + A: Names have no owners in GNS, so there cannot be a "legitimate" + domain owner. Any user can claim any name (as his preferred name or + "pseudonym") in his NICK record. Similarly, all other users can + choose to ignore this preference and use a name of their choice (or even + assign no name) for this user. + {% endtrans %} +

          +
          + +
          +

          {{ _("Did you consider the privacy implications of making your personal GNS zone visible?") }}

          +

          + {% trans %} + A: Each record in GNS has a flag "private". Records are shared with + other users (via DHT or zone transfers) only if this flag is not set. + Thus, users have full control over what information about their zones is made + public. + {% endtrans %} +

          +
          + +
          +

          {{ _("Are \"Legacy Host\" (LEHO) records not going to be obsolete with IPv6?") }}

          +

          + {% trans %} + A: The question presumes that (a) virtual hosting is only necessary because of + IPv4 address scarcity, and (b) that LEHOs are only useful in the context of + virtual hosting. However, LEHOs are also useful to help with X.509 certificate + validation (as they specify for which legacy hostname the certificate should + be valid). Also, even with IPv6 fully deployed and "infinite" IP + addresses being available, we're not sure that virtual hosting would + disappear. Finally, we don't want to have to wait for IPv6 to become + commonplace, GNS should work with today's networks. + {% endtrans %} +

          +
          + +
          +

          {{ _("Why does GNS not use a trust metric or consensus to determine globally unique names?") }}

          +

          + {% trans %} + A: Trust metrics have the fundamental problem that they have thresholds. + As trust relationships evolve, mappings would change their meaning as they + cross each others thresholds. We decided that the resulting unpredictability + of the resolution process was not acceptable. Furthermore, trust and consensus + might be easy to manipulate by adversaries. + {% endtrans %} +

          +
          + +
          +

          {{ _("How do you handle compromised zone keys in GNS?") }}

          +

          + {% trans %} + A: The owner of a private key can create a revocation message. This one can + then be flooded throughout the overlay network, creating a copy at all peers. + Before using a public key, peers check if that key has been revoked. + All names that involve delegation via a revoked zone will then fail to + resolve. Peers always automatically check for the existence of a revocation + message when resolving names. + {% endtrans %} +

          +
          + +
          +

          {{ _("Could the signing algorithm of GNS be upgraded in the future?") }}

          +

          + {% trans %} + A: Yes. In our efforts to standardize GNS, we have already modified the protocol + to support alternative delegation records. +
          +
          + Naturally, deployed GNS implementations would have to be updated to support + the new signature scheme. The new scheme can then be run in parallel with + the existing system by using a new record type to indicate the use of a + different cipher system. + {% endtrans %} +

          +
          + +
          +

          {{ _("How can a GNS zone maintain several name servers, e.g. for load balancing?") }}

          +

          + {% trans %} + A: We don't expect this to be necessary, as GNS records are stored (and + replicated) in the R5N DHT. Thus the authority will typically not be contacted + whenever clients perform a lookup. Even if the authority goes (temporarily) + off-line, the DHT will cache the records for some time. However, should having + multiple servers for a zone be considered truly necessary, the owner of the + zone can simply run multiple peers (and share the zone's key and database + among them). + {% endtrans %} +

          +
          + +
          +

          {{ _("Why do you believe it is worth giving up unique names for censorship resistance?") }}

          +

          + {% trans %} + A: The GNU Name system offers an alternative to DNS that is censorship + resistant. As with any security mechanism, this comes at a cost (names are not + globally unique). To draw a parallel, HTTPS connections use more bandwidth and + have higher latency than HTTP connections. Depending on your application, + HTTPS may not be worth the cost. However, for users that are experiencing + censorship (or are concerned about it), giving up globally unique names may + very well be worth the cost. After all, what is a "globally" unique + name worth, if it does not resolve? + {% endtrans %} +

          +
          + +
          +

          {{ _("Why do you say that DNS is 'centralized' and 'distributed'?") }}

          +

          + {% trans %} + A: We say that DNS is 'centralized' because it has a central component / + central point of failure --- the root zone and its management by IANA/ICANN. + This centralization creates vulnerabilities. For example, the US government + was able to reassign the management of the country-TLDs of Afganistan and Iraq + during the wars at the beginning of the 21st century. + {% endtrans %} +

          +
          + +
          +

          {{ _("How does GNS protect against layer-3 censorship?") }}

          +

          + {% trans %} + A: GNS does not directly help with layer-3 censorship, but it does help + indirectly in two ways: + +

            +
          1. Many websites today use virtual hosting, so blocking a particular IP + address causes much more collateral damage than blocking a DNS name. + It thus raises the cost of censorship.
          2. +
          3. Existing layer-3 circumvention solutions (such as Tor) would benefit from + a censorship resistant naming system. Accessing Tor's ".onion" + namespace currently requires users to use unmemorable cryptographic + identifiers. With nicer names, Tor and tor2web-like services would be even + easier to use. +
          + {% endtrans %} +

          +
          + +
          +

          {{ _("Does GNS work with search engines?") }}

          +

          + {% trans %} + A: GNS creates no significant problems for search engines, as they can use GNS + to perform name resolution as well as any normal user. Naturally, while we + typically expect normal users to install custom software for name resolution, + this is unlikely to work for search engines today. However, the DNS2GNS + gateway allows search engines to use DNS to resolve GNS names, so they can + still index GNS resources. However, as using DNS2GNS gateways breaks the + cryptographic chain of trust, legacy search engines will obviously not obtain + censorship-resistant names. + {% endtrans %} +

          +
          + +
          +

          {{ _("How does GNS compare to the Unmanaged Internet Architecture (UIA)?") }}

          +

          + {% trans %} + A: UIA and GNS both share the same basic naming model, which actually + originated with Rivest's SDSI. However, UIA is not concerned about integration + with legacy applications and instead focuses on universal connectivity between + a user's many machines. In contrast, GNS was designed to interoperate with DNS + as much as possible, and to also work as much as possible with the existing + Web infrastructure. UIA is not at all concerned about legacy systems (clean + slate). + {% endtrans %} +

          +
          + +
          +

          {{ _("Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?") }}

          +

          + {% trans %} + A: First of all, in GNS you can explicitly see the trust chain, so you know if + a name you are resolving belongs to a friend, or a friend-of-a-friend, and can + thus decide how much you trust the result. Naturally, the trusted-computing + base (TCB) can become arbitrarily large this way --- however, given the name + length restriction, for an individual name it is always less than about 128 + entities. + {% endtrans %} +

          +
          + +
          +

          {{ _("How does GNS handle SRV/TLSA records where service and protocol are part of the domain name?") }}

          +

          + {% trans %} + A: When GNS splits a domain name into labels for resolution, it detects the + "_Service._Proto" syntax, converts "Service" to the + corresponding port number and "Proto" to the corresponding protocol + number. The rest of the name is resolved as usual. Then, when the result is + presented, GNS looks for the GNS-specific "BOX" record type. + A BOX record is a record that contains another record (such as SRV or TLSA + records) and adds a service and protocol number (and the original boxed record + type) to it. + {% endtrans %} +

          +
          + + + + +

          {{ _("Error messages") }}

          {{ _("I receive many "WARNING Calculated flow delay for X at Y for Z". Should I worry?") }}

          @@ -42,17 +548,50 @@ {% endtrans %}

          -
          -

          {{ _("Is there a graphical user interface?") }}

          +
          +

          {{ _("Error opening `/dev/net/tun': No such file or directory?") }}

          {% trans %} - A: gnunet-gtk is a separate download. The package - contains various GTK+ based graphical interfaces, including a - graphical tool for configuration. + A: If you get this error message, the solution is simple. Issue the following + commands (as root) to create the required device file + {% endtrans %} + + # mkdir /dev/net
          + # mknod /dev/net/tun c 10 200
          +
          +

          +
          + +
          +

          {{ _("'iptables: No chain/target/match by that name.' (when running gnunet-service-dns)?") }}

          +

          + {% trans %} + A: For GNUnet DNS, your iptables needs to have "owner" match + support. + + This is accomplished by having the correct kernel options. Check if your + kernel has CONFIG_NETFILTER_XT_MATCH_OWNER set to either 'y' or 'm' (and the + module is loaded). + {% endtrans %} +

          +
          + +
          +

          {{ _("'Timeout was reached' when running PT on Fedora (and possibly others)?") }}

          +

          + {% trans %} + A: If you get an error stating that the VPN timeout was reached, check if your + firewall is enabled and blocking the connections. {% endtrans %}

          + +
          +
          +
          + +
          -
          -

          {{ _("General") }}

          - General questions about the project. -
          -

          {{ _("What do I do if my question is not answered here?") }}

          -

          - {% trans %} - A: There are many other sources of information. You can read additional - documentation or ask the question on the help-gnunet@gnu.org mailing list or - the #gnunet IRC on irc.freenode.net. - {% endtrans %} -

          -
          -
          -

          {{ _("When are you going to release the next version?") }}

          -

          - {% trans %} - A: The general answer is, when it is ready. A better answer may be: earlier - if you contribute (test, debug, code, document). Every release will be - anounced on the info-gnunet@gnu.org mailing list and on - planet GNU. You can subscribe to the - mailing list or the RSS feed of this site to automatically receive a - notification. - {% endtrans %} -

          -
          -
          -

          {{ _("Is the code free?") }}

          -

          - {% trans %} - A: GNUnet is free software, available under the - GNU Affero Public License (AGPL). - {% endtrans %} -

          -
          -
          -

          {{ _("Are there any known bugs?") }}

          -

          - {% trans %} - A: We track the list of currently known bugs in the - Mantis system. - -Some bugs are occasionally reported directly to developers or the developer -mailing list. This is discouraged since developers often do not have the time -to feed these bugs back into the Mantis database. Please report bugs directly -to the bug tracking system. If you believe a bug is sensitive, you can set its -view status to private (this should be the exception). - {% endtrans %} -

          -
          -
          -

          {{ _("Is there a graphical user interface?") }}

          -

          - {% trans %} - A: gnunet-gtk is a separate download. The package - contains various GTK+ based graphical interfaces, including a - graphical tool for configuration. - {% endtrans %} -

          -
          -
          -

          {{ _("Why does gnunet-service-nse create a high CPU load?") }}

          -

          - {% trans %} - A: The gnunet-service-nse process will initially compute a so-called - "proof-of-work" which is used to convince the network that your - peer is real (or, rather, make it expensive for an adversary to mount a Sybil - attack on the network size estimator). The calculation is expected to take a - few days, depending on how fast your CPU is. If the CPU load is creating a - problem for you, you can set the value "WORKDELAY" in the - "nse" section of - your configuration file to a higher value. The default is "5 ms". - {% endtrans %} -

          -
          - -
          -

          {{ _("How does GNUnet compare to Tor?") }}

          -

          - {% trans %} - A: Tor focuses on anonymous communication and censorship-resistance for TCP - connections and, with the Tor Browser Bundle, for the Web in particular. - GNUnet does not really have one focus; our theme is secure decentralized - networking, but that is too broad to be called a focus. - {% endtrans %} -

          -
          - -
          -

          {{ _("How does GNUnet compare to I2P?") }}

          -

          - {% trans %} - A: Both GNUnet and I2P want to build a better, more secure, more decentralized - Internet. However, on the technical side, there are almost no overlaps. -

          -I2P is written in Java, and has (asymmetric) tunnels using onion (or garlic) -routing as the basis for various (anonymized) applications. I2P is largely used -via a Web frontend. - {% endtrans %} -

          -
          -
          -

          {{ _("Is GNUnet ready for use on production systems?") }}

          -

          - {% trans %} - A: GNUnet is still undergoing major development. It is largely not yet ready - for usage beyond developers. Your mileage will vary depending on the - functionality you use, but you will always likely run into issues with - our current low-level transport system. We are currently in the process of - rewriting it (Project "Transport Next Generation [TNG]") - {% endtrans %} -

          -
          -
          -

          {{ _("Is GNUnet build using distributed ledger technologies?") }}

          -

          - {% trans %} - A: No. GNUnet is a new network protocol stack for building secure, - distributed, and privacy-preserving applications. - While a ledger could be built using GNUnet, we currently have no plans in - doing so. - {% endtrans %} -

          -
          - - -

          {{ _("Features") }}

          -
          -

          {{ _("What can I do with GNUnet?") }}

          -

          - {% trans %} - A: GNUnet is a peer-to-peer framework, by which we mostly mean that it can do - more than just one thing. Naturally, the implementation and documentation of - some of the features that exist are more advanced than others. - {% endtrans %} -

          -

          - {% trans %} - For users, GNUnet offers anonymous and non-anonymous file-sharing, a fully - decentralized and censorship-resistant replacement for DNS and a mechanism for - IPv4-IPv6 protocol translation and tunneling (NAT-PT with DNS-ALG). - {% endtrans %} - See also: Applications. - -

          -
          - - - -

          GNU Name System

          -
          -

          {{ _("Who runs the GNS root zone?") }}

          -

          - {% trans %} - A: Short answer: you. The long answer is the GNUnet will ship with a - default configuration of top-level domains. The governance of this default - configuration is not yet established. In any case, the user will be able - to modify this configuration at will. We expect normal users to have - no need to edit their own GNS zone(s) unless they host services themselves. - {% endtrans %} -

          -
          - -
          -

          {{ _("Where is the per-user GNS database kept?") }}

          -

          - {% trans %} - A: The short answer is that the database is kept at the user's GNUnet peer. - Now, a user may run multiple GNUnet peers, in which case the database could be - kept at each peer (however, we don't have code for convenient replication). - Similarly, multiple GNUnet peers can share one instance of the database --- - the "gnunet-service-namestore" can be accessed from remote - (via TCP). The actual data can be stored in a Postgres database, for which - various replication options are again applicable. Ultimately, there are many - options for how users can store (and secure) their GNS database. - {% endtrans %} -

          -
          - - -
          -

          {{ _("What is the expected average size of a GNS namestore database?") }}

          -

          - {% trans %} - A: Pretty small. Based on our user study where we looked at browser histories - and the number of domains visited, we expect that GNS databases will only - grow to a few tens of thousands of entries, small enough to fit even on mobile - devices. - {% endtrans %} -

          -
          - -
          -

          {{ _("Is GNS resistant to the attacks on DNS used by the US?") }}

          -

          - {% trans %} - A: We believe so, as there is no entity that any government could force to - change the mapping for a name except for each individual user (and then the - changes would only apply to the names that this user is the authority for). - So if everyone used GNS, the only practical attack of a government would be to - force the operator of a server to change the GNS records for his server to - point elsewhere. However, if the owner of the private key for a zone is - unavailable for enforcement, the respective zone cannot be changed and any - other zone delegating to this zone will achieve proper resolution. - {% endtrans %} -

          -
          - -
          -

          {{ _("What is the difference between GNS and CoDoNS?") }}

          -

          - {% trans %} - A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the - authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, and - there are still registrars that determine who owns a name. -

          - With GNS, we decentralize the database and also decentralize the - responsibility for naming: each user runs his own personal root zone and is - thus in complete control of the names he uses. GNS also has many additional - features (to keep names short and enable migration) which don't even make - sense in the context of CoDoNS. - - {% endtrans %} -

          -
          - -
          -

          {{ _("What is the difference between GNS and SocialDNS?") }}

          -

          - {% trans %} - A: Like GNS, SocialDNS allows each user to create DNS mappings. However, with - SocialDNS the mappings are shared through the social network and subjected to - ranking. As the social relationships evolve, names can thus change in - surprising ways. -

          - With GNS, names are primarily shared via delegation, and thus mappings will - only change if the user responsible for the name (the authority) manually - changes the record. - {% endtrans %} -

          -
          - -
          -

          {{ _("What is the difference between GNS and ODDNS?") }}

          -

          - {% trans %} - A: ODDNS is primarily designed to bypass the DNS root zone and the TLD - registries (such as those for ".com" and ".org"). Instead of using those, - each user is expected to maintain a database of (second-level) domains - (like "gnu.org") and the IP addresses of the respective name servers. - Resolution will fail if the target name servers change IPs. - {% endtrans %} -

          -
          - -
          -

          {{ _("What is the difference between GNS and Namecoin?") }}

          -

          -

          -
          - - -
          -

          {{ _("What is the difference between GNS and Handshake?") }}

          -

          -

          -
          - -
          -

          {{ _("What is the difference between GNS and ENS?") }}

          -

          -

          -
          - -
          -

          {{ _("What is the difference between GNS and TrickleDNS?") }}

          -

          - {% trans %} - A: TrickleDNS pushes ("critical") DNS records between DNS resolvers - of participating domains to provide "better availability, lower query - resolution times, and faster update propagation". Thus TrickleDNS is - focused on defeating attacks on the availability (and performance) of record - propagation in DNS, for example via DDoS attacks on DNS root servers. - TrickleDNS is thus concerned with how to ensure distribution of authoritative - records, and authority remains derived from the DNS hierarchy. - {% endtrans %} -

          -
          - -
          -

          {{ _("Does GNS require real-world introduction (secure PKEY exchange) in the style of the PGP web of trust?") }}

          -

          - {% trans %} - A: For security, it is well known that an initial trust path between the two - parties must exist. However, for applications where this is not required, - weaker mechanisms can be used. For example, we have implemented a - first-come-first-served (FCFS) authority which allows arbitrary users to - register arbitrary names. The key of this authority is included with every - GNUnet installation. Thus, any name registered with FCFS is in fact global and - requires no further introduction. However, the security of these names - depends entirely on the trustworthiness of the FCFS authority. - The authority can be queried under the ".pin" TLD. - {% endtrans %} -

          -
          - -
          -

          {{ _("How can a legitimate domain owner tell other people to not use his name in GNS?") }}

          -

          - {% trans %} - A: Names have no owners in GNS, so there cannot be a "legitimate" - domain owner. Any user can claim any name (as his preferred name or - "pseudonym") in his NICK record. Similarly, all other users can - choose to ignore this preference and use a name of their choice (or even - assign no name) for this user. - {% endtrans %} -

          -
          - -
          -

          {{ _("Did you consider the privacy implications of making your personal GNS zone visible?") }}

          -

          - {% trans %} - A: Each record in GNS has a flag "private". Records are shared with - other users (via DHT or zone transfers) only if this flag is not set. - Thus, users have full control over what information about their zones is made - public. - {% endtrans %} -

          -
          - -
          -

          {{ _("Are \"Legacy Host\" (LEHO) records not going to be obsolete with IPv6?") }}

          -

          - {% trans %} - A: The question presumes that (a) virtual hosting is only necessary because of - IPv4 address scarcity, and (b) that LEHOs are only useful in the context of - virtual hosting. However, LEHOs are also useful to help with X.509 certificate - validation (as they specify for which legacy hostname the certificate should - be valid). Also, even with IPv6 fully deployed and "infinite" IP - addresses being available, we're not sure that virtual hosting would - disappear. Finally, we don't want to have to wait for IPv6 to become - commonplace, GNS should work with today's networks. - {% endtrans %} -

          -
          - -
          -

          {{ _("Why does GNS not use a trust metric or consensus to determine globally unique names?") }}

          -

          - {% trans %} - A: Trust metrics have the fundamental problem that they have thresholds. - As trust relationships evolve, mappings would change their meaning as they - cross each others thresholds. We decided that the resulting unpredictability - of the resolution process was not acceptable. Furthermore, trust and consensus - might be easy to manipulate by adversaries. - {% endtrans %} -

          -
          - -
          -

          {{ _("How do you handle compromised zone keys in GNS?") }}

          -

          - {% trans %} - A: The owner of a private key can create a revocation message. This one can - then be flooded throughout the overlay network, creating a copy at all peers. - Before using a public key, peers check if that key has been revoked. - All names that involve delegation via a revoked zone will then fail to - resolve. Peers always automatically check for the existence of a revocation - message when resolving names. - {% endtrans %} -

          -
          - -
          -

          {{ _("Could the signing algorithm of GNS be upgraded in the future?") }}

          -

          - {% trans %} - A: Yes. In our efforts to standardize GNS, we have already modified the protocol - to support alternative delegation records. -
          -
          - Naturally, deployed GNS implementations would have to be updated to support - the new signature scheme. The new scheme can then be run in parallel with - the existing system by using a new record type to indicate the use of a - different cipher system. - {% endtrans %} -

          -
          - -
          -

          {{ _("How can a GNS zone maintain several name servers, e.g. for load balancing?") }}

          -

          - {% trans %} - A: We don't expect this to be necessary, as GNS records are stored (and - replicated) in the R5N DHT. Thus the authority will typically not be contacted - whenever clients perform a lookup. Even if the authority goes (temporarily) - off-line, the DHT will cache the records for some time. However, should having - multiple servers for a zone be considered truly necessary, the owner of the - zone can simply run multiple peers (and share the zone's key and database - among them). - {% endtrans %} -

          -
          - -
          -

          {{ _("Why do you believe it is worth giving up unique names for censorship resistance?") }}

          -

          - {% trans %} - A: The GNU Name system offers an alternative to DNS that is censorship - resistant. As with any security mechanism, this comes at a cost (names are not - globally unique). To draw a parallel, HTTPS connections use more bandwidth and - have higher latency than HTTP connections. Depending on your application, - HTTPS may not be worth the cost. However, for users that are experiencing - censorship (or are concerned about it), giving up globally unique names may - very well be worth the cost. After all, what is a "globally" unique - name worth, if it does not resolve? - {% endtrans %} -

          -
          - -
          -

          {{ _("Why do you say that DNS is 'centralized' and 'distributed'?") }}

          -

          - {% trans %} - A: We say that DNS is 'centralized' because it has a central component / - central point of failure --- the root zone and its management by IANA/ICANN. - This centralization creates vulnerabilities. For example, the US government - was able to reassign the management of the country-TLDs of Afganistan and Iraq - during the wars at the beginning of the 21st century. - {% endtrans %} -

          -
          - -
          -

          {{ _("How does GNS protect against layer-3 censorship?") }}

          -

          - {% trans %} - A: GNS does not directly help with layer-3 censorship, but it does help - indirectly in two ways: - -

            -
          1. Many websites today use virtual hosting, so blocking a particular IP - address causes much more collateral damage than blocking a DNS name. - It thus raises the cost of censorship.
          2. -
          3. Existing layer-3 circumvention solutions (such as Tor) would benefit from - a censorship resistant naming system. Accessing Tor's ".onion" - namespace currently requires users to use unmemorable cryptographic - identifiers. With nicer names, Tor and tor2web-like services would be even - easier to use. -
          - {% endtrans %} -

          -
          - -
          -

          {{ _("Does GNS work with search engines?") }}

          -

          - {% trans %} - A: GNS creates no significant problems for search engines, as they can use GNS - to perform name resolution as well as any normal user. Naturally, while we - typically expect normal users to install custom software for name resolution, - this is unlikely to work for search engines today. However, the DNS2GNS - gateway allows search engines to use DNS to resolve GNS names, so they can - still index GNS resources. However, as using DNS2GNS gateways breaks the - cryptographic chain of trust, legacy search engines will obviously not obtain - censorship-resistant names. - {% endtrans %} -

          -
          - -
          -

          {{ _("How does GNS compare to the Unmanaged Internet Architecture (UIA)?") }}

          -

          - {% trans %} - A: UIA and GNS both share the same basic naming model, which actually - originated with Rivest's SDSI. However, UIA is not concerned about integration - with legacy applications and instead focuses on universal connectivity between - a user's many machines. In contrast, GNS was designed to interoperate with DNS - as much as possible, and to also work as much as possible with the existing - Web infrastructure. UIA is not at all concerned about legacy systems (clean - slate). - {% endtrans %} -

          -
          - -
          -

          {{ _("Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?") }}

          -

          - {% trans %} - A: First of all, in GNS you can explicitly see the trust chain, so you know if - a name you are resolving belongs to a friend, or a friend-of-a-friend, and can - thus decide how much you trust the result. Naturally, the trusted-computing - base (TCB) can become arbitrarily large this way --- however, given the name - length restriction, for an individual name it is always less than about 128 - entities. - {% endtrans %} -

          -
          - -
          -

          {{ _("How does GNS handle SRV/TLSA records where service and protocol are part of the domain name?") }}

          -

          - {% trans %} - A: When GNS splits a domain name into labels for resolution, it detects the - "_Service._Proto" syntax, converts "Service" to the - corresponding port number and "Proto" to the corresponding protocol - number. The rest of the name is resolved as usual. Then, when the result is - presented, GNS looks for the GNS-specific "BOX" record type. - A BOX record is a record that contains another record (such as SRV or TLSA - records) and adds a service and protocol number (and the original boxed record - type) to it. - {% endtrans %} -

          -
          - - - - -

          {{ _("Error messages") }}

          -
          -

          {{ _("I receive many "WARNING Calculated flow delay for X at Y for Z". Should I worry?") }}

          -

          - {% trans %} - A: Right now, this is expected and a known cause for high - latency in GNUnet. We have started a major rewrite to address - this and other problems, but until the Transport Next - Generation (TNG) is ready, these warnings are expected. - {% endtrans %} -

          -
          -
          -

          {{ _("Error opening `/dev/net/tun': No such file or directory?") }}

          -

          - {% trans %} - A: If you get this error message, the solution is simple. Issue the following - commands (as root) to create the required device file - {% endtrans %} - - # mkdir /dev/net
          - # mknod /dev/net/tun c 10 200
          -
          -

          -
          - -
          -

          {{ _("'iptables: No chain/target/match by that name.' (when running gnunet-service-dns)?") }}

          -

          - {% trans %} - A: For GNUnet DNS, your iptables needs to have "owner" match - support. - - This is accomplished by having the correct kernel options. Check if your - kernel has CONFIG_NETFILTER_XT_MATCH_OWNER set to either 'y' or 'm' (and the - module is loaded). - {% endtrans %} -

          -
          - -
          -

          {{ _("'Timeout was reached' when running PT on Fedora (and possibly others)?") }}

          -

          - {% trans %} - A: If you get an error stating that the VPN timeout was reached, check if your - firewall is enabled and blocking the connections. - {% endtrans %} -

          -
          - - -
          +
          +

          {{ _("General") }}

          + General questions about the project. +
          +

          {{ _("What do I do if my question is not answered here?") }}

          +

          + {% trans %} + A: There are many other sources of information. You can read additional + documentation or ask the question on the help-gnunet@gnu.org mailing list or + the #gnunet IRC on irc.freenode.net. + {% endtrans %} +

          +
          +
          +

          {{ _("When are you going to release the next version?") }}

          +

          + {% trans %} + A: The general answer is, when it is ready. A better answer may be: earlier + if you contribute (test, debug, code, document). Every release will be + anounced on the info-gnunet@gnu.org mailing list and on + planet GNU. You can subscribe to the + mailing list or the RSS feed of this site to automatically receive a + notification. + {% endtrans %} +

          +
          +
          +

          {{ _("Is the code free?") }}

          +

          + {% trans %} + A: GNUnet is free software, available under the + GNU Affero Public License (AGPL). + {% endtrans %} +

          +
          +
          +

          {{ _("Are there any known bugs?") }}

          +

          + {% trans %} + A: We track the list of currently known bugs in the + Mantis system. + + Some bugs are occasionally reported directly to developers or the developer + mailing list. This is discouraged since developers often do not have the time + to feed these bugs back into the Mantis database. Please report bugs directly + to the bug tracking system. If you believe a bug is sensitive, you can set its + view status to private (this should be the exception). + {% endtrans %} +

          +
          +
          +

          {{ _("Is there a graphical user interface?") }}

          +

          + {% trans %} + A: gnunet-gtk is a separate download. The package + contains various GTK+ based graphical interfaces, including a + graphical tool for configuration. + {% endtrans %} +

          +
          +
          +

          {{ _("Why does gnunet-service-nse create a high CPU load?") }}

          +

          + {% trans %} + A: The gnunet-service-nse process will initially compute a so-called + "proof-of-work" which is used to convince the network that your + peer is real (or, rather, make it expensive for an adversary to mount a Sybil + attack on the network size estimator). The calculation is expected to take a + few days, depending on how fast your CPU is. If the CPU load is creating a + problem for you, you can set the value "WORKDELAY" in the + "nse" section of + your configuration file to a higher value. The default is "5 ms". + {% endtrans %} +

          +
          + +
          +

          {{ _("How does GNUnet compare to Tor?") }}

          +

          + {% trans %} + A: Tor focuses on anonymous communication and censorship-resistance for TCP + connections and, with the Tor Browser Bundle, for the Web in particular. + GNUnet does not really have one focus; our theme is secure decentralized + networking, but that is too broad to be called a focus. + {% endtrans %} +

          +
          + +
          +

          {{ _("How does GNUnet compare to I2P?") }}

          +

          + {% trans %} + A: Both GNUnet and I2P want to build a better, more secure, more decentralized + Internet. However, on the technical side, there are almost no overlaps. +

          + I2P is written in Java, and has (asymmetric) tunnels using onion (or garlic) + routing as the basis for various (anonymized) applications. I2P is largely used + via a Web frontend. + {% endtrans %} +

          +
          +
          +

          {{ _("Is GNUnet ready for use on production systems?") }}

          +

          + {% trans %} + A: GNUnet is still undergoing major development. It is largely not yet ready + for usage beyond developers. Your mileage will vary depending on the + functionality you use, but you will always likely run into issues with + our current low-level transport system. We are currently in the process of + rewriting it (Project "Transport Next Generation [TNG]") + {% endtrans %} +

          +
          +
          +

          {{ _("Is GNUnet build using distributed ledger technologies?") }}

          +

          + {% trans %} + A: No. GNUnet is a new network protocol stack for building secure, + distributed, and privacy-preserving applications. + While a ledger could be built using GNUnet, we currently have no plans in + doing so. + {% endtrans %} +

          +
          + + +
          +

          {{ _("Features") }}

          +
          +

          {{ _("What can I do with GNUnet?") }}

          +

          + {% trans %} + A: GNUnet is a peer-to-peer framework, by which we mostly mean that it can do + more than just one thing. Naturally, the implementation and documentation of + some of the features that exist are more advanced than others. + {% endtrans %} +

          +

          + {% trans %} + For users, GNUnet offers anonymous and non-anonymous file-sharing, a fully + decentralized and censorship-resistant replacement for DNS and a mechanism for + IPv4-IPv6 protocol translation and tunneling (NAT-PT with DNS-ALG). + {% endtrans %} + See also: Applications. + +

          +
          + +
          +

          {{ _("Is it possible to surf the WWW anonymously with GNUnet?") }}

          +

          + {% trans %} + A: It is not possible use GNUnet for anonymous browsing at this point. + We recommend that you use Tor for anonymous surfing. + {% endtrans %} +

          +
          + +
          +

          {{ _("Is it possible to access GNUnet via a browser as an anonymous WWW?") }}

          +

          + {% trans %} + A: There is currently no proxy (like fproxy in Freenet) for GNUnet that would + make it accessible with a browser. It is possible to build such a proxy and + all one needs to know is the protocol used between browser and proxy and a + swift look at the GNUnet code for file-sharing. + {% endtrans %} +

          +
          + +
          +

          {{ _("Is there a graphical user interface?") }}

          +

          + {% trans %} + A: There are actually a few graphical user interfaces for different functions. + gnunet-setup is to configure GNUnet, and gnunet-fs-gtk is for file-sharing. + There are a few other gnunet-XXX-gtk GUIs of lesser importance. + Note that in order to obtain the GUI, you need to install the gnunet-gtk + package, which is a separate download. + + gnunet-gtk is a meta GUI that integrates most of the other GUIs in one window. + One exception is gnunet-setup, which must still be run separately at this time + (as setup requires the peer to be stopped). + {% endtrans %} +

          +
          + +
          +

          {{ _("On top of which operating systems does GNUnet run?") }}

          +

          + {% trans %} + A: GNUnet is being developed and tested primarily under Debian GNU/Linux. + Furthermore, we regularly build and test GNUnet on Fedora, Ubuntu, Arch, + FreeBSD and macOS. + + We have reports of working versions on many other GNU/Linux distributions; + in the past we had reports of working versions on NetBSD, OpenBSD and Solaris. + However, not all of those reports are recent, so if you cannot get GNUnet to + work on those systems please let us know. + {% endtrans %} +

          +
          + +
          +

          GNU Name System

          +
          +

          {{ _("Who runs the GNS root zone?") }}

          +

          + {% trans %} + A: Short answer: you. The long answer is the GNUnet will ship with a + default configuration of top-level domains. The governance of this default + configuration is not yet established. In any case, the user will be able + to modify this configuration at will. We expect normal users to have + no need to edit their own GNS zone(s) unless they host services themselves. + {% endtrans %} +

          +
          + +
          +

          {{ _("Where is the per-user GNS database kept?") }}

          +

          + {% trans %} + A: The short answer is that the database is kept at the user's GNUnet peer. + Now, a user may run multiple GNUnet peers, in which case the database could be + kept at each peer (however, we don't have code for convenient replication). + Similarly, multiple GNUnet peers can share one instance of the database --- + the "gnunet-service-namestore" can be accessed from remote + (via TCP). The actual data can be stored in a Postgres database, for which + various replication options are again applicable. Ultimately, there are many + options for how users can store (and secure) their GNS database. + {% endtrans %} +

          +
          + + +
          +

          {{ _("What is the expected average size of a GNS namestore database?") }}

          +

          + {% trans %} + A: Pretty small. Based on our user study where we looked at browser histories + and the number of domains visited, we expect that GNS databases will only + grow to a few tens of thousands of entries, small enough to fit even on mobile + devices. + {% endtrans %} +

          +
          + +
          +

          {{ _("Is GNS resistant to the attacks on DNS used by the US?") }}

          +

          + {% trans %} + A: We believe so, as there is no entity that any government could force to + change the mapping for a name except for each individual user (and then the + changes would only apply to the names that this user is the authority for). + So if everyone used GNS, the only practical attack of a government would be to + force the operator of a server to change the GNS records for his server to + point elsewhere. However, if the owner of the private key for a zone is + unavailable for enforcement, the respective zone cannot be changed and any + other zone delegating to this zone will achieve proper resolution. + {% endtrans %} +

          +
          + +
          +

          {{ _("What is the difference between GNS and CoDoNS?") }}

          +

          + {% trans %} + A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the + authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, and + there are still registrars that determine who owns a name. +

          + With GNS, we decentralize the database and also decentralize the + responsibility for naming: each user runs his own personal root zone and is + thus in complete control of the names he uses. GNS also has many additional + features (to keep names short and enable migration) which don't even make + sense in the context of CoDoNS. + + {% endtrans %} +

          +
          + +
          +

          {{ _("What is the difference between GNS and SocialDNS?") }}

          +

          + {% trans %} + A: Like GNS, SocialDNS allows each user to create DNS mappings. However, with + SocialDNS the mappings are shared through the social network and subjected to + ranking. As the social relationships evolve, names can thus change in + surprising ways. +

          + With GNS, names are primarily shared via delegation, and thus mappings will + only change if the user responsible for the name (the authority) manually + changes the record. + {% endtrans %} +

          +
          + +
          +

          {{ _("What is the difference between GNS and ODDNS?") }}

          +

          + {% trans %} + A: ODDNS is primarily designed to bypass the DNS root zone and the TLD + registries (such as those for ".com" and ".org"). Instead of using those, + each user is expected to maintain a database of (second-level) domains + (like "gnu.org") and the IP addresses of the respective name servers. + Resolution will fail if the target name servers change IPs. + {% endtrans %} +

          +
          + +
          +

          {{ _("What is the difference between GNS and Namecoin?") }}

          +

          +

          +
          + + +
          +

          {{ _("What is the difference between GNS and Handshake?") }}

          +

          +

          +
          + +
          +

          {{ _("What is the difference between GNS and ENS?") }}

          +

          +

          +
          + +
          +

          {{ _("What is the difference between GNS and TrickleDNS?") }}

          +

          + {% trans %} + A: TrickleDNS pushes ("critical") DNS records between DNS resolvers + of participating domains to provide "better availability, lower query + resolution times, and faster update propagation". Thus TrickleDNS is + focused on defeating attacks on the availability (and performance) of record + propagation in DNS, for example via DDoS attacks on DNS root servers. + TrickleDNS is thus concerned with how to ensure distribution of authoritative + records, and authority remains derived from the DNS hierarchy. + {% endtrans %} +

          +
          + +
          +

          {{ _("Does GNS require real-world introduction (secure PKEY exchange) in the style of the PGP web of trust?") }}

          +

          + {% trans %} + A: For security, it is well known that an initial trust path between the two + parties must exist. However, for applications where this is not required, + weaker mechanisms can be used. For example, we have implemented a + first-come-first-served (FCFS) authority which allows arbitrary users to + register arbitrary names. The key of this authority is included with every + GNUnet installation. Thus, any name registered with FCFS is in fact global and + requires no further introduction. However, the security of these names + depends entirely on the trustworthiness of the FCFS authority. + The authority can be queried under the ".pin" TLD. + {% endtrans %} +

          +
          + +
          +

          {{ _("How can a legitimate domain owner tell other people to not use his name in GNS?") }}

          +

          + {% trans %} + A: Names have no owners in GNS, so there cannot be a "legitimate" + domain owner. Any user can claim any name (as his preferred name or + "pseudonym") in his NICK record. Similarly, all other users can + choose to ignore this preference and use a name of their choice (or even + assign no name) for this user. + {% endtrans %} +

          +
          + +
          +

          {{ _("Did you consider the privacy implications of making your personal GNS zone visible?") }}

          +

          + {% trans %} + A: Each record in GNS has a flag "private". Records are shared with + other users (via DHT or zone transfers) only if this flag is not set. + Thus, users have full control over what information about their zones is made + public. + {% endtrans %} +

          +
          + +
          +

          {{ _("Are \"Legacy Host\" (LEHO) records not going to be obsolete with IPv6?") }}

          +

          + {% trans %} + A: The question presumes that (a) virtual hosting is only necessary because of + IPv4 address scarcity, and (b) that LEHOs are only useful in the context of + virtual hosting. However, LEHOs are also useful to help with X.509 certificate + validation (as they specify for which legacy hostname the certificate should + be valid). Also, even with IPv6 fully deployed and "infinite" IP + addresses being available, we're not sure that virtual hosting would + disappear. Finally, we don't want to have to wait for IPv6 to become + commonplace, GNS should work with today's networks. + {% endtrans %} +

          +
          + +
          +

          {{ _("Why does GNS not use a trust metric or consensus to determine globally unique names?") }}

          +

          + {% trans %} + A: Trust metrics have the fundamental problem that they have thresholds. + As trust relationships evolve, mappings would change their meaning as they + cross each others thresholds. We decided that the resulting unpredictability + of the resolution process was not acceptable. Furthermore, trust and consensus + might be easy to manipulate by adversaries. + {% endtrans %} +

          +
          + +
          +

          {{ _("How do you handle compromised zone keys in GNS?") }}

          +

          + {% trans %} + A: The owner of a private key can create a revocation message. This one can + then be flooded throughout the overlay network, creating a copy at all peers. + Before using a public key, peers check if that key has been revoked. + All names that involve delegation via a revoked zone will then fail to + resolve. Peers always automatically check for the existence of a revocation + message when resolving names. + {% endtrans %} +

          +
          + +
          +

          {{ _("Could the signing algorithm of GNS be upgraded in the future?") }}

          +

          + {% trans %} + A: Yes. In our efforts to standardize GNS, we have already modified the protocol + to support alternative delegation records. +
          +
          + Naturally, deployed GNS implementations would have to be updated to support + the new signature scheme. The new scheme can then be run in parallel with + the existing system by using a new record type to indicate the use of a + different cipher system. + {% endtrans %} +

          +
          + +
          +

          {{ _("How can a GNS zone maintain several name servers, e.g. for load balancing?") }}

          +

          + {% trans %} + A: We don't expect this to be necessary, as GNS records are stored (and + replicated) in the R5N DHT. Thus the authority will typically not be contacted + whenever clients perform a lookup. Even if the authority goes (temporarily) + off-line, the DHT will cache the records for some time. However, should having + multiple servers for a zone be considered truly necessary, the owner of the + zone can simply run multiple peers (and share the zone's key and database + among them). + {% endtrans %} +

          +
          + +
          +

          {{ _("Why do you believe it is worth giving up unique names for censorship resistance?") }}

          +

          + {% trans %} + A: The GNU Name system offers an alternative to DNS that is censorship + resistant. As with any security mechanism, this comes at a cost (names are not + globally unique). To draw a parallel, HTTPS connections use more bandwidth and + have higher latency than HTTP connections. Depending on your application, + HTTPS may not be worth the cost. However, for users that are experiencing + censorship (or are concerned about it), giving up globally unique names may + very well be worth the cost. After all, what is a "globally" unique + name worth, if it does not resolve? + {% endtrans %} +

          +
          + +
          +

          {{ _("Why do you say that DNS is 'centralized' and 'distributed'?") }}

          +

          + {% trans %} + A: We say that DNS is 'centralized' because it has a central component / + central point of failure --- the root zone and its management by IANA/ICANN. + This centralization creates vulnerabilities. For example, the US government + was able to reassign the management of the country-TLDs of Afganistan and Iraq + during the wars at the beginning of the 21st century. + {% endtrans %} +

          +
          + +
          +

          {{ _("How does GNS protect against layer-3 censorship?") }}

          +

          + {% trans %} + A: GNS does not directly help with layer-3 censorship, but it does help + indirectly in two ways: + +

            +
          1. Many websites today use virtual hosting, so blocking a particular IP + address causes much more collateral damage than blocking a DNS name. + It thus raises the cost of censorship.
          2. +
          3. Existing layer-3 circumvention solutions (such as Tor) would benefit from + a censorship resistant naming system. Accessing Tor's ".onion" + namespace currently requires users to use unmemorable cryptographic + identifiers. With nicer names, Tor and tor2web-like services would be even + easier to use. +
          + {% endtrans %} +

          +
          + +
          +

          {{ _("Does GNS work with search engines?") }}

          +

          + {% trans %} + A: GNS creates no significant problems for search engines, as they can use GNS + to perform name resolution as well as any normal user. Naturally, while we + typically expect normal users to install custom software for name resolution, + this is unlikely to work for search engines today. However, the DNS2GNS + gateway allows search engines to use DNS to resolve GNS names, so they can + still index GNS resources. However, as using DNS2GNS gateways breaks the + cryptographic chain of trust, legacy search engines will obviously not obtain + censorship-resistant names. + {% endtrans %} +

          +
          + +
          +

          {{ _("How does GNS compare to the Unmanaged Internet Architecture (UIA)?") }}

          +

          + {% trans %} + A: UIA and GNS both share the same basic naming model, which actually + originated with Rivest's SDSI. However, UIA is not concerned about integration + with legacy applications and instead focuses on universal connectivity between + a user's many machines. In contrast, GNS was designed to interoperate with DNS + as much as possible, and to also work as much as possible with the existing + Web infrastructure. UIA is not at all concerned about legacy systems (clean + slate). + {% endtrans %} +

          +
          + +
          +

          {{ _("Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?") }}

          +

          + {% trans %} + A: First of all, in GNS you can explicitly see the trust chain, so you know if + a name you are resolving belongs to a friend, or a friend-of-a-friend, and can + thus decide how much you trust the result. Naturally, the trusted-computing + base (TCB) can become arbitrarily large this way --- however, given the name + length restriction, for an individual name it is always less than about 128 + entities. + {% endtrans %} +

          +
          + +
          +

          {{ _("How does GNS handle SRV/TLSA records where service and protocol are part of the domain name?") }}

          +

          + {% trans %} + A: When GNS splits a domain name into labels for resolution, it detects the + "_Service._Proto" syntax, converts "Service" to the + corresponding port number and "Proto" to the corresponding protocol + number. The rest of the name is resolved as usual. Then, when the result is + presented, GNS looks for the GNS-specific "BOX" record type. + A BOX record is a record that contains another record (such as SRV or TLSA + records) and adds a service and protocol number (and the original boxed record + type) to it. + {% endtrans %} +

          +
          + +
          +

          {{ _("Error messages") }}

          +
          +

          {{ _("I receive many "WARNING Calculated flow delay for X at Y for Z". Should I worry?") }}

          +

          + {% trans %} + A: Right now, this is expected and a known cause for high + latency in GNUnet. We have started a major rewrite to address + this and other problems, but until the Transport Next + Generation (TNG) is ready, these warnings are expected. + {% endtrans %} +

          +
          +
          +

          {{ _("Error opening `/dev/net/tun': No such file or directory?") }}

          +

          + {% trans %} + A: If you get this error message, the solution is simple. Issue the following + commands (as root) to create the required device file + {% endtrans %} + + # mkdir /dev/net
          + # mknod /dev/net/tun c 10 200
          +
          +

          +
          + +
          +

          {{ _("'iptables: No chain/target/match by that name.' (when running gnunet-service-dns)?") }}

          +

          + {% trans %} + A: For GNUnet DNS, your iptables needs to have "owner" match + support. + + This is accomplished by having the correct kernel options. Check if your + kernel has CONFIG_NETFILTER_XT_MATCH_OWNER set to either 'y' or 'm' (and the + module is loaded). + {% endtrans %} +

          +
          + +
          +

          {{ _("'Timeout was reached' when running PT on Fedora (and possibly others)?") }}

          +

          + {% trans %} + A: If you get an error stating that the VPN timeout was reached, check if your + firewall is enabled and blocking the connections. + {% endtrans %} +

          +
          + +
          +

          {{ _("I'm getting an 'error while loading shared libraries: libgnunetXXX.so.X'") }}

          +

          + {% trans %} + A: This error usually occurs when your linker fails to locate one of GNUnet's + libraries. This can have two causes. First, it is theoretically possible that + the library is not installed on your system; however, if you compiled GNUnet + the normal way and/or used a binary package, that is highly unlikely. The more + common cause is that you installed GNUnet to a directory that your linker + does not search. There are several ways to fix this that are described below. + + If you are 'root' and you installed to a system folder (such as /usr/local), + you want to add the libraries to the system-wide search path. This is done by + adding a line "/usr/local/lib/" to /etc/ld.so.conf and running "ldconfig". + If you installed GNUnet to /opt or any other similar path, you obviously have + to change "/usr/local" accordingly. + + If you do not have 'root' rights or if you installed GNUnet to say + "/home/$USER/", then you can explicitly tell your linker to search a + particular directory for libraries using the "LD_LIBRARY_PATH" environment + variable. For example, if you configured GNUnet using a prefix of + "$HOME/gnunet/" you want to run: + {% endtrans %} +

          + + $ export LD_LIBRARY_PATH=$HOME/gnunet/lib:$LD_LIBRARY_PATH
          + $ export PATH=$HOME/gnunet/bin:$PATH +
          +

          + {% trans %} + to ensure GNUnet's binaries and libraries are found. In order to avoid having to do so each time, you can add the above lines (without the "$") to your .bashrc or .profile file. You will have to logout and login again to have this new profile be applied to all shells (including your desktop environment). + {% endtrans %} +

          +
          + +
          +

          {{ _("What error messages can be ignored?") }}

          +

          + {% trans %} + A: Error messages flagged as "DEBUG" should be disabled in binaries + built for end-users and can always be ignored. + + Error messages flagged as "INFO" always refer to harmless events that + require no action. For example, GNUnet may use an INFO message to + indicate that it is currently performing an expensive operation that + will take some time. GNUnet will also use INFO messages to display + information about important configuration values. + {% endtrans %} +

          +
          + +
          +

          {{ _("File-sharing")}}

          +
          +

          {{ _("How does GNUnet compare to other file-sharing applications?") }}

          +

          + {% trans %} + A: As opposed to Napster, Gnutella, Kazaa, FastTrack, eDonkey and most + other P2P networks, GNUnet was designed with security in mind as the + highest priority. We intend on producing a network with comprehensive + security features. Many other P2P networks are open to a wide variety + of attacks, and users have little privacy. GNUnet is also Free + Software and thus the source code is available, so you do not have to + worry about being spied upon by the software. The following table + summarises the main differences between GNUnet and other systems. + The information is accurate to the best of our knowledge. + The comparison is difficult since there are sometimes differences + between various implementations of (almost) the same protocol. + In general, we pick a free implementation as the reference + implementation since it is possible to inspect the free code. Also, + all of these systems are changing over time and thus the data below + may not be up-to-date. If you find any flaws, please let us know. + Finally, the table is not saying terribly much (it is hard to compare + these systems this briefly), so if you want the real differences, read + the research papers (and probably the code). + {% endtrans %} +

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          NetworkGNUnet FSOneSwarmNapsterDirect ConnectFastTrackeDonkeyGnutellaFreenet
          Distributed Queriesyesyesnohubssuper-peersDHT (eMule)yesyes
          Multisource Downloadyesyesnonoyesyesyesno
          Economicsyesyesnononoyesnono
          Anonymityyesmaybenononononoyes
          LanguageCJavaoften CC++CC++often CJava
          Transport ProtocolUDP, TCP, SMTP, HTTPTCPTCPTCP?UDP, TCPUDP, TCPTCPTCP
          Query Format (UI)keywords / CHKfilename / SHA?keywordsfilename, THEXfilename, SHAfilename, MD4?filename, SHAsecret key, CHK
          Routingdynamic (indirect, direct)static (indirect, direct)always directalways directalways directalways directalways directalways indirect
          LicenseGPLGPLGPL (knapster)GPL (Valknut)GPL (giFT)GPL (eMule)GPL (gtk-gnutella)GPL
          +

          + {% trans %} + Another important point of reference are the various anonymous + peer-to-peer networks. + Here, there are differences in terms of application domain and how + specifically anonymity is achieved. + Anonymous routing is a hard research topic, so for a superficial + comparisson like this one we focus on the latency. + Another important factor is the programming language. + Type-safe languages may offer certain security benefits; however, this may come at the cost of significant increases in resource consumption which in turn may reduce anonymity. + {% endtrans %} +

          +
          +
          +

          {{ _("Are there any known attacks (on GNUnet's file-sharing application)?") }}

          +

          + {% trans %} + A: Generally, there is the possibility of a known plaintext attack on + keywords, but since the user has control over the keywords that are + associated with the content he inserts, the user can take advantage of + the same techniques used to generate reasonable passwords to defend + against such an attack. In any event, we are not trying to hide + content; thus, unless the user is trying to insert information into + the network that can only be shared with a small group of people, + there is no real reason to try to obfuscate the content by choosing a + difficult keyword anyway. + {% endtrans %} +

          +
          +
          +

          {{ _("What do you mean by anonymity?") }}

          +

          + {% trans %} + A: Anonymity is the lack of distinction of an individual from a + (large) group. A central goal for anonymous file-sharing in GNUnet is + to make all users (peers) form a group and to make communications in + that group anonymous, that is, nobody (but the initiator) should be + able to tell which of the peers in the group originated the message. + In other words, it should be difficult to impossible for an adversary + to distinguish between the originating peer and all other peers. + {% endtrans %} +

          +
          +
          +

          {{ _("What does my system do when participating in GNUnet file sharing?") }}

          +

          + {% trans %} + A: In GNUnet you set up a node (a peer). It is identified by an ID (hash + of its public key) and has a number of addresses it is reachable by + (may have no addresses, for instance when it's behind a NAT). + You specify bandwidth limits (how much traffic GNUnet is allowed to + consume) and datastore quote (how large your on-disk block storage is) + . Your node will then proceed to connect to other nodes, becoming + part of the network. + {% endtrans %} +

          +
          + +
          +

          {{ _("Contributing")}}

          +
          +

          {{ _("How can I help translate this webpage into other languages?") }}

          +

          + {% trans %} + A: First, you need to register an account with our weblate system. + Please send an e-mail with the desired target language to + translators@gnunet.org or ask for help on the #gnunet chat on + irc.freenode.net. Typically someone with sufficient permissions will + then grant you access. Naturally, any abuse will result in the loss + of permissions. + {% endtrans %} +

          +
          + +
          +

          {{ _("I have some great idea for a new feature, what should I do?") }}

          +

          + {% trans %} + A: Sadly, we have many more feature requests than we can possibly + implement. The best way to actually get a new feature implemented is + to do it yourself --- and to then send us a patch. + {% endtrans %} +

          +
          + + +
          - + - +

          {{ ("Q?") }}

          + --> {% endblock body_content %} -- cgit v1.2.3 From b0e2fc9f444dcedc25547959f64dcf0194128130 Mon Sep 17 00:00:00 2001 From: Martin Schanzenbach Date: Fri, 12 Mar 2021 16:12:56 +0100 Subject: more faq! --- locale/de/LC_MESSAGES/messages.po | 161 ++++++++++++++++++++----------------- locale/es/LC_MESSAGES/messages.po | 161 ++++++++++++++++++++----------------- locale/fr/LC_MESSAGES/messages.po | 161 ++++++++++++++++++++----------------- locale/it/LC_MESSAGES/messages.po | 161 ++++++++++++++++++++----------------- locale/messages.pot | 162 +++++++++++++++++++++----------------- template/faq.html.j2 | 127 +++++++++++++++++++++++++++--- 6 files changed, 550 insertions(+), 383 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/de/LC_MESSAGES/messages.po b/locale/de/LC_MESSAGES/messages.po index 0b2fec32..a3d680ab 100644 --- a/locale/de/LC_MESSAGES/messages.po +++ b/locale/de/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-12 15:55+0100\n" +"POT-Creation-Date: 2021-03-12 16:12+0100\n" "PO-Revision-Date: 2021-02-17 15:13+0000\n" "Last-Translator: Weblate Admin \n" "Language-Team: German has been published and below is a table from the " +"publication. For detailed descriptions please refer to the paper." +msgstr "" + +#: template/faq.html.j2:392 +msgid "What is the difference between GNS and CoDoNS?" +msgstr "" + +#: template/faq.html.j2:394 +msgid "" "A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the " "authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, and " "there are still registrars that determine who owns a name.

          With " @@ -1102,11 +1113,11 @@ msgid "" "the context of CoDoNS." msgstr "" -#: template/faq.html.j2:304 +#: template/faq.html.j2:410 msgid "What is the difference between GNS and SocialDNS?" msgstr "" -#: template/faq.html.j2:306 +#: template/faq.html.j2:412 msgid "" "A: Like GNS, SocialDNS allows each user to create DNS mappings. However, " "with SocialDNS the mappings are shared through the social network and " @@ -1116,11 +1127,11 @@ msgid "" "the name (the authority) manually changes the record." msgstr "" -#: template/faq.html.j2:320 +#: template/faq.html.j2:426 msgid "What is the difference between GNS and ODDNS?" msgstr "" -#: template/faq.html.j2:322 +#: template/faq.html.j2:428 msgid "" "A: ODDNS is primarily designed to bypass the DNS root zone and the TLD " "registries (such as those for \".com\" and \".org\"). Instead of using " @@ -1129,23 +1140,25 @@ msgid "" "servers. Resolution will fail if the target name servers change IPs." msgstr "" -#: template/faq.html.j2:333 -msgid "What is the difference between GNS and Namecoin?" -msgstr "" - -#: template/faq.html.j2:340 +#: template/faq.html.j2:439 msgid "What is the difference between GNS and Handshake?" msgstr "" -#: template/faq.html.j2:346 -msgid "What is the difference between GNS and ENS?" +#: template/faq.html.j2:441 +msgid "" +"A: Handshake is a blockchain-based method for root zone governance. Hence, " +"it does not address the name resolution process itself but delegates " +"resolution into DNS after the initial TLD resolution. Not taking " +"sustainablility considerations into account, handshake could be used as an " +"additional supporting GNS root zone governance model but we currently do not " +"have such plans in mind." msgstr "" -#: template/faq.html.j2:352 +#: template/faq.html.j2:453 msgid "What is the difference between GNS and TrickleDNS?" msgstr "" -#: template/faq.html.j2:354 +#: template/faq.html.j2:455 msgid "" "A: TrickleDNS pushes ("critical") DNS records between DNS " "resolvers of participating domains to provide "better availability, " @@ -1157,13 +1170,13 @@ msgid "" "the DNS hierarchy." msgstr "" -#: template/faq.html.j2:367 +#: template/faq.html.j2:468 msgid "" "Does GNS require real-world introduction (secure PKEY exchange) in the style " "of the PGP web of trust?" msgstr "" -#: template/faq.html.j2:369 +#: template/faq.html.j2:470 msgid "" "A: For security, it is well known that an initial trust path between the two " "parties must exist. However, for applications where this is not required, " @@ -1176,13 +1189,13 @@ msgid "" "can be queried under the ".pin" TLD." msgstr "" -#: template/faq.html.j2:384 +#: template/faq.html.j2:485 msgid "" "How can a legitimate domain owner tell other people to not use his name in " "GNS?" msgstr "" -#: template/faq.html.j2:386 +#: template/faq.html.j2:487 msgid "" "A: Names have no owners in GNS, so there cannot be a "legitimate" " "domain owner. Any user can claim any name (as his preferred name or "" @@ -1191,13 +1204,13 @@ msgid "" "name) for this user." msgstr "" -#: template/faq.html.j2:397 +#: template/faq.html.j2:498 msgid "" "Did you consider the privacy implications of making your personal GNS zone " "visible?" msgstr "" -#: template/faq.html.j2:399 +#: template/faq.html.j2:500 msgid "" "A: Each record in GNS has a flag "private". Records are shared " "with other users (via DHT or zone transfers) only if this flag is not set. " @@ -1205,11 +1218,11 @@ msgid "" "made public." msgstr "" -#: template/faq.html.j2:409 +#: template/faq.html.j2:510 msgid "Are \"Legacy Host\" (LEHO) records not going to be obsolete with IPv6?" msgstr "" -#: template/faq.html.j2:411 +#: template/faq.html.j2:512 msgid "" "A: The question presumes that (a) virtual hosting is only necessary because " "of IPv4 address scarcity, and (b) that LEHOs are only useful in the context " @@ -1221,13 +1234,13 @@ msgid "" "become commonplace, GNS should work with today's networks." msgstr "" -#: template/faq.html.j2:425 +#: template/faq.html.j2:526 msgid "" "Why does GNS not use a trust metric or consensus to determine globally " "unique names?" msgstr "" -#: template/faq.html.j2:427 +#: template/faq.html.j2:528 msgid "" "A: Trust metrics have the fundamental problem that they have thresholds. As " "trust relationships evolve, mappings would change their meaning as they " @@ -1236,11 +1249,11 @@ msgid "" "consensus might be easy to manipulate by adversaries." msgstr "" -#: template/faq.html.j2:438 +#: template/faq.html.j2:539 msgid "How do you handle compromised zone keys in GNS?" msgstr "" -#: template/faq.html.j2:440 +#: template/faq.html.j2:541 msgid "" "A: The owner of a private key can create a revocation message. This one can " "then be flooded throughout the overlay network, creating a copy at all " @@ -1250,11 +1263,11 @@ msgid "" "message when resolving names." msgstr "" -#: template/faq.html.j2:452 +#: template/faq.html.j2:553 msgid "Could the signing algorithm of GNS be upgraded in the future?" msgstr "" -#: template/faq.html.j2:454 +#: template/faq.html.j2:555 msgid "" "A: Yes. In our efforts to standardize GNS, we have already modified the " "protocol to support alternative delegation records.

          Naturally, " @@ -1264,12 +1277,12 @@ msgid "" "different cipher system." msgstr "" -#: template/faq.html.j2:468 +#: template/faq.html.j2:569 msgid "" "How can a GNS zone maintain several name servers, e.g. for load balancing?" msgstr "" -#: template/faq.html.j2:470 +#: template/faq.html.j2:571 msgid "" "A: We don't expect this to be necessary, as GNS records are stored (and " "replicated) in the R5N DHT. Thus the authority will typically not be " @@ -1280,13 +1293,13 @@ msgid "" "the zone's key and database among them)." msgstr "" -#: template/faq.html.j2:483 +#: template/faq.html.j2:584 msgid "" "Why do you believe it is worth giving up unique names for censorship " "resistance?" msgstr "" -#: template/faq.html.j2:485 +#: template/faq.html.j2:586 msgid "" "A: The GNU Name system offers an alternative to DNS that is censorship " "resistant. As with any security mechanism, this comes at a cost (names are " @@ -1298,11 +1311,11 @@ msgid "" "globally" unique name worth, if it does not resolve?" msgstr "" -#: template/faq.html.j2:499 +#: template/faq.html.j2:600 msgid "Why do you say that DNS is 'centralized' and 'distributed'?" msgstr "" -#: template/faq.html.j2:501 +#: template/faq.html.j2:602 msgid "" "A: We say that DNS is 'centralized' because it has a central component / " "central point of failure --- the root zone and its management by IANA/ICANN. " @@ -1311,11 +1324,11 @@ msgid "" "Iraq during the wars at the beginning of the 21st century." msgstr "" -#: template/faq.html.j2:512 +#: template/faq.html.j2:613 msgid "How does GNS protect against layer-3 censorship?" msgstr "" -#: template/faq.html.j2:514 +#: template/faq.html.j2:615 msgid "" "A: GNS does not directly help with layer-3 censorship, but it does help " "indirectly in two ways:
          1. Many websites today use virtual hosting, " @@ -1328,11 +1341,11 @@ msgid "" "easier to use.
          " msgstr "" -#: template/faq.html.j2:533 +#: template/faq.html.j2:634 msgid "Does GNS work with search engines?" msgstr "" -#: template/faq.html.j2:535 +#: template/faq.html.j2:636 msgid "" "A: GNS creates no significant problems for search engines, as they can use " "GNS to perform name resolution as well as any normal user. Naturally, while " @@ -1344,11 +1357,11 @@ msgid "" "obviously not obtain censorship-resistant names." msgstr "" -#: template/faq.html.j2:549 +#: template/faq.html.j2:650 msgid "How does GNS compare to the Unmanaged Internet Architecture (UIA)?" msgstr "" -#: template/faq.html.j2:551 +#: template/faq.html.j2:652 msgid "" "A: UIA and GNS both share the same basic naming model, which actually " "originated with Rivest's SDSI. However, UIA is not concerned about " @@ -1359,11 +1372,11 @@ msgid "" "about legacy systems (clean slate)." msgstr "" -#: template/faq.html.j2:564 +#: template/faq.html.j2:665 msgid "Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?" msgstr "" -#: template/faq.html.j2:566 +#: template/faq.html.j2:667 msgid "" "A: First of all, in GNS you can explicitly see the trust chain, so you know " "if a name you are resolving belongs to a friend, or a friend-of-a-friend, " @@ -1373,13 +1386,13 @@ msgid "" "than about 128 entities." msgstr "" -#: template/faq.html.j2:578 +#: template/faq.html.j2:679 msgid "" "How does GNS handle SRV/TLSA records where service and protocol are part of " "the domain name?" msgstr "" -#: template/faq.html.j2:580 +#: template/faq.html.j2:681 msgid "" "A: When GNS splits a domain name into labels for resolution, it detects the " ""_Service._Proto" syntax, converts "Service" to the " @@ -1391,13 +1404,13 @@ msgid "" "record type) to it." msgstr "" -#: template/faq.html.j2:596 +#: template/faq.html.j2:697 msgid "" "I receive many "WARNING Calculated flow delay for X at Y for Z". " "Should I worry?" msgstr "" -#: template/faq.html.j2:598 +#: template/faq.html.j2:699 msgid "" "A: Right now, this is expected and a known cause for high latency in GNUnet. " "We have started a major rewrite to address this and other problems, but " @@ -1405,23 +1418,23 @@ msgid "" "expected." msgstr "" -#: template/faq.html.j2:607 +#: template/faq.html.j2:708 msgid "Error opening `/dev/net/tun': No such file or directory?" msgstr "" -#: template/faq.html.j2:609 +#: template/faq.html.j2:710 msgid "" "A: If you get this error message, the solution is simple. Issue the " "following commands (as root) to create the required device file" msgstr "" -#: template/faq.html.j2:621 +#: template/faq.html.j2:722 msgid "" "'iptables: No chain/target/match by that name.' (when running gnunet-service-" "dns)?" msgstr "" -#: template/faq.html.j2:623 +#: template/faq.html.j2:724 msgid "" "A: For GNUnet DNS, your iptables needs to have "owner" match " "support. This is accomplished by having the correct kernel options. Check if " @@ -1429,22 +1442,22 @@ msgid "" "'m' (and the module is loaded)." msgstr "" -#: template/faq.html.j2:635 +#: template/faq.html.j2:736 msgid "'Timeout was reached' when running PT on Fedora (and possibly others)?" msgstr "" -#: template/faq.html.j2:637 +#: template/faq.html.j2:738 msgid "" "A: If you get an error stating that the VPN timeout was reached, check if " "your firewall is enabled and blocking the connections." msgstr "" -#: template/faq.html.j2:645 +#: template/faq.html.j2:746 msgid "" "I'm getting an 'error while loading shared libraries: libgnunetXXX.so.X'" msgstr "" -#: template/faq.html.j2:647 +#: template/faq.html.j2:748 msgid "" "A: This error usually occurs when your linker fails to locate one of " "GNUnet's libraries. This can have two causes. First, it is theoretically " @@ -1464,7 +1477,7 @@ msgid "" "you want to run:" msgstr "" -#: template/faq.html.j2:673 +#: template/faq.html.j2:774 msgid "" "to ensure GNUnet's binaries and libraries are found. In order to avoid " "having to do so each time, you can add the above lines (without the \"$\") " @@ -1473,11 +1486,11 @@ msgid "" "environment)." msgstr "" -#: template/faq.html.j2:680 +#: template/faq.html.j2:781 msgid "What error messages can be ignored?" msgstr "" -#: template/faq.html.j2:682 +#: template/faq.html.j2:783 msgid "" "A: Error messages flagged as \"DEBUG\" should be disabled in binaries built " "for end-users and can always be ignored. Error messages flagged as \"INFO\" " @@ -1487,11 +1500,11 @@ msgid "" "messages to display information about important configuration values." msgstr "" -#: template/faq.html.j2:698 +#: template/faq.html.j2:799 msgid "How does GNUnet compare to other file-sharing applications?" msgstr "" -#: template/faq.html.j2:700 +#: template/faq.html.j2:801 msgid "" "A: As opposed to Napster, Gnutella, Kazaa, FastTrack, eDonkey and most other " "P2P networks, GNUnet was designed with security in mind as the highest " @@ -1511,7 +1524,7 @@ msgid "" "read the research papers (and probably the code)." msgstr "" -#: template/faq.html.j2:814 +#: template/faq.html.j2:915 msgid "" "Another important point of reference are the various anonymous peer-to-peer " "networks. Here, there are differences in terms of application domain and how " @@ -1523,11 +1536,11 @@ msgid "" "reduce anonymity." msgstr "" -#: template/faq.html.j2:827 +#: template/faq.html.j2:928 msgid "Are there any known attacks (on GNUnet's file-sharing application)?" msgstr "" -#: template/faq.html.j2:829 +#: template/faq.html.j2:930 msgid "" "A: Generally, there is the possibility of a known plaintext attack on " "keywords, but since the user has control over the keywords that are " @@ -1539,11 +1552,11 @@ msgid "" "obfuscate the content by choosing a difficult keyword anyway." msgstr "" -#: template/faq.html.j2:843 +#: template/faq.html.j2:944 msgid "What do you mean by anonymity?" msgstr "" -#: template/faq.html.j2:845 +#: template/faq.html.j2:946 msgid "" "A: Anonymity is the lack of distinction of an individual from a (large) " "group. A central goal for anonymous file-sharing in GNUnet is to make all " @@ -1554,11 +1567,11 @@ msgid "" "originating peer and all other peers." msgstr "" -#: template/faq.html.j2:857 +#: template/faq.html.j2:958 msgid "What does my system do when participating in GNUnet file sharing?" msgstr "" -#: template/faq.html.j2:859 +#: template/faq.html.j2:960 msgid "" "A: In GNUnet you set up a node (a peer). It is identified by an ID (hash of " "its public key) and has a number of addresses it is reachable by (may have " @@ -1568,11 +1581,11 @@ msgid "" "connect to other nodes, becoming part of the network." msgstr "" -#: template/faq.html.j2:874 +#: template/faq.html.j2:975 msgid "How can I help translate this webpage into other languages?" msgstr "" -#: template/faq.html.j2:876 +#: template/faq.html.j2:977 msgid "" "A: First, you need to register an account with our weblate system. Please " "send an e-mail with the desired target language to translators@gnunet.org or " @@ -1581,11 +1594,11 @@ msgid "" "result in the loss of permissions." msgstr "" -#: template/faq.html.j2:888 +#: template/faq.html.j2:989 msgid "I have some great idea for a new feature, what should I do?" msgstr "" -#: template/faq.html.j2:890 +#: template/faq.html.j2:991 msgid "" "A: Sadly, we have many more feature requests than we can possibly implement. " "The best way to actually get a new feature implemented is to do it yourself " diff --git a/locale/es/LC_MESSAGES/messages.po b/locale/es/LC_MESSAGES/messages.po index f07ea96c..ccb0387e 100644 --- a/locale/es/LC_MESSAGES/messages.po +++ b/locale/es/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-12 15:55+0100\n" +"POT-Creation-Date: 2021-03-12 16:12+0100\n" "PO-Revision-Date: 2021-03-10 21:17+0000\n" "Last-Translator: Samira Tamboura \n" "Language-Team: Spanish has been published and below is a table from the " +"publication. For detailed descriptions please refer to the paper." +msgstr "" + +#: template/faq.html.j2:392 +msgid "What is the difference between GNS and CoDoNS?" +msgstr "" + +#: template/faq.html.j2:394 +msgid "" "A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the " "authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, and " "there are still registrars that determine who owns a name.

          With " @@ -1320,11 +1331,11 @@ msgid "" "the context of CoDoNS." msgstr "" -#: template/faq.html.j2:304 +#: template/faq.html.j2:410 msgid "What is the difference between GNS and SocialDNS?" msgstr "" -#: template/faq.html.j2:306 +#: template/faq.html.j2:412 msgid "" "A: Like GNS, SocialDNS allows each user to create DNS mappings. However, " "with SocialDNS the mappings are shared through the social network and " @@ -1334,11 +1345,11 @@ msgid "" "the name (the authority) manually changes the record." msgstr "" -#: template/faq.html.j2:320 +#: template/faq.html.j2:426 msgid "What is the difference between GNS and ODDNS?" msgstr "" -#: template/faq.html.j2:322 +#: template/faq.html.j2:428 msgid "" "A: ODDNS is primarily designed to bypass the DNS root zone and the TLD " "registries (such as those for \".com\" and \".org\"). Instead of using " @@ -1347,23 +1358,25 @@ msgid "" "servers. Resolution will fail if the target name servers change IPs." msgstr "" -#: template/faq.html.j2:333 -msgid "What is the difference between GNS and Namecoin?" -msgstr "" - -#: template/faq.html.j2:340 +#: template/faq.html.j2:439 msgid "What is the difference between GNS and Handshake?" msgstr "" -#: template/faq.html.j2:346 -msgid "What is the difference between GNS and ENS?" +#: template/faq.html.j2:441 +msgid "" +"A: Handshake is a blockchain-based method for root zone governance. Hence, " +"it does not address the name resolution process itself but delegates " +"resolution into DNS after the initial TLD resolution. Not taking " +"sustainablility considerations into account, handshake could be used as an " +"additional supporting GNS root zone governance model but we currently do not " +"have such plans in mind." msgstr "" -#: template/faq.html.j2:352 +#: template/faq.html.j2:453 msgid "What is the difference between GNS and TrickleDNS?" msgstr "" -#: template/faq.html.j2:354 +#: template/faq.html.j2:455 msgid "" "A: TrickleDNS pushes ("critical") DNS records between DNS " "resolvers of participating domains to provide "better availability, " @@ -1375,13 +1388,13 @@ msgid "" "the DNS hierarchy." msgstr "" -#: template/faq.html.j2:367 +#: template/faq.html.j2:468 msgid "" "Does GNS require real-world introduction (secure PKEY exchange) in the style " "of the PGP web of trust?" msgstr "" -#: template/faq.html.j2:369 +#: template/faq.html.j2:470 msgid "" "A: For security, it is well known that an initial trust path between the two " "parties must exist. However, for applications where this is not required, " @@ -1394,13 +1407,13 @@ msgid "" "can be queried under the ".pin" TLD." msgstr "" -#: template/faq.html.j2:384 +#: template/faq.html.j2:485 msgid "" "How can a legitimate domain owner tell other people to not use his name in " "GNS?" msgstr "" -#: template/faq.html.j2:386 +#: template/faq.html.j2:487 msgid "" "A: Names have no owners in GNS, so there cannot be a "legitimate" " "domain owner. Any user can claim any name (as his preferred name or "" @@ -1409,13 +1422,13 @@ msgid "" "name) for this user." msgstr "" -#: template/faq.html.j2:397 +#: template/faq.html.j2:498 msgid "" "Did you consider the privacy implications of making your personal GNS zone " "visible?" msgstr "" -#: template/faq.html.j2:399 +#: template/faq.html.j2:500 msgid "" "A: Each record in GNS has a flag "private". Records are shared " "with other users (via DHT or zone transfers) only if this flag is not set. " @@ -1423,11 +1436,11 @@ msgid "" "made public." msgstr "" -#: template/faq.html.j2:409 +#: template/faq.html.j2:510 msgid "Are \"Legacy Host\" (LEHO) records not going to be obsolete with IPv6?" msgstr "" -#: template/faq.html.j2:411 +#: template/faq.html.j2:512 msgid "" "A: The question presumes that (a) virtual hosting is only necessary because " "of IPv4 address scarcity, and (b) that LEHOs are only useful in the context " @@ -1439,13 +1452,13 @@ msgid "" "become commonplace, GNS should work with today's networks." msgstr "" -#: template/faq.html.j2:425 +#: template/faq.html.j2:526 msgid "" "Why does GNS not use a trust metric or consensus to determine globally " "unique names?" msgstr "" -#: template/faq.html.j2:427 +#: template/faq.html.j2:528 msgid "" "A: Trust metrics have the fundamental problem that they have thresholds. As " "trust relationships evolve, mappings would change their meaning as they " @@ -1454,11 +1467,11 @@ msgid "" "consensus might be easy to manipulate by adversaries." msgstr "" -#: template/faq.html.j2:438 +#: template/faq.html.j2:539 msgid "How do you handle compromised zone keys in GNS?" msgstr "" -#: template/faq.html.j2:440 +#: template/faq.html.j2:541 msgid "" "A: The owner of a private key can create a revocation message. This one can " "then be flooded throughout the overlay network, creating a copy at all " @@ -1468,11 +1481,11 @@ msgid "" "message when resolving names." msgstr "" -#: template/faq.html.j2:452 +#: template/faq.html.j2:553 msgid "Could the signing algorithm of GNS be upgraded in the future?" msgstr "" -#: template/faq.html.j2:454 +#: template/faq.html.j2:555 msgid "" "A: Yes. In our efforts to standardize GNS, we have already modified the " "protocol to support alternative delegation records.

          Naturally, " @@ -1482,12 +1495,12 @@ msgid "" "different cipher system." msgstr "" -#: template/faq.html.j2:468 +#: template/faq.html.j2:569 msgid "" "How can a GNS zone maintain several name servers, e.g. for load balancing?" msgstr "" -#: template/faq.html.j2:470 +#: template/faq.html.j2:571 msgid "" "A: We don't expect this to be necessary, as GNS records are stored (and " "replicated) in the R5N DHT. Thus the authority will typically not be " @@ -1498,13 +1511,13 @@ msgid "" "the zone's key and database among them)." msgstr "" -#: template/faq.html.j2:483 +#: template/faq.html.j2:584 msgid "" "Why do you believe it is worth giving up unique names for censorship " "resistance?" msgstr "" -#: template/faq.html.j2:485 +#: template/faq.html.j2:586 msgid "" "A: The GNU Name system offers an alternative to DNS that is censorship " "resistant. As with any security mechanism, this comes at a cost (names are " @@ -1516,11 +1529,11 @@ msgid "" "globally" unique name worth, if it does not resolve?" msgstr "" -#: template/faq.html.j2:499 +#: template/faq.html.j2:600 msgid "Why do you say that DNS is 'centralized' and 'distributed'?" msgstr "" -#: template/faq.html.j2:501 +#: template/faq.html.j2:602 msgid "" "A: We say that DNS is 'centralized' because it has a central component / " "central point of failure --- the root zone and its management by IANA/ICANN. " @@ -1529,11 +1542,11 @@ msgid "" "Iraq during the wars at the beginning of the 21st century." msgstr "" -#: template/faq.html.j2:512 +#: template/faq.html.j2:613 msgid "How does GNS protect against layer-3 censorship?" msgstr "" -#: template/faq.html.j2:514 +#: template/faq.html.j2:615 msgid "" "A: GNS does not directly help with layer-3 censorship, but it does help " "indirectly in two ways:
          1. Many websites today use virtual hosting, " @@ -1546,11 +1559,11 @@ msgid "" "easier to use.
          " msgstr "" -#: template/faq.html.j2:533 +#: template/faq.html.j2:634 msgid "Does GNS work with search engines?" msgstr "" -#: template/faq.html.j2:535 +#: template/faq.html.j2:636 msgid "" "A: GNS creates no significant problems for search engines, as they can use " "GNS to perform name resolution as well as any normal user. Naturally, while " @@ -1562,11 +1575,11 @@ msgid "" "obviously not obtain censorship-resistant names." msgstr "" -#: template/faq.html.j2:549 +#: template/faq.html.j2:650 msgid "How does GNS compare to the Unmanaged Internet Architecture (UIA)?" msgstr "" -#: template/faq.html.j2:551 +#: template/faq.html.j2:652 msgid "" "A: UIA and GNS both share the same basic naming model, which actually " "originated with Rivest's SDSI. However, UIA is not concerned about " @@ -1577,11 +1590,11 @@ msgid "" "about legacy systems (clean slate)." msgstr "" -#: template/faq.html.j2:564 +#: template/faq.html.j2:665 msgid "Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?" msgstr "" -#: template/faq.html.j2:566 +#: template/faq.html.j2:667 msgid "" "A: First of all, in GNS you can explicitly see the trust chain, so you know " "if a name you are resolving belongs to a friend, or a friend-of-a-friend, " @@ -1591,13 +1604,13 @@ msgid "" "than about 128 entities." msgstr "" -#: template/faq.html.j2:578 +#: template/faq.html.j2:679 msgid "" "How does GNS handle SRV/TLSA records where service and protocol are part of " "the domain name?" msgstr "" -#: template/faq.html.j2:580 +#: template/faq.html.j2:681 msgid "" "A: When GNS splits a domain name into labels for resolution, it detects the " ""_Service._Proto" syntax, converts "Service" to the " @@ -1609,7 +1622,7 @@ msgid "" "record type) to it." msgstr "" -#: template/faq.html.j2:596 +#: template/faq.html.j2:697 msgid "" "I receive many "WARNING Calculated flow delay for X at Y for Z". " "Should I worry?" @@ -1617,7 +1630,7 @@ msgstr "" "Recibo muchas " WARNING Retardo de flujo calculado para X en Y para " "Z". ¿Debería preocuparme?" -#: template/faq.html.j2:598 +#: template/faq.html.j2:699 msgid "" "A: Right now, this is expected and a known cause for high latency in GNUnet. " "We have started a major rewrite to address this and other problems, but " @@ -1629,23 +1642,23 @@ msgstr "" "este y otros problemas, pero hasta que el Transport Next Generation (TNG) " "esté listo, estas advertencias seguirán ocurriendo." -#: template/faq.html.j2:607 +#: template/faq.html.j2:708 msgid "Error opening `/dev/net/tun': No such file or directory?" msgstr "" -#: template/faq.html.j2:609 +#: template/faq.html.j2:710 msgid "" "A: If you get this error message, the solution is simple. Issue the " "following commands (as root) to create the required device file" msgstr "" -#: template/faq.html.j2:621 +#: template/faq.html.j2:722 msgid "" "'iptables: No chain/target/match by that name.' (when running gnunet-service-" "dns)?" msgstr "" -#: template/faq.html.j2:623 +#: template/faq.html.j2:724 msgid "" "A: For GNUnet DNS, your iptables needs to have "owner" match " "support. This is accomplished by having the correct kernel options. Check if " @@ -1653,22 +1666,22 @@ msgid "" "'m' (and the module is loaded)." msgstr "" -#: template/faq.html.j2:635 +#: template/faq.html.j2:736 msgid "'Timeout was reached' when running PT on Fedora (and possibly others)?" msgstr "" -#: template/faq.html.j2:637 +#: template/faq.html.j2:738 msgid "" "A: If you get an error stating that the VPN timeout was reached, check if " "your firewall is enabled and blocking the connections." msgstr "" -#: template/faq.html.j2:645 +#: template/faq.html.j2:746 msgid "" "I'm getting an 'error while loading shared libraries: libgnunetXXX.so.X'" msgstr "" -#: template/faq.html.j2:647 +#: template/faq.html.j2:748 msgid "" "A: This error usually occurs when your linker fails to locate one of " "GNUnet's libraries. This can have two causes. First, it is theoretically " @@ -1688,7 +1701,7 @@ msgid "" "you want to run:" msgstr "" -#: template/faq.html.j2:673 +#: template/faq.html.j2:774 msgid "" "to ensure GNUnet's binaries and libraries are found. In order to avoid " "having to do so each time, you can add the above lines (without the \"$\") " @@ -1697,11 +1710,11 @@ msgid "" "environment)." msgstr "" -#: template/faq.html.j2:680 +#: template/faq.html.j2:781 msgid "What error messages can be ignored?" msgstr "" -#: template/faq.html.j2:682 +#: template/faq.html.j2:783 msgid "" "A: Error messages flagged as \"DEBUG\" should be disabled in binaries built " "for end-users and can always be ignored. Error messages flagged as \"INFO\" " @@ -1711,11 +1724,11 @@ msgid "" "messages to display information about important configuration values." msgstr "" -#: template/faq.html.j2:698 +#: template/faq.html.j2:799 msgid "How does GNUnet compare to other file-sharing applications?" msgstr "" -#: template/faq.html.j2:700 +#: template/faq.html.j2:801 msgid "" "A: As opposed to Napster, Gnutella, Kazaa, FastTrack, eDonkey and most other " "P2P networks, GNUnet was designed with security in mind as the highest " @@ -1735,7 +1748,7 @@ msgid "" "read the research papers (and probably the code)." msgstr "" -#: template/faq.html.j2:814 +#: template/faq.html.j2:915 msgid "" "Another important point of reference are the various anonymous peer-to-peer " "networks. Here, there are differences in terms of application domain and how " @@ -1747,11 +1760,11 @@ msgid "" "reduce anonymity." msgstr "" -#: template/faq.html.j2:827 +#: template/faq.html.j2:928 msgid "Are there any known attacks (on GNUnet's file-sharing application)?" msgstr "" -#: template/faq.html.j2:829 +#: template/faq.html.j2:930 msgid "" "A: Generally, there is the possibility of a known plaintext attack on " "keywords, but since the user has control over the keywords that are " @@ -1763,11 +1776,11 @@ msgid "" "obfuscate the content by choosing a difficult keyword anyway." msgstr "" -#: template/faq.html.j2:843 +#: template/faq.html.j2:944 msgid "What do you mean by anonymity?" msgstr "" -#: template/faq.html.j2:845 +#: template/faq.html.j2:946 msgid "" "A: Anonymity is the lack of distinction of an individual from a (large) " "group. A central goal for anonymous file-sharing in GNUnet is to make all " @@ -1778,11 +1791,11 @@ msgid "" "originating peer and all other peers." msgstr "" -#: template/faq.html.j2:857 +#: template/faq.html.j2:958 msgid "What does my system do when participating in GNUnet file sharing?" msgstr "" -#: template/faq.html.j2:859 +#: template/faq.html.j2:960 msgid "" "A: In GNUnet you set up a node (a peer). It is identified by an ID (hash of " "its public key) and has a number of addresses it is reachable by (may have " @@ -1792,11 +1805,11 @@ msgid "" "connect to other nodes, becoming part of the network." msgstr "" -#: template/faq.html.j2:874 +#: template/faq.html.j2:975 msgid "How can I help translate this webpage into other languages?" msgstr "" -#: template/faq.html.j2:876 +#: template/faq.html.j2:977 msgid "" "A: First, you need to register an account with our weblate system. Please " "send an e-mail with the desired target language to translators@gnunet.org or " @@ -1805,11 +1818,11 @@ msgid "" "result in the loss of permissions." msgstr "" -#: template/faq.html.j2:888 +#: template/faq.html.j2:989 msgid "I have some great idea for a new feature, what should I do?" msgstr "" -#: template/faq.html.j2:890 +#: template/faq.html.j2:991 msgid "" "A: Sadly, we have many more feature requests than we can possibly implement. " "The best way to actually get a new feature implemented is to do it yourself " diff --git a/locale/fr/LC_MESSAGES/messages.po b/locale/fr/LC_MESSAGES/messages.po index caa9b891..4430a1f5 100644 --- a/locale/fr/LC_MESSAGES/messages.po +++ b/locale/fr/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-12 15:55+0100\n" +"POT-Creation-Date: 2021-03-12 16:12+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -791,15 +791,15 @@ msgstr "" msgid "Features" msgstr "" -#: template/faq.html.j2:15 template/faq.html.j2:594 +#: template/faq.html.j2:15 template/faq.html.j2:695 msgid "Error messages" msgstr "" -#: template/faq.html.j2:16 template/faq.html.j2:696 +#: template/faq.html.j2:16 template/faq.html.j2:797 msgid "File-sharing" msgstr "" -#: template/faq.html.j2:17 template/faq.html.j2:872 +#: template/faq.html.j2:17 template/faq.html.j2:973 msgid "Contributing" msgstr "" @@ -1051,11 +1051,22 @@ msgid "" msgstr "" #: template/faq.html.j2:286 -msgid "What is the difference between GNS and CoDoNS?" +msgid "How does GNS compare to other name systems" msgstr "" #: template/faq.html.j2:288 msgid "" +"A: A scientific paper on this topic has been published and below is a table from the " +"publication. For detailed descriptions please refer to the paper." +msgstr "" + +#: template/faq.html.j2:392 +msgid "What is the difference between GNS and CoDoNS?" +msgstr "" + +#: template/faq.html.j2:394 +msgid "" "A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the " "authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, and " "there are still registrars that determine who owns a name.

          With " @@ -1066,11 +1077,11 @@ msgid "" "the context of CoDoNS." msgstr "" -#: template/faq.html.j2:304 +#: template/faq.html.j2:410 msgid "What is the difference between GNS and SocialDNS?" msgstr "" -#: template/faq.html.j2:306 +#: template/faq.html.j2:412 msgid "" "A: Like GNS, SocialDNS allows each user to create DNS mappings. However, " "with SocialDNS the mappings are shared through the social network and " @@ -1080,11 +1091,11 @@ msgid "" "the name (the authority) manually changes the record." msgstr "" -#: template/faq.html.j2:320 +#: template/faq.html.j2:426 msgid "What is the difference between GNS and ODDNS?" msgstr "" -#: template/faq.html.j2:322 +#: template/faq.html.j2:428 msgid "" "A: ODDNS is primarily designed to bypass the DNS root zone and the TLD " "registries (such as those for \".com\" and \".org\"). Instead of using " @@ -1093,23 +1104,25 @@ msgid "" "servers. Resolution will fail if the target name servers change IPs." msgstr "" -#: template/faq.html.j2:333 -msgid "What is the difference between GNS and Namecoin?" -msgstr "" - -#: template/faq.html.j2:340 +#: template/faq.html.j2:439 msgid "What is the difference between GNS and Handshake?" msgstr "" -#: template/faq.html.j2:346 -msgid "What is the difference between GNS and ENS?" +#: template/faq.html.j2:441 +msgid "" +"A: Handshake is a blockchain-based method for root zone governance. Hence, " +"it does not address the name resolution process itself but delegates " +"resolution into DNS after the initial TLD resolution. Not taking " +"sustainablility considerations into account, handshake could be used as an " +"additional supporting GNS root zone governance model but we currently do not " +"have such plans in mind." msgstr "" -#: template/faq.html.j2:352 +#: template/faq.html.j2:453 msgid "What is the difference between GNS and TrickleDNS?" msgstr "" -#: template/faq.html.j2:354 +#: template/faq.html.j2:455 msgid "" "A: TrickleDNS pushes ("critical") DNS records between DNS " "resolvers of participating domains to provide "better availability, " @@ -1121,13 +1134,13 @@ msgid "" "the DNS hierarchy." msgstr "" -#: template/faq.html.j2:367 +#: template/faq.html.j2:468 msgid "" "Does GNS require real-world introduction (secure PKEY exchange) in the style " "of the PGP web of trust?" msgstr "" -#: template/faq.html.j2:369 +#: template/faq.html.j2:470 msgid "" "A: For security, it is well known that an initial trust path between the two " "parties must exist. However, for applications where this is not required, " @@ -1140,13 +1153,13 @@ msgid "" "can be queried under the ".pin" TLD." msgstr "" -#: template/faq.html.j2:384 +#: template/faq.html.j2:485 msgid "" "How can a legitimate domain owner tell other people to not use his name in " "GNS?" msgstr "" -#: template/faq.html.j2:386 +#: template/faq.html.j2:487 msgid "" "A: Names have no owners in GNS, so there cannot be a "legitimate" " "domain owner. Any user can claim any name (as his preferred name or "" @@ -1155,13 +1168,13 @@ msgid "" "name) for this user." msgstr "" -#: template/faq.html.j2:397 +#: template/faq.html.j2:498 msgid "" "Did you consider the privacy implications of making your personal GNS zone " "visible?" msgstr "" -#: template/faq.html.j2:399 +#: template/faq.html.j2:500 msgid "" "A: Each record in GNS has a flag "private". Records are shared " "with other users (via DHT or zone transfers) only if this flag is not set. " @@ -1169,11 +1182,11 @@ msgid "" "made public." msgstr "" -#: template/faq.html.j2:409 +#: template/faq.html.j2:510 msgid "Are \"Legacy Host\" (LEHO) records not going to be obsolete with IPv6?" msgstr "" -#: template/faq.html.j2:411 +#: template/faq.html.j2:512 msgid "" "A: The question presumes that (a) virtual hosting is only necessary because " "of IPv4 address scarcity, and (b) that LEHOs are only useful in the context " @@ -1185,13 +1198,13 @@ msgid "" "become commonplace, GNS should work with today's networks." msgstr "" -#: template/faq.html.j2:425 +#: template/faq.html.j2:526 msgid "" "Why does GNS not use a trust metric or consensus to determine globally " "unique names?" msgstr "" -#: template/faq.html.j2:427 +#: template/faq.html.j2:528 msgid "" "A: Trust metrics have the fundamental problem that they have thresholds. As " "trust relationships evolve, mappings would change their meaning as they " @@ -1200,11 +1213,11 @@ msgid "" "consensus might be easy to manipulate by adversaries." msgstr "" -#: template/faq.html.j2:438 +#: template/faq.html.j2:539 msgid "How do you handle compromised zone keys in GNS?" msgstr "" -#: template/faq.html.j2:440 +#: template/faq.html.j2:541 msgid "" "A: The owner of a private key can create a revocation message. This one can " "then be flooded throughout the overlay network, creating a copy at all " @@ -1214,11 +1227,11 @@ msgid "" "message when resolving names." msgstr "" -#: template/faq.html.j2:452 +#: template/faq.html.j2:553 msgid "Could the signing algorithm of GNS be upgraded in the future?" msgstr "" -#: template/faq.html.j2:454 +#: template/faq.html.j2:555 msgid "" "A: Yes. In our efforts to standardize GNS, we have already modified the " "protocol to support alternative delegation records.

          Naturally, " @@ -1228,12 +1241,12 @@ msgid "" "different cipher system." msgstr "" -#: template/faq.html.j2:468 +#: template/faq.html.j2:569 msgid "" "How can a GNS zone maintain several name servers, e.g. for load balancing?" msgstr "" -#: template/faq.html.j2:470 +#: template/faq.html.j2:571 msgid "" "A: We don't expect this to be necessary, as GNS records are stored (and " "replicated) in the R5N DHT. Thus the authority will typically not be " @@ -1244,13 +1257,13 @@ msgid "" "the zone's key and database among them)." msgstr "" -#: template/faq.html.j2:483 +#: template/faq.html.j2:584 msgid "" "Why do you believe it is worth giving up unique names for censorship " "resistance?" msgstr "" -#: template/faq.html.j2:485 +#: template/faq.html.j2:586 msgid "" "A: The GNU Name system offers an alternative to DNS that is censorship " "resistant. As with any security mechanism, this comes at a cost (names are " @@ -1262,11 +1275,11 @@ msgid "" "globally" unique name worth, if it does not resolve?" msgstr "" -#: template/faq.html.j2:499 +#: template/faq.html.j2:600 msgid "Why do you say that DNS is 'centralized' and 'distributed'?" msgstr "" -#: template/faq.html.j2:501 +#: template/faq.html.j2:602 msgid "" "A: We say that DNS is 'centralized' because it has a central component / " "central point of failure --- the root zone and its management by IANA/ICANN. " @@ -1275,11 +1288,11 @@ msgid "" "Iraq during the wars at the beginning of the 21st century." msgstr "" -#: template/faq.html.j2:512 +#: template/faq.html.j2:613 msgid "How does GNS protect against layer-3 censorship?" msgstr "" -#: template/faq.html.j2:514 +#: template/faq.html.j2:615 msgid "" "A: GNS does not directly help with layer-3 censorship, but it does help " "indirectly in two ways:
          1. Many websites today use virtual hosting, " @@ -1292,11 +1305,11 @@ msgid "" "easier to use.
          " msgstr "" -#: template/faq.html.j2:533 +#: template/faq.html.j2:634 msgid "Does GNS work with search engines?" msgstr "" -#: template/faq.html.j2:535 +#: template/faq.html.j2:636 msgid "" "A: GNS creates no significant problems for search engines, as they can use " "GNS to perform name resolution as well as any normal user. Naturally, while " @@ -1308,11 +1321,11 @@ msgid "" "obviously not obtain censorship-resistant names." msgstr "" -#: template/faq.html.j2:549 +#: template/faq.html.j2:650 msgid "How does GNS compare to the Unmanaged Internet Architecture (UIA)?" msgstr "" -#: template/faq.html.j2:551 +#: template/faq.html.j2:652 msgid "" "A: UIA and GNS both share the same basic naming model, which actually " "originated with Rivest's SDSI. However, UIA is not concerned about " @@ -1323,11 +1336,11 @@ msgid "" "about legacy systems (clean slate)." msgstr "" -#: template/faq.html.j2:564 +#: template/faq.html.j2:665 msgid "Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?" msgstr "" -#: template/faq.html.j2:566 +#: template/faq.html.j2:667 msgid "" "A: First of all, in GNS you can explicitly see the trust chain, so you know " "if a name you are resolving belongs to a friend, or a friend-of-a-friend, " @@ -1337,13 +1350,13 @@ msgid "" "than about 128 entities." msgstr "" -#: template/faq.html.j2:578 +#: template/faq.html.j2:679 msgid "" "How does GNS handle SRV/TLSA records where service and protocol are part of " "the domain name?" msgstr "" -#: template/faq.html.j2:580 +#: template/faq.html.j2:681 msgid "" "A: When GNS splits a domain name into labels for resolution, it detects the " ""_Service._Proto" syntax, converts "Service" to the " @@ -1355,13 +1368,13 @@ msgid "" "record type) to it." msgstr "" -#: template/faq.html.j2:596 +#: template/faq.html.j2:697 msgid "" "I receive many "WARNING Calculated flow delay for X at Y for Z". " "Should I worry?" msgstr "" -#: template/faq.html.j2:598 +#: template/faq.html.j2:699 msgid "" "A: Right now, this is expected and a known cause for high latency in GNUnet. " "We have started a major rewrite to address this and other problems, but " @@ -1369,23 +1382,23 @@ msgid "" "expected." msgstr "" -#: template/faq.html.j2:607 +#: template/faq.html.j2:708 msgid "Error opening `/dev/net/tun': No such file or directory?" msgstr "" -#: template/faq.html.j2:609 +#: template/faq.html.j2:710 msgid "" "A: If you get this error message, the solution is simple. Issue the " "following commands (as root) to create the required device file" msgstr "" -#: template/faq.html.j2:621 +#: template/faq.html.j2:722 msgid "" "'iptables: No chain/target/match by that name.' (when running gnunet-service-" "dns)?" msgstr "" -#: template/faq.html.j2:623 +#: template/faq.html.j2:724 msgid "" "A: For GNUnet DNS, your iptables needs to have "owner" match " "support. This is accomplished by having the correct kernel options. Check if " @@ -1393,22 +1406,22 @@ msgid "" "'m' (and the module is loaded)." msgstr "" -#: template/faq.html.j2:635 +#: template/faq.html.j2:736 msgid "'Timeout was reached' when running PT on Fedora (and possibly others)?" msgstr "" -#: template/faq.html.j2:637 +#: template/faq.html.j2:738 msgid "" "A: If you get an error stating that the VPN timeout was reached, check if " "your firewall is enabled and blocking the connections." msgstr "" -#: template/faq.html.j2:645 +#: template/faq.html.j2:746 msgid "" "I'm getting an 'error while loading shared libraries: libgnunetXXX.so.X'" msgstr "" -#: template/faq.html.j2:647 +#: template/faq.html.j2:748 msgid "" "A: This error usually occurs when your linker fails to locate one of " "GNUnet's libraries. This can have two causes. First, it is theoretically " @@ -1428,7 +1441,7 @@ msgid "" "you want to run:" msgstr "" -#: template/faq.html.j2:673 +#: template/faq.html.j2:774 msgid "" "to ensure GNUnet's binaries and libraries are found. In order to avoid " "having to do so each time, you can add the above lines (without the \"$\") " @@ -1437,11 +1450,11 @@ msgid "" "environment)." msgstr "" -#: template/faq.html.j2:680 +#: template/faq.html.j2:781 msgid "What error messages can be ignored?" msgstr "" -#: template/faq.html.j2:682 +#: template/faq.html.j2:783 msgid "" "A: Error messages flagged as \"DEBUG\" should be disabled in binaries built " "for end-users and can always be ignored. Error messages flagged as \"INFO\" " @@ -1451,11 +1464,11 @@ msgid "" "messages to display information about important configuration values." msgstr "" -#: template/faq.html.j2:698 +#: template/faq.html.j2:799 msgid "How does GNUnet compare to other file-sharing applications?" msgstr "" -#: template/faq.html.j2:700 +#: template/faq.html.j2:801 msgid "" "A: As opposed to Napster, Gnutella, Kazaa, FastTrack, eDonkey and most other " "P2P networks, GNUnet was designed with security in mind as the highest " @@ -1475,7 +1488,7 @@ msgid "" "read the research papers (and probably the code)." msgstr "" -#: template/faq.html.j2:814 +#: template/faq.html.j2:915 msgid "" "Another important point of reference are the various anonymous peer-to-peer " "networks. Here, there are differences in terms of application domain and how " @@ -1487,11 +1500,11 @@ msgid "" "reduce anonymity." msgstr "" -#: template/faq.html.j2:827 +#: template/faq.html.j2:928 msgid "Are there any known attacks (on GNUnet's file-sharing application)?" msgstr "" -#: template/faq.html.j2:829 +#: template/faq.html.j2:930 msgid "" "A: Generally, there is the possibility of a known plaintext attack on " "keywords, but since the user has control over the keywords that are " @@ -1503,11 +1516,11 @@ msgid "" "obfuscate the content by choosing a difficult keyword anyway." msgstr "" -#: template/faq.html.j2:843 +#: template/faq.html.j2:944 msgid "What do you mean by anonymity?" msgstr "" -#: template/faq.html.j2:845 +#: template/faq.html.j2:946 msgid "" "A: Anonymity is the lack of distinction of an individual from a (large) " "group. A central goal for anonymous file-sharing in GNUnet is to make all " @@ -1518,11 +1531,11 @@ msgid "" "originating peer and all other peers." msgstr "" -#: template/faq.html.j2:857 +#: template/faq.html.j2:958 msgid "What does my system do when participating in GNUnet file sharing?" msgstr "" -#: template/faq.html.j2:859 +#: template/faq.html.j2:960 msgid "" "A: In GNUnet you set up a node (a peer). It is identified by an ID (hash of " "its public key) and has a number of addresses it is reachable by (may have " @@ -1532,11 +1545,11 @@ msgid "" "connect to other nodes, becoming part of the network." msgstr "" -#: template/faq.html.j2:874 +#: template/faq.html.j2:975 msgid "How can I help translate this webpage into other languages?" msgstr "" -#: template/faq.html.j2:876 +#: template/faq.html.j2:977 msgid "" "A: First, you need to register an account with our weblate system. Please " "send an e-mail with the desired target language to translators@gnunet.org or " @@ -1545,11 +1558,11 @@ msgid "" "result in the loss of permissions." msgstr "" -#: template/faq.html.j2:888 +#: template/faq.html.j2:989 msgid "I have some great idea for a new feature, what should I do?" msgstr "" -#: template/faq.html.j2:890 +#: template/faq.html.j2:991 msgid "" "A: Sadly, we have many more feature requests than we can possibly implement. " "The best way to actually get a new feature implemented is to do it yourself " diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 0ddf47b8..76537bff 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-12 15:55+0100\n" +"POT-Creation-Date: 2021-03-12 16:12+0100\n" "PO-Revision-Date: 2021-03-09 18:35+0000\n" "Last-Translator: Sabino Miani \n" "Language-Team: Italian has been published and below is a table from the " +"publication. For detailed descriptions please refer to the paper." +msgstr "" + +#: template/faq.html.j2:392 +msgid "What is the difference between GNS and CoDoNS?" +msgstr "" + +#: template/faq.html.j2:394 +msgid "" "A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the " "authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, and " "there are still registrars that determine who owns a name.

          With " @@ -1197,11 +1208,11 @@ msgid "" "the context of CoDoNS." msgstr "" -#: template/faq.html.j2:304 +#: template/faq.html.j2:410 msgid "What is the difference between GNS and SocialDNS?" msgstr "" -#: template/faq.html.j2:306 +#: template/faq.html.j2:412 msgid "" "A: Like GNS, SocialDNS allows each user to create DNS mappings. However, " "with SocialDNS the mappings are shared through the social network and " @@ -1211,11 +1222,11 @@ msgid "" "the name (the authority) manually changes the record." msgstr "" -#: template/faq.html.j2:320 +#: template/faq.html.j2:426 msgid "What is the difference between GNS and ODDNS?" msgstr "" -#: template/faq.html.j2:322 +#: template/faq.html.j2:428 msgid "" "A: ODDNS is primarily designed to bypass the DNS root zone and the TLD " "registries (such as those for \".com\" and \".org\"). Instead of using " @@ -1224,23 +1235,25 @@ msgid "" "servers. Resolution will fail if the target name servers change IPs." msgstr "" -#: template/faq.html.j2:333 -msgid "What is the difference between GNS and Namecoin?" -msgstr "" - -#: template/faq.html.j2:340 +#: template/faq.html.j2:439 msgid "What is the difference between GNS and Handshake?" msgstr "" -#: template/faq.html.j2:346 -msgid "What is the difference between GNS and ENS?" +#: template/faq.html.j2:441 +msgid "" +"A: Handshake is a blockchain-based method for root zone governance. Hence, " +"it does not address the name resolution process itself but delegates " +"resolution into DNS after the initial TLD resolution. Not taking " +"sustainablility considerations into account, handshake could be used as an " +"additional supporting GNS root zone governance model but we currently do not " +"have such plans in mind." msgstr "" -#: template/faq.html.j2:352 +#: template/faq.html.j2:453 msgid "What is the difference between GNS and TrickleDNS?" msgstr "" -#: template/faq.html.j2:354 +#: template/faq.html.j2:455 msgid "" "A: TrickleDNS pushes ("critical") DNS records between DNS " "resolvers of participating domains to provide "better availability, " @@ -1252,13 +1265,13 @@ msgid "" "the DNS hierarchy." msgstr "" -#: template/faq.html.j2:367 +#: template/faq.html.j2:468 msgid "" "Does GNS require real-world introduction (secure PKEY exchange) in the style " "of the PGP web of trust?" msgstr "" -#: template/faq.html.j2:369 +#: template/faq.html.j2:470 msgid "" "A: For security, it is well known that an initial trust path between the two " "parties must exist. However, for applications where this is not required, " @@ -1271,13 +1284,13 @@ msgid "" "can be queried under the ".pin" TLD." msgstr "" -#: template/faq.html.j2:384 +#: template/faq.html.j2:485 msgid "" "How can a legitimate domain owner tell other people to not use his name in " "GNS?" msgstr "" -#: template/faq.html.j2:386 +#: template/faq.html.j2:487 msgid "" "A: Names have no owners in GNS, so there cannot be a "legitimate" " "domain owner. Any user can claim any name (as his preferred name or "" @@ -1286,13 +1299,13 @@ msgid "" "name) for this user." msgstr "" -#: template/faq.html.j2:397 +#: template/faq.html.j2:498 msgid "" "Did you consider the privacy implications of making your personal GNS zone " "visible?" msgstr "" -#: template/faq.html.j2:399 +#: template/faq.html.j2:500 msgid "" "A: Each record in GNS has a flag "private". Records are shared " "with other users (via DHT or zone transfers) only if this flag is not set. " @@ -1300,11 +1313,11 @@ msgid "" "made public." msgstr "" -#: template/faq.html.j2:409 +#: template/faq.html.j2:510 msgid "Are \"Legacy Host\" (LEHO) records not going to be obsolete with IPv6?" msgstr "" -#: template/faq.html.j2:411 +#: template/faq.html.j2:512 msgid "" "A: The question presumes that (a) virtual hosting is only necessary because " "of IPv4 address scarcity, and (b) that LEHOs are only useful in the context " @@ -1316,13 +1329,13 @@ msgid "" "become commonplace, GNS should work with today's networks." msgstr "" -#: template/faq.html.j2:425 +#: template/faq.html.j2:526 msgid "" "Why does GNS not use a trust metric or consensus to determine globally " "unique names?" msgstr "" -#: template/faq.html.j2:427 +#: template/faq.html.j2:528 msgid "" "A: Trust metrics have the fundamental problem that they have thresholds. As " "trust relationships evolve, mappings would change their meaning as they " @@ -1331,11 +1344,11 @@ msgid "" "consensus might be easy to manipulate by adversaries." msgstr "" -#: template/faq.html.j2:438 +#: template/faq.html.j2:539 msgid "How do you handle compromised zone keys in GNS?" msgstr "" -#: template/faq.html.j2:440 +#: template/faq.html.j2:541 msgid "" "A: The owner of a private key can create a revocation message. This one can " "then be flooded throughout the overlay network, creating a copy at all " @@ -1345,11 +1358,11 @@ msgid "" "message when resolving names." msgstr "" -#: template/faq.html.j2:452 +#: template/faq.html.j2:553 msgid "Could the signing algorithm of GNS be upgraded in the future?" msgstr "" -#: template/faq.html.j2:454 +#: template/faq.html.j2:555 msgid "" "A: Yes. In our efforts to standardize GNS, we have already modified the " "protocol to support alternative delegation records.

          Naturally, " @@ -1359,12 +1372,12 @@ msgid "" "different cipher system." msgstr "" -#: template/faq.html.j2:468 +#: template/faq.html.j2:569 msgid "" "How can a GNS zone maintain several name servers, e.g. for load balancing?" msgstr "" -#: template/faq.html.j2:470 +#: template/faq.html.j2:571 msgid "" "A: We don't expect this to be necessary, as GNS records are stored (and " "replicated) in the R5N DHT. Thus the authority will typically not be " @@ -1375,13 +1388,13 @@ msgid "" "the zone's key and database among them)." msgstr "" -#: template/faq.html.j2:483 +#: template/faq.html.j2:584 msgid "" "Why do you believe it is worth giving up unique names for censorship " "resistance?" msgstr "" -#: template/faq.html.j2:485 +#: template/faq.html.j2:586 msgid "" "A: The GNU Name system offers an alternative to DNS that is censorship " "resistant. As with any security mechanism, this comes at a cost (names are " @@ -1393,11 +1406,11 @@ msgid "" "globally" unique name worth, if it does not resolve?" msgstr "" -#: template/faq.html.j2:499 +#: template/faq.html.j2:600 msgid "Why do you say that DNS is 'centralized' and 'distributed'?" msgstr "" -#: template/faq.html.j2:501 +#: template/faq.html.j2:602 msgid "" "A: We say that DNS is 'centralized' because it has a central component / " "central point of failure --- the root zone and its management by IANA/ICANN. " @@ -1406,11 +1419,11 @@ msgid "" "Iraq during the wars at the beginning of the 21st century." msgstr "" -#: template/faq.html.j2:512 +#: template/faq.html.j2:613 msgid "How does GNS protect against layer-3 censorship?" msgstr "" -#: template/faq.html.j2:514 +#: template/faq.html.j2:615 msgid "" "A: GNS does not directly help with layer-3 censorship, but it does help " "indirectly in two ways:
          1. Many websites today use virtual hosting, " @@ -1423,11 +1436,11 @@ msgid "" "easier to use.
          " msgstr "" -#: template/faq.html.j2:533 +#: template/faq.html.j2:634 msgid "Does GNS work with search engines?" msgstr "" -#: template/faq.html.j2:535 +#: template/faq.html.j2:636 msgid "" "A: GNS creates no significant problems for search engines, as they can use " "GNS to perform name resolution as well as any normal user. Naturally, while " @@ -1439,11 +1452,11 @@ msgid "" "obviously not obtain censorship-resistant names." msgstr "" -#: template/faq.html.j2:549 +#: template/faq.html.j2:650 msgid "How does GNS compare to the Unmanaged Internet Architecture (UIA)?" msgstr "" -#: template/faq.html.j2:551 +#: template/faq.html.j2:652 msgid "" "A: UIA and GNS both share the same basic naming model, which actually " "originated with Rivest's SDSI. However, UIA is not concerned about " @@ -1454,11 +1467,11 @@ msgid "" "about legacy systems (clean slate)." msgstr "" -#: template/faq.html.j2:564 +#: template/faq.html.j2:665 msgid "Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?" msgstr "" -#: template/faq.html.j2:566 +#: template/faq.html.j2:667 msgid "" "A: First of all, in GNS you can explicitly see the trust chain, so you know " "if a name you are resolving belongs to a friend, or a friend-of-a-friend, " @@ -1468,13 +1481,13 @@ msgid "" "than about 128 entities." msgstr "" -#: template/faq.html.j2:578 +#: template/faq.html.j2:679 msgid "" "How does GNS handle SRV/TLSA records where service and protocol are part of " "the domain name?" msgstr "" -#: template/faq.html.j2:580 +#: template/faq.html.j2:681 msgid "" "A: When GNS splits a domain name into labels for resolution, it detects the " ""_Service._Proto" syntax, converts "Service" to the " @@ -1486,13 +1499,13 @@ msgid "" "record type) to it." msgstr "" -#: template/faq.html.j2:596 +#: template/faq.html.j2:697 msgid "" "I receive many "WARNING Calculated flow delay for X at Y for Z". " "Should I worry?" msgstr "" -#: template/faq.html.j2:598 +#: template/faq.html.j2:699 msgid "" "A: Right now, this is expected and a known cause for high latency in GNUnet. " "We have started a major rewrite to address this and other problems, but " @@ -1500,23 +1513,23 @@ msgid "" "expected." msgstr "" -#: template/faq.html.j2:607 +#: template/faq.html.j2:708 msgid "Error opening `/dev/net/tun': No such file or directory?" msgstr "" -#: template/faq.html.j2:609 +#: template/faq.html.j2:710 msgid "" "A: If you get this error message, the solution is simple. Issue the " "following commands (as root) to create the required device file" msgstr "" -#: template/faq.html.j2:621 +#: template/faq.html.j2:722 msgid "" "'iptables: No chain/target/match by that name.' (when running gnunet-service-" "dns)?" msgstr "" -#: template/faq.html.j2:623 +#: template/faq.html.j2:724 msgid "" "A: For GNUnet DNS, your iptables needs to have "owner" match " "support. This is accomplished by having the correct kernel options. Check if " @@ -1524,22 +1537,22 @@ msgid "" "'m' (and the module is loaded)." msgstr "" -#: template/faq.html.j2:635 +#: template/faq.html.j2:736 msgid "'Timeout was reached' when running PT on Fedora (and possibly others)?" msgstr "" -#: template/faq.html.j2:637 +#: template/faq.html.j2:738 msgid "" "A: If you get an error stating that the VPN timeout was reached, check if " "your firewall is enabled and blocking the connections." msgstr "" -#: template/faq.html.j2:645 +#: template/faq.html.j2:746 msgid "" "I'm getting an 'error while loading shared libraries: libgnunetXXX.so.X'" msgstr "" -#: template/faq.html.j2:647 +#: template/faq.html.j2:748 msgid "" "A: This error usually occurs when your linker fails to locate one of " "GNUnet's libraries. This can have two causes. First, it is theoretically " @@ -1559,7 +1572,7 @@ msgid "" "you want to run:" msgstr "" -#: template/faq.html.j2:673 +#: template/faq.html.j2:774 msgid "" "to ensure GNUnet's binaries and libraries are found. In order to avoid " "having to do so each time, you can add the above lines (without the \"$\") " @@ -1568,11 +1581,11 @@ msgid "" "environment)." msgstr "" -#: template/faq.html.j2:680 +#: template/faq.html.j2:781 msgid "What error messages can be ignored?" msgstr "" -#: template/faq.html.j2:682 +#: template/faq.html.j2:783 msgid "" "A: Error messages flagged as \"DEBUG\" should be disabled in binaries built " "for end-users and can always be ignored. Error messages flagged as \"INFO\" " @@ -1582,11 +1595,11 @@ msgid "" "messages to display information about important configuration values." msgstr "" -#: template/faq.html.j2:698 +#: template/faq.html.j2:799 msgid "How does GNUnet compare to other file-sharing applications?" msgstr "" -#: template/faq.html.j2:700 +#: template/faq.html.j2:801 msgid "" "A: As opposed to Napster, Gnutella, Kazaa, FastTrack, eDonkey and most other " "P2P networks, GNUnet was designed with security in mind as the highest " @@ -1606,7 +1619,7 @@ msgid "" "read the research papers (and probably the code)." msgstr "" -#: template/faq.html.j2:814 +#: template/faq.html.j2:915 msgid "" "Another important point of reference are the various anonymous peer-to-peer " "networks. Here, there are differences in terms of application domain and how " @@ -1618,11 +1631,11 @@ msgid "" "reduce anonymity." msgstr "" -#: template/faq.html.j2:827 +#: template/faq.html.j2:928 msgid "Are there any known attacks (on GNUnet's file-sharing application)?" msgstr "" -#: template/faq.html.j2:829 +#: template/faq.html.j2:930 msgid "" "A: Generally, there is the possibility of a known plaintext attack on " "keywords, but since the user has control over the keywords that are " @@ -1634,11 +1647,11 @@ msgid "" "obfuscate the content by choosing a difficult keyword anyway." msgstr "" -#: template/faq.html.j2:843 +#: template/faq.html.j2:944 msgid "What do you mean by anonymity?" msgstr "" -#: template/faq.html.j2:845 +#: template/faq.html.j2:946 msgid "" "A: Anonymity is the lack of distinction of an individual from a (large) " "group. A central goal for anonymous file-sharing in GNUnet is to make all " @@ -1649,11 +1662,11 @@ msgid "" "originating peer and all other peers." msgstr "" -#: template/faq.html.j2:857 +#: template/faq.html.j2:958 msgid "What does my system do when participating in GNUnet file sharing?" msgstr "" -#: template/faq.html.j2:859 +#: template/faq.html.j2:960 msgid "" "A: In GNUnet you set up a node (a peer). It is identified by an ID (hash of " "its public key) and has a number of addresses it is reachable by (may have " @@ -1663,11 +1676,11 @@ msgid "" "connect to other nodes, becoming part of the network." msgstr "" -#: template/faq.html.j2:874 +#: template/faq.html.j2:975 msgid "How can I help translate this webpage into other languages?" msgstr "" -#: template/faq.html.j2:876 +#: template/faq.html.j2:977 msgid "" "A: First, you need to register an account with our weblate system. Please " "send an e-mail with the desired target language to translators@gnunet.org or " @@ -1676,11 +1689,11 @@ msgid "" "result in the loss of permissions." msgstr "" -#: template/faq.html.j2:888 +#: template/faq.html.j2:989 msgid "I have some great idea for a new feature, what should I do?" msgstr "" -#: template/faq.html.j2:890 +#: template/faq.html.j2:991 msgid "" "A: Sadly, we have many more feature requests than we can possibly implement. " "The best way to actually get a new feature implemented is to do it yourself " diff --git a/locale/messages.pot b/locale/messages.pot index 4b5a8b5f..e218f8d4 100644 --- a/locale/messages.pot +++ b/locale/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-12 15:55+0100\n" +"POT-Creation-Date: 2021-03-12 16:12+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -804,15 +804,15 @@ msgstr "" msgid "Features" msgstr "" -#: template/faq.html.j2:15 template/faq.html.j2:594 +#: template/faq.html.j2:15 template/faq.html.j2:695 msgid "Error messages" msgstr "" -#: template/faq.html.j2:16 template/faq.html.j2:696 +#: template/faq.html.j2:16 template/faq.html.j2:797 msgid "File-sharing" msgstr "" -#: template/faq.html.j2:17 template/faq.html.j2:872 +#: template/faq.html.j2:17 template/faq.html.j2:973 msgid "Contributing" msgstr "" @@ -1073,11 +1073,23 @@ msgid "" msgstr "" #: template/faq.html.j2:286 -msgid "What is the difference between GNS and CoDoNS?" +msgid "How does GNS compare to other name systems" msgstr "" #: template/faq.html.j2:288 msgid "" +"A: A scientific paper on this topic has been published " +" and below is a table from the publication. For detailed descriptions" +" please refer to the paper." +msgstr "" + +#: template/faq.html.j2:392 +msgid "What is the difference between GNS and CoDoNS?" +msgstr "" + +#: template/faq.html.j2:394 +msgid "" "A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the " "authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, " "and there are still registrars that determine who owns a name.

          " @@ -1088,11 +1100,11 @@ msgid "" "don't even make sense in the context of CoDoNS." msgstr "" -#: template/faq.html.j2:304 +#: template/faq.html.j2:410 msgid "What is the difference between GNS and SocialDNS?" msgstr "" -#: template/faq.html.j2:306 +#: template/faq.html.j2:412 msgid "" "A: Like GNS, SocialDNS allows each user to create DNS mappings. However, " "with SocialDNS the mappings are shared through the social network and " @@ -1102,11 +1114,11 @@ msgid "" "responsible for the name (the authority) manually changes the record." msgstr "" -#: template/faq.html.j2:320 +#: template/faq.html.j2:426 msgid "What is the difference between GNS and ODDNS?" msgstr "" -#: template/faq.html.j2:322 +#: template/faq.html.j2:428 msgid "" "A: ODDNS is primarily designed to bypass the DNS root zone and the TLD " "registries (such as those for \".com\" and \".org\"). Instead of using " @@ -1115,23 +1127,25 @@ msgid "" "servers. Resolution will fail if the target name servers change IPs." msgstr "" -#: template/faq.html.j2:333 -msgid "What is the difference between GNS and Namecoin?" -msgstr "" - -#: template/faq.html.j2:340 +#: template/faq.html.j2:439 msgid "What is the difference between GNS and Handshake?" msgstr "" -#: template/faq.html.j2:346 -msgid "What is the difference between GNS and ENS?" +#: template/faq.html.j2:441 +msgid "" +"A: Handshake is a blockchain-based method for root zone governance. " +"Hence, it does not address the name resolution process itself but " +"delegates resolution into DNS after the initial TLD resolution. Not " +"taking sustainablility considerations into account, handshake could be " +"used as an additional supporting GNS root zone governance model but we " +"currently do not have such plans in mind." msgstr "" -#: template/faq.html.j2:352 +#: template/faq.html.j2:453 msgid "What is the difference between GNS and TrickleDNS?" msgstr "" -#: template/faq.html.j2:354 +#: template/faq.html.j2:455 msgid "" "A: TrickleDNS pushes ("critical") DNS records between DNS " "resolvers of participating domains to provide "better availability, " @@ -1143,13 +1157,13 @@ msgid "" " the DNS hierarchy." msgstr "" -#: template/faq.html.j2:367 +#: template/faq.html.j2:468 msgid "" "Does GNS require real-world introduction (secure PKEY exchange) in the " "style of the PGP web of trust?" msgstr "" -#: template/faq.html.j2:369 +#: template/faq.html.j2:470 msgid "" "A: For security, it is well known that an initial trust path between the " "two parties must exist. However, for applications where this is not " @@ -1162,13 +1176,13 @@ msgid "" "authority. The authority can be queried under the ".pin" TLD." msgstr "" -#: template/faq.html.j2:384 +#: template/faq.html.j2:485 msgid "" "How can a legitimate domain owner tell other people to not use his name " "in GNS?" msgstr "" -#: template/faq.html.j2:386 +#: template/faq.html.j2:487 msgid "" "A: Names have no owners in GNS, so there cannot be a " ""legitimate" domain owner. Any user can claim any name (as his " @@ -1177,13 +1191,13 @@ msgid "" "their choice (or even assign no name) for this user." msgstr "" -#: template/faq.html.j2:397 +#: template/faq.html.j2:498 msgid "" "Did you consider the privacy implications of making your personal GNS " "zone visible?" msgstr "" -#: template/faq.html.j2:399 +#: template/faq.html.j2:500 msgid "" "A: Each record in GNS has a flag "private". Records are shared " "with other users (via DHT or zone transfers) only if this flag is not " @@ -1191,11 +1205,11 @@ msgid "" "zones is made public." msgstr "" -#: template/faq.html.j2:409 +#: template/faq.html.j2:510 msgid "Are \"Legacy Host\" (LEHO) records not going to be obsolete with IPv6?" msgstr "" -#: template/faq.html.j2:411 +#: template/faq.html.j2:512 msgid "" "A: The question presumes that (a) virtual hosting is only necessary " "because of IPv4 address scarcity, and (b) that LEHOs are only useful in " @@ -1208,13 +1222,13 @@ msgid "" " networks." msgstr "" -#: template/faq.html.j2:425 +#: template/faq.html.j2:526 msgid "" "Why does GNS not use a trust metric or consensus to determine globally " "unique names?" msgstr "" -#: template/faq.html.j2:427 +#: template/faq.html.j2:528 msgid "" "A: Trust metrics have the fundamental problem that they have thresholds. " "As trust relationships evolve, mappings would change their meaning as " @@ -1224,11 +1238,11 @@ msgid "" "adversaries." msgstr "" -#: template/faq.html.j2:438 +#: template/faq.html.j2:539 msgid "How do you handle compromised zone keys in GNS?" msgstr "" -#: template/faq.html.j2:440 +#: template/faq.html.j2:541 msgid "" "A: The owner of a private key can create a revocation message. This one " "can then be flooded throughout the overlay network, creating a copy at " @@ -1238,11 +1252,11 @@ msgid "" "revocation message when resolving names." msgstr "" -#: template/faq.html.j2:452 +#: template/faq.html.j2:553 msgid "Could the signing algorithm of GNS be upgraded in the future?" msgstr "" -#: template/faq.html.j2:454 +#: template/faq.html.j2:555 msgid "" "A: Yes. In our efforts to standardize GNS, we have already modified the " "protocol to support alternative delegation records.

          Naturally, " @@ -1252,11 +1266,11 @@ msgid "" "different cipher system." msgstr "" -#: template/faq.html.j2:468 +#: template/faq.html.j2:569 msgid "How can a GNS zone maintain several name servers, e.g. for load balancing?" msgstr "" -#: template/faq.html.j2:470 +#: template/faq.html.j2:571 msgid "" "A: We don't expect this to be necessary, as GNS records are stored (and " "replicated) in the R5N DHT. Thus the authority will typically not be " @@ -1267,13 +1281,13 @@ msgid "" " the zone's key and database among them)." msgstr "" -#: template/faq.html.j2:483 +#: template/faq.html.j2:584 msgid "" "Why do you believe it is worth giving up unique names for censorship " "resistance?" msgstr "" -#: template/faq.html.j2:485 +#: template/faq.html.j2:586 msgid "" "A: The GNU Name system offers an alternative to DNS that is censorship " "resistant. As with any security mechanism, this comes at a cost (names " @@ -1285,11 +1299,11 @@ msgid "" " a "globally" unique name worth, if it does not resolve?" msgstr "" -#: template/faq.html.j2:499 +#: template/faq.html.j2:600 msgid "Why do you say that DNS is 'centralized' and 'distributed'?" msgstr "" -#: template/faq.html.j2:501 +#: template/faq.html.j2:602 msgid "" "A: We say that DNS is 'centralized' because it has a central component / " "central point of failure --- the root zone and its management by " @@ -1299,11 +1313,11 @@ msgid "" "century." msgstr "" -#: template/faq.html.j2:512 +#: template/faq.html.j2:613 msgid "How does GNS protect against layer-3 censorship?" msgstr "" -#: template/faq.html.j2:514 +#: template/faq.html.j2:615 msgid "" "A: GNS does not directly help with layer-3 censorship, but it does help " "indirectly in two ways:
          1. Many websites today use virtual " @@ -1316,11 +1330,11 @@ msgid "" "like services would be even easier to use.
          " msgstr "" -#: template/faq.html.j2:533 +#: template/faq.html.j2:634 msgid "Does GNS work with search engines?" msgstr "" -#: template/faq.html.j2:535 +#: template/faq.html.j2:636 msgid "" "A: GNS creates no significant problems for search engines, as they can " "use GNS to perform name resolution as well as any normal user. Naturally," @@ -1332,11 +1346,11 @@ msgid "" "engines will obviously not obtain censorship-resistant names." msgstr "" -#: template/faq.html.j2:549 +#: template/faq.html.j2:650 msgid "How does GNS compare to the Unmanaged Internet Architecture (UIA)?" msgstr "" -#: template/faq.html.j2:551 +#: template/faq.html.j2:652 msgid "" "A: UIA and GNS both share the same basic naming model, which actually " "originated with Rivest's SDSI. However, UIA is not concerned about " @@ -1347,11 +1361,11 @@ msgid "" "all concerned about legacy systems (clean slate)." msgstr "" -#: template/faq.html.j2:564 +#: template/faq.html.j2:665 msgid "Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?" msgstr "" -#: template/faq.html.j2:566 +#: template/faq.html.j2:667 msgid "" "A: First of all, in GNS you can explicitly see the trust chain, so you " "know if a name you are resolving belongs to a friend, or a friend-" @@ -1361,13 +1375,13 @@ msgid "" "individual name it is always less than about 128 entities." msgstr "" -#: template/faq.html.j2:578 +#: template/faq.html.j2:679 msgid "" "How does GNS handle SRV/TLSA records where service and protocol are part " "of the domain name?" msgstr "" -#: template/faq.html.j2:580 +#: template/faq.html.j2:681 msgid "" "A: When GNS splits a domain name into labels for resolution, it detects " "the "_Service._Proto" syntax, converts "Service" to " @@ -1379,13 +1393,13 @@ msgid "" "original boxed record type) to it." msgstr "" -#: template/faq.html.j2:596 +#: template/faq.html.j2:697 msgid "" "I receive many "WARNING Calculated flow delay for X at Y for " "Z". Should I worry?" msgstr "" -#: template/faq.html.j2:598 +#: template/faq.html.j2:699 msgid "" "A: Right now, this is expected and a known cause for high latency in " "GNUnet. We have started a major rewrite to address this and other " @@ -1393,23 +1407,23 @@ msgid "" "warnings are expected." msgstr "" -#: template/faq.html.j2:607 +#: template/faq.html.j2:708 msgid "Error opening `/dev/net/tun': No such file or directory?" msgstr "" -#: template/faq.html.j2:609 +#: template/faq.html.j2:710 msgid "" "A: If you get this error message, the solution is simple. Issue the " "following commands (as root) to create the required device file" msgstr "" -#: template/faq.html.j2:621 +#: template/faq.html.j2:722 msgid "" "'iptables: No chain/target/match by that name.' (when running gnunet-" "service-dns)?" msgstr "" -#: template/faq.html.j2:623 +#: template/faq.html.j2:724 msgid "" "A: For GNUnet DNS, your iptables needs to have "owner" match " "support. This is accomplished by having the correct kernel options. Check" @@ -1417,21 +1431,21 @@ msgid "" "'m' (and the module is loaded)." msgstr "" -#: template/faq.html.j2:635 +#: template/faq.html.j2:736 msgid "'Timeout was reached' when running PT on Fedora (and possibly others)?" msgstr "" -#: template/faq.html.j2:637 +#: template/faq.html.j2:738 msgid "" "A: If you get an error stating that the VPN timeout was reached, check if" " your firewall is enabled and blocking the connections." msgstr "" -#: template/faq.html.j2:645 +#: template/faq.html.j2:746 msgid "I'm getting an 'error while loading shared libraries: libgnunetXXX.so.X'" msgstr "" -#: template/faq.html.j2:647 +#: template/faq.html.j2:748 msgid "" "A: This error usually occurs when your linker fails to locate one of " "GNUnet's libraries. This can have two causes. First, it is theoretically " @@ -1451,7 +1465,7 @@ msgid "" " GNUnet using a prefix of \"$HOME/gnunet/\" you want to run:" msgstr "" -#: template/faq.html.j2:673 +#: template/faq.html.j2:774 msgid "" "to ensure GNUnet's binaries and libraries are found. In order to avoid " "having to do so each time, you can add the above lines (without the " @@ -1460,11 +1474,11 @@ msgid "" "your desktop environment)." msgstr "" -#: template/faq.html.j2:680 +#: template/faq.html.j2:781 msgid "What error messages can be ignored?" msgstr "" -#: template/faq.html.j2:682 +#: template/faq.html.j2:783 msgid "" "A: Error messages flagged as \"DEBUG\" should be disabled in binaries " "built for end-users and can always be ignored. Error messages flagged as " @@ -1475,11 +1489,11 @@ msgid "" "configuration values." msgstr "" -#: template/faq.html.j2:698 +#: template/faq.html.j2:799 msgid "How does GNUnet compare to other file-sharing applications?" msgstr "" -#: template/faq.html.j2:700 +#: template/faq.html.j2:801 msgid "" "A: As opposed to Napster, Gnutella, Kazaa, FastTrack, eDonkey and most " "other P2P networks, GNUnet was designed with security in mind as the " @@ -1500,7 +1514,7 @@ msgid "" "the research papers (and probably the code)." msgstr "" -#: template/faq.html.j2:814 +#: template/faq.html.j2:915 msgid "" "Another important point of reference are the various anonymous peer-to-" "peer networks. Here, there are differences in terms of application domain" @@ -1512,11 +1526,11 @@ msgid "" "which in turn may reduce anonymity." msgstr "" -#: template/faq.html.j2:827 +#: template/faq.html.j2:928 msgid "Are there any known attacks (on GNUnet's file-sharing application)?" msgstr "" -#: template/faq.html.j2:829 +#: template/faq.html.j2:930 msgid "" "A: Generally, there is the possibility of a known plaintext attack on " "keywords, but since the user has control over the keywords that are " @@ -1529,11 +1543,11 @@ msgid "" "anyway." msgstr "" -#: template/faq.html.j2:843 +#: template/faq.html.j2:944 msgid "What do you mean by anonymity?" msgstr "" -#: template/faq.html.j2:845 +#: template/faq.html.j2:946 msgid "" "A: Anonymity is the lack of distinction of an individual from a (large) " "group. A central goal for anonymous file-sharing in GNUnet is to make all" @@ -1544,11 +1558,11 @@ msgid "" "between the originating peer and all other peers." msgstr "" -#: template/faq.html.j2:857 +#: template/faq.html.j2:958 msgid "What does my system do when participating in GNUnet file sharing?" msgstr "" -#: template/faq.html.j2:859 +#: template/faq.html.j2:960 msgid "" "A: In GNUnet you set up a node (a peer). It is identified by an ID (hash " "of its public key) and has a number of addresses it is reachable by (may " @@ -1559,11 +1573,11 @@ msgid "" "network." msgstr "" -#: template/faq.html.j2:874 +#: template/faq.html.j2:975 msgid "How can I help translate this webpage into other languages?" msgstr "" -#: template/faq.html.j2:876 +#: template/faq.html.j2:977 msgid "" "A: First, you need to register an account with our weblate system. Please" " send an e-mail with the desired target language to " @@ -1573,11 +1587,11 @@ msgid "" "permissions." msgstr "" -#: template/faq.html.j2:888 +#: template/faq.html.j2:989 msgid "I have some great idea for a new feature, what should I do?" msgstr "" -#: template/faq.html.j2:890 +#: template/faq.html.j2:991 msgid "" "A: Sadly, we have many more feature requests than we can possibly " "implement. The best way to actually get a new feature implemented is to " diff --git a/template/faq.html.j2 b/template/faq.html.j2 index d2110213..7c395dc0 100644 --- a/template/faq.html.j2 +++ b/template/faq.html.j2 @@ -282,6 +282,112 @@

          +
          +

          {{ _("How does GNS compare to other name systems") }}

          +

          + {% trans %} + A: A scientific paper on this topic + has been published + and below is a table from the publication. + For detailed descriptions please refer to the paper. + {% endtrans %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          MitM manipulationZone walkClient observation (network)Client observation (operator)Traffic amplificationCensorship/legal attacksEase of migration
          DNS+++
          DNSSEC+
          DNSCurve+
          DoT/DoHn/a+
          Confid. DNSn/a++
          Namecoin-
          GNS--
          RAINS--
          +

          +

          {{ _("What is the difference between GNS and CoDoNS?") }}

          @@ -329,22 +435,17 @@

          -
          -

          {{ _("What is the difference between GNS and Namecoin?") }}

          -

          -

          -
          - -

          {{ _("What is the difference between GNS and Handshake?") }}

          -

          -
          - -
          -

          {{ _("What is the difference between GNS and ENS?") }}

          -

          + {% trans %} + A: Handshake is a blockchain-based method for root zone governance. + Hence, it does not address the name resolution process itself but + delegates resolution into DNS after the initial TLD resolution. + Not taking sustainablility considerations into account, handshake + could be used as an additional supporting GNS root zone governance + model but we currently do not have such plans in mind. + {% endtrans %}

          -- cgit v1.2.3 From 4482ca9fc439ddfe0982f3088f2650c6666e82ed Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Fri, 12 Mar 2021 19:23:13 +0000 Subject: Translated using Weblate (Italian) Currently translated at 22.6% (102 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index df654535..5a03d939 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,10 +8,10 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-03-09 18:35+0000\n" -"Last-Translator: Sabino Miani \n" -"Language-Team: Italian \n" +"PO-Revision-Date: 2021-03-13 01:03+0000\n" +"Last-Translator: Francesca Cipriani \n" +"Language-Team: Italian " +"\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -667,7 +667,7 @@ msgstr "Legenda" #: template/contact.html.j2:6 msgid "Contact information" -msgstr "Informazioni di contatto" +msgstr "Contatti" #: template/contact.html.j2:11 msgid "The mailing list" @@ -714,7 +714,7 @@ msgstr "" "È possibile contattare gli sviluppatori di GNUnet scrivendo a " "PSEUDONYM@gnunet.org o LASTNAME@gnunet.org. Quasi tutti " "gli sviluppatori supportano la ricezione di email con crittografia GnuPG. " -"Per questioni di sicurezza urgenti e delicate rivolgersi ai maintainer " +"Per questioni di sicurezza urgenti e sensibili rivolgersi ai maintainer " "schanzen e grothoff." #: template/contact.html.j2:53 -- cgit v1.2.3 From 15f788d44de76ef9847f519e18e21fadb2337378 Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Sat, 13 Mar 2021 20:48:34 +0000 Subject: Translated using Weblate (Italian) Currently translated at 22.6% (102 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 48 +++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 24 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 5a03d939..3f3704b2 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-03-13 01:03+0000\n" +"PO-Revision-Date: 2021-03-15 15:12+0000\n" "Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" @@ -26,11 +26,11 @@ msgstr "GNUnet" #: common/base.j2:6 common/news.j2:6 msgid "GNU's framework for secure p2p networking" -msgstr "La struttura di GNU per una connessione p2p sicura" +msgstr "L'architettura GNU per una rete p2p sicura" #: common/footer.j2.inc:7 msgid "Contact" -msgstr "Contatto" +msgstr "Contatti" #: common/footer.j2.inc:8 common/navigation.j2.inc:49 msgid "GNUnet e.V." @@ -38,11 +38,11 @@ msgstr "GNUnet e.V." #: common/footer.j2.inc:9 template/about.html.j2:6 msgid "About GNUnet" -msgstr "Per quanto riguarda GNUnet" +msgstr "Informazioni su GNUnet" #: common/footer.j2.inc:14 common/navigation.j2.inc:64 msgid "Bug Tracker" -msgstr "Rilevatore di bachi" +msgstr "Registro bug" #: common/footer.j2.inc:19 template/copyright.html.j2:6 msgid "Copyright Assignment" @@ -55,21 +55,21 @@ msgstr "Bibliografia" #: common/footer.j2.inc:31 msgid "Source code of this site." -msgstr "Il codice sorgente di questo sito." +msgstr "Codice sorgente del sito." #: common/footer.j2.inc:32 msgid "Report issues with this website." -msgstr "Segnalare problemi con questo sito." +msgstr "Segnalare problemi del sito." #: common/navigation.j2.inc:38 msgid "About" -msgstr "Per quanto riguarda" +msgstr "Cos'è GNUnet" #: common/navigation.j2.inc:39 news/index.html.j2:8 #: news/oldnews-2011.html.j2:13 news/oldnews-2013.html.j2:13 #: news/oldnews-2018.html.j2:13 news/oldnews-2019.html.j2:13 msgid "News" -msgstr "Notizia" +msgstr "Novità" #: common/navigation.j2.inc:40 template/index.html.j2:289 msgid "Applications" @@ -77,11 +77,11 @@ msgstr "Applicazioni" #: common/navigation.j2.inc:44 msgid "Community" -msgstr "Comunità" +msgstr "Community" #: common/navigation.j2.inc:47 template/index.html.j2:292 msgid "Engage" -msgstr "Impegnare" +msgstr "Partecipa" #: common/navigation.j2.inc:48 msgid "GSoC Projects" @@ -89,7 +89,7 @@ msgstr "Progetti GSoC" #: common/navigation.j2.inc:50 msgid "Copyright for Contributors" -msgstr "Diritti per i Contributori" +msgstr "Copyright per i collaboratori" #: common/navigation.j2.inc:51 msgid "IRC Archive" @@ -101,7 +101,7 @@ msgstr "Sviluppo" #: common/navigation.j2.inc:61 msgid "System Architecture" -msgstr "Architettura di Sistema" +msgstr "Architettura del sistema" #: common/navigation.j2.inc:63 template/roadmap.html.j2:6 msgid "Roadmap" @@ -109,19 +109,19 @@ msgstr "Tabella di marcia" #: common/navigation.j2.inc:65 template/gnurl.html.j2:186 msgid "Source Code" -msgstr "Codice Sorgente" +msgstr "Codice sorgente" #: common/navigation.j2.inc:66 msgid "Source Code Documentation" -msgstr "Documentazione del Codice Sorgente" +msgstr "Documentazione del codice sorgente" #: common/navigation.j2.inc:67 msgid "Continuous Integration" -msgstr "Integrazione Continua" +msgstr "Integrazione continua" #: common/navigation.j2.inc:68 msgid "Development Tutorial" -msgstr "Esercitazione di Sviluppo" +msgstr "Guida allo sviluppo" #: common/navigation.j2.inc:79 msgid "Documentation" @@ -682,9 +682,9 @@ msgid "" msgstr "" "All'indirizzo https://lists.gnu.org/mailman/listinfo/gnunet-developers è " -"possibile trovare una mailing list di GNUnet pubblica e archiviata. È " -"possibile inviare un messaggio a tutta la mailing list scrivendo a gnunet-developers@gnu.org." +"possibile trovare una mailing list di GNUnet pubblica e archiviata. Per " +"inviare un messaggio all'intera mailing list, scrivere a gnunet-developers@gnu.org." #: template/contact.html.j2:23 msgid "The IRC channel" @@ -696,13 +696,13 @@ msgid "" "freenode.net. There is also an archive available." msgstr "" -"È possibile contattare #gnunet su irc.freenode.net. È disponibile anche un archivio." +"#gnunet è accessibile su irc." +"freenode.net. È disponibile anche un archivio." #: template/contact.html.j2:38 msgid "Contacting individuals" -msgstr "Contatti singoli" +msgstr "Contatti degli sviluppatori" #: template/contact.html.j2:40 msgid "" -- cgit v1.2.3 From 96aeb9a04f8de094650173e0fc0255848131d887 Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Mon, 15 Mar 2021 21:40:05 +0000 Subject: Translated using Weblate (Italian) Currently translated at 23.5% (106 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 3f3704b2..189d637a 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-03-15 15:12+0000\n" +"PO-Revision-Date: 2021-03-16 22:31+0000\n" "Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" @@ -655,7 +655,7 @@ msgstr "Sottosistemi" #: template/architecture.html.j2:67 msgid "libgnunetutil" -msgstr "" +msgstr "libgnunetutil" #: template/architecture.html.j2:73 msgid "APIs" @@ -729,6 +729,12 @@ msgid "" "bug-gnunet\">bug-gnunet mailing list. The mailinglist requires no " "subscription." msgstr "" +"Monitoriamo richieste di funzionalità e bug aperti per i progetti " +"all'interno di GNUnet nel nostro Registro bug. È possibile segnalare bug o richieste di funzionalità " +"scrivendo alla mailing list bug-gnunet. Non è necessario iscriversi alla mailing list " +"per inviare un messaggio." #: template/copyright.html.j2:11 msgid "" @@ -738,6 +744,12 @@ msgid "" "\">GNUnet e.V. --- Taler Systems SA agreement on licensing and collaborative " "development of the GNUnet and GNU Taler projects is satisfied.

          " msgstr "" +"

          I collaboratori di GNUnet con accesso Git devono firmare l'accordo sul copyright per garantire " +"l'adempimento dell'accordo GNUnet e.V. --- Taler Systems SA sulla " +"gestione delle licenze e sullo sviluppo collaborativo dei progetti " +"GNUnet e GNU Taler.

          " #: template/copyright.html.j2:22 msgid "" @@ -747,6 +759,12 @@ msgid "" "company the ability to dual-license (for example, so that we can distribute " "via App-stores that are hostile to free software).

          " msgstr "" +"

          Gli accordi garantiscono che il codice continui a essere disponibile con " +"licenze software gratuite, ma conferisce agli sviluppatori la libertà di " +"spostare il codice tra GNUnet e GNU Taler senza preoccuparsi delle licenze e " +"consente all'azienda la possibilità di una doppia licenza (affinché, ad " +"esempio, la distribuzione possa avvenire tramite gli App-store, che sono " +"ostili ai software gratuiti).

          " #: template/copyright.html.j2:30 msgid "" -- cgit v1.2.3 From f9ce74975e3878034c06f2f071f23bac97c22731 Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Thu, 18 Mar 2021 17:33:53 +0000 Subject: Translated using Weblate (Italian) Currently translated at 29.4% (133 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 100 +++++++++++++++++++++++++------------- 1 file changed, 66 insertions(+), 34 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 189d637a..881d10d2 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-03-16 22:31+0000\n" +"PO-Revision-Date: 2021-03-19 18:01+0000\n" "Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" @@ -129,7 +129,7 @@ msgstr "Documentazione" #: common/navigation.j2.inc:82 template/install.html.j2:6 msgid "Install" -msgstr "Installare" +msgstr "Installazione" #: common/navigation.j2.inc:83 template/install-on-openwrt.html.j2:76 msgid "Use" @@ -153,7 +153,7 @@ msgstr "Standard di vita" #: common/navigation.j2.inc:88 msgid "REST API" -msgstr "REST API" +msgstr "API REST" #: common/navigation.j2.inc:89 msgid "FAQ" @@ -163,15 +163,13 @@ msgstr "Domande Frequenti" #: news/oldnews-2013.html.j2:16 news/oldnews-2018.html.j2:16 #: news/oldnews-2019.html.j2:16 msgid "News posts about changes related to GNUnet such as releases and events" -msgstr "" -"Annunci di notizie legate ai cambiamenti di GNUnet come comunicati stampa ed " -"eventi" +msgstr "Post sulle novità di GNUnet come comunicati stampa ed eventi" #: news/index.html.j2:16 news/oldnews-2011.html.j2:21 #: news/oldnews-2013.html.j2:21 news/oldnews-2018.html.j2:21 #: news/oldnews-2019.html.j2:21 msgid "subscribe to our RSS feed" -msgstr "Fai la sottoscrizione alla nostra bacheca RSS" +msgstr "Iscriviti al nostro feed RSS" #: news/index.html.j2:36 news/oldnews-2011.html.j2:40 #: news/oldnews-2013.html.j2:40 news/oldnews-2018.html.j2:40 @@ -181,7 +179,7 @@ msgstr "Per saperne di più" #: news/index.html.j2:45 msgid "News archives:" -msgstr "Archivi di notizie:" +msgstr "Archivi delle notizie:" #: template/about.html.j2:11 msgid "What is GNUnet?" @@ -195,13 +193,13 @@ msgid "" "secure publication of files, it has grown to include all kinds of basic " "protocol components and applications towards the creation of a GNU internet." msgstr "" -"GNUnet è una rete alternativa per la costruzione di applicazioni distribuite " -"che siano sicure, decentralizzate e che tutelino la privacy. Il nostro " -"obiettivo è quello di sostituire il precedente protocollo, in quanto datato " -"e non sicuro. Il tutto è cominciato da un' applicazione utilizzata per la " -"pubblicazione sicura di documenti, ed è cresciuta fino ad includere tutte le " -"tipologie di componenti base ed applicazioni dei protocolli verso la " -"creazione di un internet GNU." +"GNUnet è uno stack di rete alternativo per la creazione di applicazioni " +"distribuite sicure, decentralizzate e che tutelino la privacy. Il nostro " +"obiettivo è quello di sostituire il precedente stack di protocolli di rete, " +"in quanto non sicuro. A partire da un'applicazione per la pubblicazione " +"sicura di documenti, si è sviluppato fino ad includere tutte le tipologie di " +"componenti ed applicazioni base dei protocolli verso la creazione di un " +"internet GNU." #: template/about.html.j2:23 msgid "" @@ -773,30 +771,38 @@ msgid "" "simply sign the agreement with your pseudonym. Scanned copies are " "sufficient, but snail mail is preferred.

          " msgstr "" +"

          I contributi minori (chiunque non abbia un accesso Git) non necessitano " +"dell'accordo sul copyright. Accettiamo i contributi sotto pseudonimo; in tal " +"caso si deve firmare l'accordo con lo pseudonimo. Accettiamo copie " +"digitalizzate, ma è preferibile la posta ordinaria.

          " #: template/developers.html.j2:5 msgid "GNUnet for developers" -msgstr "" +msgstr "GNUnet per gli sviluppatori" #: template/developers.html.j2:13 msgid "Repositories" -msgstr "" +msgstr "Archivi" #: template/developers.html.j2:16 msgid "" "A list of our Git repositories can be found on our our Git Server." msgstr "" +"Sul nostro Server Git è disponibile " +"un elenco dei nostri archivi Git." #: template/developers.html.j2:27 msgid "" "Technical papers can be found in our bibliography." msgstr "" +"Nella bibliografia sono " +"disponibili i documenti tecnici." #: template/developers.html.j2:34 msgid "Discussion" -msgstr "" +msgstr "Discussioni sullo sviluppo" #: template/developers.html.j2:37 msgid "" @@ -805,10 +811,14 @@ msgid "" "gnunet-developers\">http://lists.gnu.org/mailman/listinfo/gnunet-developers." msgstr "" +"Esiste una mailing list dedicata agli sviluppatori. È possibile iscriversi o " +"leggere l'archivio della mailing list suhttp://lists.gnu.org/mailman/listinfo/" +"gnunet-developers." #: template/developers.html.j2:47 msgid "Regression Testing" -msgstr "" +msgstr "Test di regressione" #: template/developers.html.j2:50 msgid "" @@ -816,10 +826,14 @@ msgid "" "detect regressions and check for portability at https://old.gnunet.org/buildbot/gnunet/." msgstr "" +"Disponiamo di test automatici tramite Buildbot per individuare regressioni e verificare la portabilità su https://old.gnunet.org/" +"buildbot/gnunet/." #: template/developers.html.j2:59 msgid "Code Coverage Analysis" -msgstr "" +msgstr "Analisi del code coverage" #: template/developers.html.j2:62 msgid "" @@ -827,10 +841,14 @@ msgid "" "analyze the code coverage of our tests, the results are available at https://old.gnunet.org/coverage/." msgstr "" +"Utilizziamo LCOV per analizzare il code coverage dei nostri test. I risultati sono " +"disponibili su https://old." +"gnunet.org/coverage/." #: template/developers.html.j2:72 msgid "Performance Analysis" -msgstr "" +msgstr "Analisi delle prestazioni" #: template/developers.html.j2:75 msgid "" @@ -838,43 +856,52 @@ msgid "" "regression analysis of the exchange backend at https://old.gnunet.org/gauger/." msgstr "" +"Utilizziamo Gauger per " +"l'analisi della regressione delle prestazioni dell'exchange back end su https://old.gnunet.org/gauger/." #: template/download.html.j2:7 template/gnurl.html.j2:209 msgid "Downloads" -msgstr "" +msgstr "Download" #: template/download.html.j2:11 msgid "" "Here you can download releases of our software and find links to the various " "versions." msgstr "" +"In questa sezione è possibile scaricare le versioni del nostro software e " +"trovare i link relativi." #: template/download.html.j2:17 msgid "0.11.x series" -msgstr "" +msgstr "Serie 0.11.x" #: template/download.html.j2:18 msgid "tarball" -msgstr "" +msgstr "tarball" #: template/download.html.j2:20 msgid "" "The tarball of the latest version can be obtained from GNU FTP and its " "mirrors." msgstr "" +"È possibile scaricare il tarball dell'ultima versione su GNU FTP e i suoi " +"siti mirror." #: template/download.html.j2:30 msgid "git" -msgstr "" +msgstr "git" #: template/download.html.j2:32 msgid "" "You can fetch the git tag of version 0.11.x from our development server:" msgstr "" +"È possibile scaricare il tag git della versione 0.11.x dal nostro server di " +"sviluppo:" #: template/engage.html.j2:6 msgid "Engage!" -msgstr "" +msgstr "Partecipa!" #: template/ev.html.j2:6 msgid "Verein zur Förderung von GNUnet e.V." @@ -882,7 +909,7 @@ msgstr "" #: template/ev.html.j2:11 msgid "About GNUnet e.V." -msgstr "" +msgstr "Informazioni su GNUnet e.V." #: template/ev.html.j2:13 msgid "" @@ -891,6 +918,11 @@ msgid "" "law to support GNUnet development. The Amtsgericht München registered " "the association on the 7th of March under VR 205287." msgstr "" +"Il 27 dicembre 2013 un gruppo di hacker di GNUnet si riunì presso il 30c3, " +"il Chaos Communication Congress, per creare il \"Verein zur Förderung " +"von GNUnet e.V.\", un'associazione, ai sensi delle leggi tedesche, per " +"supportare lo sviluppo di GNUnet. Amtsgericht München registrò " +"l'associazione il 7 marzo ai sensi di VR 205287." #: template/ev.html.j2:22 msgid "" @@ -898,10 +930,14 @@ msgid "" "and education in the area of secure decentralized networking in general, and " "GNUnet specifically. This is the official website for the association." msgstr "" +"L'associazione è ufficialmente volta al sostegno della ricerca, dello " +"sviluppo e dell'istruzione nel campo delle reti sicure e decentralizzate in " +"generale, e di GNUnet nello specifico. Questo è il sito ufficiale " +"dell'associazione." #: template/ev.html.j2:31 msgid "Becoming a Member of GNUnet e.V." -msgstr "" +msgstr "Entrare a far parte di GNUnet e.V." #: template/ev.html.j2:33 msgid "" @@ -965,10 +1001,8 @@ msgid "Error messages" msgstr "" #: template/faq.html.j2:16 template/faq.html.j2:797 -#, fuzzy -#| msgid "Filesharing (Alpha)" msgid "File-sharing" -msgstr "Condivisione di file (Alpha)" +msgstr "Condivisione di file" #: template/faq.html.j2:17 template/faq.html.j2:973 msgid "Contributing" @@ -1099,10 +1133,8 @@ msgid "" msgstr "" #: template/faq.html.j2:151 -#, fuzzy -#| msgid "What is GNUnet?" msgid "What can I do with GNUnet?" -msgstr "Cos'è GNUnet?" +msgstr "Cosa posso fare con GNUnet?" #: template/faq.html.j2:153 msgid "" -- cgit v1.2.3 From 28890b9fccbfd3a309e053b00940e824ab612d1a Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Fri, 19 Mar 2021 18:04:17 +0000 Subject: Translated using Weblate (Italian) Currently translated at 29.4% (133 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 881d10d2..8317c016 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-03-19 18:01+0000\n" +"PO-Revision-Date: 2021-03-19 18:06+0000\n" "Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" @@ -209,11 +209,11 @@ msgid "" "hierarchy and when necessary isolated from the rest of the world, the " "situation is less tenable for civil society." msgstr "" -"Oggigiorno, l'uso effettivo e di conseguenza i requisiti sociali per una " -"rete globale differiscono molto da quelli esistenti nel 1970. Mentre " -"l'utilizzo di Internet per scopi militari resta idoneo, poiché il materiale " -"di rete viene svolto da una gerarchia di comandi e quando necessario isolato " -"dal resto del mondo, la situazione è meno sostenibile per una società civile." +"Oggi, l'uso effettivo della rete e i conseguenti bisogni della società di " +"una rete globale differiscono molto dagli obiettivi fissati nel 1970. Mentre " +"internet è ancora adatto all'uso militare, dove le apparecchiature di rete " +"vengono gestite da una gerarchia di comando e se necessario isolate dal " +"resto del mondo, la situazione è meno sostenibile per la società civile." #: template/about.html.j2:32 msgid "" -- cgit v1.2.3 From 9b820dcc0159a6175443caa2994a92cf94b6cabc Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Fri, 19 Mar 2021 18:10:53 +0000 Subject: Translated using Weblate (Italian) Currently translated at 30.8% (139 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 8317c016..7b4a6507 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-03-19 18:06+0000\n" +"PO-Revision-Date: 2021-03-19 18:44+0000\n" "Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" @@ -905,7 +905,7 @@ msgstr "Partecipa!" #: template/ev.html.j2:6 msgid "Verein zur Förderung von GNUnet e.V." -msgstr "" +msgstr "Verein zur Förderung von GNUnet e.V." #: template/ev.html.j2:11 msgid "About GNUnet e.V." @@ -951,10 +951,19 @@ msgid "" "git/\">Satzung (currently only available in German, translations " "welcome)." msgstr "" +"Gli sviluppatori di GNUnet con accesso git (scrittura) possono diventare " +"membri per partecipare al processo decisionale e sostenere formalmente " +"GNUnet e.V. Per farlo, basta aggiornare il file members.txt " +"nell'archivio gnunet-ev. Non ci sono quote associative. Tuttavia, i membri devono sostenere " +"GNUnet e.V. e soprattutto contribuire allo sviluppo tecnico secondo le " +"proprie possibilità. Per maggiori informazioni, consultare lo Satzung (attualmente disponibile solo " +"in tedesco, sono ben accette traduzioni)." #: template/ev.html.j2:52 msgid "Governance" -msgstr "" +msgstr "Governance" #: template/ev.html.j2:54 msgid "" @@ -966,14 +975,22 @@ msgid "" "
          Kassenwart
          Florian Dold
          Beisitzer
          Christian Grothoff, ch3
          " msgstr "" +"Il nostro \"Satzung\" e l'elenco dei membri è disponibile su https://git.gnunet.org/" +"gnunet-ev.git/tree/satzung.tex. Il consiglio direttivo attuale è " +"composto da:
          Vorsitz
          Martin " +"Schanzenbach
          stellvertretender " +"Vorsitz
          t3sserakt
          Kassenwart
          Florian " +"Dold
          Beisitzer
          Christian Grothoff, ch3
          " #: template/ev.html.j2:73 msgid "Official Meeting Notes" -msgstr "" +msgstr "Annotazioni sulle riunioni ufficiali" #: template/ev.html.j2:86 msgid "Support Us!" -msgstr "" +msgstr "Sostienici!" #: template/ev.html.j2:88 msgid "" -- cgit v1.2.3 From d5c5053e133df9ccad66b4920650d7048166072f Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Mon, 22 Mar 2021 11:43:43 +0000 Subject: Translated using Weblate (Italian) Currently translated at 34.3% (155 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 53 +++++++++++++++++++++++++++++++-------- 1 file changed, 42 insertions(+), 11 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 7b4a6507..bc65e16b 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-03-19 18:44+0000\n" +"PO-Revision-Date: 2021-03-23 04:56+0000\n" "Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" @@ -1004,18 +1004,28 @@ msgid "" "
          1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh
          SEPA/IBAN
          " "
          DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)
          " msgstr "" +"Chiunque può sostenerci tramite donazioni. Per quanto riguarda i contributi " +"finanziari, i cittadini europei possono donare via SEPA. In futuro speriamo " +"di aprire conti in altre aree valutarie principali. È possibile donare anche " +"tramite Bitcoin, maggiori informazioni sui percorsi di trasferimento sono " +"riportate qui di seguito. Ricordiamo che non possiamo fornire ricevute per " +"le donazioni. Se hai intenzione di donare un importo notevole, prima di " +"farlo contattaci, poiché potrebbe convenire concludere un accordo " +"personalizzato. " +"
          BitCoin
          1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh
          SEPA/" +"IBAN
          DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)
          " #: template/faq.html.j2:12 template/faq.html.j2:23 msgid "General" -msgstr "" +msgstr "Domande generali" #: template/faq.html.j2:13 template/faq.html.j2:149 template/gns.html.j2:37 msgid "Features" -msgstr "" +msgstr "Funzionalità" #: template/faq.html.j2:15 template/faq.html.j2:695 msgid "Error messages" -msgstr "" +msgstr "Messaggi di errore" #: template/faq.html.j2:16 template/faq.html.j2:797 msgid "File-sharing" @@ -1023,11 +1033,11 @@ msgstr "Condivisione di file" #: template/faq.html.j2:17 template/faq.html.j2:973 msgid "Contributing" -msgstr "" +msgstr "Contribuire" #: template/faq.html.j2:26 msgid "What do I do if my question is not answered here?" -msgstr "" +msgstr "Cosa posso fare se non trovo le risposte alle mie domande?" #: template/faq.html.j2:28 msgid "" @@ -1035,10 +1045,13 @@ msgid "" "documentation or ask the question on the help-gnunet@gnu.org mailing list or " "the #gnunet IRC on irc.freenode.net." msgstr "" +"R: Sono disponibili molte altre risorse informative. Puoi leggere la " +"documentazione aggiuntiva o chiedere sulla mailing list help-gnunet@gnu.org " +"o sull'IRC #gnunet su irc.freenode.net." #: template/faq.html.j2:36 msgid "When are you going to release the next version?" -msgstr "" +msgstr "Quando verrà rilasciata la prossima versione?" #: template/faq.html.j2:38 msgid "" @@ -1048,20 +1061,28 @@ msgid "" "planet.gnu.org\">planet GNU. You can subscribe to the mailing list or " "the RSS feed of this site to automatically receive a notification." msgstr "" +"R: Di solito la risposta è \"quando è pronta\". Una risposta migliore " +"potrebbe essere: prima, se dai il tuo contributo (facendo test, debug, " +"scrivendo il codice e la documentazione). Il rilascio di una nuova versione " +"sarà annunciato sulla mailing list info-gnunet@gnu.org e su planet GNU. È possibile iscriversi alla mailing list " +"o al feed RSS del sito per ricevere una notifica in automatico." #: template/faq.html.j2:49 msgid "Is the code free?" -msgstr "" +msgstr "Il codice è libero?" #: template/faq.html.j2:51 msgid "" "A: GNUnet is free software, available under the GNU Affero Public License (AGPL)." msgstr "" +"R: GNUnet è un software libero, disponibile con la GNU Affero Public License (AGPL)." #: template/faq.html.j2:58 msgid "Are there any known bugs?" -msgstr "" +msgstr "Ci sono dei bug noti?" #: template/faq.html.j2:60 msgid "" @@ -1073,20 +1094,30 @@ msgid "" "you believe a bug is sensitive, you can set its view status to private (this " "should be the exception)." msgstr "" +"R: Registriamo l'elenco dei bug attualmente noti nel sistema Mantis. La presenza di alcuni bug, a volte, viene " +"segnalata direttamente agli sviluppatori o alla mailing list degli " +"sviluppatori. Si scoraggia tale pratica, poiché gli sviluppatori non hanno " +"tempo per registrare questi bug nel database Mantis. Bisogna segnalare i bug " +"direttamente nel registro bug. Se ritieni che il bug riguardi una questione " +"delicata, è possibile impostare lo stato di visualizzazione in privato (solo " +"in casi eccezionali)." #: template/faq.html.j2:73 template/faq.html.j2:193 msgid "Is there a graphical user interface?" -msgstr "" +msgstr "È disponibile un'interfaccia utente grafica?" #: template/faq.html.j2:75 msgid "" "A: gnunet-gtk is a separate download. The package contains various GTK+ " "based graphical interfaces, including a graphical tool for configuration." msgstr "" +"R: gnunet-gtk va scaricato a parte. Il pacchetto contiene varie interfacce " +"grafiche basate su GTK+, incluso uno strumento grafico per la configurazione." #: template/faq.html.j2:83 msgid "Why does gnunet-service-nse create a high CPU load?" -msgstr "" +msgstr "Perché gnunet-service-nse crea un carico CPU elevato?" #: template/faq.html.j2:85 msgid "" -- cgit v1.2.3 From dae7f2af4bae7331085a52540929b43a0eddcfe1 Mon Sep 17 00:00:00 2001 From: Francesca Giusti Date: Thu, 25 Mar 2021 13:56:15 +0000 Subject: Translated using Weblate (Italian) Currently translated at 37.9% (171 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index bc65e16b..8e09176e 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-03-23 04:56+0000\n" -"Last-Translator: Francesca Cipriani \n" +"PO-Revision-Date: 2021-03-26 12:18+0000\n" +"Last-Translator: Francesca Giusti \n" "Language-Team: Italian " "\n" "Language: it\n" @@ -1133,7 +1133,7 @@ msgstr "" #: template/faq.html.j2:99 msgid "How does GNUnet compare to Tor?" -msgstr "" +msgstr "Qual é la differenza tra GNUnet e Tor?" #: template/faq.html.j2:101 msgid "" @@ -1145,7 +1145,7 @@ msgstr "" #: template/faq.html.j2:111 msgid "How does GNUnet compare to I2P?" -msgstr "" +msgstr "Qual é la differenza tra GNUnet e I2P?" #: template/faq.html.j2:113 msgid "" @@ -1158,7 +1158,7 @@ msgstr "" #: template/faq.html.j2:124 msgid "Is GNUnet ready for use on production systems?" -msgstr "" +msgstr "GNUnet è pronto per essere usato su sistemi di produzione?" #: template/faq.html.j2:126 msgid "" @@ -1171,7 +1171,7 @@ msgstr "" #: template/faq.html.j2:136 msgid "Is GNUnet build using distributed ledger technologies?" -msgstr "" +msgstr "Si stanno usando tecnologie di registro per creare GNUnet?" #: template/faq.html.j2:138 msgid "" @@ -1179,6 +1179,9 @@ msgid "" "distributed, and privacy-preserving applications. While a ledger could be " "built using GNUnet, we currently have no plans in doing so." msgstr "" +"A: No. GNUnet è un nuovo protocollo di rete per creare applicazioni sicure, " +"distribuite e che preservino la privacy. Anche se si potesse creare un " +"registro usando GNUnet, attualmente non abbiamo in mente di farlo." #: template/faq.html.j2:151 msgid "What can I do with GNUnet?" @@ -1200,17 +1203,19 @@ msgstr "" #: template/faq.html.j2:171 msgid "Is it possible to surf the WWW anonymously with GNUnet?" -msgstr "" +msgstr "Si può navigare in incognito con GNUnet?" #: template/faq.html.j2:173 msgid "" "A: It is not possible use GNUnet for anonymous browsing at this point. We " "recommend that you use Tor for anonymous surfing." msgstr "" +"A: Non è possibile usare GNUnet per la navigazione in incognito ancora. Ti " +"consigliamo di utilizzare Tor per questo scopo." #: template/faq.html.j2:181 msgid "Is it possible to access GNUnet via a browser as an anonymous WWW?" -msgstr "" +msgstr "Si può accedere a GNUnet tramite una navigazione in incognito?" #: template/faq.html.j2:183 msgid "" @@ -1219,6 +1224,11 @@ msgid "" "proxy and all one needs to know is the protocol used between browser and " "proxy and a swift look at the GNUnet code for file-sharing." msgstr "" +"A: Attualmente non c'è un proxy (come fproxy di Freenet) per GNUnet che " +"potrebbe permettervi l'accesso con un browser. E' possibile creare un proxy " +"così e tutto ciò di cui si ha bisogno è sapere il protocollo utilizzato tra " +"il navigatore e il proxy, così come fare una revisione rapida del codice su " +"GNUnet per lo scambio di dati." #: template/faq.html.j2:195 msgid "" -- cgit v1.2.3 From 4fcfc56f40047e8e75d5c84b53602e4c4cf46cc0 Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Thu, 25 Mar 2021 19:57:11 +0000 Subject: Translated using Weblate (Italian) Currently translated at 37.9% (171 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 41 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 8e09176e..d4e532e7 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -9,7 +9,7 @@ msgstr "" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" "PO-Revision-Date: 2021-03-26 12:18+0000\n" -"Last-Translator: Francesca Giusti \n" +"Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" "Language: it\n" @@ -1130,6 +1130,14 @@ msgid "" "nse" section of your configuration file to a higher value. The default " "is "5 ms"." msgstr "" +"R: Il processo gnunet-service-nse all'inizio computerà una cosiddetta "" +";proof-of-work", affinché la rete riconosca che il peer è reale (o, " +"meglio, per renderlo troppo dispendioso perché un nemico organizzi un " +"attacco Sybil sullo strumento che stima le dimensioni della rete). Il " +"calcolo dovrebbe avvenire in qualche giorno, a seconda della velocità della " +"tua CPU. Se il carico CPU provoca problemi, è possibile aumentare il valore " +""WORKDELAY" nella sezione "nse" del tuo file di " +"configurazione. Il valore di default è "5 ms"." #: template/faq.html.j2:99 msgid "How does GNUnet compare to Tor?" @@ -1142,6 +1150,11 @@ msgid "" "GNUnet does not really have one focus; our theme is secure decentralized " "networking, but that is too broad to be called a focus." msgstr "" +"R: Tor è incentrato sulla comunicazione anonima e sulla resistenza alla " +"censura nelle connessioni TCP e, con il Tor Browser Bundle, soprattutto nel " +"web. GNUnet non è incentrato solo su un obiettivo. Lavoriamo sul creare una " +"rete decentralizzata e sicura, ma è un aspetto troppo vasto per essere " +"considerato un obiettivo unico." #: template/faq.html.j2:111 msgid "How does GNUnet compare to I2P?" @@ -1155,6 +1168,12 @@ msgid "" "using onion (or garlic) routing as the basis for various (anonymized) " "applications. I2P is largely used via a Web frontend." msgstr "" +"R: Sia GNUnet che I2P vogliono costruire un Internet migliore, più sicuro e " +"decentralizzato. Tuttavia, da un punto di vista tecnico, ci sono pochissimi " +"punti in comune tra i due.

          I2P è scritto in Java e ha tunnel " +"(asimmetrici) che utilizzano l'onion routing (o routing dell'aglio) come " +"base per varie applicazioni (rese anonime). I2P è usato soprattutto tramite " +"un Web front-end." #: template/faq.html.j2:124 msgid "Is GNUnet ready for use on production systems?" @@ -1168,6 +1187,12 @@ msgid "" "current low-level transport system. We are currently in the process of " "rewriting it (Project "Transport Next Generation [TNG]")" msgstr "" +"R: Ci sono ancora importanti sviluppi da fare su GNUnet. In gran parte non è " +"ancora pronto perché possa essere usato da altri, al di fuori degli " +"sviluppatori. Sarà più o meno efficace, a seconda della funzionalità " +"utilizzata, ma probabilmente riscontrerai problemi con in nostro attuale " +"sistema di trasporto di livello base. Al momento lo stiamo riscrivendo (" +"Projetto "Transport Next Generation [TNG]")" #: template/faq.html.j2:136 msgid "Is GNUnet build using distributed ledger technologies?" @@ -1193,6 +1218,9 @@ msgid "" "do more than just one thing. Naturally, the implementation and documentation " "of some of the features that exist are more advanced than others." msgstr "" +"R: GNUnet è un framework peer-to-peer, ovvero può fare più di una sola cosa. " +"Naturalmente, l'implementazione e la documentazione di alcune funzionalità " +"esistenti sono ad uno stadio più avanzato di altre." #: template/faq.html.j2:160 msgid "" @@ -1241,10 +1269,19 @@ msgid "" "gnunet-setup, which must still be run separately at this time (as setup " "requires the peer to be stopped)." msgstr "" +"R: In realtà ci sono poche interfacce utenti grafiche per funzionalità " +"diverse. gnunet-setup serve a configurare GNUnet, e gnunet-fs-gtk serve per " +"la condivisione dei file. È disponibile qualche altra interfaccia utente " +"grafica gnunet-XXX-gtk di minore importanza. Per ottenere l'interfaccia, è " +"necessario installare il pacchetto gnunet-gtk, che è un download a parte. " +"gnunet-gtk è un'interfaccia grafica utente che integra la maggior parte " +"delle altre interfacce grafiche in una finestra. gnunet-setup è " +"un'eccezione, perché attualmente deve ancora essere eseguita separatamente (" +"dato che per installarla è necessario fermare il peer)." #: template/faq.html.j2:210 msgid "On top of which operating systems does GNUnet run?" -msgstr "" +msgstr "Su quale sistema operativo si esegue GNUnet?" #: template/faq.html.j2:212 msgid "" -- cgit v1.2.3 From accce293c46ed679f833f4bca6c61cfc3a54e4d4 Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Fri, 26 Mar 2021 14:32:43 +0000 Subject: Translated using Weblate (Italian) Currently translated at 37.9% (171 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index d4e532e7..e36bd8d0 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-03-26 12:18+0000\n" +"PO-Revision-Date: 2021-03-26 17:01+0000\n" "Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" @@ -1189,8 +1189,8 @@ msgid "" msgstr "" "R: Ci sono ancora importanti sviluppi da fare su GNUnet. In gran parte non è " "ancora pronto perché possa essere usato da altri, al di fuori degli " -"sviluppatori. Sarà più o meno efficace, a seconda della funzionalità " -"utilizzata, ma probabilmente riscontrerai problemi con in nostro attuale " +"sviluppatori. La sua efficacia varia a seconda della funzionalità " +"utilizzata, ma probabilmente riscontrerai problemi con il nostro attuale " "sistema di trasporto di livello base. Al momento lo stiamo riscrivendo (" "Projetto "Transport Next Generation [TNG]")" -- cgit v1.2.3 From f414e27d7590e0e7289e40036ec5a082f1d171df Mon Sep 17 00:00:00 2001 From: Francesca Giusti Date: Sat, 27 Mar 2021 17:51:35 +0000 Subject: Translated using Weblate (Italian) Currently translated at 41.2% (186 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 70 ++++++++++++++++++++++++++++++++++----- 1 file changed, 61 insertions(+), 9 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index e36bd8d0..0f82c81b 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-03-26 17:01+0000\n" -"Last-Translator: Francesca Cipriani \n" +"PO-Revision-Date: 2021-03-27 19:45+0000\n" +"Last-Translator: Francesca Giusti \n" "Language-Team: Italian " "\n" "Language: it\n" @@ -1292,10 +1292,17 @@ msgid "" "NetBSD, OpenBSD and Solaris. However, not all of those reports are recent, " "so if you cannot get GNUnet to work on those systems please let us know." msgstr "" +"A: GNUnet è stato sviluppato e testato dapprima su Debian GNU/Linux. " +"Inoltre, costruiamo e testiamo regolarmente GNUnet su Fedora, Ubuntu, Arch, " +"FreeBSD e macOS. Abbiamo rapporti di versioni funzionanti su molte altre " +"distribuzioni GNU/Linux; in passato abbiamo ricevuto rapporti di versioni " +"funzionanti su NetBDS, OpenBDS e Solaris. Ad ogni modo, non tutti questi " +"rapporti sono recenti, perciò se non riesci a fare funzionare GNUnet su " +"questi sistemi per piacere facci sapere." #: template/faq.html.j2:228 msgid "Who runs the GNS root zone?" -msgstr "" +msgstr "Chi amministra la zona radicale GNS?" #: template/faq.html.j2:230 msgid "" @@ -1305,10 +1312,17 @@ msgid "" "modify this configuration at will. We expect normal users to have no need to " "edit their own GNS zone(s) unless they host services themselves." msgstr "" +"R: La risposta breve è: tu. La risposta complessa è che GNUnet invierà una " +"configurazione predeterminata di domini di livello superiore. L'autorità di " +"questa configurazione di default non è stata ancora stabilita. In ogni caso, " +"l'utente sarà in grado di modificare questa configurazione come desidera. " +"Normalmente ci aspettiamo che utenti normali non abbiano la necessità di " +"modificare la loro zona o zone GNS a meno che non offrano essi stessi dei " +"servizi." #: template/faq.html.j2:241 msgid "Where is the per-user GNS database kept?" -msgstr "" +msgstr "Dove è salvato il database di ogni utente GNS?" #: template/faq.html.j2:243 msgid "" @@ -1324,7 +1338,7 @@ msgstr "" #: template/faq.html.j2:258 msgid "What is the expected average size of a GNS namestore database?" -msgstr "" +msgstr "Qual è la grandezza media di un database di nomi GNS?" #: template/faq.html.j2:260 msgid "" @@ -1333,10 +1347,15 @@ msgid "" "will only grow to a few tens of thousands of entries, small enough to fit " "even on mobile devices." msgstr "" +"R: Abbastanza piccolo. Basandoci sul nostro studio degli utenti , in cui " +"abbiamo analizzato la cronologia di navigazione e il numero di domini " +"visitati, ci aspettiamo che i database di GNS cresceranno solo di poche " +"decine di migliaia di entrate, abbastanza piccolo da andare bene anche per i " +"dispositivi mobili." #: template/faq.html.j2:270 msgid "Is GNS resistant to the attacks on DNS used by the US?" -msgstr "" +msgstr "GNS è resistente agli attacchi sul DNS dagli Stati Uniti?" #: template/faq.html.j2:272 msgid "" @@ -1349,6 +1368,15 @@ msgid "" "unavailable for enforcement, the respective zone cannot be changed and any " "other zone delegating to this zone will achieve proper resolution." msgstr "" +"R: Pensiamo di sì, e non ci sarebbe alcun motivo per cui un governo dovrebbe " +"obbligare a modificare la mappatura di un nome, eccetto per ogni utente " +"individuale (e quindi il cambiamento sarebbe applicato solo ai nomi per cui " +"questo utente ha autorità). Perciò se ognuno usasse GNS, l'unico attacco " +"pratico di un governo sarebbe quello di forzare l'operatore di un server a " +"cambiare i registri GNS per farli direzionare altrove. Ad ogni modo, se il " +"proprietario di una chiave privata per una zona non è disponibile per " +"rinforzo, la rispettiva zona non potrà essere cambiata e ogni altra zona " +"delegata a questa conquisterà la propria risoluzione." #: template/faq.html.j2:286 msgid "How does GNS compare to other name systems" @@ -1360,10 +1388,14 @@ msgid "" "ns2018.pdf\">has been published and below is a table from the " "publication. For detailed descriptions please refer to the paper." msgstr "" +"R: Un documento scientifico riguardo questo argomento è stato pubblicato e più avanti " +"c'è una tabella di questa pubblicazione. Per descrizioni più dettagliate per " +"piacere fare riferimento al documento." #: template/faq.html.j2:392 msgid "What is the difference between GNS and CoDoNS?" -msgstr "" +msgstr "Qual è la differenza tra GNS e CoDoNS?" #: template/faq.html.j2:394 msgid "" @@ -1376,10 +1408,18 @@ msgid "" "(to keep names short and enable migration) which don't even make sense in " "the context of CoDoNS." msgstr "" +"R: CoDoNS decentralizza il database DNS (usando un DHT) ma preserva la " +"struttura autoritaria di un DNS. Con CoDoNS, IANA/ICANN sono ancora sotto " +"controllo, e ci sono anche processi che determinano chi possiede un nome. " +"

          Con GNS, noi decentralizziamo il database e la responsabilità di " +"nominare: ogni utente amministra la propria zona radicale e questo è in " +"completo controllo dei nomi che usa. GNS ha anche molte qualità addizionali (" +"mantenere i nomi brevi e abilitare migrazioni) le quali non hanno alcun tipo " +"di senso nel contesto di CoDoNS." #: template/faq.html.j2:410 msgid "What is the difference between GNS and SocialDNS?" -msgstr "" +msgstr "Qual è la differenza tra GNS e SocialDNS?" #: template/faq.html.j2:412 msgid "" @@ -1390,10 +1430,17 @@ msgid "" "delegation, and thus mappings will only change if the user responsible for " "the name (the authority) manually changes the record." msgstr "" +"R: Come GNS, SocialDNS permette a ogni utente di creare mappature DNS. Ad " +"ogni modo, con SocialDNS le mappature sono condivise tramite social network " +"e sono soggette a gerarchia. Così come le relazioni sociali evolvono, i nomi " +"possono cambiare in maniera sorprendente.

          Con GNS, i nomi sono " +"dapprima condivisi tramite delega, e in seguito la mappatura cambierà solo " +"se l'utente responsabile per il nome (l'autorità) modificherà manualmente il " +"registro." #: template/faq.html.j2:426 msgid "What is the difference between GNS and ODDNS?" -msgstr "" +msgstr "Qual è la differenza tra GNS e ODDNS?" #: template/faq.html.j2:428 msgid "" @@ -1403,6 +1450,11 @@ msgid "" "domains (like \"gnu.org\") and the IP addresses of the respective name " "servers. Resolution will fail if the target name servers change IPs." msgstr "" +"R: ODDNS è stata primariamente ideata per bypassare la zona radicale DNS e i " +"registri TLD (come quelli \".com\" e \".org\"). Invece di usare quelli, ci " +"si aspetta che ogni utente mantenga un database di domini (di secondo " +"livello, come \"gnu.org\") e gli indirizzi IP dei rispettivi nomi dei " +"server. La risoluzione fallirà se i server dei nomi cambiano IP." #: template/faq.html.j2:439 msgid "What is the difference between GNS and Handshake?" -- cgit v1.2.3 From eb2f0ddae32dd92ef370a3b1c43682d9cf1693be Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Sun, 28 Mar 2021 10:55:57 +0000 Subject: Translated using Weblate (Italian) Currently translated at 41.4% (187 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 0f82c81b..b7be64f5 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-03-27 19:45+0000\n" -"Last-Translator: Francesca Giusti \n" +"PO-Revision-Date: 2021-03-28 11:16+0000\n" +"Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" "Language: it\n" @@ -1228,6 +1228,10 @@ msgid "" "decentralized and censorship-resistant replacement for DNS and a mechanism " "for IPv4-IPv6 protocol translation and tunneling (NAT-PT with DNS-ALG)." msgstr "" +"GNUnet offre agli utenti una condivisione di file sia anonima che non, " +"un'alternativa al DNS che sia completamente decentralizzata e a prova di " +"censura, nonché un meccanismo per la traduzione e il tunneling tra i " +"protocolli IPv4 e IPv6 (NAT-PT con DNS-ALG)." #: template/faq.html.j2:171 msgid "Is it possible to surf the WWW anonymously with GNUnet?" -- cgit v1.2.3 From 292e7996a91955d8ec2edacd1afa2bea3105164d Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Sun, 28 Mar 2021 15:40:42 +0000 Subject: Translated using Weblate (Italian) Currently translated at 43.4% (196 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 41 +++++++++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 4 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index b7be64f5..1af6e53e 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-03-28 11:16+0000\n" +"PO-Revision-Date: 2021-03-28 15:56+0000\n" "Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" @@ -1339,6 +1339,15 @@ msgid "" "which various replication options are again applicable. Ultimately, there " "are many options for how users can store (and secure) their GNS database." msgstr "" +"R: In sintesi, il database viene memorizzato nel peer GNUnet dell'utente. Un " +"utente potrebbe utilizzare numerosi peer GNUnet, e in tal caso il database " +"potrebbe essere memorizzato in ogni peer (non disponiamo però di codici per " +"un'apposita duplicazione). Allo stesso modo, diversi peer GNUnet possono " +"condividere un'istanza del database; è possibile accedere allo "gnunet-" +"service-namestore" da remoto (via TCP). I dati effettivi possono essere " +"archiviati in un database Postgres, per il quale sono possibili diverse " +"opzioni di duplicazione. Infine, gli utenti hanno a disposizione molte " +"opzioni per archiviare e proteggere il loro database GNS." #: template/faq.html.j2:258 msgid "What is the expected average size of a GNS namestore database?" @@ -1384,7 +1393,7 @@ msgstr "" #: template/faq.html.j2:286 msgid "How does GNS compare to other name systems" -msgstr "" +msgstr "Qual è la differenza tra GNS e altri sistemi di nomi di dominio?" #: template/faq.html.j2:288 msgid "" @@ -1462,7 +1471,7 @@ msgstr "" #: template/faq.html.j2:439 msgid "What is the difference between GNS and Handshake?" -msgstr "" +msgstr "Qual è la differenza tra GNS e Handshake?" #: template/faq.html.j2:441 msgid "" @@ -1473,10 +1482,16 @@ msgid "" "additional supporting GNS root zone governance model but we currently do not " "have such plans in mind." msgstr "" +"R: Handshake è un metodo per la governance della zona radice basato su " +"blockchain. Quindi non si occupa del processo della risoluzione dei nomi in " +"sé, ma la delega al DNS dopo la risoluzione TLD iniziale. Se non prendessimo " +"in considerazione gli aspetti legati alla sostenibilità, handshake potrebbe " +"essere usato come un supporto aggiuntivo al modello di governance della zona " +"radice GNS; attualmente, però, questo utilizzo non rientra nei nostri piani." #: template/faq.html.j2:453 msgid "What is the difference between GNS and TrickleDNS?" -msgstr "" +msgstr "Qual è la differenza tra GNS e TrickleDNS?" #: template/faq.html.j2:455 msgid "" @@ -1489,6 +1504,14 @@ msgid "" "distribution of authoritative records, and authority remains derived from " "the DNS hierarchy." msgstr "" +"R: TrickleDNS invia i record DNS ("critici") ai resolver DNS dei " +"domini disponibili per fornire "una maggior disponibilità, un tempo di " +"risoluzione delle query inferiore e una diffusione degli aggiornamenti più " +"veloce". Quindi TrickleDNS contrasta gli attacchi che colpiscono la " +"disponibilità (e le prestazioni) della diffusione dei record nel DNS, ad " +"esempio tramite attacchi DDoS sui server radice DNS. TrickleDNS si occupa di " +"garantire la distribuzione dei record autorevoli, e l'autorevolezza deriva " +"comunque dalla gerarchia DNS." #: template/faq.html.j2:468 msgid "" @@ -1514,6 +1537,8 @@ msgid "" "How can a legitimate domain owner tell other people to not use his name in " "GNS?" msgstr "" +"In che modo il legittimo proprietario di un dominio può dire ad altri di non " +"usare il suo nome in GNS?" #: template/faq.html.j2:487 msgid "" @@ -1523,12 +1548,20 @@ msgid "" "to ignore this preference and use a name of their choice (or even assign no " "name) for this user." msgstr "" +"R: Su GNS i nomi non hanno proprietari, quindi non ci possono essere dei " +"proprietari di dominio "legittimi". Qualsiasi utente può " +"rivendicare qualsiasi nome (come suo nome preferito o "pseudonimo")" +" nel suo registro NICK. Allo stesso modo, tutti gli altri utenti possono " +"decidere di ignorare questa preferenza e impostare un nome a loro scelta per " +"questo utente (o, addirittura, non assegnare alcun nome)." #: template/faq.html.j2:498 msgid "" "Did you consider the privacy implications of making your personal GNS zone " "visible?" msgstr "" +"Avete considerato quali conseguenze ha sulla privacy rendere l'area " +"personale GNS visibile?" #: template/faq.html.j2:500 msgid "" -- cgit v1.2.3 From 5166e65fe741054539cbc4938a47ca4212c4e7fc Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Sun, 28 Mar 2021 17:17:16 +0000 Subject: Translated using Weblate (Italian) Currently translated at 44.7% (202 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 1af6e53e..645b0205 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-03-28 15:56+0000\n" +"PO-Revision-Date: 2021-03-28 20:40+0000\n" "Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" @@ -1505,8 +1505,8 @@ msgid "" "the DNS hierarchy." msgstr "" "R: TrickleDNS invia i record DNS ("critici") ai resolver DNS dei " -"domini disponibili per fornire "una maggior disponibilità, un tempo di " -"risoluzione delle query inferiore e una diffusione degli aggiornamenti più " +"domini disponibili per fornire "una maggior disponibilità, tempi di " +"risoluzione delle query più rapidi e una diffusione degli aggiornamenti più " "veloce". Quindi TrickleDNS contrasta gli attacchi che colpiscono la " "disponibilità (e le prestazioni) della diffusione dei record nel DNS, ad " "esempio tramite attacchi DDoS sui server radice DNS. TrickleDNS si occupa di " @@ -1560,7 +1560,7 @@ msgid "" "Did you consider the privacy implications of making your personal GNS zone " "visible?" msgstr "" -"Avete considerato quali conseguenze ha sulla privacy rendere l'area " +"Avete considerato quali conseguenze sulla privacy comporta rendere l'area " "personale GNS visibile?" #: template/faq.html.j2:500 @@ -1570,10 +1570,14 @@ msgid "" "Thus, users have full control over what information about their zones is " "made public." msgstr "" +"R: Ciascun record su GNS dispone di un contrassegno "privato". I " +"record sono condivisi con altri utenti (tramite DHT o trasferimenti di zona) " +"solo se il contrassegno non è attivo. Quindi gli utenti hanno il pieno " +"controllo su quali informazioni sulle loro zone siano pubbliche." #: template/faq.html.j2:510 msgid "Are \"Legacy Host\" (LEHO) records not going to be obsolete with IPv6?" -msgstr "" +msgstr "I record \"Host Legacy\" (LEHO) diventeranno obsoleti con IPv6?" #: template/faq.html.j2:512 msgid "" @@ -1586,12 +1590,24 @@ msgid "" "hosting would disappear. Finally, we don't want to have to wait for IPv6 to " "become commonplace, GNS should work with today's networks." msgstr "" +"R: Questa domanda presuppone che (a) l'hosting virtuale sia necessario solo " +"a causa della carenza di indirizzi IPv4 e (b) che i LEHO siano utili solo " +"nell'ambito dell'hosting virtuale. Tuttavia, i LEHO sono utili anche per " +"contribuire alla convalida dei certificati X.509 (poiché specificano per " +"quale nome host della legacy il certificato dovrebbe essere valido). " +"Inoltre, anche se il protocollo IPv6 è stato completamente sviluppato e sono " +"disponibili indirizzi IP "infiniti", non abbiamo la certezza che " +"l'hosting virtuale scomparirà. Infine, se non vogliamo attendere che il " +"protocollo IPv6 diventi di uso comune, GNS dovrebbe funzionare con le reti " +"di oggi." #: template/faq.html.j2:526 msgid "" "Why does GNS not use a trust metric or consensus to determine globally " "unique names?" msgstr "" +"Perché GNS non utilizza dei parametri di fiducia o un consenso per stabilire " +"nomi univoci a livello globale?" #: template/faq.html.j2:528 msgid "" @@ -1601,10 +1617,16 @@ msgid "" "of the resolution process was not acceptable. Furthermore, trust and " "consensus might be easy to manipulate by adversaries." msgstr "" +"R: I parametri di fiducia hanno un problema di fondo, hanno delle soglie. " +"Man mano che le relazioni di fiducia evolvono, i mapping assumono " +"significati diversi quando oltrepassano le soglie degli altri. Abbiamo " +"stabilito che l'imprevedibilità del processo di risoluzione non era " +"accettabile. Inoltre, la fiducia e il consenso possono essere manipolati con " +"facilità dagli avversari." #: template/faq.html.j2:539 msgid "How do you handle compromised zone keys in GNS?" -msgstr "" +msgstr "Come gestite le chiavi di zona compromesse in GNS?" #: template/faq.html.j2:541 msgid "" -- cgit v1.2.3 From 28daa49e997fd8a9661807be5261937f6f48f0fe Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Sun, 28 Mar 2021 21:30:05 +0000 Subject: Translated using Weblate (Italian) Currently translated at 44.7% (202 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 645b0205..760d2439 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-03-28 20:40+0000\n" +"PO-Revision-Date: 2021-03-28 22:04+0000\n" "Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" @@ -1560,7 +1560,7 @@ msgid "" "Did you consider the privacy implications of making your personal GNS zone " "visible?" msgstr "" -"Avete considerato quali conseguenze sulla privacy comporta rendere l'area " +"Avete considerato quali conseguenze sulla privacy comporti rendere l'area " "personale GNS visibile?" #: template/faq.html.j2:500 -- cgit v1.2.3 From f29914c15cfaa005e14285c9c19dba661c53b14e Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Mon, 29 Mar 2021 17:30:58 +0000 Subject: Translated using Weblate (Italian) Currently translated at 47.4% (214 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 112 +++++++++++++++++++++++++++----------- 1 file changed, 81 insertions(+), 31 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 760d2439..aea1cb44 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-03-28 22:04+0000\n" +"PO-Revision-Date: 2021-03-31 14:34+0000\n" "Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" @@ -1061,12 +1061,13 @@ msgid "" "planet.gnu.org\">planet GNU. You can subscribe to the mailing list or " "the RSS feed of this site to automatically receive a notification." msgstr "" -"R: Di solito la risposta è \"quando è pronta\". Una risposta migliore " -"potrebbe essere: prima, se dai il tuo contributo (facendo test, debug, " -"scrivendo il codice e la documentazione). Il rilascio di una nuova versione " -"sarà annunciato sulla mailing list info-gnunet@gnu.org e su planet GNU. È possibile iscriversi alla mailing list " -"o al feed RSS del sito per ricevere una notifica in automatico." +"R: Di solito la risposta è: \"Quando è pronta\". Una risposta migliore " +"potrebbe essere: \"Prima, se dai il tuo contributo\" (facendo test, " +"eseguendo debug, scrivendo il codice e la documentazione). Il rilascio di " +"una nuova versione sarà annunciato sulla mailing list info-gnunet@gnu.org e " +"su planet GNU. È possibile iscriversi " +"alla mailing list o al feed RSS del sito per ricevere una notifica in " +"automatico." #: template/faq.html.j2:49 msgid "Is the code free?" @@ -1095,10 +1096,10 @@ msgid "" "should be the exception)." msgstr "" "R: Registriamo l'elenco dei bug attualmente noti nel sistema Mantis. La presenza di alcuni bug, a volte, viene " +"gnunet.org/\">sistema Mantis. Talvolta, la presenza di alcuni bug viene " "segnalata direttamente agli sviluppatori o alla mailing list degli " -"sviluppatori. Si scoraggia tale pratica, poiché gli sviluppatori non hanno " -"tempo per registrare questi bug nel database Mantis. Bisogna segnalare i bug " +"sviluppatori. Sconsigliamo di farlo, perché gli sviluppatori non hanno tempo " +"per registrare questi bug nel database Mantis. Bisogna segnalare i bug " "direttamente nel registro bug. Se ritieni che il bug riguardi una questione " "delicata, è possibile impostare lo stato di visualizzazione in privato (solo " "in casi eccezionali)." @@ -1117,7 +1118,7 @@ msgstr "" #: template/faq.html.j2:83 msgid "Why does gnunet-service-nse create a high CPU load?" -msgstr "Perché gnunet-service-nse crea un carico CPU elevato?" +msgstr "Perché gnunet-service-nse comporta un uso elevato della CPU?" #: template/faq.html.j2:85 msgid "" @@ -1130,10 +1131,10 @@ msgid "" "nse" section of your configuration file to a higher value. The default " "is "5 ms"." msgstr "" -"R: Il processo gnunet-service-nse all'inizio computerà una cosiddetta "" +"R: All'inizio il processo gnunet-service-nse computerà una cosiddetta "" ";proof-of-work", affinché la rete riconosca che il peer è reale (o, " "meglio, per renderlo troppo dispendioso perché un nemico organizzi un " -"attacco Sybil sullo strumento che stima le dimensioni della rete). Il " +"attacco di Sybil allo strumento che stima le dimensioni della rete). Il " "calcolo dovrebbe avvenire in qualche giorno, a seconda della velocità della " "tua CPU. Se il carico CPU provoca problemi, è possibile aumentare il valore " ""WORKDELAY" nella sezione "nse" del tuo file di " @@ -1152,9 +1153,9 @@ msgid "" msgstr "" "R: Tor è incentrato sulla comunicazione anonima e sulla resistenza alla " "censura nelle connessioni TCP e, con il Tor Browser Bundle, soprattutto nel " -"web. GNUnet non è incentrato solo su un obiettivo. Lavoriamo sul creare una " -"rete decentralizzata e sicura, ma è un aspetto troppo vasto per essere " -"considerato un obiettivo unico." +"web. GNUnet non si concentra su un solo obiettivo. Il nostro filo conduttore " +"è la creazione di una rete decentralizzata e sicura, ma è un'idea dalla " +"portata troppo ampia per essere considerata come un obiettivo unico." #: template/faq.html.j2:111 msgid "How does GNUnet compare to I2P?" @@ -1273,13 +1274,13 @@ msgid "" "gnunet-setup, which must still be run separately at this time (as setup " "requires the peer to be stopped)." msgstr "" -"R: In realtà ci sono poche interfacce utenti grafiche per funzionalità " -"diverse. gnunet-setup serve a configurare GNUnet, e gnunet-fs-gtk serve per " +"R: In realtà sono disponibili alcune interfacce utenti grafiche per diverse " +"funzioni. gnunet-setup serve a configurare GNUnet, e gnunet-fs-gtk serve per " "la condivisione dei file. È disponibile qualche altra interfaccia utente " "grafica gnunet-XXX-gtk di minore importanza. Per ottenere l'interfaccia, è " -"necessario installare il pacchetto gnunet-gtk, che è un download a parte. " -"gnunet-gtk è un'interfaccia grafica utente che integra la maggior parte " -"delle altre interfacce grafiche in una finestra. gnunet-setup è " +"necessario installare il pacchetto gnunet-gtk, che bisogna scaricare a " +"parte. gnunet-gtk è un'interfaccia grafica utente che integra la maggior " +"parte delle altre interfacce grafiche in una finestra. gnunet-setup è " "un'eccezione, perché attualmente deve ancora essere eseguita separatamente (" "dato che per installarla è necessario fermare il peer)." @@ -1342,7 +1343,7 @@ msgstr "" "R: In sintesi, il database viene memorizzato nel peer GNUnet dell'utente. Un " "utente potrebbe utilizzare numerosi peer GNUnet, e in tal caso il database " "potrebbe essere memorizzato in ogni peer (non disponiamo però di codici per " -"un'apposita duplicazione). Allo stesso modo, diversi peer GNUnet possono " +"una duplicazione apposita). Allo stesso modo, diversi peer GNUnet possono " "condividere un'istanza del database; è possibile accedere allo "gnunet-" "service-namestore" da remoto (via TCP). I dati effettivi possono essere " "archiviati in un database Postgres, per il quale sono possibili diverse " @@ -1484,10 +1485,10 @@ msgid "" msgstr "" "R: Handshake è un metodo per la governance della zona radice basato su " "blockchain. Quindi non si occupa del processo della risoluzione dei nomi in " -"sé, ma la delega al DNS dopo la risoluzione TLD iniziale. Se non prendessimo " -"in considerazione gli aspetti legati alla sostenibilità, handshake potrebbe " -"essere usato come un supporto aggiuntivo al modello di governance della zona " -"radice GNS; attualmente, però, questo utilizzo non rientra nei nostri piani." +"sé, ma la delega al DNS dopo la risoluzione TLD iniziale. Se trascurassimo " +"gli aspetti legati alla sostenibilità, handshake potrebbe essere usato come " +"supporto aggiuntivo al modello di governance della zona radice GNS; " +"attualmente, però, questo utilizzo non rientra nei nostri piani." #: template/faq.html.j2:453 msgid "What is the difference between GNS and TrickleDNS?" @@ -1538,7 +1539,7 @@ msgid "" "GNS?" msgstr "" "In che modo il legittimo proprietario di un dominio può dire ad altri di non " -"usare il suo nome in GNS?" +"usare il suo nome su GNS?" #: template/faq.html.j2:487 msgid "" @@ -1637,10 +1638,17 @@ msgid "" "resolve. Peers always automatically check for the existence of a revocation " "message when resolving names." msgstr "" +"R: Il proprietario di una chiave privata può generare un messaggio di " +"revoca. In seguito questa chiave può esondare nella rete overlay, creando " +"una sua copia in tutti i peer. Prima di usare una chiave pubblica, i peer " +"controllano se è stata revocata. Il processo di risoluzione non andrà a buon " +"fine per tutti quei nomi che comportano una delega tramite zona revocata. I " +"peer verificano sempre se esiste un messaggio di revoca durante la " +"risoluzione dei nomi." #: template/faq.html.j2:553 msgid "Could the signing algorithm of GNS be upgraded in the future?" -msgstr "" +msgstr "In futuro si potrà aggiornare l'algoritmo di firma di GNS?" #: template/faq.html.j2:555 msgid "" @@ -1651,11 +1659,19 @@ msgid "" "existing system by using a new record type to indicate the use of a " "different cipher system." msgstr "" +"R: Sì. Nel nostro tentativo di rendere GNS standard, abbiamo già modificato " +"il protocollo per supportare dei record di delega alternativi.

          " +"Ovviamente, le implementazioni GNS utilizzate dovranno essere aggiornate per " +"supportare il nuovo schema di firma. Quest'ultimo può essere eseguito in " +"parallelo con il sistema esistente usando un nuovo tipo di record per " +"indicare l'uso di un sistema di cifratura diverso." #: template/faq.html.j2:569 msgid "" "How can a GNS zone maintain several name servers, e.g. for load balancing?" msgstr "" +"In che modo una zona GNS può mantenere vari server dei nomi, ad esempio per " +"il bilanciamento del carico?" #: template/faq.html.j2:571 msgid "" @@ -1667,12 +1683,21 @@ msgid "" "necessary, the owner of the zone can simply run multiple peers (and share " "the zone's key and database among them)." msgstr "" +"R: Non pensiamo che sarà necessario, perché i record GNS sono archiviati (e " +"replicati) nella DHT R5N. Pertanto, in genere, l'autorità non viene " +"contattata ogni volta che un cliente esegue una ricerca. Anche se l'autorità " +"va (temporaneamente) offline, la DHT memorizza il record nella cache per " +"qualche tempo. Tuttavia, qualora si consideri davvero necessario avere più " +"server in una zona, il proprietario della zona può semplicemente eseguire " +"più peer (e condividere la chiave e il database di zona tra questi)." #: template/faq.html.j2:584 msgid "" "Why do you believe it is worth giving up unique names for censorship " "resistance?" msgstr "" +"Perché pensate che valga la pena rinunciare ai nomi univoci per la " +"resistenza alla censura?" #: template/faq.html.j2:586 msgid "" @@ -1685,10 +1710,20 @@ msgid "" "unique names may very well be worth the cost. After all, what is a "" "globally" unique name worth, if it does not resolve?" msgstr "" +"R: Lo GNU Name System offre un'alternativa al DNS che è resistente alla " +"censura. Come avviene per qualsiasi meccanismo di sicurezza, questa " +"caratteristica ha un prezzo: i nomi non sono globalmente univoci. Per fare " +"un'analogia, rispetto alle connessioni HTTP, quelle HTTPS usano una maggiore " +"lunghezza di banda e hanno una latenza superiore. A seconda " +"dell'applicazione, HTTPS potrebbe essere sconveniente. Tuttavia, per gli " +"utenti che stanno subendo la censura (o ne sono preoccupati), potrebbe " +"davvero valere la pena rinunciare a dei nomi globalmente univoci. Dopotutto, " +"a cosa serve avere un nome "globalmente" univoco, se non si " +"risolve?" #: template/faq.html.j2:600 msgid "Why do you say that DNS is 'centralized' and 'distributed'?" -msgstr "" +msgstr "Perché il DNS viene definito \"centralizzato\" e \"distribuito\"?" #: template/faq.html.j2:602 msgid "" @@ -1698,10 +1733,15 @@ msgid "" "was able to reassign the management of the country-TLDs of Afganistan and " "Iraq during the wars at the beginning of the 21st century." msgstr "" +"R: Diciamo che DNS è \"centralizzato\" perché ha una componente centrale / " +"punto centrale di errore --- la zona radice e la sua gestione da parte di " +"IANA/ICANN. Questa centralizzazione provoca delle vulnerabilità. Ad esempio, " +"il governo statunitense ha potuto riassegnare la gestione dei TLD " +"dell'Afghanistan e dell'Iraq durante le guerre all'inizio del XXI secolo." #: template/faq.html.j2:613 msgid "How does GNS protect against layer-3 censorship?" -msgstr "" +msgstr "In che modo GNS protegge dalla censura di livello 3?" #: template/faq.html.j2:615 msgid "" @@ -1715,10 +1755,20 @@ msgid "" "identifiers. With nicer names, Tor and tor2web-like services would be even " "easier to use.
      " msgstr "" +"R: GNS non interviene direttamente contro la censura di livello 3, ma lo fa " +"indirettamente in due modi:
      1. Oggi molti siti web usano l'hosting " +"virtuale, quindi bloccare uno specifico indirizzo IP provoca molti più danni " +"collaterali rispetto a bloccare un nome DNS. Quindi aumenta il costo della " +"censura.
      2. Le soluzioni di aggiramento del livello 3 esistenti (come " +"Tor) trarrebbero beneficio da un naming system resistente alla censura. " +"Attualmente, per accedere allo spazio dei nomi ".a cipolla" di " +"Tor, gli utenti devono usare identificatori crittografici non memorizzabili. " +"Con nomi migliori, i servizi simili a Tor e tor2web sarebbero perfino più " +"semplici da usare.
      " #: template/faq.html.j2:634 msgid "Does GNS work with search engines?" -msgstr "" +msgstr "GNS funziona con i motori di ricerca?" #: template/faq.html.j2:636 msgid "" -- cgit v1.2.3 From 4a1b085ddf7f6e98a59dc6a9eaa2f64a8b18f850 Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Wed, 31 Mar 2021 19:56:36 +0000 Subject: Translated using Weblate (Italian) Currently translated at 48.7% (220 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index aea1cb44..c995057e 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-03-31 14:34+0000\n" +"PO-Revision-Date: 2021-04-03 06:06+0000\n" "Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" @@ -1781,10 +1781,20 @@ msgid "" "breaks the cryptographic chain of trust, legacy search engines will " "obviously not obtain censorship-resistant names." msgstr "" +"R: GNS non crea particolari problemi con i motori di ricerca. Questi infatti " +"possono eseguire la risoluzione dei nomi come qualsiasi normale utente. Di " +"solito gli utenti installano dei software personalizzati per la risoluzione " +"dei nomi ma, chiaramente, è improbabile che questo funzioni con i motori di " +"ricerca attuali. Ad ogni modo, i motori di ricerca possono comunque " +"indicizzare le risorse GNS, dato che il gateway DNS2GNS permette loro di " +"usare il DNS per risolvere i nomi GNS. Tuttavia i motori di ricerca non " +"otterranno dei nomi resistenti alla censura, proprio perché usare dei " +"gateway DNS2GNS rompe la catena di fiducia crittografica." #: template/faq.html.j2:650 msgid "How does GNS compare to the Unmanaged Internet Architecture (UIA)?" msgstr "" +"Qual è la differenza tra GNS e la Unmanaged Internet Architecture (UIA)?" #: template/faq.html.j2:652 msgid "" @@ -1796,10 +1806,18 @@ msgid "" "possible with the existing Web infrastructure. UIA is not at all concerned " "about legacy systems (clean slate)." msgstr "" +"R: Sia UIA che GNS hanno lo stesso modello basico di naming, che in realtà è " +"stato creato con l'infrastruttura SDSI di Rivest. Tuttavia, UIA non si " +"preoccupa dell'integrazione con le applicazioni di legacy, ma verte sulla " +"connettività universale tra i numerosi dispositivi di un utente. Al " +"contrario, GNS è stato progettato per interagire il più possibile con i DNS, " +"nonché per funzionare il più possibile con l'infrastruttura Web esistente. " +"UIA non si occupa di sistemi di legacy (tabula rasa)." #: template/faq.html.j2:665 msgid "Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?" msgstr "" +"GNS non aumenta la base di calcolo affidabile (TCB) rispetto a DNS(SEC)?" #: template/faq.html.j2:667 msgid "" @@ -1810,12 +1828,20 @@ msgid "" "given the name length restriction, for an individual name it is always less " "than about 128 entities." msgstr "" +"R: Per prima cosa, su GNS è possibile visualizzare chiaramente la catena di " +"fiducia, per poter sapere se il nome che stai risolvendo appartiene a un " +"amico, o a un amico di un amico, e quindi puoi decidere quanto fidarti del " +"risultato. Ovviamente, in questo modo, la base di calcolo affidabile (TCB) " +"può diventare arbitrariamente lunga; tuttavia, viste le limitazioni sulla " +"lunghezza del nome, un nome singolo non supererà mai le 128 entità circa." #: template/faq.html.j2:679 msgid "" "How does GNS handle SRV/TLSA records where service and protocol are part of " "the domain name?" msgstr "" +"In che modo GNS gestisce i record SRV/TLSA in cui il servizio e il " +"protocollo fanno parte del nome di dominio?" #: template/faq.html.j2:681 msgid "" -- cgit v1.2.3 From f1a73da2dbcd860e73e9e714c6b35424268be210 Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Mon, 5 Apr 2021 20:38:06 +0000 Subject: Translated using Weblate (Italian) Currently translated at 56.9% (257 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 163 +++++++++++++++++++++++++++++++++++--- 1 file changed, 153 insertions(+), 10 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index c995057e..d94f9890 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-04-03 06:06+0000\n" +"PO-Revision-Date: 2021-04-08 05:22+0000\n" "Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" @@ -1519,6 +1519,8 @@ msgid "" "Does GNS require real-world introduction (secure PKEY exchange) in the style " "of the PGP web of trust?" msgstr "" +"GNS necessita di una presentazione nel mondo reale (scambio di Product Key " +"sicuro) come la rete di fiducia PGP?" #: template/faq.html.j2:470 msgid "" @@ -1532,6 +1534,16 @@ msgid "" "depends entirely on the trustworthiness of the FCFS authority. The authority " "can be queried under the ".pin" TLD." msgstr "" +"R: Per ragioni di sicurezza, è risaputo che debba esistere un percorso di " +"fiducia iniziale tra le due parti. Tuttavia, per le applicazioni in cui il " +"percorso di fiducia non è necessario, si possono usare dei meccanismi più " +"deboli. Ad esempio, abbiamo implementato un'autorità first-come-first-served " +"(FCFS) che permette ad utenti arbitrari di registrare nomi arbitrari. La " +"chiave dell'autorità è inclusa in ogni installazione di GNUnet. Quindi, di " +"fatto, qualsiasi nome registrato con FCFS è globale e non necessita di altre " +"presentazioni. Tuttavia, la sicurezza di questi nomi dipende interamente " +"dall'affidabilità dell'autorità FCFS. Quest'ultima può essere interrogata " +"sotto la ".pin" TLD." #: template/faq.html.j2:485 msgid "" @@ -1854,6 +1866,14 @@ msgid "" "TLSA records) and adds a service and protocol number (and the original boxed " "record type) to it." msgstr "" +"R: Quando GNS divide un nome di dominio in etichette per la risoluzione, " +"rileva la sintassi "_Service._Proto", converte "Service" " +"nel numero di porta corrispondente e "Proto" nel numero di " +"protocollo corrispondente. La parte restante del nome viene risolta come di " +"consueto. Poi, quando viene presentato il risultato, GNS cerca il tipo di " +"record "BOX" specifico di GNS. Un record BOX contiene un altro " +"record (come i quelli SRV o TLSA) e ci aggiunge un numero di servizio e di " +"protocollo (e il tipo di record BOX originale)." #: template/faq.html.j2:697 msgid "" @@ -1939,7 +1959,7 @@ msgstr "" #: template/faq.html.j2:781 msgid "What error messages can be ignored?" -msgstr "" +msgstr "Quali messaggi di errore possono essere ignorati?" #: template/faq.html.j2:783 msgid "" @@ -1950,10 +1970,20 @@ msgid "" "expensive operation that will take some time. GNUnet will also use INFO " "messages to display information about important configuration values." msgstr "" +"R: I messaggi di errore contrassegnati come \"DEBUG\" dovrebbero essere " +"disabilitati nei binari generati per gli utenti finali e possono essere " +"ignorati in ogni caso. I messaggi di errore contrassegnati come \"INFO\" " +"riguardano sempre eventi innocui che non necessitano di alcuna operazione. " +"Ad esempio, GNUnet potrebbe usare un messaggio INFO per indicare che è in " +"corso un'operazione dispendiosa che richiede del tempo. GNUnet userà i " +"messaggi INFO anche per mostrare informazioni su valori di configurazione " +"importanti." #: template/faq.html.j2:799 msgid "How does GNUnet compare to other file-sharing applications?" msgstr "" +"Qual è la differenza tra GNUnet e altre applicazioni per la condivisione dei " +"file?" #: template/faq.html.j2:801 msgid "" @@ -1974,6 +2004,24 @@ msgid "" "compare these systems this briefly), so if you want the real differences, " "read the research papers (and probably the code)." msgstr "" +"R: Al contrario di Napster, Gnutella, Kazaa, FastTrack, eDonkey e la maggior " +"parte delle altre reti peer-to-peer, GNUnet è stata progettata dando la " +"massima priorità alla sicurezza. Vogliamo creare una rete con delle " +"funzionalità di sicurezza complete. Molte altre reti peer-to-peer sono " +"aperte a una grande varietà di attacchi e gli utenti hanno poca privacy. " +"GNUnet è anche un software libero, il codice sorgente è disponibile, quindi " +"l'utente non deve preoccuparsi di essere spiato dal software. La tabella " +"riportata qui di seguito sintetizza le differenze principali tra GNUnet e " +"altri sistemi. Le informazioni sono riportate accuratamente al meglio delle " +"nostre conoscenze. È difficile fare un paragone, perché talvolta ci sono " +"differenze tra varie implementazioni dello stesso (o quasi) protocollo. In " +"linea di massima, prendiamo un'implementazione libera come termine di " +"paragone perché permette di esaminare il codice libero. Inoltre, dato che " +"tutti questi sistemi cambiano nel tempo, le informazioni nella tabella " +"potrebbero non essere aggiornate. In caso di errori, segnalacelo. Infine, la " +"tabella non fornisce tantissime informazioni (è difficile paragonare questi " +"sistemi così brevemente), quindi per conoscere le vere differenze bisogna " +"leggere i documenti di ricerca (e probabilmente anche il codice)." #: template/faq.html.j2:915 msgid "" @@ -1986,10 +2034,21 @@ msgid "" "cost of significant increases in resource consumption which in turn may " "reduce anonymity." msgstr "" +"Un altro importante termine di paragone sono le varie reti peer-to-peer " +"anonime. In questo caso, le differenze riguardano il dominio di applicazione " +"e in che modo, di preciso, si ottiene l'anonimato. Il routing anonimo è un " +"difficile argomento di ricerca, quindi, in un confronto superficiale come " +"questo, ci concentriamo sulla latenza. Un altro fattore importante è il " +"linguaggio di programmazione. I linguaggi indipendenti dai tipi possono " +"offrire dei benefici di sicurezza. Tuttavia, questo potrebbe comportare un " +"incremento significativo del consumo delle risorse che, a sua volta, " +"potrebbe ridurre l'anonimato." #: template/faq.html.j2:928 msgid "Are there any known attacks (on GNUnet's file-sharing application)?" msgstr "" +"Ci sono attacchi noti (sull'applicazione GNUnet per la condivisione dei " +"file)?" #: template/faq.html.j2:930 msgid "" @@ -2002,10 +2061,18 @@ msgid "" "shared with a small group of people, there is no real reason to try to " "obfuscate the content by choosing a difficult keyword anyway." msgstr "" +"R: Di solito, c'è la possibilità che avvenga un attacco con testo in chiaro " +"noto alle parole chiave, ma visto che l'utente controlla le parole chiave " +"associate ai contenuti che inserisce, può sfruttare le stesse tecniche usate " +"per generare password accettabili per difendersi dall'attacco. Ad ogni modo, " +"non stiamo cercando di nascondere i contenuti. Quindi, a meno che l'utente " +"non cerchi di inserire informazioni sulla rete che possono essere condivise " +"solo con un gruppo ristretto di persone, non ci sono buone ragioni per " +"cercare di oscurare i contenuti scegliendo una parola chiave complessa." #: template/faq.html.j2:944 msgid "What do you mean by anonymity?" -msgstr "" +msgstr "Che si intende per anonimato?" #: template/faq.html.j2:946 msgid "" @@ -2017,10 +2084,18 @@ msgid "" "be difficult to impossible for an adversary to distinguish between the " "originating peer and all other peers." msgstr "" +"R: Con l'anonimato è impossibile identificare un individuo che si trova in " +"un (grande) gruppo. Un obiettivo centrale per la condivisione di file in " +"GNUnet è far diventare tutti gli utenti (peer) parte di un gruppo e rendere " +"le comunicazioni al suo interno anonime: nessuno (tranne l'iniziatore) " +"dovrebbe riuscire a sapere quale peer nel gruppo ha dato origine al " +"messaggio. In altre parole, dovrebbe essere difficile, se non impossibile, " +"per un nemico, distinguere il peer iniziatore dagli altri." #: template/faq.html.j2:958 msgid "What does my system do when participating in GNUnet file sharing?" msgstr "" +"Cosa fa il mio sistema quando partecipa alla condivisione di file GNUnet?" #: template/faq.html.j2:960 msgid "" @@ -2031,10 +2106,17 @@ msgid "" "(how large your on-disk block storage is) . Your node will then proceed to " "connect to other nodes, becoming part of the network." msgstr "" +"R: Su GNUnet crei un nodo (peer) che è identificato da un ID (hash della sua " +"chiave pubblica) e che dispone di un numero di indirizzi ai quali è " +"raggiungibile (può non avere indirizzi, per esempio quando si trova dietro " +"un NAT). Quando avrai definito il limite della larghezza di banda (quanto " +"traffico può consumare GNUnet) e la quota di archiviazione (quanto è ampia " +"la tua archiviazione a blocchi su disco), il nodo si connetterà ad altri " +"nodi, entrando a far parte della rete." #: template/faq.html.j2:975 msgid "How can I help translate this webpage into other languages?" -msgstr "" +msgstr "Come posso aiutare a tradurre questo sito web in altre lingue?" #: template/faq.html.j2:977 msgid "" @@ -2044,10 +2126,15 @@ msgid "" "sufficient permissions will then grant you access. Naturally, any abuse will " "result in the loss of permissions." msgstr "" +"R: Per prima cosa, devi creare un account sul nostro sistema Weblate. Invia " +"un'e-mail a translators@gnunet.org indicando la lingua in cui vuoi tradurre, " +"oppure chiedi sulla chat #gnunet su irc.freenode.net. Qualcuno con le " +"autorizzazioni necessarie ti darà l'accesso. Ovviamente, qualsiasi abuso " +"comporterà la perdita dei permessi." #: template/faq.html.j2:989 msgid "I have some great idea for a new feature, what should I do?" -msgstr "" +msgstr "Ho delle ottime idee per una nuova funzionalità, cosa posso fare?" #: template/faq.html.j2:991 msgid "" @@ -2055,10 +2142,14 @@ msgid "" "The best way to actually get a new feature implemented is to do it yourself " "--- and to then send us a patch." msgstr "" +"R: Purtroppo, le richieste di funzionalità sono molto più numerose di quante " +"ne possiamo effettivamente implementare. Il modo migliore per ottenere " +"l'implementazione di una nuova funzionalità è farlo da te e poi inviarci un " +"patch." #: template/glossary.html.j2:12 msgid "Ego" -msgstr "" +msgstr "Ego" #: template/glossary.html.j2:14 msgid "" @@ -2070,10 +2161,18 @@ msgid "" "not distinguish between them). We simply sometimes use the term \"ego\" to " "stress that you can have more than one." msgstr "" +"Usiamo il termine \"Ego\" per indicare che su GNUnet gli utenti possono " +"avere molteplici identità scollegate tra loro, nel senso di alter ego. La " +"possibilità di avere più di un'identità è fondamentale, perché potremmo " +"voler tenere separati i nostri ego per attività di business da quelli per " +"attività politiche o relazioni.
      Da un punto di vista tecnico, gli Ego su " +"GNUnet sono equivalenti alle identità (e il codice non fa distinzioni tra " +"loro). Talvolta usiamo il termine \"ego\" per sottolineare che puoi averne " +"più di uno." #: template/glossary.html.j2:27 msgid "Identity" -msgstr "" +msgstr "Identità" #: template/glossary.html.j2:29 msgid "" @@ -2090,10 +2189,24 @@ msgid "" "prove that they are studying. Students may keep their (certified) student " "identity separate from other egos that they use for other activities in life." msgstr "" +"Su GNUnet gli utenti vengono identificati tramite una chiave pubblica, che " +"spesso viene indicata come \"Identità\" dell'utente. Tuttavia, il concetto " +"di identità non è così draconiano come spesso lo è nella vita reale, dove " +"molte persone sono obbligate ad avere un nome, un passaporto e un numero di " +"identificazione unico.
      Finché le identità su GNUnet sono semplicemente " +"chiavi pubbliche, gli utenti sono liberi di creare quante identità vogliono, " +"che noi chiamiamo \"Ego\" per sottolineare la differenza. Sebbene gli utenti " +"possano creare questi Ego liberamente, è possibile farsi certificare un Ego " +"da un ente certificatore. In questo modo, l'Ego diventa qualcosa di molto " +"più simile al concetto tradizionale di identità.
      Ad esempio, " +"un'università potrebbe certificare le identità dei suoi studenti affinché " +"possano provare di essere effettivamente studenti. Questi ultimi possono " +"tenere separata la loro identità studentesca (certificata) da altri Ego che " +"usano per altre attività della loro vita." #: template/glossary.html.j2:50 msgid "Pseudonym" -msgstr "" +msgstr "Pseudonimo" #: template/glossary.html.j2:52 msgid "" @@ -2105,10 +2218,17 @@ msgid "" "neutral element on the elliptic curve) or a throw-away pseudonym that is " "only used once." msgstr "" +"Uno pseudonimo è un Ego con il preciso scopo di non essere associato al vero " +"nome di una persona. Gli utenti di GNUnet possono creare molti Ego e, allo " +"stesso modo, anche molti pseudonimi.
      Usare ripetutamente lo stesso " +"pseudonimo significa, per definizione, essere associabile, perché comporta " +"l'utilizzo della stessa chiave pubblica. L'anonimato necessita dell'uso di " +"pseudonimi speciali \"anonimi\" (per GNUnet, è l'elemento neutro sulla curva " +"ellittica) o di uno pseudonimo usa e getta da usare una volta sola." #: template/glossary.html.j2:71 msgid "Namespaces" -msgstr "" +msgstr "Spazi dei nomi" #: template/glossary.html.j2:73 msgid "" @@ -2122,10 +2242,21 @@ msgid "" "which despite its name may not be public knowledge and is never disclosed by " "the GNS protocol itself." msgstr "" +"Lo GNU Name System permette a ogni Ego (o identità) di associare in modo " +"sicuro e privato qualsiasi quantità di coppie etichetta-valore a un Ego. I " +"valori sono chiamati set di record, secondo la terminologia del Sistema dei " +"Nomi di Dominio (Domain Name System - DNS). Il mapping dalle etichette ai " +"record stabilito per un dato Ego viene chiamato spazio di nomi.
      Se i " +"record sono resi pubblici e quindi vengono pubblicati, altri utenti possono " +"consultare il record sulla base della chiave pubblica e dell'etichetta " +"dell'Ego. In questo caso, possono funzionare come passphrase non solo " +"l'etichetta, ma anche la chiave pubblica che, nonostante il nome, potrebbe " +"non essere di dominio pubblico e che non viene mai divulgata dal protocollo " +"GNS." #: template/glossary.html.j2:89 msgid "Peer" -msgstr "" +msgstr "Peer" #: template/glossary.html.j2:91 msgid "" @@ -2141,6 +2272,18 @@ msgid "" "to egos or identities. Namespaces cannot be associated with a peer, only " "with egos." msgstr "" +"Un \"peer\" è un'istanza di GNUnet con la propria chiave pubblica e i propri " +"indirizzi di rete per istanza. Tecnicamente, è possibile eseguire diversi " +"peer sullo stesso host, ma ha senso farlo solo per fare dei test.
      Da " +"progettazione, GNUnet supporta la condivisione dello stesso peer da parte di " +"vari utenti, così come UNIX è un sistema multiutente. Un \"peer\" " +"generalmente consiste in un insieme di servizi di base di GNUnet, che " +"vengono eseguiti come lo user \"gnunet\" e consentono agli altri utenti nel " +"gruppo \"gnunet\" di utilizzare l'API. Sui sistemi multiutente, possono " +"essere richiesti dei servizi aggiuntivi \"personalizzati\" per ogni utente. " +"
      Sebbene i peer siano identificati anche dalle chiavi pubbliche, queste " +"non hanno nulla a che fare con gli Ego o le identità. Gli spazi di nome non " +"possono essere associati a un peer, ma solo agli Ego." #: template/gns.html.j2:13 template/gnurl.html.j2:60 msgid "Motivation" -- cgit v1.2.3 From 7c0b983c93e96fdd91305eb6d527fc01bcd749cc Mon Sep 17 00:00:00 2001 From: Francesca Giusti Date: Mon, 5 Apr 2021 16:55:25 +0000 Subject: Translated using Weblate (Italian) Currently translated at 56.9% (257 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index d94f9890..b56c577c 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -9,7 +9,7 @@ msgstr "" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" "PO-Revision-Date: 2021-04-08 05:22+0000\n" -"Last-Translator: Francesca Cipriani \n" +"Last-Translator: Francesca Giusti \n" "Language-Team: Italian " "\n" "Language: it\n" @@ -1880,6 +1880,8 @@ msgid "" "I receive many "WARNING Calculated flow delay for X at Y for Z". " "Should I worry?" msgstr "" +"Ricevo diversi "ATTENZIONE Ritardo calcolato da X a Y" Dovrei " +"preoccuparmi?" #: template/faq.html.j2:699 msgid "" @@ -1888,22 +1890,30 @@ msgid "" "until the Transport Next Generation (TNG) is ready, these warnings are " "expected." msgstr "" +"A: Al momento è da aspettarselo ed è dovuto all'alta latenza di GNUnet. " +"Abbiamo iniziato una riscrittura importante per risolvere questo e altri " +"problemi, però fino a che il Transport Next Generation (TNG) sia pronto, " +"queste avvertenze continueranno a verificarsi." #: template/faq.html.j2:708 msgid "Error opening `/dev/net/tun': No such file or directory?" -msgstr "" +msgstr "Errore di apertura `/dev/net/tun': nessun file trovato nell'elenco?" #: template/faq.html.j2:710 msgid "" "A: If you get this error message, the solution is simple. Issue the " "following commands (as root) to create the required device file" msgstr "" +"R: Se ricevi questo messaggio di errore la soluzione è semplice. Segui i " +"seguenti comandi per creare i file richiesti dal dispositivo" #: template/faq.html.j2:722 msgid "" "'iptables: No chain/target/match by that name.' (when running gnunet-service-" "dns)?" msgstr "" +"'iptables: Non c'è catena/obiettivo/coincidenza con quel nome.' (durante " +"l'esecuzione di gnunet-service-dns)?" #: template/faq.html.j2:724 msgid "" @@ -1912,21 +1922,31 @@ msgid "" "your kernel has CONFIG_NETFILTER_XT_MATCH_OWNER set to either 'y' or " "'m' (and the module is loaded)." msgstr "" +"R: Per il DNS GNUnet, le tue iptables devono avere "il proprio" " +"supporto di coincidenza. Questo si ottiene avendo le opzioni corrette del " +"kernel. Controlla se il tuo kernel ha impostato " +"CONFIG_NETFILTER_XT_MATCH_OWNER o su 'y' o su 'm' (e il il modulo si carica)." #: template/faq.html.j2:736 msgid "'Timeout was reached' when running PT on Fedora (and possibly others)?" msgstr "" +"Si è esaurito il tempo di attesa durante l'esecuzione PT su Fedora (e " +"possibilmente altri)?" #: template/faq.html.j2:738 msgid "" "A: If you get an error stating that the VPN timeout was reached, check if " "your firewall is enabled and blocking the connections." msgstr "" +"R: Se ricevi un errore che indica che il VPN ha raggiunto il tempo limite, " +"controlla se il tuo firewall è abilitato e se sta bloccando le connessioni." #: template/faq.html.j2:746 msgid "" "I'm getting an 'error while loading shared libraries: libgnunetXXX.so.X'" msgstr "" +"Sto ricevendo un 'errore durante il caricamento delle biblioteche condivise: " +"libgnunetXXX.so.X'" #: template/faq.html.j2:748 msgid "" -- cgit v1.2.3 From 7a68815502d37fecfe5064cdef8454f0dd49b862 Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Thu, 8 Apr 2021 13:11:41 +0000 Subject: Translated using Weblate (Italian) Currently translated at 57.4% (259 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index b56c577c..c9ce6609 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-04-08 05:22+0000\n" -"Last-Translator: Francesca Giusti \n" +"PO-Revision-Date: 2021-04-09 06:12+0000\n" +"Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" "Language: it\n" @@ -2318,10 +2318,16 @@ msgid "" "Name System (GNS), a secure, decentralized name system built on top of " "GNUnet." msgstr "" +"Oggi il Sistema dei Nomi di Dominio non impedisce attacchi con " +"amplificazione al traffico, censura (ad esempio in Cina), sorveglianza di " +"massa (MORECOWBELL) e una guerra cibernetica offensiva (QUANTUMDNS).
      " +"Purtroppo, le soluzioni temporanee come DoT, DoH, DNSSEC, DPRIVE e simili " +"non risolveranno questi problemi. Per questo abbiamo creato lo GNU Name " +"System (GNS), un sistema di nomi sicuro, decentralizzato, creato su GNUnet." #: template/gns.html.j2:28 msgid "Overview" -msgstr "" +msgstr "Panoramica" #: template/gns.html.j2:39 msgid "" -- cgit v1.2.3 From 56d7251c55a2cbe0775f8fe273644e074abb1661 Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Sat, 10 Apr 2021 19:17:30 +0000 Subject: Translated using Weblate (Italian) Currently translated at 58.9% (266 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index c9ce6609..50402557 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-04-09 06:12+0000\n" +"PO-Revision-Date: 2021-04-11 02:00+0000\n" "Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" @@ -2337,10 +2337,16 @@ msgid "" "
    5. Censorship resistance
    6. Query privacy
    7. Secure name " "resolution
    8. Compatibility with DNS
    9. " msgstr "" +"Lo GNU Name System (GNS) è un sistema di nomi sicuro e decentralizzato. " +"Permette agli utenti di registrare i nomi come domini di primo livello (TLD -" +" Top Level Domain) e risolvere altri spazi dei nomi all'interno dei TLD.
      GNS è progettato per fornire:
      • Resistenza alla censura
      • " +"
      • Privacy nelle query
      • Risoluzione dei nomi sicura
      • " +"
      • Compatibilità con il DNS
      • " #: template/gns.html.j2:52 msgid "Resources" -msgstr "" +msgstr "Risorse" #: template/gnurl.html.j2:21 msgid "" @@ -2349,12 +2355,18 @@ msgid "" "ensure a small footprint and uniform experience for developers regardless of " "how libcurl was compiled." msgstr "" +"libgnurl è una micro fork di libcurl. L'obiettivo di libgnurl è supportare " +"solo HTTP e HTTPS (e solo HTTP 1.x) con un'unica back-end crittografica " +"(GnuTLS) per garantire un ingombro ridotto e un'esperienza uniforme per gli " +"sviluppatori, a prescindere da come è stato compilato libcurl." #: template/gnurl.html.j2:30 msgid "" "Our main usecase is for GNUnet and Taler, but it might be usable for others, " "hence we're releasing the code to the general public." msgstr "" +"Il nostro caso d'uso principale è per GNUnet e Taler, ma potrebbe essere " +"usato per altro, quindi stiamo pubblicando il codice per il grande pubblico." #: template/gnurl.html.j2:37 msgid "" @@ -2362,15 +2374,20 @@ msgid "" "README for instructions, as you must supply the correct options to configure " "to get a proper build of libgnurl." msgstr "" +"libgnurl viene rilasciato sotto la stessa licenza di libcurl. Leggere README " +"per le istruzioni, perché bisogna impostare le opzioni correttamente per la " +"configurazione e ottenere una giusta compilazione di libgnurl." #: template/gnurl.html.j2:48 msgid "About gnurl" -msgstr "" +msgstr "Informazioni su gnurl" #: template/gnurl.html.j2:50 msgid "" "Large parts of the following 6 paragraphs are old and need to be rewritten." msgstr "" +"Gran parte dei sei paragrafi qui di seguito contengono informazioni obsolete " +"e devono essere riscritti." #: template/gnurl.html.j2:62 msgid "" -- cgit v1.2.3 From d8869b628dcf36ca2e32c7aa03a4de82aa865a7e Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Sun, 11 Apr 2021 20:42:33 +0000 Subject: Translated using Weblate (Italian) Currently translated at 59.2% (267 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 50402557..431e69de 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-04-11 02:00+0000\n" +"PO-Revision-Date: 2021-04-12 21:31+0000\n" "Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" @@ -2400,6 +2400,16 @@ msgid "" "is error-prone, especially as if we are linked against the wrong version, " "the bugs that arise might be rather subtle." msgstr "" +"cURL supporta molti back-end crittografici. GNUnet necessita dell'uso di " +"GnuTLS, ma alcune distribuzioni usano altre varianti. Supportare altri back-" +"end crittografici ci esporrebbe di nuovo a una gamma più ampia di problemi " +"di sicurezza, potrebbe provocare problemi con le licenze e, soprattutto, " +"potrebbe introdurre nuovi bug, poiché è risaputo che alcuni back-end " +"crittografici provocano problemi di runtime impercettibili. Sebbene sia " +"possibile avere due versioni di libcurl installate sullo stesso sistema, è " +"tendente all'errore, soprattutto perché se siamo collegati alla versione " +"sbagliata, i bug che si verificano potrebbero essere piuttosto " +"impercettibili." #: template/gnurl.html.j2:75 msgid "" -- cgit v1.2.3 From eedd43ff829515e853e46a1c37cb74fc1dfcfeb1 Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Fri, 16 Apr 2021 16:48:27 +0000 Subject: Translated using Weblate (Italian) Currently translated at 59.6% (269 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 431e69de..cb0743bb 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-04-12 21:31+0000\n" +"PO-Revision-Date: 2021-04-17 17:31+0000\n" "Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" @@ -2432,6 +2432,23 @@ msgid "" "of those features, and thus including security issues that might arise from " "that code." msgstr "" +"Per GNUnet è necessaria anche una versione particolarmente moderna di " +"GnuTLS. Quindi sarebbe comunque necessario ricompilare cURL per GNUnet. Cosa " +"succede però se si collega cURL a questa versione di GnuTLS? Per prima cosa " +"si dovrebbe installare GnuTLS a mano nel sistema. Poi si compila cURL. Non " +"ci sarebbero problemi per la sua compilazione, ma il linker alla fine si " +"lamenterà amaramente, perché cURL si collega anche a una serie di altre " +"librerie di sistema (gssapi, ldap, ssh2, rtmp, krb5, sasl2; per la " +"discussione sui protocolli oscuri, vedi sopra) che, in quanto parte della " +"distribuzione, erano collegate a versioni precedenti di GnuTLS. Ecco la " +"tipica ricetta per un disastro. Per evitare di aggiornare una dozzina di " +"librerie di sistema (e averne due versioni installate), bisogna disabilitare " +"tutte le funzionalità di cURLS che GNUnet non usa, e sono molte. Per GNUnet, " +"i protocolli più oscuri supportati da cURL sono simili a un codice non " +"usato, principalmente innocui, ma inutili. Tuttavia, dato che alcune " +"applicazioni potrebbero usare una di queste funzionalità, le distribuzioni " +"di solito sono costrette ad abilitarle tutte, inclusi i problemi di " +"sicurezza che potrebbero derivare da quel codice." #: template/gnurl.html.j2:99 msgid "" @@ -2446,6 +2463,18 @@ msgid "" "the linker will link GNUnet against the right version. Note that none of " "this can really be trivially fixed by the cURL developers." msgstr "" +"Quindi per usare una versione moderna di GnuTLS, il giusto approccio è " +"disattivare tutte le funzionalità \"opzionali\" di cURL che trascinano con " +"loro librerie di sistema che si collegano allo GnuTLS precedente. È una " +"soluzione che funziona, tranne per il fatto che poi non si dovrebbe MAI " +"installare quella versione di libcurl in /usr o /usr/ locali, poiché " +"potrebbe creare problemi ad altre parti del sistema che potrebbero dipendere " +"dalle funzionalità appena disattivate. Il controllo delle versioni Libtool " +"non è di aiuto, perché non è progettato per gestire librerie con " +"funzionalità opzionali. Ovviamente, anche installare cURL da un'altra parte " +"è problematico, perché bisognerà accertarsi che il linker colleghi GNUnet " +"alla versione corretta. Nessuno di questi problemi può essere realmente " +"risolto con facilità dagli sviluppatori cURL." #: template/gnurl.html.j2:118 msgid "Rename to fix" -- cgit v1.2.3 From 811a72756a57357ad5d8f9c122d2c1a3633cbc3c Mon Sep 17 00:00:00 2001 From: Francesca Giusti Date: Sun, 18 Apr 2021 14:20:46 +0000 Subject: Translated using Weblate (Italian) Currently translated at 61.4% (277 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 68 ++++++++++++++++++++++++++++++--------- 1 file changed, 53 insertions(+), 15 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index cb0743bb..28835df5 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-04-17 17:31+0000\n" -"Last-Translator: Francesca Cipriani \n" +"PO-Revision-Date: 2021-04-19 06:56+0000\n" +"Last-Translator: Francesca Giusti \n" "Language-Team: Italian " "\n" "Language: it\n" @@ -26,7 +26,7 @@ msgstr "GNUnet" #: common/base.j2:6 common/news.j2:6 msgid "GNU's framework for secure p2p networking" -msgstr "L'architettura GNU per una rete p2p sicura" +msgstr "Il contesto operativo dello GNU per un sicuro p2p networking" #: common/footer.j2.inc:7 msgid "Contact" @@ -34,15 +34,15 @@ msgstr "Contatti" #: common/footer.j2.inc:8 common/navigation.j2.inc:49 msgid "GNUnet e.V." -msgstr "GNUnet e.V." +msgstr "GNUnet e V." #: common/footer.j2.inc:9 template/about.html.j2:6 msgid "About GNUnet" -msgstr "Informazioni su GNUnet" +msgstr "Su GNUnet" #: common/footer.j2.inc:14 common/navigation.j2.inc:64 msgid "Bug Tracker" -msgstr "Registro bug" +msgstr "Rilevatore di bug" #: common/footer.j2.inc:19 template/copyright.html.j2:6 msgid "Copyright Assignment" @@ -63,7 +63,7 @@ msgstr "Segnalare problemi del sito." #: common/navigation.j2.inc:38 msgid "About" -msgstr "Cos'è GNUnet" +msgstr "Riguardo a" #: common/navigation.j2.inc:39 news/index.html.j2:8 #: news/oldnews-2011.html.j2:13 news/oldnews-2013.html.j2:13 @@ -117,7 +117,7 @@ msgstr "Documentazione del codice sorgente" #: common/navigation.j2.inc:67 msgid "Continuous Integration" -msgstr "Integrazione continua" +msgstr "Integrazione continuativa" #: common/navigation.j2.inc:68 msgid "Development Tutorial" @@ -133,7 +133,7 @@ msgstr "Installazione" #: common/navigation.j2.inc:83 template/install-on-openwrt.html.j2:76 msgid "Use" -msgstr "Utilizzo" +msgstr "Usare" #: common/navigation.j2.inc:84 msgid "Videos" @@ -157,7 +157,7 @@ msgstr "API REST" #: common/navigation.j2.inc:89 msgid "FAQ" -msgstr "Domande Frequenti" +msgstr "FAQ" #: news/index.html.j2:11 news/oldnews-2011.html.j2:16 #: news/oldnews-2013.html.j2:16 news/oldnews-2018.html.j2:16 @@ -175,7 +175,7 @@ msgstr "Iscriviti al nostro feed RSS" #: news/oldnews-2013.html.j2:40 news/oldnews-2018.html.j2:40 #: news/oldnews-2019.html.j2:40 msgid "read more" -msgstr "Per saperne di più" +msgstr "Maggiori informazioni" #: news/index.html.j2:45 msgid "News archives:" @@ -1967,6 +1967,22 @@ msgid "" "For example, if you configured GNUnet using a prefix of \"$HOME/gnunet/\" " "you want to run:" msgstr "" +"R: Questo errore accade normalmente quando il tuo linker non riesce a " +"localizzare una delle biblioteche di GNUnet. Questo può avere due ragioni. " +"Primo, è teoreticamente possibile che la biblioteca non sia installata sul " +"tuo sistema; ad ogni modo, se compili GNUnet normalmente e/o usi un " +"pacchetto binario, è molto improbabile. La causa più comune è che hai " +"installato GNUnet in una directory che il tuo linker non trova. Ci sono " +"diversi modi per rimediarvi. Se sei \"root\" e lo hai installato su una " +"cartella di sistema (come /usr/local), vuoi aggiungere le biblioteche sul " +"percorso di ricerca a livello di sistema. Questo è possibile aggiungendo una " +"linea \"/usr/local/lib/\" a /etc/ld.so.conf e avviare \"ldconfig\". Se hai " +"installato GNUnet a /opt o qualsiasi altro percorso simile, ovviamente devi " +"cambiare \"/usr/local\" di conseguenza. Se non hai diritti da \"root\" o hai " +"installato GNUnet come \"/home/$USER/\", allora puoi esplicitamente far " +"cercare al tuo linker una precisa directory per biblioteche usando la " +"variabile ambientale \"LD_LIBRARY_PATH\". Per esempio, se hai configurato " +"GNUnet usando un prefisso \"$HOME/gnunet/\" allora devi:" #: template/faq.html.j2:774 msgid "" @@ -1976,6 +1992,11 @@ msgid "" "have this new profile be applied to all shells (including your desktop " "environment)." msgstr "" +"per assicurarti che le biblioteche e i binari di GNUnet vengano " +"riconosciuti. Per evitare di dover fare così ogni volta, puoi aggiungere le " +"linee di cui sopra (senza la \"$\") al tuo file .bashrc o .profile. Dovrai " +"fare il logout e di nuovo il login per far sì che questo nuovo profilo venga " +"aggiunto a tutte le strutture (incluso il tuo desktop)." #: template/faq.html.j2:781 msgid "What error messages can be ignored?" @@ -2307,7 +2328,7 @@ msgstr "" #: template/gns.html.j2:13 template/gnurl.html.j2:60 msgid "Motivation" -msgstr "" +msgstr "Motivazione" #: template/gns.html.j2:15 msgid "" @@ -2478,7 +2499,7 @@ msgstr "" #: template/gnurl.html.j2:118 msgid "Rename to fix" -msgstr "" +msgstr "Rinomina per risolvere" #: template/gnurl.html.j2:120 #, python-format @@ -2501,7 +2522,7 @@ msgstr "" #: template/gnurl.html.j2:142 msgid "Using libgnurl" -msgstr "" +msgstr "Usare libgnurl" #: template/gnurl.html.j2:144 msgid "" @@ -2513,10 +2534,18 @@ msgid "" "proposed, but so far we have kept our changes minimal and no additions to " "the original curl source have been written." msgstr "" +"Progetti che usano cURL per HTTP/HTTPS e che funzionerebbero con GnuTLS " +"dovrebbero essere in grado di cambiare a lbgnurl cambiando \"-lcurl\" a " +"\"lgnurl\". Tutto qui. Nessun cambio al codice della sorgente dovrebbe " +"essere richiesto, dato che libgnurl lotta per una compatibilità bug-for-bug " +"con i subset di cURL: HTTP/HTTPS/GnuTLS. Potremmo aggiungere nuovi " +"componenti relazionati con questo subset se ci vengono proposti, ma finora " +"abbiamo mantenuto al minimo i cambiamenti e niente è stato aggiunto alla " +"sorgente originaria curl." #: template/gnurl.html.j2:161 msgid "Gotchas" -msgstr "" +msgstr "Trabocchetti" #: template/gnurl.html.j2:163 msgid "" @@ -2530,6 +2559,15 @@ msgid "" "no conflicts in filenames occur you are not expected to remove curl to make " "use of gnurl and viceversa." msgstr "" +"libgnurl e gnurl non sono stati pensati per essere usati come rimpiazzo per " +"gli utenti curl:
        Questo non significa che non ci sia fiducia nel lavoro " +"fatto con gnurl, ma che questi strumenti non useranno un binario e " +"biblioteca chiamati diversamente. Se sai cosa fai, dovresti essere in grado " +"di usare gnurl nei tuoi strumenti invece di curl. Non consigliamo di farlo " +"comunque, visto che l'unico uso per cui è stato testato finora è " +"come parte dei sistemi Taler's e GNUnet's.
        Dal momento che non " +"ci sono conflitti nei nomi dei file non dovresti rimuovere curl per usare " +"gnurl e viceversa." #: template/gnurl.html.j2:188 msgid "You can get the gnurl git repository using:" -- cgit v1.2.3 From 2bf0f9a81d728f19f263398fbe0b22d95762358b Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Tue, 20 Apr 2021 19:58:02 +0000 Subject: Translated using Weblate (Italian) Currently translated at 62.3% (281 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 28835df5..4a228cc9 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-04-19 06:56+0000\n" -"Last-Translator: Francesca Giusti \n" +"PO-Revision-Date: 2021-04-20 23:43+0000\n" +"Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" "Language: it\n" @@ -2571,11 +2571,11 @@ msgstr "" #: template/gnurl.html.j2:188 msgid "You can get the gnurl git repository using:" -msgstr "" +msgstr "È possibile ottenere l'archivio git gnurl usando:" #: template/gnurl.html.j2:201 msgid "The versions are checked in as (signed) git tags." -msgstr "" +msgstr "Le versioni sono registrate come git tag (firmate)." #: template/gnurl.html.j2:211 msgid "" @@ -2589,10 +2589,19 @@ msgid "" "\"https://nixos.org/nix/\">Nix, and as www/gnurl in pkgsrc." msgstr "" +"Le versioni sono pubblicate su ftpmirror.gnu.org/gnu/gnunet. È possibile trovare gnurl " +"all'interno di un'ampia gamma di distribuzioni e gestori di pacchetti. Tra i " +"Gestori di pacchetti che includono gnurl ci sono: GNU Guix (disponibile come \"gnurl\"), Gentoo tramite la raccolta di ebuild " +"collaborativa youbroketheinternet, Nix e " +"come www/gnurl in pkgsrc." #: template/gnurl.html.j2:228 msgid "Building gnurl" -msgstr "" +msgstr "Compilare gnurl" #: template/gnurl.html.j2:230 msgid "" -- cgit v1.2.3 From 76c0119d610eadcb2e72229b2819d2fac26670eb Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Thu, 22 Apr 2021 15:49:19 +0000 Subject: Translated using Weblate (Italian) Currently translated at 63.1% (285 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 4a228cc9..b9e1e114 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-04-20 23:43+0000\n" +"PO-Revision-Date: 2021-04-22 16:40+0000\n" "Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" @@ -2617,20 +2617,34 @@ msgid "" "b> building gnurl from the tip of the default git branch, as only tags are " "considered to be stable and approved builds." msgstr "" +"Consigliamo di seguire attentamente gli annunci sulle versioni, perché " +"potrebbero indicare modifiche nel modo in cui gnurl viene compilato.
        Se " +"il tuo gestore di pacchetti fornisce una compilazione binaria o istruzioni " +"per compilare gnurl da sorgenti automatiche e integrate nel tuo ambiente, " +"consigliamo caldamente di usare questa compilazione binaria.
        Esistono " +"due modi per compilare gnurl: il primo consiste nella compilazione dal git " +"tag più recente, mentre il secondo usa il tarball distribuito. Di solito, i " +"distributori dovrebbero compilare dal tarball, ma in questo caso descriviamo " +"entrambi i metodi. I metodi sono scritti tenendo conto di uno spazio utente " +"NetBSD 9, sostituisci gli strumenti se necessario.
        Si dovrebbe " +"evitare di compilare gnurl dalla cima del ramo git di default, perché " +"solo i tag sono considerate compilazioni stabili e approvate." #: template/gnurl.html.j2:251 msgid "Building from the distributed tarball (prefered method)" -msgstr "" +msgstr "Compilazione dal tarball distribuito (metodo preferibile)" #: template/gnurl.html.j2:253 msgid "" "If you want to verify the signature, install an OpenPGP compatible tool such " "as security/gnupgp2 (and set it up). Assuming you use pkgin:" msgstr "" +"Installare uno strumento OpenPGP compatibile come security/gnupgp2 (e " +"configurarlo) per verificare la firma. Se si usa pkgin:" #: template/gnurl.html.j2:267 msgid "Fetch the signature key from" -msgstr "" +msgstr "Ottieni la chiave della firma su" #: template/gnurl.html.j2:271 msgid "or via commandline with gnupg2." -- cgit v1.2.3 From dc18d0080bdf544007765678707e08ceb27a8e24 Mon Sep 17 00:00:00 2001 From: Francesca Cipriani Date: Sat, 24 Apr 2021 19:55:16 +0000 Subject: Translated using Weblate (Italian) Currently translated at 63.4% (286 of 451 strings) Translation: GNUnet/Website Translate-URL: http://weblate.taler.net/projects/gnunet/website/it/ --- locale/it/LC_MESSAGES/messages.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index b9e1e114..2cc31d8b 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2021-03-12 16:12+0100\n" -"PO-Revision-Date: 2021-04-22 16:40+0000\n" +"PO-Revision-Date: 2021-04-25 04:48+0000\n" "Last-Translator: Francesca Cipriani \n" "Language-Team: Italian " "\n" @@ -2648,7 +2648,7 @@ msgstr "Ottieni la chiave della firma su" #: template/gnurl.html.j2:271 msgid "or via commandline with gnupg2." -msgstr "" +msgstr "o tramite riga di comando con gnupg2." #: template/gnurl.html.j2:276 msgid "" -- cgit v1.2.3 From b2432fbe76b6a340c8a01e171db2d71cb8fc8ad8 Mon Sep 17 00:00:00 2001 From: Martin Schanzenbach Date: Thu, 29 Apr 2021 16:38:08 +0200 Subject: add dissens news --- locale/ar/LC_MESSAGES/messages.po | 65 ++--- locale/de/LC_MESSAGES/messages.po | 452 +++++++++++++++++------------ locale/es/LC_MESSAGES/messages.po | 286 ++++++++++++------- locale/fr/LC_MESSAGES/messages.po | 158 +++++----- locale/hi/LC_MESSAGES/messages.po | 68 +++-- locale/it/LC_MESSAGES/messages.po | 247 +++++++++++----- locale/ja/LC_MESSAGES/messages.po | 508 ++++++++++++++++++++++----------- locale/ko/LC_MESSAGES/messages.po | 87 +++--- locale/messages.pot | 66 ++--- locale/pt/LC_MESSAGES/messages.po | 65 ++--- locale/zh_Hant/LC_MESSAGES/messages.po | 279 ++++++++++-------- news/2021-04-DISSENS.html.j2 | 65 +++++ static/dissens-overview.png | Bin 0 -> 305238 bytes 13 files changed, 1450 insertions(+), 896 deletions(-) create mode 100644 news/2021-04-DISSENS.html.j2 create mode 100644 static/dissens-overview.png (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/locale/ar/LC_MESSAGES/messages.po b/locale/ar/LC_MESSAGES/messages.po index bd4a2363..3f6d82e8 100644 --- a/locale/ar/LC_MESSAGES/messages.po +++ b/locale/ar/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-12 16:12+0100\n" +"POT-Creation-Date: 2021-04-28 14:41+0200\n" "PO-Revision-Date: 2021-03-20 10:40+0000\n" "Last-Translator: Shorouk Hassouna \n" "Language-Team: Arabic " msgstr "" @@ -471,8 +467,8 @@ msgstr "" msgid "" "Cadet-GTK is a " "convenient but feature-rich graphical application providing messaging using " -"especially the CADET subsystem. It is developed using GTK and libhandy for a " -"convergent design." +"the CADET subsystem. It is developed using GTK and libhandy for a convergent " +"design." msgstr "" #: template/applications.html.j2:180 @@ -482,9 +478,8 @@ msgstr "" #: template/applications.html.j2:182 msgid "" "groupchat is a " -"terminal user interface providing messaging using especially the CADET " -"subsystem. It is developed using nim. Cadet-GTK and groupchat are planned to " -"be compatible." +"terminal user interface providing messaging using the CADET subsystem. It is " +"developed using nim. Cadet-GTK and groupchat are planned to be compatible." msgstr "" #: template/architecture.html.j2:6 @@ -500,7 +495,7 @@ msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " "end-to-end encrypted messaging layer (CADET), a public key infrastructure " "(GNS) and a pluggable transport system (TRANSPORT).
        Using public keys " -"for addresses and self-organized decentralized routing algorithms, these " +"for addresses and self-organizing decentralized routing algorithms, these " "subsystems replace the traditional TCP/IP stack." msgstr "" @@ -511,7 +506,7 @@ msgstr "الامان" #: template/architecture.html.j2:38 msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " -"runs as a separate process, providing fault-isolation and enabling tight " +"runs as a separate process, providing fault isolation and enabling tight " "permissions to be granted to each subsystem. Naturally, the implementation " "is a GNU package, and will always " "remain free software." @@ -753,8 +748,8 @@ msgid "" "membership dues; however, members are required to support GNUnet e.V. and in " "particularly contribute to the technical development within their means. For " "further details, we refer to the Satzung (currently only available in German, translations " -"welcome)." +"git/\">Satzung (Charter) (currently only available in German, " +"translations welcome)." msgstr "" #: template/ev.html.j2:52 @@ -763,9 +758,9 @@ msgstr "" #: template/ev.html.j2:54 msgid "" -"You can find our \"Satzung\", and the list of members under https://git.gnunet." -"org/gnunet-ev.git/tree/satzung.tex. The current board consists of: " +"You can find our charter, and the list of members under https://git.gnunet.org/" +"gnunet-ev.git/tree/satzung.tex. The current board consists of: " "
        Vorsitz
        Martin " "Schanzenbach
        stellvertretender Vorsitz
        t3sserakt
        " "
        Kassenwart
        Florian Dold
        Beisitzer

        With " "GNS, we decentralize the database and also decentralize the responsibility " -"for naming: each user runs his own personal root zone and is thus in " -"complete control of the names he uses. GNS also has many additional features " -"(to keep names short and enable migration) which don't even make sense in " -"the context of CoDoNS." +"for naming: each user runs their own personal root zone and is thus in " +"complete control of the names they use. GNS also has many additional " +"features (to keep names short and enable migration) which don't even make " +"sense in the context of CoDoNS." msgstr "" #: template/faq.html.j2:410 @@ -1123,9 +1118,9 @@ msgid "" "A: Handshake is a blockchain-based method for root zone governance. Hence, " "it does not address the name resolution process itself but delegates " "resolution into DNS after the initial TLD resolution. Not taking " -"sustainablility considerations into account, handshake could be used as an " -"additional supporting GNS root zone governance model but we currently do not " -"have such plans in mind." +"sustainablility considerations into account, Handshake could be used as an " +"additional supporting GNS root zone governance model, but we currently do " +"not have such plans in mind." msgstr "" #: template/faq.html.j2:453 @@ -1503,7 +1498,7 @@ msgid "" "Another important point of reference are the various anonymous peer-to-peer " "networks. Here, there are differences in terms of application domain and how " "specifically anonymity is achieved. Anonymous routing is a hard research " -"topic, so for a superficial comparisson like this one we focus on the " +"topic, so for a superficial comparison like this one we focus on the " "latency. Another important factor is the programming language. Type-safe " "languages may offer certain security benefits; however, this may come at the " "cost of significant increases in resource consumption which in turn may " @@ -2748,8 +2743,8 @@ msgid "" "that we can add it to this list. Furthermore, if you are interested in " "packaging GNUnet for your Operating System, get in touch with us at gnunet-" "developers@gnu.org if you require help with this job. If you were using an " -"Operating System with the Alpine package manager, GNUnet could be installed " -"as simple as:" +"Operating System with the APT package manager, GNUnet could be installed as " +"simple as:" msgstr "" #: template/install.html.j2:61 @@ -2781,7 +2776,7 @@ msgid "" msgstr "" #: template/install.html.j2:98 -msgid "Alternatively, get the sources from git by entering:" +msgid "To compile gnunet from the git source you can do so by entering:" msgstr "" #: template/install.html.j2:106 diff --git a/locale/de/LC_MESSAGES/messages.po b/locale/de/LC_MESSAGES/messages.po index 97a99a1c..c95f394a 100644 --- a/locale/de/LC_MESSAGES/messages.po +++ b/locale/de/LC_MESSAGES/messages.po @@ -7,11 +7,11 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-12 16:12+0100\n" +"POT-Creation-Date: 2021-04-28 14:41+0200\n" "PO-Revision-Date: 2021-04-26 03:52+0000\n" "Last-Translator: Ariane Kristof \n" -"Language-Team: German " -"\n" +"Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,7 +32,7 @@ msgstr "GNU's Architektur für sichere p2p Netzwerke" msgid "Contact" msgstr "Kontakt" -#: common/footer.j2.inc:8 common/navigation.j2.inc:49 +#: common/footer.j2.inc:8 msgid "GNUnet e.V." msgstr "GNUnet e.V." @@ -147,10 +147,6 @@ msgstr "Glossar" msgid "Handbook" msgstr "Handbuch" -#: common/navigation.j2.inc:87 template/livingstandards.html.j2:8 -msgid "Living Standards" -msgstr "Lebensbedingungen" - #: common/navigation.j2.inc:88 msgid "REST API" msgstr "REST API" @@ -230,8 +226,8 @@ msgstr "" "kann der Internetverkehr von feindlichen Routern im Netzwerk fehlgeleitet, " "abgefangen, zensiert und manipuliert werden. Und tatsächlich hat sich das " "moderne Internet zu dem Punkt entwickelt, von dem Matthew Green sagt:
        \"das Netzwerk ist feindlich\"." +"href=\"https://blog.cryptographyengineering.com/2015/08/16/the-network-is-" +"hostile/\">\"das Netzwerk ist feindlich\"." #: template/about.html.j2:41 msgid "" @@ -259,8 +255,8 @@ msgid "" "GNUnet must be implemented as Free Software." msgstr "" -"GNUnet muss als Freie Software gestaltet werden." +"GNUnet muss als Freie Software gestaltet werden." #: template/about.html.j2:60 msgid "" @@ -342,22 +338,22 @@ msgid "" "\"https://docs.gnunet.org/handbook/gnunet.html#Egos\">Egos
      " msgstr "" "Weitere Informationen finden Sie in unserem Handbuch, insbesondere im Kapitel über " +"org/handbook/gnunet.html\">Handbuch, insbesondere im Kapitel über " "\"Kerngedanken\", in dem die grundlegenden Konzepte von GNUnet erläutert " -"werden:" +"GNU-Name-System-_0028GNS-Zones_0029\">Zonen im GNU Namen-system (GNS Zonen).
    10. Egos
    11. .
" #: template/about.html.j2:88 msgid "More Resources" @@ -427,8 +423,8 @@ msgid "" msgstr "" "Dieses Projekt erhielt eine Förderung durch das Horizon 2020 Forschungs- und " "Innovationsprogramm der Europäischen Union im Rahmen der NGI_Trust " -"Zuwendungsvereinbarung Nr. 646573. Das Projekt hat die Integration von " -"re.claimID mit dem GNU Taler Zahlungssystem in einen gemeinsamen Piloten zum " +"Zuwendungsvereinbarung Nr. 646573. Das Projekt hat die Integration von re." +"claimID mit dem GNU Taler Zahlungssystem in einen gemeinsamen Piloten zum " "Ziel, um die praktische Durchführbarkeit und die Vorzüge von Systemen, die " "den Datenschutz verbessern, für Nutzer und kommerzielle " "Dienstleistungsanbieter zu demonstrieren." @@ -463,12 +459,21 @@ msgid "The GNU Name System" msgstr "Das GNU-Namenssystem" #: template/applications.html.j2:15 +#, fuzzy +#| msgid "" +#| "The GNU Name System (GNS) is a fully " +#| "decentralized replacement for the Domain Name System (DNS). Instead of " +#| "using a hierarchy, GNS uses a directed graph. Naming conventions are " +#| "similar to DNS, but queries and replies are private even with respect to " +#| "peers providing the answers. The integrity of records and privacy of look-" +#| "ups is cryptographically secured. " msgid "" "The GNU Name System (GNS) is a fully decentralized " "replacement for the Domain Name System (DNS). Instead of using a hierarchy, " "GNS uses a directed graph. Naming conventions are similar to DNS, but " "queries and replies are private even with respect to peers providing the " -"answers. The integrity of records and privacy of look-ups is " +"answers. The integrity of records and privacy of look-ups are " "cryptographically secured. " msgstr "" @@ -590,11 +595,17 @@ msgid "Cadet-GTK" msgstr "Cadet-GTK" #: template/applications.html.j2:162 +#, fuzzy +#| msgid "" +#| "Cadet-GTK " +#| "is a convenient but feature-rich graphical application providing " +#| "messaging using especially the CADET subsystem. It is developed using GTK " +#| "and libhandy for a convergent design." msgid "" "Cadet-GTK is a " "convenient but feature-rich graphical application providing messaging using " -"especially the CADET subsystem. It is developed using GTK and libhandy for a " -"convergent design." +"the CADET subsystem. It is developed using GTK and libhandy for a convergent " +"design." msgstr "" "Cadet-GTK ist " "eine praktische, aber funktionsreiche grafische Anwendung, die " @@ -608,11 +619,16 @@ msgid "groupchat" msgstr "Gruppenchat" #: template/applications.html.j2:182 +#, fuzzy +#| msgid "" +#| "groupchat is a " +#| "terminal user interface providing messaging using especially the CADET " +#| "subsystem. It is developed using nim. Cadet-GTK and groupchat are planned " +#| "to be compatible." msgid "" "groupchat is a " -"terminal user interface providing messaging using especially the CADET " -"subsystem. It is developed using nim. Cadet-GTK and groupchat are planned to " -"be compatible." +"terminal user interface providing messaging using the CADET subsystem. It is " +"developed using nim. Cadet-GTK and groupchat are planned to be compatible." msgstr "" "groupchat " "Benutzeroberfläche für Terminals, die Nachrichtenübermittlung insbesondere " @@ -628,11 +644,18 @@ msgid "Foundations" msgstr "Grundlagen" #: template/architecture.html.j2:22 +#, fuzzy +#| msgid "" +#| "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-" +#| "like end-to-end encrypted messaging layer (CADET), a public key " +#| "infrastructure (GNS) and a pluggable transport system (TRANSPORT).
" +#| "Using public keys for addresses and self-organized decentralized routing " +#| "algorithms, these subsystems replace the traditional TCP/IP stack." msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " "end-to-end encrypted messaging layer (CADET), a public key infrastructure " "(GNS) and a pluggable transport system (TRANSPORT).
Using public keys " -"for addresses and self-organized decentralized routing algorithms, these " +"for addresses and self-organizing decentralized routing algorithms, these " "subsystems replace the traditional TCP/IP stack." msgstr "" "GNUnet basiert auf einer verteilten Hashtabelle (R5N), einem SCTP ähnlichen " @@ -647,9 +670,16 @@ msgid "Security" msgstr "Sicherheit" #: template/architecture.html.j2:38 +#, fuzzy +#| msgid "" +#| "GNUnet is implemented using a multi-process architecture. Each subsystem " +#| "runs as a separate process, providing fault-isolation and enabling tight " +#| "permissions to be granted to each subsystem. Naturally, the " +#| "implementation is a GNU package, and " +#| "will always remain free software." msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " -"runs as a separate process, providing fault-isolation and enabling tight " +"runs as a separate process, providing fault isolation and enabling tight " "permissions to be granted to each subsystem. Naturally, the implementation " "is a GNU package, and will always " "remain free software." @@ -699,8 +729,8 @@ msgstr "" "Eine archivierte öffentliche Mailingliste für GNUnet wird unter https://lists." "gnu.org/mailman/listinfo/gnunet-developers gehostet. Du kannst " -"Nachrichten an die Liste unter gnunet-developers@gnu.org." +"Nachrichten an die Liste unter gnunet-developers@gnu.org." #: template/contact.html.j2:23 msgid "The IRC channel" @@ -713,8 +743,8 @@ msgid "" "IjaAfLiruzjxFFzKAV:matrix.org/\">archive available." msgstr "" "#gnunet ist über irc.freenode.net " -"erreichbar. Ein Archiv archivegibt es auch." +"erreichbar. Ein Archiv archivegibt es auch." #: template/contact.html.j2:38 msgid "Contacting individuals" @@ -762,8 +792,8 @@ msgid "" msgstr "" "

Wer zum Projekt GNUnet beitragen möchte, ist dazu herzlich eingeladen. " "Voraussetzung dafür ist neben einem Zugang über Git, dass die Urheberrechte " -"des eigenen Beitrags an das Projekt gemäß Copyright Assignment abgetreten werden, um sicherzustellen, dass die " +"des eigenen Beitrags an das Projekt gemäß Copyright Assignment abgetreten werden, um sicherzustellen, dass die " "Lizenzvereinbarung und die Richtlinien der Mitarbeit gegenüber GNUnet e.V. " "und Taler Systems SA erfüllt werden (siehe GNUnet e.V. --- Taler " @@ -812,8 +842,8 @@ msgid "" "A list of our Git repositories can be found on our our Git Server." msgstr "" -"Unsere Quellcode-Repositories befinden sich auf unserem Git-Server." +"Unsere Quellcode-Repositories befinden sich auf unserem Git-Server." #: template/developers.html.j2:27 msgid "" @@ -880,8 +910,8 @@ msgid "" "org/gauger/\">https://old.gnunet.org/gauger/." msgstr "" "Wir verwenden Gauger für die " -"Regressionsanalyse der Leistung des Exchange-Backends unter https://old.gnunet.org/gauger/ ." +"Regressionsanalyse der Leistung des Exchange-Backends unter https://old.gnunet.org/gauger/ ." #: template/download.html.j2:7 template/gnurl.html.j2:209 msgid "Downloads" @@ -969,6 +999,17 @@ msgid "Becoming a Member of GNUnet e.V." msgstr "Ein Mitglied von GNUnet e.V. werden" #: template/ev.html.j2:33 +#, fuzzy +#| msgid "" +#| "GNUnet developers with git (write) access can become members to " +#| "participate in the decision process and formally support GNUnet e.V. For " +#| "this, all you have to do is update the members.txt file in the " +#| "gnunet-ev " +#| "repository. There are no membership dues; however, members are required " +#| "to support GNUnet e.V. and in particularly contribute to the technical " +#| "development within their means. For further details, we refer to the Satzung (currently " +#| "only available in German, translations welcome)." msgid "" "GNUnet developers with git (write) access can become members to participate " "in the decision process and formally support GNUnet e.V. For this, all you " @@ -977,8 +1018,8 @@ msgid "" "membership dues; however, members are required to support GNUnet e.V. and in " "particularly contribute to the technical development within their means. For " "further details, we refer to the Satzung (currently only available in German, translations " -"welcome)." +"git/\">Satzung (Charter) (currently only available in German, " +"translations welcome)." msgstr "" "GNUnet-Entwickler mit Git-Zugriff (Schreibzugriff) können Mitglieder werden, " "um am Entscheidungsprozess teilzunehmen und GNUnet e.V. offiziell zu " @@ -987,32 +1028,41 @@ msgstr "" "a>Speicher mit deinem Namen zu ergänzen. Es gibt keine Mitgliedsbeiträge; " "allerdings sind Mitglieder verpflichtet, GNUnet e.V. zu unterstützen und " "insbesondere im Rahmen ihrer Möglichkeiten zu dessen technischer Entwicklung " -"beizutragen. Für weitere Einzelheiten verweisen wir auf die Satzung (zur Zeit nur auf Deutsch " -"erhältlich, Übersetzungen sind willkommen)." +"beizutragen. Für weitere Einzelheiten verweisen wir auf die Satzung (zur Zeit nur auf " +"Deutsch erhältlich, Übersetzungen sind willkommen)." #: template/ev.html.j2:52 msgid "Governance" msgstr "Führung" #: template/ev.html.j2:54 -msgid "" -"You can find our \"Satzung\", and the list of members under https://git.gnunet." -"org/gnunet-ev.git/tree/satzung.tex. The current board consists of: " +#, fuzzy +#| msgid "" +#| "You can find our \"Satzung\", and the list of members under https://git." +#| "gnunet.org/gnunet-ev.git/tree/satzung.tex. The current board consists " +#| "of:

Vorsitz
Martin " +#| "Schanzenbach
stellvertretender Vorsitz
t3sserakt
Kassenwart
Florian Dold
Beisitzer
Christian Grothoff, ch3
" +msgid "" +"You can find our charter, and the list of members under https://git.gnunet.org/" +"gnunet-ev.git/tree/satzung.tex. The current board consists of: " "
Vorsitz
Martin " "Schanzenbach
stellvertretender Vorsitz
t3sserakt
" "
Kassenwart
Florian Dold
Beisitzer
Christian Grothoff, ch3
" msgstr "" -"Du findest unsere Satzung und das Mitgliederverzeichnis unter https://git.gnunet.org/" -"gnunet-ev.git/tree/satzung.tex. Der Vorstand besteht gegenwärtig aus: " -"
Vorsitz
.
.Martin " -"Schanzenbach
.
stellvertretender " -"Vorsitz
.
t3sserakt
.
Kassenwart
.
Florian " -"Dold
.
Beisitzer
.
.Christian Grothoff, ch3
.
" +"Du findest unsere Satzung und das Mitgliederverzeichnis unter https://git.gnunet." +"org/gnunet-ev.git/tree/satzung.tex. Der Vorstand besteht gegenwärtig " +"aus:
Vorsitz
.
.Martin " +"Schanzenbach
.
stellvertretender Vorsitz
.
t3sserakt
." +"
Kassenwart
.
Florian Dold
.
Beisitzer
.
.Christian Grothoff, ch3
.
" #: template/ev.html.j2:73 msgid "Official Meeting Notes" @@ -1041,9 +1091,9 @@ msgstr "" "Beachtung, daß es uns nicht möglich, ist Spendenbescheinigungen " "auszustellen. Falls du daran denkst einen größeren Betrag zu spenden, so " "bitte setze dich vorher mit uns in Verbindung. Eventuell bietet sich in dem " -"Fall eine individuelle Lösung an. " -"
BitCoin
.
1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh
.
SEPA/" -"IBAN
.
DE67830654080004822650 (BIC/SWIFT:GENODEF1SLR)
.
" +"Fall eine individuelle Lösung an.
BitCoin
." +"
1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh
.
SEPA/IBAN
." +"
DE67830654080004822650 (BIC/SWIFT:GENODEF1SLR)
.
" #: template/faq.html.j2:12 template/faq.html.j2:23 msgid "General" @@ -1078,9 +1128,9 @@ msgid "" "documentation or ask the question on the help-gnunet@gnu.org mailing list or " "the #gnunet IRC on irc.freenode.net." msgstr "" -"A: Es gibt viele weitere Informationsquellen. Du kannst auf der help-gnunet@" -"gnu.org Mailingliste oder dem #gnunet IRC auf irc.freenode.net weitere " -"Dokumentationen nachlesen oder die Frage erneut stellen." +"A: Es gibt viele weitere Informationsquellen. Du kannst auf der help-" +"gnunet@gnu.org Mailingliste oder dem #gnunet IRC auf irc.freenode.net " +"weitere Dokumentationen nachlesen oder die Frage erneut stellen." #: template/faq.html.j2:36 msgid "When are you going to release the next version?" @@ -1130,12 +1180,12 @@ msgid "" "you believe a bug is sensitive, you can set its view status to private (this " "should be the exception)." msgstr "" -"A: Wir verfolgen die Liste der derzeit bekannten Fehler im Mantis-System. Manche Fehler werden gelegentlich " -"den Entwicklern oder der Entwickler-Mailingliste direkt gemeldet. Hiervon " -"wird abgeraten, da die Entwickler oft nicht die Zeit haben, diese Bugs " -"wieder in die Mantis Datenbank einzupflegen. Bitte melde Fehler direkt in " -"das Fehlermeldesystem. Falls du der Meinung bist, es handele sich um einen " +"A: Wir verfolgen die Liste der derzeit bekannten Fehler im Mantis-System. Manche Fehler werden gelegentlich den " +"Entwicklern oder der Entwickler-Mailingliste direkt gemeldet. Hiervon wird " +"abgeraten, da die Entwickler oft nicht die Zeit haben, diese Bugs wieder in " +"die Mantis Datenbank einzupflegen. Bitte melde Fehler direkt in das " +"Fehlermeldesystem. Falls du der Meinung bist, es handele sich um einen " "sensiblen Fehler, kannst du die Sichtbarkeit auf privat setzen (dies sollte " "die Ausnahme bleiben)." @@ -1148,8 +1198,8 @@ msgid "" "A: gnunet-gtk is a separate download. The package contains various GTK+ " "based graphical interfaces, including a graphical tool for configuration." msgstr "" -"A: gnunet-gtk ist ein separater Download. Das Paket enthält verschiedene " -"GTK+-basierte grafische Schnittstellen, u.a. auch ein grafisches Tool zur " +"A: gnunet-gtk ist ein separater Download. Das Paket enthält verschiedene GTK" +"+-basierte grafische Schnittstellen, u.a. auch ein grafisches Tool zur " "Konfiguration." #: template/faq.html.j2:83 @@ -1168,8 +1218,8 @@ msgid "" "nse" section of your configuration file to a higher value. The default " "is "5 ms"." msgstr "" -"A: Der gnunet-service-nse-Prozess berechnet zunächst einen sogenannten "" -";Proof-of-Work", mit dem das Netzwerk davon überzeugt wird, dass dein " +"A: Der gnunet-service-nse-Prozess berechnet zunächst einen sogenannten "" +"Proof-of-Work", mit dem das Netzwerk davon überzeugt wird, dass dein " "Peer real ist (bzw. eigentlich es für einen Gegner aufwendig macht, einen " "Sybil-Angriff auf den Netzwerkgrößenschätzer durchzuführen). Die Kalkulation " "sollte erwartungsgemäß ein paar Tage dauern, je nachdem wie schnell dein CPU " @@ -1299,11 +1349,17 @@ msgstr "" "Ist es möglich, über einen Browser als anonymes WWW auf GNUnet zuzugreifen?" #: template/faq.html.j2:183 +#, fuzzy +#| msgid "" +#| "A: There is currently no proxy (like fproxy in Freenet) for GNUnet that " +#| "would make it accessible with a browser. It is possible to build such a " +#| "proxy and all one needs to know is the protocol used between browser and " +#| "proxy and a swift look at the GNUnet code for file-sharing." msgid "" "A: There is currently no proxy (like fproxy in Freenet) for GNUnet that " -"would make it accessible with a browser. It is possible to build such a " -"proxy and all one needs to know is the protocol used between browser and " -"proxy and a swift look at the GNUnet code for file-sharing." +"would make it accessible via a browser. It is possible to build such a proxy " +"and all one needs to know is the protocol used between the browser and the " +"proxy and the GNUnet code for file-sharing." msgstr "" "A: Derzeit gibt es keinen Proxy (wie fproxy in Freenet) für GNUnet, der es " "mit einem Browser zugänglich machen würde. Es wäre möglich einen solche " @@ -1333,7 +1389,7 @@ msgstr "" #: template/faq.html.j2:210 #, fuzzy -msgid "On top of which operating systems does GNUnet run?" +msgid "Which operating systems does GNUnet run on?" msgstr "Auf welchen Betriebssystemen läuft GNUnet?" #: template/faq.html.j2:212 @@ -1449,7 +1505,7 @@ msgstr "" #: template/faq.html.j2:286 #, fuzzy -msgid "How does GNS compare to other name systems" +msgid "How does GNS compare to other name systems?" msgstr "Wie vergleicht sich GNS mit anderen Namenssystemen?" #: template/faq.html.j2:288 @@ -1458,10 +1514,10 @@ msgid "" "ns2018.pdf\">has been published and below is a table from the " "publication. For detailed descriptions please refer to the paper." msgstr "" -"A: Es gibt einen wissenschaftlicher Aufsatz zu diesem Thema: und nachfolgend finden Sie eine " -"Tabelle aus der Veröffentlichung. Für genaue Erklärungen verweisen wir dich " -"auf den Aufsatz." +"A: Es gibt einen wissenschaftlicher Aufsatz zu diesem Thema: und nachfolgend finden Sie " +"eine Tabelle aus der Veröffentlichung. Für genaue Erklärungen verweisen wir " +"dich auf den Aufsatz." #: template/faq.html.j2:392 #, fuzzy @@ -1469,15 +1525,25 @@ msgid "What is the difference between GNS and CoDoNS?" msgstr "Was ist der Unterschied zwischen GNS und CoDoNS?" #: template/faq.html.j2:394 +#, fuzzy +#| msgid "" +#| "A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the " +#| "authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, " +#| "and there are still registrars that determine who owns a name.

" +#| "With GNS, we decentralize the database and also decentralize the " +#| "responsibility for naming: each user runs his own personal root zone and " +#| "is thus in complete control of the names he uses. GNS also has many " +#| "additional features (to keep names short and enable migration) which " +#| "don't even make sense in the context of CoDoNS." msgid "" "A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the " "authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, and " "there are still registrars that determine who owns a name.

With " "GNS, we decentralize the database and also decentralize the responsibility " -"for naming: each user runs his own personal root zone and is thus in " -"complete control of the names he uses. GNS also has many additional features " -"(to keep names short and enable migration) which don't even make sense in " -"the context of CoDoNS." +"for naming: each user runs their own personal root zone and is thus in " +"complete control of the names they use. GNS also has many additional " +"features (to keep names short and enable migration) which don't even make " +"sense in the context of CoDoNS." msgstr "" "A: CoDoNS dezentralisiert die DNS-Datenbank (mithilfe eines DHT), behält " "jedoch die Berechtigungsstruktur von DNS bei. Mit CoDoNS verbleiben IANA/" @@ -1537,13 +1603,21 @@ msgid "What is the difference between GNS and Handshake?" msgstr "Was ist der Unterschied zwischen GNS und Handshake?" #: template/faq.html.j2:441 +#, fuzzy +#| msgid "" +#| "A: Handshake is a blockchain-based method for root zone governance. " +#| "Hence, it does not address the name resolution process itself but " +#| "delegates resolution into DNS after the initial TLD resolution. Not " +#| "taking sustainablility considerations into account, handshake could be " +#| "used as an additional supporting GNS root zone governance model but we " +#| "currently do not have such plans in mind." msgid "" "A: Handshake is a blockchain-based method for root zone governance. Hence, " "it does not address the name resolution process itself but delegates " "resolution into DNS after the initial TLD resolution. Not taking " -"sustainablility considerations into account, handshake could be used as an " -"additional supporting GNS root zone governance model but we currently do not " -"have such plans in mind." +"sustainablility considerations into account, Handshake could be used as an " +"additional supporting GNS root zone governance model, but we currently do " +"not have such plans in mind." msgstr "" "A: Handshake ist eine Blockchain-basierte Methode für die Root-Zonen-" "Governance. Folglich betrifft es nicht den Prozess zur Namensauflösung " @@ -1625,9 +1699,9 @@ msgid "" "to ignore this preference and use a name of their choice (or even assign no " "name) for this user." msgstr "" -"A: Namen haben keine Eigentümer in GNS, daher kann es keinen " -""legitimen" Domaininhaber geben. Jeder Nutzer kann jeden Namen (" -"als seinen präferierten Namen oder "Pseudonym") in seinem NICK Log " +"A: Namen haben keine Eigentümer in GNS, daher kann es keinen "" +"legitimen" Domaininhaber geben. Jeder Nutzer kann jeden Namen (als " +"seinen präferierten Namen oder "Pseudonym") in seinem NICK Log " "beanspruchen. Auf ähnliche Art und Weise haben alle übrigen Nutzer die Wahl, " "diese Präferenz zu ignorieren und können einen von ihnen selbst bestimmten " "Namen (oder sogar gar keinen Namen) für diesen Nutzer verwenden." @@ -1996,8 +2070,8 @@ msgid "" "'iptables: No chain/target/match by that name.' (when running gnunet-service-" "dns)?" msgstr "" -""iptables: Keine Kette/ Ziel/Übereinstimmung mit diesem Namen." (" -"beim Ausführen von gnunet-service-dns)?" +""iptables: Keine Kette/ Ziel/Übereinstimmung mit diesem Namen." " +"(beim Ausführen von gnunet-service-dns)?" #: template/faq.html.j2:724 msgid "" @@ -2066,8 +2140,8 @@ msgstr "" "Zeile \"/usr/local/lib/\" zu /etc/ld.so.conf hinzufügst und \"ldconfig\" " "laufen läßt. Falls du GNUnet zu /opt oder irgendeinen ähnlichen Pfad " "installiert hast, wirst du offensichtlich \"/usr/local\" entsprechend ändern " -"müssen. Falls du keine 'root'-Rechte hast oder du GNUnet etwa unter \"/home/$" -"USER/\" installiert hast, dann kannst du deinen Linker explizit anweisen, " +"müssen. Falls du keine 'root'-Rechte hast oder du GNUnet etwa unter \"/home/" +"$USER/\" installiert hast, dann kannst du deinen Linker explizit anweisen, " "ein bestimmtes Verzeichnis für Bibliotheken mittels der \"LD_LIBRARY_PATH\" " "Umgebungsvariablen abzusuchen. Z.B., solltest du GNUnet unter Verwendung " "eines Präfix \"$HOME/gnunet/\" konfiguriert haben, dann solltest du:" @@ -2156,11 +2230,21 @@ msgstr "" "Publikationen (und vermutlich sogar den Code) lesen." #: template/faq.html.j2:915 +#, fuzzy +#| msgid "" +#| "Another important point of reference are the various anonymous peer-to-" +#| "peer networks. Here, there are differences in terms of application domain " +#| "and how specifically anonymity is achieved. Anonymous routing is a hard " +#| "research topic, so for a superficial comparisson like this one we focus " +#| "on the latency. Another important factor is the programming language. " +#| "Type-safe languages may offer certain security benefits; however, this " +#| "may come at the cost of significant increases in resource consumption " +#| "which in turn may reduce anonymity." msgid "" "Another important point of reference are the various anonymous peer-to-peer " "networks. Here, there are differences in terms of application domain and how " "specifically anonymity is achieved. Anonymous routing is a hard research " -"topic, so for a superficial comparisson like this one we focus on the " +"topic, so for a superficial comparison like this one we focus on the " "latency. Another important factor is the programming language. Type-safe " "languages may offer certain security benefits; however, this may come at the " "cost of significant increases in resource consumption which in turn may " @@ -2215,14 +2299,14 @@ msgid "" "be difficult to impossible for an adversary to distinguish between the " "originating peer and all other peers." msgstr "" -"A: Anonymität ist die fehlende Unterscheidung einer Person aus einer (großen)" -" Gruppe. Ein zentrales Ziel des anonymen Datenaustausches in GNUnet ist es, " -"alle Nutzer (Peers) in einer Gruppe zusammenzuführen und die Kommunikation " -"innerhalb der Gruppe dann anonym zu machen; d.h. niemand (außer der " -"Initiator) sollte in der Lage sein zu erkennen, von welchem der Peers der " -"Gruppe eine Nachricht stammt. Mit anderen Worten, es sollte für einen Gegner " -"schwierig bis unmöglich sein, zwischen dem ursprünglichen Peer und allen " -"anderen Peers zu unterscheiden." +"A: Anonymität ist die fehlende Unterscheidung einer Person aus einer " +"(großen) Gruppe. Ein zentrales Ziel des anonymen Datenaustausches in GNUnet " +"ist es, alle Nutzer (Peers) in einer Gruppe zusammenzuführen und die " +"Kommunikation innerhalb der Gruppe dann anonym zu machen; d.h. niemand " +"(außer der Initiator) sollte in der Lage sein zu erkennen, von welchem der " +"Peers der Gruppe eine Nachricht stammt. Mit anderen Worten, es sollte für " +"einen Gegner schwierig bis unmöglich sein, zwischen dem ursprünglichen Peer " +"und allen anderen Peers zu unterscheiden." #: template/faq.html.j2:958 #, fuzzy @@ -2261,11 +2345,11 @@ msgid "" "result in the loss of permissions." msgstr "" "A: Zuerst müssen Sie ein Konto bei unserem Weblate-System registrieren. " -"Bitte schicke eine Email mit der gewünschten Zielsprache an translators@" -"gnunet.org oder frage nach Hilfe auf dem #gnunet chat auf irc.freenode.net. " -"Typischerweise wird jemand mit ausreichender Autorisierung dir dann Zugang " -"gewähren. Selbstverständlich führt ein Missbrauch zu einem Verlust der " -"Berechtigungen." +"Bitte schicke eine Email mit der gewünschten Zielsprache an " +"translators@gnunet.org oder frage nach Hilfe auf dem #gnunet chat auf irc." +"freenode.net. Typischerweise wird jemand mit ausreichender Autorisierung dir " +"dann Zugang gewähren. Selbstverständlich führt ein Missbrauch zu einem " +"Verlust der Berechtigungen." #: template/faq.html.j2:989 #, fuzzy @@ -2301,8 +2385,8 @@ msgstr "" "Sinne von \"Alter Egos\". Mehr als nur eine Identität haben zu können ist " "ein entscheidendes Merkmal, da wir eventuell unsere geschäftlichen Egos von " "denen, die wir für politische oder romantische Zwecke einsetzen, getrennt " -"halten wollen.
Egos in GNUnet sind technisch äquivalent mit Identitäten (" -"und der Code unterscheidet nicht zwischen ihnen). Manchmal benutzen wir " +"halten wollen.
Egos in GNUnet sind technisch äquivalent mit Identitäten " +"(und der Code unterscheidet nicht zwischen ihnen). Manchmal benutzen wir " "einfach den Ausdruck \"Ego\" um zu betonen, daß du mehr als eins haben " "kannst." @@ -2568,8 +2652,8 @@ msgstr "" "Version von GnuTLS gelinkt sind. Daraus folgt, daß dieselbe Binärzelle gegen " "zwei verschiedene Versionen von GnuTLS gelinkt würde. Damit ist die " "Katastrophe vorprogrammiert. Folglich ist es erforderlich, um die " -"Notwendigkeit der Aktualisierung dutzender Systembibliotheken zu umgehen (" -"und dann auch noch jeweils zwei Versionen davon zu installieren), alle cURL-" +"Notwendigkeit der Aktualisierung dutzender Systembibliotheken zu umgehen " +"(und dann auch noch jeweils zwei Versionen davon zu installieren), alle cURL-" "Merkmale, die GNUnet nicht verwendet, außer Kraft zu setzen. Davon gibt es " "übrigens viele. Bei GNUnet sind die eher obskuren Protokolle, die von cURL " "unterstützt werden, fast toter Code --- meistens harmlos, aber nicht " @@ -2658,8 +2742,8 @@ msgid "" "the original curl source have been written." msgstr "" "Projekte, die cURL nur für HTTP/HTTPS verwenden und mit GnuTLS funktionieren " -"würden, sollten in der Lage sein, zu libgnurl zu wechseln, indem sie \"-" -"lcurl\" in \"-lgnurl\" ändern. Mehr nicht. Es sollten keine Änderungen am " +"würden, sollten in der Lage sein, zu libgnurl zu wechseln, indem sie \"-lcurl" +"\" in \"-lgnurl\" ändern. Mehr nicht. Es sollten keine Änderungen am " "Quellcode nötig sein, da libgnurl eine Fehler-zu-Fehler-Kompatibilität mit " "den HTTP/HTTPS/GnuTLS-Untergruppen von cURL anstrebt. Wir könnten zu dieser " "wesentlichen Untergruppe neue Funktionen hinzufügen, falls solche " @@ -2714,15 +2798,15 @@ msgid "" "\"https://nixos.org/nix/\">Nix, and as www/gnurl in pkgsrc." msgstr "" -"Releases werden auf ftpmirror.gnu.org/gnu/gnunet veröffentlicht. gnurl ist über eine Reihe " -"von Verteilungen und Paket-Managern erhältlich. Einige Paket-Manager, die " -"gnurl einschließen, sind: GNU " -"Guix (erhältlich als \"gnurl\"), Gentoo über die kollaborative ebuild-Sammlung youbroketheinternet,Nix, oder als www/gnurl inpkgsrc." +"Releases werden auf ftpmirror.gnu.org/gnu/gnunet veröffentlicht. gnurl ist über eine " +"Reihe von Verteilungen und Paket-Managern erhältlich. Einige Paket-Manager, " +"die gnurl einschließen, sind: GNU Guix (erhältlich als \"gnurl\"), Gentoo über die kollaborative ebuild-Sammlung youbroketheinternet,Nix, oder als www/gnurl inpkgsrc." #: template/gnurl.html.j2:228 #, fuzzy @@ -2856,8 +2940,8 @@ msgid "" "\">bugs.gnunet.org. Alternatively you can use our bug mailinglist, but " "we prefer to track bugs on the bugtracker." msgstr "" -"Du kannst Fehler auf unserem Bug-Tracker bugs.gnunet.orgmelden. Alternativ kannst du unsere Bug-Mailingliste " +"Du kannst Fehler auf unserem Bug-Tracker bugs.gnunet.orgmelden. Alternativ kannst du unsere Bug-Mailingliste " "verwenden, aber wir ziehe es vor, Bugs auf dem Bug-Tracker zu verfolgen." #: template/gnurl.html.j2:395 @@ -2875,10 +2959,10 @@ msgid "" msgstr "" "gnurl/libgnurl sucht einen neuen Betreuer. Releases nach der Version 7.69.1 " "und bis zu Version 7.72.0 wurden mit dem OpenPGPKey
0xD6B570842F7E7F8D unterschrieben (keys.openpgp.or), mit dem " -"Schlüsselfingerabdruck 6115 012D EA30 26F6 2A98 A556 D6B5 7084 2F7E " -"7F8D
." +"br> unterschrieben (keys.openpgp.or), mit dem " +"Schlüsselfingerabdruck 6115 012D EA30 26F6 2A98 A556 D6B5 7084 2F7E 7F8D." #: template/gsoc-2018-gnunet-webui.html.j2:7 #, fuzzy @@ -2950,26 +3034,27 @@ msgid "" "api.git/\">GNUnet REST API Docmentation Git).
Clone the repository " "and \"make html\". Then open the 'index.html' under 'build/html/'. " msgstr "" -"
  • Die in GNUnet entwickelte REST-API
    Die REST-API ist bereits im gnunet" -".git-Repository ( GNUnet Main " -"Git ) zusammengeführt.
    Um die neuen Funktionen zu nutzen, klonst " -"du das Repository und folgst der Installation auf gnunet.org. Starte dann den Rest-Service mit " -"\"gnunet-arm -i rest\".
  • Die Web-Anwendung
    Die Web-Anwendung " -"ist verfügbar unter der GNUnet-webui.git-Repository (GNUnet WebUI Git).
    Du mußt die neuste " -"Version von 'node' und 'yarn' installieren. In Abhängigkeit von deinem " -"System mußt du eventuell neuere Versionen herunterladen und manuell anstatt " -"über deinen Paket-Manager installieren. Nach erfolgreicher Installation mußt " -"du die Repository klonen. Anschließend läßt du \"yarn install\" und \"yarn " -"start\" für Testzwecke laufen. Um die Webseite bereitzustellen (beachte " -"dabei, daß diese Webseite mit einer weiteren lokalen Host-Instanz " -"kommuniziert) benutzt du \"yarn build\", um die Webapplikationen zu bauen, " -"und verwendest das Ergebnis im 'dist'-Verzeichnis.
  • Die " -"Dokumentation
    Die Dokumentation ist verfügbar unter der gnunet-rest-api" -".git-Repository (GNUnet REST API Docmentation Git).
    Klone die Repository und \"make" -" html\". Dann öffnest du den 'index.html' unter 'build/html/'.
  • " +"
  • Die in GNUnet entwickelte REST-API
    Die REST-API ist bereits im " +"gnunet.git-Repository ( GNUnet Main Git ) zusammengeführt.
    Um die neuen Funktionen zu " +"nutzen, klonst du das Repository und folgst der Installation auf gnunet.org. Starte dann den Rest-" +"Service mit \"gnunet-arm -i rest\".
  • Die Web-Anwendung
    Die Web-" +"Anwendung ist verfügbar unter der GNUnet-webui.git-Repository (GNUnet WebUI Git).
    Du " +"mußt die neuste Version von 'node' und 'yarn' installieren. In Abhängigkeit " +"von deinem System mußt du eventuell neuere Versionen herunterladen und " +"manuell anstatt über deinen Paket-Manager installieren. Nach erfolgreicher " +"Installation mußt du die Repository klonen. Anschließend läßt du \"yarn " +"install\" und \"yarn start\" für Testzwecke laufen. Um die Webseite " +"bereitzustellen (beachte dabei, daß diese Webseite mit einer weiteren " +"lokalen Host-Instanz kommuniziert) benutzt du \"yarn build\", um die " +"Webapplikationen zu bauen, und verwendest das Ergebnis im 'dist'-" +"Verzeichnis.
  • Die Dokumentation
    Die Dokumentation ist " +"verfügbar unter der gnunet-rest-api.git-Repository (GNUnet REST API Docmentation Git).
    " +"Klone die Repository und \"make html\". Dann öffnest du den 'index.html' " +"unter 'build/html/'.
  • " #: template/gsoc-2018-gnunet-webui.html.j2:91 msgid "" @@ -3103,12 +3188,11 @@ msgstr "" "Unterstützung der Nutzerauthentifizierung erweitert werden. Dieses schließt " "die korrekte Handhabung von Nutzerkontextschaltern ein. " "
    1. Implementiere Nutzerauthentifizierung.
    2. Teste die " -"Zugangskontrolle.
    3. Dokumentiere die Veränderungen an der REST-" -"API.
    Vorteilhafte Fähigkeiten/Sprachen/Systeme:
    1. C
    2. Kenntnis von Nutzerauthentifizierungs-Subsystemen auf Linux/" -"Unix.
    3. REST/HTTP Authentifizierungsmethoden

    Niveau: Anfänger
    Mentoren: Martin " -"Schanzenbach" +"Zugangskontrolle.
  • Dokumentiere die Veränderungen an der REST-API. Vorteilhafte Fähigkeiten/Sprachen/Systeme:
    1. C
    2. Kenntnis von Nutzerauthentifizierungs-Subsystemen auf Linux/Unix.
    3. REST/HTTP Authentifizierungsmethoden

    Niveau: Anfänger
    Mentoren: Martin Schanzenbach" #: template/gsoc.html.j2:111 msgid "" @@ -3139,13 +3223,12 @@ msgstr "" "unterstützen. Die Schwierigkeit des Projekts hängt zum größten Teil von den " "Fähigkeiten der Studenten bzgl. Toolbau, Emscripten und Improvisation ab. " "Die unvollständige Aufgabenliste wäre:
    1. Verbessere den gegenwärtigen " -"GNUnet Emscripten-Aufbau, um mehr Subsysteme " -"unterzubringen.
    2. Integriere das Ergebnis in eine " -"Webextension.
    3. Integriere das Ergebnis in die re:claim ID " -"Webextension
    Vorteilhafte Kenntnisse/Sprachen/Systeme: " -"
    1. C
    2. emscripten
    3. Webextensions

    Schwierigkeit: Herausfordernd
    Mentoren: Martin Schanzenbach" +"GNUnet Emscripten-Aufbau, um mehr Subsysteme unterzubringen." +"
  • Integriere das Ergebnis in eine Webextension.
  • Integriere das " +"Ergebnis in die re:claim ID Webextension
  • Vorteilhafte Kenntnisse/" +"Sprachen/Systeme:
    1. C
    2. emscripten
    3. Webextensions

    4. Schwierigkeit: Herausfordernd
      Mentoren:" +" Martin Schanzenbach" #: template/gsoc.html.j2:147 msgid "" @@ -3168,8 +3251,8 @@ msgstr "" "Derzeit sind die Schlüssel in unserer Statistikdatenbank zu umfangreich. Zum " "Beispiel:

      nse # flood messages received: 13
      nse # peers " "connected: 4
      nse # nodes in the network (estimate): 203
      nse # " -"flood messages started: 5
      nse # estimated network diameter: 3
      nse #" -" flood messages transmitted: 10

      Mit derart umfangreichen " +"flood messages started: 5
      nse # estimated network diameter: 3
      nse " +"# flood messages transmitted: 10

      Mit derart umfangreichen " "Schlüsseln gibt es keinen einfachen Weg, ein kompaktes JSON Dokument oder " "Einträge für eine Zeitreihendatenbank zu bilden. Und es lassen sich keine " "einzelnen Statistiken anfragen, ohne die Zeile exakt zu copypasten und in " @@ -3178,10 +3261,10 @@ msgstr "" "werden können.

    5. Setze die Veränderung um und migriere die " "bestehenden Verwendungen.
    6. Dokumentiere das bzw. die Format(e) und " "definiere einen geeigneten Registrierungmechanismus für Bezeichner
    7. Relevante Fehler: #5650
      Vorteilhafte Kenntnisse/Sprachen/Systeme:
      1. C
      2. " -"
      3. HTML

      Schwierigkeit: Anfänger
      " -"Mentoren: Martin Schanzenbach" +"ol> Relevante Fehler: #5650
      Vorteilhafte Kenntnisse/Sprachen/Systeme:
        " +"
      1. C
      2. HTML

      Schwierigkeit: " +"Anfänger
      Mentoren: Martin Schanzenbach" #: template/gsoc.html.j2:187 msgid "" @@ -3417,8 +3500,8 @@ msgstr "" "Chatrooms oder Kanäle.
    8. Teile einen Beitrag (bearbeite und poste " "etwas woanders, zum Beispiel auf einer Fanseite).
    9. Bearbeite einen " "zuvor veröffentlichten Beitrag und biete den Lesern einen " -"Bearbeitungsverlauf an.
    10. Kontrolliere wann die Kanalhistorie " -"abläuft.
    11. " +"Bearbeitungsverlauf an.
    12. Kontrolliere wann die Kanalhistorie abläuft." +"
    13. " #: template/gsoc.html.j2:404 msgid "" @@ -3544,8 +3627,8 @@ msgid "" "doid=62212.62213\">Ben-Or et al. if possible. This in particular means " "moving libaboss to bignums (gcry_mpi)." msgstr "" -"Verbesserung von Libaboss zur Berechnung gemeinsamer Geheimnisse (" -"einschließlich wiederholter Multiplikation) basierend wenn möglich auf Ben-Or et al.. " "Insbesondere bedeutet dies, Libaboss zu Bignums zu bewegen (gcry_mpi)." @@ -3570,8 +3653,8 @@ msgstr "" "Abhängigkeit von Python beseitigen. Das bestehende GNUnet-qr-Tool ist eine " "relativ einfache Hülle um Python-zbar, welches selber libzbar umhüllt. Das " "Ziel dieses Projekt ist es, libzbar direkt für des Scannen von QR-Codes für " -"GNUnet / das GNU-Namen-System zu verwenden (siehe auch #5562)." +"GNUnet / das GNU-Namen-System zu verwenden (siehe auch #5562)." #: template/gsoc.html.j2:612 msgid "Mentors: Christian Grothoff" @@ -3930,8 +4013,8 @@ msgid "" "that we can add it to this list. Furthermore, if you are interested in " "packaging GNUnet for your Operating System, get in touch with us at gnunet-" "developers@gnu.org if you require help with this job. If you were using an " -"Operating System with the Alpine package manager, GNUnet could be installed " -"as simple as:" +"Operating System with the APT package manager, GNUnet could be installed as " +"simple as:" msgstr "" #: template/install.html.j2:61 @@ -3963,7 +4046,7 @@ msgid "" msgstr "" #: template/install.html.j2:98 -msgid "Alternatively, get the sources from git by entering:" +msgid "To compile gnunet from the git source you can do so by entering:" msgstr "" #: template/install.html.j2:106 @@ -4083,6 +4166,9 @@ msgstr "" msgid "Videos related to GNUnet" msgstr "" +#~ msgid "Living Standards" +#~ msgstr "Lebensbedingungen" + #, fuzzy #~| msgid "GNUnet" #~ msgid "Get off GNUnet" diff --git a/locale/es/LC_MESSAGES/messages.po b/locale/es/LC_MESSAGES/messages.po index e0a91168..daa24898 100644 --- a/locale/es/LC_MESSAGES/messages.po +++ b/locale/es/LC_MESSAGES/messages.po @@ -7,11 +7,11 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-03 21:41+0100\n" +"POT-Creation-Date: 2021-04-28 14:41+0200\n" "PO-Revision-Date: 2021-04-20 23:43+0000\n" "Last-Translator: Lucía López \n" -"Language-Team: Spanish " -"\n" +"Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,7 +32,7 @@ msgstr "Estructura de GNU para redes p2p seguras" msgid "Contact" msgstr "Contacto" -#: common/footer.j2.inc:8 common/navigation.j2.inc:49 +#: common/footer.j2.inc:8 msgid "GNUnet e.V." msgstr "GNUnet a. r." @@ -147,10 +147,6 @@ msgstr "Glosario" msgid "Handbook" msgstr "Manual" -#: common/navigation.j2.inc:87 template/livingstandards.html.j2:8 -msgid "Living Standards" -msgstr "Estándares de vida" - #: common/navigation.j2.inc:88 msgid "REST API" msgstr "REST API" @@ -373,8 +369,8 @@ msgstr "" "Hay muchos más recursos disponibles para aprender sobre GNUnet fuera del manual, como bibliografía con artículos que cubren " -"las diversas capas, muchos videos o un breve " +"las diversas capas, muchos videos o un breve " "glosario." #: template/about.html.j2:95 @@ -455,12 +451,21 @@ msgid "The GNU Name System" msgstr "El Sistema de Nombres GNU" #: template/applications.html.j2:15 +#, fuzzy +#| msgid "" +#| "The GNU Name System (GNS) is a fully " +#| "decentralized replacement for the Domain Name System (DNS). Instead of " +#| "using a hierarchy, GNS uses a directed graph. Naming conventions are " +#| "similar to DNS, but queries and replies are private even with respect to " +#| "peers providing the answers. The integrity of records and privacy of look-" +#| "ups is cryptographically secured. " msgid "" "The GNU Name System (GNS) is a fully decentralized " "replacement for the Domain Name System (DNS). Instead of using a hierarchy, " "GNS uses a directed graph. Naming conventions are similar to DNS, but " "queries and replies are private even with respect to peers providing the " -"answers. The integrity of records and privacy of look-ups is " +"answers. The integrity of records and privacy of look-ups are " "cryptographically secured. " msgstr "" @@ -577,11 +582,17 @@ msgid "Cadet-GTK" msgstr "Cadet-GTK" #: template/applications.html.j2:162 +#, fuzzy +#| msgid "" +#| "Cadet-GTK " +#| "is a convenient but feature-rich graphical application providing " +#| "messaging using especially the CADET subsystem. It is developed using GTK " +#| "and libhandy for a convergent design." msgid "" "Cadet-GTK is a " "convenient but feature-rich graphical application providing messaging using " -"especially the CADET subsystem. It is developed using GTK and libhandy for a " -"convergent design." +"the CADET subsystem. It is developed using GTK and libhandy for a convergent " +"design." msgstr "" "Cadet-GTKes " "una sencilla aplicación gráfica con abundantes herramientas, que ofrece un " @@ -594,11 +605,16 @@ msgid "groupchat" msgstr "groupchat" #: template/applications.html.j2:182 +#, fuzzy +#| msgid "" +#| "groupchat is a " +#| "terminal user interface providing messaging using especially the CADET " +#| "subsystem. It is developed using nim. Cadet-GTK and groupchat are planned " +#| "to be compatible." msgid "" "groupchat is a " -"terminal user interface providing messaging using especially the CADET " -"subsystem. It is developed using nim. Cadet-GTK and groupchat are planned to " -"be compatible." +"terminal user interface providing messaging using the CADET subsystem. It is " +"developed using nim. Cadet-GTK and groupchat are planned to be compatible." msgstr "" "groupchates una " "interfaz de usuario que proporciona un servicio de mensajería utilizando " @@ -614,11 +630,18 @@ msgid "Foundations" msgstr "Fundamentos" #: template/architecture.html.j2:22 +#, fuzzy +#| msgid "" +#| "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-" +#| "like end-to-end encrypted messaging layer (CADET), a public key " +#| "infrastructure (GNS) and a pluggable transport system (TRANSPORT).
      " +#| "Using public keys for addresses and self-organized decentralized routing " +#| "algorithms, these subsystems replace the traditional TCP/IP stack." msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " "end-to-end encrypted messaging layer (CADET), a public key infrastructure " "(GNS) and a pluggable transport system (TRANSPORT).
      Using public keys " -"for addresses and self-organized decentralized routing algorithms, these " +"for addresses and self-organizing decentralized routing algorithms, these " "subsystems replace the traditional TCP/IP stack." msgstr "" "Las bases de GNUnet son una tabla hash distribuida (R5N), una capa de " @@ -632,9 +655,16 @@ msgid "Security" msgstr "Seguridad" #: template/architecture.html.j2:38 +#, fuzzy +#| msgid "" +#| "GNUnet is implemented using a multi-process architecture. Each subsystem " +#| "runs as a separate process, providing fault-isolation and enabling tight " +#| "permissions to be granted to each subsystem. Naturally, the " +#| "implementation is a GNU package, and " +#| "will always remain free software." msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " -"runs as a separate process, providing fault-isolation and enabling tight " +"runs as a separate process, providing fault isolation and enabling tight " "permissions to be granted to each subsystem. Naturally, the implementation " "is a GNU package, and will always " "remain free software." @@ -642,8 +672,8 @@ msgstr "" "GNUnet es implementado usando múltiples procesos de arquitectura. Cada " "subsistema se ejecuta como un proceso separado, proporcionando aislamiento " "de fallas y permitiendo que se otorguen permisos estrictos a cada " -"subsistema. Naturalmente, la implementación es un paquete GNU y siempre será de software libre." +"subsistema. Naturalmente, la implementación es un paquete GNU y siempre será de software libre." #: template/architecture.html.j2:52 msgid "System architecture" @@ -683,8 +713,8 @@ msgstr "" "Una lista pública de correo archivada por GNUnet está alojada en https://lists." "gnu.org/mailman/listinfo/gnunet-developers.Puedes enviar mensajes a la " -"lista usando la dirección gnunet-developers@gnu.org." +"lista usando la dirección gnunet-developers@gnu.org." #: template/contact.html.j2:23 msgid "The IRC channel" @@ -696,9 +726,9 @@ msgid "" "freenode.net. There is also an archive available." msgstr "" -"#gnunet es accesible a través de irc.freenode.net. También hay un archivo disponible." +"#gnunet es accesible a través de irc.freenode.net. También hay un archivo disponible." #: template/contact.html.j2:38 msgid "Contacting individuals" @@ -762,8 +792,8 @@ msgstr "" "de software libre, pero da a los desarrolladores libertad para intercambiar " "código entre GNUnet y GNU Taler sin preocuparse por las licencias o por la " "capacidad de la compañía para emitir licencias duales (por ejemplo, para que " -"podamos distribuir en tiendas de aplicaciones hostiles al software " -"libre).

      " +"podamos distribuir en tiendas de aplicaciones hostiles al software libre)." #: template/copyright.html.j2:30 msgid "" @@ -827,9 +857,9 @@ msgid "" "detect regressions and check for portability at https://old.gnunet.org/buildbot/gnunet/." msgstr "" -"Usamos pruebas de automatización de Buildbot para detectar regresiones y para verificar portabilidad en https://old.gnunet.org/" +"Usamos pruebas de automatización de Buildbot para detectar regresiones y para verificar portabilidad en " +"https://old.gnunet.org/" "buildbot/gnunet/." #: template/developers.html.j2:59 @@ -844,8 +874,8 @@ msgid "" msgstr "" "Usamos LCOV " "para analizar la cobertura del código de nuestras pruebas; los resultados " -"están disponibles en https://old" -".gnunet.org/coverage/ ." +"están disponibles en https://" +"old.gnunet.org/coverage/ ." #: template/developers.html.j2:72 msgid "Performance Analysis" @@ -942,6 +972,17 @@ msgid "Becoming a Member of GNUnet e.V." msgstr "Convertirse en miembro de GNUnet e.V." #: template/ev.html.j2:33 +#, fuzzy +#| msgid "" +#| "GNUnet developers with git (write) access can become members to " +#| "participate in the decision process and formally support GNUnet e.V. For " +#| "this, all you have to do is update the members.txt file in the " +#| "gnunet-ev " +#| "repository. There are no membership dues; however, members are required " +#| "to support GNUnet e.V. and in particularly contribute to the technical " +#| "development within their means. For further details, we refer to the Satzung (currently " +#| "only available in German, translations welcome)." msgid "" "GNUnet developers with git (write) access can become members to participate " "in the decision process and formally support GNUnet e.V. For this, all you " @@ -950,14 +991,14 @@ msgid "" "membership dues; however, members are required to support GNUnet e.V. and in " "particularly contribute to the technical development within their means. For " "further details, we refer to the Satzung (currently only available in German, translations " -"welcome)." +"git/\">Satzung (Charter) (currently only available in German, " +"translations welcome)." msgstr "" "Los desarrolladores de GNUnet con acceso a git (escritura) pueden " "convertirse en miembros para participar en el proceso de decisión y apoyar " "formalmente a GNUnet e.V. Para ello, todo lo que tienes que hacer es " -"actualizar el archivo members.txt del repositorio gnunet-ev . No hay cuotas de " +"actualizar el archivo members.txt del repositorio gnunet-ev . No hay cuotas de " "membresía; sin embargo, se invita a que los miembros apoyen GNUnet e.V., y " "en particular a que contribuyan con su desarrollo técnico dentro de sus " "posibilidades. Para obtener más detalles, consulte el https://git.gnunet." -"org/gnunet-ev.git/tree/satzung.tex. The current board consists of: " +#, fuzzy +#| msgid "" +#| "You can find our \"Satzung\", and the list of members under https://git." +#| "gnunet.org/gnunet-ev.git/tree/satzung.tex. The current board consists " +#| "of:
      Vorsitz
      Martin " +#| "Schanzenbach
      stellvertretender Vorsitz
      t3sserakt
      Kassenwart
      Florian Dold
      Beisitzer
      Christian Grothoff, ch3
      " +msgid "" +"You can find our charter, and the list of members under https://git.gnunet.org/" +"gnunet-ev.git/tree/satzung.tex. The current board consists of: " "
      Vorsitz
      Martin " "Schanzenbach
      stellvertretender Vorsitz
      t3sserakt
      " "
      Kassenwart
      Florian Dold
      Beisitzer
      Christian Grothoff, ch3
      " msgstr "" -"Puede encontrar nuestro \"Satzung\" y la lista de miembros en https://git.gnunet.org/" -"gnunet-ev.git/tree/satzung.tex. La actual junta directiva está formada " -"por:
      Vorsitz
      Martin " -"Schanzenbach
      Stellvertretender " -"Vorsitz
      t3sserakt
      Kassenwart
      Florian " -"Dold
      Beisitzer
      Christian Grothoff , ch3
      " +"Puede encontrar nuestro \"Satzung\" y la lista de miembros en https://git." +"gnunet.org/gnunet-ev.git/tree/satzung.tex. La actual junta directiva " +"está formada por:
      Vorsitz
      Martin Schanzenbach
      Stellvertretender Vorsitz
      t3sserakt
      Kassenwart
      Florian Dold
      Beisitzer
      Christian Grothoff , " +"ch3
      " #: template/ev.html.j2:73 msgid "Official Meeting Notes" @@ -1098,8 +1149,8 @@ msgid "" "you believe a bug is sensitive, you can set its view status to private (this " "should be the exception)." msgstr "" -"R: Damos seguimiento a la lista de \"bugs\" conocidos en el Sistema Mantis. En ocasiones, se informa de " +"R: Damos seguimiento a la lista de \"bugs\" conocidos en el Sistema Mantis. En ocasiones, se informa de " "algunos errores directamente a los programadores o a la lista de correo de " "desarrolladores. Se desaconseja esto, ya que los desarrolladores a menudo no " "tienen tiempo para enviar estos errores a la base de datos de Mantis. " @@ -1142,9 +1193,9 @@ msgstr "" "un intruso organizar un ataque Sybil en la estimación del tamaño de la red). " "Se espera que los cálculos se realicen en varios días, dependiendo de lo " "rápido que sea tu CPU. Si la carga del CPU te produce un problema, puedes " -"especificar un valor mayor de "WORKDELAY" en la sección " -""nse" de tu archivo de configuración. El valor por defecto es " -""5 ms"." +"especificar un valor mayor de "WORKDELAY" en la sección "" +"nse" de tu archivo de configuración. El valor por defecto es "5 " +"ms"." #: template/faq.html.j2:99 msgid "How does GNUnet compare to Tor?" @@ -1261,11 +1312,17 @@ msgstr "" "¿Es posible acceder a GNUnet desde un navegador de internet en modo anónimo?" #: template/faq.html.j2:183 +#, fuzzy +#| msgid "" +#| "A: There is currently no proxy (like fproxy in Freenet) for GNUnet that " +#| "would make it accessible with a browser. It is possible to build such a " +#| "proxy and all one needs to know is the protocol used between browser and " +#| "proxy and a swift look at the GNUnet code for file-sharing." msgid "" "A: There is currently no proxy (like fproxy in Freenet) for GNUnet that " -"would make it accessible with a browser. It is possible to build such a " -"proxy and all one needs to know is the protocol used between browser and " -"proxy and a swift look at the GNUnet code for file-sharing." +"would make it accessible via a browser. It is possible to build such a proxy " +"and all one needs to know is the protocol used between the browser and the " +"proxy and the GNUnet code for file-sharing." msgstr "" "R: Actualmente no hay ningún proxy, como el proxy libre de Freenet, que " "permita acceder a GNUnet con un navegador. Es posible desarrollar semejante " @@ -1294,7 +1351,9 @@ msgstr "" "separado, ya que la instalación requiere que la red de pares se detenga." #: template/faq.html.j2:210 -msgid "On top of which operating systems does GNUnet run?" +#, fuzzy +#| msgid "On top of which operating systems does GNUnet run?" +msgid "Which operating systems does GNUnet run on?" msgstr "¿Sobre qué sistemas operativos se ejecuta GNUnet?" #: template/faq.html.j2:212 @@ -1402,7 +1461,9 @@ msgstr "" "cualquier otra zona delegada a ésta alcanzará una resolución adecuada." #: template/faq.html.j2:286 -msgid "How does GNS compare to other name systems" +#, fuzzy +#| msgid "How does GNS compare to other name systems" +msgid "How does GNS compare to other name systems?" msgstr "¿Cómo se compara GNS a otros sistemas de nombres de dominio?" #: template/faq.html.j2:288 @@ -1421,15 +1482,25 @@ msgid "What is the difference between GNS and CoDoNS?" msgstr "¿Cuál es la diferencia entre GNS y CoDoNS?" #: template/faq.html.j2:394 +#, fuzzy +#| msgid "" +#| "A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the " +#| "authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, " +#| "and there are still registrars that determine who owns a name.

      " +#| "With GNS, we decentralize the database and also decentralize the " +#| "responsibility for naming: each user runs his own personal root zone and " +#| "is thus in complete control of the names he uses. GNS also has many " +#| "additional features (to keep names short and enable migration) which " +#| "don't even make sense in the context of CoDoNS." msgid "" "A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the " "authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, and " "there are still registrars that determine who owns a name.

      With " "GNS, we decentralize the database and also decentralize the responsibility " -"for naming: each user runs his own personal root zone and is thus in " -"complete control of the names he uses. GNS also has many additional features " -"(to keep names short and enable migration) which don't even make sense in " -"the context of CoDoNS." +"for naming: each user runs their own personal root zone and is thus in " +"complete control of the names they use. GNS also has many additional " +"features (to keep names short and enable migration) which don't even make " +"sense in the context of CoDoNS." msgstr "" "R: CoDoNS descentraliza la base de datos de DNS (usando DHT), pero preserva " "su estructura de mando. Con CoDoNS, IANA/ICANN aún están bajo control, y " @@ -1486,13 +1557,21 @@ msgid "What is the difference between GNS and Handshake?" msgstr "¿Cuál es la diferencia entre GNS y Handshake?" #: template/faq.html.j2:441 +#, fuzzy +#| msgid "" +#| "A: Handshake is a blockchain-based method for root zone governance. " +#| "Hence, it does not address the name resolution process itself but " +#| "delegates resolution into DNS after the initial TLD resolution. Not " +#| "taking sustainablility considerations into account, handshake could be " +#| "used as an additional supporting GNS root zone governance model but we " +#| "currently do not have such plans in mind." msgid "" "A: Handshake is a blockchain-based method for root zone governance. Hence, " "it does not address the name resolution process itself but delegates " "resolution into DNS after the initial TLD resolution. Not taking " -"sustainablility considerations into account, handshake could be used as an " -"additional supporting GNS root zone governance model but we currently do not " -"have such plans in mind." +"sustainablility considerations into account, Handshake could be used as an " +"additional supporting GNS root zone governance model, but we currently do " +"not have such plans in mind." msgstr "" "R: Handshake es un método desarrollado a partir de \"blockchain\" para la " "gobernanza de la zona raíz. Por lo tanto, no gestiona el proceso de " @@ -1575,10 +1654,10 @@ msgid "" msgstr "" "R: Los nombres no tienen propietario en GNS, por lo que no puede haber un " "propietario "legítimo" de dominio. Cualquier usuario puede " -"reclamar cualquier nombre (como su nombre preferido o "seudónimo ")" -" en su registro NICK. Del mismo modo, todos los demás usuarios pueden optar " -"por ignorar esta preferencia y utilizar un nombre de su elección (o incluso " -"no asignar ningún nombre) para este usuario." +"reclamar cualquier nombre (como su nombre preferido o "seudónimo " +"") en su registro NICK. Del mismo modo, todos los demás usuarios pueden " +"optar por ignorar esta preferencia y utilizar un nombre de su elección (o " +"incluso no asignar ningún nombre) para este usuario." #: template/faq.html.j2:498 msgid "" @@ -1620,8 +1699,8 @@ msgstr "" "debido a la escasez de direcciones IPv4, y que (b) los LEHO solo son útiles " "en el contexto del alojamiento virtual. Sin embargo, los LEHO también son " "útiles para ayudar con la validación del certificado X.509 (ya que " -"especifican para qué nombre de host heredado debe ser válido el certificado)" -". Además, incluso con IPv6 completamente implementado y las " +"especifican para qué nombre de host heredado debe ser válido el " +"certificado). Además, incluso con IPv6 completamente implementado y las " ""infinitas" direcciones IP disponibles, no estamos seguros de que " "el alojamiento virtual desaparezca. Por último, no queremos tener que " "esperar a que IPv6 se convierta en algo común. GNS debería funcionar con las " @@ -1758,11 +1837,11 @@ msgid "" "was able to reassign the management of the country-TLDs of Afganistan and " "Iraq during the wars at the beginning of the 21st century." msgstr "" -"R: Decimos que el DNS está 'centralizado' porque tiene un componente central " -"/ punto central de falla --- la zona raíz y su administración por parte de " -"IANA / ICANN. Esta centralización crea vulnerabilidades. Por ejemplo, el " -"gobierno de EE. UU. pudo modificar la gestión nacional de los TLD en " -"Afganistán e Irak durante las guerras de principios del siglo XXI." +"R: Decimos que el DNS está 'centralizado' porque tiene un componente " +"central / punto central de falla --- la zona raíz y su administración por " +"parte de IANA / ICANN. Esta centralización crea vulnerabilidades. Por " +"ejemplo, el gobierno de EE. UU. pudo modificar la gestión nacional de los " +"TLD en Afganistán e Irak durante las guerras de principios del siglo XXI." #: template/faq.html.j2:613 msgid "How does GNS protect against layer-3 censorship?" @@ -1784,10 +1863,10 @@ msgstr "" "ayuda de forma indirecta de dos maneras :
      1. Hoy en día, muchos " "sitios web usan alojamiento virtual, por lo que bloquear una dirección IP " "causa mayor daño colateral que bloquear un nombre DNS. Esto aumenta el costo " -"de la censura.
      2. Las soluciones de evasión de capa 3 existentes (" -"como Tor) se beneficiarían de un sistema de nombres resistente a la censura. " -"En la actualidad, para acceder a la ".onion" del espacio de " -"nombres de Tor, es necesario que los usuarios usen identificadores " +"de la censura.
      3. Las soluciones de evasión de capa 3 existentes " +"(como Tor) se beneficiarían de un sistema de nombres resistente a la " +"censura. En la actualidad, para acceder a la ".onion" del espacio " +"de nombres de Tor, es necesario que los usuarios usen identificadores " "criptográficos nada memorables. Con nombres más agradables, los servicios " "tipo Tor y tor2web serían aún más fáciles de usar.
      " @@ -1882,10 +1961,10 @@ msgid "" "record type) to it." msgstr "" "R: Cuando GNS divide un nombre de dominio en etiquetas para su resolución, " -"detecta la sintaxis del " _Service._Proto", convierte " -""Service" al número de puerto correspondiente y "Proto" " -"al número de protocolo correspondiente. El resto del nombre se resuelve como " -"de costumbre. Luego, cuando se presenta el resultado, GNS busca el tipo de " +"detecta la sintaxis del " _Service._Proto", convierte "" +"Service" al número de puerto correspondiente y "Proto" al " +"número de protocolo correspondiente. El resto del nombre se resuelve como de " +"costumbre. Luego, cuando se presenta el resultado, GNS busca el tipo de " "registro específico de GNS "BOX". Un registro BOX es un registro " "que contiene otro registro (como registros SRV o TLSA) y le agrega un número " "de servicio y protocolo (y el tipo de registro en caja original)." @@ -2043,18 +2122,18 @@ msgstr "" "prioridad. Procuramos producir una red con características de seguridad " "comprensibles. Muchas otras redes P2P se encuentran abiertas a una gran " "variedad de ataques y los usuarios tienen poca privacidad. GNUnet también es " -"un Software Gratuito, por lo tanto, su código fuente se encuentra disponible;" -" de esta forma no tendrá que preocuparse de ser espiado por el software. La " -"siguiente tabla resume las principales diferencias entre GNUnet y otros " -"sistemas; la información es precisa a nuestro entendimiento. La comparación " -"es difícil ya que, algunas veces, existen diferencias entre múltiples " -"implementaciones de (casi) el mismo protocolo. En general, seleccionamos una " -"implementación libre como la referencia de implementación, debido a que es " -"posible inspeccionar el código libre; también, todos estos sistemas se " -"encuentran cambiando con el tiempo, por lo tanto, los datos a continuación " -"podrían no encontrarse actualizados. Si encuentra errores por favor " -"háganoslo saber. Finalmente, la tabla no aporta mucho (es difícil comparar " -"estos sistemas de forma tan breve), así que, si desea conocer las " +"un Software Gratuito, por lo tanto, su código fuente se encuentra " +"disponible; de esta forma no tendrá que preocuparse de ser espiado por el " +"software. La siguiente tabla resume las principales diferencias entre GNUnet " +"y otros sistemas; la información es precisa a nuestro entendimiento. La " +"comparación es difícil ya que, algunas veces, existen diferencias entre " +"múltiples implementaciones de (casi) el mismo protocolo. En general, " +"seleccionamos una implementación libre como la referencia de implementación, " +"debido a que es posible inspeccionar el código libre; también, todos estos " +"sistemas se encuentran cambiando con el tiempo, por lo tanto, los datos a " +"continuación podrían no encontrarse actualizados. Si encuentra errores por " +"favor háganoslo saber. Finalmente, la tabla no aporta mucho (es difícil " +"comparar estos sistemas de forma tan breve), así que, si desea conocer las " "diferencias reales, lea los artículos de investigación (y probablemente el " "código)." @@ -2063,7 +2142,7 @@ msgid "" "Another important point of reference are the various anonymous peer-to-peer " "networks. Here, there are differences in terms of application domain and how " "specifically anonymity is achieved. Anonymous routing is a hard research " -"topic, so for a superficial comparisson like this one we focus on the " +"topic, so for a superficial comparison like this one we focus on the " "latency. Another important factor is the programming language. Type-safe " "languages may offer certain security benefits; however, this may come at the " "cost of significant increases in resource consumption which in turn may " @@ -2589,8 +2668,8 @@ msgid "" msgstr "" "gnurl/libgnurl está buscando un nuevo mantenedor. Los lanzamientos tras la " "versión 7.69.1 y hasta la versión 7.72.0 se firmaron con la clave OpenPGP " -"Key 0xD6B570842F7E7F8Dkeys.openpgp.org, con la " +"Key 0xD6B570842F7E7F8Dkeys.openpgp.org, con la " "huella digital de clave pública,6115 012D EA30 26F6 2A98 A556 D6B5 7084 " "2F7E 7F8D." @@ -3410,8 +3489,8 @@ msgid "" "that we can add it to this list. Furthermore, if you are interested in " "packaging GNUnet for your Operating System, get in touch with us at gnunet-" "developers@gnu.org if you require help with this job. If you were using an " -"Operating System with the Alpine package manager, GNUnet could be installed " -"as simple as:" +"Operating System with the APT package manager, GNUnet could be installed as " +"simple as:" msgstr "" #: template/install.html.j2:61 @@ -3443,7 +3522,7 @@ msgid "" msgstr "" #: template/install.html.j2:98 -msgid "Alternatively, get the sources from git by entering:" +msgid "To compile gnunet from the git source you can do so by entering:" msgstr "" #: template/install.html.j2:106 @@ -3561,6 +3640,9 @@ msgstr "" msgid "Videos related to GNUnet" msgstr "" +#~ msgid "Living Standards" +#~ msgstr "Estándares de vida" + #, fuzzy #~| msgid "What is GNUnet?" #~ msgid "Get off GNUnet" diff --git a/locale/fr/LC_MESSAGES/messages.po b/locale/fr/LC_MESSAGES/messages.po index ab4c15ef..75b90f04 100644 --- a/locale/fr/LC_MESSAGES/messages.po +++ b/locale/fr/LC_MESSAGES/messages.po @@ -7,11 +7,11 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-03 21:41+0100\n" +"POT-Creation-Date: 2021-04-28 14:41+0200\n" "PO-Revision-Date: 2021-04-20 23:43+0000\n" "Last-Translator: Edhyne Dablé \n" -"Language-Team: French " -"\n" +"Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,7 +32,7 @@ msgstr "Système GNU pour un réseau p2p sécurisé" msgid "Contact" msgstr "Contact" -#: common/footer.j2.inc:8 common/navigation.j2.inc:49 +#: common/footer.j2.inc:8 msgid "GNUnet e.V." msgstr "GNUnet e.V." @@ -147,11 +147,6 @@ msgstr "Glossaire" msgid "Handbook" msgstr "Manuel" -#: common/navigation.j2.inc:87 template/livingstandards.html.j2:8 -#, fuzzy -msgid "Living Standards" -msgstr "Standards" - #: common/navigation.j2.inc:88 msgid "REST API" msgstr "API REST" @@ -233,9 +228,9 @@ msgstr "" "A cause des choix de conception fondamentaux d'Internet, le trafic Internet " "peut être détourné, intercepté, censuré et manipulé par des des routeurs " "malveillants sur le réseau. Et en effet, le réseau Internet moderne a évolué " -"précisément jusqu'au point où, comme dit Matthew Green, \"le" -" réseau est malveillant\"." +"précisément jusqu'au point où, comme dit Matthew Green, \"le " +"réseau est malveillant\"." #: template/about.html.j2:41 msgid "" @@ -270,7 +265,8 @@ msgstr "" msgid "" "GNUnet must minimize the amount of personally identifiable information " "exposed." -msgstr "GNUnet doit exposer le moins possible de données à caractère personnel." +msgstr "" +"GNUnet doit exposer le moins possible de données à caractère personnel." #: template/about.html.j2:61 msgid "" @@ -314,7 +310,8 @@ msgstr "" #: template/about.html.j2:67 #, fuzzy msgid "The GNUnet architecture must be resource efficient." -msgstr "L'architecture de GNUnet doit avoir recourt à des ressources efficaces." +msgstr "" +"L'architecture de GNUnet doit avoir recourt à des ressources efficaces." #: template/about.html.j2:68 msgid "" @@ -346,20 +343,20 @@ msgstr "" "Vous trouverez davantage d'informations dans notre manuel, en particulier dans le chapitre sur " -"les \"Concepts Clés\", qui explique les concepts fondamentaux de GNUnet :" -" " #: template/about.html.j2:88 msgid "More Resources" @@ -378,8 +375,8 @@ msgstr "" "\"https://docs.gnunet.org/handbook/gnunet.html\">manuel, comme la bibliographie avec des articles " "traitant des différents cas, plusieurs vidéos ou un glossaire court." +"html\">vidéos ou un glossaire court." #: template/about.html.j2:95 msgid "" @@ -468,7 +465,7 @@ msgid "" "replacement for the Domain Name System (DNS). Instead of using a hierarchy, " "GNS uses a directed graph. Naming conventions are similar to DNS, but " "queries and replies are private even with respect to peers providing the " -"answers. The integrity of records and privacy of look-ups is " +"answers. The integrity of records and privacy of look-ups are " "cryptographically secured. " msgstr "" @@ -583,11 +580,17 @@ msgid "Cadet-GTK" msgstr "Cadet-GTK" #: template/applications.html.j2:162 +#, fuzzy +#| msgid "" +#| "Cadet-GTK " +#| "is a convenient but feature-rich graphical application providing " +#| "messaging using especially the CADET subsystem. It is developed using GTK " +#| "and libhandy for a convergent design." msgid "" "Cadet-GTK is a " "convenient but feature-rich graphical application providing messaging using " -"especially the CADET subsystem. It is developed using GTK and libhandy for a " -"convergent design." +"the CADET subsystem. It is developed using GTK and libhandy for a convergent " +"design." msgstr "" "Cadet-GTK est " "une interface graphique modeste mais riche en caractéristiques qui fournit " @@ -600,11 +603,16 @@ msgid "groupchat" msgstr "groupe de chat" #: template/applications.html.j2:182 +#, fuzzy +#| msgid "" +#| "groupchat is a " +#| "terminal user interface providing messaging using especially the CADET " +#| "subsystem. It is developed using nim. Cadet-GTK and groupchat are planned " +#| "to be compatible." msgid "" "groupchat is a " -"terminal user interface providing messaging using especially the CADET " -"subsystem. It is developed using nim. Cadet-GTK and groupchat are planned to " -"be compatible." +"terminal user interface providing messaging using the CADET subsystem. It is " +"developed using nim. Cadet-GTK and groupchat are planned to be compatible." msgstr "" "groupchat est un " "terminal d'interface utilisateur qui fournit ds services de messagerie en " @@ -620,28 +628,42 @@ msgid "Foundations" msgstr "Bases" #: template/architecture.html.j2:22 +#, fuzzy +#| msgid "" +#| "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-" +#| "like end-to-end encrypted messaging layer (CADET), a public key " +#| "infrastructure (GNS) and a pluggable transport system (TRANSPORT).
      " +#| "Using public keys for addresses and self-organized decentralized routing " +#| "algorithms, these subsystems replace the traditional TCP/IP stack." msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " "end-to-end encrypted messaging layer (CADET), a public key infrastructure " "(GNS) and a pluggable transport system (TRANSPORT).
      Using public keys " -"for addresses and self-organized decentralized routing algorithms, these " +"for addresses and self-organizing decentralized routing algorithms, these " "subsystems replace the traditional TCP/IP stack." msgstr "" "GNUnet repose sur une table de hachage distribuée (R5N), une couche de " "messagerie codée de bout en bout (CADET) similaire à SCPT, une " "infrastructure à clé publique (GNS) et un système de transport branchable " -"(TRANSPORT).
      À l’aide de clés publiques pour les adresses et d’" -"algorithmes de routage décentralisés autonomes, ces sous-systèmes remplacent " -"la pile TCP/IP traditionnelle." +"(TRANSPORT).
      À l’aide de clés publiques pour les adresses et " +"d’algorithmes de routage décentralisés autonomes, ces sous-systèmes " +"remplacent la pile TCP/IP traditionnelle." #: template/architecture.html.j2:35 msgid "Security" msgstr "Sécurité" #: template/architecture.html.j2:38 +#, fuzzy +#| msgid "" +#| "GNUnet is implemented using a multi-process architecture. Each subsystem " +#| "runs as a separate process, providing fault-isolation and enabling tight " +#| "permissions to be granted to each subsystem. Naturally, the " +#| "implementation is a GNU package, and " +#| "will always remain free software." msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " -"runs as a separate process, providing fault-isolation and enabling tight " +"runs as a separate process, providing fault isolation and enabling tight " "permissions to be granted to each subsystem. Naturally, the implementation " "is a GNU package, and will always " "remain free software." @@ -649,8 +671,8 @@ msgstr "" "GNUnet est implanté grâce à une architecture multi-procédés. Chaque sous-" "système fonctionne comme procédé à part, ce qui permet d'isoler les défauts " "et de garantir les permissions strictes pour chaque sous-système. " -"Naturellement, l’exécution est un progiciel GNU, et restera toujours un logiciel libre." +"Naturellement, l’exécution est un progiciel GNU, et restera toujours un logiciel libre." #: template/architecture.html.j2:52 msgid "System architecture" @@ -690,8 +712,8 @@ msgstr "" "Une liste mailing archivée et publique pour GNUnet est hébergée à https://lists." "gnu.org/mailman/listinfo/gnunet-developers. Vous pouvez envoyer un " -"message à cette liste ici :gnunet-developers@gnu.org." +"message à cette liste ici :gnunet-developers@gnu.org." #: template/contact.html.j2:23 msgid "The IRC channel" @@ -704,8 +726,8 @@ msgid "" "IjaAfLiruzjxFFzKAV:matrix.org/\">archive available." msgstr "" "#gnunet est accessible depuis irc." -"freenode.net. Les archives sont également disponibles." +"freenode.net. Les archives sont également disponibles." #: template/contact.html.j2:38 msgid "Contacting individuals" @@ -901,8 +923,8 @@ msgid "" "membership dues; however, members are required to support GNUnet e.V. and in " "particularly contribute to the technical development within their means. For " "further details, we refer to the Satzung (currently only available in German, translations " -"welcome)." +"git/\">Satzung (Charter) (currently only available in German, " +"translations welcome)." msgstr "" #: template/ev.html.j2:52 @@ -911,9 +933,9 @@ msgstr "" #: template/ev.html.j2:54 msgid "" -"You can find our \"Satzung\", and the list of members under https://git.gnunet." -"org/gnunet-ev.git/tree/satzung.tex. The current board consists of: " +"You can find our charter, and the list of members under https://git.gnunet.org/" +"gnunet-ev.git/tree/satzung.tex. The current board consists of: " "
      Vorsitz
      Martin " "Schanzenbach
      stellvertretender Vorsitz
      t3sserakt
      " "
      Kassenwart
      Florian Dold
      Beisitzer

      With " "GNS, we decentralize the database and also decentralize the responsibility " -"for naming: each user runs his own personal root zone and is thus in " -"complete control of the names he uses. GNS also has many additional features " -"(to keep names short and enable migration) which don't even make sense in " -"the context of CoDoNS." +"for naming: each user runs their own personal root zone and is thus in " +"complete control of the names they use. GNS also has many additional " +"features (to keep names short and enable migration) which don't even make " +"sense in the context of CoDoNS." msgstr "" #: template/faq.html.j2:410 @@ -1271,9 +1293,9 @@ msgid "" "A: Handshake is a blockchain-based method for root zone governance. Hence, " "it does not address the name resolution process itself but delegates " "resolution into DNS after the initial TLD resolution. Not taking " -"sustainablility considerations into account, handshake could be used as an " -"additional supporting GNS root zone governance model but we currently do not " -"have such plans in mind." +"sustainablility considerations into account, Handshake could be used as an " +"additional supporting GNS root zone governance model, but we currently do " +"not have such plans in mind." msgstr "" #: template/faq.html.j2:453 @@ -1651,7 +1673,7 @@ msgid "" "Another important point of reference are the various anonymous peer-to-peer " "networks. Here, there are differences in terms of application domain and how " "specifically anonymity is achieved. Anonymous routing is a hard research " -"topic, so for a superficial comparisson like this one we focus on the " +"topic, so for a superficial comparison like this one we focus on the " "latency. Another important factor is the programming language. Type-safe " "languages may offer certain security benefits; however, this may come at the " "cost of significant increases in resource consumption which in turn may " @@ -2896,8 +2918,8 @@ msgid "" "that we can add it to this list. Furthermore, if you are interested in " "packaging GNUnet for your Operating System, get in touch with us at gnunet-" "developers@gnu.org if you require help with this job. If you were using an " -"Operating System with the Alpine package manager, GNUnet could be installed " -"as simple as:" +"Operating System with the APT package manager, GNUnet could be installed as " +"simple as:" msgstr "" #: template/install.html.j2:61 @@ -2929,7 +2951,7 @@ msgid "" msgstr "" #: template/install.html.j2:98 -msgid "Alternatively, get the sources from git by entering:" +msgid "To compile gnunet from the git source you can do so by entering:" msgstr "" #: template/install.html.j2:106 @@ -3042,3 +3064,7 @@ msgstr "" #: template/video.html.j2:12 msgid "Videos related to GNUnet" msgstr "Vidéos en lien avec GNUnet" + +#, fuzzy +#~ msgid "Living Standards" +#~ msgstr "Standards" diff --git a/locale/hi/LC_MESSAGES/messages.po b/locale/hi/LC_MESSAGES/messages.po index 51fbf8f5..1ed97f22 100644 --- a/locale/hi/LC_MESSAGES/messages.po +++ b/locale/hi/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-12 16:12+0100\n" +"POT-Creation-Date: 2021-04-28 14:41+0200\n" "PO-Revision-Date: 2021-03-09 18:35+0000\n" "Last-Translator: Jigisha Sharma \n" "Language-Team: Hindi \n" @@ -31,7 +31,7 @@ msgstr "कम्प्यूटिंग का ढाँचा सुरक् msgid "Contact" msgstr "सम्पर्क" -#: common/footer.j2.inc:8 common/navigation.j2.inc:49 +#: common/footer.j2.inc:8 msgid "GNUnet e.V." msgstr "कम्प्यूटिंग नेट ई.वी." @@ -146,10 +146,6 @@ msgstr "शब्दकोष" msgid "Handbook" msgstr "पुस्तिका" -#: common/navigation.j2.inc:87 template/livingstandards.html.j2:8 -msgid "Living Standards" -msgstr "जीवन स्तर" - #: common/navigation.j2.inc:88 msgid "REST API" msgstr "र.ई.एस.टी ए .पी .इ" @@ -376,7 +372,7 @@ msgid "" "replacement for the Domain Name System (DNS). Instead of using a hierarchy, " "GNS uses a directed graph. Naming conventions are similar to DNS, but " "queries and replies are private even with respect to peers providing the " -"answers. The integrity of records and privacy of look-ups is " +"answers. The integrity of records and privacy of look-ups are " "cryptographically secured. " msgstr "" @@ -462,8 +458,8 @@ msgstr "" msgid "" "
      Cadet-GTK is a " "convenient but feature-rich graphical application providing messaging using " -"especially the CADET subsystem. It is developed using GTK and libhandy for a " -"convergent design." +"the CADET subsystem. It is developed using GTK and libhandy for a convergent " +"design." msgstr "" #: template/applications.html.j2:180 @@ -473,9 +469,8 @@ msgstr "" #: template/applications.html.j2:182 msgid "" "groupchat is a " -"terminal user interface providing messaging using especially the CADET " -"subsystem. It is developed using nim. Cadet-GTK and groupchat are planned to " -"be compatible." +"terminal user interface providing messaging using the CADET subsystem. It is " +"developed using nim. Cadet-GTK and groupchat are planned to be compatible." msgstr "" #: template/architecture.html.j2:6 @@ -491,7 +486,7 @@ msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " "end-to-end encrypted messaging layer (CADET), a public key infrastructure " "(GNS) and a pluggable transport system (TRANSPORT).
      Using public keys " -"for addresses and self-organized decentralized routing algorithms, these " +"for addresses and self-organizing decentralized routing algorithms, these " "subsystems replace the traditional TCP/IP stack." msgstr "" @@ -502,7 +497,7 @@ msgstr "" #: template/architecture.html.j2:38 msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " -"runs as a separate process, providing fault-isolation and enabling tight " +"runs as a separate process, providing fault isolation and enabling tight " "permissions to be granted to each subsystem. Naturally, the implementation " "is a GNU package, and will always " "remain free software." @@ -744,8 +739,8 @@ msgid "" "membership dues; however, members are required to support GNUnet e.V. and in " "particularly contribute to the technical development within their means. For " "further details, we refer to the Satzung (currently only available in German, translations " -"welcome)." +"git/\">Satzung (Charter) (currently only available in German, " +"translations welcome)." msgstr "" #: template/ev.html.j2:52 @@ -754,9 +749,9 @@ msgstr "" #: template/ev.html.j2:54 msgid "" -"You can find our \"Satzung\", and the list of members under https://git.gnunet." -"org/gnunet-ev.git/tree/satzung.tex. The current board consists of: " +"You can find our charter, and the list of members under https://git.gnunet.org/" +"gnunet-ev.git/tree/satzung.tex. The current board consists of: " "
      Vorsitz
      Martin " "Schanzenbach
      stellvertretender Vorsitz
      t3sserakt
      " "
      Kassenwart
      Florian Dold
      Beisitzer

      With " "GNS, we decentralize the database and also decentralize the responsibility " -"for naming: each user runs his own personal root zone and is thus in " -"complete control of the names he uses. GNS also has many additional features " -"(to keep names short and enable migration) which don't even make sense in " -"the context of CoDoNS." +"for naming: each user runs their own personal root zone and is thus in " +"complete control of the names they use. GNS also has many additional " +"features (to keep names short and enable migration) which don't even make " +"sense in the context of CoDoNS." msgstr "" #: template/faq.html.j2:410 @@ -1116,9 +1111,9 @@ msgid "" "A: Handshake is a blockchain-based method for root zone governance. Hence, " "it does not address the name resolution process itself but delegates " "resolution into DNS after the initial TLD resolution. Not taking " -"sustainablility considerations into account, handshake could be used as an " -"additional supporting GNS root zone governance model but we currently do not " -"have such plans in mind." +"sustainablility considerations into account, Handshake could be used as an " +"additional supporting GNS root zone governance model, but we currently do " +"not have such plans in mind." msgstr "" #: template/faq.html.j2:453 @@ -1496,7 +1491,7 @@ msgid "" "Another important point of reference are the various anonymous peer-to-peer " "networks. Here, there are differences in terms of application domain and how " "specifically anonymity is achieved. Anonymous routing is a hard research " -"topic, so for a superficial comparisson like this one we focus on the " +"topic, so for a superficial comparison like this one we focus on the " "latency. Another important factor is the programming language. Type-safe " "languages may offer certain security benefits; however, this may come at the " "cost of significant increases in resource consumption which in turn may " @@ -2741,8 +2736,8 @@ msgid "" "that we can add it to this list. Furthermore, if you are interested in " "packaging GNUnet for your Operating System, get in touch with us at gnunet-" "developers@gnu.org if you require help with this job. If you were using an " -"Operating System with the Alpine package manager, GNUnet could be installed " -"as simple as:" +"Operating System with the APT package manager, GNUnet could be installed as " +"simple as:" msgstr "" #: template/install.html.j2:61 @@ -2774,7 +2769,7 @@ msgid "" msgstr "" #: template/install.html.j2:98 -msgid "Alternatively, get the sources from git by entering:" +msgid "To compile gnunet from the git source you can do so by entering:" msgstr "" #: template/install.html.j2:106 @@ -2887,3 +2882,6 @@ msgstr "" #: template/video.html.j2:12 msgid "Videos related to GNUnet" msgstr "" + +#~ msgid "Living Standards" +#~ msgstr "जीवन स्तर" diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 2cc31d8b..296d3e03 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -7,11 +7,11 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-12 16:12+0100\n" +"POT-Creation-Date: 2021-04-28 14:41+0200\n" "PO-Revision-Date: 2021-04-25 04:48+0000\n" "Last-Translator: Francesca Cipriani \n" -"Language-Team: Italian " -"\n" +"Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,7 +32,7 @@ msgstr "Il contesto operativo dello GNU per un sicuro p2p networking" msgid "Contact" msgstr "Contatti" -#: common/footer.j2.inc:8 common/navigation.j2.inc:49 +#: common/footer.j2.inc:8 msgid "GNUnet e.V." msgstr "GNUnet e V." @@ -147,10 +147,6 @@ msgstr "Glossario" msgid "Handbook" msgstr "Manuale" -#: common/navigation.j2.inc:87 template/livingstandards.html.j2:8 -msgid "Living Standards" -msgstr "Standard di vita" - #: common/navigation.j2.inc:88 msgid "REST API" msgstr "API REST" @@ -453,12 +449,21 @@ msgid "The GNU Name System" msgstr "Il GNU Name System" #: template/applications.html.j2:15 +#, fuzzy +#| msgid "" +#| "The
      GNU Name System (GNS) is a fully " +#| "decentralized replacement for the Domain Name System (DNS). Instead of " +#| "using a hierarchy, GNS uses a directed graph. Naming conventions are " +#| "similar to DNS, but queries and replies are private even with respect to " +#| "peers providing the answers. The integrity of records and privacy of look-" +#| "ups is cryptographically secured. " msgid "" "The GNU Name System (GNS) is a fully decentralized " "replacement for the Domain Name System (DNS). Instead of using a hierarchy, " "GNS uses a directed graph. Naming conventions are similar to DNS, but " "queries and replies are private even with respect to peers providing the " -"answers. The integrity of records and privacy of look-ups is " +"answers. The integrity of records and privacy of look-ups are " "cryptographically secured. " msgstr "" @@ -574,11 +579,17 @@ msgid "Cadet-GTK" msgstr "Cadet-GTK" #: template/applications.html.j2:162 +#, fuzzy +#| msgid "" +#| "Cadet-GTK " +#| "is a convenient but feature-rich graphical application providing " +#| "messaging using especially the CADET subsystem. It is developed using GTK " +#| "and libhandy for a convergent design." msgid "" "Cadet-GTK is a " "convenient but feature-rich graphical application providing messaging using " -"especially the CADET subsystem. It is developed using GTK and libhandy for a " -"convergent design." +"the CADET subsystem. It is developed using GTK and libhandy for a convergent " +"design." msgstr "" "Cadet-GTK è " "un'applicazione grafica conveniente ma allo stesso tempo ricca di " @@ -591,11 +602,16 @@ msgid "groupchat" msgstr "groupchat" #: template/applications.html.j2:182 +#, fuzzy +#| msgid "" +#| "groupchat is a " +#| "terminal user interface providing messaging using especially the CADET " +#| "subsystem. It is developed using nim. Cadet-GTK and groupchat are planned " +#| "to be compatible." msgid "" "groupchat is a " -"terminal user interface providing messaging using especially the CADET " -"subsystem. It is developed using nim. Cadet-GTK and groupchat are planned to " -"be compatible." +"terminal user interface providing messaging using the CADET subsystem. It is " +"developed using nim. Cadet-GTK and groupchat are planned to be compatible." msgstr "" "groupchat è un " "terminale di interfaccia utente che fornisce messaggistica utilizzando in " @@ -611,11 +627,18 @@ msgid "Foundations" msgstr "Foundations" #: template/architecture.html.j2:22 +#, fuzzy +#| msgid "" +#| "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-" +#| "like end-to-end encrypted messaging layer (CADET), a public key " +#| "infrastructure (GNS) and a pluggable transport system (TRANSPORT).
      " +#| "Using public keys for addresses and self-organized decentralized routing " +#| "algorithms, these subsystems replace the traditional TCP/IP stack." msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " "end-to-end encrypted messaging layer (CADET), a public key infrastructure " "(GNS) and a pluggable transport system (TRANSPORT).
      Using public keys " -"for addresses and self-organized decentralized routing algorithms, these " +"for addresses and self-organizing decentralized routing algorithms, these " "subsystems replace the traditional TCP/IP stack." msgstr "" "Le basi di GNUnet sono una tabella hash distribuita (R5N), un livello di " @@ -630,17 +653,24 @@ msgid "Security" msgstr "Sicurezza" #: template/architecture.html.j2:38 +#, fuzzy +#| msgid "" +#| "GNUnet is implemented using a multi-process architecture. Each subsystem " +#| "runs as a separate process, providing fault-isolation and enabling tight " +#| "permissions to be granted to each subsystem. Naturally, the " +#| "implementation is a GNU package, and " +#| "will always remain free software." msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " -"runs as a separate process, providing fault-isolation and enabling tight " +"runs as a separate process, providing fault isolation and enabling tight " "permissions to be granted to each subsystem. Naturally, the implementation " "is a GNU package, and will always " "remain free software." msgstr "" "GNUnet è implementato con un’architettura multiprocesso. Ogni sottosistema " "viene eseguito come un processo separato, permettendo l’isolamento degli " -"errori e la concessione di autorizzazioni limitate a ciascun sottosistema. L’" -"implementazione è un pacchetto GNU, " +"errori e la concessione di autorizzazioni limitate a ciascun sottosistema. " +"L’implementazione è un pacchetto GNU, " "quindi sarà sempre un software gratuito." #: template/architecture.html.j2:52 @@ -681,8 +711,8 @@ msgstr "" "All'indirizzo https://lists.gnu.org/mailman/listinfo/gnunet-developers è " "possibile trovare una mailing list di GNUnet pubblica e archiviata. Per " -"inviare un messaggio all'intera mailing list, scrivere a gnunet-developers@gnu.org." +"inviare un messaggio all'intera mailing list, scrivere a gnunet-developers@gnu.org." #: template/contact.html.j2:23 msgid "The IRC channel" @@ -728,8 +758,8 @@ msgid "" "subscription." msgstr "" "Monitoriamo richieste di funzionalità e bug aperti per i progetti " -"all'interno di GNUnet nel nostro Registro bug. È possibile segnalare bug o richieste di funzionalità " +"all'interno di GNUnet nel nostro Registro bug. È possibile segnalare bug o richieste di funzionalità " "scrivendo alla mailing list bug-gnunet. Non è necessario iscriversi alla mailing list " "per inviare un messaggio." @@ -826,9 +856,9 @@ msgid "" "detect regressions and check for portability at https://old.gnunet.org/buildbot/gnunet/." msgstr "" -"Disponiamo di test automatici tramite Buildbot per individuare regressioni e verificare la portabilità su https://old.gnunet.org/" +"Disponiamo di test automatici tramite Buildbot per individuare regressioni e verificare la portabilità su " +"https://old.gnunet.org/" "buildbot/gnunet/." #: template/developers.html.j2:59 @@ -940,6 +970,17 @@ msgid "Becoming a Member of GNUnet e.V." msgstr "Entrare a far parte di GNUnet e.V." #: template/ev.html.j2:33 +#, fuzzy +#| msgid "" +#| "GNUnet developers with git (write) access can become members to " +#| "participate in the decision process and formally support GNUnet e.V. For " +#| "this, all you have to do is update the members.txt file in the " +#| "gnunet-ev " +#| "repository. There are no membership dues; however, members are required " +#| "to support GNUnet e.V. and in particularly contribute to the technical " +#| "development within their means. For further details, we refer to the Satzung (currently " +#| "only available in German, translations welcome)." msgid "" "GNUnet developers with git (write) access can become members to participate " "in the decision process and formally support GNUnet e.V. For this, all you " @@ -948,8 +989,8 @@ msgid "" "membership dues; however, members are required to support GNUnet e.V. and in " "particularly contribute to the technical development within their means. For " "further details, we refer to the Satzung (currently only available in German, translations " -"welcome)." +"git/\">Satzung (Charter) (currently only available in German, " +"translations welcome)." msgstr "" "Gli sviluppatori di GNUnet con accesso git (scrittura) possono diventare " "membri per partecipare al processo decisionale e sostenere formalmente " @@ -957,32 +998,41 @@ msgstr "" "nell'archivio gnunet-ev. Non ci sono quote associative. Tuttavia, i membri devono sostenere " "GNUnet e.V. e soprattutto contribuire allo sviluppo tecnico secondo le " -"proprie possibilità. Per maggiori informazioni, consultare lo Satzung (attualmente disponibile solo " -"in tedesco, sono ben accette traduzioni)." +"proprie possibilità. Per maggiori informazioni, consultare lo Satzung (attualmente " +"disponibile solo in tedesco, sono ben accette traduzioni)." #: template/ev.html.j2:52 msgid "Governance" msgstr "Governance" #: template/ev.html.j2:54 -msgid "" -"You can find our \"Satzung\", and the list of members under https://git.gnunet." -"org/gnunet-ev.git/tree/satzung.tex. The current board consists of: " +#, fuzzy +#| msgid "" +#| "You can find our \"Satzung\", and the list of members under https://git." +#| "gnunet.org/gnunet-ev.git/tree/satzung.tex. The current board consists " +#| "of:
      Vorsitz
      Martin " +#| "Schanzenbach
      stellvertretender Vorsitz
      t3sserakt
      Kassenwart
      Florian Dold
      Beisitzer
      Christian Grothoff, ch3
      " +msgid "" +"You can find our charter, and the list of members under https://git.gnunet.org/" +"gnunet-ev.git/tree/satzung.tex. The current board consists of: " "
      Vorsitz
      Martin " "Schanzenbach
      stellvertretender Vorsitz
      t3sserakt
      " "
      Kassenwart
      Florian Dold
      Beisitzer
      Christian Grothoff, ch3
      " msgstr "" -"Il nostro \"Satzung\" e l'elenco dei membri è disponibile su https://git.gnunet.org/" -"gnunet-ev.git/tree/satzung.tex. Il consiglio direttivo attuale è " +"Il nostro \"Satzung\" e l'elenco dei membri è disponibile su https://git.gnunet." +"org/gnunet-ev.git/tree/satzung.tex. Il consiglio direttivo attuale è " "composto da:
      Vorsitz
      Martin " -"Schanzenbach
      stellvertretender " -"Vorsitz
      t3sserakt
      Kassenwart
      Florian " -"Dold
      Beisitzer
      Christian Grothoff, ch3
      " +"Schanzenbach
      stellvertretender Vorsitz
      t3sserakt
      Kassenwart
      Florian Dold
      Beisitzer
      Christian Grothoff, ch3
      " #: template/ev.html.j2:73 msgid "Official Meeting Notes" @@ -1011,9 +1061,9 @@ msgstr "" "riportate qui di seguito. Ricordiamo che non possiamo fornire ricevute per " "le donazioni. Se hai intenzione di donare un importo notevole, prima di " "farlo contattaci, poiché potrebbe convenire concludere un accordo " -"personalizzato. " -"
      BitCoin
      1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh
      SEPA/" -"IBAN
      DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)
      " +"personalizzato.
      BitCoin
      1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh
      SEPA/IBAN
      DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)
      " #: template/faq.html.j2:12 template/faq.html.j2:23 msgid "General" @@ -1131,8 +1181,8 @@ msgid "" "nse" section of your configuration file to a higher value. The default " "is "5 ms"." msgstr "" -"R: All'inizio il processo gnunet-service-nse computerà una cosiddetta "" -";proof-of-work", affinché la rete riconosca che il peer è reale (o, " +"R: All'inizio il processo gnunet-service-nse computerà una cosiddetta "" +"proof-of-work", affinché la rete riconosca che il peer è reale (o, " "meglio, per renderlo troppo dispendioso perché un nemico organizzi un " "attacco di Sybil allo strumento che stima le dimensioni della rete). Il " "calcolo dovrebbe avvenire in qualche giorno, a seconda della velocità della " @@ -1192,8 +1242,8 @@ msgstr "" "ancora pronto perché possa essere usato da altri, al di fuori degli " "sviluppatori. La sua efficacia varia a seconda della funzionalità " "utilizzata, ma probabilmente riscontrerai problemi con il nostro attuale " -"sistema di trasporto di livello base. Al momento lo stiamo riscrivendo (" -"Projetto "Transport Next Generation [TNG]")" +"sistema di trasporto di livello base. Al momento lo stiamo riscrivendo " +"(Projetto "Transport Next Generation [TNG]")" #: template/faq.html.j2:136 msgid "Is GNUnet build using distributed ledger technologies?" @@ -1251,11 +1301,17 @@ msgid "Is it possible to access GNUnet via a browser as an anonymous WWW?" msgstr "Si può accedere a GNUnet tramite una navigazione in incognito?" #: template/faq.html.j2:183 +#, fuzzy +#| msgid "" +#| "A: There is currently no proxy (like fproxy in Freenet) for GNUnet that " +#| "would make it accessible with a browser. It is possible to build such a " +#| "proxy and all one needs to know is the protocol used between browser and " +#| "proxy and a swift look at the GNUnet code for file-sharing." msgid "" "A: There is currently no proxy (like fproxy in Freenet) for GNUnet that " -"would make it accessible with a browser. It is possible to build such a " -"proxy and all one needs to know is the protocol used between browser and " -"proxy and a swift look at the GNUnet code for file-sharing." +"would make it accessible via a browser. It is possible to build such a proxy " +"and all one needs to know is the protocol used between the browser and the " +"proxy and the GNUnet code for file-sharing." msgstr "" "A: Attualmente non c'è un proxy (come fproxy di Freenet) per GNUnet che " "potrebbe permettervi l'accesso con un browser. E' possibile creare un proxy " @@ -1281,11 +1337,13 @@ msgstr "" "necessario installare il pacchetto gnunet-gtk, che bisogna scaricare a " "parte. gnunet-gtk è un'interfaccia grafica utente che integra la maggior " "parte delle altre interfacce grafiche in una finestra. gnunet-setup è " -"un'eccezione, perché attualmente deve ancora essere eseguita separatamente (" -"dato che per installarla è necessario fermare il peer)." +"un'eccezione, perché attualmente deve ancora essere eseguita separatamente " +"(dato che per installarla è necessario fermare il peer)." #: template/faq.html.j2:210 -msgid "On top of which operating systems does GNUnet run?" +#, fuzzy +#| msgid "On top of which operating systems does GNUnet run?" +msgid "Which operating systems does GNUnet run on?" msgstr "Su quale sistema operativo si esegue GNUnet?" #: template/faq.html.j2:212 @@ -1393,7 +1451,9 @@ msgstr "" "delegata a questa conquisterà la propria risoluzione." #: template/faq.html.j2:286 -msgid "How does GNS compare to other name systems" +#, fuzzy +#| msgid "How does GNS compare to other name systems" +msgid "How does GNS compare to other name systems?" msgstr "Qual è la differenza tra GNS e altri sistemi di nomi di dominio?" #: template/faq.html.j2:288 @@ -1402,8 +1462,8 @@ msgid "" "ns2018.pdf\">has been published and below is a table from the " "publication. For detailed descriptions please refer to the paper." msgstr "" -"R: Un documento scientifico riguardo questo argomento è stato pubblicato e più avanti " +"R: Un documento scientifico riguardo questo argomento è stato pubblicato e più avanti " "c'è una tabella di questa pubblicazione. Per descrizioni più dettagliate per " "piacere fare riferimento al documento." @@ -1412,24 +1472,34 @@ msgid "What is the difference between GNS and CoDoNS?" msgstr "Qual è la differenza tra GNS e CoDoNS?" #: template/faq.html.j2:394 +#, fuzzy +#| msgid "" +#| "A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the " +#| "authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, " +#| "and there are still registrars that determine who owns a name.

      " +#| "With GNS, we decentralize the database and also decentralize the " +#| "responsibility for naming: each user runs his own personal root zone and " +#| "is thus in complete control of the names he uses. GNS also has many " +#| "additional features (to keep names short and enable migration) which " +#| "don't even make sense in the context of CoDoNS." msgid "" "A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the " "authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, and " "there are still registrars that determine who owns a name.

      With " "GNS, we decentralize the database and also decentralize the responsibility " -"for naming: each user runs his own personal root zone and is thus in " -"complete control of the names he uses. GNS also has many additional features " -"(to keep names short and enable migration) which don't even make sense in " -"the context of CoDoNS." +"for naming: each user runs their own personal root zone and is thus in " +"complete control of the names they use. GNS also has many additional " +"features (to keep names short and enable migration) which don't even make " +"sense in the context of CoDoNS." msgstr "" "R: CoDoNS decentralizza il database DNS (usando un DHT) ma preserva la " "struttura autoritaria di un DNS. Con CoDoNS, IANA/ICANN sono ancora sotto " "controllo, e ci sono anche processi che determinano chi possiede un nome. " "

      Con GNS, noi decentralizziamo il database e la responsabilità di " "nominare: ogni utente amministra la propria zona radicale e questo è in " -"completo controllo dei nomi che usa. GNS ha anche molte qualità addizionali (" -"mantenere i nomi brevi e abilitare migrazioni) le quali non hanno alcun tipo " -"di senso nel contesto di CoDoNS." +"completo controllo dei nomi che usa. GNS ha anche molte qualità addizionali " +"(mantenere i nomi brevi e abilitare migrazioni) le quali non hanno alcun " +"tipo di senso nel contesto di CoDoNS." #: template/faq.html.j2:410 msgid "What is the difference between GNS and SocialDNS?" @@ -1475,13 +1545,21 @@ msgid "What is the difference between GNS and Handshake?" msgstr "Qual è la differenza tra GNS e Handshake?" #: template/faq.html.j2:441 +#, fuzzy +#| msgid "" +#| "A: Handshake is a blockchain-based method for root zone governance. " +#| "Hence, it does not address the name resolution process itself but " +#| "delegates resolution into DNS after the initial TLD resolution. Not " +#| "taking sustainablility considerations into account, handshake could be " +#| "used as an additional supporting GNS root zone governance model but we " +#| "currently do not have such plans in mind." msgid "" "A: Handshake is a blockchain-based method for root zone governance. Hence, " "it does not address the name resolution process itself but delegates " "resolution into DNS after the initial TLD resolution. Not taking " -"sustainablility considerations into account, handshake could be used as an " -"additional supporting GNS root zone governance model but we currently do not " -"have such plans in mind." +"sustainablility considerations into account, Handshake could be used as an " +"additional supporting GNS root zone governance model, but we currently do " +"not have such plans in mind." msgstr "" "R: Handshake è un metodo per la governance della zona radice basato su " "blockchain. Quindi non si occupa del processo della risoluzione dei nomi in " @@ -1563,10 +1641,10 @@ msgid "" msgstr "" "R: Su GNS i nomi non hanno proprietari, quindi non ci possono essere dei " "proprietari di dominio "legittimi". Qualsiasi utente può " -"rivendicare qualsiasi nome (come suo nome preferito o "pseudonimo")" -" nel suo registro NICK. Allo stesso modo, tutti gli altri utenti possono " -"decidere di ignorare questa preferenza e impostare un nome a loro scelta per " -"questo utente (o, addirittura, non assegnare alcun nome)." +"rivendicare qualsiasi nome (come suo nome preferito o "" +"pseudonimo") nel suo registro NICK. Allo stesso modo, tutti gli altri " +"utenti possono decidere di ignorare questa preferenza e impostare un nome a " +"loro scelta per questo utente (o, addirittura, non assegnare alcun nome)." #: template/faq.html.j2:498 msgid "" @@ -2065,11 +2143,21 @@ msgstr "" "leggere i documenti di ricerca (e probabilmente anche il codice)." #: template/faq.html.j2:915 +#, fuzzy +#| msgid "" +#| "Another important point of reference are the various anonymous peer-to-" +#| "peer networks. Here, there are differences in terms of application domain " +#| "and how specifically anonymity is achieved. Anonymous routing is a hard " +#| "research topic, so for a superficial comparisson like this one we focus " +#| "on the latency. Another important factor is the programming language. " +#| "Type-safe languages may offer certain security benefits; however, this " +#| "may come at the cost of significant increases in resource consumption " +#| "which in turn may reduce anonymity." msgid "" "Another important point of reference are the various anonymous peer-to-peer " "networks. Here, there are differences in terms of application domain and how " "specifically anonymity is achieved. Anonymous routing is a hard research " -"topic, so for a superficial comparisson like this one we focus on the " +"topic, so for a superficial comparison like this one we focus on the " "latency. Another important factor is the programming language. Type-safe " "languages may offer certain security benefits; however, this may come at the " "cost of significant increases in resource consumption which in turn may " @@ -2359,9 +2447,9 @@ msgid "" "resolution
    14. Compatibility with DNS
    15. " msgstr "" "Lo GNU Name System (GNS) è un sistema di nomi sicuro e decentralizzato. " -"Permette agli utenti di registrare i nomi come domini di primo livello (TLD -" -" Top Level Domain) e risolvere altri spazi dei nomi all'interno dei TLD.
      GNS è progettato per fornire:
    " msgstr "" -"回答:GNS は、レイヤー 3 の検閲には直接対応しませんが、次の 2 つの方法で間接的に対応します。
    1. 今日では、多くの Web " -"サイトが仮想ホスティングを使用しているため、特定の IP アドレスをブロックすると、DNS " -"名をブロックするよりもはるかに多くの被害が発生します。そのため、検閲コストも上昇します。
    2. 既存のレイヤー 3 回避策(Tor " -"など)は、検閲耐性のある命名システムによる利点があります。Tor の「." -"onion」ネームスペースへのアクセスは現在、ユーザーに非記憶型の暗号化識別子を利用することを要しています。名前が向上すれば、Tor や tor2web " +"回答:GNS は、レイヤー 3 の検閲には直接対応しませんが、次の 2 つの方法で間接" +"的に対応します。
      1. 今日では、多くの Web サイトが仮想ホスティングを使用し" +"ているため、特定の IP アドレスをブロックすると、DNS 名をブロックするよりもは" +"るかに多くの被害が発生します。そのため、検閲コストも上昇します。
      2. 既" +"存のレイヤー 3 回避策(Tor など)は、検閲耐性のある命名システムによる利点があ" +"ります。Tor の「.onion」ネームスペースへのアクセスは現在、ユーザーに非記憶型" +"の暗号化識別子を利用することを要しています。名前が向上すれば、Tor や tor2web " "のようなサービスはより使いやすくなるでしょう。
      " #: template/faq.html.j2:634 @@ -1642,14 +1788,19 @@ msgid "" "breaks the cryptographic chain of trust, legacy search engines will " "obviously not obtain censorship-resistant names." msgstr "" -"回答:GNS を使用して名前解決やあらゆる標準ユーザーを実行できるため、検索エンジンに大きな問題はありません。通常、標準ユーザーは、カスタムのソフトウェア" -"をインストールして名前解決すると考えられますが、現在この方法は検索エンジンでは使えません。ただし、DNS2GNS ゲートウェイにより検索エンジンが " -"DNS を使用して GNS 名を解決できるため、GNS リソースのインデックスは可能です。しかし、DNS2GNS " -"ゲートウェイの利用は暗号化による信頼の連鎖を崩すため、レガシーの検索エンジンは検閲耐性のある名前を取得できません。" +"回答:GNS を使用して名前解決やあらゆる標準ユーザーを実行できるため、検索エン" +"ジンに大きな問題はありません。通常、標準ユーザーは、カスタムのソフトウェアを" +"インストールして名前解決すると考えられますが、現在この方法は検索エンジンでは" +"使えません。ただし、DNS2GNS ゲートウェイにより検索エンジンが DNS を使用して " +"GNS 名を解決できるため、GNS リソースのインデックスは可能です。しかし、" +"DNS2GNS ゲートウェイの利用は暗号化による信頼の連鎖を崩すため、レガシーの検索" +"エンジンは検閲耐性のある名前を取得できません。" #: template/faq.html.j2:650 msgid "How does GNS compare to the Unmanaged Internet Architecture (UIA)?" -msgstr "GNS はアンマネージド インターネット アーキテクチャ(UIA)とどのように比較されますか?" +msgstr "" +"GNS はアンマネージド インターネット アーキテクチャ(UIA)とどのように比較され" +"ますか?" #: template/faq.html.j2:652 msgid "" @@ -1661,10 +1812,12 @@ msgid "" "possible with the existing Web infrastructure. UIA is not at all concerned " "about legacy systems (clean slate)." msgstr "" -"回答:UIA と GNS は、どちらも同じ基本命名モデルを共有しており、これは実際 Rivest の SDSI に由来しています。しかし、UIA " -"はレガシー アプリケーションとの統合は考慮せず、ユーザーの複数マシン間における汎用性のあるコネクティビティに注力しています。一方、GNS は DNS " -"との相互運用に加え、既存の Web インフラとの親和性を最大限に考慮して設計されています。UIA " -"はレガシーシステムを全く考慮していません(クリーンスレート)。" +"回答:UIA と GNS は、どちらも同じ基本命名モデルを共有しており、これは実際 " +"Rivest の SDSI に由来しています。しかし、UIA はレガシー アプリケーションとの" +"統合は考慮せず、ユーザーの複数マシン間における汎用性のあるコネクティビティに" +"注力しています。一方、GNS は DNS との相互運用に加え、既存の Web インフラとの" +"親和性を最大限に考慮して設計されています。UIA はレガシーシステムを全く考慮し" +"ていません(クリーンスレート)。" #: template/faq.html.j2:665 msgid "Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?" @@ -1679,15 +1832,19 @@ msgid "" "given the name length restriction, for an individual name it is always less " "than about 128 entities." msgstr "" -"回答:まず、GNS では信頼チェーンを明示的に確認することができるため、解決する名前の所有者が友人または友人の友人であるなどを把握でき、結果がどの程度信頼" -"できるかが分かります。この方法ではトラステッド コンピューティング " -"ベース(TCB)が恣意的に大規模になりえますが、名前の長さに制限があるため、大抵の場合、個別の名前は約 128 エンティティ以内です。" +"回答:まず、GNS では信頼チェーンを明示的に確認することができるため、解決する" +"名前の所有者が友人または友人の友人であるなどを把握でき、結果がどの程度信頼で" +"きるかが分かります。この方法ではトラステッド コンピューティング ベース(TCB)" +"が恣意的に大規模になりえますが、名前の長さに制限があるため、大抵の場合、個別" +"の名前は約 128 エンティティ以内です。" #: template/faq.html.j2:679 msgid "" "How does GNS handle SRV/TLSA records where service and protocol are part of " "the domain name?" -msgstr "GNS は、サービスとプロトコルがドメイン名の一部である SRV / TLSA レコードをどのように処理しますか?" +msgstr "" +"GNS は、サービスとプロトコルがドメイン名の一部である SRV / TLSA レコードをど" +"のように処理しますか?" #: template/faq.html.j2:681 msgid "" @@ -1700,10 +1857,13 @@ msgid "" "TLSA records) and adds a service and protocol number (and the original boxed " "record type) to it." msgstr "" -"回答:GNS が解決のためにドメイン名をラベルに分割すると、「_ Service._Proto」構文が検出され、「Service」が対応するポート番号に変" -"換、「Proto」が対応するプロトコル番号に変換されます。また、名前のその他の部分は通常通り解決されます。その後、結果が表示された際、GNS は GNS " -"特有の「BOX」レコード種別を検索します。BOX レコードは、別のレコード(SRV や TLSA " -"レコードなど)を含むレコードを指し、サービスやプロトコル番号(また、オリジナルのボックス型レコードタイプ)を追加します。" +"回答:GNS が解決のためにドメイン名をラベルに分割すると、「_ Service._Proto」" +"構文が検出され、「Service」が対応するポート番号に変換、「Proto」が対応するプ" +"ロトコル番号に変換されます。また、名前のその他の部分は通常通り解決されます。" +"その後、結果が表示された際、GNS は GNS 特有の「BOX」レコード種別を検索しま" +"す。BOX レコードは、別のレコード(SRV や TLSA レコードなど)を含むレコードを" +"指し、サービスやプロトコル番号(また、オリジナルのボックス型レコードタイプ)" +"を追加します。" #: template/faq.html.j2:697 msgid "" @@ -1733,15 +1893,17 @@ msgstr "`/dev/net/tun': No such file or directory のエラーとなります。 msgid "" "A: If you get this error message, the solution is simple. Issue the " "following commands (as root) to create the required device file" -msgstr "回答:このエラーメッセージが表示された場合の解決策は簡単です。次のコマンドを(ルートとして)実行し、必要なデバイスファイルを作成してください。" +msgstr "" +"回答:このエラーメッセージが表示された場合の解決策は簡単です。次のコマンドを" +"(ルートとして)実行し、必要なデバイスファイルを作成してください。" #: template/faq.html.j2:722 msgid "" "'iptables: No chain/target/match by that name.' (when running gnunet-service-" "dns)?" msgstr "" -"'iptables: No chain/target/match by that name.' (gnunet-service-dns " -"を実行している場合)" +"'iptables: No chain/target/match by that name.' (gnunet-service-dns を実行し" +"ている場合)" #: template/faq.html.j2:724 msgid "" @@ -1750,25 +1912,30 @@ msgid "" "your kernel has CONFIG_NETFILTER_XT_MATCH_OWNER set to either 'y' or " "'m' (and the module is loaded)." msgstr "" -"回答:GNUnet DNS の場合、iptables " -"には「所有者」の一致サポートが必要です。これにはカーネルオプションが正しく設定されていることが必要となります。カーネルの " -"CONFIG_NETFILTER_XT_MATCH_OWNER " -"が「y」または「m」に設定されているか(またモジュールがロードされているか)確認してください。" +"回答:GNUnet DNS の場合、iptables には「所有者」の一致サポートが必要です。こ" +"れにはカーネルオプションが正しく設定されていることが必要となります。カーネル" +"の CONFIG_NETFILTER_XT_MATCH_OWNER が「y」または「m」に設定されているか(また" +"モジュールがロードされているか)確認してください。" #: template/faq.html.j2:736 msgid "'Timeout was reached' when running PT on Fedora (and possibly others)?" -msgstr "Fedora で PT を実行すると(他でも発生の可能性)「Timeout was reached(タイムアウトとなりました)」となります。" +msgstr "" +"Fedora で PT を実行すると(他でも発生の可能性)「Timeout was reached(タイム" +"アウトとなりました)」となります。" #: template/faq.html.j2:738 msgid "" "A: If you get an error stating that the VPN timeout was reached, check if " "your firewall is enabled and blocking the connections." -msgstr "回答:VPN タイムアウトのエラーが表示された場合は、ファイアウォールが有効となり接続がブロックされていないかを確認してください。" +msgstr "" +"回答:VPN タイムアウトのエラーが表示された場合は、ファイアウォールが有効とな" +"り接続がブロックされていないかを確認してください。" #: template/faq.html.j2:746 msgid "" "I'm getting an 'error while loading shared libraries: libgnunetXXX.so.X'" -msgstr "「共有ライブラリのロード中にエラーが発生:libgnunetXXX.so.X」が表示されます。" +msgstr "" +"「共有ライブラリのロード中にエラーが発生:libgnunetXXX.so.X」が表示されます。" #: template/faq.html.j2:748 msgid "" @@ -1842,7 +2009,7 @@ msgid "" "Another important point of reference are the various anonymous peer-to-peer " "networks. Here, there are differences in terms of application domain and how " "specifically anonymity is achieved. Anonymous routing is a hard research " -"topic, so for a superficial comparisson like this one we focus on the " +"topic, so for a superficial comparison like this one we focus on the " "latency. Another important factor is the programming language. Type-safe " "languages may offer certain security benefits; however, this may come at the " "cost of significant increases in resource consumption which in turn may " @@ -3087,8 +3254,8 @@ msgid "" "that we can add it to this list. Furthermore, if you are interested in " "packaging GNUnet for your Operating System, get in touch with us at gnunet-" "developers@gnu.org if you require help with this job. If you were using an " -"Operating System with the Alpine package manager, GNUnet could be installed " -"as simple as:" +"Operating System with the APT package manager, GNUnet could be installed as " +"simple as:" msgstr "" #: template/install.html.j2:61 @@ -3120,7 +3287,7 @@ msgid "" msgstr "" #: template/install.html.j2:98 -msgid "Alternatively, get the sources from git by entering:" +msgid "To compile gnunet from the git source you can do so by entering:" msgstr "" #: template/install.html.j2:106 @@ -3233,3 +3400,6 @@ msgstr "" #: template/video.html.j2:12 msgid "Videos related to GNUnet" msgstr "" + +#~ msgid "Living Standards" +#~ msgstr "規格や標準" diff --git a/locale/ko/LC_MESSAGES/messages.po b/locale/ko/LC_MESSAGES/messages.po index ea357201..c8762327 100644 --- a/locale/ko/LC_MESSAGES/messages.po +++ b/locale/ko/LC_MESSAGES/messages.po @@ -7,11 +7,11 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-12 16:12+0100\n" +"POT-Creation-Date: 2021-04-28 14:41+0200\n" "PO-Revision-Date: 2021-04-11 02:59+0000\n" "Last-Translator: Chaewon Park \n" -"Language-Team: Korean " -"\n" +"Language-Team: Korean \n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,7 +32,7 @@ msgstr "안전한 p2p 네트워킹을 위한 GNU의 프레임워크" msgid "Contact" msgstr "연락처" -#: common/footer.j2.inc:8 common/navigation.j2.inc:49 +#: common/footer.j2.inc:8 msgid "GNUnet e.V." msgstr "" @@ -147,10 +147,6 @@ msgstr "용어 사전" msgid "Handbook" msgstr "핸드북" -#: common/navigation.j2.inc:87 template/livingstandards.html.j2:8 -msgid "Living Standards" -msgstr "생활 수준" - #: common/navigation.j2.inc:88 msgid "REST API" msgstr "" @@ -193,9 +189,11 @@ msgid "" "secure publication of files, it has grown to include all kinds of basic " "protocol components and applications towards the creation of a GNU internet." msgstr "" -"GNUnet은 안전하고 분권적이며 개인 정보를 보호할 수 있는 분산형 어플리케이션을 만들기 위한 대체적 네트워크 스택입니다. 우리의 " -"목표는 오래되어 안전하지 않은 인터넷 프로토콜 스택을 대체하는 것입니다. 우리는 파일의 안전한 게시를 위한 응용 프로그램에서부터 " -"시작하여, GNU 인터넷 생성을 위한 모든 종류의 기본 프로토콜 구성요소와 응용 프로그램을 포함하게 되기까지 성장했습니다." +"GNUnet은 안전하고 분권적이며 개인 정보를 보호할 수 있는 분산형 어플리케이션" +"을 만들기 위한 대체적 네트워크 스택입니다. 우리의 목표는 오래되어 안전하지 않" +"은 인터넷 프로토콜 스택을 대체하는 것입니다. 우리는 파일의 안전한 게시를 위" +"한 응용 프로그램에서부터 시작하여, GNU 인터넷 생성을 위한 모든 종류의 기본 프" +"로토콜 구성요소와 응용 프로그램을 포함하게 되기까지 성장했습니다." #: template/about.html.j2:23 msgid "" @@ -205,9 +203,10 @@ msgid "" "hierarchy and when necessary isolated from the rest of the world, the " "situation is less tenable for civil society." msgstr "" -"오늘날, 글로벌 네트워크를 사람들이 이용하는 방식과 그에 따라 네트워크에 주어지는 사회적 책임은, 1970년의 그것과는 매우 다릅니다. " -"위계에 의해 네트워크 장비가 운용되고 외부 사회와 격리되어 있는 군대에서 사용하기에는 인터넷이 여전히 유용할지 모르지만, 시민 사회에서의 " -"상황은 달라졌습니다." +"오늘날, 글로벌 네트워크를 사람들이 이용하는 방식과 그에 따라 네트워크에 주어" +"지는 사회적 책임은, 1970년의 그것과는 매우 다릅니다. 위계에 의해 네트워크 장" +"비가 운용되고 외부 사회와 격리되어 있는 군대에서 사용하기에는 인터넷이 여전" +"히 유용할지 모르지만, 시민 사회에서의 상황은 달라졌습니다." #: template/about.html.j2:32 msgid "" @@ -383,7 +382,7 @@ msgid "" "replacement for the Domain Name System (DNS). Instead of using a hierarchy, " "GNS uses a directed graph. Naming conventions are similar to DNS, but " "queries and replies are private even with respect to peers providing the " -"answers. The integrity of records and privacy of look-ups is " +"answers. The integrity of records and privacy of look-ups are " "cryptographically secured. " msgstr "" @@ -469,8 +468,8 @@ msgstr "" msgid "" "Cadet-GTK is a " "convenient but feature-rich graphical application providing messaging using " -"especially the CADET subsystem. It is developed using GTK and libhandy for a " -"convergent design." +"the CADET subsystem. It is developed using GTK and libhandy for a convergent " +"design." msgstr "" #: template/applications.html.j2:180 @@ -480,9 +479,8 @@ msgstr "" #: template/applications.html.j2:182 msgid "" "groupchat is a " -"terminal user interface providing messaging using especially the CADET " -"subsystem. It is developed using nim. Cadet-GTK and groupchat are planned to " -"be compatible." +"terminal user interface providing messaging using the CADET subsystem. It is " +"developed using nim. Cadet-GTK and groupchat are planned to be compatible." msgstr "" #: template/architecture.html.j2:6 @@ -498,7 +496,7 @@ msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " "end-to-end encrypted messaging layer (CADET), a public key infrastructure " "(GNS) and a pluggable transport system (TRANSPORT).
      Using public keys " -"for addresses and self-organized decentralized routing algorithms, these " +"for addresses and self-organizing decentralized routing algorithms, these " "subsystems replace the traditional TCP/IP stack." msgstr "" @@ -509,7 +507,7 @@ msgstr "" #: template/architecture.html.j2:38 msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " -"runs as a separate process, providing fault-isolation and enabling tight " +"runs as a separate process, providing fault isolation and enabling tight " "permissions to be granted to each subsystem. Naturally, the implementation " "is a GNU package, and will always " "remain free software." @@ -751,8 +749,8 @@ msgid "" "membership dues; however, members are required to support GNUnet e.V. and in " "particularly contribute to the technical development within their means. For " "further details, we refer to the Satzung (currently only available in German, translations " -"welcome)." +"git/\">Satzung (Charter) (currently only available in German, " +"translations welcome)." msgstr "" #: template/ev.html.j2:52 @@ -761,9 +759,9 @@ msgstr "" #: template/ev.html.j2:54 msgid "" -"You can find our \"Satzung\", and the list of members under https://git.gnunet." -"org/gnunet-ev.git/tree/satzung.tex. The current board consists of: " +"You can find our charter, and the list of members under https://git.gnunet.org/" +"gnunet-ev.git/tree/satzung.tex. The current board consists of: " "
      Vorsitz
      Martin " "Schanzenbach
      stellvertretender Vorsitz
      t3sserakt
      " "
      Kassenwart
      Florian Dold
      Beisitzer

      With " "GNS, we decentralize the database and also decentralize the responsibility " -"for naming: each user runs his own personal root zone and is thus in " -"complete control of the names he uses. GNS also has many additional features " -"(to keep names short and enable migration) which don't even make sense in " -"the context of CoDoNS." +"for naming: each user runs their own personal root zone and is thus in " +"complete control of the names they use. GNS also has many additional " +"features (to keep names short and enable migration) which don't even make " +"sense in the context of CoDoNS." msgstr "" #: template/faq.html.j2:410 @@ -1121,9 +1119,9 @@ msgid "" "A: Handshake is a blockchain-based method for root zone governance. Hence, " "it does not address the name resolution process itself but delegates " "resolution into DNS after the initial TLD resolution. Not taking " -"sustainablility considerations into account, handshake could be used as an " -"additional supporting GNS root zone governance model but we currently do not " -"have such plans in mind." +"sustainablility considerations into account, Handshake could be used as an " +"additional supporting GNS root zone governance model, but we currently do " +"not have such plans in mind." msgstr "" #: template/faq.html.j2:453 @@ -1501,7 +1499,7 @@ msgid "" "Another important point of reference are the various anonymous peer-to-peer " "networks. Here, there are differences in terms of application domain and how " "specifically anonymity is achieved. Anonymous routing is a hard research " -"topic, so for a superficial comparisson like this one we focus on the " +"topic, so for a superficial comparison like this one we focus on the " "latency. Another important factor is the programming language. Type-safe " "languages may offer certain security benefits; however, this may come at the " "cost of significant increases in resource consumption which in turn may " @@ -2746,8 +2744,8 @@ msgid "" "that we can add it to this list. Furthermore, if you are interested in " "packaging GNUnet for your Operating System, get in touch with us at gnunet-" "developers@gnu.org if you require help with this job. If you were using an " -"Operating System with the Alpine package manager, GNUnet could be installed " -"as simple as:" +"Operating System with the APT package manager, GNUnet could be installed as " +"simple as:" msgstr "" #: template/install.html.j2:61 @@ -2779,7 +2777,7 @@ msgid "" msgstr "" #: template/install.html.j2:98 -msgid "Alternatively, get the sources from git by entering:" +msgid "To compile gnunet from the git source you can do so by entering:" msgstr "" #: template/install.html.j2:106 @@ -2892,3 +2890,6 @@ msgstr "" #: template/video.html.j2:12 msgid "Videos related to GNUnet" msgstr "" + +#~ msgid "Living Standards" +#~ msgstr "생활 수준" diff --git a/locale/messages.pot b/locale/messages.pot index e218f8d4..3d5caad7 100644 --- a/locale/messages.pot +++ b/locale/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-12 16:12+0100\n" +"POT-Creation-Date: 2021-04-28 14:41+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,7 +29,7 @@ msgstr "" msgid "Contact" msgstr "" -#: common/footer.j2.inc:8 common/navigation.j2.inc:49 +#: common/footer.j2.inc:8 msgid "GNUnet e.V." msgstr "" @@ -144,10 +144,6 @@ msgstr "" msgid "Handbook" msgstr "" -#: common/navigation.j2.inc:87 template/livingstandards.html.j2:8 -msgid "Living Standards" -msgstr "" - #: common/navigation.j2.inc:88 msgid "REST API" msgstr "" @@ -380,8 +376,8 @@ msgid "" "using a hierarchy, GNS uses a directed graph. Naming conventions are " "similar to DNS, but queries and replies are private even with respect to " "peers providing the answers. The integrity of records and privacy of " -"look-ups is cryptographically secured. " +"look-ups are cryptographically secured. " msgstr "" #: template/applications.html.j2:38 @@ -466,8 +462,8 @@ msgstr "" msgid "" "
      Cadet-GTK " "is a convenient but feature-rich graphical application providing " -"messaging using especially the CADET subsystem. It is developed using GTK" -" and libhandy for a convergent design." +"messaging using the CADET subsystem. It is developed using GTK and " +"libhandy for a convergent design." msgstr "" #: template/applications.html.j2:180 @@ -477,9 +473,9 @@ msgstr "" #: template/applications.html.j2:182 msgid "" "groupchat is a " -"terminal user interface providing messaging using especially the CADET " -"subsystem. It is developed using nim. Cadet-GTK and groupchat are planned" -" to be compatible." +"terminal user interface providing messaging using the CADET subsystem. It" +" is developed using nim. Cadet-GTK and groupchat are planned to be " +"compatible." msgstr "" #: template/architecture.html.j2:6 @@ -495,8 +491,8 @@ msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-" "like end-to-end encrypted messaging layer (CADET), a public key " "infrastructure (GNS) and a pluggable transport system (TRANSPORT).
      " -"Using public keys for addresses and self-organized decentralized routing " -"algorithms, these subsystems replace the traditional TCP/IP stack." +"Using public keys for addresses and self-organizing decentralized routing" +" algorithms, these subsystems replace the traditional TCP/IP stack." msgstr "" #: template/architecture.html.j2:35 @@ -506,7 +502,7 @@ msgstr "" #: template/architecture.html.j2:38 msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " -"runs as a separate process, providing fault-isolation and enabling tight " +"runs as a separate process, providing fault isolation and enabling tight " "permissions to be granted to each subsystem. Naturally, the " "implementation is a GNU package, and" " will always remain free software." @@ -753,8 +749,8 @@ msgid "" "repository. There are no membership dues; however, members are required " "to support GNUnet e.V. and in particularly contribute to the technical " "development within their means. For further details, we refer to the Satzung (currently " -"only available in German, translations welcome)." +"href=\"https://git.gnunet.org/gnunet-ev.git/\">Satzung (Charter) " +"(currently only available in German, translations welcome)." msgstr "" #: template/ev.html.j2:52 @@ -763,7 +759,7 @@ msgstr "" #: template/ev.html.j2:54 msgid "" -"You can find our \"Satzung\", and the list of members under https://git.gnunet.org/gnunet-" "ev.git/tree/satzung.tex. The current board consists of: " @@ -980,9 +976,9 @@ msgstr "" #: template/faq.html.j2:183 msgid "" "A: There is currently no proxy (like fproxy in Freenet) for GNUnet that " -"would make it accessible with a browser. It is possible to build such a " -"proxy and all one needs to know is the protocol used between browser and " -"proxy and a swift look at the GNUnet code for file-sharing." +"would make it accessible via a browser. It is possible to build such a " +"proxy and all one needs to know is the protocol used between the browser " +"and the proxy and the GNUnet code for file-sharing." msgstr "" #: template/faq.html.j2:195 @@ -998,7 +994,7 @@ msgid "" msgstr "" #: template/faq.html.j2:210 -msgid "On top of which operating systems does GNUnet run?" +msgid "Which operating systems does GNUnet run on?" msgstr "" #: template/faq.html.j2:212 @@ -1073,7 +1069,7 @@ msgid "" msgstr "" #: template/faq.html.j2:286 -msgid "How does GNS compare to other name systems" +msgid "How does GNS compare to other name systems?" msgstr "" #: template/faq.html.j2:288 @@ -1094,8 +1090,8 @@ msgid "" "authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, " "and there are still registrars that determine who owns a name.

      " "With GNS, we decentralize the database and also decentralize the " -"responsibility for naming: each user runs his own personal root zone and " -"is thus in complete control of the names he uses. GNS also has many " +"responsibility for naming: each user runs their own personal root zone " +"and is thus in complete control of the names they use. GNS also has many " "additional features (to keep names short and enable migration) which " "don't even make sense in the context of CoDoNS." msgstr "" @@ -1136,8 +1132,8 @@ msgid "" "A: Handshake is a blockchain-based method for root zone governance. " "Hence, it does not address the name resolution process itself but " "delegates resolution into DNS after the initial TLD resolution. Not " -"taking sustainablility considerations into account, handshake could be " -"used as an additional supporting GNS root zone governance model but we " +"taking sustainablility considerations into account, Handshake could be " +"used as an additional supporting GNS root zone governance model, but we " "currently do not have such plans in mind." msgstr "" @@ -1519,11 +1515,11 @@ msgid "" "Another important point of reference are the various anonymous peer-to-" "peer networks. Here, there are differences in terms of application domain" " and how specifically anonymity is achieved. Anonymous routing is a hard " -"research topic, so for a superficial comparisson like this one we focus " -"on the latency. Another important factor is the programming language. " -"Type-safe languages may offer certain security benefits; however, this " -"may come at the cost of significant increases in resource consumption " -"which in turn may reduce anonymity." +"research topic, so for a superficial comparison like this one we focus on" +" the latency. Another important factor is the programming language. Type-" +"safe languages may offer certain security benefits; however, this may " +"come at the cost of significant increases in resource consumption which " +"in turn may reduce anonymity." msgstr "" #: template/faq.html.j2:928 @@ -2800,7 +2796,7 @@ msgid "" "it to this list. Furthermore, if you are interested in packaging GNUnet " "for your Operating System, get in touch with us at gnunet-" "developers@gnu.org if you require help with this job. If you were using " -"an Operating System with the Alpine package manager, GNUnet could be " +"an Operating System with the APT package manager, GNUnet could be " "installed as simple as:" msgstr "" @@ -2834,7 +2830,7 @@ msgid "" msgstr "" #: template/install.html.j2:98 -msgid "Alternatively, get the sources from git by entering:" +msgid "To compile gnunet from the git source you can do so by entering:" msgstr "" #: template/install.html.j2:106 diff --git a/locale/pt/LC_MESSAGES/messages.po b/locale/pt/LC_MESSAGES/messages.po index dc1ec5a9..d17fb86a 100644 --- a/locale/pt/LC_MESSAGES/messages.po +++ b/locale/pt/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-12 16:12+0100\n" +"POT-Creation-Date: 2021-04-28 14:41+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -29,7 +29,7 @@ msgstr "" msgid "Contact" msgstr "" -#: common/footer.j2.inc:8 common/navigation.j2.inc:49 +#: common/footer.j2.inc:8 msgid "GNUnet e.V." msgstr "" @@ -144,10 +144,6 @@ msgstr "" msgid "Handbook" msgstr "" -#: common/navigation.j2.inc:87 template/livingstandards.html.j2:8 -msgid "Living Standards" -msgstr "" - #: common/navigation.j2.inc:88 msgid "REST API" msgstr "" @@ -374,7 +370,7 @@ msgid "" "replacement for the Domain Name System (DNS). Instead of using a hierarchy, " "GNS uses a directed graph. Naming conventions are similar to DNS, but " "queries and replies are private even with respect to peers providing the " -"answers. The integrity of records and privacy of look-ups is " +"answers. The integrity of records and privacy of look-ups are " "cryptographically secured. " msgstr "" @@ -460,8 +456,8 @@ msgstr "" msgid "" "Cadet-GTK is a " "convenient but feature-rich graphical application providing messaging using " -"especially the CADET subsystem. It is developed using GTK and libhandy for a " -"convergent design." +"the CADET subsystem. It is developed using GTK and libhandy for a convergent " +"design." msgstr "" #: template/applications.html.j2:180 @@ -471,9 +467,8 @@ msgstr "" #: template/applications.html.j2:182 msgid "" "groupchat is a " -"terminal user interface providing messaging using especially the CADET " -"subsystem. It is developed using nim. Cadet-GTK and groupchat are planned to " -"be compatible." +"terminal user interface providing messaging using the CADET subsystem. It is " +"developed using nim. Cadet-GTK and groupchat are planned to be compatible." msgstr "" #: template/architecture.html.j2:6 @@ -489,7 +484,7 @@ msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " "end-to-end encrypted messaging layer (CADET), a public key infrastructure " "(GNS) and a pluggable transport system (TRANSPORT).
      Using public keys " -"for addresses and self-organized decentralized routing algorithms, these " +"for addresses and self-organizing decentralized routing algorithms, these " "subsystems replace the traditional TCP/IP stack." msgstr "" @@ -500,7 +495,7 @@ msgstr "" #: template/architecture.html.j2:38 msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " -"runs as a separate process, providing fault-isolation and enabling tight " +"runs as a separate process, providing fault isolation and enabling tight " "permissions to be granted to each subsystem. Naturally, the implementation " "is a GNU package, and will always " "remain free software." @@ -742,8 +737,8 @@ msgid "" "membership dues; however, members are required to support GNUnet e.V. and in " "particularly contribute to the technical development within their means. For " "further details, we refer to the Satzung (currently only available in German, translations " -"welcome)." +"git/\">Satzung (Charter) (currently only available in German, " +"translations welcome)." msgstr "" #: template/ev.html.j2:52 @@ -752,9 +747,9 @@ msgstr "" #: template/ev.html.j2:54 msgid "" -"You can find our \"Satzung\", and the list of members under https://git.gnunet." -"org/gnunet-ev.git/tree/satzung.tex. The current board consists of: " +"You can find our charter, and the list of members under https://git.gnunet.org/" +"gnunet-ev.git/tree/satzung.tex. The current board consists of: " "
      Vorsitz
      Martin " "Schanzenbach
      stellvertretender Vorsitz
      t3sserakt
      " "
      Kassenwart
      Florian Dold
      Beisitzer

      With " "GNS, we decentralize the database and also decentralize the responsibility " -"for naming: each user runs his own personal root zone and is thus in " -"complete control of the names he uses. GNS also has many additional features " -"(to keep names short and enable migration) which don't even make sense in " -"the context of CoDoNS." +"for naming: each user runs their own personal root zone and is thus in " +"complete control of the names they use. GNS also has many additional " +"features (to keep names short and enable migration) which don't even make " +"sense in the context of CoDoNS." msgstr "" #: template/faq.html.j2:410 @@ -1112,9 +1107,9 @@ msgid "" "A: Handshake is a blockchain-based method for root zone governance. Hence, " "it does not address the name resolution process itself but delegates " "resolution into DNS after the initial TLD resolution. Not taking " -"sustainablility considerations into account, handshake could be used as an " -"additional supporting GNS root zone governance model but we currently do not " -"have such plans in mind." +"sustainablility considerations into account, Handshake could be used as an " +"additional supporting GNS root zone governance model, but we currently do " +"not have such plans in mind." msgstr "" #: template/faq.html.j2:453 @@ -1492,7 +1487,7 @@ msgid "" "Another important point of reference are the various anonymous peer-to-peer " "networks. Here, there are differences in terms of application domain and how " "specifically anonymity is achieved. Anonymous routing is a hard research " -"topic, so for a superficial comparisson like this one we focus on the " +"topic, so for a superficial comparison like this one we focus on the " "latency. Another important factor is the programming language. Type-safe " "languages may offer certain security benefits; however, this may come at the " "cost of significant increases in resource consumption which in turn may " @@ -2737,8 +2732,8 @@ msgid "" "that we can add it to this list. Furthermore, if you are interested in " "packaging GNUnet for your Operating System, get in touch with us at gnunet-" "developers@gnu.org if you require help with this job. If you were using an " -"Operating System with the Alpine package manager, GNUnet could be installed " -"as simple as:" +"Operating System with the APT package manager, GNUnet could be installed as " +"simple as:" msgstr "" #: template/install.html.j2:61 @@ -2770,7 +2765,7 @@ msgid "" msgstr "" #: template/install.html.j2:98 -msgid "Alternatively, get the sources from git by entering:" +msgid "To compile gnunet from the git source you can do so by entering:" msgstr "" #: template/install.html.j2:106 diff --git a/locale/zh_Hant/LC_MESSAGES/messages.po b/locale/zh_Hant/LC_MESSAGES/messages.po index c6f98fba..fd2521e3 100644 --- a/locale/zh_Hant/LC_MESSAGES/messages.po +++ b/locale/zh_Hant/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-03-12 16:12+0100\n" +"POT-Creation-Date: 2021-04-28 14:41+0200\n" "PO-Revision-Date: 2021-04-25 04:48+0000\n" "Last-Translator: Ting-Yi Fu \n" "Language-Team: Chinese (Traditional) Free Software
      ." msgstr "" -"GNUnet 必須實施為免費軟體。" +"GNUnet 必須實施為免費" +"軟體。" #: template/about.html.j2:60 msgid "" @@ -399,7 +395,7 @@ msgid "" "replacement for the Domain Name System (DNS). Instead of using a hierarchy, " "GNS uses a directed graph. Naming conventions are similar to DNS, but " "queries and replies are private even with respect to peers providing the " -"answers. The integrity of records and privacy of look-ups is " +"answers. The integrity of records and privacy of look-ups are " "cryptographically secured. " msgstr "" @@ -438,7 +434,9 @@ msgid "" "GNUnet conversation is an application that provides secure voice " "communication in a fully decentralized way by employing GNUnet for routing " "and transport." -msgstr "GNUnet對話是一種通過採用GNUnet進行路由和傳輸以完全分散的方式提供安全語音通信的應用程序。" +msgstr "" +"GNUnet對話是一種通過採用GNUnet進行路由和傳輸以完全分散的方式提供安全語音通信" +"的應用程序。" #: template/applications.html.j2:91 msgid "Applications utilizing GNUnet" @@ -454,8 +452,8 @@ msgid "" "electronic payment system. Payments are cryptographically secured and are " "confirmed within milliseconds with extremely low transaction costs." msgstr "" -"GNU " -"Taler是一種新的保護隱私的電子支付系統。付款由密碼保護,並且可以在幾毫秒內以極低的交易成本進行確認。" +"GNU Taler是一種新的保護隱私的電子支付系" +"統。付款由密碼保護,並且可以在幾毫秒內以極低的交易成本進行確認。" #: template/applications.html.j2:118 msgid "secushare" @@ -469,9 +467,9 @@ msgid "" "the extensible PSYC protocol, notifications are distributed end-to-end " "encrypted to authorized recipients only." msgstr "" -"安全共享正在GNUnet之上建立一個去中心化的社交網路應用程序。使用覆蓋多播(multicast)和可擴展的PSYC協議,透過端對端(end-" -"to-end)加密將通知分發給授權接收者。" +"安全共享正在GNUnet之上建立一個去中心化" +"的社交網路應用程序。使用覆蓋多播(multicast)和可擴展的PSYC協議,透過端對端" +"(end-to-end)加密將通知分發給授權接收者。" #: template/applications.html.j2:139 #, fuzzy @@ -486,8 +484,9 @@ msgid "" "cryptographic protocols to verify keys." msgstr "" "相當容易的隱私(pretty Easy Privacy) " -"(p≡p)使用機會密鑰交換(opportunistic key exchange)建立可用的端到端(end-to-" -"end)加密電子郵件解決方案。p≡p將會使用GNUnet來保護元資料(metadata)並利用新的加密協議來驗證密鑰。" +"(p≡p)使用機會密鑰交換(opportunistic key exchange)建立可用的端到端(end-" +"to-end)加密電子郵件解決方案。p≡p將會使用GNUnet來保護元資料(metadata)並" +"利用新的加密協議來驗證密鑰。" #: template/applications.html.j2:160 #, fuzzy @@ -499,12 +498,12 @@ msgstr "學員GTK(Cadet-GTK)" msgid "" "Cadet-GTK is a " "convenient but feature-rich graphical application providing messaging using " -"especially the CADET subsystem. It is developed using GTK and libhandy for a " -"convergent design." +"the CADET subsystem. It is developed using GTK and libhandy for a convergent " +"design." msgstr "" "學員-GTK(Cadet-" -"GTK)是一種方便而功能豐富的圖形應用程序,學員-GTK(Cadet-" -"GTK)尤其使用CADET子系統提供消息傳遞。它是使用GTK和libhandy開發的以收斂設計。" +"GTK)是一種方便而功能豐富的圖形應用程序,學員-GTK(Cadet-GTK)尤其使用CADET" +"子系統提供消息傳遞。它是使用GTK和libhandy開發的以收斂設計。" #: template/applications.html.j2:180 msgid "groupchat" @@ -514,13 +513,12 @@ msgstr "群組聊天" #, fuzzy msgid "" "groupchat is a " -"terminal user interface providing messaging using especially the CADET " -"subsystem. It is developed using nim. Cadet-GTK and groupchat are planned to " -"be compatible." +"terminal user interface providing messaging using the CADET subsystem. It is " +"developed using nim. Cadet-GTK and groupchat are planned to be compatible." msgstr "" -"群組聊天(groupchat)是一個終端用戶界面,特別是使用CADET子系統提供消息傳遞。它使用nim來開發。學員-GTK(Cadet-" -"GTK)與群組聊天(groupchat)兩者計劃兼容。" +"群組聊天(groupchat)是一" +"個終端用戶界面,特別是使用CADET子系統提供消息傳遞。它使用nim來開發。學員-" +"GTK(Cadet-GTK)與群組聊天(groupchat)兩者計劃兼容。" #: template/architecture.html.j2:6 msgid "GNUnet System Architecture" @@ -535,7 +533,7 @@ msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " "end-to-end encrypted messaging layer (CADET), a public key infrastructure " "(GNS) and a pluggable transport system (TRANSPORT).
      Using public keys " -"for addresses and self-organized decentralized routing algorithms, these " +"for addresses and self-organizing decentralized routing algorithms, these " "subsystems replace the traditional TCP/IP stack." msgstr "" @@ -546,7 +544,7 @@ msgstr "安全性" #: template/architecture.html.j2:38 msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " -"runs as a separate process, providing fault-isolation and enabling tight " +"runs as a separate process, providing fault isolation and enabling tight " "permissions to be granted to each subsystem. Naturally, the implementation " "is a GNU package, and will always " "remain free software." @@ -599,9 +597,9 @@ msgid "" "freenode.net. There is also an archive available." msgstr "" -"#gnunet可通過irc.freenode.net被聯繫。" -"這也有一個檔案可用。" +"#gnunet可通過irc.freenode.net被" +"聯繫。這也有一個檔案可用。" #: template/contact.html.j2:38 msgid "Contacting individuals" @@ -666,13 +664,17 @@ msgstr "儲存庫" msgid "" "A list of our Git repositories can be found on our our Git Server." -msgstr "您可以在我們的Git伺服器上找到我們的Git存儲庫列表。" +msgstr "" +"您可以在我們的Git伺服器上找到我們的" +"Git存儲庫列表。" #: template/developers.html.j2:27 msgid "" "Technical papers can be found in our bibliography." -msgstr "您可以於我們的參考書目中找到技術文件。" +msgstr "" +"您可以於我們的參考書目中" +"找到技術文件。" #: template/developers.html.j2:34 msgid "Discussion" @@ -685,9 +687,9 @@ msgid "" "gnunet-developers\">http://lists.gnu.org/mailman/listinfo/gnunet-developers." msgstr "" -"我們有一個郵件列表供開發人員討論。您可以於http://lists.gnu.org/mailman/listinfo/gnunet-" -"developers訂閱或是閱讀此檔案清單。" +"我們有一個郵件列表供開發人員討論。您可以於http://lists.gnu.org/mailman/listinfo/" +"gnunet-developers訂閱或是閱讀此檔案清單。" #: template/developers.html.j2:47 msgid "Regression Testing" @@ -700,8 +702,8 @@ msgid "" "org/buildbot/gnunet/\">https://old.gnunet.org/buildbot/gnunet/." msgstr "" "我們在https://old.gnunet." -"org/buildbot/gnunet/上,提供了Buildbot自動化測試,以檢測回歸併檢查可移植性。" +"org/buildbot/gnunet/上,提供了Buildbot自動化測試,以檢測回歸併檢查可移植性。" #: template/developers.html.j2:59 msgid "Code Coverage Analysis" @@ -713,9 +715,9 @@ msgid "" "analyze the code coverage of our tests, the results are available at https://old.gnunet.org/coverage/." msgstr "" -"我們使用LCOV來分析我們測試的程式碼覆蓋率,其結果可從https://old.gnunet.org/coverage/上獲得。" +"我們使用LCOV來分" +"析我們測試的程式碼覆蓋率,其結果可從https://old.gnunet.org/coverage/上獲得。" #: template/developers.html.j2:72 msgid "Performance Analysis" @@ -727,8 +729,9 @@ msgid "" "regression analysis of the exchange backend at https://old.gnunet.org/gauger/." msgstr "" -"我們於https://old.gnunet.org/gauger/" -"上使用Gauger對交換後端進行性能回歸分析。" +"我們於https://old.gnunet.org/" +"gauger/上使用Gauger對交換後" +"端進行性能回歸分析。" #: template/download.html.j2:7 template/gnurl.html.j2:209 #, fuzzy @@ -807,8 +810,8 @@ msgid "" "membership dues; however, members are required to support GNUnet e.V. and in " "particularly contribute to the technical development within their means. For " "further details, we refer to the Satzung (currently only available in German, translations " -"welcome)." +"git/\">Satzung (Charter) (currently only available in German, " +"translations welcome)." msgstr "" #: template/ev.html.j2:52 @@ -817,9 +820,9 @@ msgstr "治理" #: template/ev.html.j2:54 msgid "" -"You can find our \"Satzung\", and the list of members under https://git.gnunet." -"org/gnunet-ev.git/tree/satzung.tex. The current board consists of: " +"You can find our charter, and the list of members under https://git.gnunet.org/" +"gnunet-ev.git/tree/satzung.tex. The current board consists of: " "
      Vorsitz
      Martin " "Schanzenbach
      stellvertretender Vorsitz
      t3sserakt
      " "
      Kassenwart
      Florian Dold
      Beisitzer
      GNU Affero Public License (AGPL)." msgstr "" -"答: GNUnet是免費軟體,您可以根據GNU Affero公共許可證(AGPL)來取得。" +"答: GNUnet是免費軟體,您可以根據GNU Affero公共許可證(AGPL)來取得。" #: template/faq.html.j2:58 msgid "Are there any known bugs?" @@ -1033,9 +1036,9 @@ msgstr "是否可以通過瀏覽器作為匿名WWW訪問GNUnet?" #: template/faq.html.j2:183 msgid "" "A: There is currently no proxy (like fproxy in Freenet) for GNUnet that " -"would make it accessible with a browser. It is possible to build such a " -"proxy and all one needs to know is the protocol used between browser and " -"proxy and a swift look at the GNUnet code for file-sharing." +"would make it accessible via a browser. It is possible to build such a proxy " +"and all one needs to know is the protocol used between the browser and the " +"proxy and the GNUnet code for file-sharing." msgstr "" #: template/faq.html.j2:195 @@ -1051,7 +1054,9 @@ msgid "" msgstr "" #: template/faq.html.j2:210 -msgid "On top of which operating systems does GNUnet run?" +#, fuzzy +#| msgid "On top of which operating systems does GNUnet run?" +msgid "Which operating systems does GNUnet run on?" msgstr "GNUnet在哪些操作系統上運行?" #: template/faq.html.j2:212 @@ -1122,7 +1127,9 @@ msgid "" msgstr "" #: template/faq.html.j2:286 -msgid "How does GNS compare to other name systems" +#, fuzzy +#| msgid "How does GNS compare to other name systems" +msgid "How does GNS compare to other name systems?" msgstr "GNS與其他名稱系統(name systems)相比如何" #: template/faq.html.j2:288 @@ -1131,8 +1138,8 @@ msgid "" "ns2018.pdf\">has been published and below is a table from the " "publication. For detailed descriptions please refer to the paper." msgstr "" -"答: 有關該主題的科學論文已被發表,以下是該出版物的表格。請參閱該論文以閱讀更多細節及描述。" +"答: 有關該主題的科學論文已被發表,以下是該出版物的表格。請參閱該論文以閱讀更多細節及描述。" #: template/faq.html.j2:392 msgid "What is the difference between GNS and CoDoNS?" @@ -1144,10 +1151,10 @@ msgid "" "authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, and " "there are still registrars that determine who owns a name.

      With " "GNS, we decentralize the database and also decentralize the responsibility " -"for naming: each user runs his own personal root zone and is thus in " -"complete control of the names he uses. GNS also has many additional features " -"(to keep names short and enable migration) which don't even make sense in " -"the context of CoDoNS." +"for naming: each user runs their own personal root zone and is thus in " +"complete control of the names they use. GNS also has many additional " +"features (to keep names short and enable migration) which don't even make " +"sense in the context of CoDoNS." msgstr "" #: template/faq.html.j2:410 @@ -1186,9 +1193,9 @@ msgid "" "A: Handshake is a blockchain-based method for root zone governance. Hence, " "it does not address the name resolution process itself but delegates " "resolution into DNS after the initial TLD resolution. Not taking " -"sustainablility considerations into account, handshake could be used as an " -"additional supporting GNS root zone governance model but we currently do not " -"have such plans in mind." +"sustainablility considerations into account, Handshake could be used as an " +"additional supporting GNS root zone governance model, but we currently do " +"not have such plans in mind." msgstr "" #: template/faq.html.j2:453 @@ -1211,7 +1218,9 @@ msgstr "" msgid "" "Does GNS require real-world introduction (secure PKEY exchange) in the style " "of the PGP web of trust?" -msgstr "GNS是否需要以PGP信任網路(PGP web of trust)的方式進行真實世界的介紹(安全的PKEY交換)?" +msgstr "" +"GNS是否需要以PGP信任網路(PGP web of trust)的方式進行真實世界的介紹(安全的PKEY" +"交換)?" #: template/faq.html.j2:470 msgid "" @@ -1321,7 +1330,8 @@ msgstr "" #, fuzzy msgid "" "How can a GNS zone maintain several name servers, e.g. for load balancing?" -msgstr "GNS區域如何維護多個名稱伺服器(name servers),如: 負載平衡(load balancing)?" +msgstr "" +"GNS區域如何維護多個名稱伺服器(name servers),如: 負載平衡(load balancing)?" #: template/faq.html.j2:571 msgid "" @@ -1338,7 +1348,9 @@ msgstr "" msgid "" "Why do you believe it is worth giving up unique names for censorship " "resistance?" -msgstr "您為什麼認為值得為了抵抗審查(censorship resistance)放棄獨特名稱(unique names)?" +msgstr "" +"您為什麼認為值得為了抵抗審查(censorship resistance)放棄獨特名稱(unique " +"names)?" #: template/faq.html.j2:586 msgid "" @@ -1449,7 +1461,8 @@ msgstr "" msgid "" "I receive many "WARNING Calculated flow delay for X at Y for Z". " "Should I worry?" -msgstr "我收到許多 "警告: 對於Z的Y處X計算流量延遲"。請問我需要擔心嗎?" +msgstr "" +"我收到許多 "警告: 對於Z的Y處X計算流量延遲"。請問我需要擔心嗎?" #: template/faq.html.j2:699 msgid "" @@ -1467,14 +1480,18 @@ msgstr "開啟 '/dev/net/tun' 時出現錯誤: 沒有此文件或目錄?" msgid "" "A: If you get this error message, the solution is simple. Issue the " "following commands (as root) to create the required device file" -msgstr "答: 若您收到此錯誤訊息,解決方法很簡單。發出以下命令(以root用戶身份)創建所需的設備文件" +msgstr "" +"答: 若您收到此錯誤訊息,解決方法很簡單。發出以下命令(以root用戶身份)創建所需" +"的設備文件" #: template/faq.html.j2:722 #, fuzzy msgid "" "'iptables: No chain/target/match by that name.' (when running gnunet-service-" "dns)?" -msgstr "\"iptables: 沒有該名稱的鍊(chain)/目標/匹配項目。\"(運行gnunet-service-dns時)?" +msgstr "" +"\"iptables: 沒有該名稱的鍊(chain)/目標/匹配項目。\"(運行gnunet-service-dns" +"時)?" #: template/faq.html.j2:724 msgid "" @@ -1483,8 +1500,9 @@ msgid "" "your kernel has CONFIG_NETFILTER_XT_MATCH_OWNER set to either 'y' or " "'m' (and the module is loaded)." msgstr "" -"答: 對於GNUnet DNS,您的iptables需具有 "所有者" 匹配支持。這可以通過使用正確的內核(kernel)選項來達成。" -"請檢察您的內核的CONFIG_NETFILTER_XT_MATCH_OWNER是否已設定為 'y'或是'm'(並且已載入模板)。" +"答: 對於GNUnet DNS,您的iptables需具有 "所有者" 匹配支持。這可以通" +"過使用正確的內核(kernel)選項來達成。請檢察您的內核的" +"CONFIG_NETFILTER_XT_MATCH_OWNER是否已設定為 'y'或是'm'(並且已載入模板)。" #: template/faq.html.j2:736 msgid "'Timeout was reached' when running PT on Fedora (and possibly others)?" @@ -1494,7 +1512,9 @@ msgstr "在Fedora(或其他)上運行PT時“已超時”?" msgid "" "A: If you get an error stating that the VPN timeout was reached, check if " "your firewall is enabled and blocking the connections." -msgstr "答: 如果收到指出已達到VPN超時的錯誤訊息,請檢查您的防火牆是否為啟用狀態且阻擋連線。" +msgstr "" +"答: 如果收到指出已達到VPN超時的錯誤訊息,請檢查您的防火牆是否為啟用狀態且阻擋" +"連線。" #: template/faq.html.j2:746 msgid "" @@ -1573,7 +1593,7 @@ msgid "" "Another important point of reference are the various anonymous peer-to-peer " "networks. Here, there are differences in terms of application domain and how " "specifically anonymity is achieved. Anonymous routing is a hard research " -"topic, so for a superficial comparisson like this one we focus on the " +"topic, so for a superficial comparison like this one we focus on the " "latency. Another important factor is the programming language. Type-safe " "languages may offer certain security benefits; however, this may come at the " "cost of significant increases in resource consumption which in turn may " @@ -1781,7 +1801,9 @@ msgstr "" msgid "" "Our main usecase is for GNUnet and Taler, but it might be usable for others, " "hence we're releasing the code to the general public." -msgstr "我們的程式碼主要用於GNUnet和Taler,但考慮到對其他人可能也有幫助,我們決定'將程式碼公之於眾。" +msgstr "" +"我們的程式碼主要用於GNUnet和Taler,但考慮到對其他人可能也有幫助,我們決定" +"'將程式碼公之於眾。" #: template/gnurl.html.j2:37 #, fuzzy @@ -1790,8 +1812,8 @@ msgid "" "README for instructions, as you must supply the correct options to configure " "to get a proper build of libgnurl." msgstr "" -"libgnurl與libcurl由相同的許可證所發行。由於您必須提供正確的選項來進行配置以獲取正確的libgnurl建構,請閱讀README以了解更多的相" -"關指令。" +"libgnurl與libcurl由相同的許可證所發行。由於您必須提供正確的選項來進行配置以獲" +"取正確的libgnurl建構,請閱讀README以了解更多的相關指令。" #: template/gnurl.html.j2:48 msgid "About gnurl" @@ -1954,7 +1976,9 @@ msgstr "從分佈式tarballr建立(首選方法)" msgid "" "If you want to verify the signature, install an OpenPGP compatible tool such " "as security/gnupgp2 (and set it up). Assuming you use pkgin:" -msgstr "如果您想要驗證簽名,請安裝與OpenPGP兼容的工具,例如security/gnupgp2(並進行設置)。假設您使用pkgin:" +msgstr "" +"如果您想要驗證簽名,請安裝與OpenPGP兼容的工具,例如security/gnupgp2(並進行設" +"置)。假設您使用pkgin:" #: template/gnurl.html.j2:267 #, fuzzy @@ -2034,8 +2058,9 @@ msgid "" "\">bugs.gnunet.org. Alternatively you can use our bug mailinglist, but " "we prefer to track bugs on the bugtracker." msgstr "" -"您可以透過我們的錯誤追踪器報告錯誤:bugs.gnunet." -"org。或是您也可以使用我們的報錯寄件名單,但我們較偏好您使用錯誤追踪器來舉報錯誤。" +"您可以透過我們的錯誤追踪器報告錯誤:bugs." +"gnunet.org。或是您也可以使用我們的報錯寄件名單,但我們較偏好您使用錯誤追" +"踪器來舉報錯誤。" #: template/gnurl.html.j2:395 msgid "Maintainer and Cryptographic signatures" @@ -2064,8 +2089,8 @@ msgid "" "Schanzenbach) and I have worked on creating and extending the REST API of " "GNUnet. Currently, we mirrored the functionality of following commands:" msgstr "" -"於Google Summer of Code 2018,我的導師(Martin Schanzenbach)和我一直致力於創建和擴展GNUnet的REST " -"API。目前,我們鏡像了下列命令的功能:" +"於Google Summer of Code 2018,我的導師(Martin Schanzenbach)和我一直致力於創建" +"和擴展GNUnet的REST API。目前,我們鏡像了下列命令的功能:" #: template/gsoc-2018-gnunet-webui.html.j2:32 msgid "" @@ -2073,8 +2098,8 @@ msgid "" "and the design framework iotaCSS to use the new REST API. The REST API of " "GNUnet is now documented with Sphinx." msgstr "" -"此外,我們使用Javascript框架Angular 6和設計框架iotaCSS開發了一個網站,以使用新的REST API。GNUnet的REST " -"API現在使用Sphinx來做記載。" +"此外,我們使用Javascript框架Angular 6和設計框架iotaCSS開發了一個網站,以使用" +"新的REST API。GNUnet的REST API現在使用Sphinx來做記載。" #: template/gsoc-2018-gnunet-webui.html.j2:41 msgid "" @@ -2260,15 +2285,17 @@ msgid "" "written in C, and this is not about rewriting GNUnet in Java, but about " "getting the C code to run on Android." msgstr "" -"是時候讓GNUnet在Android上正常運行了。請注意,GNUnet是使用C所撰寫,而這裡並不是要重新以Java來撰寫GNUnet,而是使C語言在And" -"roid上運行。" +"是時候讓GNUnet在Android上正常運行了。請注意,GNUnet是使用C所撰寫,而這裡並不" +"是要重新以Java來撰寫GNUnet,而是使C語言在Android上運行。" #: template/gsoc.html.j2:229 msgid "" "Includes: Implementation of rudimentary Android compatibility for GNUnet, in " "part by porting the GNUnet utils scheduler to act as a thin wrapper over " "libuv." -msgstr "包括: 對GNUnet的基本Android兼容性的實現,部分是通過移植GNUnet utils調度程序來充當libuv的精簡包裝。" +msgstr "" +"包括: 對GNUnet的基本Android兼容性的實現,部分是通過移植GNUnet utils調度程序來" +"充當libuv的精簡包裝。" #: template/gsoc.html.j2:236 msgid "" @@ -2330,8 +2357,9 @@ msgid "" "about how names should be moved around the local system. We're calling this " "more collaborative approach NSS2 for now." msgstr "" -"注意: 有一個特殊的TLDs規範,允許Tor也可以使用GNS而不是Tor來解析域名,但是直到同仁們對如何在本地系統中移動名稱進行更多思考之前,這將持續處於" -"擱置狀態。我們目前暫時將這種更協作的方法稱為NSS2。" +"注意: 有一個特殊的TLDs規範,允許Tor也可以使用GNS而不是Tor來解析域名,但是直到" +"同仁們對如何在本地系統中移動名稱進行更多思考之前,這將持續處於擱置狀態。我們" +"目前暫時將這種更協作的方法稱為NSS2。" #: template/gsoc.html.j2:316 template/gsoc.html.j2:456 #: template/gsoc.html.j2:496 template/gsoc.html.j2:526 @@ -2345,14 +2373,17 @@ msgid "" "asynchronous IO library built upon it, such as rotor, mioco, eventual_io, or " "gj." msgstr "" -"改進GNUnet utils的Rust實現,可能包括使用mio或基於它構建的更高級的異步IO庫(asynchronous IO library)(例如: " -"rotor、mioco、eventual_io或gj)添加對異步IO(asynchronous IO)的支持。" +"改進GNUnet utils的Rust實現,可能包括使用mio或基於它構建的更高級的異步IO庫" +"(asynchronous IO library)(例如: rotor、mioco、eventual_io或gj)添加對異步" +"IO(asynchronous IO)的支持。" #: template/gsoc.html.j2:345 msgid "" "Implementation of a replacement for PANDA (see Pond) with better security, " "and maybe integration with the GNU Name System for key exchange." -msgstr "實現具有更好安全性的PANDA替代品(請參閱Pond),並且可能與GNU名稱系統整合以進行密鑰交換。" +msgstr "" +"實現具有更好安全性的PANDA替代品(請參閱Pond),並且可能與GNU名稱系統整合以進行" +"密鑰交換。" #: template/gsoc.html.j2:357 msgid "Required Skills: Rust or C, crypto" @@ -2428,7 +2459,8 @@ msgid "" "Related to secushare.org/" "rendezvous" msgstr "" -"與之相關 secushare.org/rendezvous" +"與之相關 secushare.org/" +"rendezvous" #: template/gsoc.html.j2:451 template/gsoc.html.j2:491 msgid "Mentors: t3sserakt, lynX" @@ -2462,7 +2494,9 @@ msgid "" "Implementation of additional transports to make GNUnet communication more " "robust in the presence of problematic networks: GNUnet-over-SMTP, GNUnet-" "over-DNS" -msgstr "在存在問題網絡的情況下,實現附加傳輸以使GNUnet通訊更加健壯: GNUnet-over-SMTP、GNUnet-over-DNS" +msgstr "" +"在存在問題網絡的情況下,實現附加傳輸以使GNUnet通訊更加健壯: GNUnet-over-" +"SMTP、GNUnet-over-DNS" #: template/gsoc.html.j2:546 template/gsoc.html.j2:560 msgid "Mentors: Matthias Wachs" @@ -2473,12 +2507,14 @@ msgid "" "Implementation of ALG-based NAT traversal methods (FTP/SIP-based hole " "punching, better STUN support)" msgstr "" -"基於ALG的NAT遍歷方法(traversal methods)的實現(基於FTP/SIP的hole punching,更好的STUN support)" +"基於ALG的NAT遍歷方法(traversal methods)的實現(基於FTP/SIP的hole punching,更" +"好的STUN support)" #: template/gsoc.html.j2:568 msgid "" "Mentors: Matthias Wachs, Christian Grothoff, Jeff Burdges" -msgstr "導師: Matthias Wachs, Christian Grothoff, Jeff Burdges" +msgstr "" +"導師: Matthias Wachs, Christian Grothoff, Jeff Burdges" #: template/gsoc.html.j2:576 msgid "" @@ -2539,11 +2575,13 @@ msgstr "要求技能: C、JavaScript、CSS" #: template/gsoc.html.j2:667 msgid "" "Report: GSoC 2018: GNUnet WebUI" -msgstr "報告: GSoC 2018:GNUnet WebUI" +msgstr "" +"報告: GSoC 2018:GNUnet WebUI" #: template/index.html.j2:8 msgid "The Internet of tomorrow needs GNUnet today" -msgstr "明天的互聯網需要今天的GNUnet(The Internet of tomorrow needs GNUnet today)" +msgstr "" +"明天的互聯網需要今天的GNUnet(The Internet of tomorrow needs GNUnet today)" #: template/index.html.j2:26 msgid "Latest news" @@ -2633,8 +2671,9 @@ msgid "" "\"link\" href=\"https://www.gnu.org/philosophy/free-sw.html\">essential " "freedoms to various degrees." msgstr "" -"如今,監視日益集中化的基礎架構、專有實現(proprietary implementations)、流量整形器和防火牆在各種程度上限制了所有基本自由。" +"如今,監視日益集中化的基礎架構、專有實現(proprietary implementations)、流量整" +"形器和防火牆在各種程度上限制了所有基本自由。" #: template/index.html.j2:203 msgid "GNUnet supports a free and open society" @@ -2820,7 +2859,8 @@ msgstr "教學: Ubuntu 18.04上的GNUnet" msgid "" "Notice: GNUnet is still undergoing major development. It is largely not " "yet ready for usage beyond developers." -msgstr "注意: GNUnet仍在進行重大開發。它很大部分地尚未準備好供開發人員使用。" +msgstr "" +"注意: GNUnet仍在進行重大開發。它很大部分地尚未準備好供開發人員使用。" #: template/install.html.j2:18 msgid "" @@ -2851,8 +2891,8 @@ msgid "" "that we can add it to this list. Furthermore, if you are interested in " "packaging GNUnet for your Operating System, get in touch with us at gnunet-" "developers@gnu.org if you require help with this job. If you were using an " -"Operating System with the Alpine package manager, GNUnet could be installed " -"as simple as:" +"Operating System with the APT package manager, GNUnet could be installed as " +"simple as:" msgstr "" #: template/install.html.j2:61 @@ -2873,8 +2913,8 @@ msgid "" "\">required dependencies of GNUnet. There are base requirements and " "optional requirements." msgstr "" -"首先,安裝所需的GNUnet從屬物。有許多與之相關的基礎要求與非強制的要求。" +"首先,安裝所需的" +"GNUnet從屬物。有許多與之相關的基礎要求與非強制的要求。" #: template/install.html.j2:81 msgid "" @@ -2886,14 +2926,16 @@ msgid "" msgstr "" #: template/install.html.j2:98 -msgid "Alternatively, get the sources from git by entering:" -msgstr "或者,通過輸入以下命令從git中取得原始碼:" +msgid "To compile gnunet from the git source you can do so by entering:" +msgstr "" #: template/install.html.j2:106 msgid "" "Before building GNUnet, make sure that you setup the required groups and add " "your user to the group gnunet:" -msgstr "在構建GNUnet之前,請確保您設置了所需的組並將您的用戶添加到組gnunet:" +msgstr "" +"在構建GNUnet之前,請確保您設置了所需的組並將您的用戶添加到組gnunet:" #: template/install.html.j2:117 msgid "To compile GNUnet, execute:" @@ -2904,8 +2946,8 @@ msgid "" "You can find more configuration flags in the README.
      Install GNUnet with:" msgstr "" -"您可以在 README中找到更多配置標誌。
      使用以下命令安裝GNUnet:" +"您可以在 README" +"中找到更多配置標誌。
      使用以下命令安裝GNUnet:" #: template/install.html.j2:138 msgid "You can now start GNUnet by running:" @@ -2918,8 +2960,8 @@ msgid "" "experience, continue here." msgstr "" "查看手冊以獲得詳細文檔。欲獲得更多實際操作經驗,請於此處繼續。" +"configuration\">手冊以獲得詳細文檔。欲獲得更多實際操作經驗,請於此處繼續。" #: template/livingstandards.html.j2:11 msgid "On this page you can find links to our technical specifications." @@ -3007,3 +3049,10 @@ msgstr "天哪,你們打破了我的網際網路" #: template/video.html.j2:12 msgid "Videos related to GNUnet" msgstr "與GNUnet相關的影片" + +#, fuzzy +#~ msgid "Living Standards" +#~ msgstr "生活水準" + +#~ msgid "Alternatively, get the sources from git by entering:" +#~ msgstr "或者,通過輸入以下命令從git中取得原始碼:" diff --git a/news/2021-04-DISSENS.html.j2 b/news/2021-04-DISSENS.html.j2 new file mode 100644 index 00000000..51a5cd6a --- /dev/null +++ b/news/2021-04-DISSENS.html.j2 @@ -0,0 +1,65 @@ +{% extends "common/news.j2" %} +{% block body_content %} +

      DISSENS: Decentralized Identities for Self-sovereign End-users (NGI TRUST)

      +

      + Since mid 2020, a consortium between Taler Systems S.A., +the Bern University of Applied Sciences and Fraunhofer AISEC has been working + on bringing privacy-friendly payments using GNU Taler and self-sovereign + identity using GNUnet's re:claimID + together in an e-commerce framework. +

      +

      + +

      +

      Content

      +

      + Registrations of accounts prior to receiving services online is the standard process for commercial offerings on the Internet which depend on two corner stones of the Web: Payment processing and digital identities. The use of third-party identity provider services (IdPs) is practical as it delegates the task of verifying and storing personal information. The use of payment processors is convenient for the customer as it provides one-click payments. However, the quasi-oligopoly of services providers in those areas include Google and Facebook for identities and PayPal or Stripe for payment processing. Those corporations are not only based in privacy-unfriendly jurisdictions, but also exploit private data for profit. +

      +

      +DISSENS makes the case that what is urgently needed are fundamentally different, user-centric and privacy-friendly alternatives to the above. +Self-sovereign identity (SSI) management is the way to replace IdPs with a user-centric, decentralized mechanism where data and access control is fully under the control of the data subject. +In combination with a privacy-friendly payment system, DISSENS aims to achieve the same one-click user experience that is currently achieved by privacy-invasive account-based Web shops, but without the users having to setup accounts. +

      +

      +To achieve this, DISSENS integrates re:claimID with the GNU Taler payment system in a pilot in order to demonstrate the practical feasibility and benefits of privacy enhancing technologies for users and commercial service providers. +DISSENS also implements a reference scenario which includes credentials issued by the partners Fraunhofer AISEC and BFH for employees and students, respectively. Users are able to access and use a pilot service developed by Taler Systems S.A. while being able to claim specific discounts for students and researchers. +

      +

      +This approach offers significant benefits over existing solutions built using other SSI systems such as Sovrin or serto (formerly uPort): +

      +No gatekeepers; No vendor lock-in: +

      +The approach is completely open to issuers and does not impose any registration restrictions (such as registration fees) in order to define domain specific credentials. Further, the system does not impose a consortium-based governance model — which tend to eventually be driven by commercial interests and not consumer interests. The design enables all participants in the ecosystem to participate without prior onboarding while at the same time being offered full transparency and control regarding their personal data and processes involved. +

      +Support for non-interactive business processes: +

      +At the same time, unlike the SSI systems cited above, re:claimID offers a way to access user information without online interaction with the user. Offline access of shared identity data is a crucial requirement in almost any business process as such processes often occur after direct interaction with the user. For example, customer information such as billing addresses are required in — possibly recurring — back office billing processes which occur well after interaction with a customer. +

      +Scalability and sustainability: +

      +Finally, both re:claimID as the SSI system as well as Taler do not suffer from the usual predicament Blockchain-based systems find themselves in: Both systems do not require a decentralized, public ledger. This eliminates the need for consensus mechanisms, which do not scale and are ecologically unsustainable. In fact, DISSENS employs decentralization only where it provides the most value and use more efficient technology stacks where needed: re:claimID builds on top of the GNU Name System, which makes use of a DHT, an efficient (O(log n)) peer-to-peer data structure. For payments, GNU Taler uses centralized infrastructure operated by audited and regulated exchange providers and facilitates account-less end-to-end interactions between customers and services where all parties have O(1) transaction costs. +

      +

      +The result of DISSENS will provide businesses and credential issuers with ready-to-use and standards-compliant templates to build privacy-friendly services in the Web. +The aim of the DISSENS project was to design a technology stack which combines privacy-friendly online payments with self-sovereign personal data management. The result enables users to be in complete control over their digital identity and personal information while at the same time being able to selectively share information necessary to use commercial services. The pilot demonstrates a sustainable, user-centric, standard-compliant and accessible use case for public service employees and students in the domain of commercial food delivery. +It serves as an easy-to-adapt template for the integration of other scenarios and use cases. +

      +

      Future work

      +

      +GNUnet is working on the underlying components mature to the point that Taler+re:claimID can be recommended to operators to enable for account-less shopping with or without verified credentials. This will also require the continuation of our +work on the low-level transport rewrite as it is a core component of GNS which +in turn is what makes re:claimID spin. +

      +

      Links

      + +

      +

      +

      + This work is generously funded by the EC's Next Generation Internet (NGI) initiative as part of their NGI TRUST programme. +

      +{% endblock body_content %} diff --git a/static/dissens-overview.png b/static/dissens-overview.png new file mode 100644 index 00000000..1d1a2cf5 Binary files /dev/null and b/static/dissens-overview.png differ -- cgit v1.2.3 From b3dd9489f04385fff095a85de658ab746574d23b Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Fri, 7 May 2021 13:50:26 +0200 Subject: restructure to work with current site generator --- .gitignore | 9 - Makefile | 70 +- __init__.py | 3 - build-system/configure.py | 6 +- build-system/taler-build-scripts | 2 +- dist/css/bootstrap-grid.css | 3719 -- dist/css/bootstrap-grid.css.map | 1 - dist/css/bootstrap-grid.min.css | 7 - dist/css/bootstrap-grid.min.css.map | 1 - dist/css/bootstrap-reboot.css | 331 - dist/css/bootstrap-reboot.css.map | 1 - dist/css/bootstrap-reboot.min.css | 8 - dist/css/bootstrap-reboot.min.css.map | 1 - dist/css/bootstrap.css | 10038 ---- dist/css/bootstrap.css.map | 1 - dist/css/bootstrap.min.css | 7 - dist/css/bootstrap.min.css.map | 1 - dist/font-awesome/LICENSE.txt | 34 - dist/font-awesome/css/all.css | 4286 -- dist/font-awesome/css/all.min.css | 1 - dist/font-awesome/css/brands.css | 10 - dist/font-awesome/css/brands.min.css | 1 - dist/font-awesome/css/fontawesome.css | 4253 -- dist/font-awesome/css/fontawesome.min.css | 1 - dist/font-awesome/css/regular.css | 11 - dist/font-awesome/css/regular.min.css | 1 - dist/font-awesome/css/solid.css | 12 - dist/font-awesome/css/solid.min.css | 1 - dist/font-awesome/css/svg-with-js.css | 342 - dist/font-awesome/css/svg-with-js.min.css | 1 - dist/font-awesome/css/v4-shims.css | 2162 - dist/font-awesome/css/v4-shims.min.css | 1 - dist/font-awesome/js/all.js | 4259 -- dist/font-awesome/js/all.min.js | 1 - dist/font-awesome/js/brands.js | 539 - dist/font-awesome/js/brands.min.js | 1 - dist/font-awesome/js/fontawesome.js | 2384 - dist/font-awesome/js/fontawesome.min.js | 1 - dist/font-awesome/js/regular.js | 276 - dist/font-awesome/js/regular.min.js | 1 - dist/font-awesome/js/solid.js | 1060 - dist/font-awesome/js/solid.min.js | 1 - dist/font-awesome/js/v4-shims.js | 64 - dist/font-awesome/js/v4-shims.min.js | 1 - dist/font-awesome/less/_animated.less | 19 - dist/font-awesome/less/_bordered-pulled.less | 16 - dist/font-awesome/less/_core.less | 12 - dist/font-awesome/less/_fixed-width.less | 6 - dist/font-awesome/less/_icons.less | 1353 - dist/font-awesome/less/_larger.less | 27 - dist/font-awesome/less/_list.less | 18 - dist/font-awesome/less/_mixins.less | 57 - dist/font-awesome/less/_rotated-flipped.less | 24 - dist/font-awesome/less/_screen-reader.less | 5 - dist/font-awesome/less/_shims.less | 2062 - dist/font-awesome/less/_stacked.less | 22 - dist/font-awesome/less/_variables.less | 1363 - dist/font-awesome/less/brands.less | 18 - dist/font-awesome/less/fontawesome.less | 12 - dist/font-awesome/less/regular.less | 19 - dist/font-awesome/less/solid.less | 20 - dist/font-awesome/less/v4-shims.less | 2 - dist/font-awesome/metadata/categories.yml | 1947 - dist/font-awesome/metadata/icons.json | 51733 ------------------- dist/font-awesome/metadata/icons.yml | 17769 ------- dist/font-awesome/metadata/shims.json | 2307 - dist/font-awesome/metadata/shims.yml | 294 - dist/font-awesome/metadata/sponsors.yml | 675 - dist/font-awesome/scss/_animated.scss | 20 - dist/font-awesome/scss/_bordered-pulled.scss | 20 - dist/font-awesome/scss/_core.scss | 20 - dist/font-awesome/scss/_fixed-width.scss | 6 - dist/font-awesome/scss/_icons.scss | 1353 - dist/font-awesome/scss/_larger.scss | 23 - dist/font-awesome/scss/_list.scss | 18 - dist/font-awesome/scss/_mixins.scss | 57 - dist/font-awesome/scss/_rotated-flipped.scss | 24 - dist/font-awesome/scss/_screen-reader.scss | 5 - dist/font-awesome/scss/_shims.scss | 2062 - dist/font-awesome/scss/_stacked.scss | 31 - dist/font-awesome/scss/_variables.scss | 1368 - dist/font-awesome/scss/brands.scss | 18 - dist/font-awesome/scss/fontawesome.scss | 12 - dist/font-awesome/scss/regular.scss | 19 - dist/font-awesome/scss/solid.scss | 20 - dist/font-awesome/scss/v4-shims.scss | 2 - dist/font-awesome/sprites/brands.svg | 1663 - dist/font-awesome/sprites/regular.svg | 611 - dist/font-awesome/sprites/solid.svg | 3747 -- dist/font-awesome/svgs/brands/500px.svg | 1 - dist/font-awesome/svgs/brands/accessible-icon.svg | 1 - dist/font-awesome/svgs/brands/accusoft.svg | 1 - .../svgs/brands/acquisitions-incorporated.svg | 1 - dist/font-awesome/svgs/brands/adn.svg | 1 - dist/font-awesome/svgs/brands/adobe.svg | 1 - dist/font-awesome/svgs/brands/adversal.svg | 1 - dist/font-awesome/svgs/brands/affiliatetheme.svg | 1 - dist/font-awesome/svgs/brands/algolia.svg | 1 - dist/font-awesome/svgs/brands/alipay.svg | 1 - dist/font-awesome/svgs/brands/amazon-pay.svg | 1 - dist/font-awesome/svgs/brands/amazon.svg | 1 - dist/font-awesome/svgs/brands/amilia.svg | 1 - dist/font-awesome/svgs/brands/android.svg | 1 - dist/font-awesome/svgs/brands/angellist.svg | 1 - dist/font-awesome/svgs/brands/angrycreative.svg | 1 - dist/font-awesome/svgs/brands/angular.svg | 1 - dist/font-awesome/svgs/brands/app-store-ios.svg | 1 - dist/font-awesome/svgs/brands/app-store.svg | 1 - dist/font-awesome/svgs/brands/apper.svg | 1 - dist/font-awesome/svgs/brands/apple-pay.svg | 1 - dist/font-awesome/svgs/brands/apple.svg | 1 - dist/font-awesome/svgs/brands/artstation.svg | 1 - dist/font-awesome/svgs/brands/asymmetrik.svg | 1 - dist/font-awesome/svgs/brands/atlassian.svg | 1 - dist/font-awesome/svgs/brands/audible.svg | 1 - dist/font-awesome/svgs/brands/autoprefixer.svg | 1 - dist/font-awesome/svgs/brands/avianex.svg | 1 - dist/font-awesome/svgs/brands/aviato.svg | 1 - dist/font-awesome/svgs/brands/aws.svg | 1 - dist/font-awesome/svgs/brands/bandcamp.svg | 1 - dist/font-awesome/svgs/brands/behance-square.svg | 1 - dist/font-awesome/svgs/brands/behance.svg | 1 - dist/font-awesome/svgs/brands/bimobject.svg | 1 - dist/font-awesome/svgs/brands/bitbucket.svg | 1 - dist/font-awesome/svgs/brands/bitcoin.svg | 1 - dist/font-awesome/svgs/brands/bity.svg | 1 - dist/font-awesome/svgs/brands/black-tie.svg | 1 - dist/font-awesome/svgs/brands/blackberry.svg | 1 - dist/font-awesome/svgs/brands/blogger-b.svg | 1 - dist/font-awesome/svgs/brands/blogger.svg | 1 - dist/font-awesome/svgs/brands/bluetooth-b.svg | 1 - dist/font-awesome/svgs/brands/bluetooth.svg | 1 - dist/font-awesome/svgs/brands/btc.svg | 1 - dist/font-awesome/svgs/brands/buromobelexperte.svg | 1 - dist/font-awesome/svgs/brands/buysellads.svg | 1 - .../svgs/brands/canadian-maple-leaf.svg | 1 - dist/font-awesome/svgs/brands/cc-amazon-pay.svg | 1 - dist/font-awesome/svgs/brands/cc-amex.svg | 1 - dist/font-awesome/svgs/brands/cc-apple-pay.svg | 1 - dist/font-awesome/svgs/brands/cc-diners-club.svg | 1 - dist/font-awesome/svgs/brands/cc-discover.svg | 1 - dist/font-awesome/svgs/brands/cc-jcb.svg | 1 - dist/font-awesome/svgs/brands/cc-mastercard.svg | 1 - dist/font-awesome/svgs/brands/cc-paypal.svg | 1 - dist/font-awesome/svgs/brands/cc-stripe.svg | 1 - dist/font-awesome/svgs/brands/cc-visa.svg | 1 - dist/font-awesome/svgs/brands/centercode.svg | 1 - dist/font-awesome/svgs/brands/centos.svg | 1 - dist/font-awesome/svgs/brands/chrome.svg | 1 - dist/font-awesome/svgs/brands/cloudscale.svg | 1 - dist/font-awesome/svgs/brands/cloudsmith.svg | 1 - dist/font-awesome/svgs/brands/cloudversify.svg | 1 - dist/font-awesome/svgs/brands/codepen.svg | 1 - dist/font-awesome/svgs/brands/codiepie.svg | 1 - dist/font-awesome/svgs/brands/confluence.svg | 1 - dist/font-awesome/svgs/brands/connectdevelop.svg | 1 - dist/font-awesome/svgs/brands/contao.svg | 1 - dist/font-awesome/svgs/brands/cpanel.svg | 1 - .../svgs/brands/creative-commons-by.svg | 1 - .../svgs/brands/creative-commons-nc-eu.svg | 1 - .../svgs/brands/creative-commons-nc-jp.svg | 1 - .../svgs/brands/creative-commons-nc.svg | 1 - .../svgs/brands/creative-commons-nd.svg | 1 - .../svgs/brands/creative-commons-pd-alt.svg | 1 - .../svgs/brands/creative-commons-pd.svg | 1 - .../svgs/brands/creative-commons-remix.svg | 1 - .../svgs/brands/creative-commons-sa.svg | 1 - .../svgs/brands/creative-commons-sampling-plus.svg | 1 - .../svgs/brands/creative-commons-sampling.svg | 1 - .../svgs/brands/creative-commons-share.svg | 1 - .../svgs/brands/creative-commons-zero.svg | 1 - dist/font-awesome/svgs/brands/creative-commons.svg | 1 - dist/font-awesome/svgs/brands/critical-role.svg | 1 - dist/font-awesome/svgs/brands/css3-alt.svg | 1 - dist/font-awesome/svgs/brands/css3.svg | 1 - dist/font-awesome/svgs/brands/cuttlefish.svg | 1 - dist/font-awesome/svgs/brands/d-and-d-beyond.svg | 1 - dist/font-awesome/svgs/brands/d-and-d.svg | 1 - dist/font-awesome/svgs/brands/dashcube.svg | 1 - dist/font-awesome/svgs/brands/delicious.svg | 1 - dist/font-awesome/svgs/brands/deploydog.svg | 1 - dist/font-awesome/svgs/brands/deskpro.svg | 1 - dist/font-awesome/svgs/brands/dev.svg | 1 - dist/font-awesome/svgs/brands/deviantart.svg | 1 - dist/font-awesome/svgs/brands/dhl.svg | 1 - dist/font-awesome/svgs/brands/diaspora.svg | 1 - dist/font-awesome/svgs/brands/digg.svg | 1 - dist/font-awesome/svgs/brands/digital-ocean.svg | 1 - dist/font-awesome/svgs/brands/discord.svg | 1 - dist/font-awesome/svgs/brands/discourse.svg | 1 - dist/font-awesome/svgs/brands/dochub.svg | 1 - dist/font-awesome/svgs/brands/docker.svg | 1 - dist/font-awesome/svgs/brands/draft2digital.svg | 1 - dist/font-awesome/svgs/brands/dribbble-square.svg | 1 - dist/font-awesome/svgs/brands/dribbble.svg | 1 - dist/font-awesome/svgs/brands/dropbox.svg | 1 - dist/font-awesome/svgs/brands/drupal.svg | 1 - dist/font-awesome/svgs/brands/dyalog.svg | 1 - dist/font-awesome/svgs/brands/earlybirds.svg | 1 - dist/font-awesome/svgs/brands/ebay.svg | 1 - dist/font-awesome/svgs/brands/edge.svg | 1 - dist/font-awesome/svgs/brands/elementor.svg | 1 - dist/font-awesome/svgs/brands/ello.svg | 1 - dist/font-awesome/svgs/brands/ember.svg | 1 - dist/font-awesome/svgs/brands/empire.svg | 1 - dist/font-awesome/svgs/brands/envira.svg | 1 - dist/font-awesome/svgs/brands/erlang.svg | 1 - dist/font-awesome/svgs/brands/ethereum.svg | 1 - dist/font-awesome/svgs/brands/etsy.svg | 1 - dist/font-awesome/svgs/brands/expeditedssl.svg | 1 - dist/font-awesome/svgs/brands/facebook-f.svg | 1 - .../svgs/brands/facebook-messenger.svg | 1 - dist/font-awesome/svgs/brands/facebook-square.svg | 1 - dist/font-awesome/svgs/brands/facebook.svg | 1 - .../svgs/brands/fantasy-flight-games.svg | 1 - dist/font-awesome/svgs/brands/fedex.svg | 1 - dist/font-awesome/svgs/brands/fedora.svg | 1 - dist/font-awesome/svgs/brands/figma.svg | 1 - dist/font-awesome/svgs/brands/firefox.svg | 1 - dist/font-awesome/svgs/brands/first-order-alt.svg | 1 - dist/font-awesome/svgs/brands/first-order.svg | 1 - dist/font-awesome/svgs/brands/firstdraft.svg | 1 - dist/font-awesome/svgs/brands/flickr.svg | 1 - dist/font-awesome/svgs/brands/flipboard.svg | 1 - dist/font-awesome/svgs/brands/fly.svg | 1 - dist/font-awesome/svgs/brands/font-awesome-alt.svg | 1 - .../font-awesome/svgs/brands/font-awesome-flag.svg | 1 - .../svgs/brands/font-awesome-logo-full.svg | 1 - dist/font-awesome/svgs/brands/font-awesome.svg | 1 - dist/font-awesome/svgs/brands/fonticons-fi.svg | 1 - dist/font-awesome/svgs/brands/fonticons.svg | 1 - dist/font-awesome/svgs/brands/fort-awesome-alt.svg | 1 - dist/font-awesome/svgs/brands/fort-awesome.svg | 1 - dist/font-awesome/svgs/brands/forumbee.svg | 1 - dist/font-awesome/svgs/brands/foursquare.svg | 1 - dist/font-awesome/svgs/brands/free-code-camp.svg | 1 - dist/font-awesome/svgs/brands/freebsd.svg | 1 - dist/font-awesome/svgs/brands/fulcrum.svg | 1 - .../font-awesome/svgs/brands/galactic-republic.svg | 1 - dist/font-awesome/svgs/brands/galactic-senate.svg | 1 - dist/font-awesome/svgs/brands/get-pocket.svg | 1 - dist/font-awesome/svgs/brands/gg-circle.svg | 1 - dist/font-awesome/svgs/brands/gg.svg | 1 - dist/font-awesome/svgs/brands/git-square.svg | 1 - dist/font-awesome/svgs/brands/git.svg | 1 - dist/font-awesome/svgs/brands/github-alt.svg | 1 - dist/font-awesome/svgs/brands/github-square.svg | 1 - dist/font-awesome/svgs/brands/github.svg | 1 - dist/font-awesome/svgs/brands/gitkraken.svg | 1 - dist/font-awesome/svgs/brands/gitlab.svg | 1 - dist/font-awesome/svgs/brands/gitter.svg | 1 - dist/font-awesome/svgs/brands/glide-g.svg | 1 - dist/font-awesome/svgs/brands/glide.svg | 1 - dist/font-awesome/svgs/brands/gofore.svg | 1 - dist/font-awesome/svgs/brands/goodreads-g.svg | 1 - dist/font-awesome/svgs/brands/goodreads.svg | 1 - dist/font-awesome/svgs/brands/google-drive.svg | 1 - dist/font-awesome/svgs/brands/google-play.svg | 1 - dist/font-awesome/svgs/brands/google-plus-g.svg | 1 - .../svgs/brands/google-plus-square.svg | 1 - dist/font-awesome/svgs/brands/google-plus.svg | 1 - dist/font-awesome/svgs/brands/google-wallet.svg | 1 - dist/font-awesome/svgs/brands/google.svg | 1 - dist/font-awesome/svgs/brands/gratipay.svg | 1 - dist/font-awesome/svgs/brands/grav.svg | 1 - dist/font-awesome/svgs/brands/gripfire.svg | 1 - dist/font-awesome/svgs/brands/grunt.svg | 1 - dist/font-awesome/svgs/brands/gulp.svg | 1 - .../svgs/brands/hacker-news-square.svg | 1 - dist/font-awesome/svgs/brands/hacker-news.svg | 1 - dist/font-awesome/svgs/brands/hackerrank.svg | 1 - dist/font-awesome/svgs/brands/hips.svg | 1 - dist/font-awesome/svgs/brands/hire-a-helper.svg | 1 - dist/font-awesome/svgs/brands/hooli.svg | 1 - dist/font-awesome/svgs/brands/hornbill.svg | 1 - dist/font-awesome/svgs/brands/hotjar.svg | 1 - dist/font-awesome/svgs/brands/houzz.svg | 1 - dist/font-awesome/svgs/brands/html5.svg | 1 - dist/font-awesome/svgs/brands/hubspot.svg | 1 - dist/font-awesome/svgs/brands/imdb.svg | 1 - dist/font-awesome/svgs/brands/instagram.svg | 1 - dist/font-awesome/svgs/brands/intercom.svg | 1 - .../font-awesome/svgs/brands/internet-explorer.svg | 1 - dist/font-awesome/svgs/brands/invision.svg | 1 - dist/font-awesome/svgs/brands/ioxhost.svg | 1 - dist/font-awesome/svgs/brands/itunes-note.svg | 1 - dist/font-awesome/svgs/brands/itunes.svg | 1 - dist/font-awesome/svgs/brands/java.svg | 1 - dist/font-awesome/svgs/brands/jedi-order.svg | 1 - dist/font-awesome/svgs/brands/jenkins.svg | 1 - dist/font-awesome/svgs/brands/jira.svg | 1 - dist/font-awesome/svgs/brands/joget.svg | 1 - dist/font-awesome/svgs/brands/joomla.svg | 1 - dist/font-awesome/svgs/brands/js-square.svg | 1 - dist/font-awesome/svgs/brands/js.svg | 1 - dist/font-awesome/svgs/brands/jsfiddle.svg | 1 - dist/font-awesome/svgs/brands/kaggle.svg | 1 - dist/font-awesome/svgs/brands/keybase.svg | 1 - dist/font-awesome/svgs/brands/keycdn.svg | 1 - dist/font-awesome/svgs/brands/kickstarter-k.svg | 1 - dist/font-awesome/svgs/brands/kickstarter.svg | 1 - dist/font-awesome/svgs/brands/korvue.svg | 1 - dist/font-awesome/svgs/brands/laravel.svg | 1 - dist/font-awesome/svgs/brands/lastfm-square.svg | 1 - dist/font-awesome/svgs/brands/lastfm.svg | 1 - dist/font-awesome/svgs/brands/leanpub.svg | 1 - dist/font-awesome/svgs/brands/less.svg | 1 - dist/font-awesome/svgs/brands/line.svg | 1 - dist/font-awesome/svgs/brands/linkedin-in.svg | 1 - dist/font-awesome/svgs/brands/linkedin.svg | 1 - dist/font-awesome/svgs/brands/linode.svg | 1 - dist/font-awesome/svgs/brands/linux.svg | 1 - dist/font-awesome/svgs/brands/lyft.svg | 1 - dist/font-awesome/svgs/brands/magento.svg | 1 - dist/font-awesome/svgs/brands/mailchimp.svg | 1 - dist/font-awesome/svgs/brands/mandalorian.svg | 1 - dist/font-awesome/svgs/brands/markdown.svg | 1 - dist/font-awesome/svgs/brands/mastodon.svg | 1 - dist/font-awesome/svgs/brands/maxcdn.svg | 1 - dist/font-awesome/svgs/brands/medapps.svg | 1 - dist/font-awesome/svgs/brands/medium-m.svg | 1 - dist/font-awesome/svgs/brands/medium.svg | 1 - dist/font-awesome/svgs/brands/medrt.svg | 1 - dist/font-awesome/svgs/brands/meetup.svg | 1 - dist/font-awesome/svgs/brands/megaport.svg | 1 - dist/font-awesome/svgs/brands/mendeley.svg | 1 - dist/font-awesome/svgs/brands/microsoft.svg | 1 - dist/font-awesome/svgs/brands/mix.svg | 1 - dist/font-awesome/svgs/brands/mixcloud.svg | 1 - dist/font-awesome/svgs/brands/mizuni.svg | 1 - dist/font-awesome/svgs/brands/modx.svg | 1 - dist/font-awesome/svgs/brands/monero.svg | 1 - dist/font-awesome/svgs/brands/napster.svg | 1 - dist/font-awesome/svgs/brands/neos.svg | 1 - dist/font-awesome/svgs/brands/nimblr.svg | 1 - dist/font-awesome/svgs/brands/nintendo-switch.svg | 1 - dist/font-awesome/svgs/brands/node-js.svg | 1 - dist/font-awesome/svgs/brands/node.svg | 1 - dist/font-awesome/svgs/brands/npm.svg | 1 - dist/font-awesome/svgs/brands/ns8.svg | 1 - dist/font-awesome/svgs/brands/nutritionix.svg | 1 - .../svgs/brands/odnoklassniki-square.svg | 1 - dist/font-awesome/svgs/brands/odnoklassniki.svg | 1 - dist/font-awesome/svgs/brands/old-republic.svg | 1 - dist/font-awesome/svgs/brands/opencart.svg | 1 - dist/font-awesome/svgs/brands/openid.svg | 1 - dist/font-awesome/svgs/brands/opera.svg | 1 - dist/font-awesome/svgs/brands/optin-monster.svg | 1 - dist/font-awesome/svgs/brands/osi.svg | 1 - dist/font-awesome/svgs/brands/page4.svg | 1 - dist/font-awesome/svgs/brands/pagelines.svg | 1 - dist/font-awesome/svgs/brands/palfed.svg | 1 - dist/font-awesome/svgs/brands/patreon.svg | 1 - dist/font-awesome/svgs/brands/paypal.svg | 1 - dist/font-awesome/svgs/brands/penny-arcade.svg | 1 - dist/font-awesome/svgs/brands/periscope.svg | 1 - dist/font-awesome/svgs/brands/phabricator.svg | 1 - .../font-awesome/svgs/brands/phoenix-framework.svg | 1 - dist/font-awesome/svgs/brands/phoenix-squadron.svg | 1 - dist/font-awesome/svgs/brands/php.svg | 1 - dist/font-awesome/svgs/brands/pied-piper-alt.svg | 1 - dist/font-awesome/svgs/brands/pied-piper-hat.svg | 1 - dist/font-awesome/svgs/brands/pied-piper-pp.svg | 1 - dist/font-awesome/svgs/brands/pied-piper.svg | 1 - dist/font-awesome/svgs/brands/pinterest-p.svg | 1 - dist/font-awesome/svgs/brands/pinterest-square.svg | 1 - dist/font-awesome/svgs/brands/pinterest.svg | 1 - dist/font-awesome/svgs/brands/playstation.svg | 1 - dist/font-awesome/svgs/brands/product-hunt.svg | 1 - dist/font-awesome/svgs/brands/pushed.svg | 1 - dist/font-awesome/svgs/brands/python.svg | 1 - dist/font-awesome/svgs/brands/qq.svg | 1 - dist/font-awesome/svgs/brands/quinscape.svg | 1 - dist/font-awesome/svgs/brands/quora.svg | 1 - dist/font-awesome/svgs/brands/r-project.svg | 1 - dist/font-awesome/svgs/brands/raspberry-pi.svg | 1 - dist/font-awesome/svgs/brands/ravelry.svg | 1 - dist/font-awesome/svgs/brands/react.svg | 1 - dist/font-awesome/svgs/brands/reacteurope.svg | 1 - dist/font-awesome/svgs/brands/readme.svg | 1 - dist/font-awesome/svgs/brands/rebel.svg | 1 - dist/font-awesome/svgs/brands/red-river.svg | 1 - dist/font-awesome/svgs/brands/reddit-alien.svg | 1 - dist/font-awesome/svgs/brands/reddit-square.svg | 1 - dist/font-awesome/svgs/brands/reddit.svg | 1 - dist/font-awesome/svgs/brands/redhat.svg | 1 - dist/font-awesome/svgs/brands/renren.svg | 1 - dist/font-awesome/svgs/brands/replyd.svg | 1 - dist/font-awesome/svgs/brands/researchgate.svg | 1 - dist/font-awesome/svgs/brands/resolving.svg | 1 - dist/font-awesome/svgs/brands/rev.svg | 1 - dist/font-awesome/svgs/brands/rocketchat.svg | 1 - dist/font-awesome/svgs/brands/rockrms.svg | 1 - dist/font-awesome/svgs/brands/safari.svg | 1 - dist/font-awesome/svgs/brands/sass.svg | 1 - dist/font-awesome/svgs/brands/schlix.svg | 1 - dist/font-awesome/svgs/brands/scribd.svg | 1 - dist/font-awesome/svgs/brands/searchengin.svg | 1 - dist/font-awesome/svgs/brands/sellcast.svg | 1 - dist/font-awesome/svgs/brands/sellsy.svg | 1 - dist/font-awesome/svgs/brands/servicestack.svg | 1 - dist/font-awesome/svgs/brands/shirtsinbulk.svg | 1 - dist/font-awesome/svgs/brands/shopware.svg | 1 - dist/font-awesome/svgs/brands/simplybuilt.svg | 1 - dist/font-awesome/svgs/brands/sistrix.svg | 1 - dist/font-awesome/svgs/brands/sith.svg | 1 - dist/font-awesome/svgs/brands/sketch.svg | 1 - dist/font-awesome/svgs/brands/skyatlas.svg | 1 - dist/font-awesome/svgs/brands/skype.svg | 1 - dist/font-awesome/svgs/brands/slack-hash.svg | 1 - dist/font-awesome/svgs/brands/slack.svg | 1 - dist/font-awesome/svgs/brands/slideshare.svg | 1 - dist/font-awesome/svgs/brands/snapchat-ghost.svg | 1 - dist/font-awesome/svgs/brands/snapchat-square.svg | 1 - dist/font-awesome/svgs/brands/snapchat.svg | 1 - dist/font-awesome/svgs/brands/soundcloud.svg | 1 - dist/font-awesome/svgs/brands/sourcetree.svg | 1 - dist/font-awesome/svgs/brands/speakap.svg | 1 - dist/font-awesome/svgs/brands/spotify.svg | 1 - dist/font-awesome/svgs/brands/squarespace.svg | 1 - dist/font-awesome/svgs/brands/stack-exchange.svg | 1 - dist/font-awesome/svgs/brands/stack-overflow.svg | 1 - dist/font-awesome/svgs/brands/staylinked.svg | 1 - dist/font-awesome/svgs/brands/steam-square.svg | 1 - dist/font-awesome/svgs/brands/steam-symbol.svg | 1 - dist/font-awesome/svgs/brands/steam.svg | 1 - dist/font-awesome/svgs/brands/sticker-mule.svg | 1 - dist/font-awesome/svgs/brands/strava.svg | 1 - dist/font-awesome/svgs/brands/stripe-s.svg | 1 - dist/font-awesome/svgs/brands/stripe.svg | 1 - dist/font-awesome/svgs/brands/studiovinari.svg | 1 - .../svgs/brands/stumbleupon-circle.svg | 1 - dist/font-awesome/svgs/brands/stumbleupon.svg | 1 - dist/font-awesome/svgs/brands/superpowers.svg | 1 - dist/font-awesome/svgs/brands/supple.svg | 1 - dist/font-awesome/svgs/brands/suse.svg | 1 - dist/font-awesome/svgs/brands/teamspeak.svg | 1 - dist/font-awesome/svgs/brands/telegram-plane.svg | 1 - dist/font-awesome/svgs/brands/telegram.svg | 1 - dist/font-awesome/svgs/brands/tencent-weibo.svg | 1 - dist/font-awesome/svgs/brands/the-red-yeti.svg | 1 - dist/font-awesome/svgs/brands/themeco.svg | 1 - dist/font-awesome/svgs/brands/themeisle.svg | 1 - dist/font-awesome/svgs/brands/think-peaks.svg | 1 - dist/font-awesome/svgs/brands/trade-federation.svg | 1 - dist/font-awesome/svgs/brands/trello.svg | 1 - dist/font-awesome/svgs/brands/tripadvisor.svg | 1 - dist/font-awesome/svgs/brands/tumblr-square.svg | 1 - dist/font-awesome/svgs/brands/tumblr.svg | 1 - dist/font-awesome/svgs/brands/twitch.svg | 1 - dist/font-awesome/svgs/brands/twitter-square.svg | 1 - dist/font-awesome/svgs/brands/twitter.svg | 1 - dist/font-awesome/svgs/brands/typo3.svg | 1 - dist/font-awesome/svgs/brands/uber.svg | 1 - dist/font-awesome/svgs/brands/ubuntu.svg | 1 - dist/font-awesome/svgs/brands/uikit.svg | 1 - dist/font-awesome/svgs/brands/uniregistry.svg | 1 - dist/font-awesome/svgs/brands/untappd.svg | 1 - dist/font-awesome/svgs/brands/ups.svg | 1 - dist/font-awesome/svgs/brands/usb.svg | 1 - dist/font-awesome/svgs/brands/usps.svg | 1 - dist/font-awesome/svgs/brands/ussunnah.svg | 1 - dist/font-awesome/svgs/brands/vaadin.svg | 1 - dist/font-awesome/svgs/brands/viacoin.svg | 1 - dist/font-awesome/svgs/brands/viadeo-square.svg | 1 - dist/font-awesome/svgs/brands/viadeo.svg | 1 - dist/font-awesome/svgs/brands/viber.svg | 1 - dist/font-awesome/svgs/brands/vimeo-square.svg | 1 - dist/font-awesome/svgs/brands/vimeo-v.svg | 1 - dist/font-awesome/svgs/brands/vimeo.svg | 1 - dist/font-awesome/svgs/brands/vine.svg | 1 - dist/font-awesome/svgs/brands/vk.svg | 1 - dist/font-awesome/svgs/brands/vnv.svg | 1 - dist/font-awesome/svgs/brands/vuejs.svg | 1 - dist/font-awesome/svgs/brands/weebly.svg | 1 - dist/font-awesome/svgs/brands/weibo.svg | 1 - dist/font-awesome/svgs/brands/weixin.svg | 1 - dist/font-awesome/svgs/brands/whatsapp-square.svg | 1 - dist/font-awesome/svgs/brands/whatsapp.svg | 1 - dist/font-awesome/svgs/brands/whmcs.svg | 1 - dist/font-awesome/svgs/brands/wikipedia-w.svg | 1 - dist/font-awesome/svgs/brands/windows.svg | 1 - dist/font-awesome/svgs/brands/wix.svg | 1 - .../svgs/brands/wizards-of-the-coast.svg | 1 - .../svgs/brands/wolf-pack-battalion.svg | 1 - dist/font-awesome/svgs/brands/wordpress-simple.svg | 1 - dist/font-awesome/svgs/brands/wordpress.svg | 1 - dist/font-awesome/svgs/brands/wpbeginner.svg | 1 - dist/font-awesome/svgs/brands/wpexplorer.svg | 1 - dist/font-awesome/svgs/brands/wpforms.svg | 1 - dist/font-awesome/svgs/brands/wpressr.svg | 1 - dist/font-awesome/svgs/brands/xbox.svg | 1 - dist/font-awesome/svgs/brands/xing-square.svg | 1 - dist/font-awesome/svgs/brands/xing.svg | 1 - dist/font-awesome/svgs/brands/y-combinator.svg | 1 - dist/font-awesome/svgs/brands/yahoo.svg | 1 - .../svgs/brands/yandex-international.svg | 1 - dist/font-awesome/svgs/brands/yandex.svg | 1 - dist/font-awesome/svgs/brands/yarn.svg | 1 - dist/font-awesome/svgs/brands/yelp.svg | 1 - dist/font-awesome/svgs/brands/yoast.svg | 1 - dist/font-awesome/svgs/brands/youtube-square.svg | 1 - dist/font-awesome/svgs/brands/youtube.svg | 1 - dist/font-awesome/svgs/brands/zhihu.svg | 1 - dist/font-awesome/svgs/regular/address-book.svg | 1 - dist/font-awesome/svgs/regular/address-card.svg | 1 - dist/font-awesome/svgs/regular/angry.svg | 1 - .../svgs/regular/arrow-alt-circle-down.svg | 1 - .../svgs/regular/arrow-alt-circle-left.svg | 1 - .../svgs/regular/arrow-alt-circle-right.svg | 1 - .../svgs/regular/arrow-alt-circle-up.svg | 1 - dist/font-awesome/svgs/regular/bell-slash.svg | 1 - dist/font-awesome/svgs/regular/bell.svg | 1 - dist/font-awesome/svgs/regular/bookmark.svg | 1 - dist/font-awesome/svgs/regular/building.svg | 1 - dist/font-awesome/svgs/regular/calendar-alt.svg | 1 - dist/font-awesome/svgs/regular/calendar-check.svg | 1 - dist/font-awesome/svgs/regular/calendar-minus.svg | 1 - dist/font-awesome/svgs/regular/calendar-plus.svg | 1 - dist/font-awesome/svgs/regular/calendar-times.svg | 1 - dist/font-awesome/svgs/regular/calendar.svg | 1 - .../svgs/regular/caret-square-down.svg | 1 - .../svgs/regular/caret-square-left.svg | 1 - .../svgs/regular/caret-square-right.svg | 1 - dist/font-awesome/svgs/regular/caret-square-up.svg | 1 - dist/font-awesome/svgs/regular/chart-bar.svg | 1 - dist/font-awesome/svgs/regular/check-circle.svg | 1 - dist/font-awesome/svgs/regular/check-square.svg | 1 - dist/font-awesome/svgs/regular/circle.svg | 1 - dist/font-awesome/svgs/regular/clipboard.svg | 1 - dist/font-awesome/svgs/regular/clock.svg | 1 - dist/font-awesome/svgs/regular/clone.svg | 1 - .../svgs/regular/closed-captioning.svg | 1 - dist/font-awesome/svgs/regular/comment-alt.svg | 1 - dist/font-awesome/svgs/regular/comment-dots.svg | 1 - dist/font-awesome/svgs/regular/comment.svg | 1 - dist/font-awesome/svgs/regular/comments.svg | 1 - dist/font-awesome/svgs/regular/compass.svg | 1 - dist/font-awesome/svgs/regular/copy.svg | 1 - dist/font-awesome/svgs/regular/copyright.svg | 1 - dist/font-awesome/svgs/regular/credit-card.svg | 1 - dist/font-awesome/svgs/regular/dizzy.svg | 1 - dist/font-awesome/svgs/regular/dot-circle.svg | 1 - dist/font-awesome/svgs/regular/edit.svg | 1 - dist/font-awesome/svgs/regular/envelope-open.svg | 1 - dist/font-awesome/svgs/regular/envelope.svg | 1 - dist/font-awesome/svgs/regular/eye-slash.svg | 1 - dist/font-awesome/svgs/regular/eye.svg | 1 - dist/font-awesome/svgs/regular/file-alt.svg | 1 - dist/font-awesome/svgs/regular/file-archive.svg | 1 - dist/font-awesome/svgs/regular/file-audio.svg | 1 - dist/font-awesome/svgs/regular/file-code.svg | 1 - dist/font-awesome/svgs/regular/file-excel.svg | 1 - dist/font-awesome/svgs/regular/file-image.svg | 1 - dist/font-awesome/svgs/regular/file-pdf.svg | 1 - dist/font-awesome/svgs/regular/file-powerpoint.svg | 1 - dist/font-awesome/svgs/regular/file-video.svg | 1 - dist/font-awesome/svgs/regular/file-word.svg | 1 - dist/font-awesome/svgs/regular/file.svg | 1 - dist/font-awesome/svgs/regular/flag.svg | 1 - dist/font-awesome/svgs/regular/flushed.svg | 1 - dist/font-awesome/svgs/regular/folder-open.svg | 1 - dist/font-awesome/svgs/regular/folder.svg | 1 - .../svgs/regular/font-awesome-logo-full.svg | 1 - dist/font-awesome/svgs/regular/frown-open.svg | 1 - dist/font-awesome/svgs/regular/frown.svg | 1 - dist/font-awesome/svgs/regular/futbol.svg | 1 - dist/font-awesome/svgs/regular/gem.svg | 1 - dist/font-awesome/svgs/regular/grimace.svg | 1 - dist/font-awesome/svgs/regular/grin-alt.svg | 1 - dist/font-awesome/svgs/regular/grin-beam-sweat.svg | 1 - dist/font-awesome/svgs/regular/grin-beam.svg | 1 - dist/font-awesome/svgs/regular/grin-hearts.svg | 1 - .../svgs/regular/grin-squint-tears.svg | 1 - dist/font-awesome/svgs/regular/grin-squint.svg | 1 - dist/font-awesome/svgs/regular/grin-stars.svg | 1 - dist/font-awesome/svgs/regular/grin-tears.svg | 1 - .../svgs/regular/grin-tongue-squint.svg | 1 - .../font-awesome/svgs/regular/grin-tongue-wink.svg | 1 - dist/font-awesome/svgs/regular/grin-tongue.svg | 1 - dist/font-awesome/svgs/regular/grin-wink.svg | 1 - dist/font-awesome/svgs/regular/grin.svg | 1 - dist/font-awesome/svgs/regular/hand-lizard.svg | 1 - dist/font-awesome/svgs/regular/hand-paper.svg | 1 - dist/font-awesome/svgs/regular/hand-peace.svg | 1 - dist/font-awesome/svgs/regular/hand-point-down.svg | 1 - dist/font-awesome/svgs/regular/hand-point-left.svg | 1 - .../font-awesome/svgs/regular/hand-point-right.svg | 1 - dist/font-awesome/svgs/regular/hand-point-up.svg | 1 - dist/font-awesome/svgs/regular/hand-pointer.svg | 1 - dist/font-awesome/svgs/regular/hand-rock.svg | 1 - dist/font-awesome/svgs/regular/hand-scissors.svg | 1 - dist/font-awesome/svgs/regular/hand-spock.svg | 1 - dist/font-awesome/svgs/regular/handshake.svg | 1 - dist/font-awesome/svgs/regular/hdd.svg | 1 - dist/font-awesome/svgs/regular/heart.svg | 1 - dist/font-awesome/svgs/regular/hospital.svg | 1 - dist/font-awesome/svgs/regular/hourglass.svg | 1 - dist/font-awesome/svgs/regular/id-badge.svg | 1 - dist/font-awesome/svgs/regular/id-card.svg | 1 - dist/font-awesome/svgs/regular/image.svg | 1 - dist/font-awesome/svgs/regular/images.svg | 1 - dist/font-awesome/svgs/regular/keyboard.svg | 1 - dist/font-awesome/svgs/regular/kiss-beam.svg | 1 - dist/font-awesome/svgs/regular/kiss-wink-heart.svg | 1 - dist/font-awesome/svgs/regular/kiss.svg | 1 - dist/font-awesome/svgs/regular/laugh-beam.svg | 1 - dist/font-awesome/svgs/regular/laugh-squint.svg | 1 - dist/font-awesome/svgs/regular/laugh-wink.svg | 1 - dist/font-awesome/svgs/regular/laugh.svg | 1 - dist/font-awesome/svgs/regular/lemon.svg | 1 - dist/font-awesome/svgs/regular/life-ring.svg | 1 - dist/font-awesome/svgs/regular/lightbulb.svg | 1 - dist/font-awesome/svgs/regular/list-alt.svg | 1 - dist/font-awesome/svgs/regular/map.svg | 1 - dist/font-awesome/svgs/regular/meh-blank.svg | 1 - .../font-awesome/svgs/regular/meh-rolling-eyes.svg | 1 - dist/font-awesome/svgs/regular/meh.svg | 1 - dist/font-awesome/svgs/regular/minus-square.svg | 1 - dist/font-awesome/svgs/regular/money-bill-alt.svg | 1 - dist/font-awesome/svgs/regular/moon.svg | 1 - dist/font-awesome/svgs/regular/newspaper.svg | 1 - dist/font-awesome/svgs/regular/object-group.svg | 1 - dist/font-awesome/svgs/regular/object-ungroup.svg | 1 - dist/font-awesome/svgs/regular/paper-plane.svg | 1 - dist/font-awesome/svgs/regular/pause-circle.svg | 1 - dist/font-awesome/svgs/regular/play-circle.svg | 1 - dist/font-awesome/svgs/regular/plus-square.svg | 1 - dist/font-awesome/svgs/regular/question-circle.svg | 1 - dist/font-awesome/svgs/regular/registered.svg | 1 - dist/font-awesome/svgs/regular/sad-cry.svg | 1 - dist/font-awesome/svgs/regular/sad-tear.svg | 1 - dist/font-awesome/svgs/regular/save.svg | 1 - dist/font-awesome/svgs/regular/share-square.svg | 1 - dist/font-awesome/svgs/regular/smile-beam.svg | 1 - dist/font-awesome/svgs/regular/smile-wink.svg | 1 - dist/font-awesome/svgs/regular/smile.svg | 1 - dist/font-awesome/svgs/regular/snowflake.svg | 1 - dist/font-awesome/svgs/regular/square.svg | 1 - dist/font-awesome/svgs/regular/star-half.svg | 1 - dist/font-awesome/svgs/regular/star.svg | 1 - dist/font-awesome/svgs/regular/sticky-note.svg | 1 - dist/font-awesome/svgs/regular/stop-circle.svg | 1 - dist/font-awesome/svgs/regular/sun.svg | 1 - dist/font-awesome/svgs/regular/surprise.svg | 1 - dist/font-awesome/svgs/regular/thumbs-down.svg | 1 - dist/font-awesome/svgs/regular/thumbs-up.svg | 1 - dist/font-awesome/svgs/regular/times-circle.svg | 1 - dist/font-awesome/svgs/regular/tired.svg | 1 - dist/font-awesome/svgs/regular/trash-alt.svg | 1 - dist/font-awesome/svgs/regular/user-circle.svg | 1 - dist/font-awesome/svgs/regular/user.svg | 1 - dist/font-awesome/svgs/regular/window-close.svg | 1 - dist/font-awesome/svgs/regular/window-maximize.svg | 1 - dist/font-awesome/svgs/regular/window-minimize.svg | 1 - dist/font-awesome/svgs/regular/window-restore.svg | 1 - dist/font-awesome/svgs/solid/ad.svg | 1 - dist/font-awesome/svgs/solid/address-book.svg | 1 - dist/font-awesome/svgs/solid/address-card.svg | 1 - dist/font-awesome/svgs/solid/adjust.svg | 1 - dist/font-awesome/svgs/solid/air-freshener.svg | 1 - dist/font-awesome/svgs/solid/align-center.svg | 1 - dist/font-awesome/svgs/solid/align-justify.svg | 1 - dist/font-awesome/svgs/solid/align-left.svg | 1 - dist/font-awesome/svgs/solid/align-right.svg | 1 - dist/font-awesome/svgs/solid/allergies.svg | 1 - dist/font-awesome/svgs/solid/ambulance.svg | 1 - .../solid/american-sign-language-interpreting.svg | 1 - dist/font-awesome/svgs/solid/anchor.svg | 1 - dist/font-awesome/svgs/solid/angle-double-down.svg | 1 - dist/font-awesome/svgs/solid/angle-double-left.svg | 1 - .../font-awesome/svgs/solid/angle-double-right.svg | 1 - dist/font-awesome/svgs/solid/angle-double-up.svg | 1 - dist/font-awesome/svgs/solid/angle-down.svg | 1 - dist/font-awesome/svgs/solid/angle-left.svg | 1 - dist/font-awesome/svgs/solid/angle-right.svg | 1 - dist/font-awesome/svgs/solid/angle-up.svg | 1 - dist/font-awesome/svgs/solid/angry.svg | 1 - dist/font-awesome/svgs/solid/ankh.svg | 1 - dist/font-awesome/svgs/solid/apple-alt.svg | 1 - dist/font-awesome/svgs/solid/archive.svg | 1 - dist/font-awesome/svgs/solid/archway.svg | 1 - .../svgs/solid/arrow-alt-circle-down.svg | 1 - .../svgs/solid/arrow-alt-circle-left.svg | 1 - .../svgs/solid/arrow-alt-circle-right.svg | 1 - .../svgs/solid/arrow-alt-circle-up.svg | 1 - dist/font-awesome/svgs/solid/arrow-circle-down.svg | 1 - dist/font-awesome/svgs/solid/arrow-circle-left.svg | 1 - .../font-awesome/svgs/solid/arrow-circle-right.svg | 1 - dist/font-awesome/svgs/solid/arrow-circle-up.svg | 1 - dist/font-awesome/svgs/solid/arrow-down.svg | 1 - dist/font-awesome/svgs/solid/arrow-left.svg | 1 - dist/font-awesome/svgs/solid/arrow-right.svg | 1 - dist/font-awesome/svgs/solid/arrow-up.svg | 1 - dist/font-awesome/svgs/solid/arrows-alt-h.svg | 1 - dist/font-awesome/svgs/solid/arrows-alt-v.svg | 1 - dist/font-awesome/svgs/solid/arrows-alt.svg | 1 - .../svgs/solid/assistive-listening-systems.svg | 1 - dist/font-awesome/svgs/solid/asterisk.svg | 1 - dist/font-awesome/svgs/solid/at.svg | 1 - dist/font-awesome/svgs/solid/atlas.svg | 1 - dist/font-awesome/svgs/solid/atom.svg | 1 - dist/font-awesome/svgs/solid/audio-description.svg | 1 - dist/font-awesome/svgs/solid/award.svg | 1 - dist/font-awesome/svgs/solid/baby-carriage.svg | 1 - dist/font-awesome/svgs/solid/baby.svg | 1 - dist/font-awesome/svgs/solid/backspace.svg | 1 - dist/font-awesome/svgs/solid/backward.svg | 1 - dist/font-awesome/svgs/solid/bacon.svg | 1 - dist/font-awesome/svgs/solid/balance-scale.svg | 1 - dist/font-awesome/svgs/solid/ban.svg | 1 - dist/font-awesome/svgs/solid/band-aid.svg | 1 - dist/font-awesome/svgs/solid/barcode.svg | 1 - dist/font-awesome/svgs/solid/bars.svg | 1 - dist/font-awesome/svgs/solid/baseball-ball.svg | 1 - dist/font-awesome/svgs/solid/basketball-ball.svg | 1 - dist/font-awesome/svgs/solid/bath.svg | 1 - dist/font-awesome/svgs/solid/battery-empty.svg | 1 - dist/font-awesome/svgs/solid/battery-full.svg | 1 - dist/font-awesome/svgs/solid/battery-half.svg | 1 - dist/font-awesome/svgs/solid/battery-quarter.svg | 1 - .../svgs/solid/battery-three-quarters.svg | 1 - dist/font-awesome/svgs/solid/bed.svg | 1 - dist/font-awesome/svgs/solid/beer.svg | 1 - dist/font-awesome/svgs/solid/bell-slash.svg | 1 - dist/font-awesome/svgs/solid/bell.svg | 1 - dist/font-awesome/svgs/solid/bezier-curve.svg | 1 - dist/font-awesome/svgs/solid/bible.svg | 1 - dist/font-awesome/svgs/solid/bicycle.svg | 1 - dist/font-awesome/svgs/solid/binoculars.svg | 1 - dist/font-awesome/svgs/solid/biohazard.svg | 1 - dist/font-awesome/svgs/solid/birthday-cake.svg | 1 - dist/font-awesome/svgs/solid/blender-phone.svg | 1 - dist/font-awesome/svgs/solid/blender.svg | 1 - dist/font-awesome/svgs/solid/blind.svg | 1 - dist/font-awesome/svgs/solid/blog.svg | 1 - dist/font-awesome/svgs/solid/bold.svg | 1 - dist/font-awesome/svgs/solid/bolt.svg | 1 - dist/font-awesome/svgs/solid/bomb.svg | 1 - dist/font-awesome/svgs/solid/bone.svg | 1 - dist/font-awesome/svgs/solid/bong.svg | 1 - dist/font-awesome/svgs/solid/book-dead.svg | 1 - dist/font-awesome/svgs/solid/book-medical.svg | 1 - dist/font-awesome/svgs/solid/book-open.svg | 1 - dist/font-awesome/svgs/solid/book-reader.svg | 1 - dist/font-awesome/svgs/solid/book.svg | 1 - dist/font-awesome/svgs/solid/bookmark.svg | 1 - dist/font-awesome/svgs/solid/bowling-ball.svg | 1 - dist/font-awesome/svgs/solid/box-open.svg | 1 - dist/font-awesome/svgs/solid/box.svg | 1 - dist/font-awesome/svgs/solid/boxes.svg | 1 - dist/font-awesome/svgs/solid/braille.svg | 1 - dist/font-awesome/svgs/solid/brain.svg | 1 - dist/font-awesome/svgs/solid/bread-slice.svg | 1 - dist/font-awesome/svgs/solid/briefcase-medical.svg | 1 - dist/font-awesome/svgs/solid/briefcase.svg | 1 - dist/font-awesome/svgs/solid/broadcast-tower.svg | 1 - dist/font-awesome/svgs/solid/broom.svg | 1 - dist/font-awesome/svgs/solid/brush.svg | 1 - dist/font-awesome/svgs/solid/bug.svg | 1 - dist/font-awesome/svgs/solid/building.svg | 1 - dist/font-awesome/svgs/solid/bullhorn.svg | 1 - dist/font-awesome/svgs/solid/bullseye.svg | 1 - dist/font-awesome/svgs/solid/burn.svg | 1 - dist/font-awesome/svgs/solid/bus-alt.svg | 1 - dist/font-awesome/svgs/solid/bus.svg | 1 - dist/font-awesome/svgs/solid/business-time.svg | 1 - dist/font-awesome/svgs/solid/calculator.svg | 1 - dist/font-awesome/svgs/solid/calendar-alt.svg | 1 - dist/font-awesome/svgs/solid/calendar-check.svg | 1 - dist/font-awesome/svgs/solid/calendar-day.svg | 1 - dist/font-awesome/svgs/solid/calendar-minus.svg | 1 - dist/font-awesome/svgs/solid/calendar-plus.svg | 1 - dist/font-awesome/svgs/solid/calendar-times.svg | 1 - dist/font-awesome/svgs/solid/calendar-week.svg | 1 - dist/font-awesome/svgs/solid/calendar.svg | 1 - dist/font-awesome/svgs/solid/camera-retro.svg | 1 - dist/font-awesome/svgs/solid/camera.svg | 1 - dist/font-awesome/svgs/solid/campground.svg | 1 - dist/font-awesome/svgs/solid/candy-cane.svg | 1 - dist/font-awesome/svgs/solid/cannabis.svg | 1 - dist/font-awesome/svgs/solid/capsules.svg | 1 - dist/font-awesome/svgs/solid/car-alt.svg | 1 - dist/font-awesome/svgs/solid/car-battery.svg | 1 - dist/font-awesome/svgs/solid/car-crash.svg | 1 - dist/font-awesome/svgs/solid/car-side.svg | 1 - dist/font-awesome/svgs/solid/car.svg | 1 - dist/font-awesome/svgs/solid/caret-down.svg | 1 - dist/font-awesome/svgs/solid/caret-left.svg | 1 - dist/font-awesome/svgs/solid/caret-right.svg | 1 - dist/font-awesome/svgs/solid/caret-square-down.svg | 1 - dist/font-awesome/svgs/solid/caret-square-left.svg | 1 - .../font-awesome/svgs/solid/caret-square-right.svg | 1 - dist/font-awesome/svgs/solid/caret-square-up.svg | 1 - dist/font-awesome/svgs/solid/caret-up.svg | 1 - dist/font-awesome/svgs/solid/carrot.svg | 1 - dist/font-awesome/svgs/solid/cart-arrow-down.svg | 1 - dist/font-awesome/svgs/solid/cart-plus.svg | 1 - dist/font-awesome/svgs/solid/cash-register.svg | 1 - dist/font-awesome/svgs/solid/cat.svg | 1 - dist/font-awesome/svgs/solid/certificate.svg | 1 - dist/font-awesome/svgs/solid/chair.svg | 1 - .../font-awesome/svgs/solid/chalkboard-teacher.svg | 1 - dist/font-awesome/svgs/solid/chalkboard.svg | 1 - dist/font-awesome/svgs/solid/charging-station.svg | 1 - dist/font-awesome/svgs/solid/chart-area.svg | 1 - dist/font-awesome/svgs/solid/chart-bar.svg | 1 - dist/font-awesome/svgs/solid/chart-line.svg | 1 - dist/font-awesome/svgs/solid/chart-pie.svg | 1 - dist/font-awesome/svgs/solid/check-circle.svg | 1 - dist/font-awesome/svgs/solid/check-double.svg | 1 - dist/font-awesome/svgs/solid/check-square.svg | 1 - dist/font-awesome/svgs/solid/check.svg | 1 - dist/font-awesome/svgs/solid/cheese.svg | 1 - dist/font-awesome/svgs/solid/chess-bishop.svg | 1 - dist/font-awesome/svgs/solid/chess-board.svg | 1 - dist/font-awesome/svgs/solid/chess-king.svg | 1 - dist/font-awesome/svgs/solid/chess-knight.svg | 1 - dist/font-awesome/svgs/solid/chess-pawn.svg | 1 - dist/font-awesome/svgs/solid/chess-queen.svg | 1 - dist/font-awesome/svgs/solid/chess-rook.svg | 1 - dist/font-awesome/svgs/solid/chess.svg | 1 - .../svgs/solid/chevron-circle-down.svg | 1 - .../svgs/solid/chevron-circle-left.svg | 1 - .../svgs/solid/chevron-circle-right.svg | 1 - dist/font-awesome/svgs/solid/chevron-circle-up.svg | 1 - dist/font-awesome/svgs/solid/chevron-down.svg | 1 - dist/font-awesome/svgs/solid/chevron-left.svg | 1 - dist/font-awesome/svgs/solid/chevron-right.svg | 1 - dist/font-awesome/svgs/solid/chevron-up.svg | 1 - dist/font-awesome/svgs/solid/child.svg | 1 - dist/font-awesome/svgs/solid/church.svg | 1 - dist/font-awesome/svgs/solid/circle-notch.svg | 1 - dist/font-awesome/svgs/solid/circle.svg | 1 - dist/font-awesome/svgs/solid/city.svg | 1 - dist/font-awesome/svgs/solid/clinic-medical.svg | 1 - dist/font-awesome/svgs/solid/clipboard-check.svg | 1 - dist/font-awesome/svgs/solid/clipboard-list.svg | 1 - dist/font-awesome/svgs/solid/clipboard.svg | 1 - dist/font-awesome/svgs/solid/clock.svg | 1 - dist/font-awesome/svgs/solid/clone.svg | 1 - dist/font-awesome/svgs/solid/closed-captioning.svg | 1 - .../font-awesome/svgs/solid/cloud-download-alt.svg | 1 - dist/font-awesome/svgs/solid/cloud-meatball.svg | 1 - dist/font-awesome/svgs/solid/cloud-moon-rain.svg | 1 - dist/font-awesome/svgs/solid/cloud-moon.svg | 1 - dist/font-awesome/svgs/solid/cloud-rain.svg | 1 - .../svgs/solid/cloud-showers-heavy.svg | 1 - dist/font-awesome/svgs/solid/cloud-sun-rain.svg | 1 - dist/font-awesome/svgs/solid/cloud-sun.svg | 1 - dist/font-awesome/svgs/solid/cloud-upload-alt.svg | 1 - dist/font-awesome/svgs/solid/cloud.svg | 1 - dist/font-awesome/svgs/solid/cocktail.svg | 1 - dist/font-awesome/svgs/solid/code-branch.svg | 1 - dist/font-awesome/svgs/solid/code.svg | 1 - dist/font-awesome/svgs/solid/coffee.svg | 1 - dist/font-awesome/svgs/solid/cog.svg | 1 - dist/font-awesome/svgs/solid/cogs.svg | 1 - dist/font-awesome/svgs/solid/coins.svg | 1 - dist/font-awesome/svgs/solid/columns.svg | 1 - dist/font-awesome/svgs/solid/comment-alt.svg | 1 - dist/font-awesome/svgs/solid/comment-dollar.svg | 1 - dist/font-awesome/svgs/solid/comment-dots.svg | 1 - dist/font-awesome/svgs/solid/comment-medical.svg | 1 - dist/font-awesome/svgs/solid/comment-slash.svg | 1 - dist/font-awesome/svgs/solid/comment.svg | 1 - dist/font-awesome/svgs/solid/comments-dollar.svg | 1 - dist/font-awesome/svgs/solid/comments.svg | 1 - dist/font-awesome/svgs/solid/compact-disc.svg | 1 - dist/font-awesome/svgs/solid/compass.svg | 1 - .../svgs/solid/compress-arrows-alt.svg | 1 - dist/font-awesome/svgs/solid/compress.svg | 1 - dist/font-awesome/svgs/solid/concierge-bell.svg | 1 - dist/font-awesome/svgs/solid/cookie-bite.svg | 1 - dist/font-awesome/svgs/solid/cookie.svg | 1 - dist/font-awesome/svgs/solid/copy.svg | 1 - dist/font-awesome/svgs/solid/copyright.svg | 1 - dist/font-awesome/svgs/solid/couch.svg | 1 - dist/font-awesome/svgs/solid/credit-card.svg | 1 - dist/font-awesome/svgs/solid/crop-alt.svg | 1 - dist/font-awesome/svgs/solid/crop.svg | 1 - dist/font-awesome/svgs/solid/cross.svg | 1 - dist/font-awesome/svgs/solid/crosshairs.svg | 1 - dist/font-awesome/svgs/solid/crow.svg | 1 - dist/font-awesome/svgs/solid/crown.svg | 1 - dist/font-awesome/svgs/solid/crutch.svg | 1 - dist/font-awesome/svgs/solid/cube.svg | 1 - dist/font-awesome/svgs/solid/cubes.svg | 1 - dist/font-awesome/svgs/solid/cut.svg | 1 - dist/font-awesome/svgs/solid/database.svg | 1 - dist/font-awesome/svgs/solid/deaf.svg | 1 - dist/font-awesome/svgs/solid/democrat.svg | 1 - dist/font-awesome/svgs/solid/desktop.svg | 1 - dist/font-awesome/svgs/solid/dharmachakra.svg | 1 - dist/font-awesome/svgs/solid/diagnoses.svg | 1 - dist/font-awesome/svgs/solid/dice-d20.svg | 1 - dist/font-awesome/svgs/solid/dice-d6.svg | 1 - dist/font-awesome/svgs/solid/dice-five.svg | 1 - dist/font-awesome/svgs/solid/dice-four.svg | 1 - dist/font-awesome/svgs/solid/dice-one.svg | 1 - dist/font-awesome/svgs/solid/dice-six.svg | 1 - dist/font-awesome/svgs/solid/dice-three.svg | 1 - dist/font-awesome/svgs/solid/dice-two.svg | 1 - dist/font-awesome/svgs/solid/dice.svg | 1 - .../font-awesome/svgs/solid/digital-tachograph.svg | 1 - dist/font-awesome/svgs/solid/directions.svg | 1 - dist/font-awesome/svgs/solid/divide.svg | 1 - dist/font-awesome/svgs/solid/dizzy.svg | 1 - dist/font-awesome/svgs/solid/dna.svg | 1 - dist/font-awesome/svgs/solid/dog.svg | 1 - dist/font-awesome/svgs/solid/dollar-sign.svg | 1 - dist/font-awesome/svgs/solid/dolly-flatbed.svg | 1 - dist/font-awesome/svgs/solid/dolly.svg | 1 - dist/font-awesome/svgs/solid/donate.svg | 1 - dist/font-awesome/svgs/solid/door-closed.svg | 1 - dist/font-awesome/svgs/solid/door-open.svg | 1 - dist/font-awesome/svgs/solid/dot-circle.svg | 1 - dist/font-awesome/svgs/solid/dove.svg | 1 - dist/font-awesome/svgs/solid/download.svg | 1 - dist/font-awesome/svgs/solid/drafting-compass.svg | 1 - dist/font-awesome/svgs/solid/dragon.svg | 1 - dist/font-awesome/svgs/solid/draw-polygon.svg | 1 - dist/font-awesome/svgs/solid/drum-steelpan.svg | 1 - dist/font-awesome/svgs/solid/drum.svg | 1 - dist/font-awesome/svgs/solid/drumstick-bite.svg | 1 - dist/font-awesome/svgs/solid/dumbbell.svg | 1 - dist/font-awesome/svgs/solid/dumpster-fire.svg | 1 - dist/font-awesome/svgs/solid/dumpster.svg | 1 - dist/font-awesome/svgs/solid/dungeon.svg | 1 - dist/font-awesome/svgs/solid/edit.svg | 1 - dist/font-awesome/svgs/solid/egg.svg | 1 - dist/font-awesome/svgs/solid/eject.svg | 1 - dist/font-awesome/svgs/solid/ellipsis-h.svg | 1 - dist/font-awesome/svgs/solid/ellipsis-v.svg | 1 - .../font-awesome/svgs/solid/envelope-open-text.svg | 1 - dist/font-awesome/svgs/solid/envelope-open.svg | 1 - dist/font-awesome/svgs/solid/envelope-square.svg | 1 - dist/font-awesome/svgs/solid/envelope.svg | 1 - dist/font-awesome/svgs/solid/equals.svg | 1 - dist/font-awesome/svgs/solid/eraser.svg | 1 - dist/font-awesome/svgs/solid/ethernet.svg | 1 - dist/font-awesome/svgs/solid/euro-sign.svg | 1 - dist/font-awesome/svgs/solid/exchange-alt.svg | 1 - .../font-awesome/svgs/solid/exclamation-circle.svg | 1 - .../svgs/solid/exclamation-triangle.svg | 1 - dist/font-awesome/svgs/solid/exclamation.svg | 1 - dist/font-awesome/svgs/solid/expand-arrows-alt.svg | 1 - dist/font-awesome/svgs/solid/expand.svg | 1 - dist/font-awesome/svgs/solid/external-link-alt.svg | 1 - .../svgs/solid/external-link-square-alt.svg | 1 - dist/font-awesome/svgs/solid/eye-dropper.svg | 1 - dist/font-awesome/svgs/solid/eye-slash.svg | 1 - dist/font-awesome/svgs/solid/eye.svg | 1 - dist/font-awesome/svgs/solid/fast-backward.svg | 1 - dist/font-awesome/svgs/solid/fast-forward.svg | 1 - dist/font-awesome/svgs/solid/fax.svg | 1 - dist/font-awesome/svgs/solid/feather-alt.svg | 1 - dist/font-awesome/svgs/solid/feather.svg | 1 - dist/font-awesome/svgs/solid/female.svg | 1 - dist/font-awesome/svgs/solid/fighter-jet.svg | 1 - dist/font-awesome/svgs/solid/file-alt.svg | 1 - dist/font-awesome/svgs/solid/file-archive.svg | 1 - dist/font-awesome/svgs/solid/file-audio.svg | 1 - dist/font-awesome/svgs/solid/file-code.svg | 1 - dist/font-awesome/svgs/solid/file-contract.svg | 1 - dist/font-awesome/svgs/solid/file-csv.svg | 1 - dist/font-awesome/svgs/solid/file-download.svg | 1 - dist/font-awesome/svgs/solid/file-excel.svg | 1 - dist/font-awesome/svgs/solid/file-export.svg | 1 - dist/font-awesome/svgs/solid/file-image.svg | 1 - dist/font-awesome/svgs/solid/file-import.svg | 1 - .../svgs/solid/file-invoice-dollar.svg | 1 - dist/font-awesome/svgs/solid/file-invoice.svg | 1 - dist/font-awesome/svgs/solid/file-medical-alt.svg | 1 - dist/font-awesome/svgs/solid/file-medical.svg | 1 - dist/font-awesome/svgs/solid/file-pdf.svg | 1 - dist/font-awesome/svgs/solid/file-powerpoint.svg | 1 - dist/font-awesome/svgs/solid/file-prescription.svg | 1 - dist/font-awesome/svgs/solid/file-signature.svg | 1 - dist/font-awesome/svgs/solid/file-upload.svg | 1 - dist/font-awesome/svgs/solid/file-video.svg | 1 - dist/font-awesome/svgs/solid/file-word.svg | 1 - dist/font-awesome/svgs/solid/file.svg | 1 - dist/font-awesome/svgs/solid/fill-drip.svg | 1 - dist/font-awesome/svgs/solid/fill.svg | 1 - dist/font-awesome/svgs/solid/film.svg | 1 - dist/font-awesome/svgs/solid/filter.svg | 1 - dist/font-awesome/svgs/solid/fingerprint.svg | 1 - dist/font-awesome/svgs/solid/fire-alt.svg | 1 - dist/font-awesome/svgs/solid/fire-extinguisher.svg | 1 - dist/font-awesome/svgs/solid/fire.svg | 1 - dist/font-awesome/svgs/solid/first-aid.svg | 1 - dist/font-awesome/svgs/solid/fish.svg | 1 - dist/font-awesome/svgs/solid/fist-raised.svg | 1 - dist/font-awesome/svgs/solid/flag-checkered.svg | 1 - dist/font-awesome/svgs/solid/flag-usa.svg | 1 - dist/font-awesome/svgs/solid/flag.svg | 1 - dist/font-awesome/svgs/solid/flask.svg | 1 - dist/font-awesome/svgs/solid/flushed.svg | 1 - dist/font-awesome/svgs/solid/folder-minus.svg | 1 - dist/font-awesome/svgs/solid/folder-open.svg | 1 - dist/font-awesome/svgs/solid/folder-plus.svg | 1 - dist/font-awesome/svgs/solid/folder.svg | 1 - .../svgs/solid/font-awesome-logo-full.svg | 1 - dist/font-awesome/svgs/solid/font.svg | 1 - dist/font-awesome/svgs/solid/football-ball.svg | 1 - dist/font-awesome/svgs/solid/forward.svg | 1 - dist/font-awesome/svgs/solid/frog.svg | 1 - dist/font-awesome/svgs/solid/frown-open.svg | 1 - dist/font-awesome/svgs/solid/frown.svg | 1 - dist/font-awesome/svgs/solid/funnel-dollar.svg | 1 - dist/font-awesome/svgs/solid/futbol.svg | 1 - dist/font-awesome/svgs/solid/gamepad.svg | 1 - dist/font-awesome/svgs/solid/gas-pump.svg | 1 - dist/font-awesome/svgs/solid/gavel.svg | 1 - dist/font-awesome/svgs/solid/gem.svg | 1 - dist/font-awesome/svgs/solid/genderless.svg | 1 - dist/font-awesome/svgs/solid/ghost.svg | 1 - dist/font-awesome/svgs/solid/gift.svg | 1 - dist/font-awesome/svgs/solid/gifts.svg | 1 - dist/font-awesome/svgs/solid/glass-cheers.svg | 1 - dist/font-awesome/svgs/solid/glass-martini-alt.svg | 1 - dist/font-awesome/svgs/solid/glass-martini.svg | 1 - dist/font-awesome/svgs/solid/glass-whiskey.svg | 1 - dist/font-awesome/svgs/solid/glasses.svg | 1 - dist/font-awesome/svgs/solid/globe-africa.svg | 1 - dist/font-awesome/svgs/solid/globe-americas.svg | 1 - dist/font-awesome/svgs/solid/globe-asia.svg | 1 - dist/font-awesome/svgs/solid/globe-europe.svg | 1 - dist/font-awesome/svgs/solid/globe.svg | 1 - dist/font-awesome/svgs/solid/golf-ball.svg | 1 - dist/font-awesome/svgs/solid/gopuram.svg | 1 - dist/font-awesome/svgs/solid/graduation-cap.svg | 1 - .../font-awesome/svgs/solid/greater-than-equal.svg | 1 - dist/font-awesome/svgs/solid/greater-than.svg | 1 - dist/font-awesome/svgs/solid/grimace.svg | 1 - dist/font-awesome/svgs/solid/grin-alt.svg | 1 - dist/font-awesome/svgs/solid/grin-beam-sweat.svg | 1 - dist/font-awesome/svgs/solid/grin-beam.svg | 1 - dist/font-awesome/svgs/solid/grin-hearts.svg | 1 - dist/font-awesome/svgs/solid/grin-squint-tears.svg | 1 - dist/font-awesome/svgs/solid/grin-squint.svg | 1 - dist/font-awesome/svgs/solid/grin-stars.svg | 1 - dist/font-awesome/svgs/solid/grin-tears.svg | 1 - .../font-awesome/svgs/solid/grin-tongue-squint.svg | 1 - dist/font-awesome/svgs/solid/grin-tongue-wink.svg | 1 - dist/font-awesome/svgs/solid/grin-tongue.svg | 1 - dist/font-awesome/svgs/solid/grin-wink.svg | 1 - dist/font-awesome/svgs/solid/grin.svg | 1 - dist/font-awesome/svgs/solid/grip-horizontal.svg | 1 - .../svgs/solid/grip-lines-vertical.svg | 1 - dist/font-awesome/svgs/solid/grip-lines.svg | 1 - dist/font-awesome/svgs/solid/grip-vertical.svg | 1 - dist/font-awesome/svgs/solid/guitar.svg | 1 - dist/font-awesome/svgs/solid/h-square.svg | 1 - dist/font-awesome/svgs/solid/hamburger.svg | 1 - dist/font-awesome/svgs/solid/hammer.svg | 1 - dist/font-awesome/svgs/solid/hamsa.svg | 1 - .../font-awesome/svgs/solid/hand-holding-heart.svg | 1 - dist/font-awesome/svgs/solid/hand-holding-usd.svg | 1 - dist/font-awesome/svgs/solid/hand-holding.svg | 1 - dist/font-awesome/svgs/solid/hand-lizard.svg | 1 - .../font-awesome/svgs/solid/hand-middle-finger.svg | 1 - dist/font-awesome/svgs/solid/hand-paper.svg | 1 - dist/font-awesome/svgs/solid/hand-peace.svg | 1 - dist/font-awesome/svgs/solid/hand-point-down.svg | 1 - dist/font-awesome/svgs/solid/hand-point-left.svg | 1 - dist/font-awesome/svgs/solid/hand-point-right.svg | 1 - dist/font-awesome/svgs/solid/hand-point-up.svg | 1 - dist/font-awesome/svgs/solid/hand-pointer.svg | 1 - dist/font-awesome/svgs/solid/hand-rock.svg | 1 - dist/font-awesome/svgs/solid/hand-scissors.svg | 1 - dist/font-awesome/svgs/solid/hand-spock.svg | 1 - dist/font-awesome/svgs/solid/hands-helping.svg | 1 - dist/font-awesome/svgs/solid/hands.svg | 1 - dist/font-awesome/svgs/solid/handshake.svg | 1 - dist/font-awesome/svgs/solid/hanukiah.svg | 1 - dist/font-awesome/svgs/solid/hard-hat.svg | 1 - dist/font-awesome/svgs/solid/hashtag.svg | 1 - dist/font-awesome/svgs/solid/hat-wizard.svg | 1 - dist/font-awesome/svgs/solid/haykal.svg | 1 - dist/font-awesome/svgs/solid/hdd.svg | 1 - dist/font-awesome/svgs/solid/heading.svg | 1 - dist/font-awesome/svgs/solid/headphones-alt.svg | 1 - dist/font-awesome/svgs/solid/headphones.svg | 1 - dist/font-awesome/svgs/solid/headset.svg | 1 - dist/font-awesome/svgs/solid/heart-broken.svg | 1 - dist/font-awesome/svgs/solid/heart.svg | 1 - dist/font-awesome/svgs/solid/heartbeat.svg | 1 - dist/font-awesome/svgs/solid/helicopter.svg | 1 - dist/font-awesome/svgs/solid/highlighter.svg | 1 - dist/font-awesome/svgs/solid/hiking.svg | 1 - dist/font-awesome/svgs/solid/hippo.svg | 1 - dist/font-awesome/svgs/solid/history.svg | 1 - dist/font-awesome/svgs/solid/hockey-puck.svg | 1 - dist/font-awesome/svgs/solid/holly-berry.svg | 1 - dist/font-awesome/svgs/solid/home.svg | 1 - dist/font-awesome/svgs/solid/horse-head.svg | 1 - dist/font-awesome/svgs/solid/horse.svg | 1 - dist/font-awesome/svgs/solid/hospital-alt.svg | 1 - dist/font-awesome/svgs/solid/hospital-symbol.svg | 1 - dist/font-awesome/svgs/solid/hospital.svg | 1 - dist/font-awesome/svgs/solid/hot-tub.svg | 1 - dist/font-awesome/svgs/solid/hotdog.svg | 1 - dist/font-awesome/svgs/solid/hotel.svg | 1 - dist/font-awesome/svgs/solid/hourglass-end.svg | 1 - dist/font-awesome/svgs/solid/hourglass-half.svg | 1 - dist/font-awesome/svgs/solid/hourglass-start.svg | 1 - dist/font-awesome/svgs/solid/hourglass.svg | 1 - dist/font-awesome/svgs/solid/house-damage.svg | 1 - dist/font-awesome/svgs/solid/hryvnia.svg | 1 - dist/font-awesome/svgs/solid/i-cursor.svg | 1 - dist/font-awesome/svgs/solid/ice-cream.svg | 1 - dist/font-awesome/svgs/solid/icicles.svg | 1 - dist/font-awesome/svgs/solid/id-badge.svg | 1 - dist/font-awesome/svgs/solid/id-card-alt.svg | 1 - dist/font-awesome/svgs/solid/id-card.svg | 1 - dist/font-awesome/svgs/solid/igloo.svg | 1 - dist/font-awesome/svgs/solid/image.svg | 1 - dist/font-awesome/svgs/solid/images.svg | 1 - dist/font-awesome/svgs/solid/inbox.svg | 1 - dist/font-awesome/svgs/solid/indent.svg | 1 - dist/font-awesome/svgs/solid/industry.svg | 1 - dist/font-awesome/svgs/solid/infinity.svg | 1 - dist/font-awesome/svgs/solid/info-circle.svg | 1 - dist/font-awesome/svgs/solid/info.svg | 1 - dist/font-awesome/svgs/solid/italic.svg | 1 - dist/font-awesome/svgs/solid/jedi.svg | 1 - dist/font-awesome/svgs/solid/joint.svg | 1 - dist/font-awesome/svgs/solid/journal-whills.svg | 1 - dist/font-awesome/svgs/solid/kaaba.svg | 1 - dist/font-awesome/svgs/solid/key.svg | 1 - dist/font-awesome/svgs/solid/keyboard.svg | 1 - dist/font-awesome/svgs/solid/khanda.svg | 1 - dist/font-awesome/svgs/solid/kiss-beam.svg | 1 - dist/font-awesome/svgs/solid/kiss-wink-heart.svg | 1 - dist/font-awesome/svgs/solid/kiss.svg | 1 - dist/font-awesome/svgs/solid/kiwi-bird.svg | 1 - dist/font-awesome/svgs/solid/landmark.svg | 1 - dist/font-awesome/svgs/solid/language.svg | 1 - dist/font-awesome/svgs/solid/laptop-code.svg | 1 - dist/font-awesome/svgs/solid/laptop-medical.svg | 1 - dist/font-awesome/svgs/solid/laptop.svg | 1 - dist/font-awesome/svgs/solid/laugh-beam.svg | 1 - dist/font-awesome/svgs/solid/laugh-squint.svg | 1 - dist/font-awesome/svgs/solid/laugh-wink.svg | 1 - dist/font-awesome/svgs/solid/laugh.svg | 1 - dist/font-awesome/svgs/solid/layer-group.svg | 1 - dist/font-awesome/svgs/solid/leaf.svg | 1 - dist/font-awesome/svgs/solid/lemon.svg | 1 - dist/font-awesome/svgs/solid/less-than-equal.svg | 1 - dist/font-awesome/svgs/solid/less-than.svg | 1 - dist/font-awesome/svgs/solid/level-down-alt.svg | 1 - dist/font-awesome/svgs/solid/level-up-alt.svg | 1 - dist/font-awesome/svgs/solid/life-ring.svg | 1 - dist/font-awesome/svgs/solid/lightbulb.svg | 1 - dist/font-awesome/svgs/solid/link.svg | 1 - dist/font-awesome/svgs/solid/lira-sign.svg | 1 - dist/font-awesome/svgs/solid/list-alt.svg | 1 - dist/font-awesome/svgs/solid/list-ol.svg | 1 - dist/font-awesome/svgs/solid/list-ul.svg | 1 - dist/font-awesome/svgs/solid/list.svg | 1 - dist/font-awesome/svgs/solid/location-arrow.svg | 1 - dist/font-awesome/svgs/solid/lock-open.svg | 1 - dist/font-awesome/svgs/solid/lock.svg | 1 - .../svgs/solid/long-arrow-alt-down.svg | 1 - .../svgs/solid/long-arrow-alt-left.svg | 1 - .../svgs/solid/long-arrow-alt-right.svg | 1 - dist/font-awesome/svgs/solid/long-arrow-alt-up.svg | 1 - dist/font-awesome/svgs/solid/low-vision.svg | 1 - dist/font-awesome/svgs/solid/luggage-cart.svg | 1 - dist/font-awesome/svgs/solid/magic.svg | 1 - dist/font-awesome/svgs/solid/magnet.svg | 1 - dist/font-awesome/svgs/solid/mail-bulk.svg | 1 - dist/font-awesome/svgs/solid/male.svg | 1 - dist/font-awesome/svgs/solid/map-marked-alt.svg | 1 - dist/font-awesome/svgs/solid/map-marked.svg | 1 - dist/font-awesome/svgs/solid/map-marker-alt.svg | 1 - dist/font-awesome/svgs/solid/map-marker.svg | 1 - dist/font-awesome/svgs/solid/map-pin.svg | 1 - dist/font-awesome/svgs/solid/map-signs.svg | 1 - dist/font-awesome/svgs/solid/map.svg | 1 - dist/font-awesome/svgs/solid/marker.svg | 1 - dist/font-awesome/svgs/solid/mars-double.svg | 1 - dist/font-awesome/svgs/solid/mars-stroke-h.svg | 1 - dist/font-awesome/svgs/solid/mars-stroke-v.svg | 1 - dist/font-awesome/svgs/solid/mars-stroke.svg | 1 - dist/font-awesome/svgs/solid/mars.svg | 1 - dist/font-awesome/svgs/solid/mask.svg | 1 - dist/font-awesome/svgs/solid/medal.svg | 1 - dist/font-awesome/svgs/solid/medkit.svg | 1 - dist/font-awesome/svgs/solid/meh-blank.svg | 1 - dist/font-awesome/svgs/solid/meh-rolling-eyes.svg | 1 - dist/font-awesome/svgs/solid/meh.svg | 1 - dist/font-awesome/svgs/solid/memory.svg | 1 - dist/font-awesome/svgs/solid/menorah.svg | 1 - dist/font-awesome/svgs/solid/mercury.svg | 1 - dist/font-awesome/svgs/solid/meteor.svg | 1 - dist/font-awesome/svgs/solid/microchip.svg | 1 - .../svgs/solid/microphone-alt-slash.svg | 1 - dist/font-awesome/svgs/solid/microphone-alt.svg | 1 - dist/font-awesome/svgs/solid/microphone-slash.svg | 1 - dist/font-awesome/svgs/solid/microphone.svg | 1 - dist/font-awesome/svgs/solid/microscope.svg | 1 - dist/font-awesome/svgs/solid/minus-circle.svg | 1 - dist/font-awesome/svgs/solid/minus-square.svg | 1 - dist/font-awesome/svgs/solid/minus.svg | 1 - dist/font-awesome/svgs/solid/mitten.svg | 1 - dist/font-awesome/svgs/solid/mobile-alt.svg | 1 - dist/font-awesome/svgs/solid/mobile.svg | 1 - dist/font-awesome/svgs/solid/money-bill-alt.svg | 1 - .../svgs/solid/money-bill-wave-alt.svg | 1 - dist/font-awesome/svgs/solid/money-bill-wave.svg | 1 - dist/font-awesome/svgs/solid/money-bill.svg | 1 - dist/font-awesome/svgs/solid/money-check-alt.svg | 1 - dist/font-awesome/svgs/solid/money-check.svg | 1 - dist/font-awesome/svgs/solid/monument.svg | 1 - dist/font-awesome/svgs/solid/moon.svg | 1 - dist/font-awesome/svgs/solid/mortar-pestle.svg | 1 - dist/font-awesome/svgs/solid/mosque.svg | 1 - dist/font-awesome/svgs/solid/motorcycle.svg | 1 - dist/font-awesome/svgs/solid/mountain.svg | 1 - dist/font-awesome/svgs/solid/mouse-pointer.svg | 1 - dist/font-awesome/svgs/solid/mug-hot.svg | 1 - dist/font-awesome/svgs/solid/music.svg | 1 - dist/font-awesome/svgs/solid/network-wired.svg | 1 - dist/font-awesome/svgs/solid/neuter.svg | 1 - dist/font-awesome/svgs/solid/newspaper.svg | 1 - dist/font-awesome/svgs/solid/not-equal.svg | 1 - dist/font-awesome/svgs/solid/notes-medical.svg | 1 - dist/font-awesome/svgs/solid/object-group.svg | 1 - dist/font-awesome/svgs/solid/object-ungroup.svg | 1 - dist/font-awesome/svgs/solid/oil-can.svg | 1 - dist/font-awesome/svgs/solid/om.svg | 1 - dist/font-awesome/svgs/solid/otter.svg | 1 - dist/font-awesome/svgs/solid/outdent.svg | 1 - dist/font-awesome/svgs/solid/pager.svg | 1 - dist/font-awesome/svgs/solid/paint-brush.svg | 1 - dist/font-awesome/svgs/solid/paint-roller.svg | 1 - dist/font-awesome/svgs/solid/palette.svg | 1 - dist/font-awesome/svgs/solid/pallet.svg | 1 - dist/font-awesome/svgs/solid/paper-plane.svg | 1 - dist/font-awesome/svgs/solid/paperclip.svg | 1 - dist/font-awesome/svgs/solid/parachute-box.svg | 1 - dist/font-awesome/svgs/solid/paragraph.svg | 1 - dist/font-awesome/svgs/solid/parking.svg | 1 - dist/font-awesome/svgs/solid/passport.svg | 1 - dist/font-awesome/svgs/solid/pastafarianism.svg | 1 - dist/font-awesome/svgs/solid/paste.svg | 1 - dist/font-awesome/svgs/solid/pause-circle.svg | 1 - dist/font-awesome/svgs/solid/pause.svg | 1 - dist/font-awesome/svgs/solid/paw.svg | 1 - dist/font-awesome/svgs/solid/peace.svg | 1 - dist/font-awesome/svgs/solid/pen-alt.svg | 1 - dist/font-awesome/svgs/solid/pen-fancy.svg | 1 - dist/font-awesome/svgs/solid/pen-nib.svg | 1 - dist/font-awesome/svgs/solid/pen-square.svg | 1 - dist/font-awesome/svgs/solid/pen.svg | 1 - dist/font-awesome/svgs/solid/pencil-alt.svg | 1 - dist/font-awesome/svgs/solid/pencil-ruler.svg | 1 - dist/font-awesome/svgs/solid/people-carry.svg | 1 - dist/font-awesome/svgs/solid/pepper-hot.svg | 1 - dist/font-awesome/svgs/solid/percent.svg | 1 - dist/font-awesome/svgs/solid/percentage.svg | 1 - dist/font-awesome/svgs/solid/person-booth.svg | 1 - dist/font-awesome/svgs/solid/phone-slash.svg | 1 - dist/font-awesome/svgs/solid/phone-square.svg | 1 - dist/font-awesome/svgs/solid/phone-volume.svg | 1 - dist/font-awesome/svgs/solid/phone.svg | 1 - dist/font-awesome/svgs/solid/piggy-bank.svg | 1 - dist/font-awesome/svgs/solid/pills.svg | 1 - dist/font-awesome/svgs/solid/pizza-slice.svg | 1 - dist/font-awesome/svgs/solid/place-of-worship.svg | 1 - dist/font-awesome/svgs/solid/plane-arrival.svg | 1 - dist/font-awesome/svgs/solid/plane-departure.svg | 1 - dist/font-awesome/svgs/solid/plane.svg | 1 - dist/font-awesome/svgs/solid/play-circle.svg | 1 - dist/font-awesome/svgs/solid/play.svg | 1 - dist/font-awesome/svgs/solid/plug.svg | 1 - dist/font-awesome/svgs/solid/plus-circle.svg | 1 - dist/font-awesome/svgs/solid/plus-square.svg | 1 - dist/font-awesome/svgs/solid/plus.svg | 1 - dist/font-awesome/svgs/solid/podcast.svg | 1 - dist/font-awesome/svgs/solid/poll-h.svg | 1 - dist/font-awesome/svgs/solid/poll.svg | 1 - dist/font-awesome/svgs/solid/poo-storm.svg | 1 - dist/font-awesome/svgs/solid/poo.svg | 1 - dist/font-awesome/svgs/solid/poop.svg | 1 - dist/font-awesome/svgs/solid/portrait.svg | 1 - dist/font-awesome/svgs/solid/pound-sign.svg | 1 - dist/font-awesome/svgs/solid/power-off.svg | 1 - dist/font-awesome/svgs/solid/pray.svg | 1 - dist/font-awesome/svgs/solid/praying-hands.svg | 1 - .../svgs/solid/prescription-bottle-alt.svg | 1 - .../svgs/solid/prescription-bottle.svg | 1 - dist/font-awesome/svgs/solid/prescription.svg | 1 - dist/font-awesome/svgs/solid/print.svg | 1 - dist/font-awesome/svgs/solid/procedures.svg | 1 - dist/font-awesome/svgs/solid/project-diagram.svg | 1 - dist/font-awesome/svgs/solid/puzzle-piece.svg | 1 - dist/font-awesome/svgs/solid/qrcode.svg | 1 - dist/font-awesome/svgs/solid/question-circle.svg | 1 - dist/font-awesome/svgs/solid/question.svg | 1 - dist/font-awesome/svgs/solid/quidditch.svg | 1 - dist/font-awesome/svgs/solid/quote-left.svg | 1 - dist/font-awesome/svgs/solid/quote-right.svg | 1 - dist/font-awesome/svgs/solid/quran.svg | 1 - dist/font-awesome/svgs/solid/radiation-alt.svg | 1 - dist/font-awesome/svgs/solid/radiation.svg | 1 - dist/font-awesome/svgs/solid/rainbow.svg | 1 - dist/font-awesome/svgs/solid/random.svg | 1 - dist/font-awesome/svgs/solid/receipt.svg | 1 - dist/font-awesome/svgs/solid/recycle.svg | 1 - dist/font-awesome/svgs/solid/redo-alt.svg | 1 - dist/font-awesome/svgs/solid/redo.svg | 1 - dist/font-awesome/svgs/solid/registered.svg | 1 - dist/font-awesome/svgs/solid/reply-all.svg | 1 - dist/font-awesome/svgs/solid/reply.svg | 1 - dist/font-awesome/svgs/solid/republican.svg | 1 - dist/font-awesome/svgs/solid/restroom.svg | 1 - dist/font-awesome/svgs/solid/retweet.svg | 1 - dist/font-awesome/svgs/solid/ribbon.svg | 1 - dist/font-awesome/svgs/solid/ring.svg | 1 - dist/font-awesome/svgs/solid/road.svg | 1 - dist/font-awesome/svgs/solid/robot.svg | 1 - dist/font-awesome/svgs/solid/rocket.svg | 1 - dist/font-awesome/svgs/solid/route.svg | 1 - dist/font-awesome/svgs/solid/rss-square.svg | 1 - dist/font-awesome/svgs/solid/rss.svg | 1 - dist/font-awesome/svgs/solid/ruble-sign.svg | 1 - dist/font-awesome/svgs/solid/ruler-combined.svg | 1 - dist/font-awesome/svgs/solid/ruler-horizontal.svg | 1 - dist/font-awesome/svgs/solid/ruler-vertical.svg | 1 - dist/font-awesome/svgs/solid/ruler.svg | 1 - dist/font-awesome/svgs/solid/running.svg | 1 - dist/font-awesome/svgs/solid/rupee-sign.svg | 1 - dist/font-awesome/svgs/solid/sad-cry.svg | 1 - dist/font-awesome/svgs/solid/sad-tear.svg | 1 - dist/font-awesome/svgs/solid/satellite-dish.svg | 1 - dist/font-awesome/svgs/solid/satellite.svg | 1 - dist/font-awesome/svgs/solid/save.svg | 1 - dist/font-awesome/svgs/solid/school.svg | 1 - dist/font-awesome/svgs/solid/screwdriver.svg | 1 - dist/font-awesome/svgs/solid/scroll.svg | 1 - dist/font-awesome/svgs/solid/sd-card.svg | 1 - dist/font-awesome/svgs/solid/search-dollar.svg | 1 - dist/font-awesome/svgs/solid/search-location.svg | 1 - dist/font-awesome/svgs/solid/search-minus.svg | 1 - dist/font-awesome/svgs/solid/search-plus.svg | 1 - dist/font-awesome/svgs/solid/search.svg | 1 - dist/font-awesome/svgs/solid/seedling.svg | 1 - dist/font-awesome/svgs/solid/server.svg | 1 - dist/font-awesome/svgs/solid/shapes.svg | 1 - dist/font-awesome/svgs/solid/share-alt-square.svg | 1 - dist/font-awesome/svgs/solid/share-alt.svg | 1 - dist/font-awesome/svgs/solid/share-square.svg | 1 - dist/font-awesome/svgs/solid/share.svg | 1 - dist/font-awesome/svgs/solid/shekel-sign.svg | 1 - dist/font-awesome/svgs/solid/shield-alt.svg | 1 - dist/font-awesome/svgs/solid/ship.svg | 1 - dist/font-awesome/svgs/solid/shipping-fast.svg | 1 - dist/font-awesome/svgs/solid/shoe-prints.svg | 1 - dist/font-awesome/svgs/solid/shopping-bag.svg | 1 - dist/font-awesome/svgs/solid/shopping-basket.svg | 1 - dist/font-awesome/svgs/solid/shopping-cart.svg | 1 - dist/font-awesome/svgs/solid/shower.svg | 1 - dist/font-awesome/svgs/solid/shuttle-van.svg | 1 - dist/font-awesome/svgs/solid/sign-in-alt.svg | 1 - dist/font-awesome/svgs/solid/sign-language.svg | 1 - dist/font-awesome/svgs/solid/sign-out-alt.svg | 1 - dist/font-awesome/svgs/solid/sign.svg | 1 - dist/font-awesome/svgs/solid/signal.svg | 1 - dist/font-awesome/svgs/solid/signature.svg | 1 - dist/font-awesome/svgs/solid/sim-card.svg | 1 - dist/font-awesome/svgs/solid/sitemap.svg | 1 - dist/font-awesome/svgs/solid/skating.svg | 1 - dist/font-awesome/svgs/solid/skiing-nordic.svg | 1 - dist/font-awesome/svgs/solid/skiing.svg | 1 - dist/font-awesome/svgs/solid/skull-crossbones.svg | 1 - dist/font-awesome/svgs/solid/skull.svg | 1 - dist/font-awesome/svgs/solid/slash.svg | 1 - dist/font-awesome/svgs/solid/sleigh.svg | 1 - dist/font-awesome/svgs/solid/sliders-h.svg | 1 - dist/font-awesome/svgs/solid/smile-beam.svg | 1 - dist/font-awesome/svgs/solid/smile-wink.svg | 1 - dist/font-awesome/svgs/solid/smile.svg | 1 - dist/font-awesome/svgs/solid/smog.svg | 1 - dist/font-awesome/svgs/solid/smoking-ban.svg | 1 - dist/font-awesome/svgs/solid/smoking.svg | 1 - dist/font-awesome/svgs/solid/sms.svg | 1 - dist/font-awesome/svgs/solid/snowboarding.svg | 1 - dist/font-awesome/svgs/solid/snowflake.svg | 1 - dist/font-awesome/svgs/solid/snowman.svg | 1 - dist/font-awesome/svgs/solid/snowplow.svg | 1 - dist/font-awesome/svgs/solid/socks.svg | 1 - dist/font-awesome/svgs/solid/solar-panel.svg | 1 - dist/font-awesome/svgs/solid/sort-alpha-down.svg | 1 - dist/font-awesome/svgs/solid/sort-alpha-up.svg | 1 - dist/font-awesome/svgs/solid/sort-amount-down.svg | 1 - dist/font-awesome/svgs/solid/sort-amount-up.svg | 1 - dist/font-awesome/svgs/solid/sort-down.svg | 1 - dist/font-awesome/svgs/solid/sort-numeric-down.svg | 1 - dist/font-awesome/svgs/solid/sort-numeric-up.svg | 1 - dist/font-awesome/svgs/solid/sort-up.svg | 1 - dist/font-awesome/svgs/solid/sort.svg | 1 - dist/font-awesome/svgs/solid/spa.svg | 1 - dist/font-awesome/svgs/solid/space-shuttle.svg | 1 - dist/font-awesome/svgs/solid/spider.svg | 1 - dist/font-awesome/svgs/solid/spinner.svg | 1 - dist/font-awesome/svgs/solid/splotch.svg | 1 - dist/font-awesome/svgs/solid/spray-can.svg | 1 - dist/font-awesome/svgs/solid/square-full.svg | 1 - dist/font-awesome/svgs/solid/square-root-alt.svg | 1 - dist/font-awesome/svgs/solid/square.svg | 1 - dist/font-awesome/svgs/solid/stamp.svg | 1 - dist/font-awesome/svgs/solid/star-and-crescent.svg | 1 - dist/font-awesome/svgs/solid/star-half-alt.svg | 1 - dist/font-awesome/svgs/solid/star-half.svg | 1 - dist/font-awesome/svgs/solid/star-of-david.svg | 1 - dist/font-awesome/svgs/solid/star-of-life.svg | 1 - dist/font-awesome/svgs/solid/star.svg | 1 - dist/font-awesome/svgs/solid/step-backward.svg | 1 - dist/font-awesome/svgs/solid/step-forward.svg | 1 - dist/font-awesome/svgs/solid/stethoscope.svg | 1 - dist/font-awesome/svgs/solid/sticky-note.svg | 1 - dist/font-awesome/svgs/solid/stop-circle.svg | 1 - dist/font-awesome/svgs/solid/stop.svg | 1 - dist/font-awesome/svgs/solid/stopwatch.svg | 1 - dist/font-awesome/svgs/solid/store-alt.svg | 1 - dist/font-awesome/svgs/solid/store.svg | 1 - dist/font-awesome/svgs/solid/stream.svg | 1 - dist/font-awesome/svgs/solid/street-view.svg | 1 - dist/font-awesome/svgs/solid/strikethrough.svg | 1 - dist/font-awesome/svgs/solid/stroopwafel.svg | 1 - dist/font-awesome/svgs/solid/subscript.svg | 1 - dist/font-awesome/svgs/solid/subway.svg | 1 - dist/font-awesome/svgs/solid/suitcase-rolling.svg | 1 - dist/font-awesome/svgs/solid/suitcase.svg | 1 - dist/font-awesome/svgs/solid/sun.svg | 1 - dist/font-awesome/svgs/solid/superscript.svg | 1 - dist/font-awesome/svgs/solid/surprise.svg | 1 - dist/font-awesome/svgs/solid/swatchbook.svg | 1 - dist/font-awesome/svgs/solid/swimmer.svg | 1 - dist/font-awesome/svgs/solid/swimming-pool.svg | 1 - dist/font-awesome/svgs/solid/synagogue.svg | 1 - dist/font-awesome/svgs/solid/sync-alt.svg | 1 - dist/font-awesome/svgs/solid/sync.svg | 1 - dist/font-awesome/svgs/solid/syringe.svg | 1 - dist/font-awesome/svgs/solid/table-tennis.svg | 1 - dist/font-awesome/svgs/solid/table.svg | 1 - dist/font-awesome/svgs/solid/tablet-alt.svg | 1 - dist/font-awesome/svgs/solid/tablet.svg | 1 - dist/font-awesome/svgs/solid/tablets.svg | 1 - dist/font-awesome/svgs/solid/tachometer-alt.svg | 1 - dist/font-awesome/svgs/solid/tag.svg | 1 - dist/font-awesome/svgs/solid/tags.svg | 1 - dist/font-awesome/svgs/solid/tape.svg | 1 - dist/font-awesome/svgs/solid/tasks.svg | 1 - dist/font-awesome/svgs/solid/taxi.svg | 1 - dist/font-awesome/svgs/solid/teeth-open.svg | 1 - dist/font-awesome/svgs/solid/teeth.svg | 1 - dist/font-awesome/svgs/solid/temperature-high.svg | 1 - dist/font-awesome/svgs/solid/temperature-low.svg | 1 - dist/font-awesome/svgs/solid/tenge.svg | 1 - dist/font-awesome/svgs/solid/terminal.svg | 1 - dist/font-awesome/svgs/solid/text-height.svg | 1 - dist/font-awesome/svgs/solid/text-width.svg | 1 - dist/font-awesome/svgs/solid/th-large.svg | 1 - dist/font-awesome/svgs/solid/th-list.svg | 1 - dist/font-awesome/svgs/solid/th.svg | 1 - dist/font-awesome/svgs/solid/theater-masks.svg | 1 - dist/font-awesome/svgs/solid/thermometer-empty.svg | 1 - dist/font-awesome/svgs/solid/thermometer-full.svg | 1 - dist/font-awesome/svgs/solid/thermometer-half.svg | 1 - .../svgs/solid/thermometer-quarter.svg | 1 - .../svgs/solid/thermometer-three-quarters.svg | 1 - dist/font-awesome/svgs/solid/thermometer.svg | 1 - dist/font-awesome/svgs/solid/thumbs-down.svg | 1 - dist/font-awesome/svgs/solid/thumbs-up.svg | 1 - dist/font-awesome/svgs/solid/thumbtack.svg | 1 - dist/font-awesome/svgs/solid/ticket-alt.svg | 1 - dist/font-awesome/svgs/solid/times-circle.svg | 1 - dist/font-awesome/svgs/solid/times.svg | 1 - dist/font-awesome/svgs/solid/tint-slash.svg | 1 - dist/font-awesome/svgs/solid/tint.svg | 1 - dist/font-awesome/svgs/solid/tired.svg | 1 - dist/font-awesome/svgs/solid/toggle-off.svg | 1 - dist/font-awesome/svgs/solid/toggle-on.svg | 1 - dist/font-awesome/svgs/solid/toilet-paper.svg | 1 - dist/font-awesome/svgs/solid/toilet.svg | 1 - dist/font-awesome/svgs/solid/toolbox.svg | 1 - dist/font-awesome/svgs/solid/tools.svg | 1 - dist/font-awesome/svgs/solid/tooth.svg | 1 - dist/font-awesome/svgs/solid/torah.svg | 1 - dist/font-awesome/svgs/solid/torii-gate.svg | 1 - dist/font-awesome/svgs/solid/tractor.svg | 1 - dist/font-awesome/svgs/solid/trademark.svg | 1 - dist/font-awesome/svgs/solid/traffic-light.svg | 1 - dist/font-awesome/svgs/solid/train.svg | 1 - dist/font-awesome/svgs/solid/tram.svg | 1 - dist/font-awesome/svgs/solid/transgender-alt.svg | 1 - dist/font-awesome/svgs/solid/transgender.svg | 1 - dist/font-awesome/svgs/solid/trash-alt.svg | 1 - dist/font-awesome/svgs/solid/trash-restore-alt.svg | 1 - dist/font-awesome/svgs/solid/trash-restore.svg | 1 - dist/font-awesome/svgs/solid/trash.svg | 1 - dist/font-awesome/svgs/solid/tree.svg | 1 - dist/font-awesome/svgs/solid/trophy.svg | 1 - dist/font-awesome/svgs/solid/truck-loading.svg | 1 - dist/font-awesome/svgs/solid/truck-monster.svg | 1 - dist/font-awesome/svgs/solid/truck-moving.svg | 1 - dist/font-awesome/svgs/solid/truck-pickup.svg | 1 - dist/font-awesome/svgs/solid/truck.svg | 1 - dist/font-awesome/svgs/solid/tshirt.svg | 1 - dist/font-awesome/svgs/solid/tty.svg | 1 - dist/font-awesome/svgs/solid/tv.svg | 1 - dist/font-awesome/svgs/solid/umbrella-beach.svg | 1 - dist/font-awesome/svgs/solid/umbrella.svg | 1 - dist/font-awesome/svgs/solid/underline.svg | 1 - dist/font-awesome/svgs/solid/undo-alt.svg | 1 - dist/font-awesome/svgs/solid/undo.svg | 1 - dist/font-awesome/svgs/solid/universal-access.svg | 1 - dist/font-awesome/svgs/solid/university.svg | 1 - dist/font-awesome/svgs/solid/unlink.svg | 1 - dist/font-awesome/svgs/solid/unlock-alt.svg | 1 - dist/font-awesome/svgs/solid/unlock.svg | 1 - dist/font-awesome/svgs/solid/upload.svg | 1 - dist/font-awesome/svgs/solid/user-alt-slash.svg | 1 - dist/font-awesome/svgs/solid/user-alt.svg | 1 - dist/font-awesome/svgs/solid/user-astronaut.svg | 1 - dist/font-awesome/svgs/solid/user-check.svg | 1 - dist/font-awesome/svgs/solid/user-circle.svg | 1 - dist/font-awesome/svgs/solid/user-clock.svg | 1 - dist/font-awesome/svgs/solid/user-cog.svg | 1 - dist/font-awesome/svgs/solid/user-edit.svg | 1 - dist/font-awesome/svgs/solid/user-friends.svg | 1 - dist/font-awesome/svgs/solid/user-graduate.svg | 1 - dist/font-awesome/svgs/solid/user-injured.svg | 1 - dist/font-awesome/svgs/solid/user-lock.svg | 1 - dist/font-awesome/svgs/solid/user-md.svg | 1 - dist/font-awesome/svgs/solid/user-minus.svg | 1 - dist/font-awesome/svgs/solid/user-ninja.svg | 1 - dist/font-awesome/svgs/solid/user-nurse.svg | 1 - dist/font-awesome/svgs/solid/user-plus.svg | 1 - dist/font-awesome/svgs/solid/user-secret.svg | 1 - dist/font-awesome/svgs/solid/user-shield.svg | 1 - dist/font-awesome/svgs/solid/user-slash.svg | 1 - dist/font-awesome/svgs/solid/user-tag.svg | 1 - dist/font-awesome/svgs/solid/user-tie.svg | 1 - dist/font-awesome/svgs/solid/user-times.svg | 1 - dist/font-awesome/svgs/solid/user.svg | 1 - dist/font-awesome/svgs/solid/users-cog.svg | 1 - dist/font-awesome/svgs/solid/users.svg | 1 - dist/font-awesome/svgs/solid/utensil-spoon.svg | 1 - dist/font-awesome/svgs/solid/utensils.svg | 1 - dist/font-awesome/svgs/solid/vector-square.svg | 1 - dist/font-awesome/svgs/solid/venus-double.svg | 1 - dist/font-awesome/svgs/solid/venus-mars.svg | 1 - dist/font-awesome/svgs/solid/venus.svg | 1 - dist/font-awesome/svgs/solid/vial.svg | 1 - dist/font-awesome/svgs/solid/vials.svg | 1 - dist/font-awesome/svgs/solid/video-slash.svg | 1 - dist/font-awesome/svgs/solid/video.svg | 1 - dist/font-awesome/svgs/solid/vihara.svg | 1 - dist/font-awesome/svgs/solid/volleyball-ball.svg | 1 - dist/font-awesome/svgs/solid/volume-down.svg | 1 - dist/font-awesome/svgs/solid/volume-mute.svg | 1 - dist/font-awesome/svgs/solid/volume-off.svg | 1 - dist/font-awesome/svgs/solid/volume-up.svg | 1 - dist/font-awesome/svgs/solid/vote-yea.svg | 1 - dist/font-awesome/svgs/solid/vr-cardboard.svg | 1 - dist/font-awesome/svgs/solid/walking.svg | 1 - dist/font-awesome/svgs/solid/wallet.svg | 1 - dist/font-awesome/svgs/solid/warehouse.svg | 1 - dist/font-awesome/svgs/solid/water.svg | 1 - dist/font-awesome/svgs/solid/weight-hanging.svg | 1 - dist/font-awesome/svgs/solid/weight.svg | 1 - dist/font-awesome/svgs/solid/wheelchair.svg | 1 - dist/font-awesome/svgs/solid/wifi.svg | 1 - dist/font-awesome/svgs/solid/wind.svg | 1 - dist/font-awesome/svgs/solid/window-close.svg | 1 - dist/font-awesome/svgs/solid/window-maximize.svg | 1 - dist/font-awesome/svgs/solid/window-minimize.svg | 1 - dist/font-awesome/svgs/solid/window-restore.svg | 1 - dist/font-awesome/svgs/solid/wine-bottle.svg | 1 - dist/font-awesome/svgs/solid/wine-glass-alt.svg | 1 - dist/font-awesome/svgs/solid/wine-glass.svg | 1 - dist/font-awesome/svgs/solid/won-sign.svg | 1 - dist/font-awesome/svgs/solid/wrench.svg | 1 - dist/font-awesome/svgs/solid/x-ray.svg | 1 - dist/font-awesome/svgs/solid/yen-sign.svg | 1 - dist/font-awesome/svgs/solid/yin-yang.svg | 1 - dist/font-awesome/webfonts/fa-brands-400.eot | Bin 125320 -> 0 bytes dist/font-awesome/webfonts/fa-brands-400.svg | 3296 -- dist/font-awesome/webfonts/fa-brands-400.ttf | Bin 125016 -> 0 bytes dist/font-awesome/webfonts/fa-brands-400.woff | Bin 84564 -> 0 bytes dist/font-awesome/webfonts/fa-brands-400.woff2 | Bin 72112 -> 0 bytes dist/font-awesome/webfonts/fa-regular-400.eot | Bin 34388 -> 0 bytes dist/font-awesome/webfonts/fa-regular-400.svg | 799 - dist/font-awesome/webfonts/fa-regular-400.ttf | Bin 34092 -> 0 bytes dist/font-awesome/webfonts/fa-regular-400.woff | Bin 16812 -> 0 bytes dist/font-awesome/webfonts/fa-regular-400.woff2 | Bin 13592 -> 0 bytes dist/font-awesome/webfonts/fa-solid-900.eot | Bin 186512 -> 0 bytes dist/font-awesome/webfonts/fa-solid-900.svg | 4516 -- dist/font-awesome/webfonts/fa-solid-900.ttf | Bin 186228 -> 0 bytes dist/font-awesome/webfonts/fa-solid-900.woff | Bin 96244 -> 0 bytes dist/font-awesome/webfonts/fa-solid-900.woff2 | Bin 74348 -> 0 bytes dist/fonts/glyphicons-halflings-regular.eot | Bin 20127 -> 0 bytes dist/fonts/glyphicons-halflings-regular.svg | 288 - dist/fonts/glyphicons-halflings-regular.ttf | Bin 45404 -> 0 bytes dist/fonts/glyphicons-halflings-regular.woff | Bin 23424 -> 0 bytes dist/js/bootstrap.bundle.js | 7013 --- dist/js/bootstrap.bundle.js.map | 1 - dist/js/bootstrap.bundle.min.js | 7 - dist/js/bootstrap.bundle.min.js.map | 1 - dist/js/bootstrap.js | 4435 -- dist/js/bootstrap.js.map | 1 - dist/js/bootstrap.min.js | 7 - dist/js/bootstrap.min.js.map | 1 - dist/js/jquery-1.11.1.min.js | 4 - dist/js/npm.js | 13 - dist/js/pdf-view.js | 108 - dist/js/pdf.js | 11515 ----- dist/js/pdf.min.js | 8 - dist/js/pdf.worker.js | 43506 ---------------- dist/js/pdf.worker.min.js | 28 - images/NetBSD_Logo.svg | 57 - images/arch.png | Bin 137875 -> 0 bytes images/archlinux-logo.svg | 156 - images/cadet-gtk.svg | 196 - images/ccby.png | Bin 4739 -> 0 bytes images/debian-logo.svg | 86 - images/dfg_logo.gif | Bin 1426 -> 0 bytes images/fp7_logo.jpg | Bin 11558 -> 0 bytes images/gentoo-logo.svg | 1 - images/gns-logo.png | Bin 36087 -> 0 bytes images/gnunet-anonymous-logo-red.png | Bin 25070 -> 0 bytes images/gnunet-anonymous-logo.png | Bin 30620 -> 0 bytes images/gnunet-anonymous-schriftzug.png | Bin 9641 -> 0 bytes images/gnunet-arch-full.svg | 648 - images/gnunet-cyan-icon.png | Bin 1467 -> 0 bytes images/gnunet-historic-logo.svg | 2842 - images/gnunet-icon.png | Bin 1529 -> 0 bytes images/gnunet-logo-dark-only-text.png | Bin 3083 -> 0 bytes images/gnunet-logo-dark-only-text.svg | 1143 - images/gnunet-logo-dark-text-traditional.png | Bin 29932 -> 0 bytes images/gnunet-logo-dark-text-traditional.svg | 1699 - images/gnunet-logo-dark-text.png | Bin 31064 -> 0 bytes images/gnunet-logo-dark-text.svg | 1680 - images/gnunet-logo.png | Bin 95823 -> 0 bytes images/gnunet-logo.svg | 1581 - images/gnunet-red-icon.png | Bin 1170 -> 0 bytes images/gnunet-small-logo.png | Bin 18346 -> 0 bytes images/gnunet-smaller-logo.png | Bin 18109 -> 0 bytes images/groupchat.png | Bin 3756 -> 0 bytes images/languageicon.svg | 48 - images/logo-2018-dold.svg | 87 - images/netbsd-logo.png | Bin 37359 -> 0 bytes images/ngi_trust.png | Bin 78449 -> 0 bytes images/nlnet_logo.gif | Bin 5433 -> 0 bytes images/openwrt-logo.svg | 8 - images/pdf.svg | 214 - images/peplogo.svg | 21 - images/reclaim_logo.png | Bin 14337 -> 0 bytes images/rff_logo.png | Bin 7254 -> 0 bytes images/secushare-0444.png | Bin 26484 -> 0 bytes images/u-n-icon.png | Bin 804 -> 0 bytes images/ubuntu-logo32.png | Bin 13282 -> 0 bytes inc | 2 +- locale/ar/LC_MESSAGES/messages.po | 112 +- locale/babel.map | 2 +- locale/de/LC_MESSAGES/messages.mo | Bin 0 -> 152453 bytes locale/de/LC_MESSAGES/messages.po | 96 +- locale/en/LC_MESSAGES/messages.mo | Bin 0 -> 443 bytes locale/es/LC_MESSAGES/messages.mo | Bin 0 -> 109274 bytes locale/es/LC_MESSAGES/messages.po | 111 +- locale/fr/LC_MESSAGES/messages.mo | Bin 0 -> 24775 bytes locale/fr/LC_MESSAGES/messages.po | 158 +- locale/hi/LC_MESSAGES/messages.po | 116 +- locale/it/LC_MESSAGES/messages.mo | Bin 0 -> 111142 bytes locale/it/LC_MESSAGES/messages.po | 104 +- locale/ja/LC_MESSAGES/messages.po | 122 +- locale/ko/LC_MESSAGES/messages.po | 124 +- locale/messages.pot | 52 +- locale/pt/LC_MESSAGES/messages.po | 52 +- locale/zh_Hant/LC_MESSAGES/messages.po | 67 +- make_site.py | 76 - news/2011-11-24-archived-vfork.html.j2 | 62 - news/2013-11-15-special-use-gns.html.j2 | 14 - news/2013-12-28-archived-typos-pkeys.html.j2 | 16 - news/2018-06.html.j2 | 108 - news/2018-07.html.j2 | 7 - news/2019-0.11.0.html.j2 | 72 - news/2019-0.11.1.html.j2 | 55 - news/2019-0.11.2.html.j2 | 55 - news/2019-0.11.3.html.j2 | 52 - news/2019-0.11.4.html.j2 | 50 - news/2019-0.11.5.html.j2 | 47 - news/2019-0.11.6.html.j2 | 52 - news/2019-0.11.7.html.j2 | 56 - news/2019-0.11.8.html.j2 | 47 - news/2019-0.12.0.html.j2 | 85 - news/2019-0.12.1.html.j2 | 26 - news/2019-02.html.j2 | 75 - news/2019-06-DSTJ.html.j2 | 14 - news/2019-06.html.j2 | 7 - news/2019-07-GHM_Aug_2019.html.j2 | 7 - news/2019-10-GNSSpec1.html.j2 | 19 - news/2019-10-ICANNPanel.html.j2 | 13 - news/2019-11-ICANNUpdate.html.j2 | 10 - news/2019-12-UpcomingTalks.html.j2 | 73 - news/2020-01-0.12.2.html.j2 | 71 - news/2020-01-GNSSpec2.html.j2 | 28 - news/2020-05-GHM_Jun_2020.html.j2 | 8 - news/2020-06-GNSSpec3.html.j2 | 25 - news/2020-07-0.13.0.html.j2 | 103 - news/2020-07-0.13.1.html.j2 | 29 - news/2020-08-0.13.2.html.j2 | 58 - news/2020-09-0.13.3.html.j2 | 51 - news/2020-11-0.14.0.html.j2 | 81 - news/2020-11-GNSSpec4.html.j2 | 45 - news/2021-03-0.14.1.html.j2 | 48 - news/2021-03-gsoc-update.html.j2 | 13 - news/2021-04-DISSENS.html.j2 | 66 - news/index.html.j2 | 57 - news/oldnews-2011.html.j2 | 1 - news/oldnews-2013.html.j2 | 1 - news/oldnews-2018.html.j2 | 50 - news/oldnews-2019.html.j2 | 1 - static/dist/css/bootstrap-grid.css | 3719 ++ static/dist/css/bootstrap-grid.css.map | 1 + static/dist/css/bootstrap-grid.min.css | 7 + static/dist/css/bootstrap-grid.min.css.map | 1 + static/dist/css/bootstrap-reboot.css | 331 + static/dist/css/bootstrap-reboot.css.map | 1 + static/dist/css/bootstrap-reboot.min.css | 8 + static/dist/css/bootstrap-reboot.min.css.map | 1 + static/dist/css/bootstrap.css | 10038 ++++ static/dist/css/bootstrap.css.map | 1 + static/dist/css/bootstrap.min.css | 7 + static/dist/css/bootstrap.min.css.map | 1 + static/dist/font-awesome/LICENSE.txt | 34 + static/dist/font-awesome/css/all.css | 4286 ++ static/dist/font-awesome/css/all.min.css | 1 + static/dist/font-awesome/css/brands.css | 10 + static/dist/font-awesome/css/brands.min.css | 1 + static/dist/font-awesome/css/fontawesome.css | 4253 ++ static/dist/font-awesome/css/fontawesome.min.css | 1 + static/dist/font-awesome/css/regular.css | 11 + static/dist/font-awesome/css/regular.min.css | 1 + static/dist/font-awesome/css/solid.css | 12 + static/dist/font-awesome/css/solid.min.css | 1 + static/dist/font-awesome/css/svg-with-js.css | 342 + static/dist/font-awesome/css/svg-with-js.min.css | 1 + static/dist/font-awesome/css/v4-shims.css | 2162 + static/dist/font-awesome/css/v4-shims.min.css | 1 + static/dist/font-awesome/js/all.js | 4259 ++ static/dist/font-awesome/js/all.min.js | 1 + static/dist/font-awesome/js/brands.js | 539 + static/dist/font-awesome/js/brands.min.js | 1 + static/dist/font-awesome/js/fontawesome.js | 2384 + static/dist/font-awesome/js/fontawesome.min.js | 1 + static/dist/font-awesome/js/regular.js | 276 + static/dist/font-awesome/js/regular.min.js | 1 + static/dist/font-awesome/js/solid.js | 1060 + static/dist/font-awesome/js/solid.min.js | 1 + static/dist/font-awesome/js/v4-shims.js | 64 + static/dist/font-awesome/js/v4-shims.min.js | 1 + static/dist/font-awesome/less/_animated.less | 19 + .../dist/font-awesome/less/_bordered-pulled.less | 16 + static/dist/font-awesome/less/_core.less | 12 + static/dist/font-awesome/less/_fixed-width.less | 6 + static/dist/font-awesome/less/_icons.less | 1353 + static/dist/font-awesome/less/_larger.less | 27 + static/dist/font-awesome/less/_list.less | 18 + static/dist/font-awesome/less/_mixins.less | 57 + .../dist/font-awesome/less/_rotated-flipped.less | 24 + static/dist/font-awesome/less/_screen-reader.less | 5 + static/dist/font-awesome/less/_shims.less | 2062 + static/dist/font-awesome/less/_stacked.less | 22 + static/dist/font-awesome/less/_variables.less | 1363 + static/dist/font-awesome/less/brands.less | 18 + static/dist/font-awesome/less/fontawesome.less | 12 + static/dist/font-awesome/less/regular.less | 19 + static/dist/font-awesome/less/solid.less | 20 + static/dist/font-awesome/less/v4-shims.less | 2 + static/dist/font-awesome/metadata/categories.yml | 1947 + static/dist/font-awesome/metadata/icons.json | 51733 +++++++++++++++++++ static/dist/font-awesome/metadata/icons.yml | 17769 +++++++ static/dist/font-awesome/metadata/shims.json | 2307 + static/dist/font-awesome/metadata/shims.yml | 294 + static/dist/font-awesome/metadata/sponsors.yml | 675 + static/dist/font-awesome/scss/_animated.scss | 20 + .../dist/font-awesome/scss/_bordered-pulled.scss | 20 + static/dist/font-awesome/scss/_core.scss | 20 + static/dist/font-awesome/scss/_fixed-width.scss | 6 + static/dist/font-awesome/scss/_icons.scss | 1353 + static/dist/font-awesome/scss/_larger.scss | 23 + static/dist/font-awesome/scss/_list.scss | 18 + static/dist/font-awesome/scss/_mixins.scss | 57 + .../dist/font-awesome/scss/_rotated-flipped.scss | 24 + static/dist/font-awesome/scss/_screen-reader.scss | 5 + static/dist/font-awesome/scss/_shims.scss | 2062 + static/dist/font-awesome/scss/_stacked.scss | 31 + static/dist/font-awesome/scss/_variables.scss | 1368 + static/dist/font-awesome/scss/brands.scss | 18 + static/dist/font-awesome/scss/fontawesome.scss | 12 + static/dist/font-awesome/scss/regular.scss | 19 + static/dist/font-awesome/scss/solid.scss | 20 + static/dist/font-awesome/scss/v4-shims.scss | 2 + static/dist/font-awesome/sprites/brands.svg | 1663 + static/dist/font-awesome/sprites/regular.svg | 611 + static/dist/font-awesome/sprites/solid.svg | 3747 ++ static/dist/font-awesome/svgs/brands/500px.svg | 1 + .../font-awesome/svgs/brands/accessible-icon.svg | 1 + static/dist/font-awesome/svgs/brands/accusoft.svg | 1 + .../svgs/brands/acquisitions-incorporated.svg | 1 + static/dist/font-awesome/svgs/brands/adn.svg | 1 + static/dist/font-awesome/svgs/brands/adobe.svg | 1 + static/dist/font-awesome/svgs/brands/adversal.svg | 1 + .../font-awesome/svgs/brands/affiliatetheme.svg | 1 + static/dist/font-awesome/svgs/brands/algolia.svg | 1 + static/dist/font-awesome/svgs/brands/alipay.svg | 1 + .../dist/font-awesome/svgs/brands/amazon-pay.svg | 1 + static/dist/font-awesome/svgs/brands/amazon.svg | 1 + static/dist/font-awesome/svgs/brands/amilia.svg | 1 + static/dist/font-awesome/svgs/brands/android.svg | 1 + static/dist/font-awesome/svgs/brands/angellist.svg | 1 + .../font-awesome/svgs/brands/angrycreative.svg | 1 + static/dist/font-awesome/svgs/brands/angular.svg | 1 + .../font-awesome/svgs/brands/app-store-ios.svg | 1 + static/dist/font-awesome/svgs/brands/app-store.svg | 1 + static/dist/font-awesome/svgs/brands/apper.svg | 1 + static/dist/font-awesome/svgs/brands/apple-pay.svg | 1 + static/dist/font-awesome/svgs/brands/apple.svg | 1 + .../dist/font-awesome/svgs/brands/artstation.svg | 1 + .../dist/font-awesome/svgs/brands/asymmetrik.svg | 1 + static/dist/font-awesome/svgs/brands/atlassian.svg | 1 + static/dist/font-awesome/svgs/brands/audible.svg | 1 + .../dist/font-awesome/svgs/brands/autoprefixer.svg | 1 + static/dist/font-awesome/svgs/brands/avianex.svg | 1 + static/dist/font-awesome/svgs/brands/aviato.svg | 1 + static/dist/font-awesome/svgs/brands/aws.svg | 1 + static/dist/font-awesome/svgs/brands/bandcamp.svg | 1 + .../font-awesome/svgs/brands/behance-square.svg | 1 + static/dist/font-awesome/svgs/brands/behance.svg | 1 + static/dist/font-awesome/svgs/brands/bimobject.svg | 1 + static/dist/font-awesome/svgs/brands/bitbucket.svg | 1 + static/dist/font-awesome/svgs/brands/bitcoin.svg | 1 + static/dist/font-awesome/svgs/brands/bity.svg | 1 + static/dist/font-awesome/svgs/brands/black-tie.svg | 1 + .../dist/font-awesome/svgs/brands/blackberry.svg | 1 + static/dist/font-awesome/svgs/brands/blogger-b.svg | 1 + static/dist/font-awesome/svgs/brands/blogger.svg | 1 + .../dist/font-awesome/svgs/brands/bluetooth-b.svg | 1 + static/dist/font-awesome/svgs/brands/bluetooth.svg | 1 + static/dist/font-awesome/svgs/brands/btc.svg | 1 + .../font-awesome/svgs/brands/buromobelexperte.svg | 1 + .../dist/font-awesome/svgs/brands/buysellads.svg | 1 + .../svgs/brands/canadian-maple-leaf.svg | 1 + .../font-awesome/svgs/brands/cc-amazon-pay.svg | 1 + static/dist/font-awesome/svgs/brands/cc-amex.svg | 1 + .../dist/font-awesome/svgs/brands/cc-apple-pay.svg | 1 + .../font-awesome/svgs/brands/cc-diners-club.svg | 1 + .../dist/font-awesome/svgs/brands/cc-discover.svg | 1 + static/dist/font-awesome/svgs/brands/cc-jcb.svg | 1 + .../font-awesome/svgs/brands/cc-mastercard.svg | 1 + static/dist/font-awesome/svgs/brands/cc-paypal.svg | 1 + static/dist/font-awesome/svgs/brands/cc-stripe.svg | 1 + static/dist/font-awesome/svgs/brands/cc-visa.svg | 1 + .../dist/font-awesome/svgs/brands/centercode.svg | 1 + static/dist/font-awesome/svgs/brands/centos.svg | 1 + static/dist/font-awesome/svgs/brands/chrome.svg | 1 + .../dist/font-awesome/svgs/brands/cloudscale.svg | 1 + .../dist/font-awesome/svgs/brands/cloudsmith.svg | 1 + .../dist/font-awesome/svgs/brands/cloudversify.svg | 1 + static/dist/font-awesome/svgs/brands/codepen.svg | 1 + static/dist/font-awesome/svgs/brands/codiepie.svg | 1 + .../dist/font-awesome/svgs/brands/confluence.svg | 1 + .../font-awesome/svgs/brands/connectdevelop.svg | 1 + static/dist/font-awesome/svgs/brands/contao.svg | 1 + static/dist/font-awesome/svgs/brands/cpanel.svg | 1 + .../svgs/brands/creative-commons-by.svg | 1 + .../svgs/brands/creative-commons-nc-eu.svg | 1 + .../svgs/brands/creative-commons-nc-jp.svg | 1 + .../svgs/brands/creative-commons-nc.svg | 1 + .../svgs/brands/creative-commons-nd.svg | 1 + .../svgs/brands/creative-commons-pd-alt.svg | 1 + .../svgs/brands/creative-commons-pd.svg | 1 + .../svgs/brands/creative-commons-remix.svg | 1 + .../svgs/brands/creative-commons-sa.svg | 1 + .../svgs/brands/creative-commons-sampling-plus.svg | 1 + .../svgs/brands/creative-commons-sampling.svg | 1 + .../svgs/brands/creative-commons-share.svg | 1 + .../svgs/brands/creative-commons-zero.svg | 1 + .../font-awesome/svgs/brands/creative-commons.svg | 1 + .../font-awesome/svgs/brands/critical-role.svg | 1 + static/dist/font-awesome/svgs/brands/css3-alt.svg | 1 + static/dist/font-awesome/svgs/brands/css3.svg | 1 + .../dist/font-awesome/svgs/brands/cuttlefish.svg | 1 + .../font-awesome/svgs/brands/d-and-d-beyond.svg | 1 + static/dist/font-awesome/svgs/brands/d-and-d.svg | 1 + static/dist/font-awesome/svgs/brands/dashcube.svg | 1 + static/dist/font-awesome/svgs/brands/delicious.svg | 1 + static/dist/font-awesome/svgs/brands/deploydog.svg | 1 + static/dist/font-awesome/svgs/brands/deskpro.svg | 1 + static/dist/font-awesome/svgs/brands/dev.svg | 1 + .../dist/font-awesome/svgs/brands/deviantart.svg | 1 + static/dist/font-awesome/svgs/brands/dhl.svg | 1 + static/dist/font-awesome/svgs/brands/diaspora.svg | 1 + static/dist/font-awesome/svgs/brands/digg.svg | 1 + .../font-awesome/svgs/brands/digital-ocean.svg | 1 + static/dist/font-awesome/svgs/brands/discord.svg | 1 + static/dist/font-awesome/svgs/brands/discourse.svg | 1 + static/dist/font-awesome/svgs/brands/dochub.svg | 1 + static/dist/font-awesome/svgs/brands/docker.svg | 1 + .../font-awesome/svgs/brands/draft2digital.svg | 1 + .../font-awesome/svgs/brands/dribbble-square.svg | 1 + static/dist/font-awesome/svgs/brands/dribbble.svg | 1 + static/dist/font-awesome/svgs/brands/dropbox.svg | 1 + static/dist/font-awesome/svgs/brands/drupal.svg | 1 + static/dist/font-awesome/svgs/brands/dyalog.svg | 1 + .../dist/font-awesome/svgs/brands/earlybirds.svg | 1 + static/dist/font-awesome/svgs/brands/ebay.svg | 1 + static/dist/font-awesome/svgs/brands/edge.svg | 1 + static/dist/font-awesome/svgs/brands/elementor.svg | 1 + static/dist/font-awesome/svgs/brands/ello.svg | 1 + static/dist/font-awesome/svgs/brands/ember.svg | 1 + static/dist/font-awesome/svgs/brands/empire.svg | 1 + static/dist/font-awesome/svgs/brands/envira.svg | 1 + static/dist/font-awesome/svgs/brands/erlang.svg | 1 + static/dist/font-awesome/svgs/brands/ethereum.svg | 1 + static/dist/font-awesome/svgs/brands/etsy.svg | 1 + .../dist/font-awesome/svgs/brands/expeditedssl.svg | 1 + .../dist/font-awesome/svgs/brands/facebook-f.svg | 1 + .../svgs/brands/facebook-messenger.svg | 1 + .../font-awesome/svgs/brands/facebook-square.svg | 1 + static/dist/font-awesome/svgs/brands/facebook.svg | 1 + .../svgs/brands/fantasy-flight-games.svg | 1 + static/dist/font-awesome/svgs/brands/fedex.svg | 1 + static/dist/font-awesome/svgs/brands/fedora.svg | 1 + static/dist/font-awesome/svgs/brands/figma.svg | 1 + static/dist/font-awesome/svgs/brands/firefox.svg | 1 + .../font-awesome/svgs/brands/first-order-alt.svg | 1 + .../dist/font-awesome/svgs/brands/first-order.svg | 1 + .../dist/font-awesome/svgs/brands/firstdraft.svg | 1 + static/dist/font-awesome/svgs/brands/flickr.svg | 1 + static/dist/font-awesome/svgs/brands/flipboard.svg | 1 + static/dist/font-awesome/svgs/brands/fly.svg | 1 + .../font-awesome/svgs/brands/font-awesome-alt.svg | 1 + .../font-awesome/svgs/brands/font-awesome-flag.svg | 1 + .../svgs/brands/font-awesome-logo-full.svg | 1 + .../dist/font-awesome/svgs/brands/font-awesome.svg | 1 + .../dist/font-awesome/svgs/brands/fonticons-fi.svg | 1 + static/dist/font-awesome/svgs/brands/fonticons.svg | 1 + .../font-awesome/svgs/brands/fort-awesome-alt.svg | 1 + .../dist/font-awesome/svgs/brands/fort-awesome.svg | 1 + static/dist/font-awesome/svgs/brands/forumbee.svg | 1 + .../dist/font-awesome/svgs/brands/foursquare.svg | 1 + .../font-awesome/svgs/brands/free-code-camp.svg | 1 + static/dist/font-awesome/svgs/brands/freebsd.svg | 1 + static/dist/font-awesome/svgs/brands/fulcrum.svg | 1 + .../font-awesome/svgs/brands/galactic-republic.svg | 1 + .../font-awesome/svgs/brands/galactic-senate.svg | 1 + .../dist/font-awesome/svgs/brands/get-pocket.svg | 1 + static/dist/font-awesome/svgs/brands/gg-circle.svg | 1 + static/dist/font-awesome/svgs/brands/gg.svg | 1 + .../dist/font-awesome/svgs/brands/git-square.svg | 1 + static/dist/font-awesome/svgs/brands/git.svg | 1 + .../dist/font-awesome/svgs/brands/github-alt.svg | 1 + .../font-awesome/svgs/brands/github-square.svg | 1 + static/dist/font-awesome/svgs/brands/github.svg | 1 + static/dist/font-awesome/svgs/brands/gitkraken.svg | 1 + static/dist/font-awesome/svgs/brands/gitlab.svg | 1 + static/dist/font-awesome/svgs/brands/gitter.svg | 1 + static/dist/font-awesome/svgs/brands/glide-g.svg | 1 + static/dist/font-awesome/svgs/brands/glide.svg | 1 + static/dist/font-awesome/svgs/brands/gofore.svg | 1 + .../dist/font-awesome/svgs/brands/goodreads-g.svg | 1 + static/dist/font-awesome/svgs/brands/goodreads.svg | 1 + .../dist/font-awesome/svgs/brands/google-drive.svg | 1 + .../dist/font-awesome/svgs/brands/google-play.svg | 1 + .../font-awesome/svgs/brands/google-plus-g.svg | 1 + .../svgs/brands/google-plus-square.svg | 1 + .../dist/font-awesome/svgs/brands/google-plus.svg | 1 + .../font-awesome/svgs/brands/google-wallet.svg | 1 + static/dist/font-awesome/svgs/brands/google.svg | 1 + static/dist/font-awesome/svgs/brands/gratipay.svg | 1 + static/dist/font-awesome/svgs/brands/grav.svg | 1 + static/dist/font-awesome/svgs/brands/gripfire.svg | 1 + static/dist/font-awesome/svgs/brands/grunt.svg | 1 + static/dist/font-awesome/svgs/brands/gulp.svg | 1 + .../svgs/brands/hacker-news-square.svg | 1 + .../dist/font-awesome/svgs/brands/hacker-news.svg | 1 + .../dist/font-awesome/svgs/brands/hackerrank.svg | 1 + static/dist/font-awesome/svgs/brands/hips.svg | 1 + .../font-awesome/svgs/brands/hire-a-helper.svg | 1 + static/dist/font-awesome/svgs/brands/hooli.svg | 1 + static/dist/font-awesome/svgs/brands/hornbill.svg | 1 + static/dist/font-awesome/svgs/brands/hotjar.svg | 1 + static/dist/font-awesome/svgs/brands/houzz.svg | 1 + static/dist/font-awesome/svgs/brands/html5.svg | 1 + static/dist/font-awesome/svgs/brands/hubspot.svg | 1 + static/dist/font-awesome/svgs/brands/imdb.svg | 1 + static/dist/font-awesome/svgs/brands/instagram.svg | 1 + static/dist/font-awesome/svgs/brands/intercom.svg | 1 + .../font-awesome/svgs/brands/internet-explorer.svg | 1 + static/dist/font-awesome/svgs/brands/invision.svg | 1 + static/dist/font-awesome/svgs/brands/ioxhost.svg | 1 + .../dist/font-awesome/svgs/brands/itunes-note.svg | 1 + static/dist/font-awesome/svgs/brands/itunes.svg | 1 + static/dist/font-awesome/svgs/brands/java.svg | 1 + .../dist/font-awesome/svgs/brands/jedi-order.svg | 1 + static/dist/font-awesome/svgs/brands/jenkins.svg | 1 + static/dist/font-awesome/svgs/brands/jira.svg | 1 + static/dist/font-awesome/svgs/brands/joget.svg | 1 + static/dist/font-awesome/svgs/brands/joomla.svg | 1 + static/dist/font-awesome/svgs/brands/js-square.svg | 1 + static/dist/font-awesome/svgs/brands/js.svg | 1 + static/dist/font-awesome/svgs/brands/jsfiddle.svg | 1 + static/dist/font-awesome/svgs/brands/kaggle.svg | 1 + static/dist/font-awesome/svgs/brands/keybase.svg | 1 + static/dist/font-awesome/svgs/brands/keycdn.svg | 1 + .../font-awesome/svgs/brands/kickstarter-k.svg | 1 + .../dist/font-awesome/svgs/brands/kickstarter.svg | 1 + static/dist/font-awesome/svgs/brands/korvue.svg | 1 + static/dist/font-awesome/svgs/brands/laravel.svg | 1 + .../font-awesome/svgs/brands/lastfm-square.svg | 1 + static/dist/font-awesome/svgs/brands/lastfm.svg | 1 + static/dist/font-awesome/svgs/brands/leanpub.svg | 1 + static/dist/font-awesome/svgs/brands/less.svg | 1 + static/dist/font-awesome/svgs/brands/line.svg | 1 + .../dist/font-awesome/svgs/brands/linkedin-in.svg | 1 + static/dist/font-awesome/svgs/brands/linkedin.svg | 1 + static/dist/font-awesome/svgs/brands/linode.svg | 1 + static/dist/font-awesome/svgs/brands/linux.svg | 1 + static/dist/font-awesome/svgs/brands/lyft.svg | 1 + static/dist/font-awesome/svgs/brands/magento.svg | 1 + static/dist/font-awesome/svgs/brands/mailchimp.svg | 1 + .../dist/font-awesome/svgs/brands/mandalorian.svg | 1 + static/dist/font-awesome/svgs/brands/markdown.svg | 1 + static/dist/font-awesome/svgs/brands/mastodon.svg | 1 + static/dist/font-awesome/svgs/brands/maxcdn.svg | 1 + static/dist/font-awesome/svgs/brands/medapps.svg | 1 + static/dist/font-awesome/svgs/brands/medium-m.svg | 1 + static/dist/font-awesome/svgs/brands/medium.svg | 1 + static/dist/font-awesome/svgs/brands/medrt.svg | 1 + static/dist/font-awesome/svgs/brands/meetup.svg | 1 + static/dist/font-awesome/svgs/brands/megaport.svg | 1 + static/dist/font-awesome/svgs/brands/mendeley.svg | 1 + static/dist/font-awesome/svgs/brands/microsoft.svg | 1 + static/dist/font-awesome/svgs/brands/mix.svg | 1 + static/dist/font-awesome/svgs/brands/mixcloud.svg | 1 + static/dist/font-awesome/svgs/brands/mizuni.svg | 1 + static/dist/font-awesome/svgs/brands/modx.svg | 1 + static/dist/font-awesome/svgs/brands/monero.svg | 1 + static/dist/font-awesome/svgs/brands/napster.svg | 1 + static/dist/font-awesome/svgs/brands/neos.svg | 1 + static/dist/font-awesome/svgs/brands/nimblr.svg | 1 + .../font-awesome/svgs/brands/nintendo-switch.svg | 1 + static/dist/font-awesome/svgs/brands/node-js.svg | 1 + static/dist/font-awesome/svgs/brands/node.svg | 1 + static/dist/font-awesome/svgs/brands/npm.svg | 1 + static/dist/font-awesome/svgs/brands/ns8.svg | 1 + .../dist/font-awesome/svgs/brands/nutritionix.svg | 1 + .../svgs/brands/odnoklassniki-square.svg | 1 + .../font-awesome/svgs/brands/odnoklassniki.svg | 1 + .../dist/font-awesome/svgs/brands/old-republic.svg | 1 + static/dist/font-awesome/svgs/brands/opencart.svg | 1 + static/dist/font-awesome/svgs/brands/openid.svg | 1 + static/dist/font-awesome/svgs/brands/opera.svg | 1 + .../font-awesome/svgs/brands/optin-monster.svg | 1 + static/dist/font-awesome/svgs/brands/osi.svg | 1 + static/dist/font-awesome/svgs/brands/page4.svg | 1 + static/dist/font-awesome/svgs/brands/pagelines.svg | 1 + static/dist/font-awesome/svgs/brands/palfed.svg | 1 + static/dist/font-awesome/svgs/brands/patreon.svg | 1 + static/dist/font-awesome/svgs/brands/paypal.svg | 1 + .../dist/font-awesome/svgs/brands/penny-arcade.svg | 1 + static/dist/font-awesome/svgs/brands/periscope.svg | 1 + .../dist/font-awesome/svgs/brands/phabricator.svg | 1 + .../font-awesome/svgs/brands/phoenix-framework.svg | 1 + .../font-awesome/svgs/brands/phoenix-squadron.svg | 1 + static/dist/font-awesome/svgs/brands/php.svg | 1 + .../font-awesome/svgs/brands/pied-piper-alt.svg | 1 + .../font-awesome/svgs/brands/pied-piper-hat.svg | 1 + .../font-awesome/svgs/brands/pied-piper-pp.svg | 1 + .../dist/font-awesome/svgs/brands/pied-piper.svg | 1 + .../dist/font-awesome/svgs/brands/pinterest-p.svg | 1 + .../font-awesome/svgs/brands/pinterest-square.svg | 1 + static/dist/font-awesome/svgs/brands/pinterest.svg | 1 + .../dist/font-awesome/svgs/brands/playstation.svg | 1 + .../dist/font-awesome/svgs/brands/product-hunt.svg | 1 + static/dist/font-awesome/svgs/brands/pushed.svg | 1 + static/dist/font-awesome/svgs/brands/python.svg | 1 + static/dist/font-awesome/svgs/brands/qq.svg | 1 + static/dist/font-awesome/svgs/brands/quinscape.svg | 1 + static/dist/font-awesome/svgs/brands/quora.svg | 1 + static/dist/font-awesome/svgs/brands/r-project.svg | 1 + .../dist/font-awesome/svgs/brands/raspberry-pi.svg | 1 + static/dist/font-awesome/svgs/brands/ravelry.svg | 1 + static/dist/font-awesome/svgs/brands/react.svg | 1 + .../dist/font-awesome/svgs/brands/reacteurope.svg | 1 + static/dist/font-awesome/svgs/brands/readme.svg | 1 + static/dist/font-awesome/svgs/brands/rebel.svg | 1 + static/dist/font-awesome/svgs/brands/red-river.svg | 1 + .../dist/font-awesome/svgs/brands/reddit-alien.svg | 1 + .../font-awesome/svgs/brands/reddit-square.svg | 1 + static/dist/font-awesome/svgs/brands/reddit.svg | 1 + static/dist/font-awesome/svgs/brands/redhat.svg | 1 + static/dist/font-awesome/svgs/brands/renren.svg | 1 + static/dist/font-awesome/svgs/brands/replyd.svg | 1 + .../dist/font-awesome/svgs/brands/researchgate.svg | 1 + static/dist/font-awesome/svgs/brands/resolving.svg | 1 + static/dist/font-awesome/svgs/brands/rev.svg | 1 + .../dist/font-awesome/svgs/brands/rocketchat.svg | 1 + static/dist/font-awesome/svgs/brands/rockrms.svg | 1 + static/dist/font-awesome/svgs/brands/safari.svg | 1 + static/dist/font-awesome/svgs/brands/sass.svg | 1 + static/dist/font-awesome/svgs/brands/schlix.svg | 1 + static/dist/font-awesome/svgs/brands/scribd.svg | 1 + .../dist/font-awesome/svgs/brands/searchengin.svg | 1 + static/dist/font-awesome/svgs/brands/sellcast.svg | 1 + static/dist/font-awesome/svgs/brands/sellsy.svg | 1 + .../dist/font-awesome/svgs/brands/servicestack.svg | 1 + .../dist/font-awesome/svgs/brands/shirtsinbulk.svg | 1 + static/dist/font-awesome/svgs/brands/shopware.svg | 1 + .../dist/font-awesome/svgs/brands/simplybuilt.svg | 1 + static/dist/font-awesome/svgs/brands/sistrix.svg | 1 + static/dist/font-awesome/svgs/brands/sith.svg | 1 + static/dist/font-awesome/svgs/brands/sketch.svg | 1 + static/dist/font-awesome/svgs/brands/skyatlas.svg | 1 + static/dist/font-awesome/svgs/brands/skype.svg | 1 + .../dist/font-awesome/svgs/brands/slack-hash.svg | 1 + static/dist/font-awesome/svgs/brands/slack.svg | 1 + .../dist/font-awesome/svgs/brands/slideshare.svg | 1 + .../font-awesome/svgs/brands/snapchat-ghost.svg | 1 + .../font-awesome/svgs/brands/snapchat-square.svg | 1 + static/dist/font-awesome/svgs/brands/snapchat.svg | 1 + .../dist/font-awesome/svgs/brands/soundcloud.svg | 1 + .../dist/font-awesome/svgs/brands/sourcetree.svg | 1 + static/dist/font-awesome/svgs/brands/speakap.svg | 1 + static/dist/font-awesome/svgs/brands/spotify.svg | 1 + .../dist/font-awesome/svgs/brands/squarespace.svg | 1 + .../font-awesome/svgs/brands/stack-exchange.svg | 1 + .../font-awesome/svgs/brands/stack-overflow.svg | 1 + .../dist/font-awesome/svgs/brands/staylinked.svg | 1 + .../dist/font-awesome/svgs/brands/steam-square.svg | 1 + .../dist/font-awesome/svgs/brands/steam-symbol.svg | 1 + static/dist/font-awesome/svgs/brands/steam.svg | 1 + .../dist/font-awesome/svgs/brands/sticker-mule.svg | 1 + static/dist/font-awesome/svgs/brands/strava.svg | 1 + static/dist/font-awesome/svgs/brands/stripe-s.svg | 1 + static/dist/font-awesome/svgs/brands/stripe.svg | 1 + .../dist/font-awesome/svgs/brands/studiovinari.svg | 1 + .../svgs/brands/stumbleupon-circle.svg | 1 + .../dist/font-awesome/svgs/brands/stumbleupon.svg | 1 + .../dist/font-awesome/svgs/brands/superpowers.svg | 1 + static/dist/font-awesome/svgs/brands/supple.svg | 1 + static/dist/font-awesome/svgs/brands/suse.svg | 1 + static/dist/font-awesome/svgs/brands/teamspeak.svg | 1 + .../font-awesome/svgs/brands/telegram-plane.svg | 1 + static/dist/font-awesome/svgs/brands/telegram.svg | 1 + .../font-awesome/svgs/brands/tencent-weibo.svg | 1 + .../dist/font-awesome/svgs/brands/the-red-yeti.svg | 1 + static/dist/font-awesome/svgs/brands/themeco.svg | 1 + static/dist/font-awesome/svgs/brands/themeisle.svg | 1 + .../dist/font-awesome/svgs/brands/think-peaks.svg | 1 + .../font-awesome/svgs/brands/trade-federation.svg | 1 + static/dist/font-awesome/svgs/brands/trello.svg | 1 + .../dist/font-awesome/svgs/brands/tripadvisor.svg | 1 + .../font-awesome/svgs/brands/tumblr-square.svg | 1 + static/dist/font-awesome/svgs/brands/tumblr.svg | 1 + static/dist/font-awesome/svgs/brands/twitch.svg | 1 + .../font-awesome/svgs/brands/twitter-square.svg | 1 + static/dist/font-awesome/svgs/brands/twitter.svg | 1 + static/dist/font-awesome/svgs/brands/typo3.svg | 1 + static/dist/font-awesome/svgs/brands/uber.svg | 1 + static/dist/font-awesome/svgs/brands/ubuntu.svg | 1 + static/dist/font-awesome/svgs/brands/uikit.svg | 1 + .../dist/font-awesome/svgs/brands/uniregistry.svg | 1 + static/dist/font-awesome/svgs/brands/untappd.svg | 1 + static/dist/font-awesome/svgs/brands/ups.svg | 1 + static/dist/font-awesome/svgs/brands/usb.svg | 1 + static/dist/font-awesome/svgs/brands/usps.svg | 1 + static/dist/font-awesome/svgs/brands/ussunnah.svg | 1 + static/dist/font-awesome/svgs/brands/vaadin.svg | 1 + static/dist/font-awesome/svgs/brands/viacoin.svg | 1 + .../font-awesome/svgs/brands/viadeo-square.svg | 1 + static/dist/font-awesome/svgs/brands/viadeo.svg | 1 + static/dist/font-awesome/svgs/brands/viber.svg | 1 + .../dist/font-awesome/svgs/brands/vimeo-square.svg | 1 + static/dist/font-awesome/svgs/brands/vimeo-v.svg | 1 + static/dist/font-awesome/svgs/brands/vimeo.svg | 1 + static/dist/font-awesome/svgs/brands/vine.svg | 1 + static/dist/font-awesome/svgs/brands/vk.svg | 1 + static/dist/font-awesome/svgs/brands/vnv.svg | 1 + static/dist/font-awesome/svgs/brands/vuejs.svg | 1 + static/dist/font-awesome/svgs/brands/weebly.svg | 1 + static/dist/font-awesome/svgs/brands/weibo.svg | 1 + static/dist/font-awesome/svgs/brands/weixin.svg | 1 + .../font-awesome/svgs/brands/whatsapp-square.svg | 1 + static/dist/font-awesome/svgs/brands/whatsapp.svg | 1 + static/dist/font-awesome/svgs/brands/whmcs.svg | 1 + .../dist/font-awesome/svgs/brands/wikipedia-w.svg | 1 + static/dist/font-awesome/svgs/brands/windows.svg | 1 + static/dist/font-awesome/svgs/brands/wix.svg | 1 + .../svgs/brands/wizards-of-the-coast.svg | 1 + .../svgs/brands/wolf-pack-battalion.svg | 1 + .../font-awesome/svgs/brands/wordpress-simple.svg | 1 + static/dist/font-awesome/svgs/brands/wordpress.svg | 1 + .../dist/font-awesome/svgs/brands/wpbeginner.svg | 1 + .../dist/font-awesome/svgs/brands/wpexplorer.svg | 1 + static/dist/font-awesome/svgs/brands/wpforms.svg | 1 + static/dist/font-awesome/svgs/brands/wpressr.svg | 1 + static/dist/font-awesome/svgs/brands/xbox.svg | 1 + .../dist/font-awesome/svgs/brands/xing-square.svg | 1 + static/dist/font-awesome/svgs/brands/xing.svg | 1 + .../dist/font-awesome/svgs/brands/y-combinator.svg | 1 + static/dist/font-awesome/svgs/brands/yahoo.svg | 1 + .../svgs/brands/yandex-international.svg | 1 + static/dist/font-awesome/svgs/brands/yandex.svg | 1 + static/dist/font-awesome/svgs/brands/yarn.svg | 1 + static/dist/font-awesome/svgs/brands/yelp.svg | 1 + static/dist/font-awesome/svgs/brands/yoast.svg | 1 + .../font-awesome/svgs/brands/youtube-square.svg | 1 + static/dist/font-awesome/svgs/brands/youtube.svg | 1 + static/dist/font-awesome/svgs/brands/zhihu.svg | 1 + .../font-awesome/svgs/regular/address-book.svg | 1 + .../font-awesome/svgs/regular/address-card.svg | 1 + static/dist/font-awesome/svgs/regular/angry.svg | 1 + .../svgs/regular/arrow-alt-circle-down.svg | 1 + .../svgs/regular/arrow-alt-circle-left.svg | 1 + .../svgs/regular/arrow-alt-circle-right.svg | 1 + .../svgs/regular/arrow-alt-circle-up.svg | 1 + .../dist/font-awesome/svgs/regular/bell-slash.svg | 1 + static/dist/font-awesome/svgs/regular/bell.svg | 1 + static/dist/font-awesome/svgs/regular/bookmark.svg | 1 + static/dist/font-awesome/svgs/regular/building.svg | 1 + .../font-awesome/svgs/regular/calendar-alt.svg | 1 + .../font-awesome/svgs/regular/calendar-check.svg | 1 + .../font-awesome/svgs/regular/calendar-minus.svg | 1 + .../font-awesome/svgs/regular/calendar-plus.svg | 1 + .../font-awesome/svgs/regular/calendar-times.svg | 1 + static/dist/font-awesome/svgs/regular/calendar.svg | 1 + .../svgs/regular/caret-square-down.svg | 1 + .../svgs/regular/caret-square-left.svg | 1 + .../svgs/regular/caret-square-right.svg | 1 + .../font-awesome/svgs/regular/caret-square-up.svg | 1 + .../dist/font-awesome/svgs/regular/chart-bar.svg | 1 + .../font-awesome/svgs/regular/check-circle.svg | 1 + .../font-awesome/svgs/regular/check-square.svg | 1 + static/dist/font-awesome/svgs/regular/circle.svg | 1 + .../dist/font-awesome/svgs/regular/clipboard.svg | 1 + static/dist/font-awesome/svgs/regular/clock.svg | 1 + static/dist/font-awesome/svgs/regular/clone.svg | 1 + .../svgs/regular/closed-captioning.svg | 1 + .../dist/font-awesome/svgs/regular/comment-alt.svg | 1 + .../font-awesome/svgs/regular/comment-dots.svg | 1 + static/dist/font-awesome/svgs/regular/comment.svg | 1 + static/dist/font-awesome/svgs/regular/comments.svg | 1 + static/dist/font-awesome/svgs/regular/compass.svg | 1 + static/dist/font-awesome/svgs/regular/copy.svg | 1 + .../dist/font-awesome/svgs/regular/copyright.svg | 1 + .../dist/font-awesome/svgs/regular/credit-card.svg | 1 + static/dist/font-awesome/svgs/regular/dizzy.svg | 1 + .../dist/font-awesome/svgs/regular/dot-circle.svg | 1 + static/dist/font-awesome/svgs/regular/edit.svg | 1 + .../font-awesome/svgs/regular/envelope-open.svg | 1 + static/dist/font-awesome/svgs/regular/envelope.svg | 1 + .../dist/font-awesome/svgs/regular/eye-slash.svg | 1 + static/dist/font-awesome/svgs/regular/eye.svg | 1 + static/dist/font-awesome/svgs/regular/file-alt.svg | 1 + .../font-awesome/svgs/regular/file-archive.svg | 1 + .../dist/font-awesome/svgs/regular/file-audio.svg | 1 + .../dist/font-awesome/svgs/regular/file-code.svg | 1 + .../dist/font-awesome/svgs/regular/file-excel.svg | 1 + .../dist/font-awesome/svgs/regular/file-image.svg | 1 + static/dist/font-awesome/svgs/regular/file-pdf.svg | 1 + .../font-awesome/svgs/regular/file-powerpoint.svg | 1 + .../dist/font-awesome/svgs/regular/file-video.svg | 1 + .../dist/font-awesome/svgs/regular/file-word.svg | 1 + static/dist/font-awesome/svgs/regular/file.svg | 1 + static/dist/font-awesome/svgs/regular/flag.svg | 1 + static/dist/font-awesome/svgs/regular/flushed.svg | 1 + .../dist/font-awesome/svgs/regular/folder-open.svg | 1 + static/dist/font-awesome/svgs/regular/folder.svg | 1 + .../svgs/regular/font-awesome-logo-full.svg | 1 + .../dist/font-awesome/svgs/regular/frown-open.svg | 1 + static/dist/font-awesome/svgs/regular/frown.svg | 1 + static/dist/font-awesome/svgs/regular/futbol.svg | 1 + static/dist/font-awesome/svgs/regular/gem.svg | 1 + static/dist/font-awesome/svgs/regular/grimace.svg | 1 + static/dist/font-awesome/svgs/regular/grin-alt.svg | 1 + .../font-awesome/svgs/regular/grin-beam-sweat.svg | 1 + .../dist/font-awesome/svgs/regular/grin-beam.svg | 1 + .../dist/font-awesome/svgs/regular/grin-hearts.svg | 1 + .../svgs/regular/grin-squint-tears.svg | 1 + .../dist/font-awesome/svgs/regular/grin-squint.svg | 1 + .../dist/font-awesome/svgs/regular/grin-stars.svg | 1 + .../dist/font-awesome/svgs/regular/grin-tears.svg | 1 + .../svgs/regular/grin-tongue-squint.svg | 1 + .../font-awesome/svgs/regular/grin-tongue-wink.svg | 1 + .../dist/font-awesome/svgs/regular/grin-tongue.svg | 1 + .../dist/font-awesome/svgs/regular/grin-wink.svg | 1 + static/dist/font-awesome/svgs/regular/grin.svg | 1 + .../dist/font-awesome/svgs/regular/hand-lizard.svg | 1 + .../dist/font-awesome/svgs/regular/hand-paper.svg | 1 + .../dist/font-awesome/svgs/regular/hand-peace.svg | 1 + .../font-awesome/svgs/regular/hand-point-down.svg | 1 + .../font-awesome/svgs/regular/hand-point-left.svg | 1 + .../font-awesome/svgs/regular/hand-point-right.svg | 1 + .../font-awesome/svgs/regular/hand-point-up.svg | 1 + .../font-awesome/svgs/regular/hand-pointer.svg | 1 + .../dist/font-awesome/svgs/regular/hand-rock.svg | 1 + .../font-awesome/svgs/regular/hand-scissors.svg | 1 + .../dist/font-awesome/svgs/regular/hand-spock.svg | 1 + .../dist/font-awesome/svgs/regular/handshake.svg | 1 + static/dist/font-awesome/svgs/regular/hdd.svg | 1 + static/dist/font-awesome/svgs/regular/heart.svg | 1 + static/dist/font-awesome/svgs/regular/hospital.svg | 1 + .../dist/font-awesome/svgs/regular/hourglass.svg | 1 + static/dist/font-awesome/svgs/regular/id-badge.svg | 1 + static/dist/font-awesome/svgs/regular/id-card.svg | 1 + static/dist/font-awesome/svgs/regular/image.svg | 1 + static/dist/font-awesome/svgs/regular/images.svg | 1 + static/dist/font-awesome/svgs/regular/keyboard.svg | 1 + .../dist/font-awesome/svgs/regular/kiss-beam.svg | 1 + .../font-awesome/svgs/regular/kiss-wink-heart.svg | 1 + static/dist/font-awesome/svgs/regular/kiss.svg | 1 + .../dist/font-awesome/svgs/regular/laugh-beam.svg | 1 + .../font-awesome/svgs/regular/laugh-squint.svg | 1 + .../dist/font-awesome/svgs/regular/laugh-wink.svg | 1 + static/dist/font-awesome/svgs/regular/laugh.svg | 1 + static/dist/font-awesome/svgs/regular/lemon.svg | 1 + .../dist/font-awesome/svgs/regular/life-ring.svg | 1 + .../dist/font-awesome/svgs/regular/lightbulb.svg | 1 + static/dist/font-awesome/svgs/regular/list-alt.svg | 1 + static/dist/font-awesome/svgs/regular/map.svg | 1 + .../dist/font-awesome/svgs/regular/meh-blank.svg | 1 + .../font-awesome/svgs/regular/meh-rolling-eyes.svg | 1 + static/dist/font-awesome/svgs/regular/meh.svg | 1 + .../font-awesome/svgs/regular/minus-square.svg | 1 + .../font-awesome/svgs/regular/money-bill-alt.svg | 1 + static/dist/font-awesome/svgs/regular/moon.svg | 1 + .../dist/font-awesome/svgs/regular/newspaper.svg | 1 + .../font-awesome/svgs/regular/object-group.svg | 1 + .../font-awesome/svgs/regular/object-ungroup.svg | 1 + .../dist/font-awesome/svgs/regular/paper-plane.svg | 1 + .../font-awesome/svgs/regular/pause-circle.svg | 1 + .../dist/font-awesome/svgs/regular/play-circle.svg | 1 + .../dist/font-awesome/svgs/regular/plus-square.svg | 1 + .../font-awesome/svgs/regular/question-circle.svg | 1 + .../dist/font-awesome/svgs/regular/registered.svg | 1 + static/dist/font-awesome/svgs/regular/sad-cry.svg | 1 + static/dist/font-awesome/svgs/regular/sad-tear.svg | 1 + static/dist/font-awesome/svgs/regular/save.svg | 1 + .../font-awesome/svgs/regular/share-square.svg | 1 + .../dist/font-awesome/svgs/regular/smile-beam.svg | 1 + .../dist/font-awesome/svgs/regular/smile-wink.svg | 1 + static/dist/font-awesome/svgs/regular/smile.svg | 1 + .../dist/font-awesome/svgs/regular/snowflake.svg | 1 + static/dist/font-awesome/svgs/regular/square.svg | 1 + .../dist/font-awesome/svgs/regular/star-half.svg | 1 + static/dist/font-awesome/svgs/regular/star.svg | 1 + .../dist/font-awesome/svgs/regular/sticky-note.svg | 1 + .../dist/font-awesome/svgs/regular/stop-circle.svg | 1 + static/dist/font-awesome/svgs/regular/sun.svg | 1 + static/dist/font-awesome/svgs/regular/surprise.svg | 1 + .../dist/font-awesome/svgs/regular/thumbs-down.svg | 1 + .../dist/font-awesome/svgs/regular/thumbs-up.svg | 1 + .../font-awesome/svgs/regular/times-circle.svg | 1 + static/dist/font-awesome/svgs/regular/tired.svg | 1 + .../dist/font-awesome/svgs/regular/trash-alt.svg | 1 + .../dist/font-awesome/svgs/regular/user-circle.svg | 1 + static/dist/font-awesome/svgs/regular/user.svg | 1 + .../font-awesome/svgs/regular/window-close.svg | 1 + .../font-awesome/svgs/regular/window-maximize.svg | 1 + .../font-awesome/svgs/regular/window-minimize.svg | 1 + .../font-awesome/svgs/regular/window-restore.svg | 1 + static/dist/font-awesome/svgs/solid/ad.svg | 1 + .../dist/font-awesome/svgs/solid/address-book.svg | 1 + .../dist/font-awesome/svgs/solid/address-card.svg | 1 + static/dist/font-awesome/svgs/solid/adjust.svg | 1 + .../dist/font-awesome/svgs/solid/air-freshener.svg | 1 + .../dist/font-awesome/svgs/solid/align-center.svg | 1 + .../dist/font-awesome/svgs/solid/align-justify.svg | 1 + static/dist/font-awesome/svgs/solid/align-left.svg | 1 + .../dist/font-awesome/svgs/solid/align-right.svg | 1 + static/dist/font-awesome/svgs/solid/allergies.svg | 1 + static/dist/font-awesome/svgs/solid/ambulance.svg | 1 + .../solid/american-sign-language-interpreting.svg | 1 + static/dist/font-awesome/svgs/solid/anchor.svg | 1 + .../font-awesome/svgs/solid/angle-double-down.svg | 1 + .../font-awesome/svgs/solid/angle-double-left.svg | 1 + .../font-awesome/svgs/solid/angle-double-right.svg | 1 + .../font-awesome/svgs/solid/angle-double-up.svg | 1 + static/dist/font-awesome/svgs/solid/angle-down.svg | 1 + static/dist/font-awesome/svgs/solid/angle-left.svg | 1 + .../dist/font-awesome/svgs/solid/angle-right.svg | 1 + static/dist/font-awesome/svgs/solid/angle-up.svg | 1 + static/dist/font-awesome/svgs/solid/angry.svg | 1 + static/dist/font-awesome/svgs/solid/ankh.svg | 1 + static/dist/font-awesome/svgs/solid/apple-alt.svg | 1 + static/dist/font-awesome/svgs/solid/archive.svg | 1 + static/dist/font-awesome/svgs/solid/archway.svg | 1 + .../svgs/solid/arrow-alt-circle-down.svg | 1 + .../svgs/solid/arrow-alt-circle-left.svg | 1 + .../svgs/solid/arrow-alt-circle-right.svg | 1 + .../svgs/solid/arrow-alt-circle-up.svg | 1 + .../font-awesome/svgs/solid/arrow-circle-down.svg | 1 + .../font-awesome/svgs/solid/arrow-circle-left.svg | 1 + .../font-awesome/svgs/solid/arrow-circle-right.svg | 1 + .../font-awesome/svgs/solid/arrow-circle-up.svg | 1 + static/dist/font-awesome/svgs/solid/arrow-down.svg | 1 + static/dist/font-awesome/svgs/solid/arrow-left.svg | 1 + .../dist/font-awesome/svgs/solid/arrow-right.svg | 1 + static/dist/font-awesome/svgs/solid/arrow-up.svg | 1 + .../dist/font-awesome/svgs/solid/arrows-alt-h.svg | 1 + .../dist/font-awesome/svgs/solid/arrows-alt-v.svg | 1 + static/dist/font-awesome/svgs/solid/arrows-alt.svg | 1 + .../svgs/solid/assistive-listening-systems.svg | 1 + static/dist/font-awesome/svgs/solid/asterisk.svg | 1 + static/dist/font-awesome/svgs/solid/at.svg | 1 + static/dist/font-awesome/svgs/solid/atlas.svg | 1 + static/dist/font-awesome/svgs/solid/atom.svg | 1 + .../font-awesome/svgs/solid/audio-description.svg | 1 + static/dist/font-awesome/svgs/solid/award.svg | 1 + .../dist/font-awesome/svgs/solid/baby-carriage.svg | 1 + static/dist/font-awesome/svgs/solid/baby.svg | 1 + static/dist/font-awesome/svgs/solid/backspace.svg | 1 + static/dist/font-awesome/svgs/solid/backward.svg | 1 + static/dist/font-awesome/svgs/solid/bacon.svg | 1 + .../dist/font-awesome/svgs/solid/balance-scale.svg | 1 + static/dist/font-awesome/svgs/solid/ban.svg | 1 + static/dist/font-awesome/svgs/solid/band-aid.svg | 1 + static/dist/font-awesome/svgs/solid/barcode.svg | 1 + static/dist/font-awesome/svgs/solid/bars.svg | 1 + .../dist/font-awesome/svgs/solid/baseball-ball.svg | 1 + .../font-awesome/svgs/solid/basketball-ball.svg | 1 + static/dist/font-awesome/svgs/solid/bath.svg | 1 + .../dist/font-awesome/svgs/solid/battery-empty.svg | 1 + .../dist/font-awesome/svgs/solid/battery-full.svg | 1 + .../dist/font-awesome/svgs/solid/battery-half.svg | 1 + .../font-awesome/svgs/solid/battery-quarter.svg | 1 + .../svgs/solid/battery-three-quarters.svg | 1 + static/dist/font-awesome/svgs/solid/bed.svg | 1 + static/dist/font-awesome/svgs/solid/beer.svg | 1 + static/dist/font-awesome/svgs/solid/bell-slash.svg | 1 + static/dist/font-awesome/svgs/solid/bell.svg | 1 + .../dist/font-awesome/svgs/solid/bezier-curve.svg | 1 + static/dist/font-awesome/svgs/solid/bible.svg | 1 + static/dist/font-awesome/svgs/solid/bicycle.svg | 1 + static/dist/font-awesome/svgs/solid/binoculars.svg | 1 + static/dist/font-awesome/svgs/solid/biohazard.svg | 1 + .../dist/font-awesome/svgs/solid/birthday-cake.svg | 1 + .../dist/font-awesome/svgs/solid/blender-phone.svg | 1 + static/dist/font-awesome/svgs/solid/blender.svg | 1 + static/dist/font-awesome/svgs/solid/blind.svg | 1 + static/dist/font-awesome/svgs/solid/blog.svg | 1 + static/dist/font-awesome/svgs/solid/bold.svg | 1 + static/dist/font-awesome/svgs/solid/bolt.svg | 1 + static/dist/font-awesome/svgs/solid/bomb.svg | 1 + static/dist/font-awesome/svgs/solid/bone.svg | 1 + static/dist/font-awesome/svgs/solid/bong.svg | 1 + static/dist/font-awesome/svgs/solid/book-dead.svg | 1 + .../dist/font-awesome/svgs/solid/book-medical.svg | 1 + static/dist/font-awesome/svgs/solid/book-open.svg | 1 + .../dist/font-awesome/svgs/solid/book-reader.svg | 1 + static/dist/font-awesome/svgs/solid/book.svg | 1 + static/dist/font-awesome/svgs/solid/bookmark.svg | 1 + .../dist/font-awesome/svgs/solid/bowling-ball.svg | 1 + static/dist/font-awesome/svgs/solid/box-open.svg | 1 + static/dist/font-awesome/svgs/solid/box.svg | 1 + static/dist/font-awesome/svgs/solid/boxes.svg | 1 + static/dist/font-awesome/svgs/solid/braille.svg | 1 + static/dist/font-awesome/svgs/solid/brain.svg | 1 + .../dist/font-awesome/svgs/solid/bread-slice.svg | 1 + .../font-awesome/svgs/solid/briefcase-medical.svg | 1 + static/dist/font-awesome/svgs/solid/briefcase.svg | 1 + .../font-awesome/svgs/solid/broadcast-tower.svg | 1 + static/dist/font-awesome/svgs/solid/broom.svg | 1 + static/dist/font-awesome/svgs/solid/brush.svg | 1 + static/dist/font-awesome/svgs/solid/bug.svg | 1 + static/dist/font-awesome/svgs/solid/building.svg | 1 + static/dist/font-awesome/svgs/solid/bullhorn.svg | 1 + static/dist/font-awesome/svgs/solid/bullseye.svg | 1 + static/dist/font-awesome/svgs/solid/burn.svg | 1 + static/dist/font-awesome/svgs/solid/bus-alt.svg | 1 + static/dist/font-awesome/svgs/solid/bus.svg | 1 + .../dist/font-awesome/svgs/solid/business-time.svg | 1 + static/dist/font-awesome/svgs/solid/calculator.svg | 1 + .../dist/font-awesome/svgs/solid/calendar-alt.svg | 1 + .../font-awesome/svgs/solid/calendar-check.svg | 1 + .../dist/font-awesome/svgs/solid/calendar-day.svg | 1 + .../font-awesome/svgs/solid/calendar-minus.svg | 1 + .../dist/font-awesome/svgs/solid/calendar-plus.svg | 1 + .../font-awesome/svgs/solid/calendar-times.svg | 1 + .../dist/font-awesome/svgs/solid/calendar-week.svg | 1 + static/dist/font-awesome/svgs/solid/calendar.svg | 1 + .../dist/font-awesome/svgs/solid/camera-retro.svg | 1 + static/dist/font-awesome/svgs/solid/camera.svg | 1 + static/dist/font-awesome/svgs/solid/campground.svg | 1 + static/dist/font-awesome/svgs/solid/candy-cane.svg | 1 + static/dist/font-awesome/svgs/solid/cannabis.svg | 1 + static/dist/font-awesome/svgs/solid/capsules.svg | 1 + static/dist/font-awesome/svgs/solid/car-alt.svg | 1 + .../dist/font-awesome/svgs/solid/car-battery.svg | 1 + static/dist/font-awesome/svgs/solid/car-crash.svg | 1 + static/dist/font-awesome/svgs/solid/car-side.svg | 1 + static/dist/font-awesome/svgs/solid/car.svg | 1 + static/dist/font-awesome/svgs/solid/caret-down.svg | 1 + static/dist/font-awesome/svgs/solid/caret-left.svg | 1 + .../dist/font-awesome/svgs/solid/caret-right.svg | 1 + .../font-awesome/svgs/solid/caret-square-down.svg | 1 + .../font-awesome/svgs/solid/caret-square-left.svg | 1 + .../font-awesome/svgs/solid/caret-square-right.svg | 1 + .../font-awesome/svgs/solid/caret-square-up.svg | 1 + static/dist/font-awesome/svgs/solid/caret-up.svg | 1 + static/dist/font-awesome/svgs/solid/carrot.svg | 1 + .../font-awesome/svgs/solid/cart-arrow-down.svg | 1 + static/dist/font-awesome/svgs/solid/cart-plus.svg | 1 + .../dist/font-awesome/svgs/solid/cash-register.svg | 1 + static/dist/font-awesome/svgs/solid/cat.svg | 1 + .../dist/font-awesome/svgs/solid/certificate.svg | 1 + static/dist/font-awesome/svgs/solid/chair.svg | 1 + .../font-awesome/svgs/solid/chalkboard-teacher.svg | 1 + static/dist/font-awesome/svgs/solid/chalkboard.svg | 1 + .../font-awesome/svgs/solid/charging-station.svg | 1 + static/dist/font-awesome/svgs/solid/chart-area.svg | 1 + static/dist/font-awesome/svgs/solid/chart-bar.svg | 1 + static/dist/font-awesome/svgs/solid/chart-line.svg | 1 + static/dist/font-awesome/svgs/solid/chart-pie.svg | 1 + .../dist/font-awesome/svgs/solid/check-circle.svg | 1 + .../dist/font-awesome/svgs/solid/check-double.svg | 1 + .../dist/font-awesome/svgs/solid/check-square.svg | 1 + static/dist/font-awesome/svgs/solid/check.svg | 1 + static/dist/font-awesome/svgs/solid/cheese.svg | 1 + .../dist/font-awesome/svgs/solid/chess-bishop.svg | 1 + .../dist/font-awesome/svgs/solid/chess-board.svg | 1 + static/dist/font-awesome/svgs/solid/chess-king.svg | 1 + .../dist/font-awesome/svgs/solid/chess-knight.svg | 1 + static/dist/font-awesome/svgs/solid/chess-pawn.svg | 1 + .../dist/font-awesome/svgs/solid/chess-queen.svg | 1 + static/dist/font-awesome/svgs/solid/chess-rook.svg | 1 + static/dist/font-awesome/svgs/solid/chess.svg | 1 + .../svgs/solid/chevron-circle-down.svg | 1 + .../svgs/solid/chevron-circle-left.svg | 1 + .../svgs/solid/chevron-circle-right.svg | 1 + .../font-awesome/svgs/solid/chevron-circle-up.svg | 1 + .../dist/font-awesome/svgs/solid/chevron-down.svg | 1 + .../dist/font-awesome/svgs/solid/chevron-left.svg | 1 + .../dist/font-awesome/svgs/solid/chevron-right.svg | 1 + static/dist/font-awesome/svgs/solid/chevron-up.svg | 1 + static/dist/font-awesome/svgs/solid/child.svg | 1 + static/dist/font-awesome/svgs/solid/church.svg | 1 + .../dist/font-awesome/svgs/solid/circle-notch.svg | 1 + static/dist/font-awesome/svgs/solid/circle.svg | 1 + static/dist/font-awesome/svgs/solid/city.svg | 1 + .../font-awesome/svgs/solid/clinic-medical.svg | 1 + .../font-awesome/svgs/solid/clipboard-check.svg | 1 + .../font-awesome/svgs/solid/clipboard-list.svg | 1 + static/dist/font-awesome/svgs/solid/clipboard.svg | 1 + static/dist/font-awesome/svgs/solid/clock.svg | 1 + static/dist/font-awesome/svgs/solid/clone.svg | 1 + .../font-awesome/svgs/solid/closed-captioning.svg | 1 + .../font-awesome/svgs/solid/cloud-download-alt.svg | 1 + .../font-awesome/svgs/solid/cloud-meatball.svg | 1 + .../font-awesome/svgs/solid/cloud-moon-rain.svg | 1 + static/dist/font-awesome/svgs/solid/cloud-moon.svg | 1 + static/dist/font-awesome/svgs/solid/cloud-rain.svg | 1 + .../svgs/solid/cloud-showers-heavy.svg | 1 + .../font-awesome/svgs/solid/cloud-sun-rain.svg | 1 + static/dist/font-awesome/svgs/solid/cloud-sun.svg | 1 + .../font-awesome/svgs/solid/cloud-upload-alt.svg | 1 + static/dist/font-awesome/svgs/solid/cloud.svg | 1 + static/dist/font-awesome/svgs/solid/cocktail.svg | 1 + .../dist/font-awesome/svgs/solid/code-branch.svg | 1 + static/dist/font-awesome/svgs/solid/code.svg | 1 + static/dist/font-awesome/svgs/solid/coffee.svg | 1 + static/dist/font-awesome/svgs/solid/cog.svg | 1 + static/dist/font-awesome/svgs/solid/cogs.svg | 1 + static/dist/font-awesome/svgs/solid/coins.svg | 1 + static/dist/font-awesome/svgs/solid/columns.svg | 1 + .../dist/font-awesome/svgs/solid/comment-alt.svg | 1 + .../font-awesome/svgs/solid/comment-dollar.svg | 1 + .../dist/font-awesome/svgs/solid/comment-dots.svg | 1 + .../font-awesome/svgs/solid/comment-medical.svg | 1 + .../dist/font-awesome/svgs/solid/comment-slash.svg | 1 + static/dist/font-awesome/svgs/solid/comment.svg | 1 + .../font-awesome/svgs/solid/comments-dollar.svg | 1 + static/dist/font-awesome/svgs/solid/comments.svg | 1 + .../dist/font-awesome/svgs/solid/compact-disc.svg | 1 + static/dist/font-awesome/svgs/solid/compass.svg | 1 + .../svgs/solid/compress-arrows-alt.svg | 1 + static/dist/font-awesome/svgs/solid/compress.svg | 1 + .../font-awesome/svgs/solid/concierge-bell.svg | 1 + .../dist/font-awesome/svgs/solid/cookie-bite.svg | 1 + static/dist/font-awesome/svgs/solid/cookie.svg | 1 + static/dist/font-awesome/svgs/solid/copy.svg | 1 + static/dist/font-awesome/svgs/solid/copyright.svg | 1 + static/dist/font-awesome/svgs/solid/couch.svg | 1 + .../dist/font-awesome/svgs/solid/credit-card.svg | 1 + static/dist/font-awesome/svgs/solid/crop-alt.svg | 1 + static/dist/font-awesome/svgs/solid/crop.svg | 1 + static/dist/font-awesome/svgs/solid/cross.svg | 1 + static/dist/font-awesome/svgs/solid/crosshairs.svg | 1 + static/dist/font-awesome/svgs/solid/crow.svg | 1 + static/dist/font-awesome/svgs/solid/crown.svg | 1 + static/dist/font-awesome/svgs/solid/crutch.svg | 1 + static/dist/font-awesome/svgs/solid/cube.svg | 1 + static/dist/font-awesome/svgs/solid/cubes.svg | 1 + static/dist/font-awesome/svgs/solid/cut.svg | 1 + static/dist/font-awesome/svgs/solid/database.svg | 1 + static/dist/font-awesome/svgs/solid/deaf.svg | 1 + static/dist/font-awesome/svgs/solid/democrat.svg | 1 + static/dist/font-awesome/svgs/solid/desktop.svg | 1 + .../dist/font-awesome/svgs/solid/dharmachakra.svg | 1 + static/dist/font-awesome/svgs/solid/diagnoses.svg | 1 + static/dist/font-awesome/svgs/solid/dice-d20.svg | 1 + static/dist/font-awesome/svgs/solid/dice-d6.svg | 1 + static/dist/font-awesome/svgs/solid/dice-five.svg | 1 + static/dist/font-awesome/svgs/solid/dice-four.svg | 1 + static/dist/font-awesome/svgs/solid/dice-one.svg | 1 + static/dist/font-awesome/svgs/solid/dice-six.svg | 1 + static/dist/font-awesome/svgs/solid/dice-three.svg | 1 + static/dist/font-awesome/svgs/solid/dice-two.svg | 1 + static/dist/font-awesome/svgs/solid/dice.svg | 1 + .../font-awesome/svgs/solid/digital-tachograph.svg | 1 + static/dist/font-awesome/svgs/solid/directions.svg | 1 + static/dist/font-awesome/svgs/solid/divide.svg | 1 + static/dist/font-awesome/svgs/solid/dizzy.svg | 1 + static/dist/font-awesome/svgs/solid/dna.svg | 1 + static/dist/font-awesome/svgs/solid/dog.svg | 1 + .../dist/font-awesome/svgs/solid/dollar-sign.svg | 1 + .../dist/font-awesome/svgs/solid/dolly-flatbed.svg | 1 + static/dist/font-awesome/svgs/solid/dolly.svg | 1 + static/dist/font-awesome/svgs/solid/donate.svg | 1 + .../dist/font-awesome/svgs/solid/door-closed.svg | 1 + static/dist/font-awesome/svgs/solid/door-open.svg | 1 + static/dist/font-awesome/svgs/solid/dot-circle.svg | 1 + static/dist/font-awesome/svgs/solid/dove.svg | 1 + static/dist/font-awesome/svgs/solid/download.svg | 1 + .../font-awesome/svgs/solid/drafting-compass.svg | 1 + static/dist/font-awesome/svgs/solid/dragon.svg | 1 + .../dist/font-awesome/svgs/solid/draw-polygon.svg | 1 + .../dist/font-awesome/svgs/solid/drum-steelpan.svg | 1 + static/dist/font-awesome/svgs/solid/drum.svg | 1 + .../font-awesome/svgs/solid/drumstick-bite.svg | 1 + static/dist/font-awesome/svgs/solid/dumbbell.svg | 1 + .../dist/font-awesome/svgs/solid/dumpster-fire.svg | 1 + static/dist/font-awesome/svgs/solid/dumpster.svg | 1 + static/dist/font-awesome/svgs/solid/dungeon.svg | 1 + static/dist/font-awesome/svgs/solid/edit.svg | 1 + static/dist/font-awesome/svgs/solid/egg.svg | 1 + static/dist/font-awesome/svgs/solid/eject.svg | 1 + static/dist/font-awesome/svgs/solid/ellipsis-h.svg | 1 + static/dist/font-awesome/svgs/solid/ellipsis-v.svg | 1 + .../font-awesome/svgs/solid/envelope-open-text.svg | 1 + .../dist/font-awesome/svgs/solid/envelope-open.svg | 1 + .../font-awesome/svgs/solid/envelope-square.svg | 1 + static/dist/font-awesome/svgs/solid/envelope.svg | 1 + static/dist/font-awesome/svgs/solid/equals.svg | 1 + static/dist/font-awesome/svgs/solid/eraser.svg | 1 + static/dist/font-awesome/svgs/solid/ethernet.svg | 1 + static/dist/font-awesome/svgs/solid/euro-sign.svg | 1 + .../dist/font-awesome/svgs/solid/exchange-alt.svg | 1 + .../font-awesome/svgs/solid/exclamation-circle.svg | 1 + .../svgs/solid/exclamation-triangle.svg | 1 + .../dist/font-awesome/svgs/solid/exclamation.svg | 1 + .../font-awesome/svgs/solid/expand-arrows-alt.svg | 1 + static/dist/font-awesome/svgs/solid/expand.svg | 1 + .../font-awesome/svgs/solid/external-link-alt.svg | 1 + .../svgs/solid/external-link-square-alt.svg | 1 + .../dist/font-awesome/svgs/solid/eye-dropper.svg | 1 + static/dist/font-awesome/svgs/solid/eye-slash.svg | 1 + static/dist/font-awesome/svgs/solid/eye.svg | 1 + .../dist/font-awesome/svgs/solid/fast-backward.svg | 1 + .../dist/font-awesome/svgs/solid/fast-forward.svg | 1 + static/dist/font-awesome/svgs/solid/fax.svg | 1 + .../dist/font-awesome/svgs/solid/feather-alt.svg | 1 + static/dist/font-awesome/svgs/solid/feather.svg | 1 + static/dist/font-awesome/svgs/solid/female.svg | 1 + .../dist/font-awesome/svgs/solid/fighter-jet.svg | 1 + static/dist/font-awesome/svgs/solid/file-alt.svg | 1 + .../dist/font-awesome/svgs/solid/file-archive.svg | 1 + static/dist/font-awesome/svgs/solid/file-audio.svg | 1 + static/dist/font-awesome/svgs/solid/file-code.svg | 1 + .../dist/font-awesome/svgs/solid/file-contract.svg | 1 + static/dist/font-awesome/svgs/solid/file-csv.svg | 1 + .../dist/font-awesome/svgs/solid/file-download.svg | 1 + static/dist/font-awesome/svgs/solid/file-excel.svg | 1 + .../dist/font-awesome/svgs/solid/file-export.svg | 1 + static/dist/font-awesome/svgs/solid/file-image.svg | 1 + .../dist/font-awesome/svgs/solid/file-import.svg | 1 + .../svgs/solid/file-invoice-dollar.svg | 1 + .../dist/font-awesome/svgs/solid/file-invoice.svg | 1 + .../font-awesome/svgs/solid/file-medical-alt.svg | 1 + .../dist/font-awesome/svgs/solid/file-medical.svg | 1 + static/dist/font-awesome/svgs/solid/file-pdf.svg | 1 + .../font-awesome/svgs/solid/file-powerpoint.svg | 1 + .../font-awesome/svgs/solid/file-prescription.svg | 1 + .../font-awesome/svgs/solid/file-signature.svg | 1 + .../dist/font-awesome/svgs/solid/file-upload.svg | 1 + static/dist/font-awesome/svgs/solid/file-video.svg | 1 + static/dist/font-awesome/svgs/solid/file-word.svg | 1 + static/dist/font-awesome/svgs/solid/file.svg | 1 + static/dist/font-awesome/svgs/solid/fill-drip.svg | 1 + static/dist/font-awesome/svgs/solid/fill.svg | 1 + static/dist/font-awesome/svgs/solid/film.svg | 1 + static/dist/font-awesome/svgs/solid/filter.svg | 1 + .../dist/font-awesome/svgs/solid/fingerprint.svg | 1 + static/dist/font-awesome/svgs/solid/fire-alt.svg | 1 + .../font-awesome/svgs/solid/fire-extinguisher.svg | 1 + static/dist/font-awesome/svgs/solid/fire.svg | 1 + static/dist/font-awesome/svgs/solid/first-aid.svg | 1 + static/dist/font-awesome/svgs/solid/fish.svg | 1 + .../dist/font-awesome/svgs/solid/fist-raised.svg | 1 + .../font-awesome/svgs/solid/flag-checkered.svg | 1 + static/dist/font-awesome/svgs/solid/flag-usa.svg | 1 + static/dist/font-awesome/svgs/solid/flag.svg | 1 + static/dist/font-awesome/svgs/solid/flask.svg | 1 + static/dist/font-awesome/svgs/solid/flushed.svg | 1 + .../dist/font-awesome/svgs/solid/folder-minus.svg | 1 + .../dist/font-awesome/svgs/solid/folder-open.svg | 1 + .../dist/font-awesome/svgs/solid/folder-plus.svg | 1 + static/dist/font-awesome/svgs/solid/folder.svg | 1 + .../svgs/solid/font-awesome-logo-full.svg | 1 + static/dist/font-awesome/svgs/solid/font.svg | 1 + .../dist/font-awesome/svgs/solid/football-ball.svg | 1 + static/dist/font-awesome/svgs/solid/forward.svg | 1 + static/dist/font-awesome/svgs/solid/frog.svg | 1 + static/dist/font-awesome/svgs/solid/frown-open.svg | 1 + static/dist/font-awesome/svgs/solid/frown.svg | 1 + .../dist/font-awesome/svgs/solid/funnel-dollar.svg | 1 + static/dist/font-awesome/svgs/solid/futbol.svg | 1 + static/dist/font-awesome/svgs/solid/gamepad.svg | 1 + static/dist/font-awesome/svgs/solid/gas-pump.svg | 1 + static/dist/font-awesome/svgs/solid/gavel.svg | 1 + static/dist/font-awesome/svgs/solid/gem.svg | 1 + static/dist/font-awesome/svgs/solid/genderless.svg | 1 + static/dist/font-awesome/svgs/solid/ghost.svg | 1 + static/dist/font-awesome/svgs/solid/gift.svg | 1 + static/dist/font-awesome/svgs/solid/gifts.svg | 1 + .../dist/font-awesome/svgs/solid/glass-cheers.svg | 1 + .../font-awesome/svgs/solid/glass-martini-alt.svg | 1 + .../dist/font-awesome/svgs/solid/glass-martini.svg | 1 + .../dist/font-awesome/svgs/solid/glass-whiskey.svg | 1 + static/dist/font-awesome/svgs/solid/glasses.svg | 1 + .../dist/font-awesome/svgs/solid/globe-africa.svg | 1 + .../font-awesome/svgs/solid/globe-americas.svg | 1 + static/dist/font-awesome/svgs/solid/globe-asia.svg | 1 + .../dist/font-awesome/svgs/solid/globe-europe.svg | 1 + static/dist/font-awesome/svgs/solid/globe.svg | 1 + static/dist/font-awesome/svgs/solid/golf-ball.svg | 1 + static/dist/font-awesome/svgs/solid/gopuram.svg | 1 + .../font-awesome/svgs/solid/graduation-cap.svg | 1 + .../font-awesome/svgs/solid/greater-than-equal.svg | 1 + .../dist/font-awesome/svgs/solid/greater-than.svg | 1 + static/dist/font-awesome/svgs/solid/grimace.svg | 1 + static/dist/font-awesome/svgs/solid/grin-alt.svg | 1 + .../font-awesome/svgs/solid/grin-beam-sweat.svg | 1 + static/dist/font-awesome/svgs/solid/grin-beam.svg | 1 + .../dist/font-awesome/svgs/solid/grin-hearts.svg | 1 + .../font-awesome/svgs/solid/grin-squint-tears.svg | 1 + .../dist/font-awesome/svgs/solid/grin-squint.svg | 1 + static/dist/font-awesome/svgs/solid/grin-stars.svg | 1 + static/dist/font-awesome/svgs/solid/grin-tears.svg | 1 + .../font-awesome/svgs/solid/grin-tongue-squint.svg | 1 + .../font-awesome/svgs/solid/grin-tongue-wink.svg | 1 + .../dist/font-awesome/svgs/solid/grin-tongue.svg | 1 + static/dist/font-awesome/svgs/solid/grin-wink.svg | 1 + static/dist/font-awesome/svgs/solid/grin.svg | 1 + .../font-awesome/svgs/solid/grip-horizontal.svg | 1 + .../svgs/solid/grip-lines-vertical.svg | 1 + static/dist/font-awesome/svgs/solid/grip-lines.svg | 1 + .../dist/font-awesome/svgs/solid/grip-vertical.svg | 1 + static/dist/font-awesome/svgs/solid/guitar.svg | 1 + static/dist/font-awesome/svgs/solid/h-square.svg | 1 + static/dist/font-awesome/svgs/solid/hamburger.svg | 1 + static/dist/font-awesome/svgs/solid/hammer.svg | 1 + static/dist/font-awesome/svgs/solid/hamsa.svg | 1 + .../font-awesome/svgs/solid/hand-holding-heart.svg | 1 + .../font-awesome/svgs/solid/hand-holding-usd.svg | 1 + .../dist/font-awesome/svgs/solid/hand-holding.svg | 1 + .../dist/font-awesome/svgs/solid/hand-lizard.svg | 1 + .../font-awesome/svgs/solid/hand-middle-finger.svg | 1 + static/dist/font-awesome/svgs/solid/hand-paper.svg | 1 + static/dist/font-awesome/svgs/solid/hand-peace.svg | 1 + .../font-awesome/svgs/solid/hand-point-down.svg | 1 + .../font-awesome/svgs/solid/hand-point-left.svg | 1 + .../font-awesome/svgs/solid/hand-point-right.svg | 1 + .../dist/font-awesome/svgs/solid/hand-point-up.svg | 1 + .../dist/font-awesome/svgs/solid/hand-pointer.svg | 1 + static/dist/font-awesome/svgs/solid/hand-rock.svg | 1 + .../dist/font-awesome/svgs/solid/hand-scissors.svg | 1 + static/dist/font-awesome/svgs/solid/hand-spock.svg | 1 + .../dist/font-awesome/svgs/solid/hands-helping.svg | 1 + static/dist/font-awesome/svgs/solid/hands.svg | 1 + static/dist/font-awesome/svgs/solid/handshake.svg | 1 + static/dist/font-awesome/svgs/solid/hanukiah.svg | 1 + static/dist/font-awesome/svgs/solid/hard-hat.svg | 1 + static/dist/font-awesome/svgs/solid/hashtag.svg | 1 + static/dist/font-awesome/svgs/solid/hat-wizard.svg | 1 + static/dist/font-awesome/svgs/solid/haykal.svg | 1 + static/dist/font-awesome/svgs/solid/hdd.svg | 1 + static/dist/font-awesome/svgs/solid/heading.svg | 1 + .../font-awesome/svgs/solid/headphones-alt.svg | 1 + static/dist/font-awesome/svgs/solid/headphones.svg | 1 + static/dist/font-awesome/svgs/solid/headset.svg | 1 + .../dist/font-awesome/svgs/solid/heart-broken.svg | 1 + static/dist/font-awesome/svgs/solid/heart.svg | 1 + static/dist/font-awesome/svgs/solid/heartbeat.svg | 1 + static/dist/font-awesome/svgs/solid/helicopter.svg | 1 + .../dist/font-awesome/svgs/solid/highlighter.svg | 1 + static/dist/font-awesome/svgs/solid/hiking.svg | 1 + static/dist/font-awesome/svgs/solid/hippo.svg | 1 + static/dist/font-awesome/svgs/solid/history.svg | 1 + .../dist/font-awesome/svgs/solid/hockey-puck.svg | 1 + .../dist/font-awesome/svgs/solid/holly-berry.svg | 1 + static/dist/font-awesome/svgs/solid/home.svg | 1 + static/dist/font-awesome/svgs/solid/horse-head.svg | 1 + static/dist/font-awesome/svgs/solid/horse.svg | 1 + .../dist/font-awesome/svgs/solid/hospital-alt.svg | 1 + .../font-awesome/svgs/solid/hospital-symbol.svg | 1 + static/dist/font-awesome/svgs/solid/hospital.svg | 1 + static/dist/font-awesome/svgs/solid/hot-tub.svg | 1 + static/dist/font-awesome/svgs/solid/hotdog.svg | 1 + static/dist/font-awesome/svgs/solid/hotel.svg | 1 + .../dist/font-awesome/svgs/solid/hourglass-end.svg | 1 + .../font-awesome/svgs/solid/hourglass-half.svg | 1 + .../font-awesome/svgs/solid/hourglass-start.svg | 1 + static/dist/font-awesome/svgs/solid/hourglass.svg | 1 + .../dist/font-awesome/svgs/solid/house-damage.svg | 1 + static/dist/font-awesome/svgs/solid/hryvnia.svg | 1 + static/dist/font-awesome/svgs/solid/i-cursor.svg | 1 + static/dist/font-awesome/svgs/solid/ice-cream.svg | 1 + static/dist/font-awesome/svgs/solid/icicles.svg | 1 + static/dist/font-awesome/svgs/solid/id-badge.svg | 1 + .../dist/font-awesome/svgs/solid/id-card-alt.svg | 1 + static/dist/font-awesome/svgs/solid/id-card.svg | 1 + static/dist/font-awesome/svgs/solid/igloo.svg | 1 + static/dist/font-awesome/svgs/solid/image.svg | 1 + static/dist/font-awesome/svgs/solid/images.svg | 1 + static/dist/font-awesome/svgs/solid/inbox.svg | 1 + static/dist/font-awesome/svgs/solid/indent.svg | 1 + static/dist/font-awesome/svgs/solid/industry.svg | 1 + static/dist/font-awesome/svgs/solid/infinity.svg | 1 + .../dist/font-awesome/svgs/solid/info-circle.svg | 1 + static/dist/font-awesome/svgs/solid/info.svg | 1 + static/dist/font-awesome/svgs/solid/italic.svg | 1 + static/dist/font-awesome/svgs/solid/jedi.svg | 1 + static/dist/font-awesome/svgs/solid/joint.svg | 1 + .../font-awesome/svgs/solid/journal-whills.svg | 1 + static/dist/font-awesome/svgs/solid/kaaba.svg | 1 + static/dist/font-awesome/svgs/solid/key.svg | 1 + static/dist/font-awesome/svgs/solid/keyboard.svg | 1 + static/dist/font-awesome/svgs/solid/khanda.svg | 1 + static/dist/font-awesome/svgs/solid/kiss-beam.svg | 1 + .../font-awesome/svgs/solid/kiss-wink-heart.svg | 1 + static/dist/font-awesome/svgs/solid/kiss.svg | 1 + static/dist/font-awesome/svgs/solid/kiwi-bird.svg | 1 + static/dist/font-awesome/svgs/solid/landmark.svg | 1 + static/dist/font-awesome/svgs/solid/language.svg | 1 + .../dist/font-awesome/svgs/solid/laptop-code.svg | 1 + .../font-awesome/svgs/solid/laptop-medical.svg | 1 + static/dist/font-awesome/svgs/solid/laptop.svg | 1 + static/dist/font-awesome/svgs/solid/laugh-beam.svg | 1 + .../dist/font-awesome/svgs/solid/laugh-squint.svg | 1 + static/dist/font-awesome/svgs/solid/laugh-wink.svg | 1 + static/dist/font-awesome/svgs/solid/laugh.svg | 1 + .../dist/font-awesome/svgs/solid/layer-group.svg | 1 + static/dist/font-awesome/svgs/solid/leaf.svg | 1 + static/dist/font-awesome/svgs/solid/lemon.svg | 1 + .../font-awesome/svgs/solid/less-than-equal.svg | 1 + static/dist/font-awesome/svgs/solid/less-than.svg | 1 + .../font-awesome/svgs/solid/level-down-alt.svg | 1 + .../dist/font-awesome/svgs/solid/level-up-alt.svg | 1 + static/dist/font-awesome/svgs/solid/life-ring.svg | 1 + static/dist/font-awesome/svgs/solid/lightbulb.svg | 1 + static/dist/font-awesome/svgs/solid/link.svg | 1 + static/dist/font-awesome/svgs/solid/lira-sign.svg | 1 + static/dist/font-awesome/svgs/solid/list-alt.svg | 1 + static/dist/font-awesome/svgs/solid/list-ol.svg | 1 + static/dist/font-awesome/svgs/solid/list-ul.svg | 1 + static/dist/font-awesome/svgs/solid/list.svg | 1 + .../font-awesome/svgs/solid/location-arrow.svg | 1 + static/dist/font-awesome/svgs/solid/lock-open.svg | 1 + static/dist/font-awesome/svgs/solid/lock.svg | 1 + .../svgs/solid/long-arrow-alt-down.svg | 1 + .../svgs/solid/long-arrow-alt-left.svg | 1 + .../svgs/solid/long-arrow-alt-right.svg | 1 + .../font-awesome/svgs/solid/long-arrow-alt-up.svg | 1 + static/dist/font-awesome/svgs/solid/low-vision.svg | 1 + .../dist/font-awesome/svgs/solid/luggage-cart.svg | 1 + static/dist/font-awesome/svgs/solid/magic.svg | 1 + static/dist/font-awesome/svgs/solid/magnet.svg | 1 + static/dist/font-awesome/svgs/solid/mail-bulk.svg | 1 + static/dist/font-awesome/svgs/solid/male.svg | 1 + .../font-awesome/svgs/solid/map-marked-alt.svg | 1 + static/dist/font-awesome/svgs/solid/map-marked.svg | 1 + .../font-awesome/svgs/solid/map-marker-alt.svg | 1 + static/dist/font-awesome/svgs/solid/map-marker.svg | 1 + static/dist/font-awesome/svgs/solid/map-pin.svg | 1 + static/dist/font-awesome/svgs/solid/map-signs.svg | 1 + static/dist/font-awesome/svgs/solid/map.svg | 1 + static/dist/font-awesome/svgs/solid/marker.svg | 1 + .../dist/font-awesome/svgs/solid/mars-double.svg | 1 + .../dist/font-awesome/svgs/solid/mars-stroke-h.svg | 1 + .../dist/font-awesome/svgs/solid/mars-stroke-v.svg | 1 + .../dist/font-awesome/svgs/solid/mars-stroke.svg | 1 + static/dist/font-awesome/svgs/solid/mars.svg | 1 + static/dist/font-awesome/svgs/solid/mask.svg | 1 + static/dist/font-awesome/svgs/solid/medal.svg | 1 + static/dist/font-awesome/svgs/solid/medkit.svg | 1 + static/dist/font-awesome/svgs/solid/meh-blank.svg | 1 + .../font-awesome/svgs/solid/meh-rolling-eyes.svg | 1 + static/dist/font-awesome/svgs/solid/meh.svg | 1 + static/dist/font-awesome/svgs/solid/memory.svg | 1 + static/dist/font-awesome/svgs/solid/menorah.svg | 1 + static/dist/font-awesome/svgs/solid/mercury.svg | 1 + static/dist/font-awesome/svgs/solid/meteor.svg | 1 + static/dist/font-awesome/svgs/solid/microchip.svg | 1 + .../svgs/solid/microphone-alt-slash.svg | 1 + .../font-awesome/svgs/solid/microphone-alt.svg | 1 + .../font-awesome/svgs/solid/microphone-slash.svg | 1 + static/dist/font-awesome/svgs/solid/microphone.svg | 1 + static/dist/font-awesome/svgs/solid/microscope.svg | 1 + .../dist/font-awesome/svgs/solid/minus-circle.svg | 1 + .../dist/font-awesome/svgs/solid/minus-square.svg | 1 + static/dist/font-awesome/svgs/solid/minus.svg | 1 + static/dist/font-awesome/svgs/solid/mitten.svg | 1 + static/dist/font-awesome/svgs/solid/mobile-alt.svg | 1 + static/dist/font-awesome/svgs/solid/mobile.svg | 1 + .../font-awesome/svgs/solid/money-bill-alt.svg | 1 + .../svgs/solid/money-bill-wave-alt.svg | 1 + .../font-awesome/svgs/solid/money-bill-wave.svg | 1 + static/dist/font-awesome/svgs/solid/money-bill.svg | 1 + .../font-awesome/svgs/solid/money-check-alt.svg | 1 + .../dist/font-awesome/svgs/solid/money-check.svg | 1 + static/dist/font-awesome/svgs/solid/monument.svg | 1 + static/dist/font-awesome/svgs/solid/moon.svg | 1 + .../dist/font-awesome/svgs/solid/mortar-pestle.svg | 1 + static/dist/font-awesome/svgs/solid/mosque.svg | 1 + static/dist/font-awesome/svgs/solid/motorcycle.svg | 1 + static/dist/font-awesome/svgs/solid/mountain.svg | 1 + .../dist/font-awesome/svgs/solid/mouse-pointer.svg | 1 + static/dist/font-awesome/svgs/solid/mug-hot.svg | 1 + static/dist/font-awesome/svgs/solid/music.svg | 1 + .../dist/font-awesome/svgs/solid/network-wired.svg | 1 + static/dist/font-awesome/svgs/solid/neuter.svg | 1 + static/dist/font-awesome/svgs/solid/newspaper.svg | 1 + static/dist/font-awesome/svgs/solid/not-equal.svg | 1 + .../dist/font-awesome/svgs/solid/notes-medical.svg | 1 + .../dist/font-awesome/svgs/solid/object-group.svg | 1 + .../font-awesome/svgs/solid/object-ungroup.svg | 1 + static/dist/font-awesome/svgs/solid/oil-can.svg | 1 + static/dist/font-awesome/svgs/solid/om.svg | 1 + static/dist/font-awesome/svgs/solid/otter.svg | 1 + static/dist/font-awesome/svgs/solid/outdent.svg | 1 + static/dist/font-awesome/svgs/solid/pager.svg | 1 + .../dist/font-awesome/svgs/solid/paint-brush.svg | 1 + .../dist/font-awesome/svgs/solid/paint-roller.svg | 1 + static/dist/font-awesome/svgs/solid/palette.svg | 1 + static/dist/font-awesome/svgs/solid/pallet.svg | 1 + .../dist/font-awesome/svgs/solid/paper-plane.svg | 1 + static/dist/font-awesome/svgs/solid/paperclip.svg | 1 + .../dist/font-awesome/svgs/solid/parachute-box.svg | 1 + static/dist/font-awesome/svgs/solid/paragraph.svg | 1 + static/dist/font-awesome/svgs/solid/parking.svg | 1 + static/dist/font-awesome/svgs/solid/passport.svg | 1 + .../font-awesome/svgs/solid/pastafarianism.svg | 1 + static/dist/font-awesome/svgs/solid/paste.svg | 1 + .../dist/font-awesome/svgs/solid/pause-circle.svg | 1 + static/dist/font-awesome/svgs/solid/pause.svg | 1 + static/dist/font-awesome/svgs/solid/paw.svg | 1 + static/dist/font-awesome/svgs/solid/peace.svg | 1 + static/dist/font-awesome/svgs/solid/pen-alt.svg | 1 + static/dist/font-awesome/svgs/solid/pen-fancy.svg | 1 + static/dist/font-awesome/svgs/solid/pen-nib.svg | 1 + static/dist/font-awesome/svgs/solid/pen-square.svg | 1 + static/dist/font-awesome/svgs/solid/pen.svg | 1 + static/dist/font-awesome/svgs/solid/pencil-alt.svg | 1 + .../dist/font-awesome/svgs/solid/pencil-ruler.svg | 1 + .../dist/font-awesome/svgs/solid/people-carry.svg | 1 + static/dist/font-awesome/svgs/solid/pepper-hot.svg | 1 + static/dist/font-awesome/svgs/solid/percent.svg | 1 + static/dist/font-awesome/svgs/solid/percentage.svg | 1 + .../dist/font-awesome/svgs/solid/person-booth.svg | 1 + .../dist/font-awesome/svgs/solid/phone-slash.svg | 1 + .../dist/font-awesome/svgs/solid/phone-square.svg | 1 + .../dist/font-awesome/svgs/solid/phone-volume.svg | 1 + static/dist/font-awesome/svgs/solid/phone.svg | 1 + static/dist/font-awesome/svgs/solid/piggy-bank.svg | 1 + static/dist/font-awesome/svgs/solid/pills.svg | 1 + .../dist/font-awesome/svgs/solid/pizza-slice.svg | 1 + .../font-awesome/svgs/solid/place-of-worship.svg | 1 + .../dist/font-awesome/svgs/solid/plane-arrival.svg | 1 + .../font-awesome/svgs/solid/plane-departure.svg | 1 + static/dist/font-awesome/svgs/solid/plane.svg | 1 + .../dist/font-awesome/svgs/solid/play-circle.svg | 1 + static/dist/font-awesome/svgs/solid/play.svg | 1 + static/dist/font-awesome/svgs/solid/plug.svg | 1 + .../dist/font-awesome/svgs/solid/plus-circle.svg | 1 + .../dist/font-awesome/svgs/solid/plus-square.svg | 1 + static/dist/font-awesome/svgs/solid/plus.svg | 1 + static/dist/font-awesome/svgs/solid/podcast.svg | 1 + static/dist/font-awesome/svgs/solid/poll-h.svg | 1 + static/dist/font-awesome/svgs/solid/poll.svg | 1 + static/dist/font-awesome/svgs/solid/poo-storm.svg | 1 + static/dist/font-awesome/svgs/solid/poo.svg | 1 + static/dist/font-awesome/svgs/solid/poop.svg | 1 + static/dist/font-awesome/svgs/solid/portrait.svg | 1 + static/dist/font-awesome/svgs/solid/pound-sign.svg | 1 + static/dist/font-awesome/svgs/solid/power-off.svg | 1 + static/dist/font-awesome/svgs/solid/pray.svg | 1 + .../dist/font-awesome/svgs/solid/praying-hands.svg | 1 + .../svgs/solid/prescription-bottle-alt.svg | 1 + .../svgs/solid/prescription-bottle.svg | 1 + .../dist/font-awesome/svgs/solid/prescription.svg | 1 + static/dist/font-awesome/svgs/solid/print.svg | 1 + static/dist/font-awesome/svgs/solid/procedures.svg | 1 + .../font-awesome/svgs/solid/project-diagram.svg | 1 + .../dist/font-awesome/svgs/solid/puzzle-piece.svg | 1 + static/dist/font-awesome/svgs/solid/qrcode.svg | 1 + .../font-awesome/svgs/solid/question-circle.svg | 1 + static/dist/font-awesome/svgs/solid/question.svg | 1 + static/dist/font-awesome/svgs/solid/quidditch.svg | 1 + static/dist/font-awesome/svgs/solid/quote-left.svg | 1 + .../dist/font-awesome/svgs/solid/quote-right.svg | 1 + static/dist/font-awesome/svgs/solid/quran.svg | 1 + .../dist/font-awesome/svgs/solid/radiation-alt.svg | 1 + static/dist/font-awesome/svgs/solid/radiation.svg | 1 + static/dist/font-awesome/svgs/solid/rainbow.svg | 1 + static/dist/font-awesome/svgs/solid/random.svg | 1 + static/dist/font-awesome/svgs/solid/receipt.svg | 1 + static/dist/font-awesome/svgs/solid/recycle.svg | 1 + static/dist/font-awesome/svgs/solid/redo-alt.svg | 1 + static/dist/font-awesome/svgs/solid/redo.svg | 1 + static/dist/font-awesome/svgs/solid/registered.svg | 1 + static/dist/font-awesome/svgs/solid/reply-all.svg | 1 + static/dist/font-awesome/svgs/solid/reply.svg | 1 + static/dist/font-awesome/svgs/solid/republican.svg | 1 + static/dist/font-awesome/svgs/solid/restroom.svg | 1 + static/dist/font-awesome/svgs/solid/retweet.svg | 1 + static/dist/font-awesome/svgs/solid/ribbon.svg | 1 + static/dist/font-awesome/svgs/solid/ring.svg | 1 + static/dist/font-awesome/svgs/solid/road.svg | 1 + static/dist/font-awesome/svgs/solid/robot.svg | 1 + static/dist/font-awesome/svgs/solid/rocket.svg | 1 + static/dist/font-awesome/svgs/solid/route.svg | 1 + static/dist/font-awesome/svgs/solid/rss-square.svg | 1 + static/dist/font-awesome/svgs/solid/rss.svg | 1 + static/dist/font-awesome/svgs/solid/ruble-sign.svg | 1 + .../font-awesome/svgs/solid/ruler-combined.svg | 1 + .../font-awesome/svgs/solid/ruler-horizontal.svg | 1 + .../font-awesome/svgs/solid/ruler-vertical.svg | 1 + static/dist/font-awesome/svgs/solid/ruler.svg | 1 + static/dist/font-awesome/svgs/solid/running.svg | 1 + static/dist/font-awesome/svgs/solid/rupee-sign.svg | 1 + static/dist/font-awesome/svgs/solid/sad-cry.svg | 1 + static/dist/font-awesome/svgs/solid/sad-tear.svg | 1 + .../font-awesome/svgs/solid/satellite-dish.svg | 1 + static/dist/font-awesome/svgs/solid/satellite.svg | 1 + static/dist/font-awesome/svgs/solid/save.svg | 1 + static/dist/font-awesome/svgs/solid/school.svg | 1 + .../dist/font-awesome/svgs/solid/screwdriver.svg | 1 + static/dist/font-awesome/svgs/solid/scroll.svg | 1 + static/dist/font-awesome/svgs/solid/sd-card.svg | 1 + .../dist/font-awesome/svgs/solid/search-dollar.svg | 1 + .../font-awesome/svgs/solid/search-location.svg | 1 + .../dist/font-awesome/svgs/solid/search-minus.svg | 1 + .../dist/font-awesome/svgs/solid/search-plus.svg | 1 + static/dist/font-awesome/svgs/solid/search.svg | 1 + static/dist/font-awesome/svgs/solid/seedling.svg | 1 + static/dist/font-awesome/svgs/solid/server.svg | 1 + static/dist/font-awesome/svgs/solid/shapes.svg | 1 + .../font-awesome/svgs/solid/share-alt-square.svg | 1 + static/dist/font-awesome/svgs/solid/share-alt.svg | 1 + .../dist/font-awesome/svgs/solid/share-square.svg | 1 + static/dist/font-awesome/svgs/solid/share.svg | 1 + .../dist/font-awesome/svgs/solid/shekel-sign.svg | 1 + static/dist/font-awesome/svgs/solid/shield-alt.svg | 1 + static/dist/font-awesome/svgs/solid/ship.svg | 1 + .../dist/font-awesome/svgs/solid/shipping-fast.svg | 1 + .../dist/font-awesome/svgs/solid/shoe-prints.svg | 1 + .../dist/font-awesome/svgs/solid/shopping-bag.svg | 1 + .../font-awesome/svgs/solid/shopping-basket.svg | 1 + .../dist/font-awesome/svgs/solid/shopping-cart.svg | 1 + static/dist/font-awesome/svgs/solid/shower.svg | 1 + .../dist/font-awesome/svgs/solid/shuttle-van.svg | 1 + .../dist/font-awesome/svgs/solid/sign-in-alt.svg | 1 + .../dist/font-awesome/svgs/solid/sign-language.svg | 1 + .../dist/font-awesome/svgs/solid/sign-out-alt.svg | 1 + static/dist/font-awesome/svgs/solid/sign.svg | 1 + static/dist/font-awesome/svgs/solid/signal.svg | 1 + static/dist/font-awesome/svgs/solid/signature.svg | 1 + static/dist/font-awesome/svgs/solid/sim-card.svg | 1 + static/dist/font-awesome/svgs/solid/sitemap.svg | 1 + static/dist/font-awesome/svgs/solid/skating.svg | 1 + .../dist/font-awesome/svgs/solid/skiing-nordic.svg | 1 + static/dist/font-awesome/svgs/solid/skiing.svg | 1 + .../font-awesome/svgs/solid/skull-crossbones.svg | 1 + static/dist/font-awesome/svgs/solid/skull.svg | 1 + static/dist/font-awesome/svgs/solid/slash.svg | 1 + static/dist/font-awesome/svgs/solid/sleigh.svg | 1 + static/dist/font-awesome/svgs/solid/sliders-h.svg | 1 + static/dist/font-awesome/svgs/solid/smile-beam.svg | 1 + static/dist/font-awesome/svgs/solid/smile-wink.svg | 1 + static/dist/font-awesome/svgs/solid/smile.svg | 1 + static/dist/font-awesome/svgs/solid/smog.svg | 1 + .../dist/font-awesome/svgs/solid/smoking-ban.svg | 1 + static/dist/font-awesome/svgs/solid/smoking.svg | 1 + static/dist/font-awesome/svgs/solid/sms.svg | 1 + .../dist/font-awesome/svgs/solid/snowboarding.svg | 1 + static/dist/font-awesome/svgs/solid/snowflake.svg | 1 + static/dist/font-awesome/svgs/solid/snowman.svg | 1 + static/dist/font-awesome/svgs/solid/snowplow.svg | 1 + static/dist/font-awesome/svgs/solid/socks.svg | 1 + .../dist/font-awesome/svgs/solid/solar-panel.svg | 1 + .../font-awesome/svgs/solid/sort-alpha-down.svg | 1 + .../dist/font-awesome/svgs/solid/sort-alpha-up.svg | 1 + .../font-awesome/svgs/solid/sort-amount-down.svg | 1 + .../font-awesome/svgs/solid/sort-amount-up.svg | 1 + static/dist/font-awesome/svgs/solid/sort-down.svg | 1 + .../font-awesome/svgs/solid/sort-numeric-down.svg | 1 + .../font-awesome/svgs/solid/sort-numeric-up.svg | 1 + static/dist/font-awesome/svgs/solid/sort-up.svg | 1 + static/dist/font-awesome/svgs/solid/sort.svg | 1 + static/dist/font-awesome/svgs/solid/spa.svg | 1 + .../dist/font-awesome/svgs/solid/space-shuttle.svg | 1 + static/dist/font-awesome/svgs/solid/spider.svg | 1 + static/dist/font-awesome/svgs/solid/spinner.svg | 1 + static/dist/font-awesome/svgs/solid/splotch.svg | 1 + static/dist/font-awesome/svgs/solid/spray-can.svg | 1 + .../dist/font-awesome/svgs/solid/square-full.svg | 1 + .../font-awesome/svgs/solid/square-root-alt.svg | 1 + static/dist/font-awesome/svgs/solid/square.svg | 1 + static/dist/font-awesome/svgs/solid/stamp.svg | 1 + .../font-awesome/svgs/solid/star-and-crescent.svg | 1 + .../dist/font-awesome/svgs/solid/star-half-alt.svg | 1 + static/dist/font-awesome/svgs/solid/star-half.svg | 1 + .../dist/font-awesome/svgs/solid/star-of-david.svg | 1 + .../dist/font-awesome/svgs/solid/star-of-life.svg | 1 + static/dist/font-awesome/svgs/solid/star.svg | 1 + .../dist/font-awesome/svgs/solid/step-backward.svg | 1 + .../dist/font-awesome/svgs/solid/step-forward.svg | 1 + .../dist/font-awesome/svgs/solid/stethoscope.svg | 1 + .../dist/font-awesome/svgs/solid/sticky-note.svg | 1 + .../dist/font-awesome/svgs/solid/stop-circle.svg | 1 + static/dist/font-awesome/svgs/solid/stop.svg | 1 + static/dist/font-awesome/svgs/solid/stopwatch.svg | 1 + static/dist/font-awesome/svgs/solid/store-alt.svg | 1 + static/dist/font-awesome/svgs/solid/store.svg | 1 + static/dist/font-awesome/svgs/solid/stream.svg | 1 + .../dist/font-awesome/svgs/solid/street-view.svg | 1 + .../dist/font-awesome/svgs/solid/strikethrough.svg | 1 + .../dist/font-awesome/svgs/solid/stroopwafel.svg | 1 + static/dist/font-awesome/svgs/solid/subscript.svg | 1 + static/dist/font-awesome/svgs/solid/subway.svg | 1 + .../font-awesome/svgs/solid/suitcase-rolling.svg | 1 + static/dist/font-awesome/svgs/solid/suitcase.svg | 1 + static/dist/font-awesome/svgs/solid/sun.svg | 1 + .../dist/font-awesome/svgs/solid/superscript.svg | 1 + static/dist/font-awesome/svgs/solid/surprise.svg | 1 + static/dist/font-awesome/svgs/solid/swatchbook.svg | 1 + static/dist/font-awesome/svgs/solid/swimmer.svg | 1 + .../dist/font-awesome/svgs/solid/swimming-pool.svg | 1 + static/dist/font-awesome/svgs/solid/synagogue.svg | 1 + static/dist/font-awesome/svgs/solid/sync-alt.svg | 1 + static/dist/font-awesome/svgs/solid/sync.svg | 1 + static/dist/font-awesome/svgs/solid/syringe.svg | 1 + .../dist/font-awesome/svgs/solid/table-tennis.svg | 1 + static/dist/font-awesome/svgs/solid/table.svg | 1 + static/dist/font-awesome/svgs/solid/tablet-alt.svg | 1 + static/dist/font-awesome/svgs/solid/tablet.svg | 1 + static/dist/font-awesome/svgs/solid/tablets.svg | 1 + .../font-awesome/svgs/solid/tachometer-alt.svg | 1 + static/dist/font-awesome/svgs/solid/tag.svg | 1 + static/dist/font-awesome/svgs/solid/tags.svg | 1 + static/dist/font-awesome/svgs/solid/tape.svg | 1 + static/dist/font-awesome/svgs/solid/tasks.svg | 1 + static/dist/font-awesome/svgs/solid/taxi.svg | 1 + static/dist/font-awesome/svgs/solid/teeth-open.svg | 1 + static/dist/font-awesome/svgs/solid/teeth.svg | 1 + .../font-awesome/svgs/solid/temperature-high.svg | 1 + .../font-awesome/svgs/solid/temperature-low.svg | 1 + static/dist/font-awesome/svgs/solid/tenge.svg | 1 + static/dist/font-awesome/svgs/solid/terminal.svg | 1 + .../dist/font-awesome/svgs/solid/text-height.svg | 1 + static/dist/font-awesome/svgs/solid/text-width.svg | 1 + static/dist/font-awesome/svgs/solid/th-large.svg | 1 + static/dist/font-awesome/svgs/solid/th-list.svg | 1 + static/dist/font-awesome/svgs/solid/th.svg | 1 + .../dist/font-awesome/svgs/solid/theater-masks.svg | 1 + .../font-awesome/svgs/solid/thermometer-empty.svg | 1 + .../font-awesome/svgs/solid/thermometer-full.svg | 1 + .../font-awesome/svgs/solid/thermometer-half.svg | 1 + .../svgs/solid/thermometer-quarter.svg | 1 + .../svgs/solid/thermometer-three-quarters.svg | 1 + .../dist/font-awesome/svgs/solid/thermometer.svg | 1 + .../dist/font-awesome/svgs/solid/thumbs-down.svg | 1 + static/dist/font-awesome/svgs/solid/thumbs-up.svg | 1 + static/dist/font-awesome/svgs/solid/thumbtack.svg | 1 + static/dist/font-awesome/svgs/solid/ticket-alt.svg | 1 + .../dist/font-awesome/svgs/solid/times-circle.svg | 1 + static/dist/font-awesome/svgs/solid/times.svg | 1 + static/dist/font-awesome/svgs/solid/tint-slash.svg | 1 + static/dist/font-awesome/svgs/solid/tint.svg | 1 + static/dist/font-awesome/svgs/solid/tired.svg | 1 + static/dist/font-awesome/svgs/solid/toggle-off.svg | 1 + static/dist/font-awesome/svgs/solid/toggle-on.svg | 1 + .../dist/font-awesome/svgs/solid/toilet-paper.svg | 1 + static/dist/font-awesome/svgs/solid/toilet.svg | 1 + static/dist/font-awesome/svgs/solid/toolbox.svg | 1 + static/dist/font-awesome/svgs/solid/tools.svg | 1 + static/dist/font-awesome/svgs/solid/tooth.svg | 1 + static/dist/font-awesome/svgs/solid/torah.svg | 1 + static/dist/font-awesome/svgs/solid/torii-gate.svg | 1 + static/dist/font-awesome/svgs/solid/tractor.svg | 1 + static/dist/font-awesome/svgs/solid/trademark.svg | 1 + .../dist/font-awesome/svgs/solid/traffic-light.svg | 1 + static/dist/font-awesome/svgs/solid/train.svg | 1 + static/dist/font-awesome/svgs/solid/tram.svg | 1 + .../font-awesome/svgs/solid/transgender-alt.svg | 1 + .../dist/font-awesome/svgs/solid/transgender.svg | 1 + static/dist/font-awesome/svgs/solid/trash-alt.svg | 1 + .../font-awesome/svgs/solid/trash-restore-alt.svg | 1 + .../dist/font-awesome/svgs/solid/trash-restore.svg | 1 + static/dist/font-awesome/svgs/solid/trash.svg | 1 + static/dist/font-awesome/svgs/solid/tree.svg | 1 + static/dist/font-awesome/svgs/solid/trophy.svg | 1 + .../dist/font-awesome/svgs/solid/truck-loading.svg | 1 + .../dist/font-awesome/svgs/solid/truck-monster.svg | 1 + .../dist/font-awesome/svgs/solid/truck-moving.svg | 1 + .../dist/font-awesome/svgs/solid/truck-pickup.svg | 1 + static/dist/font-awesome/svgs/solid/truck.svg | 1 + static/dist/font-awesome/svgs/solid/tshirt.svg | 1 + static/dist/font-awesome/svgs/solid/tty.svg | 1 + static/dist/font-awesome/svgs/solid/tv.svg | 1 + .../font-awesome/svgs/solid/umbrella-beach.svg | 1 + static/dist/font-awesome/svgs/solid/umbrella.svg | 1 + static/dist/font-awesome/svgs/solid/underline.svg | 1 + static/dist/font-awesome/svgs/solid/undo-alt.svg | 1 + static/dist/font-awesome/svgs/solid/undo.svg | 1 + .../font-awesome/svgs/solid/universal-access.svg | 1 + static/dist/font-awesome/svgs/solid/university.svg | 1 + static/dist/font-awesome/svgs/solid/unlink.svg | 1 + static/dist/font-awesome/svgs/solid/unlock-alt.svg | 1 + static/dist/font-awesome/svgs/solid/unlock.svg | 1 + static/dist/font-awesome/svgs/solid/upload.svg | 1 + .../font-awesome/svgs/solid/user-alt-slash.svg | 1 + static/dist/font-awesome/svgs/solid/user-alt.svg | 1 + .../font-awesome/svgs/solid/user-astronaut.svg | 1 + static/dist/font-awesome/svgs/solid/user-check.svg | 1 + .../dist/font-awesome/svgs/solid/user-circle.svg | 1 + static/dist/font-awesome/svgs/solid/user-clock.svg | 1 + static/dist/font-awesome/svgs/solid/user-cog.svg | 1 + static/dist/font-awesome/svgs/solid/user-edit.svg | 1 + .../dist/font-awesome/svgs/solid/user-friends.svg | 1 + .../dist/font-awesome/svgs/solid/user-graduate.svg | 1 + .../dist/font-awesome/svgs/solid/user-injured.svg | 1 + static/dist/font-awesome/svgs/solid/user-lock.svg | 1 + static/dist/font-awesome/svgs/solid/user-md.svg | 1 + static/dist/font-awesome/svgs/solid/user-minus.svg | 1 + static/dist/font-awesome/svgs/solid/user-ninja.svg | 1 + static/dist/font-awesome/svgs/solid/user-nurse.svg | 1 + static/dist/font-awesome/svgs/solid/user-plus.svg | 1 + .../dist/font-awesome/svgs/solid/user-secret.svg | 1 + .../dist/font-awesome/svgs/solid/user-shield.svg | 1 + static/dist/font-awesome/svgs/solid/user-slash.svg | 1 + static/dist/font-awesome/svgs/solid/user-tag.svg | 1 + static/dist/font-awesome/svgs/solid/user-tie.svg | 1 + static/dist/font-awesome/svgs/solid/user-times.svg | 1 + static/dist/font-awesome/svgs/solid/user.svg | 1 + static/dist/font-awesome/svgs/solid/users-cog.svg | 1 + static/dist/font-awesome/svgs/solid/users.svg | 1 + .../dist/font-awesome/svgs/solid/utensil-spoon.svg | 1 + static/dist/font-awesome/svgs/solid/utensils.svg | 1 + .../dist/font-awesome/svgs/solid/vector-square.svg | 1 + .../dist/font-awesome/svgs/solid/venus-double.svg | 1 + static/dist/font-awesome/svgs/solid/venus-mars.svg | 1 + static/dist/font-awesome/svgs/solid/venus.svg | 1 + static/dist/font-awesome/svgs/solid/vial.svg | 1 + static/dist/font-awesome/svgs/solid/vials.svg | 1 + .../dist/font-awesome/svgs/solid/video-slash.svg | 1 + static/dist/font-awesome/svgs/solid/video.svg | 1 + static/dist/font-awesome/svgs/solid/vihara.svg | 1 + .../font-awesome/svgs/solid/volleyball-ball.svg | 1 + .../dist/font-awesome/svgs/solid/volume-down.svg | 1 + .../dist/font-awesome/svgs/solid/volume-mute.svg | 1 + static/dist/font-awesome/svgs/solid/volume-off.svg | 1 + static/dist/font-awesome/svgs/solid/volume-up.svg | 1 + static/dist/font-awesome/svgs/solid/vote-yea.svg | 1 + .../dist/font-awesome/svgs/solid/vr-cardboard.svg | 1 + static/dist/font-awesome/svgs/solid/walking.svg | 1 + static/dist/font-awesome/svgs/solid/wallet.svg | 1 + static/dist/font-awesome/svgs/solid/warehouse.svg | 1 + static/dist/font-awesome/svgs/solid/water.svg | 1 + .../font-awesome/svgs/solid/weight-hanging.svg | 1 + static/dist/font-awesome/svgs/solid/weight.svg | 1 + static/dist/font-awesome/svgs/solid/wheelchair.svg | 1 + static/dist/font-awesome/svgs/solid/wifi.svg | 1 + static/dist/font-awesome/svgs/solid/wind.svg | 1 + .../dist/font-awesome/svgs/solid/window-close.svg | 1 + .../font-awesome/svgs/solid/window-maximize.svg | 1 + .../font-awesome/svgs/solid/window-minimize.svg | 1 + .../font-awesome/svgs/solid/window-restore.svg | 1 + .../dist/font-awesome/svgs/solid/wine-bottle.svg | 1 + .../font-awesome/svgs/solid/wine-glass-alt.svg | 1 + static/dist/font-awesome/svgs/solid/wine-glass.svg | 1 + static/dist/font-awesome/svgs/solid/won-sign.svg | 1 + static/dist/font-awesome/svgs/solid/wrench.svg | 1 + static/dist/font-awesome/svgs/solid/x-ray.svg | 1 + static/dist/font-awesome/svgs/solid/yen-sign.svg | 1 + static/dist/font-awesome/svgs/solid/yin-yang.svg | 1 + .../dist/font-awesome/webfonts/fa-brands-400.eot | Bin 0 -> 125320 bytes .../dist/font-awesome/webfonts/fa-brands-400.svg | 3296 ++ .../dist/font-awesome/webfonts/fa-brands-400.ttf | Bin 0 -> 125016 bytes .../dist/font-awesome/webfonts/fa-brands-400.woff | Bin 0 -> 84564 bytes .../dist/font-awesome/webfonts/fa-brands-400.woff2 | Bin 0 -> 72112 bytes .../dist/font-awesome/webfonts/fa-regular-400.eot | Bin 0 -> 34388 bytes .../dist/font-awesome/webfonts/fa-regular-400.svg | 799 + .../dist/font-awesome/webfonts/fa-regular-400.ttf | Bin 0 -> 34092 bytes .../dist/font-awesome/webfonts/fa-regular-400.woff | Bin 0 -> 16812 bytes .../font-awesome/webfonts/fa-regular-400.woff2 | Bin 0 -> 13592 bytes static/dist/font-awesome/webfonts/fa-solid-900.eot | Bin 0 -> 186512 bytes static/dist/font-awesome/webfonts/fa-solid-900.svg | 4516 ++ static/dist/font-awesome/webfonts/fa-solid-900.ttf | Bin 0 -> 186228 bytes .../dist/font-awesome/webfonts/fa-solid-900.woff | Bin 0 -> 96244 bytes .../dist/font-awesome/webfonts/fa-solid-900.woff2 | Bin 0 -> 74348 bytes static/dist/fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes static/dist/fonts/glyphicons-halflings-regular.svg | 288 + static/dist/fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes .../dist/fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes static/dist/js/bootstrap.bundle.js | 7013 +++ static/dist/js/bootstrap.bundle.js.map | 1 + static/dist/js/bootstrap.bundle.min.js | 7 + static/dist/js/bootstrap.bundle.min.js.map | 1 + static/dist/js/bootstrap.js | 4435 ++ static/dist/js/bootstrap.js.map | 1 + static/dist/js/bootstrap.min.js | 7 + static/dist/js/bootstrap.min.js.map | 1 + static/dist/js/jquery-1.11.1.min.js | 4 + static/dist/js/npm.js | 13 + static/dist/js/pdf-view.js | 108 + static/dist/js/pdf.js | 11515 +++++ static/dist/js/pdf.min.js | 8 + static/dist/js/pdf.worker.js | 43506 ++++++++++++++++ static/dist/js/pdf.worker.min.js | 28 + static/images/NetBSD_Logo.svg | 57 + static/images/arch.png | Bin 0 -> 137875 bytes static/images/archlinux-logo.svg | 156 + static/images/cadet-gtk.svg | 196 + static/images/ccby.png | Bin 0 -> 4739 bytes static/images/debian-logo.svg | 86 + static/images/dfg_logo.gif | Bin 0 -> 1426 bytes static/images/fp7_logo.jpg | Bin 0 -> 11558 bytes static/images/gentoo-logo.svg | 1 + static/images/gns-logo.png | Bin 0 -> 36087 bytes static/images/gnunet-anonymous-logo-red.png | Bin 0 -> 25070 bytes static/images/gnunet-anonymous-logo.png | Bin 0 -> 30620 bytes static/images/gnunet-anonymous-schriftzug.png | Bin 0 -> 9641 bytes static/images/gnunet-arch-full.svg | 648 + static/images/gnunet-cyan-icon.png | Bin 0 -> 1467 bytes static/images/gnunet-historic-logo.svg | 2842 + static/images/gnunet-icon.png | Bin 0 -> 1529 bytes static/images/gnunet-logo-dark-only-text.png | Bin 0 -> 3083 bytes static/images/gnunet-logo-dark-only-text.svg | 1143 + .../images/gnunet-logo-dark-text-traditional.png | Bin 0 -> 29932 bytes .../images/gnunet-logo-dark-text-traditional.svg | 1699 + static/images/gnunet-logo-dark-text.png | Bin 0 -> 31064 bytes static/images/gnunet-logo-dark-text.svg | 1680 + static/images/gnunet-logo.png | Bin 0 -> 95823 bytes static/images/gnunet-logo.svg | 1581 + static/images/gnunet-red-icon.png | Bin 0 -> 1170 bytes static/images/gnunet-small-logo.png | Bin 0 -> 18346 bytes static/images/gnunet-smaller-logo.png | Bin 0 -> 18109 bytes static/images/groupchat.png | Bin 0 -> 3756 bytes static/images/languageicon.svg | 48 + static/images/logo-2018-dold.svg | 87 + static/images/netbsd-logo.png | Bin 0 -> 37359 bytes static/images/ngi_trust.png | Bin 0 -> 78449 bytes static/images/nlnet_logo.gif | Bin 0 -> 5433 bytes static/images/openwrt-logo.svg | 8 + static/images/pdf.svg | 214 + static/images/peplogo.svg | 21 + static/images/reclaim_logo.png | Bin 0 -> 14337 bytes static/images/rff_logo.png | Bin 0 -> 7254 bytes static/images/secushare-0444.png | Bin 0 -> 26484 bytes static/images/u-n-icon.png | Bin 0 -> 804 bytes static/images/ubuntu-logo32.png | Bin 0 -> 13282 bytes static/navbar.css | 78 + static/scroll.css | 41 + static/scroll.js | 12 + static/styles.css | 391 + template/news/2011-11-24-archived-vfork.html.j2 | 62 + template/news/2013-11-15-special-use-gns.html.j2 | 14 + .../news/2013-12-28-archived-typos-pkeys.html.j2 | 16 + template/news/2018-06.html.j2 | 108 + template/news/2018-07.html.j2 | 7 + template/news/2019-0.11.0.html.j2 | 72 + template/news/2019-0.11.1.html.j2 | 55 + template/news/2019-0.11.2.html.j2 | 55 + template/news/2019-0.11.3.html.j2 | 52 + template/news/2019-0.11.4.html.j2 | 50 + template/news/2019-0.11.5.html.j2 | 47 + template/news/2019-0.11.6.html.j2 | 52 + template/news/2019-0.11.7.html.j2 | 56 + template/news/2019-0.11.8.html.j2 | 47 + template/news/2019-0.12.0.html.j2 | 85 + template/news/2019-0.12.1.html.j2 | 26 + template/news/2019-02.html.j2 | 75 + template/news/2019-06-DSTJ.html.j2 | 14 + template/news/2019-06.html.j2 | 7 + template/news/2019-07-GHM_Aug_2019.html.j2 | 7 + template/news/2019-10-GNSSpec1.html.j2 | 19 + template/news/2019-10-ICANNPanel.html.j2 | 13 + template/news/2019-11-ICANNUpdate.html.j2 | 10 + template/news/2019-12-UpcomingTalks.html.j2 | 73 + template/news/2020-01-0.12.2.html.j2 | 71 + template/news/2020-01-GNSSpec2.html.j2 | 28 + template/news/2020-05-GHM_Jun_2020.html.j2 | 8 + template/news/2020-06-GNSSpec3.html.j2 | 25 + template/news/2020-07-0.13.0.html.j2 | 103 + template/news/2020-07-0.13.1.html.j2 | 29 + template/news/2020-08-0.13.2.html.j2 | 58 + template/news/2020-09-0.13.3.html.j2 | 51 + template/news/2020-11-0.14.0.html.j2 | 81 + template/news/2020-11-GNSSpec4.html.j2 | 45 + template/news/2021-03-0.14.1.html.j2 | 48 + template/news/2021-03-gsoc-update.html.j2 | 13 + template/news/2021-04-DISSENS.html.j2 | 66 + template/news/index.html.j2 | 57 + template/news/oldnews-2011.html.j2 | 1 + template/news/oldnews-2013.html.j2 | 1 + template/news/oldnews-2018.html.j2 | 50 + template/news/oldnews-2019.html.j2 | 1 + web-common/navbar.css | 78 - web-common/scroll.css | 41 - web-common/scroll.js | 12 - web-common/styles.css | 391 - www.yml | 123 +- 3443 files changed, 215253 insertions(+), 215148 deletions(-) delete mode 100644 __init__.py delete mode 100644 dist/css/bootstrap-grid.css delete mode 100644 dist/css/bootstrap-grid.css.map delete mode 100644 dist/css/bootstrap-grid.min.css delete mode 100644 dist/css/bootstrap-grid.min.css.map delete mode 100644 dist/css/bootstrap-reboot.css delete mode 100644 dist/css/bootstrap-reboot.css.map delete mode 100644 dist/css/bootstrap-reboot.min.css delete mode 100644 dist/css/bootstrap-reboot.min.css.map delete mode 100644 dist/css/bootstrap.css delete mode 100644 dist/css/bootstrap.css.map delete mode 100644 dist/css/bootstrap.min.css delete mode 100644 dist/css/bootstrap.min.css.map delete mode 100644 dist/font-awesome/LICENSE.txt delete mode 100644 dist/font-awesome/css/all.css delete mode 100644 dist/font-awesome/css/all.min.css delete mode 100644 dist/font-awesome/css/brands.css delete mode 100644 dist/font-awesome/css/brands.min.css delete mode 100644 dist/font-awesome/css/fontawesome.css delete mode 100644 dist/font-awesome/css/fontawesome.min.css delete mode 100644 dist/font-awesome/css/regular.css delete mode 100644 dist/font-awesome/css/regular.min.css delete mode 100644 dist/font-awesome/css/solid.css delete mode 100644 dist/font-awesome/css/solid.min.css delete mode 100644 dist/font-awesome/css/svg-with-js.css delete mode 100644 dist/font-awesome/css/svg-with-js.min.css delete mode 100644 dist/font-awesome/css/v4-shims.css delete mode 100644 dist/font-awesome/css/v4-shims.min.css delete mode 100644 dist/font-awesome/js/all.js delete mode 100644 dist/font-awesome/js/all.min.js delete mode 100644 dist/font-awesome/js/brands.js delete mode 100644 dist/font-awesome/js/brands.min.js delete mode 100644 dist/font-awesome/js/fontawesome.js delete mode 100644 dist/font-awesome/js/fontawesome.min.js delete mode 100644 dist/font-awesome/js/regular.js delete mode 100644 dist/font-awesome/js/regular.min.js delete mode 100644 dist/font-awesome/js/solid.js delete mode 100644 dist/font-awesome/js/solid.min.js delete mode 100644 dist/font-awesome/js/v4-shims.js delete mode 100644 dist/font-awesome/js/v4-shims.min.js delete mode 100644 dist/font-awesome/less/_animated.less delete mode 100644 dist/font-awesome/less/_bordered-pulled.less delete mode 100644 dist/font-awesome/less/_core.less delete mode 100644 dist/font-awesome/less/_fixed-width.less delete mode 100644 dist/font-awesome/less/_icons.less delete mode 100644 dist/font-awesome/less/_larger.less delete mode 100644 dist/font-awesome/less/_list.less delete mode 100644 dist/font-awesome/less/_mixins.less delete mode 100644 dist/font-awesome/less/_rotated-flipped.less delete mode 100644 dist/font-awesome/less/_screen-reader.less delete mode 100644 dist/font-awesome/less/_shims.less delete mode 100644 dist/font-awesome/less/_stacked.less delete mode 100644 dist/font-awesome/less/_variables.less delete mode 100644 dist/font-awesome/less/brands.less delete mode 100644 dist/font-awesome/less/fontawesome.less delete mode 100644 dist/font-awesome/less/regular.less delete mode 100644 dist/font-awesome/less/solid.less delete mode 100644 dist/font-awesome/less/v4-shims.less delete mode 100644 dist/font-awesome/metadata/categories.yml delete mode 100644 dist/font-awesome/metadata/icons.json delete mode 100644 dist/font-awesome/metadata/icons.yml delete mode 100644 dist/font-awesome/metadata/shims.json delete mode 100644 dist/font-awesome/metadata/shims.yml delete mode 100644 dist/font-awesome/metadata/sponsors.yml delete mode 100644 dist/font-awesome/scss/_animated.scss delete mode 100644 dist/font-awesome/scss/_bordered-pulled.scss delete mode 100644 dist/font-awesome/scss/_core.scss delete mode 100644 dist/font-awesome/scss/_fixed-width.scss delete mode 100644 dist/font-awesome/scss/_icons.scss delete mode 100644 dist/font-awesome/scss/_larger.scss delete mode 100644 dist/font-awesome/scss/_list.scss delete mode 100644 dist/font-awesome/scss/_mixins.scss delete mode 100644 dist/font-awesome/scss/_rotated-flipped.scss delete mode 100644 dist/font-awesome/scss/_screen-reader.scss delete mode 100644 dist/font-awesome/scss/_shims.scss delete mode 100644 dist/font-awesome/scss/_stacked.scss delete mode 100644 dist/font-awesome/scss/_variables.scss delete mode 100644 dist/font-awesome/scss/brands.scss delete mode 100644 dist/font-awesome/scss/fontawesome.scss delete mode 100644 dist/font-awesome/scss/regular.scss delete mode 100644 dist/font-awesome/scss/solid.scss delete mode 100644 dist/font-awesome/scss/v4-shims.scss delete mode 100644 dist/font-awesome/sprites/brands.svg delete mode 100644 dist/font-awesome/sprites/regular.svg delete mode 100644 dist/font-awesome/sprites/solid.svg delete mode 100644 dist/font-awesome/svgs/brands/500px.svg delete mode 100644 dist/font-awesome/svgs/brands/accessible-icon.svg delete mode 100644 dist/font-awesome/svgs/brands/accusoft.svg delete mode 100644 dist/font-awesome/svgs/brands/acquisitions-incorporated.svg delete mode 100644 dist/font-awesome/svgs/brands/adn.svg delete mode 100644 dist/font-awesome/svgs/brands/adobe.svg delete mode 100644 dist/font-awesome/svgs/brands/adversal.svg delete mode 100644 dist/font-awesome/svgs/brands/affiliatetheme.svg delete mode 100644 dist/font-awesome/svgs/brands/algolia.svg delete mode 100644 dist/font-awesome/svgs/brands/alipay.svg delete mode 100644 dist/font-awesome/svgs/brands/amazon-pay.svg delete mode 100644 dist/font-awesome/svgs/brands/amazon.svg delete mode 100644 dist/font-awesome/svgs/brands/amilia.svg delete mode 100644 dist/font-awesome/svgs/brands/android.svg delete mode 100644 dist/font-awesome/svgs/brands/angellist.svg delete mode 100644 dist/font-awesome/svgs/brands/angrycreative.svg delete mode 100644 dist/font-awesome/svgs/brands/angular.svg delete mode 100644 dist/font-awesome/svgs/brands/app-store-ios.svg delete mode 100644 dist/font-awesome/svgs/brands/app-store.svg delete mode 100644 dist/font-awesome/svgs/brands/apper.svg delete mode 100644 dist/font-awesome/svgs/brands/apple-pay.svg delete mode 100644 dist/font-awesome/svgs/brands/apple.svg delete mode 100644 dist/font-awesome/svgs/brands/artstation.svg delete mode 100644 dist/font-awesome/svgs/brands/asymmetrik.svg delete mode 100644 dist/font-awesome/svgs/brands/atlassian.svg delete mode 100644 dist/font-awesome/svgs/brands/audible.svg delete mode 100644 dist/font-awesome/svgs/brands/autoprefixer.svg delete mode 100644 dist/font-awesome/svgs/brands/avianex.svg delete mode 100644 dist/font-awesome/svgs/brands/aviato.svg delete mode 100644 dist/font-awesome/svgs/brands/aws.svg delete mode 100644 dist/font-awesome/svgs/brands/bandcamp.svg delete mode 100644 dist/font-awesome/svgs/brands/behance-square.svg delete mode 100644 dist/font-awesome/svgs/brands/behance.svg delete mode 100644 dist/font-awesome/svgs/brands/bimobject.svg delete mode 100644 dist/font-awesome/svgs/brands/bitbucket.svg delete mode 100644 dist/font-awesome/svgs/brands/bitcoin.svg delete mode 100644 dist/font-awesome/svgs/brands/bity.svg delete mode 100644 dist/font-awesome/svgs/brands/black-tie.svg delete mode 100644 dist/font-awesome/svgs/brands/blackberry.svg delete mode 100644 dist/font-awesome/svgs/brands/blogger-b.svg delete mode 100644 dist/font-awesome/svgs/brands/blogger.svg delete mode 100644 dist/font-awesome/svgs/brands/bluetooth-b.svg delete mode 100644 dist/font-awesome/svgs/brands/bluetooth.svg delete mode 100644 dist/font-awesome/svgs/brands/btc.svg delete mode 100644 dist/font-awesome/svgs/brands/buromobelexperte.svg delete mode 100644 dist/font-awesome/svgs/brands/buysellads.svg delete mode 100644 dist/font-awesome/svgs/brands/canadian-maple-leaf.svg delete mode 100644 dist/font-awesome/svgs/brands/cc-amazon-pay.svg delete mode 100644 dist/font-awesome/svgs/brands/cc-amex.svg delete mode 100644 dist/font-awesome/svgs/brands/cc-apple-pay.svg delete mode 100644 dist/font-awesome/svgs/brands/cc-diners-club.svg delete mode 100644 dist/font-awesome/svgs/brands/cc-discover.svg delete mode 100644 dist/font-awesome/svgs/brands/cc-jcb.svg delete mode 100644 dist/font-awesome/svgs/brands/cc-mastercard.svg delete mode 100644 dist/font-awesome/svgs/brands/cc-paypal.svg delete mode 100644 dist/font-awesome/svgs/brands/cc-stripe.svg delete mode 100644 dist/font-awesome/svgs/brands/cc-visa.svg delete mode 100644 dist/font-awesome/svgs/brands/centercode.svg delete mode 100644 dist/font-awesome/svgs/brands/centos.svg delete mode 100644 dist/font-awesome/svgs/brands/chrome.svg delete mode 100644 dist/font-awesome/svgs/brands/cloudscale.svg delete mode 100644 dist/font-awesome/svgs/brands/cloudsmith.svg delete mode 100644 dist/font-awesome/svgs/brands/cloudversify.svg delete mode 100644 dist/font-awesome/svgs/brands/codepen.svg delete mode 100644 dist/font-awesome/svgs/brands/codiepie.svg delete mode 100644 dist/font-awesome/svgs/brands/confluence.svg delete mode 100644 dist/font-awesome/svgs/brands/connectdevelop.svg delete mode 100644 dist/font-awesome/svgs/brands/contao.svg delete mode 100644 dist/font-awesome/svgs/brands/cpanel.svg delete mode 100644 dist/font-awesome/svgs/brands/creative-commons-by.svg delete mode 100644 dist/font-awesome/svgs/brands/creative-commons-nc-eu.svg delete mode 100644 dist/font-awesome/svgs/brands/creative-commons-nc-jp.svg delete mode 100644 dist/font-awesome/svgs/brands/creative-commons-nc.svg delete mode 100644 dist/font-awesome/svgs/brands/creative-commons-nd.svg delete mode 100644 dist/font-awesome/svgs/brands/creative-commons-pd-alt.svg delete mode 100644 dist/font-awesome/svgs/brands/creative-commons-pd.svg delete mode 100644 dist/font-awesome/svgs/brands/creative-commons-remix.svg delete mode 100644 dist/font-awesome/svgs/brands/creative-commons-sa.svg delete mode 100644 dist/font-awesome/svgs/brands/creative-commons-sampling-plus.svg delete mode 100644 dist/font-awesome/svgs/brands/creative-commons-sampling.svg delete mode 100644 dist/font-awesome/svgs/brands/creative-commons-share.svg delete mode 100644 dist/font-awesome/svgs/brands/creative-commons-zero.svg delete mode 100644 dist/font-awesome/svgs/brands/creative-commons.svg delete mode 100644 dist/font-awesome/svgs/brands/critical-role.svg delete mode 100644 dist/font-awesome/svgs/brands/css3-alt.svg delete mode 100644 dist/font-awesome/svgs/brands/css3.svg delete mode 100644 dist/font-awesome/svgs/brands/cuttlefish.svg delete mode 100644 dist/font-awesome/svgs/brands/d-and-d-beyond.svg delete mode 100644 dist/font-awesome/svgs/brands/d-and-d.svg delete mode 100644 dist/font-awesome/svgs/brands/dashcube.svg delete mode 100644 dist/font-awesome/svgs/brands/delicious.svg delete mode 100644 dist/font-awesome/svgs/brands/deploydog.svg delete mode 100644 dist/font-awesome/svgs/brands/deskpro.svg delete mode 100644 dist/font-awesome/svgs/brands/dev.svg delete mode 100644 dist/font-awesome/svgs/brands/deviantart.svg delete mode 100644 dist/font-awesome/svgs/brands/dhl.svg delete mode 100644 dist/font-awesome/svgs/brands/diaspora.svg delete mode 100644 dist/font-awesome/svgs/brands/digg.svg delete mode 100644 dist/font-awesome/svgs/brands/digital-ocean.svg delete mode 100644 dist/font-awesome/svgs/brands/discord.svg delete mode 100644 dist/font-awesome/svgs/brands/discourse.svg delete mode 100644 dist/font-awesome/svgs/brands/dochub.svg delete mode 100644 dist/font-awesome/svgs/brands/docker.svg delete mode 100644 dist/font-awesome/svgs/brands/draft2digital.svg delete mode 100644 dist/font-awesome/svgs/brands/dribbble-square.svg delete mode 100644 dist/font-awesome/svgs/brands/dribbble.svg delete mode 100644 dist/font-awesome/svgs/brands/dropbox.svg delete mode 100644 dist/font-awesome/svgs/brands/drupal.svg delete mode 100644 dist/font-awesome/svgs/brands/dyalog.svg delete mode 100644 dist/font-awesome/svgs/brands/earlybirds.svg delete mode 100644 dist/font-awesome/svgs/brands/ebay.svg delete mode 100644 dist/font-awesome/svgs/brands/edge.svg delete mode 100644 dist/font-awesome/svgs/brands/elementor.svg delete mode 100644 dist/font-awesome/svgs/brands/ello.svg delete mode 100644 dist/font-awesome/svgs/brands/ember.svg delete mode 100644 dist/font-awesome/svgs/brands/empire.svg delete mode 100644 dist/font-awesome/svgs/brands/envira.svg delete mode 100644 dist/font-awesome/svgs/brands/erlang.svg delete mode 100644 dist/font-awesome/svgs/brands/ethereum.svg delete mode 100644 dist/font-awesome/svgs/brands/etsy.svg delete mode 100644 dist/font-awesome/svgs/brands/expeditedssl.svg delete mode 100644 dist/font-awesome/svgs/brands/facebook-f.svg delete mode 100644 dist/font-awesome/svgs/brands/facebook-messenger.svg delete mode 100644 dist/font-awesome/svgs/brands/facebook-square.svg delete mode 100644 dist/font-awesome/svgs/brands/facebook.svg delete mode 100644 dist/font-awesome/svgs/brands/fantasy-flight-games.svg delete mode 100644 dist/font-awesome/svgs/brands/fedex.svg delete mode 100644 dist/font-awesome/svgs/brands/fedora.svg delete mode 100644 dist/font-awesome/svgs/brands/figma.svg delete mode 100644 dist/font-awesome/svgs/brands/firefox.svg delete mode 100644 dist/font-awesome/svgs/brands/first-order-alt.svg delete mode 100644 dist/font-awesome/svgs/brands/first-order.svg delete mode 100644 dist/font-awesome/svgs/brands/firstdraft.svg delete mode 100644 dist/font-awesome/svgs/brands/flickr.svg delete mode 100644 dist/font-awesome/svgs/brands/flipboard.svg delete mode 100644 dist/font-awesome/svgs/brands/fly.svg delete mode 100644 dist/font-awesome/svgs/brands/font-awesome-alt.svg delete mode 100644 dist/font-awesome/svgs/brands/font-awesome-flag.svg delete mode 100644 dist/font-awesome/svgs/brands/font-awesome-logo-full.svg delete mode 100644 dist/font-awesome/svgs/brands/font-awesome.svg delete mode 100644 dist/font-awesome/svgs/brands/fonticons-fi.svg delete mode 100644 dist/font-awesome/svgs/brands/fonticons.svg delete mode 100644 dist/font-awesome/svgs/brands/fort-awesome-alt.svg delete mode 100644 dist/font-awesome/svgs/brands/fort-awesome.svg delete mode 100644 dist/font-awesome/svgs/brands/forumbee.svg delete mode 100644 dist/font-awesome/svgs/brands/foursquare.svg delete mode 100644 dist/font-awesome/svgs/brands/free-code-camp.svg delete mode 100644 dist/font-awesome/svgs/brands/freebsd.svg delete mode 100644 dist/font-awesome/svgs/brands/fulcrum.svg delete mode 100644 dist/font-awesome/svgs/brands/galactic-republic.svg delete mode 100644 dist/font-awesome/svgs/brands/galactic-senate.svg delete mode 100644 dist/font-awesome/svgs/brands/get-pocket.svg delete mode 100644 dist/font-awesome/svgs/brands/gg-circle.svg delete mode 100644 dist/font-awesome/svgs/brands/gg.svg delete mode 100644 dist/font-awesome/svgs/brands/git-square.svg delete mode 100644 dist/font-awesome/svgs/brands/git.svg delete mode 100644 dist/font-awesome/svgs/brands/github-alt.svg delete mode 100644 dist/font-awesome/svgs/brands/github-square.svg delete mode 100644 dist/font-awesome/svgs/brands/github.svg delete mode 100644 dist/font-awesome/svgs/brands/gitkraken.svg delete mode 100644 dist/font-awesome/svgs/brands/gitlab.svg delete mode 100644 dist/font-awesome/svgs/brands/gitter.svg delete mode 100644 dist/font-awesome/svgs/brands/glide-g.svg delete mode 100644 dist/font-awesome/svgs/brands/glide.svg delete mode 100644 dist/font-awesome/svgs/brands/gofore.svg delete mode 100644 dist/font-awesome/svgs/brands/goodreads-g.svg delete mode 100644 dist/font-awesome/svgs/brands/goodreads.svg delete mode 100644 dist/font-awesome/svgs/brands/google-drive.svg delete mode 100644 dist/font-awesome/svgs/brands/google-play.svg delete mode 100644 dist/font-awesome/svgs/brands/google-plus-g.svg delete mode 100644 dist/font-awesome/svgs/brands/google-plus-square.svg delete mode 100644 dist/font-awesome/svgs/brands/google-plus.svg delete mode 100644 dist/font-awesome/svgs/brands/google-wallet.svg delete mode 100644 dist/font-awesome/svgs/brands/google.svg delete mode 100644 dist/font-awesome/svgs/brands/gratipay.svg delete mode 100644 dist/font-awesome/svgs/brands/grav.svg delete mode 100644 dist/font-awesome/svgs/brands/gripfire.svg delete mode 100644 dist/font-awesome/svgs/brands/grunt.svg delete mode 100644 dist/font-awesome/svgs/brands/gulp.svg delete mode 100644 dist/font-awesome/svgs/brands/hacker-news-square.svg delete mode 100644 dist/font-awesome/svgs/brands/hacker-news.svg delete mode 100644 dist/font-awesome/svgs/brands/hackerrank.svg delete mode 100644 dist/font-awesome/svgs/brands/hips.svg delete mode 100644 dist/font-awesome/svgs/brands/hire-a-helper.svg delete mode 100644 dist/font-awesome/svgs/brands/hooli.svg delete mode 100644 dist/font-awesome/svgs/brands/hornbill.svg delete mode 100644 dist/font-awesome/svgs/brands/hotjar.svg delete mode 100644 dist/font-awesome/svgs/brands/houzz.svg delete mode 100644 dist/font-awesome/svgs/brands/html5.svg delete mode 100644 dist/font-awesome/svgs/brands/hubspot.svg delete mode 100644 dist/font-awesome/svgs/brands/imdb.svg delete mode 100644 dist/font-awesome/svgs/brands/instagram.svg delete mode 100644 dist/font-awesome/svgs/brands/intercom.svg delete mode 100644 dist/font-awesome/svgs/brands/internet-explorer.svg delete mode 100644 dist/font-awesome/svgs/brands/invision.svg delete mode 100644 dist/font-awesome/svgs/brands/ioxhost.svg delete mode 100644 dist/font-awesome/svgs/brands/itunes-note.svg delete mode 100644 dist/font-awesome/svgs/brands/itunes.svg delete mode 100644 dist/font-awesome/svgs/brands/java.svg delete mode 100644 dist/font-awesome/svgs/brands/jedi-order.svg delete mode 100644 dist/font-awesome/svgs/brands/jenkins.svg delete mode 100644 dist/font-awesome/svgs/brands/jira.svg delete mode 100644 dist/font-awesome/svgs/brands/joget.svg delete mode 100644 dist/font-awesome/svgs/brands/joomla.svg delete mode 100644 dist/font-awesome/svgs/brands/js-square.svg delete mode 100644 dist/font-awesome/svgs/brands/js.svg delete mode 100644 dist/font-awesome/svgs/brands/jsfiddle.svg delete mode 100644 dist/font-awesome/svgs/brands/kaggle.svg delete mode 100644 dist/font-awesome/svgs/brands/keybase.svg delete mode 100644 dist/font-awesome/svgs/brands/keycdn.svg delete mode 100644 dist/font-awesome/svgs/brands/kickstarter-k.svg delete mode 100644 dist/font-awesome/svgs/brands/kickstarter.svg delete mode 100644 dist/font-awesome/svgs/brands/korvue.svg delete mode 100644 dist/font-awesome/svgs/brands/laravel.svg delete mode 100644 dist/font-awesome/svgs/brands/lastfm-square.svg delete mode 100644 dist/font-awesome/svgs/brands/lastfm.svg delete mode 100644 dist/font-awesome/svgs/brands/leanpub.svg delete mode 100644 dist/font-awesome/svgs/brands/less.svg delete mode 100644 dist/font-awesome/svgs/brands/line.svg delete mode 100644 dist/font-awesome/svgs/brands/linkedin-in.svg delete mode 100644 dist/font-awesome/svgs/brands/linkedin.svg delete mode 100644 dist/font-awesome/svgs/brands/linode.svg delete mode 100644 dist/font-awesome/svgs/brands/linux.svg delete mode 100644 dist/font-awesome/svgs/brands/lyft.svg delete mode 100644 dist/font-awesome/svgs/brands/magento.svg delete mode 100644 dist/font-awesome/svgs/brands/mailchimp.svg delete mode 100644 dist/font-awesome/svgs/brands/mandalorian.svg delete mode 100644 dist/font-awesome/svgs/brands/markdown.svg delete mode 100644 dist/font-awesome/svgs/brands/mastodon.svg delete mode 100644 dist/font-awesome/svgs/brands/maxcdn.svg delete mode 100644 dist/font-awesome/svgs/brands/medapps.svg delete mode 100644 dist/font-awesome/svgs/brands/medium-m.svg delete mode 100644 dist/font-awesome/svgs/brands/medium.svg delete mode 100644 dist/font-awesome/svgs/brands/medrt.svg delete mode 100644 dist/font-awesome/svgs/brands/meetup.svg delete mode 100644 dist/font-awesome/svgs/brands/megaport.svg delete mode 100644 dist/font-awesome/svgs/brands/mendeley.svg delete mode 100644 dist/font-awesome/svgs/brands/microsoft.svg delete mode 100644 dist/font-awesome/svgs/brands/mix.svg delete mode 100644 dist/font-awesome/svgs/brands/mixcloud.svg delete mode 100644 dist/font-awesome/svgs/brands/mizuni.svg delete mode 100644 dist/font-awesome/svgs/brands/modx.svg delete mode 100644 dist/font-awesome/svgs/brands/monero.svg delete mode 100644 dist/font-awesome/svgs/brands/napster.svg delete mode 100644 dist/font-awesome/svgs/brands/neos.svg delete mode 100644 dist/font-awesome/svgs/brands/nimblr.svg delete mode 100644 dist/font-awesome/svgs/brands/nintendo-switch.svg delete mode 100644 dist/font-awesome/svgs/brands/node-js.svg delete mode 100644 dist/font-awesome/svgs/brands/node.svg delete mode 100644 dist/font-awesome/svgs/brands/npm.svg delete mode 100644 dist/font-awesome/svgs/brands/ns8.svg delete mode 100644 dist/font-awesome/svgs/brands/nutritionix.svg delete mode 100644 dist/font-awesome/svgs/brands/odnoklassniki-square.svg delete mode 100644 dist/font-awesome/svgs/brands/odnoklassniki.svg delete mode 100644 dist/font-awesome/svgs/brands/old-republic.svg delete mode 100644 dist/font-awesome/svgs/brands/opencart.svg delete mode 100644 dist/font-awesome/svgs/brands/openid.svg delete mode 100644 dist/font-awesome/svgs/brands/opera.svg delete mode 100644 dist/font-awesome/svgs/brands/optin-monster.svg delete mode 100644 dist/font-awesome/svgs/brands/osi.svg delete mode 100644 dist/font-awesome/svgs/brands/page4.svg delete mode 100644 dist/font-awesome/svgs/brands/pagelines.svg delete mode 100644 dist/font-awesome/svgs/brands/palfed.svg delete mode 100644 dist/font-awesome/svgs/brands/patreon.svg delete mode 100644 dist/font-awesome/svgs/brands/paypal.svg delete mode 100644 dist/font-awesome/svgs/brands/penny-arcade.svg delete mode 100644 dist/font-awesome/svgs/brands/periscope.svg delete mode 100644 dist/font-awesome/svgs/brands/phabricator.svg delete mode 100644 dist/font-awesome/svgs/brands/phoenix-framework.svg delete mode 100644 dist/font-awesome/svgs/brands/phoenix-squadron.svg delete mode 100644 dist/font-awesome/svgs/brands/php.svg delete mode 100644 dist/font-awesome/svgs/brands/pied-piper-alt.svg delete mode 100644 dist/font-awesome/svgs/brands/pied-piper-hat.svg delete mode 100644 dist/font-awesome/svgs/brands/pied-piper-pp.svg delete mode 100644 dist/font-awesome/svgs/brands/pied-piper.svg delete mode 100644 dist/font-awesome/svgs/brands/pinterest-p.svg delete mode 100644 dist/font-awesome/svgs/brands/pinterest-square.svg delete mode 100644 dist/font-awesome/svgs/brands/pinterest.svg delete mode 100644 dist/font-awesome/svgs/brands/playstation.svg delete mode 100644 dist/font-awesome/svgs/brands/product-hunt.svg delete mode 100644 dist/font-awesome/svgs/brands/pushed.svg delete mode 100644 dist/font-awesome/svgs/brands/python.svg delete mode 100644 dist/font-awesome/svgs/brands/qq.svg delete mode 100644 dist/font-awesome/svgs/brands/quinscape.svg delete mode 100644 dist/font-awesome/svgs/brands/quora.svg delete mode 100644 dist/font-awesome/svgs/brands/r-project.svg delete mode 100644 dist/font-awesome/svgs/brands/raspberry-pi.svg delete mode 100644 dist/font-awesome/svgs/brands/ravelry.svg delete mode 100644 dist/font-awesome/svgs/brands/react.svg delete mode 100644 dist/font-awesome/svgs/brands/reacteurope.svg delete mode 100644 dist/font-awesome/svgs/brands/readme.svg delete mode 100644 dist/font-awesome/svgs/brands/rebel.svg delete mode 100644 dist/font-awesome/svgs/brands/red-river.svg delete mode 100644 dist/font-awesome/svgs/brands/reddit-alien.svg delete mode 100644 dist/font-awesome/svgs/brands/reddit-square.svg delete mode 100644 dist/font-awesome/svgs/brands/reddit.svg delete mode 100644 dist/font-awesome/svgs/brands/redhat.svg delete mode 100644 dist/font-awesome/svgs/brands/renren.svg delete mode 100644 dist/font-awesome/svgs/brands/replyd.svg delete mode 100644 dist/font-awesome/svgs/brands/researchgate.svg delete mode 100644 dist/font-awesome/svgs/brands/resolving.svg delete mode 100644 dist/font-awesome/svgs/brands/rev.svg delete mode 100644 dist/font-awesome/svgs/brands/rocketchat.svg delete mode 100644 dist/font-awesome/svgs/brands/rockrms.svg delete mode 100644 dist/font-awesome/svgs/brands/safari.svg delete mode 100644 dist/font-awesome/svgs/brands/sass.svg delete mode 100644 dist/font-awesome/svgs/brands/schlix.svg delete mode 100644 dist/font-awesome/svgs/brands/scribd.svg delete mode 100644 dist/font-awesome/svgs/brands/searchengin.svg delete mode 100644 dist/font-awesome/svgs/brands/sellcast.svg delete mode 100644 dist/font-awesome/svgs/brands/sellsy.svg delete mode 100644 dist/font-awesome/svgs/brands/servicestack.svg delete mode 100644 dist/font-awesome/svgs/brands/shirtsinbulk.svg delete mode 100644 dist/font-awesome/svgs/brands/shopware.svg delete mode 100644 dist/font-awesome/svgs/brands/simplybuilt.svg delete mode 100644 dist/font-awesome/svgs/brands/sistrix.svg delete mode 100644 dist/font-awesome/svgs/brands/sith.svg delete mode 100644 dist/font-awesome/svgs/brands/sketch.svg delete mode 100644 dist/font-awesome/svgs/brands/skyatlas.svg delete mode 100644 dist/font-awesome/svgs/brands/skype.svg delete mode 100644 dist/font-awesome/svgs/brands/slack-hash.svg delete mode 100644 dist/font-awesome/svgs/brands/slack.svg delete mode 100644 dist/font-awesome/svgs/brands/slideshare.svg delete mode 100644 dist/font-awesome/svgs/brands/snapchat-ghost.svg delete mode 100644 dist/font-awesome/svgs/brands/snapchat-square.svg delete mode 100644 dist/font-awesome/svgs/brands/snapchat.svg delete mode 100644 dist/font-awesome/svgs/brands/soundcloud.svg delete mode 100644 dist/font-awesome/svgs/brands/sourcetree.svg delete mode 100644 dist/font-awesome/svgs/brands/speakap.svg delete mode 100644 dist/font-awesome/svgs/brands/spotify.svg delete mode 100644 dist/font-awesome/svgs/brands/squarespace.svg delete mode 100644 dist/font-awesome/svgs/brands/stack-exchange.svg delete mode 100644 dist/font-awesome/svgs/brands/stack-overflow.svg delete mode 100644 dist/font-awesome/svgs/brands/staylinked.svg delete mode 100644 dist/font-awesome/svgs/brands/steam-square.svg delete mode 100644 dist/font-awesome/svgs/brands/steam-symbol.svg delete mode 100644 dist/font-awesome/svgs/brands/steam.svg delete mode 100644 dist/font-awesome/svgs/brands/sticker-mule.svg delete mode 100644 dist/font-awesome/svgs/brands/strava.svg delete mode 100644 dist/font-awesome/svgs/brands/stripe-s.svg delete mode 100644 dist/font-awesome/svgs/brands/stripe.svg delete mode 100644 dist/font-awesome/svgs/brands/studiovinari.svg delete mode 100644 dist/font-awesome/svgs/brands/stumbleupon-circle.svg delete mode 100644 dist/font-awesome/svgs/brands/stumbleupon.svg delete mode 100644 dist/font-awesome/svgs/brands/superpowers.svg delete mode 100644 dist/font-awesome/svgs/brands/supple.svg delete mode 100644 dist/font-awesome/svgs/brands/suse.svg delete mode 100644 dist/font-awesome/svgs/brands/teamspeak.svg delete mode 100644 dist/font-awesome/svgs/brands/telegram-plane.svg delete mode 100644 dist/font-awesome/svgs/brands/telegram.svg delete mode 100644 dist/font-awesome/svgs/brands/tencent-weibo.svg delete mode 100644 dist/font-awesome/svgs/brands/the-red-yeti.svg delete mode 100644 dist/font-awesome/svgs/brands/themeco.svg delete mode 100644 dist/font-awesome/svgs/brands/themeisle.svg delete mode 100644 dist/font-awesome/svgs/brands/think-peaks.svg delete mode 100644 dist/font-awesome/svgs/brands/trade-federation.svg delete mode 100644 dist/font-awesome/svgs/brands/trello.svg delete mode 100644 dist/font-awesome/svgs/brands/tripadvisor.svg delete mode 100644 dist/font-awesome/svgs/brands/tumblr-square.svg delete mode 100644 dist/font-awesome/svgs/brands/tumblr.svg delete mode 100644 dist/font-awesome/svgs/brands/twitch.svg delete mode 100644 dist/font-awesome/svgs/brands/twitter-square.svg delete mode 100644 dist/font-awesome/svgs/brands/twitter.svg delete mode 100644 dist/font-awesome/svgs/brands/typo3.svg delete mode 100644 dist/font-awesome/svgs/brands/uber.svg delete mode 100644 dist/font-awesome/svgs/brands/ubuntu.svg delete mode 100644 dist/font-awesome/svgs/brands/uikit.svg delete mode 100644 dist/font-awesome/svgs/brands/uniregistry.svg delete mode 100644 dist/font-awesome/svgs/brands/untappd.svg delete mode 100644 dist/font-awesome/svgs/brands/ups.svg delete mode 100644 dist/font-awesome/svgs/brands/usb.svg delete mode 100644 dist/font-awesome/svgs/brands/usps.svg delete mode 100644 dist/font-awesome/svgs/brands/ussunnah.svg delete mode 100644 dist/font-awesome/svgs/brands/vaadin.svg delete mode 100644 dist/font-awesome/svgs/brands/viacoin.svg delete mode 100644 dist/font-awesome/svgs/brands/viadeo-square.svg delete mode 100644 dist/font-awesome/svgs/brands/viadeo.svg delete mode 100644 dist/font-awesome/svgs/brands/viber.svg delete mode 100644 dist/font-awesome/svgs/brands/vimeo-square.svg delete mode 100644 dist/font-awesome/svgs/brands/vimeo-v.svg delete mode 100644 dist/font-awesome/svgs/brands/vimeo.svg delete mode 100644 dist/font-awesome/svgs/brands/vine.svg delete mode 100644 dist/font-awesome/svgs/brands/vk.svg delete mode 100644 dist/font-awesome/svgs/brands/vnv.svg delete mode 100644 dist/font-awesome/svgs/brands/vuejs.svg delete mode 100644 dist/font-awesome/svgs/brands/weebly.svg delete mode 100644 dist/font-awesome/svgs/brands/weibo.svg delete mode 100644 dist/font-awesome/svgs/brands/weixin.svg delete mode 100644 dist/font-awesome/svgs/brands/whatsapp-square.svg delete mode 100644 dist/font-awesome/svgs/brands/whatsapp.svg delete mode 100644 dist/font-awesome/svgs/brands/whmcs.svg delete mode 100644 dist/font-awesome/svgs/brands/wikipedia-w.svg delete mode 100644 dist/font-awesome/svgs/brands/windows.svg delete mode 100644 dist/font-awesome/svgs/brands/wix.svg delete mode 100644 dist/font-awesome/svgs/brands/wizards-of-the-coast.svg delete mode 100644 dist/font-awesome/svgs/brands/wolf-pack-battalion.svg delete mode 100644 dist/font-awesome/svgs/brands/wordpress-simple.svg delete mode 100644 dist/font-awesome/svgs/brands/wordpress.svg delete mode 100644 dist/font-awesome/svgs/brands/wpbeginner.svg delete mode 100644 dist/font-awesome/svgs/brands/wpexplorer.svg delete mode 100644 dist/font-awesome/svgs/brands/wpforms.svg delete mode 100644 dist/font-awesome/svgs/brands/wpressr.svg delete mode 100644 dist/font-awesome/svgs/brands/xbox.svg delete mode 100644 dist/font-awesome/svgs/brands/xing-square.svg delete mode 100644 dist/font-awesome/svgs/brands/xing.svg delete mode 100644 dist/font-awesome/svgs/brands/y-combinator.svg delete mode 100644 dist/font-awesome/svgs/brands/yahoo.svg delete mode 100644 dist/font-awesome/svgs/brands/yandex-international.svg delete mode 100644 dist/font-awesome/svgs/brands/yandex.svg delete mode 100644 dist/font-awesome/svgs/brands/yarn.svg delete mode 100644 dist/font-awesome/svgs/brands/yelp.svg delete mode 100644 dist/font-awesome/svgs/brands/yoast.svg delete mode 100644 dist/font-awesome/svgs/brands/youtube-square.svg delete mode 100644 dist/font-awesome/svgs/brands/youtube.svg delete mode 100644 dist/font-awesome/svgs/brands/zhihu.svg delete mode 100644 dist/font-awesome/svgs/regular/address-book.svg delete mode 100644 dist/font-awesome/svgs/regular/address-card.svg delete mode 100644 dist/font-awesome/svgs/regular/angry.svg delete mode 100644 dist/font-awesome/svgs/regular/arrow-alt-circle-down.svg delete mode 100644 dist/font-awesome/svgs/regular/arrow-alt-circle-left.svg delete mode 100644 dist/font-awesome/svgs/regular/arrow-alt-circle-right.svg delete mode 100644 dist/font-awesome/svgs/regular/arrow-alt-circle-up.svg delete mode 100644 dist/font-awesome/svgs/regular/bell-slash.svg delete mode 100644 dist/font-awesome/svgs/regular/bell.svg delete mode 100644 dist/font-awesome/svgs/regular/bookmark.svg delete mode 100644 dist/font-awesome/svgs/regular/building.svg delete mode 100644 dist/font-awesome/svgs/regular/calendar-alt.svg delete mode 100644 dist/font-awesome/svgs/regular/calendar-check.svg delete mode 100644 dist/font-awesome/svgs/regular/calendar-minus.svg delete mode 100644 dist/font-awesome/svgs/regular/calendar-plus.svg delete mode 100644 dist/font-awesome/svgs/regular/calendar-times.svg delete mode 100644 dist/font-awesome/svgs/regular/calendar.svg delete mode 100644 dist/font-awesome/svgs/regular/caret-square-down.svg delete mode 100644 dist/font-awesome/svgs/regular/caret-square-left.svg delete mode 100644 dist/font-awesome/svgs/regular/caret-square-right.svg delete mode 100644 dist/font-awesome/svgs/regular/caret-square-up.svg delete mode 100644 dist/font-awesome/svgs/regular/chart-bar.svg delete mode 100644 dist/font-awesome/svgs/regular/check-circle.svg delete mode 100644 dist/font-awesome/svgs/regular/check-square.svg delete mode 100644 dist/font-awesome/svgs/regular/circle.svg delete mode 100644 dist/font-awesome/svgs/regular/clipboard.svg delete mode 100644 dist/font-awesome/svgs/regular/clock.svg delete mode 100644 dist/font-awesome/svgs/regular/clone.svg delete mode 100644 dist/font-awesome/svgs/regular/closed-captioning.svg delete mode 100644 dist/font-awesome/svgs/regular/comment-alt.svg delete mode 100644 dist/font-awesome/svgs/regular/comment-dots.svg delete mode 100644 dist/font-awesome/svgs/regular/comment.svg delete mode 100644 dist/font-awesome/svgs/regular/comments.svg delete mode 100644 dist/font-awesome/svgs/regular/compass.svg delete mode 100644 dist/font-awesome/svgs/regular/copy.svg delete mode 100644 dist/font-awesome/svgs/regular/copyright.svg delete mode 100644 dist/font-awesome/svgs/regular/credit-card.svg delete mode 100644 dist/font-awesome/svgs/regular/dizzy.svg delete mode 100644 dist/font-awesome/svgs/regular/dot-circle.svg delete mode 100644 dist/font-awesome/svgs/regular/edit.svg delete mode 100644 dist/font-awesome/svgs/regular/envelope-open.svg delete mode 100644 dist/font-awesome/svgs/regular/envelope.svg delete mode 100644 dist/font-awesome/svgs/regular/eye-slash.svg delete mode 100644 dist/font-awesome/svgs/regular/eye.svg delete mode 100644 dist/font-awesome/svgs/regular/file-alt.svg delete mode 100644 dist/font-awesome/svgs/regular/file-archive.svg delete mode 100644 dist/font-awesome/svgs/regular/file-audio.svg delete mode 100644 dist/font-awesome/svgs/regular/file-code.svg delete mode 100644 dist/font-awesome/svgs/regular/file-excel.svg delete mode 100644 dist/font-awesome/svgs/regular/file-image.svg delete mode 100644 dist/font-awesome/svgs/regular/file-pdf.svg delete mode 100644 dist/font-awesome/svgs/regular/file-powerpoint.svg delete mode 100644 dist/font-awesome/svgs/regular/file-video.svg delete mode 100644 dist/font-awesome/svgs/regular/file-word.svg delete mode 100644 dist/font-awesome/svgs/regular/file.svg delete mode 100644 dist/font-awesome/svgs/regular/flag.svg delete mode 100644 dist/font-awesome/svgs/regular/flushed.svg delete mode 100644 dist/font-awesome/svgs/regular/folder-open.svg delete mode 100644 dist/font-awesome/svgs/regular/folder.svg delete mode 100644 dist/font-awesome/svgs/regular/font-awesome-logo-full.svg delete mode 100644 dist/font-awesome/svgs/regular/frown-open.svg delete mode 100644 dist/font-awesome/svgs/regular/frown.svg delete mode 100644 dist/font-awesome/svgs/regular/futbol.svg delete mode 100644 dist/font-awesome/svgs/regular/gem.svg delete mode 100644 dist/font-awesome/svgs/regular/grimace.svg delete mode 100644 dist/font-awesome/svgs/regular/grin-alt.svg delete mode 100644 dist/font-awesome/svgs/regular/grin-beam-sweat.svg delete mode 100644 dist/font-awesome/svgs/regular/grin-beam.svg delete mode 100644 dist/font-awesome/svgs/regular/grin-hearts.svg delete mode 100644 dist/font-awesome/svgs/regular/grin-squint-tears.svg delete mode 100644 dist/font-awesome/svgs/regular/grin-squint.svg delete mode 100644 dist/font-awesome/svgs/regular/grin-stars.svg delete mode 100644 dist/font-awesome/svgs/regular/grin-tears.svg delete mode 100644 dist/font-awesome/svgs/regular/grin-tongue-squint.svg delete mode 100644 dist/font-awesome/svgs/regular/grin-tongue-wink.svg delete mode 100644 dist/font-awesome/svgs/regular/grin-tongue.svg delete mode 100644 dist/font-awesome/svgs/regular/grin-wink.svg delete mode 100644 dist/font-awesome/svgs/regular/grin.svg delete mode 100644 dist/font-awesome/svgs/regular/hand-lizard.svg delete mode 100644 dist/font-awesome/svgs/regular/hand-paper.svg delete mode 100644 dist/font-awesome/svgs/regular/hand-peace.svg delete mode 100644 dist/font-awesome/svgs/regular/hand-point-down.svg delete mode 100644 dist/font-awesome/svgs/regular/hand-point-left.svg delete mode 100644 dist/font-awesome/svgs/regular/hand-point-right.svg delete mode 100644 dist/font-awesome/svgs/regular/hand-point-up.svg delete mode 100644 dist/font-awesome/svgs/regular/hand-pointer.svg delete mode 100644 dist/font-awesome/svgs/regular/hand-rock.svg delete mode 100644 dist/font-awesome/svgs/regular/hand-scissors.svg delete mode 100644 dist/font-awesome/svgs/regular/hand-spock.svg delete mode 100644 dist/font-awesome/svgs/regular/handshake.svg delete mode 100644 dist/font-awesome/svgs/regular/hdd.svg delete mode 100644 dist/font-awesome/svgs/regular/heart.svg delete mode 100644 dist/font-awesome/svgs/regular/hospital.svg delete mode 100644 dist/font-awesome/svgs/regular/hourglass.svg delete mode 100644 dist/font-awesome/svgs/regular/id-badge.svg delete mode 100644 dist/font-awesome/svgs/regular/id-card.svg delete mode 100644 dist/font-awesome/svgs/regular/image.svg delete mode 100644 dist/font-awesome/svgs/regular/images.svg delete mode 100644 dist/font-awesome/svgs/regular/keyboard.svg delete mode 100644 dist/font-awesome/svgs/regular/kiss-beam.svg delete mode 100644 dist/font-awesome/svgs/regular/kiss-wink-heart.svg delete mode 100644 dist/font-awesome/svgs/regular/kiss.svg delete mode 100644 dist/font-awesome/svgs/regular/laugh-beam.svg delete mode 100644 dist/font-awesome/svgs/regular/laugh-squint.svg delete mode 100644 dist/font-awesome/svgs/regular/laugh-wink.svg delete mode 100644 dist/font-awesome/svgs/regular/laugh.svg delete mode 100644 dist/font-awesome/svgs/regular/lemon.svg delete mode 100644 dist/font-awesome/svgs/regular/life-ring.svg delete mode 100644 dist/font-awesome/svgs/regular/lightbulb.svg delete mode 100644 dist/font-awesome/svgs/regular/list-alt.svg delete mode 100644 dist/font-awesome/svgs/regular/map.svg delete mode 100644 dist/font-awesome/svgs/regular/meh-blank.svg delete mode 100644 dist/font-awesome/svgs/regular/meh-rolling-eyes.svg delete mode 100644 dist/font-awesome/svgs/regular/meh.svg delete mode 100644 dist/font-awesome/svgs/regular/minus-square.svg delete mode 100644 dist/font-awesome/svgs/regular/money-bill-alt.svg delete mode 100644 dist/font-awesome/svgs/regular/moon.svg delete mode 100644 dist/font-awesome/svgs/regular/newspaper.svg delete mode 100644 dist/font-awesome/svgs/regular/object-group.svg delete mode 100644 dist/font-awesome/svgs/regular/object-ungroup.svg delete mode 100644 dist/font-awesome/svgs/regular/paper-plane.svg delete mode 100644 dist/font-awesome/svgs/regular/pause-circle.svg delete mode 100644 dist/font-awesome/svgs/regular/play-circle.svg delete mode 100644 dist/font-awesome/svgs/regular/plus-square.svg delete mode 100644 dist/font-awesome/svgs/regular/question-circle.svg delete mode 100644 dist/font-awesome/svgs/regular/registered.svg delete mode 100644 dist/font-awesome/svgs/regular/sad-cry.svg delete mode 100644 dist/font-awesome/svgs/regular/sad-tear.svg delete mode 100644 dist/font-awesome/svgs/regular/save.svg delete mode 100644 dist/font-awesome/svgs/regular/share-square.svg delete mode 100644 dist/font-awesome/svgs/regular/smile-beam.svg delete mode 100644 dist/font-awesome/svgs/regular/smile-wink.svg delete mode 100644 dist/font-awesome/svgs/regular/smile.svg delete mode 100644 dist/font-awesome/svgs/regular/snowflake.svg delete mode 100644 dist/font-awesome/svgs/regular/square.svg delete mode 100644 dist/font-awesome/svgs/regular/star-half.svg delete mode 100644 dist/font-awesome/svgs/regular/star.svg delete mode 100644 dist/font-awesome/svgs/regular/sticky-note.svg delete mode 100644 dist/font-awesome/svgs/regular/stop-circle.svg delete mode 100644 dist/font-awesome/svgs/regular/sun.svg delete mode 100644 dist/font-awesome/svgs/regular/surprise.svg delete mode 100644 dist/font-awesome/svgs/regular/thumbs-down.svg delete mode 100644 dist/font-awesome/svgs/regular/thumbs-up.svg delete mode 100644 dist/font-awesome/svgs/regular/times-circle.svg delete mode 100644 dist/font-awesome/svgs/regular/tired.svg delete mode 100644 dist/font-awesome/svgs/regular/trash-alt.svg delete mode 100644 dist/font-awesome/svgs/regular/user-circle.svg delete mode 100644 dist/font-awesome/svgs/regular/user.svg delete mode 100644 dist/font-awesome/svgs/regular/window-close.svg delete mode 100644 dist/font-awesome/svgs/regular/window-maximize.svg delete mode 100644 dist/font-awesome/svgs/regular/window-minimize.svg delete mode 100644 dist/font-awesome/svgs/regular/window-restore.svg delete mode 100644 dist/font-awesome/svgs/solid/ad.svg delete mode 100644 dist/font-awesome/svgs/solid/address-book.svg delete mode 100644 dist/font-awesome/svgs/solid/address-card.svg delete mode 100644 dist/font-awesome/svgs/solid/adjust.svg delete mode 100644 dist/font-awesome/svgs/solid/air-freshener.svg delete mode 100644 dist/font-awesome/svgs/solid/align-center.svg delete mode 100644 dist/font-awesome/svgs/solid/align-justify.svg delete mode 100644 dist/font-awesome/svgs/solid/align-left.svg delete mode 100644 dist/font-awesome/svgs/solid/align-right.svg delete mode 100644 dist/font-awesome/svgs/solid/allergies.svg delete mode 100644 dist/font-awesome/svgs/solid/ambulance.svg delete mode 100644 dist/font-awesome/svgs/solid/american-sign-language-interpreting.svg delete mode 100644 dist/font-awesome/svgs/solid/anchor.svg delete mode 100644 dist/font-awesome/svgs/solid/angle-double-down.svg delete mode 100644 dist/font-awesome/svgs/solid/angle-double-left.svg delete mode 100644 dist/font-awesome/svgs/solid/angle-double-right.svg delete mode 100644 dist/font-awesome/svgs/solid/angle-double-up.svg delete mode 100644 dist/font-awesome/svgs/solid/angle-down.svg delete mode 100644 dist/font-awesome/svgs/solid/angle-left.svg delete mode 100644 dist/font-awesome/svgs/solid/angle-right.svg delete mode 100644 dist/font-awesome/svgs/solid/angle-up.svg delete mode 100644 dist/font-awesome/svgs/solid/angry.svg delete mode 100644 dist/font-awesome/svgs/solid/ankh.svg delete mode 100644 dist/font-awesome/svgs/solid/apple-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/archive.svg delete mode 100644 dist/font-awesome/svgs/solid/archway.svg delete mode 100644 dist/font-awesome/svgs/solid/arrow-alt-circle-down.svg delete mode 100644 dist/font-awesome/svgs/solid/arrow-alt-circle-left.svg delete mode 100644 dist/font-awesome/svgs/solid/arrow-alt-circle-right.svg delete mode 100644 dist/font-awesome/svgs/solid/arrow-alt-circle-up.svg delete mode 100644 dist/font-awesome/svgs/solid/arrow-circle-down.svg delete mode 100644 dist/font-awesome/svgs/solid/arrow-circle-left.svg delete mode 100644 dist/font-awesome/svgs/solid/arrow-circle-right.svg delete mode 100644 dist/font-awesome/svgs/solid/arrow-circle-up.svg delete mode 100644 dist/font-awesome/svgs/solid/arrow-down.svg delete mode 100644 dist/font-awesome/svgs/solid/arrow-left.svg delete mode 100644 dist/font-awesome/svgs/solid/arrow-right.svg delete mode 100644 dist/font-awesome/svgs/solid/arrow-up.svg delete mode 100644 dist/font-awesome/svgs/solid/arrows-alt-h.svg delete mode 100644 dist/font-awesome/svgs/solid/arrows-alt-v.svg delete mode 100644 dist/font-awesome/svgs/solid/arrows-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/assistive-listening-systems.svg delete mode 100644 dist/font-awesome/svgs/solid/asterisk.svg delete mode 100644 dist/font-awesome/svgs/solid/at.svg delete mode 100644 dist/font-awesome/svgs/solid/atlas.svg delete mode 100644 dist/font-awesome/svgs/solid/atom.svg delete mode 100644 dist/font-awesome/svgs/solid/audio-description.svg delete mode 100644 dist/font-awesome/svgs/solid/award.svg delete mode 100644 dist/font-awesome/svgs/solid/baby-carriage.svg delete mode 100644 dist/font-awesome/svgs/solid/baby.svg delete mode 100644 dist/font-awesome/svgs/solid/backspace.svg delete mode 100644 dist/font-awesome/svgs/solid/backward.svg delete mode 100644 dist/font-awesome/svgs/solid/bacon.svg delete mode 100644 dist/font-awesome/svgs/solid/balance-scale.svg delete mode 100644 dist/font-awesome/svgs/solid/ban.svg delete mode 100644 dist/font-awesome/svgs/solid/band-aid.svg delete mode 100644 dist/font-awesome/svgs/solid/barcode.svg delete mode 100644 dist/font-awesome/svgs/solid/bars.svg delete mode 100644 dist/font-awesome/svgs/solid/baseball-ball.svg delete mode 100644 dist/font-awesome/svgs/solid/basketball-ball.svg delete mode 100644 dist/font-awesome/svgs/solid/bath.svg delete mode 100644 dist/font-awesome/svgs/solid/battery-empty.svg delete mode 100644 dist/font-awesome/svgs/solid/battery-full.svg delete mode 100644 dist/font-awesome/svgs/solid/battery-half.svg delete mode 100644 dist/font-awesome/svgs/solid/battery-quarter.svg delete mode 100644 dist/font-awesome/svgs/solid/battery-three-quarters.svg delete mode 100644 dist/font-awesome/svgs/solid/bed.svg delete mode 100644 dist/font-awesome/svgs/solid/beer.svg delete mode 100644 dist/font-awesome/svgs/solid/bell-slash.svg delete mode 100644 dist/font-awesome/svgs/solid/bell.svg delete mode 100644 dist/font-awesome/svgs/solid/bezier-curve.svg delete mode 100644 dist/font-awesome/svgs/solid/bible.svg delete mode 100644 dist/font-awesome/svgs/solid/bicycle.svg delete mode 100644 dist/font-awesome/svgs/solid/binoculars.svg delete mode 100644 dist/font-awesome/svgs/solid/biohazard.svg delete mode 100644 dist/font-awesome/svgs/solid/birthday-cake.svg delete mode 100644 dist/font-awesome/svgs/solid/blender-phone.svg delete mode 100644 dist/font-awesome/svgs/solid/blender.svg delete mode 100644 dist/font-awesome/svgs/solid/blind.svg delete mode 100644 dist/font-awesome/svgs/solid/blog.svg delete mode 100644 dist/font-awesome/svgs/solid/bold.svg delete mode 100644 dist/font-awesome/svgs/solid/bolt.svg delete mode 100644 dist/font-awesome/svgs/solid/bomb.svg delete mode 100644 dist/font-awesome/svgs/solid/bone.svg delete mode 100644 dist/font-awesome/svgs/solid/bong.svg delete mode 100644 dist/font-awesome/svgs/solid/book-dead.svg delete mode 100644 dist/font-awesome/svgs/solid/book-medical.svg delete mode 100644 dist/font-awesome/svgs/solid/book-open.svg delete mode 100644 dist/font-awesome/svgs/solid/book-reader.svg delete mode 100644 dist/font-awesome/svgs/solid/book.svg delete mode 100644 dist/font-awesome/svgs/solid/bookmark.svg delete mode 100644 dist/font-awesome/svgs/solid/bowling-ball.svg delete mode 100644 dist/font-awesome/svgs/solid/box-open.svg delete mode 100644 dist/font-awesome/svgs/solid/box.svg delete mode 100644 dist/font-awesome/svgs/solid/boxes.svg delete mode 100644 dist/font-awesome/svgs/solid/braille.svg delete mode 100644 dist/font-awesome/svgs/solid/brain.svg delete mode 100644 dist/font-awesome/svgs/solid/bread-slice.svg delete mode 100644 dist/font-awesome/svgs/solid/briefcase-medical.svg delete mode 100644 dist/font-awesome/svgs/solid/briefcase.svg delete mode 100644 dist/font-awesome/svgs/solid/broadcast-tower.svg delete mode 100644 dist/font-awesome/svgs/solid/broom.svg delete mode 100644 dist/font-awesome/svgs/solid/brush.svg delete mode 100644 dist/font-awesome/svgs/solid/bug.svg delete mode 100644 dist/font-awesome/svgs/solid/building.svg delete mode 100644 dist/font-awesome/svgs/solid/bullhorn.svg delete mode 100644 dist/font-awesome/svgs/solid/bullseye.svg delete mode 100644 dist/font-awesome/svgs/solid/burn.svg delete mode 100644 dist/font-awesome/svgs/solid/bus-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/bus.svg delete mode 100644 dist/font-awesome/svgs/solid/business-time.svg delete mode 100644 dist/font-awesome/svgs/solid/calculator.svg delete mode 100644 dist/font-awesome/svgs/solid/calendar-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/calendar-check.svg delete mode 100644 dist/font-awesome/svgs/solid/calendar-day.svg delete mode 100644 dist/font-awesome/svgs/solid/calendar-minus.svg delete mode 100644 dist/font-awesome/svgs/solid/calendar-plus.svg delete mode 100644 dist/font-awesome/svgs/solid/calendar-times.svg delete mode 100644 dist/font-awesome/svgs/solid/calendar-week.svg delete mode 100644 dist/font-awesome/svgs/solid/calendar.svg delete mode 100644 dist/font-awesome/svgs/solid/camera-retro.svg delete mode 100644 dist/font-awesome/svgs/solid/camera.svg delete mode 100644 dist/font-awesome/svgs/solid/campground.svg delete mode 100644 dist/font-awesome/svgs/solid/candy-cane.svg delete mode 100644 dist/font-awesome/svgs/solid/cannabis.svg delete mode 100644 dist/font-awesome/svgs/solid/capsules.svg delete mode 100644 dist/font-awesome/svgs/solid/car-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/car-battery.svg delete mode 100644 dist/font-awesome/svgs/solid/car-crash.svg delete mode 100644 dist/font-awesome/svgs/solid/car-side.svg delete mode 100644 dist/font-awesome/svgs/solid/car.svg delete mode 100644 dist/font-awesome/svgs/solid/caret-down.svg delete mode 100644 dist/font-awesome/svgs/solid/caret-left.svg delete mode 100644 dist/font-awesome/svgs/solid/caret-right.svg delete mode 100644 dist/font-awesome/svgs/solid/caret-square-down.svg delete mode 100644 dist/font-awesome/svgs/solid/caret-square-left.svg delete mode 100644 dist/font-awesome/svgs/solid/caret-square-right.svg delete mode 100644 dist/font-awesome/svgs/solid/caret-square-up.svg delete mode 100644 dist/font-awesome/svgs/solid/caret-up.svg delete mode 100644 dist/font-awesome/svgs/solid/carrot.svg delete mode 100644 dist/font-awesome/svgs/solid/cart-arrow-down.svg delete mode 100644 dist/font-awesome/svgs/solid/cart-plus.svg delete mode 100644 dist/font-awesome/svgs/solid/cash-register.svg delete mode 100644 dist/font-awesome/svgs/solid/cat.svg delete mode 100644 dist/font-awesome/svgs/solid/certificate.svg delete mode 100644 dist/font-awesome/svgs/solid/chair.svg delete mode 100644 dist/font-awesome/svgs/solid/chalkboard-teacher.svg delete mode 100644 dist/font-awesome/svgs/solid/chalkboard.svg delete mode 100644 dist/font-awesome/svgs/solid/charging-station.svg delete mode 100644 dist/font-awesome/svgs/solid/chart-area.svg delete mode 100644 dist/font-awesome/svgs/solid/chart-bar.svg delete mode 100644 dist/font-awesome/svgs/solid/chart-line.svg delete mode 100644 dist/font-awesome/svgs/solid/chart-pie.svg delete mode 100644 dist/font-awesome/svgs/solid/check-circle.svg delete mode 100644 dist/font-awesome/svgs/solid/check-double.svg delete mode 100644 dist/font-awesome/svgs/solid/check-square.svg delete mode 100644 dist/font-awesome/svgs/solid/check.svg delete mode 100644 dist/font-awesome/svgs/solid/cheese.svg delete mode 100644 dist/font-awesome/svgs/solid/chess-bishop.svg delete mode 100644 dist/font-awesome/svgs/solid/chess-board.svg delete mode 100644 dist/font-awesome/svgs/solid/chess-king.svg delete mode 100644 dist/font-awesome/svgs/solid/chess-knight.svg delete mode 100644 dist/font-awesome/svgs/solid/chess-pawn.svg delete mode 100644 dist/font-awesome/svgs/solid/chess-queen.svg delete mode 100644 dist/font-awesome/svgs/solid/chess-rook.svg delete mode 100644 dist/font-awesome/svgs/solid/chess.svg delete mode 100644 dist/font-awesome/svgs/solid/chevron-circle-down.svg delete mode 100644 dist/font-awesome/svgs/solid/chevron-circle-left.svg delete mode 100644 dist/font-awesome/svgs/solid/chevron-circle-right.svg delete mode 100644 dist/font-awesome/svgs/solid/chevron-circle-up.svg delete mode 100644 dist/font-awesome/svgs/solid/chevron-down.svg delete mode 100644 dist/font-awesome/svgs/solid/chevron-left.svg delete mode 100644 dist/font-awesome/svgs/solid/chevron-right.svg delete mode 100644 dist/font-awesome/svgs/solid/chevron-up.svg delete mode 100644 dist/font-awesome/svgs/solid/child.svg delete mode 100644 dist/font-awesome/svgs/solid/church.svg delete mode 100644 dist/font-awesome/svgs/solid/circle-notch.svg delete mode 100644 dist/font-awesome/svgs/solid/circle.svg delete mode 100644 dist/font-awesome/svgs/solid/city.svg delete mode 100644 dist/font-awesome/svgs/solid/clinic-medical.svg delete mode 100644 dist/font-awesome/svgs/solid/clipboard-check.svg delete mode 100644 dist/font-awesome/svgs/solid/clipboard-list.svg delete mode 100644 dist/font-awesome/svgs/solid/clipboard.svg delete mode 100644 dist/font-awesome/svgs/solid/clock.svg delete mode 100644 dist/font-awesome/svgs/solid/clone.svg delete mode 100644 dist/font-awesome/svgs/solid/closed-captioning.svg delete mode 100644 dist/font-awesome/svgs/solid/cloud-download-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/cloud-meatball.svg delete mode 100644 dist/font-awesome/svgs/solid/cloud-moon-rain.svg delete mode 100644 dist/font-awesome/svgs/solid/cloud-moon.svg delete mode 100644 dist/font-awesome/svgs/solid/cloud-rain.svg delete mode 100644 dist/font-awesome/svgs/solid/cloud-showers-heavy.svg delete mode 100644 dist/font-awesome/svgs/solid/cloud-sun-rain.svg delete mode 100644 dist/font-awesome/svgs/solid/cloud-sun.svg delete mode 100644 dist/font-awesome/svgs/solid/cloud-upload-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/cloud.svg delete mode 100644 dist/font-awesome/svgs/solid/cocktail.svg delete mode 100644 dist/font-awesome/svgs/solid/code-branch.svg delete mode 100644 dist/font-awesome/svgs/solid/code.svg delete mode 100644 dist/font-awesome/svgs/solid/coffee.svg delete mode 100644 dist/font-awesome/svgs/solid/cog.svg delete mode 100644 dist/font-awesome/svgs/solid/cogs.svg delete mode 100644 dist/font-awesome/svgs/solid/coins.svg delete mode 100644 dist/font-awesome/svgs/solid/columns.svg delete mode 100644 dist/font-awesome/svgs/solid/comment-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/comment-dollar.svg delete mode 100644 dist/font-awesome/svgs/solid/comment-dots.svg delete mode 100644 dist/font-awesome/svgs/solid/comment-medical.svg delete mode 100644 dist/font-awesome/svgs/solid/comment-slash.svg delete mode 100644 dist/font-awesome/svgs/solid/comment.svg delete mode 100644 dist/font-awesome/svgs/solid/comments-dollar.svg delete mode 100644 dist/font-awesome/svgs/solid/comments.svg delete mode 100644 dist/font-awesome/svgs/solid/compact-disc.svg delete mode 100644 dist/font-awesome/svgs/solid/compass.svg delete mode 100644 dist/font-awesome/svgs/solid/compress-arrows-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/compress.svg delete mode 100644 dist/font-awesome/svgs/solid/concierge-bell.svg delete mode 100644 dist/font-awesome/svgs/solid/cookie-bite.svg delete mode 100644 dist/font-awesome/svgs/solid/cookie.svg delete mode 100644 dist/font-awesome/svgs/solid/copy.svg delete mode 100644 dist/font-awesome/svgs/solid/copyright.svg delete mode 100644 dist/font-awesome/svgs/solid/couch.svg delete mode 100644 dist/font-awesome/svgs/solid/credit-card.svg delete mode 100644 dist/font-awesome/svgs/solid/crop-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/crop.svg delete mode 100644 dist/font-awesome/svgs/solid/cross.svg delete mode 100644 dist/font-awesome/svgs/solid/crosshairs.svg delete mode 100644 dist/font-awesome/svgs/solid/crow.svg delete mode 100644 dist/font-awesome/svgs/solid/crown.svg delete mode 100644 dist/font-awesome/svgs/solid/crutch.svg delete mode 100644 dist/font-awesome/svgs/solid/cube.svg delete mode 100644 dist/font-awesome/svgs/solid/cubes.svg delete mode 100644 dist/font-awesome/svgs/solid/cut.svg delete mode 100644 dist/font-awesome/svgs/solid/database.svg delete mode 100644 dist/font-awesome/svgs/solid/deaf.svg delete mode 100644 dist/font-awesome/svgs/solid/democrat.svg delete mode 100644 dist/font-awesome/svgs/solid/desktop.svg delete mode 100644 dist/font-awesome/svgs/solid/dharmachakra.svg delete mode 100644 dist/font-awesome/svgs/solid/diagnoses.svg delete mode 100644 dist/font-awesome/svgs/solid/dice-d20.svg delete mode 100644 dist/font-awesome/svgs/solid/dice-d6.svg delete mode 100644 dist/font-awesome/svgs/solid/dice-five.svg delete mode 100644 dist/font-awesome/svgs/solid/dice-four.svg delete mode 100644 dist/font-awesome/svgs/solid/dice-one.svg delete mode 100644 dist/font-awesome/svgs/solid/dice-six.svg delete mode 100644 dist/font-awesome/svgs/solid/dice-three.svg delete mode 100644 dist/font-awesome/svgs/solid/dice-two.svg delete mode 100644 dist/font-awesome/svgs/solid/dice.svg delete mode 100644 dist/font-awesome/svgs/solid/digital-tachograph.svg delete mode 100644 dist/font-awesome/svgs/solid/directions.svg delete mode 100644 dist/font-awesome/svgs/solid/divide.svg delete mode 100644 dist/font-awesome/svgs/solid/dizzy.svg delete mode 100644 dist/font-awesome/svgs/solid/dna.svg delete mode 100644 dist/font-awesome/svgs/solid/dog.svg delete mode 100644 dist/font-awesome/svgs/solid/dollar-sign.svg delete mode 100644 dist/font-awesome/svgs/solid/dolly-flatbed.svg delete mode 100644 dist/font-awesome/svgs/solid/dolly.svg delete mode 100644 dist/font-awesome/svgs/solid/donate.svg delete mode 100644 dist/font-awesome/svgs/solid/door-closed.svg delete mode 100644 dist/font-awesome/svgs/solid/door-open.svg delete mode 100644 dist/font-awesome/svgs/solid/dot-circle.svg delete mode 100644 dist/font-awesome/svgs/solid/dove.svg delete mode 100644 dist/font-awesome/svgs/solid/download.svg delete mode 100644 dist/font-awesome/svgs/solid/drafting-compass.svg delete mode 100644 dist/font-awesome/svgs/solid/dragon.svg delete mode 100644 dist/font-awesome/svgs/solid/draw-polygon.svg delete mode 100644 dist/font-awesome/svgs/solid/drum-steelpan.svg delete mode 100644 dist/font-awesome/svgs/solid/drum.svg delete mode 100644 dist/font-awesome/svgs/solid/drumstick-bite.svg delete mode 100644 dist/font-awesome/svgs/solid/dumbbell.svg delete mode 100644 dist/font-awesome/svgs/solid/dumpster-fire.svg delete mode 100644 dist/font-awesome/svgs/solid/dumpster.svg delete mode 100644 dist/font-awesome/svgs/solid/dungeon.svg delete mode 100644 dist/font-awesome/svgs/solid/edit.svg delete mode 100644 dist/font-awesome/svgs/solid/egg.svg delete mode 100644 dist/font-awesome/svgs/solid/eject.svg delete mode 100644 dist/font-awesome/svgs/solid/ellipsis-h.svg delete mode 100644 dist/font-awesome/svgs/solid/ellipsis-v.svg delete mode 100644 dist/font-awesome/svgs/solid/envelope-open-text.svg delete mode 100644 dist/font-awesome/svgs/solid/envelope-open.svg delete mode 100644 dist/font-awesome/svgs/solid/envelope-square.svg delete mode 100644 dist/font-awesome/svgs/solid/envelope.svg delete mode 100644 dist/font-awesome/svgs/solid/equals.svg delete mode 100644 dist/font-awesome/svgs/solid/eraser.svg delete mode 100644 dist/font-awesome/svgs/solid/ethernet.svg delete mode 100644 dist/font-awesome/svgs/solid/euro-sign.svg delete mode 100644 dist/font-awesome/svgs/solid/exchange-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/exclamation-circle.svg delete mode 100644 dist/font-awesome/svgs/solid/exclamation-triangle.svg delete mode 100644 dist/font-awesome/svgs/solid/exclamation.svg delete mode 100644 dist/font-awesome/svgs/solid/expand-arrows-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/expand.svg delete mode 100644 dist/font-awesome/svgs/solid/external-link-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/external-link-square-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/eye-dropper.svg delete mode 100644 dist/font-awesome/svgs/solid/eye-slash.svg delete mode 100644 dist/font-awesome/svgs/solid/eye.svg delete mode 100644 dist/font-awesome/svgs/solid/fast-backward.svg delete mode 100644 dist/font-awesome/svgs/solid/fast-forward.svg delete mode 100644 dist/font-awesome/svgs/solid/fax.svg delete mode 100644 dist/font-awesome/svgs/solid/feather-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/feather.svg delete mode 100644 dist/font-awesome/svgs/solid/female.svg delete mode 100644 dist/font-awesome/svgs/solid/fighter-jet.svg delete mode 100644 dist/font-awesome/svgs/solid/file-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/file-archive.svg delete mode 100644 dist/font-awesome/svgs/solid/file-audio.svg delete mode 100644 dist/font-awesome/svgs/solid/file-code.svg delete mode 100644 dist/font-awesome/svgs/solid/file-contract.svg delete mode 100644 dist/font-awesome/svgs/solid/file-csv.svg delete mode 100644 dist/font-awesome/svgs/solid/file-download.svg delete mode 100644 dist/font-awesome/svgs/solid/file-excel.svg delete mode 100644 dist/font-awesome/svgs/solid/file-export.svg delete mode 100644 dist/font-awesome/svgs/solid/file-image.svg delete mode 100644 dist/font-awesome/svgs/solid/file-import.svg delete mode 100644 dist/font-awesome/svgs/solid/file-invoice-dollar.svg delete mode 100644 dist/font-awesome/svgs/solid/file-invoice.svg delete mode 100644 dist/font-awesome/svgs/solid/file-medical-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/file-medical.svg delete mode 100644 dist/font-awesome/svgs/solid/file-pdf.svg delete mode 100644 dist/font-awesome/svgs/solid/file-powerpoint.svg delete mode 100644 dist/font-awesome/svgs/solid/file-prescription.svg delete mode 100644 dist/font-awesome/svgs/solid/file-signature.svg delete mode 100644 dist/font-awesome/svgs/solid/file-upload.svg delete mode 100644 dist/font-awesome/svgs/solid/file-video.svg delete mode 100644 dist/font-awesome/svgs/solid/file-word.svg delete mode 100644 dist/font-awesome/svgs/solid/file.svg delete mode 100644 dist/font-awesome/svgs/solid/fill-drip.svg delete mode 100644 dist/font-awesome/svgs/solid/fill.svg delete mode 100644 dist/font-awesome/svgs/solid/film.svg delete mode 100644 dist/font-awesome/svgs/solid/filter.svg delete mode 100644 dist/font-awesome/svgs/solid/fingerprint.svg delete mode 100644 dist/font-awesome/svgs/solid/fire-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/fire-extinguisher.svg delete mode 100644 dist/font-awesome/svgs/solid/fire.svg delete mode 100644 dist/font-awesome/svgs/solid/first-aid.svg delete mode 100644 dist/font-awesome/svgs/solid/fish.svg delete mode 100644 dist/font-awesome/svgs/solid/fist-raised.svg delete mode 100644 dist/font-awesome/svgs/solid/flag-checkered.svg delete mode 100644 dist/font-awesome/svgs/solid/flag-usa.svg delete mode 100644 dist/font-awesome/svgs/solid/flag.svg delete mode 100644 dist/font-awesome/svgs/solid/flask.svg delete mode 100644 dist/font-awesome/svgs/solid/flushed.svg delete mode 100644 dist/font-awesome/svgs/solid/folder-minus.svg delete mode 100644 dist/font-awesome/svgs/solid/folder-open.svg delete mode 100644 dist/font-awesome/svgs/solid/folder-plus.svg delete mode 100644 dist/font-awesome/svgs/solid/folder.svg delete mode 100644 dist/font-awesome/svgs/solid/font-awesome-logo-full.svg delete mode 100644 dist/font-awesome/svgs/solid/font.svg delete mode 100644 dist/font-awesome/svgs/solid/football-ball.svg delete mode 100644 dist/font-awesome/svgs/solid/forward.svg delete mode 100644 dist/font-awesome/svgs/solid/frog.svg delete mode 100644 dist/font-awesome/svgs/solid/frown-open.svg delete mode 100644 dist/font-awesome/svgs/solid/frown.svg delete mode 100644 dist/font-awesome/svgs/solid/funnel-dollar.svg delete mode 100644 dist/font-awesome/svgs/solid/futbol.svg delete mode 100644 dist/font-awesome/svgs/solid/gamepad.svg delete mode 100644 dist/font-awesome/svgs/solid/gas-pump.svg delete mode 100644 dist/font-awesome/svgs/solid/gavel.svg delete mode 100644 dist/font-awesome/svgs/solid/gem.svg delete mode 100644 dist/font-awesome/svgs/solid/genderless.svg delete mode 100644 dist/font-awesome/svgs/solid/ghost.svg delete mode 100644 dist/font-awesome/svgs/solid/gift.svg delete mode 100644 dist/font-awesome/svgs/solid/gifts.svg delete mode 100644 dist/font-awesome/svgs/solid/glass-cheers.svg delete mode 100644 dist/font-awesome/svgs/solid/glass-martini-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/glass-martini.svg delete mode 100644 dist/font-awesome/svgs/solid/glass-whiskey.svg delete mode 100644 dist/font-awesome/svgs/solid/glasses.svg delete mode 100644 dist/font-awesome/svgs/solid/globe-africa.svg delete mode 100644 dist/font-awesome/svgs/solid/globe-americas.svg delete mode 100644 dist/font-awesome/svgs/solid/globe-asia.svg delete mode 100644 dist/font-awesome/svgs/solid/globe-europe.svg delete mode 100644 dist/font-awesome/svgs/solid/globe.svg delete mode 100644 dist/font-awesome/svgs/solid/golf-ball.svg delete mode 100644 dist/font-awesome/svgs/solid/gopuram.svg delete mode 100644 dist/font-awesome/svgs/solid/graduation-cap.svg delete mode 100644 dist/font-awesome/svgs/solid/greater-than-equal.svg delete mode 100644 dist/font-awesome/svgs/solid/greater-than.svg delete mode 100644 dist/font-awesome/svgs/solid/grimace.svg delete mode 100644 dist/font-awesome/svgs/solid/grin-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/grin-beam-sweat.svg delete mode 100644 dist/font-awesome/svgs/solid/grin-beam.svg delete mode 100644 dist/font-awesome/svgs/solid/grin-hearts.svg delete mode 100644 dist/font-awesome/svgs/solid/grin-squint-tears.svg delete mode 100644 dist/font-awesome/svgs/solid/grin-squint.svg delete mode 100644 dist/font-awesome/svgs/solid/grin-stars.svg delete mode 100644 dist/font-awesome/svgs/solid/grin-tears.svg delete mode 100644 dist/font-awesome/svgs/solid/grin-tongue-squint.svg delete mode 100644 dist/font-awesome/svgs/solid/grin-tongue-wink.svg delete mode 100644 dist/font-awesome/svgs/solid/grin-tongue.svg delete mode 100644 dist/font-awesome/svgs/solid/grin-wink.svg delete mode 100644 dist/font-awesome/svgs/solid/grin.svg delete mode 100644 dist/font-awesome/svgs/solid/grip-horizontal.svg delete mode 100644 dist/font-awesome/svgs/solid/grip-lines-vertical.svg delete mode 100644 dist/font-awesome/svgs/solid/grip-lines.svg delete mode 100644 dist/font-awesome/svgs/solid/grip-vertical.svg delete mode 100644 dist/font-awesome/svgs/solid/guitar.svg delete mode 100644 dist/font-awesome/svgs/solid/h-square.svg delete mode 100644 dist/font-awesome/svgs/solid/hamburger.svg delete mode 100644 dist/font-awesome/svgs/solid/hammer.svg delete mode 100644 dist/font-awesome/svgs/solid/hamsa.svg delete mode 100644 dist/font-awesome/svgs/solid/hand-holding-heart.svg delete mode 100644 dist/font-awesome/svgs/solid/hand-holding-usd.svg delete mode 100644 dist/font-awesome/svgs/solid/hand-holding.svg delete mode 100644 dist/font-awesome/svgs/solid/hand-lizard.svg delete mode 100644 dist/font-awesome/svgs/solid/hand-middle-finger.svg delete mode 100644 dist/font-awesome/svgs/solid/hand-paper.svg delete mode 100644 dist/font-awesome/svgs/solid/hand-peace.svg delete mode 100644 dist/font-awesome/svgs/solid/hand-point-down.svg delete mode 100644 dist/font-awesome/svgs/solid/hand-point-left.svg delete mode 100644 dist/font-awesome/svgs/solid/hand-point-right.svg delete mode 100644 dist/font-awesome/svgs/solid/hand-point-up.svg delete mode 100644 dist/font-awesome/svgs/solid/hand-pointer.svg delete mode 100644 dist/font-awesome/svgs/solid/hand-rock.svg delete mode 100644 dist/font-awesome/svgs/solid/hand-scissors.svg delete mode 100644 dist/font-awesome/svgs/solid/hand-spock.svg delete mode 100644 dist/font-awesome/svgs/solid/hands-helping.svg delete mode 100644 dist/font-awesome/svgs/solid/hands.svg delete mode 100644 dist/font-awesome/svgs/solid/handshake.svg delete mode 100644 dist/font-awesome/svgs/solid/hanukiah.svg delete mode 100644 dist/font-awesome/svgs/solid/hard-hat.svg delete mode 100644 dist/font-awesome/svgs/solid/hashtag.svg delete mode 100644 dist/font-awesome/svgs/solid/hat-wizard.svg delete mode 100644 dist/font-awesome/svgs/solid/haykal.svg delete mode 100644 dist/font-awesome/svgs/solid/hdd.svg delete mode 100644 dist/font-awesome/svgs/solid/heading.svg delete mode 100644 dist/font-awesome/svgs/solid/headphones-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/headphones.svg delete mode 100644 dist/font-awesome/svgs/solid/headset.svg delete mode 100644 dist/font-awesome/svgs/solid/heart-broken.svg delete mode 100644 dist/font-awesome/svgs/solid/heart.svg delete mode 100644 dist/font-awesome/svgs/solid/heartbeat.svg delete mode 100644 dist/font-awesome/svgs/solid/helicopter.svg delete mode 100644 dist/font-awesome/svgs/solid/highlighter.svg delete mode 100644 dist/font-awesome/svgs/solid/hiking.svg delete mode 100644 dist/font-awesome/svgs/solid/hippo.svg delete mode 100644 dist/font-awesome/svgs/solid/history.svg delete mode 100644 dist/font-awesome/svgs/solid/hockey-puck.svg delete mode 100644 dist/font-awesome/svgs/solid/holly-berry.svg delete mode 100644 dist/font-awesome/svgs/solid/home.svg delete mode 100644 dist/font-awesome/svgs/solid/horse-head.svg delete mode 100644 dist/font-awesome/svgs/solid/horse.svg delete mode 100644 dist/font-awesome/svgs/solid/hospital-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/hospital-symbol.svg delete mode 100644 dist/font-awesome/svgs/solid/hospital.svg delete mode 100644 dist/font-awesome/svgs/solid/hot-tub.svg delete mode 100644 dist/font-awesome/svgs/solid/hotdog.svg delete mode 100644 dist/font-awesome/svgs/solid/hotel.svg delete mode 100644 dist/font-awesome/svgs/solid/hourglass-end.svg delete mode 100644 dist/font-awesome/svgs/solid/hourglass-half.svg delete mode 100644 dist/font-awesome/svgs/solid/hourglass-start.svg delete mode 100644 dist/font-awesome/svgs/solid/hourglass.svg delete mode 100644 dist/font-awesome/svgs/solid/house-damage.svg delete mode 100644 dist/font-awesome/svgs/solid/hryvnia.svg delete mode 100644 dist/font-awesome/svgs/solid/i-cursor.svg delete mode 100644 dist/font-awesome/svgs/solid/ice-cream.svg delete mode 100644 dist/font-awesome/svgs/solid/icicles.svg delete mode 100644 dist/font-awesome/svgs/solid/id-badge.svg delete mode 100644 dist/font-awesome/svgs/solid/id-card-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/id-card.svg delete mode 100644 dist/font-awesome/svgs/solid/igloo.svg delete mode 100644 dist/font-awesome/svgs/solid/image.svg delete mode 100644 dist/font-awesome/svgs/solid/images.svg delete mode 100644 dist/font-awesome/svgs/solid/inbox.svg delete mode 100644 dist/font-awesome/svgs/solid/indent.svg delete mode 100644 dist/font-awesome/svgs/solid/industry.svg delete mode 100644 dist/font-awesome/svgs/solid/infinity.svg delete mode 100644 dist/font-awesome/svgs/solid/info-circle.svg delete mode 100644 dist/font-awesome/svgs/solid/info.svg delete mode 100644 dist/font-awesome/svgs/solid/italic.svg delete mode 100644 dist/font-awesome/svgs/solid/jedi.svg delete mode 100644 dist/font-awesome/svgs/solid/joint.svg delete mode 100644 dist/font-awesome/svgs/solid/journal-whills.svg delete mode 100644 dist/font-awesome/svgs/solid/kaaba.svg delete mode 100644 dist/font-awesome/svgs/solid/key.svg delete mode 100644 dist/font-awesome/svgs/solid/keyboard.svg delete mode 100644 dist/font-awesome/svgs/solid/khanda.svg delete mode 100644 dist/font-awesome/svgs/solid/kiss-beam.svg delete mode 100644 dist/font-awesome/svgs/solid/kiss-wink-heart.svg delete mode 100644 dist/font-awesome/svgs/solid/kiss.svg delete mode 100644 dist/font-awesome/svgs/solid/kiwi-bird.svg delete mode 100644 dist/font-awesome/svgs/solid/landmark.svg delete mode 100644 dist/font-awesome/svgs/solid/language.svg delete mode 100644 dist/font-awesome/svgs/solid/laptop-code.svg delete mode 100644 dist/font-awesome/svgs/solid/laptop-medical.svg delete mode 100644 dist/font-awesome/svgs/solid/laptop.svg delete mode 100644 dist/font-awesome/svgs/solid/laugh-beam.svg delete mode 100644 dist/font-awesome/svgs/solid/laugh-squint.svg delete mode 100644 dist/font-awesome/svgs/solid/laugh-wink.svg delete mode 100644 dist/font-awesome/svgs/solid/laugh.svg delete mode 100644 dist/font-awesome/svgs/solid/layer-group.svg delete mode 100644 dist/font-awesome/svgs/solid/leaf.svg delete mode 100644 dist/font-awesome/svgs/solid/lemon.svg delete mode 100644 dist/font-awesome/svgs/solid/less-than-equal.svg delete mode 100644 dist/font-awesome/svgs/solid/less-than.svg delete mode 100644 dist/font-awesome/svgs/solid/level-down-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/level-up-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/life-ring.svg delete mode 100644 dist/font-awesome/svgs/solid/lightbulb.svg delete mode 100644 dist/font-awesome/svgs/solid/link.svg delete mode 100644 dist/font-awesome/svgs/solid/lira-sign.svg delete mode 100644 dist/font-awesome/svgs/solid/list-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/list-ol.svg delete mode 100644 dist/font-awesome/svgs/solid/list-ul.svg delete mode 100644 dist/font-awesome/svgs/solid/list.svg delete mode 100644 dist/font-awesome/svgs/solid/location-arrow.svg delete mode 100644 dist/font-awesome/svgs/solid/lock-open.svg delete mode 100644 dist/font-awesome/svgs/solid/lock.svg delete mode 100644 dist/font-awesome/svgs/solid/long-arrow-alt-down.svg delete mode 100644 dist/font-awesome/svgs/solid/long-arrow-alt-left.svg delete mode 100644 dist/font-awesome/svgs/solid/long-arrow-alt-right.svg delete mode 100644 dist/font-awesome/svgs/solid/long-arrow-alt-up.svg delete mode 100644 dist/font-awesome/svgs/solid/low-vision.svg delete mode 100644 dist/font-awesome/svgs/solid/luggage-cart.svg delete mode 100644 dist/font-awesome/svgs/solid/magic.svg delete mode 100644 dist/font-awesome/svgs/solid/magnet.svg delete mode 100644 dist/font-awesome/svgs/solid/mail-bulk.svg delete mode 100644 dist/font-awesome/svgs/solid/male.svg delete mode 100644 dist/font-awesome/svgs/solid/map-marked-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/map-marked.svg delete mode 100644 dist/font-awesome/svgs/solid/map-marker-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/map-marker.svg delete mode 100644 dist/font-awesome/svgs/solid/map-pin.svg delete mode 100644 dist/font-awesome/svgs/solid/map-signs.svg delete mode 100644 dist/font-awesome/svgs/solid/map.svg delete mode 100644 dist/font-awesome/svgs/solid/marker.svg delete mode 100644 dist/font-awesome/svgs/solid/mars-double.svg delete mode 100644 dist/font-awesome/svgs/solid/mars-stroke-h.svg delete mode 100644 dist/font-awesome/svgs/solid/mars-stroke-v.svg delete mode 100644 dist/font-awesome/svgs/solid/mars-stroke.svg delete mode 100644 dist/font-awesome/svgs/solid/mars.svg delete mode 100644 dist/font-awesome/svgs/solid/mask.svg delete mode 100644 dist/font-awesome/svgs/solid/medal.svg delete mode 100644 dist/font-awesome/svgs/solid/medkit.svg delete mode 100644 dist/font-awesome/svgs/solid/meh-blank.svg delete mode 100644 dist/font-awesome/svgs/solid/meh-rolling-eyes.svg delete mode 100644 dist/font-awesome/svgs/solid/meh.svg delete mode 100644 dist/font-awesome/svgs/solid/memory.svg delete mode 100644 dist/font-awesome/svgs/solid/menorah.svg delete mode 100644 dist/font-awesome/svgs/solid/mercury.svg delete mode 100644 dist/font-awesome/svgs/solid/meteor.svg delete mode 100644 dist/font-awesome/svgs/solid/microchip.svg delete mode 100644 dist/font-awesome/svgs/solid/microphone-alt-slash.svg delete mode 100644 dist/font-awesome/svgs/solid/microphone-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/microphone-slash.svg delete mode 100644 dist/font-awesome/svgs/solid/microphone.svg delete mode 100644 dist/font-awesome/svgs/solid/microscope.svg delete mode 100644 dist/font-awesome/svgs/solid/minus-circle.svg delete mode 100644 dist/font-awesome/svgs/solid/minus-square.svg delete mode 100644 dist/font-awesome/svgs/solid/minus.svg delete mode 100644 dist/font-awesome/svgs/solid/mitten.svg delete mode 100644 dist/font-awesome/svgs/solid/mobile-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/mobile.svg delete mode 100644 dist/font-awesome/svgs/solid/money-bill-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/money-bill-wave-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/money-bill-wave.svg delete mode 100644 dist/font-awesome/svgs/solid/money-bill.svg delete mode 100644 dist/font-awesome/svgs/solid/money-check-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/money-check.svg delete mode 100644 dist/font-awesome/svgs/solid/monument.svg delete mode 100644 dist/font-awesome/svgs/solid/moon.svg delete mode 100644 dist/font-awesome/svgs/solid/mortar-pestle.svg delete mode 100644 dist/font-awesome/svgs/solid/mosque.svg delete mode 100644 dist/font-awesome/svgs/solid/motorcycle.svg delete mode 100644 dist/font-awesome/svgs/solid/mountain.svg delete mode 100644 dist/font-awesome/svgs/solid/mouse-pointer.svg delete mode 100644 dist/font-awesome/svgs/solid/mug-hot.svg delete mode 100644 dist/font-awesome/svgs/solid/music.svg delete mode 100644 dist/font-awesome/svgs/solid/network-wired.svg delete mode 100644 dist/font-awesome/svgs/solid/neuter.svg delete mode 100644 dist/font-awesome/svgs/solid/newspaper.svg delete mode 100644 dist/font-awesome/svgs/solid/not-equal.svg delete mode 100644 dist/font-awesome/svgs/solid/notes-medical.svg delete mode 100644 dist/font-awesome/svgs/solid/object-group.svg delete mode 100644 dist/font-awesome/svgs/solid/object-ungroup.svg delete mode 100644 dist/font-awesome/svgs/solid/oil-can.svg delete mode 100644 dist/font-awesome/svgs/solid/om.svg delete mode 100644 dist/font-awesome/svgs/solid/otter.svg delete mode 100644 dist/font-awesome/svgs/solid/outdent.svg delete mode 100644 dist/font-awesome/svgs/solid/pager.svg delete mode 100644 dist/font-awesome/svgs/solid/paint-brush.svg delete mode 100644 dist/font-awesome/svgs/solid/paint-roller.svg delete mode 100644 dist/font-awesome/svgs/solid/palette.svg delete mode 100644 dist/font-awesome/svgs/solid/pallet.svg delete mode 100644 dist/font-awesome/svgs/solid/paper-plane.svg delete mode 100644 dist/font-awesome/svgs/solid/paperclip.svg delete mode 100644 dist/font-awesome/svgs/solid/parachute-box.svg delete mode 100644 dist/font-awesome/svgs/solid/paragraph.svg delete mode 100644 dist/font-awesome/svgs/solid/parking.svg delete mode 100644 dist/font-awesome/svgs/solid/passport.svg delete mode 100644 dist/font-awesome/svgs/solid/pastafarianism.svg delete mode 100644 dist/font-awesome/svgs/solid/paste.svg delete mode 100644 dist/font-awesome/svgs/solid/pause-circle.svg delete mode 100644 dist/font-awesome/svgs/solid/pause.svg delete mode 100644 dist/font-awesome/svgs/solid/paw.svg delete mode 100644 dist/font-awesome/svgs/solid/peace.svg delete mode 100644 dist/font-awesome/svgs/solid/pen-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/pen-fancy.svg delete mode 100644 dist/font-awesome/svgs/solid/pen-nib.svg delete mode 100644 dist/font-awesome/svgs/solid/pen-square.svg delete mode 100644 dist/font-awesome/svgs/solid/pen.svg delete mode 100644 dist/font-awesome/svgs/solid/pencil-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/pencil-ruler.svg delete mode 100644 dist/font-awesome/svgs/solid/people-carry.svg delete mode 100644 dist/font-awesome/svgs/solid/pepper-hot.svg delete mode 100644 dist/font-awesome/svgs/solid/percent.svg delete mode 100644 dist/font-awesome/svgs/solid/percentage.svg delete mode 100644 dist/font-awesome/svgs/solid/person-booth.svg delete mode 100644 dist/font-awesome/svgs/solid/phone-slash.svg delete mode 100644 dist/font-awesome/svgs/solid/phone-square.svg delete mode 100644 dist/font-awesome/svgs/solid/phone-volume.svg delete mode 100644 dist/font-awesome/svgs/solid/phone.svg delete mode 100644 dist/font-awesome/svgs/solid/piggy-bank.svg delete mode 100644 dist/font-awesome/svgs/solid/pills.svg delete mode 100644 dist/font-awesome/svgs/solid/pizza-slice.svg delete mode 100644 dist/font-awesome/svgs/solid/place-of-worship.svg delete mode 100644 dist/font-awesome/svgs/solid/plane-arrival.svg delete mode 100644 dist/font-awesome/svgs/solid/plane-departure.svg delete mode 100644 dist/font-awesome/svgs/solid/plane.svg delete mode 100644 dist/font-awesome/svgs/solid/play-circle.svg delete mode 100644 dist/font-awesome/svgs/solid/play.svg delete mode 100644 dist/font-awesome/svgs/solid/plug.svg delete mode 100644 dist/font-awesome/svgs/solid/plus-circle.svg delete mode 100644 dist/font-awesome/svgs/solid/plus-square.svg delete mode 100644 dist/font-awesome/svgs/solid/plus.svg delete mode 100644 dist/font-awesome/svgs/solid/podcast.svg delete mode 100644 dist/font-awesome/svgs/solid/poll-h.svg delete mode 100644 dist/font-awesome/svgs/solid/poll.svg delete mode 100644 dist/font-awesome/svgs/solid/poo-storm.svg delete mode 100644 dist/font-awesome/svgs/solid/poo.svg delete mode 100644 dist/font-awesome/svgs/solid/poop.svg delete mode 100644 dist/font-awesome/svgs/solid/portrait.svg delete mode 100644 dist/font-awesome/svgs/solid/pound-sign.svg delete mode 100644 dist/font-awesome/svgs/solid/power-off.svg delete mode 100644 dist/font-awesome/svgs/solid/pray.svg delete mode 100644 dist/font-awesome/svgs/solid/praying-hands.svg delete mode 100644 dist/font-awesome/svgs/solid/prescription-bottle-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/prescription-bottle.svg delete mode 100644 dist/font-awesome/svgs/solid/prescription.svg delete mode 100644 dist/font-awesome/svgs/solid/print.svg delete mode 100644 dist/font-awesome/svgs/solid/procedures.svg delete mode 100644 dist/font-awesome/svgs/solid/project-diagram.svg delete mode 100644 dist/font-awesome/svgs/solid/puzzle-piece.svg delete mode 100644 dist/font-awesome/svgs/solid/qrcode.svg delete mode 100644 dist/font-awesome/svgs/solid/question-circle.svg delete mode 100644 dist/font-awesome/svgs/solid/question.svg delete mode 100644 dist/font-awesome/svgs/solid/quidditch.svg delete mode 100644 dist/font-awesome/svgs/solid/quote-left.svg delete mode 100644 dist/font-awesome/svgs/solid/quote-right.svg delete mode 100644 dist/font-awesome/svgs/solid/quran.svg delete mode 100644 dist/font-awesome/svgs/solid/radiation-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/radiation.svg delete mode 100644 dist/font-awesome/svgs/solid/rainbow.svg delete mode 100644 dist/font-awesome/svgs/solid/random.svg delete mode 100644 dist/font-awesome/svgs/solid/receipt.svg delete mode 100644 dist/font-awesome/svgs/solid/recycle.svg delete mode 100644 dist/font-awesome/svgs/solid/redo-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/redo.svg delete mode 100644 dist/font-awesome/svgs/solid/registered.svg delete mode 100644 dist/font-awesome/svgs/solid/reply-all.svg delete mode 100644 dist/font-awesome/svgs/solid/reply.svg delete mode 100644 dist/font-awesome/svgs/solid/republican.svg delete mode 100644 dist/font-awesome/svgs/solid/restroom.svg delete mode 100644 dist/font-awesome/svgs/solid/retweet.svg delete mode 100644 dist/font-awesome/svgs/solid/ribbon.svg delete mode 100644 dist/font-awesome/svgs/solid/ring.svg delete mode 100644 dist/font-awesome/svgs/solid/road.svg delete mode 100644 dist/font-awesome/svgs/solid/robot.svg delete mode 100644 dist/font-awesome/svgs/solid/rocket.svg delete mode 100644 dist/font-awesome/svgs/solid/route.svg delete mode 100644 dist/font-awesome/svgs/solid/rss-square.svg delete mode 100644 dist/font-awesome/svgs/solid/rss.svg delete mode 100644 dist/font-awesome/svgs/solid/ruble-sign.svg delete mode 100644 dist/font-awesome/svgs/solid/ruler-combined.svg delete mode 100644 dist/font-awesome/svgs/solid/ruler-horizontal.svg delete mode 100644 dist/font-awesome/svgs/solid/ruler-vertical.svg delete mode 100644 dist/font-awesome/svgs/solid/ruler.svg delete mode 100644 dist/font-awesome/svgs/solid/running.svg delete mode 100644 dist/font-awesome/svgs/solid/rupee-sign.svg delete mode 100644 dist/font-awesome/svgs/solid/sad-cry.svg delete mode 100644 dist/font-awesome/svgs/solid/sad-tear.svg delete mode 100644 dist/font-awesome/svgs/solid/satellite-dish.svg delete mode 100644 dist/font-awesome/svgs/solid/satellite.svg delete mode 100644 dist/font-awesome/svgs/solid/save.svg delete mode 100644 dist/font-awesome/svgs/solid/school.svg delete mode 100644 dist/font-awesome/svgs/solid/screwdriver.svg delete mode 100644 dist/font-awesome/svgs/solid/scroll.svg delete mode 100644 dist/font-awesome/svgs/solid/sd-card.svg delete mode 100644 dist/font-awesome/svgs/solid/search-dollar.svg delete mode 100644 dist/font-awesome/svgs/solid/search-location.svg delete mode 100644 dist/font-awesome/svgs/solid/search-minus.svg delete mode 100644 dist/font-awesome/svgs/solid/search-plus.svg delete mode 100644 dist/font-awesome/svgs/solid/search.svg delete mode 100644 dist/font-awesome/svgs/solid/seedling.svg delete mode 100644 dist/font-awesome/svgs/solid/server.svg delete mode 100644 dist/font-awesome/svgs/solid/shapes.svg delete mode 100644 dist/font-awesome/svgs/solid/share-alt-square.svg delete mode 100644 dist/font-awesome/svgs/solid/share-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/share-square.svg delete mode 100644 dist/font-awesome/svgs/solid/share.svg delete mode 100644 dist/font-awesome/svgs/solid/shekel-sign.svg delete mode 100644 dist/font-awesome/svgs/solid/shield-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/ship.svg delete mode 100644 dist/font-awesome/svgs/solid/shipping-fast.svg delete mode 100644 dist/font-awesome/svgs/solid/shoe-prints.svg delete mode 100644 dist/font-awesome/svgs/solid/shopping-bag.svg delete mode 100644 dist/font-awesome/svgs/solid/shopping-basket.svg delete mode 100644 dist/font-awesome/svgs/solid/shopping-cart.svg delete mode 100644 dist/font-awesome/svgs/solid/shower.svg delete mode 100644 dist/font-awesome/svgs/solid/shuttle-van.svg delete mode 100644 dist/font-awesome/svgs/solid/sign-in-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/sign-language.svg delete mode 100644 dist/font-awesome/svgs/solid/sign-out-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/sign.svg delete mode 100644 dist/font-awesome/svgs/solid/signal.svg delete mode 100644 dist/font-awesome/svgs/solid/signature.svg delete mode 100644 dist/font-awesome/svgs/solid/sim-card.svg delete mode 100644 dist/font-awesome/svgs/solid/sitemap.svg delete mode 100644 dist/font-awesome/svgs/solid/skating.svg delete mode 100644 dist/font-awesome/svgs/solid/skiing-nordic.svg delete mode 100644 dist/font-awesome/svgs/solid/skiing.svg delete mode 100644 dist/font-awesome/svgs/solid/skull-crossbones.svg delete mode 100644 dist/font-awesome/svgs/solid/skull.svg delete mode 100644 dist/font-awesome/svgs/solid/slash.svg delete mode 100644 dist/font-awesome/svgs/solid/sleigh.svg delete mode 100644 dist/font-awesome/svgs/solid/sliders-h.svg delete mode 100644 dist/font-awesome/svgs/solid/smile-beam.svg delete mode 100644 dist/font-awesome/svgs/solid/smile-wink.svg delete mode 100644 dist/font-awesome/svgs/solid/smile.svg delete mode 100644 dist/font-awesome/svgs/solid/smog.svg delete mode 100644 dist/font-awesome/svgs/solid/smoking-ban.svg delete mode 100644 dist/font-awesome/svgs/solid/smoking.svg delete mode 100644 dist/font-awesome/svgs/solid/sms.svg delete mode 100644 dist/font-awesome/svgs/solid/snowboarding.svg delete mode 100644 dist/font-awesome/svgs/solid/snowflake.svg delete mode 100644 dist/font-awesome/svgs/solid/snowman.svg delete mode 100644 dist/font-awesome/svgs/solid/snowplow.svg delete mode 100644 dist/font-awesome/svgs/solid/socks.svg delete mode 100644 dist/font-awesome/svgs/solid/solar-panel.svg delete mode 100644 dist/font-awesome/svgs/solid/sort-alpha-down.svg delete mode 100644 dist/font-awesome/svgs/solid/sort-alpha-up.svg delete mode 100644 dist/font-awesome/svgs/solid/sort-amount-down.svg delete mode 100644 dist/font-awesome/svgs/solid/sort-amount-up.svg delete mode 100644 dist/font-awesome/svgs/solid/sort-down.svg delete mode 100644 dist/font-awesome/svgs/solid/sort-numeric-down.svg delete mode 100644 dist/font-awesome/svgs/solid/sort-numeric-up.svg delete mode 100644 dist/font-awesome/svgs/solid/sort-up.svg delete mode 100644 dist/font-awesome/svgs/solid/sort.svg delete mode 100644 dist/font-awesome/svgs/solid/spa.svg delete mode 100644 dist/font-awesome/svgs/solid/space-shuttle.svg delete mode 100644 dist/font-awesome/svgs/solid/spider.svg delete mode 100644 dist/font-awesome/svgs/solid/spinner.svg delete mode 100644 dist/font-awesome/svgs/solid/splotch.svg delete mode 100644 dist/font-awesome/svgs/solid/spray-can.svg delete mode 100644 dist/font-awesome/svgs/solid/square-full.svg delete mode 100644 dist/font-awesome/svgs/solid/square-root-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/square.svg delete mode 100644 dist/font-awesome/svgs/solid/stamp.svg delete mode 100644 dist/font-awesome/svgs/solid/star-and-crescent.svg delete mode 100644 dist/font-awesome/svgs/solid/star-half-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/star-half.svg delete mode 100644 dist/font-awesome/svgs/solid/star-of-david.svg delete mode 100644 dist/font-awesome/svgs/solid/star-of-life.svg delete mode 100644 dist/font-awesome/svgs/solid/star.svg delete mode 100644 dist/font-awesome/svgs/solid/step-backward.svg delete mode 100644 dist/font-awesome/svgs/solid/step-forward.svg delete mode 100644 dist/font-awesome/svgs/solid/stethoscope.svg delete mode 100644 dist/font-awesome/svgs/solid/sticky-note.svg delete mode 100644 dist/font-awesome/svgs/solid/stop-circle.svg delete mode 100644 dist/font-awesome/svgs/solid/stop.svg delete mode 100644 dist/font-awesome/svgs/solid/stopwatch.svg delete mode 100644 dist/font-awesome/svgs/solid/store-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/store.svg delete mode 100644 dist/font-awesome/svgs/solid/stream.svg delete mode 100644 dist/font-awesome/svgs/solid/street-view.svg delete mode 100644 dist/font-awesome/svgs/solid/strikethrough.svg delete mode 100644 dist/font-awesome/svgs/solid/stroopwafel.svg delete mode 100644 dist/font-awesome/svgs/solid/subscript.svg delete mode 100644 dist/font-awesome/svgs/solid/subway.svg delete mode 100644 dist/font-awesome/svgs/solid/suitcase-rolling.svg delete mode 100644 dist/font-awesome/svgs/solid/suitcase.svg delete mode 100644 dist/font-awesome/svgs/solid/sun.svg delete mode 100644 dist/font-awesome/svgs/solid/superscript.svg delete mode 100644 dist/font-awesome/svgs/solid/surprise.svg delete mode 100644 dist/font-awesome/svgs/solid/swatchbook.svg delete mode 100644 dist/font-awesome/svgs/solid/swimmer.svg delete mode 100644 dist/font-awesome/svgs/solid/swimming-pool.svg delete mode 100644 dist/font-awesome/svgs/solid/synagogue.svg delete mode 100644 dist/font-awesome/svgs/solid/sync-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/sync.svg delete mode 100644 dist/font-awesome/svgs/solid/syringe.svg delete mode 100644 dist/font-awesome/svgs/solid/table-tennis.svg delete mode 100644 dist/font-awesome/svgs/solid/table.svg delete mode 100644 dist/font-awesome/svgs/solid/tablet-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/tablet.svg delete mode 100644 dist/font-awesome/svgs/solid/tablets.svg delete mode 100644 dist/font-awesome/svgs/solid/tachometer-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/tag.svg delete mode 100644 dist/font-awesome/svgs/solid/tags.svg delete mode 100644 dist/font-awesome/svgs/solid/tape.svg delete mode 100644 dist/font-awesome/svgs/solid/tasks.svg delete mode 100644 dist/font-awesome/svgs/solid/taxi.svg delete mode 100644 dist/font-awesome/svgs/solid/teeth-open.svg delete mode 100644 dist/font-awesome/svgs/solid/teeth.svg delete mode 100644 dist/font-awesome/svgs/solid/temperature-high.svg delete mode 100644 dist/font-awesome/svgs/solid/temperature-low.svg delete mode 100644 dist/font-awesome/svgs/solid/tenge.svg delete mode 100644 dist/font-awesome/svgs/solid/terminal.svg delete mode 100644 dist/font-awesome/svgs/solid/text-height.svg delete mode 100644 dist/font-awesome/svgs/solid/text-width.svg delete mode 100644 dist/font-awesome/svgs/solid/th-large.svg delete mode 100644 dist/font-awesome/svgs/solid/th-list.svg delete mode 100644 dist/font-awesome/svgs/solid/th.svg delete mode 100644 dist/font-awesome/svgs/solid/theater-masks.svg delete mode 100644 dist/font-awesome/svgs/solid/thermometer-empty.svg delete mode 100644 dist/font-awesome/svgs/solid/thermometer-full.svg delete mode 100644 dist/font-awesome/svgs/solid/thermometer-half.svg delete mode 100644 dist/font-awesome/svgs/solid/thermometer-quarter.svg delete mode 100644 dist/font-awesome/svgs/solid/thermometer-three-quarters.svg delete mode 100644 dist/font-awesome/svgs/solid/thermometer.svg delete mode 100644 dist/font-awesome/svgs/solid/thumbs-down.svg delete mode 100644 dist/font-awesome/svgs/solid/thumbs-up.svg delete mode 100644 dist/font-awesome/svgs/solid/thumbtack.svg delete mode 100644 dist/font-awesome/svgs/solid/ticket-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/times-circle.svg delete mode 100644 dist/font-awesome/svgs/solid/times.svg delete mode 100644 dist/font-awesome/svgs/solid/tint-slash.svg delete mode 100644 dist/font-awesome/svgs/solid/tint.svg delete mode 100644 dist/font-awesome/svgs/solid/tired.svg delete mode 100644 dist/font-awesome/svgs/solid/toggle-off.svg delete mode 100644 dist/font-awesome/svgs/solid/toggle-on.svg delete mode 100644 dist/font-awesome/svgs/solid/toilet-paper.svg delete mode 100644 dist/font-awesome/svgs/solid/toilet.svg delete mode 100644 dist/font-awesome/svgs/solid/toolbox.svg delete mode 100644 dist/font-awesome/svgs/solid/tools.svg delete mode 100644 dist/font-awesome/svgs/solid/tooth.svg delete mode 100644 dist/font-awesome/svgs/solid/torah.svg delete mode 100644 dist/font-awesome/svgs/solid/torii-gate.svg delete mode 100644 dist/font-awesome/svgs/solid/tractor.svg delete mode 100644 dist/font-awesome/svgs/solid/trademark.svg delete mode 100644 dist/font-awesome/svgs/solid/traffic-light.svg delete mode 100644 dist/font-awesome/svgs/solid/train.svg delete mode 100644 dist/font-awesome/svgs/solid/tram.svg delete mode 100644 dist/font-awesome/svgs/solid/transgender-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/transgender.svg delete mode 100644 dist/font-awesome/svgs/solid/trash-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/trash-restore-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/trash-restore.svg delete mode 100644 dist/font-awesome/svgs/solid/trash.svg delete mode 100644 dist/font-awesome/svgs/solid/tree.svg delete mode 100644 dist/font-awesome/svgs/solid/trophy.svg delete mode 100644 dist/font-awesome/svgs/solid/truck-loading.svg delete mode 100644 dist/font-awesome/svgs/solid/truck-monster.svg delete mode 100644 dist/font-awesome/svgs/solid/truck-moving.svg delete mode 100644 dist/font-awesome/svgs/solid/truck-pickup.svg delete mode 100644 dist/font-awesome/svgs/solid/truck.svg delete mode 100644 dist/font-awesome/svgs/solid/tshirt.svg delete mode 100644 dist/font-awesome/svgs/solid/tty.svg delete mode 100644 dist/font-awesome/svgs/solid/tv.svg delete mode 100644 dist/font-awesome/svgs/solid/umbrella-beach.svg delete mode 100644 dist/font-awesome/svgs/solid/umbrella.svg delete mode 100644 dist/font-awesome/svgs/solid/underline.svg delete mode 100644 dist/font-awesome/svgs/solid/undo-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/undo.svg delete mode 100644 dist/font-awesome/svgs/solid/universal-access.svg delete mode 100644 dist/font-awesome/svgs/solid/university.svg delete mode 100644 dist/font-awesome/svgs/solid/unlink.svg delete mode 100644 dist/font-awesome/svgs/solid/unlock-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/unlock.svg delete mode 100644 dist/font-awesome/svgs/solid/upload.svg delete mode 100644 dist/font-awesome/svgs/solid/user-alt-slash.svg delete mode 100644 dist/font-awesome/svgs/solid/user-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/user-astronaut.svg delete mode 100644 dist/font-awesome/svgs/solid/user-check.svg delete mode 100644 dist/font-awesome/svgs/solid/user-circle.svg delete mode 100644 dist/font-awesome/svgs/solid/user-clock.svg delete mode 100644 dist/font-awesome/svgs/solid/user-cog.svg delete mode 100644 dist/font-awesome/svgs/solid/user-edit.svg delete mode 100644 dist/font-awesome/svgs/solid/user-friends.svg delete mode 100644 dist/font-awesome/svgs/solid/user-graduate.svg delete mode 100644 dist/font-awesome/svgs/solid/user-injured.svg delete mode 100644 dist/font-awesome/svgs/solid/user-lock.svg delete mode 100644 dist/font-awesome/svgs/solid/user-md.svg delete mode 100644 dist/font-awesome/svgs/solid/user-minus.svg delete mode 100644 dist/font-awesome/svgs/solid/user-ninja.svg delete mode 100644 dist/font-awesome/svgs/solid/user-nurse.svg delete mode 100644 dist/font-awesome/svgs/solid/user-plus.svg delete mode 100644 dist/font-awesome/svgs/solid/user-secret.svg delete mode 100644 dist/font-awesome/svgs/solid/user-shield.svg delete mode 100644 dist/font-awesome/svgs/solid/user-slash.svg delete mode 100644 dist/font-awesome/svgs/solid/user-tag.svg delete mode 100644 dist/font-awesome/svgs/solid/user-tie.svg delete mode 100644 dist/font-awesome/svgs/solid/user-times.svg delete mode 100644 dist/font-awesome/svgs/solid/user.svg delete mode 100644 dist/font-awesome/svgs/solid/users-cog.svg delete mode 100644 dist/font-awesome/svgs/solid/users.svg delete mode 100644 dist/font-awesome/svgs/solid/utensil-spoon.svg delete mode 100644 dist/font-awesome/svgs/solid/utensils.svg delete mode 100644 dist/font-awesome/svgs/solid/vector-square.svg delete mode 100644 dist/font-awesome/svgs/solid/venus-double.svg delete mode 100644 dist/font-awesome/svgs/solid/venus-mars.svg delete mode 100644 dist/font-awesome/svgs/solid/venus.svg delete mode 100644 dist/font-awesome/svgs/solid/vial.svg delete mode 100644 dist/font-awesome/svgs/solid/vials.svg delete mode 100644 dist/font-awesome/svgs/solid/video-slash.svg delete mode 100644 dist/font-awesome/svgs/solid/video.svg delete mode 100644 dist/font-awesome/svgs/solid/vihara.svg delete mode 100644 dist/font-awesome/svgs/solid/volleyball-ball.svg delete mode 100644 dist/font-awesome/svgs/solid/volume-down.svg delete mode 100644 dist/font-awesome/svgs/solid/volume-mute.svg delete mode 100644 dist/font-awesome/svgs/solid/volume-off.svg delete mode 100644 dist/font-awesome/svgs/solid/volume-up.svg delete mode 100644 dist/font-awesome/svgs/solid/vote-yea.svg delete mode 100644 dist/font-awesome/svgs/solid/vr-cardboard.svg delete mode 100644 dist/font-awesome/svgs/solid/walking.svg delete mode 100644 dist/font-awesome/svgs/solid/wallet.svg delete mode 100644 dist/font-awesome/svgs/solid/warehouse.svg delete mode 100644 dist/font-awesome/svgs/solid/water.svg delete mode 100644 dist/font-awesome/svgs/solid/weight-hanging.svg delete mode 100644 dist/font-awesome/svgs/solid/weight.svg delete mode 100644 dist/font-awesome/svgs/solid/wheelchair.svg delete mode 100644 dist/font-awesome/svgs/solid/wifi.svg delete mode 100644 dist/font-awesome/svgs/solid/wind.svg delete mode 100644 dist/font-awesome/svgs/solid/window-close.svg delete mode 100644 dist/font-awesome/svgs/solid/window-maximize.svg delete mode 100644 dist/font-awesome/svgs/solid/window-minimize.svg delete mode 100644 dist/font-awesome/svgs/solid/window-restore.svg delete mode 100644 dist/font-awesome/svgs/solid/wine-bottle.svg delete mode 100644 dist/font-awesome/svgs/solid/wine-glass-alt.svg delete mode 100644 dist/font-awesome/svgs/solid/wine-glass.svg delete mode 100644 dist/font-awesome/svgs/solid/won-sign.svg delete mode 100644 dist/font-awesome/svgs/solid/wrench.svg delete mode 100644 dist/font-awesome/svgs/solid/x-ray.svg delete mode 100644 dist/font-awesome/svgs/solid/yen-sign.svg delete mode 100644 dist/font-awesome/svgs/solid/yin-yang.svg delete mode 100644 dist/font-awesome/webfonts/fa-brands-400.eot delete mode 100644 dist/font-awesome/webfonts/fa-brands-400.svg delete mode 100644 dist/font-awesome/webfonts/fa-brands-400.ttf delete mode 100644 dist/font-awesome/webfonts/fa-brands-400.woff delete mode 100644 dist/font-awesome/webfonts/fa-brands-400.woff2 delete mode 100644 dist/font-awesome/webfonts/fa-regular-400.eot delete mode 100644 dist/font-awesome/webfonts/fa-regular-400.svg delete mode 100644 dist/font-awesome/webfonts/fa-regular-400.ttf delete mode 100644 dist/font-awesome/webfonts/fa-regular-400.woff delete mode 100644 dist/font-awesome/webfonts/fa-regular-400.woff2 delete mode 100644 dist/font-awesome/webfonts/fa-solid-900.eot delete mode 100644 dist/font-awesome/webfonts/fa-solid-900.svg delete mode 100644 dist/font-awesome/webfonts/fa-solid-900.ttf delete mode 100644 dist/font-awesome/webfonts/fa-solid-900.woff delete mode 100644 dist/font-awesome/webfonts/fa-solid-900.woff2 delete mode 100644 dist/fonts/glyphicons-halflings-regular.eot delete mode 100644 dist/fonts/glyphicons-halflings-regular.svg delete mode 100644 dist/fonts/glyphicons-halflings-regular.ttf delete mode 100644 dist/fonts/glyphicons-halflings-regular.woff delete mode 100644 dist/js/bootstrap.bundle.js delete mode 100644 dist/js/bootstrap.bundle.js.map delete mode 100644 dist/js/bootstrap.bundle.min.js delete mode 100644 dist/js/bootstrap.bundle.min.js.map delete mode 100644 dist/js/bootstrap.js delete mode 100644 dist/js/bootstrap.js.map delete mode 100644 dist/js/bootstrap.min.js delete mode 100644 dist/js/bootstrap.min.js.map delete mode 100644 dist/js/jquery-1.11.1.min.js delete mode 100644 dist/js/npm.js delete mode 100644 dist/js/pdf-view.js delete mode 100644 dist/js/pdf.js delete mode 100644 dist/js/pdf.min.js delete mode 100644 dist/js/pdf.worker.js delete mode 100644 dist/js/pdf.worker.min.js delete mode 100644 images/NetBSD_Logo.svg delete mode 100644 images/arch.png delete mode 100644 images/archlinux-logo.svg delete mode 100644 images/cadet-gtk.svg delete mode 100644 images/ccby.png delete mode 100644 images/debian-logo.svg delete mode 100644 images/dfg_logo.gif delete mode 100644 images/fp7_logo.jpg delete mode 100644 images/gentoo-logo.svg delete mode 100644 images/gns-logo.png delete mode 100644 images/gnunet-anonymous-logo-red.png delete mode 100644 images/gnunet-anonymous-logo.png delete mode 100644 images/gnunet-anonymous-schriftzug.png delete mode 100644 images/gnunet-arch-full.svg delete mode 100644 images/gnunet-cyan-icon.png delete mode 100644 images/gnunet-historic-logo.svg delete mode 100644 images/gnunet-icon.png delete mode 100644 images/gnunet-logo-dark-only-text.png delete mode 100644 images/gnunet-logo-dark-only-text.svg delete mode 100644 images/gnunet-logo-dark-text-traditional.png delete mode 100644 images/gnunet-logo-dark-text-traditional.svg delete mode 100644 images/gnunet-logo-dark-text.png delete mode 100644 images/gnunet-logo-dark-text.svg delete mode 100644 images/gnunet-logo.png delete mode 100644 images/gnunet-logo.svg delete mode 100644 images/gnunet-red-icon.png delete mode 100644 images/gnunet-small-logo.png delete mode 100644 images/gnunet-smaller-logo.png delete mode 100644 images/groupchat.png delete mode 100644 images/languageicon.svg delete mode 100644 images/logo-2018-dold.svg delete mode 100644 images/netbsd-logo.png delete mode 100644 images/ngi_trust.png delete mode 100644 images/nlnet_logo.gif delete mode 100644 images/openwrt-logo.svg delete mode 100644 images/pdf.svg delete mode 100644 images/peplogo.svg delete mode 100644 images/reclaim_logo.png delete mode 100644 images/rff_logo.png delete mode 100644 images/secushare-0444.png delete mode 100644 images/u-n-icon.png delete mode 100644 images/ubuntu-logo32.png create mode 100644 locale/de/LC_MESSAGES/messages.mo create mode 100644 locale/en/LC_MESSAGES/messages.mo create mode 100644 locale/es/LC_MESSAGES/messages.mo create mode 100644 locale/fr/LC_MESSAGES/messages.mo create mode 100644 locale/it/LC_MESSAGES/messages.mo delete mode 100755 make_site.py delete mode 100644 news/2011-11-24-archived-vfork.html.j2 delete mode 100644 news/2013-11-15-special-use-gns.html.j2 delete mode 100644 news/2013-12-28-archived-typos-pkeys.html.j2 delete mode 100644 news/2018-06.html.j2 delete mode 100644 news/2018-07.html.j2 delete mode 100644 news/2019-0.11.0.html.j2 delete mode 100644 news/2019-0.11.1.html.j2 delete mode 100644 news/2019-0.11.2.html.j2 delete mode 100644 news/2019-0.11.3.html.j2 delete mode 100644 news/2019-0.11.4.html.j2 delete mode 100644 news/2019-0.11.5.html.j2 delete mode 100644 news/2019-0.11.6.html.j2 delete mode 100644 news/2019-0.11.7.html.j2 delete mode 100644 news/2019-0.11.8.html.j2 delete mode 100644 news/2019-0.12.0.html.j2 delete mode 100644 news/2019-0.12.1.html.j2 delete mode 100644 news/2019-02.html.j2 delete mode 100644 news/2019-06-DSTJ.html.j2 delete mode 100644 news/2019-06.html.j2 delete mode 100644 news/2019-07-GHM_Aug_2019.html.j2 delete mode 100644 news/2019-10-GNSSpec1.html.j2 delete mode 100644 news/2019-10-ICANNPanel.html.j2 delete mode 100644 news/2019-11-ICANNUpdate.html.j2 delete mode 100644 news/2019-12-UpcomingTalks.html.j2 delete mode 100644 news/2020-01-0.12.2.html.j2 delete mode 100644 news/2020-01-GNSSpec2.html.j2 delete mode 100644 news/2020-05-GHM_Jun_2020.html.j2 delete mode 100644 news/2020-06-GNSSpec3.html.j2 delete mode 100644 news/2020-07-0.13.0.html.j2 delete mode 100644 news/2020-07-0.13.1.html.j2 delete mode 100644 news/2020-08-0.13.2.html.j2 delete mode 100644 news/2020-09-0.13.3.html.j2 delete mode 100644 news/2020-11-0.14.0.html.j2 delete mode 100644 news/2020-11-GNSSpec4.html.j2 delete mode 100644 news/2021-03-0.14.1.html.j2 delete mode 100644 news/2021-03-gsoc-update.html.j2 delete mode 100644 news/2021-04-DISSENS.html.j2 delete mode 100644 news/index.html.j2 delete mode 120000 news/oldnews-2011.html.j2 delete mode 120000 news/oldnews-2013.html.j2 delete mode 100644 news/oldnews-2018.html.j2 delete mode 120000 news/oldnews-2019.html.j2 create mode 100644 static/dist/css/bootstrap-grid.css create mode 100644 static/dist/css/bootstrap-grid.css.map create mode 100644 static/dist/css/bootstrap-grid.min.css create mode 100644 static/dist/css/bootstrap-grid.min.css.map create mode 100644 static/dist/css/bootstrap-reboot.css create mode 100644 static/dist/css/bootstrap-reboot.css.map create mode 100644 static/dist/css/bootstrap-reboot.min.css create mode 100644 static/dist/css/bootstrap-reboot.min.css.map create mode 100644 static/dist/css/bootstrap.css create mode 100644 static/dist/css/bootstrap.css.map create mode 100644 static/dist/css/bootstrap.min.css create mode 100644 static/dist/css/bootstrap.min.css.map create mode 100644 static/dist/font-awesome/LICENSE.txt create mode 100644 static/dist/font-awesome/css/all.css create mode 100644 static/dist/font-awesome/css/all.min.css create mode 100644 static/dist/font-awesome/css/brands.css create mode 100644 static/dist/font-awesome/css/brands.min.css create mode 100644 static/dist/font-awesome/css/fontawesome.css create mode 100644 static/dist/font-awesome/css/fontawesome.min.css create mode 100644 static/dist/font-awesome/css/regular.css create mode 100644 static/dist/font-awesome/css/regular.min.css create mode 100644 static/dist/font-awesome/css/solid.css create mode 100644 static/dist/font-awesome/css/solid.min.css create mode 100644 static/dist/font-awesome/css/svg-with-js.css create mode 100644 static/dist/font-awesome/css/svg-with-js.min.css create mode 100644 static/dist/font-awesome/css/v4-shims.css create mode 100644 static/dist/font-awesome/css/v4-shims.min.css create mode 100644 static/dist/font-awesome/js/all.js create mode 100644 static/dist/font-awesome/js/all.min.js create mode 100644 static/dist/font-awesome/js/brands.js create mode 100644 static/dist/font-awesome/js/brands.min.js create mode 100644 static/dist/font-awesome/js/fontawesome.js create mode 100644 static/dist/font-awesome/js/fontawesome.min.js create mode 100644 static/dist/font-awesome/js/regular.js create mode 100644 static/dist/font-awesome/js/regular.min.js create mode 100644 static/dist/font-awesome/js/solid.js create mode 100644 static/dist/font-awesome/js/solid.min.js create mode 100644 static/dist/font-awesome/js/v4-shims.js create mode 100644 static/dist/font-awesome/js/v4-shims.min.js create mode 100644 static/dist/font-awesome/less/_animated.less create mode 100644 static/dist/font-awesome/less/_bordered-pulled.less create mode 100644 static/dist/font-awesome/less/_core.less create mode 100644 static/dist/font-awesome/less/_fixed-width.less create mode 100644 static/dist/font-awesome/less/_icons.less create mode 100644 static/dist/font-awesome/less/_larger.less create mode 100644 static/dist/font-awesome/less/_list.less create mode 100644 static/dist/font-awesome/less/_mixins.less create mode 100644 static/dist/font-awesome/less/_rotated-flipped.less create mode 100644 static/dist/font-awesome/less/_screen-reader.less create mode 100644 static/dist/font-awesome/less/_shims.less create mode 100644 static/dist/font-awesome/less/_stacked.less create mode 100644 static/dist/font-awesome/less/_variables.less create mode 100644 static/dist/font-awesome/less/brands.less create mode 100644 static/dist/font-awesome/less/fontawesome.less create mode 100644 static/dist/font-awesome/less/regular.less create mode 100644 static/dist/font-awesome/less/solid.less create mode 100644 static/dist/font-awesome/less/v4-shims.less create mode 100644 static/dist/font-awesome/metadata/categories.yml create mode 100644 static/dist/font-awesome/metadata/icons.json create mode 100644 static/dist/font-awesome/metadata/icons.yml create mode 100644 static/dist/font-awesome/metadata/shims.json create mode 100644 static/dist/font-awesome/metadata/shims.yml create mode 100644 static/dist/font-awesome/metadata/sponsors.yml create mode 100644 static/dist/font-awesome/scss/_animated.scss create mode 100644 static/dist/font-awesome/scss/_bordered-pulled.scss create mode 100644 static/dist/font-awesome/scss/_core.scss create mode 100644 static/dist/font-awesome/scss/_fixed-width.scss create mode 100644 static/dist/font-awesome/scss/_icons.scss create mode 100644 static/dist/font-awesome/scss/_larger.scss create mode 100644 static/dist/font-awesome/scss/_list.scss create mode 100644 static/dist/font-awesome/scss/_mixins.scss create mode 100644 static/dist/font-awesome/scss/_rotated-flipped.scss create mode 100644 static/dist/font-awesome/scss/_screen-reader.scss create mode 100644 static/dist/font-awesome/scss/_shims.scss create mode 100644 static/dist/font-awesome/scss/_stacked.scss create mode 100644 static/dist/font-awesome/scss/_variables.scss create mode 100644 static/dist/font-awesome/scss/brands.scss create mode 100644 static/dist/font-awesome/scss/fontawesome.scss create mode 100644 static/dist/font-awesome/scss/regular.scss create mode 100644 static/dist/font-awesome/scss/solid.scss create mode 100644 static/dist/font-awesome/scss/v4-shims.scss create mode 100644 static/dist/font-awesome/sprites/brands.svg create mode 100644 static/dist/font-awesome/sprites/regular.svg create mode 100644 static/dist/font-awesome/sprites/solid.svg create mode 100644 static/dist/font-awesome/svgs/brands/500px.svg create mode 100644 static/dist/font-awesome/svgs/brands/accessible-icon.svg create mode 100644 static/dist/font-awesome/svgs/brands/accusoft.svg create mode 100644 static/dist/font-awesome/svgs/brands/acquisitions-incorporated.svg create mode 100644 static/dist/font-awesome/svgs/brands/adn.svg create mode 100644 static/dist/font-awesome/svgs/brands/adobe.svg create mode 100644 static/dist/font-awesome/svgs/brands/adversal.svg create mode 100644 static/dist/font-awesome/svgs/brands/affiliatetheme.svg create mode 100644 static/dist/font-awesome/svgs/brands/algolia.svg create mode 100644 static/dist/font-awesome/svgs/brands/alipay.svg create mode 100644 static/dist/font-awesome/svgs/brands/amazon-pay.svg create mode 100644 static/dist/font-awesome/svgs/brands/amazon.svg create mode 100644 static/dist/font-awesome/svgs/brands/amilia.svg create mode 100644 static/dist/font-awesome/svgs/brands/android.svg create mode 100644 static/dist/font-awesome/svgs/brands/angellist.svg create mode 100644 static/dist/font-awesome/svgs/brands/angrycreative.svg create mode 100644 static/dist/font-awesome/svgs/brands/angular.svg create mode 100644 static/dist/font-awesome/svgs/brands/app-store-ios.svg create mode 100644 static/dist/font-awesome/svgs/brands/app-store.svg create mode 100644 static/dist/font-awesome/svgs/brands/apper.svg create mode 100644 static/dist/font-awesome/svgs/brands/apple-pay.svg create mode 100644 static/dist/font-awesome/svgs/brands/apple.svg create mode 100644 static/dist/font-awesome/svgs/brands/artstation.svg create mode 100644 static/dist/font-awesome/svgs/brands/asymmetrik.svg create mode 100644 static/dist/font-awesome/svgs/brands/atlassian.svg create mode 100644 static/dist/font-awesome/svgs/brands/audible.svg create mode 100644 static/dist/font-awesome/svgs/brands/autoprefixer.svg create mode 100644 static/dist/font-awesome/svgs/brands/avianex.svg create mode 100644 static/dist/font-awesome/svgs/brands/aviato.svg create mode 100644 static/dist/font-awesome/svgs/brands/aws.svg create mode 100644 static/dist/font-awesome/svgs/brands/bandcamp.svg create mode 100644 static/dist/font-awesome/svgs/brands/behance-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/behance.svg create mode 100644 static/dist/font-awesome/svgs/brands/bimobject.svg create mode 100644 static/dist/font-awesome/svgs/brands/bitbucket.svg create mode 100644 static/dist/font-awesome/svgs/brands/bitcoin.svg create mode 100644 static/dist/font-awesome/svgs/brands/bity.svg create mode 100644 static/dist/font-awesome/svgs/brands/black-tie.svg create mode 100644 static/dist/font-awesome/svgs/brands/blackberry.svg create mode 100644 static/dist/font-awesome/svgs/brands/blogger-b.svg create mode 100644 static/dist/font-awesome/svgs/brands/blogger.svg create mode 100644 static/dist/font-awesome/svgs/brands/bluetooth-b.svg create mode 100644 static/dist/font-awesome/svgs/brands/bluetooth.svg create mode 100644 static/dist/font-awesome/svgs/brands/btc.svg create mode 100644 static/dist/font-awesome/svgs/brands/buromobelexperte.svg create mode 100644 static/dist/font-awesome/svgs/brands/buysellads.svg create mode 100644 static/dist/font-awesome/svgs/brands/canadian-maple-leaf.svg create mode 100644 static/dist/font-awesome/svgs/brands/cc-amazon-pay.svg create mode 100644 static/dist/font-awesome/svgs/brands/cc-amex.svg create mode 100644 static/dist/font-awesome/svgs/brands/cc-apple-pay.svg create mode 100644 static/dist/font-awesome/svgs/brands/cc-diners-club.svg create mode 100644 static/dist/font-awesome/svgs/brands/cc-discover.svg create mode 100644 static/dist/font-awesome/svgs/brands/cc-jcb.svg create mode 100644 static/dist/font-awesome/svgs/brands/cc-mastercard.svg create mode 100644 static/dist/font-awesome/svgs/brands/cc-paypal.svg create mode 100644 static/dist/font-awesome/svgs/brands/cc-stripe.svg create mode 100644 static/dist/font-awesome/svgs/brands/cc-visa.svg create mode 100644 static/dist/font-awesome/svgs/brands/centercode.svg create mode 100644 static/dist/font-awesome/svgs/brands/centos.svg create mode 100644 static/dist/font-awesome/svgs/brands/chrome.svg create mode 100644 static/dist/font-awesome/svgs/brands/cloudscale.svg create mode 100644 static/dist/font-awesome/svgs/brands/cloudsmith.svg create mode 100644 static/dist/font-awesome/svgs/brands/cloudversify.svg create mode 100644 static/dist/font-awesome/svgs/brands/codepen.svg create mode 100644 static/dist/font-awesome/svgs/brands/codiepie.svg create mode 100644 static/dist/font-awesome/svgs/brands/confluence.svg create mode 100644 static/dist/font-awesome/svgs/brands/connectdevelop.svg create mode 100644 static/dist/font-awesome/svgs/brands/contao.svg create mode 100644 static/dist/font-awesome/svgs/brands/cpanel.svg create mode 100644 static/dist/font-awesome/svgs/brands/creative-commons-by.svg create mode 100644 static/dist/font-awesome/svgs/brands/creative-commons-nc-eu.svg create mode 100644 static/dist/font-awesome/svgs/brands/creative-commons-nc-jp.svg create mode 100644 static/dist/font-awesome/svgs/brands/creative-commons-nc.svg create mode 100644 static/dist/font-awesome/svgs/brands/creative-commons-nd.svg create mode 100644 static/dist/font-awesome/svgs/brands/creative-commons-pd-alt.svg create mode 100644 static/dist/font-awesome/svgs/brands/creative-commons-pd.svg create mode 100644 static/dist/font-awesome/svgs/brands/creative-commons-remix.svg create mode 100644 static/dist/font-awesome/svgs/brands/creative-commons-sa.svg create mode 100644 static/dist/font-awesome/svgs/brands/creative-commons-sampling-plus.svg create mode 100644 static/dist/font-awesome/svgs/brands/creative-commons-sampling.svg create mode 100644 static/dist/font-awesome/svgs/brands/creative-commons-share.svg create mode 100644 static/dist/font-awesome/svgs/brands/creative-commons-zero.svg create mode 100644 static/dist/font-awesome/svgs/brands/creative-commons.svg create mode 100644 static/dist/font-awesome/svgs/brands/critical-role.svg create mode 100644 static/dist/font-awesome/svgs/brands/css3-alt.svg create mode 100644 static/dist/font-awesome/svgs/brands/css3.svg create mode 100644 static/dist/font-awesome/svgs/brands/cuttlefish.svg create mode 100644 static/dist/font-awesome/svgs/brands/d-and-d-beyond.svg create mode 100644 static/dist/font-awesome/svgs/brands/d-and-d.svg create mode 100644 static/dist/font-awesome/svgs/brands/dashcube.svg create mode 100644 static/dist/font-awesome/svgs/brands/delicious.svg create mode 100644 static/dist/font-awesome/svgs/brands/deploydog.svg create mode 100644 static/dist/font-awesome/svgs/brands/deskpro.svg create mode 100644 static/dist/font-awesome/svgs/brands/dev.svg create mode 100644 static/dist/font-awesome/svgs/brands/deviantart.svg create mode 100644 static/dist/font-awesome/svgs/brands/dhl.svg create mode 100644 static/dist/font-awesome/svgs/brands/diaspora.svg create mode 100644 static/dist/font-awesome/svgs/brands/digg.svg create mode 100644 static/dist/font-awesome/svgs/brands/digital-ocean.svg create mode 100644 static/dist/font-awesome/svgs/brands/discord.svg create mode 100644 static/dist/font-awesome/svgs/brands/discourse.svg create mode 100644 static/dist/font-awesome/svgs/brands/dochub.svg create mode 100644 static/dist/font-awesome/svgs/brands/docker.svg create mode 100644 static/dist/font-awesome/svgs/brands/draft2digital.svg create mode 100644 static/dist/font-awesome/svgs/brands/dribbble-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/dribbble.svg create mode 100644 static/dist/font-awesome/svgs/brands/dropbox.svg create mode 100644 static/dist/font-awesome/svgs/brands/drupal.svg create mode 100644 static/dist/font-awesome/svgs/brands/dyalog.svg create mode 100644 static/dist/font-awesome/svgs/brands/earlybirds.svg create mode 100644 static/dist/font-awesome/svgs/brands/ebay.svg create mode 100644 static/dist/font-awesome/svgs/brands/edge.svg create mode 100644 static/dist/font-awesome/svgs/brands/elementor.svg create mode 100644 static/dist/font-awesome/svgs/brands/ello.svg create mode 100644 static/dist/font-awesome/svgs/brands/ember.svg create mode 100644 static/dist/font-awesome/svgs/brands/empire.svg create mode 100644 static/dist/font-awesome/svgs/brands/envira.svg create mode 100644 static/dist/font-awesome/svgs/brands/erlang.svg create mode 100644 static/dist/font-awesome/svgs/brands/ethereum.svg create mode 100644 static/dist/font-awesome/svgs/brands/etsy.svg create mode 100644 static/dist/font-awesome/svgs/brands/expeditedssl.svg create mode 100644 static/dist/font-awesome/svgs/brands/facebook-f.svg create mode 100644 static/dist/font-awesome/svgs/brands/facebook-messenger.svg create mode 100644 static/dist/font-awesome/svgs/brands/facebook-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/facebook.svg create mode 100644 static/dist/font-awesome/svgs/brands/fantasy-flight-games.svg create mode 100644 static/dist/font-awesome/svgs/brands/fedex.svg create mode 100644 static/dist/font-awesome/svgs/brands/fedora.svg create mode 100644 static/dist/font-awesome/svgs/brands/figma.svg create mode 100644 static/dist/font-awesome/svgs/brands/firefox.svg create mode 100644 static/dist/font-awesome/svgs/brands/first-order-alt.svg create mode 100644 static/dist/font-awesome/svgs/brands/first-order.svg create mode 100644 static/dist/font-awesome/svgs/brands/firstdraft.svg create mode 100644 static/dist/font-awesome/svgs/brands/flickr.svg create mode 100644 static/dist/font-awesome/svgs/brands/flipboard.svg create mode 100644 static/dist/font-awesome/svgs/brands/fly.svg create mode 100644 static/dist/font-awesome/svgs/brands/font-awesome-alt.svg create mode 100644 static/dist/font-awesome/svgs/brands/font-awesome-flag.svg create mode 100644 static/dist/font-awesome/svgs/brands/font-awesome-logo-full.svg create mode 100644 static/dist/font-awesome/svgs/brands/font-awesome.svg create mode 100644 static/dist/font-awesome/svgs/brands/fonticons-fi.svg create mode 100644 static/dist/font-awesome/svgs/brands/fonticons.svg create mode 100644 static/dist/font-awesome/svgs/brands/fort-awesome-alt.svg create mode 100644 static/dist/font-awesome/svgs/brands/fort-awesome.svg create mode 100644 static/dist/font-awesome/svgs/brands/forumbee.svg create mode 100644 static/dist/font-awesome/svgs/brands/foursquare.svg create mode 100644 static/dist/font-awesome/svgs/brands/free-code-camp.svg create mode 100644 static/dist/font-awesome/svgs/brands/freebsd.svg create mode 100644 static/dist/font-awesome/svgs/brands/fulcrum.svg create mode 100644 static/dist/font-awesome/svgs/brands/galactic-republic.svg create mode 100644 static/dist/font-awesome/svgs/brands/galactic-senate.svg create mode 100644 static/dist/font-awesome/svgs/brands/get-pocket.svg create mode 100644 static/dist/font-awesome/svgs/brands/gg-circle.svg create mode 100644 static/dist/font-awesome/svgs/brands/gg.svg create mode 100644 static/dist/font-awesome/svgs/brands/git-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/git.svg create mode 100644 static/dist/font-awesome/svgs/brands/github-alt.svg create mode 100644 static/dist/font-awesome/svgs/brands/github-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/github.svg create mode 100644 static/dist/font-awesome/svgs/brands/gitkraken.svg create mode 100644 static/dist/font-awesome/svgs/brands/gitlab.svg create mode 100644 static/dist/font-awesome/svgs/brands/gitter.svg create mode 100644 static/dist/font-awesome/svgs/brands/glide-g.svg create mode 100644 static/dist/font-awesome/svgs/brands/glide.svg create mode 100644 static/dist/font-awesome/svgs/brands/gofore.svg create mode 100644 static/dist/font-awesome/svgs/brands/goodreads-g.svg create mode 100644 static/dist/font-awesome/svgs/brands/goodreads.svg create mode 100644 static/dist/font-awesome/svgs/brands/google-drive.svg create mode 100644 static/dist/font-awesome/svgs/brands/google-play.svg create mode 100644 static/dist/font-awesome/svgs/brands/google-plus-g.svg create mode 100644 static/dist/font-awesome/svgs/brands/google-plus-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/google-plus.svg create mode 100644 static/dist/font-awesome/svgs/brands/google-wallet.svg create mode 100644 static/dist/font-awesome/svgs/brands/google.svg create mode 100644 static/dist/font-awesome/svgs/brands/gratipay.svg create mode 100644 static/dist/font-awesome/svgs/brands/grav.svg create mode 100644 static/dist/font-awesome/svgs/brands/gripfire.svg create mode 100644 static/dist/font-awesome/svgs/brands/grunt.svg create mode 100644 static/dist/font-awesome/svgs/brands/gulp.svg create mode 100644 static/dist/font-awesome/svgs/brands/hacker-news-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/hacker-news.svg create mode 100644 static/dist/font-awesome/svgs/brands/hackerrank.svg create mode 100644 static/dist/font-awesome/svgs/brands/hips.svg create mode 100644 static/dist/font-awesome/svgs/brands/hire-a-helper.svg create mode 100644 static/dist/font-awesome/svgs/brands/hooli.svg create mode 100644 static/dist/font-awesome/svgs/brands/hornbill.svg create mode 100644 static/dist/font-awesome/svgs/brands/hotjar.svg create mode 100644 static/dist/font-awesome/svgs/brands/houzz.svg create mode 100644 static/dist/font-awesome/svgs/brands/html5.svg create mode 100644 static/dist/font-awesome/svgs/brands/hubspot.svg create mode 100644 static/dist/font-awesome/svgs/brands/imdb.svg create mode 100644 static/dist/font-awesome/svgs/brands/instagram.svg create mode 100644 static/dist/font-awesome/svgs/brands/intercom.svg create mode 100644 static/dist/font-awesome/svgs/brands/internet-explorer.svg create mode 100644 static/dist/font-awesome/svgs/brands/invision.svg create mode 100644 static/dist/font-awesome/svgs/brands/ioxhost.svg create mode 100644 static/dist/font-awesome/svgs/brands/itunes-note.svg create mode 100644 static/dist/font-awesome/svgs/brands/itunes.svg create mode 100644 static/dist/font-awesome/svgs/brands/java.svg create mode 100644 static/dist/font-awesome/svgs/brands/jedi-order.svg create mode 100644 static/dist/font-awesome/svgs/brands/jenkins.svg create mode 100644 static/dist/font-awesome/svgs/brands/jira.svg create mode 100644 static/dist/font-awesome/svgs/brands/joget.svg create mode 100644 static/dist/font-awesome/svgs/brands/joomla.svg create mode 100644 static/dist/font-awesome/svgs/brands/js-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/js.svg create mode 100644 static/dist/font-awesome/svgs/brands/jsfiddle.svg create mode 100644 static/dist/font-awesome/svgs/brands/kaggle.svg create mode 100644 static/dist/font-awesome/svgs/brands/keybase.svg create mode 100644 static/dist/font-awesome/svgs/brands/keycdn.svg create mode 100644 static/dist/font-awesome/svgs/brands/kickstarter-k.svg create mode 100644 static/dist/font-awesome/svgs/brands/kickstarter.svg create mode 100644 static/dist/font-awesome/svgs/brands/korvue.svg create mode 100644 static/dist/font-awesome/svgs/brands/laravel.svg create mode 100644 static/dist/font-awesome/svgs/brands/lastfm-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/lastfm.svg create mode 100644 static/dist/font-awesome/svgs/brands/leanpub.svg create mode 100644 static/dist/font-awesome/svgs/brands/less.svg create mode 100644 static/dist/font-awesome/svgs/brands/line.svg create mode 100644 static/dist/font-awesome/svgs/brands/linkedin-in.svg create mode 100644 static/dist/font-awesome/svgs/brands/linkedin.svg create mode 100644 static/dist/font-awesome/svgs/brands/linode.svg create mode 100644 static/dist/font-awesome/svgs/brands/linux.svg create mode 100644 static/dist/font-awesome/svgs/brands/lyft.svg create mode 100644 static/dist/font-awesome/svgs/brands/magento.svg create mode 100644 static/dist/font-awesome/svgs/brands/mailchimp.svg create mode 100644 static/dist/font-awesome/svgs/brands/mandalorian.svg create mode 100644 static/dist/font-awesome/svgs/brands/markdown.svg create mode 100644 static/dist/font-awesome/svgs/brands/mastodon.svg create mode 100644 static/dist/font-awesome/svgs/brands/maxcdn.svg create mode 100644 static/dist/font-awesome/svgs/brands/medapps.svg create mode 100644 static/dist/font-awesome/svgs/brands/medium-m.svg create mode 100644 static/dist/font-awesome/svgs/brands/medium.svg create mode 100644 static/dist/font-awesome/svgs/brands/medrt.svg create mode 100644 static/dist/font-awesome/svgs/brands/meetup.svg create mode 100644 static/dist/font-awesome/svgs/brands/megaport.svg create mode 100644 static/dist/font-awesome/svgs/brands/mendeley.svg create mode 100644 static/dist/font-awesome/svgs/brands/microsoft.svg create mode 100644 static/dist/font-awesome/svgs/brands/mix.svg create mode 100644 static/dist/font-awesome/svgs/brands/mixcloud.svg create mode 100644 static/dist/font-awesome/svgs/brands/mizuni.svg create mode 100644 static/dist/font-awesome/svgs/brands/modx.svg create mode 100644 static/dist/font-awesome/svgs/brands/monero.svg create mode 100644 static/dist/font-awesome/svgs/brands/napster.svg create mode 100644 static/dist/font-awesome/svgs/brands/neos.svg create mode 100644 static/dist/font-awesome/svgs/brands/nimblr.svg create mode 100644 static/dist/font-awesome/svgs/brands/nintendo-switch.svg create mode 100644 static/dist/font-awesome/svgs/brands/node-js.svg create mode 100644 static/dist/font-awesome/svgs/brands/node.svg create mode 100644 static/dist/font-awesome/svgs/brands/npm.svg create mode 100644 static/dist/font-awesome/svgs/brands/ns8.svg create mode 100644 static/dist/font-awesome/svgs/brands/nutritionix.svg create mode 100644 static/dist/font-awesome/svgs/brands/odnoklassniki-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/odnoklassniki.svg create mode 100644 static/dist/font-awesome/svgs/brands/old-republic.svg create mode 100644 static/dist/font-awesome/svgs/brands/opencart.svg create mode 100644 static/dist/font-awesome/svgs/brands/openid.svg create mode 100644 static/dist/font-awesome/svgs/brands/opera.svg create mode 100644 static/dist/font-awesome/svgs/brands/optin-monster.svg create mode 100644 static/dist/font-awesome/svgs/brands/osi.svg create mode 100644 static/dist/font-awesome/svgs/brands/page4.svg create mode 100644 static/dist/font-awesome/svgs/brands/pagelines.svg create mode 100644 static/dist/font-awesome/svgs/brands/palfed.svg create mode 100644 static/dist/font-awesome/svgs/brands/patreon.svg create mode 100644 static/dist/font-awesome/svgs/brands/paypal.svg create mode 100644 static/dist/font-awesome/svgs/brands/penny-arcade.svg create mode 100644 static/dist/font-awesome/svgs/brands/periscope.svg create mode 100644 static/dist/font-awesome/svgs/brands/phabricator.svg create mode 100644 static/dist/font-awesome/svgs/brands/phoenix-framework.svg create mode 100644 static/dist/font-awesome/svgs/brands/phoenix-squadron.svg create mode 100644 static/dist/font-awesome/svgs/brands/php.svg create mode 100644 static/dist/font-awesome/svgs/brands/pied-piper-alt.svg create mode 100644 static/dist/font-awesome/svgs/brands/pied-piper-hat.svg create mode 100644 static/dist/font-awesome/svgs/brands/pied-piper-pp.svg create mode 100644 static/dist/font-awesome/svgs/brands/pied-piper.svg create mode 100644 static/dist/font-awesome/svgs/brands/pinterest-p.svg create mode 100644 static/dist/font-awesome/svgs/brands/pinterest-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/pinterest.svg create mode 100644 static/dist/font-awesome/svgs/brands/playstation.svg create mode 100644 static/dist/font-awesome/svgs/brands/product-hunt.svg create mode 100644 static/dist/font-awesome/svgs/brands/pushed.svg create mode 100644 static/dist/font-awesome/svgs/brands/python.svg create mode 100644 static/dist/font-awesome/svgs/brands/qq.svg create mode 100644 static/dist/font-awesome/svgs/brands/quinscape.svg create mode 100644 static/dist/font-awesome/svgs/brands/quora.svg create mode 100644 static/dist/font-awesome/svgs/brands/r-project.svg create mode 100644 static/dist/font-awesome/svgs/brands/raspberry-pi.svg create mode 100644 static/dist/font-awesome/svgs/brands/ravelry.svg create mode 100644 static/dist/font-awesome/svgs/brands/react.svg create mode 100644 static/dist/font-awesome/svgs/brands/reacteurope.svg create mode 100644 static/dist/font-awesome/svgs/brands/readme.svg create mode 100644 static/dist/font-awesome/svgs/brands/rebel.svg create mode 100644 static/dist/font-awesome/svgs/brands/red-river.svg create mode 100644 static/dist/font-awesome/svgs/brands/reddit-alien.svg create mode 100644 static/dist/font-awesome/svgs/brands/reddit-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/reddit.svg create mode 100644 static/dist/font-awesome/svgs/brands/redhat.svg create mode 100644 static/dist/font-awesome/svgs/brands/renren.svg create mode 100644 static/dist/font-awesome/svgs/brands/replyd.svg create mode 100644 static/dist/font-awesome/svgs/brands/researchgate.svg create mode 100644 static/dist/font-awesome/svgs/brands/resolving.svg create mode 100644 static/dist/font-awesome/svgs/brands/rev.svg create mode 100644 static/dist/font-awesome/svgs/brands/rocketchat.svg create mode 100644 static/dist/font-awesome/svgs/brands/rockrms.svg create mode 100644 static/dist/font-awesome/svgs/brands/safari.svg create mode 100644 static/dist/font-awesome/svgs/brands/sass.svg create mode 100644 static/dist/font-awesome/svgs/brands/schlix.svg create mode 100644 static/dist/font-awesome/svgs/brands/scribd.svg create mode 100644 static/dist/font-awesome/svgs/brands/searchengin.svg create mode 100644 static/dist/font-awesome/svgs/brands/sellcast.svg create mode 100644 static/dist/font-awesome/svgs/brands/sellsy.svg create mode 100644 static/dist/font-awesome/svgs/brands/servicestack.svg create mode 100644 static/dist/font-awesome/svgs/brands/shirtsinbulk.svg create mode 100644 static/dist/font-awesome/svgs/brands/shopware.svg create mode 100644 static/dist/font-awesome/svgs/brands/simplybuilt.svg create mode 100644 static/dist/font-awesome/svgs/brands/sistrix.svg create mode 100644 static/dist/font-awesome/svgs/brands/sith.svg create mode 100644 static/dist/font-awesome/svgs/brands/sketch.svg create mode 100644 static/dist/font-awesome/svgs/brands/skyatlas.svg create mode 100644 static/dist/font-awesome/svgs/brands/skype.svg create mode 100644 static/dist/font-awesome/svgs/brands/slack-hash.svg create mode 100644 static/dist/font-awesome/svgs/brands/slack.svg create mode 100644 static/dist/font-awesome/svgs/brands/slideshare.svg create mode 100644 static/dist/font-awesome/svgs/brands/snapchat-ghost.svg create mode 100644 static/dist/font-awesome/svgs/brands/snapchat-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/snapchat.svg create mode 100644 static/dist/font-awesome/svgs/brands/soundcloud.svg create mode 100644 static/dist/font-awesome/svgs/brands/sourcetree.svg create mode 100644 static/dist/font-awesome/svgs/brands/speakap.svg create mode 100644 static/dist/font-awesome/svgs/brands/spotify.svg create mode 100644 static/dist/font-awesome/svgs/brands/squarespace.svg create mode 100644 static/dist/font-awesome/svgs/brands/stack-exchange.svg create mode 100644 static/dist/font-awesome/svgs/brands/stack-overflow.svg create mode 100644 static/dist/font-awesome/svgs/brands/staylinked.svg create mode 100644 static/dist/font-awesome/svgs/brands/steam-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/steam-symbol.svg create mode 100644 static/dist/font-awesome/svgs/brands/steam.svg create mode 100644 static/dist/font-awesome/svgs/brands/sticker-mule.svg create mode 100644 static/dist/font-awesome/svgs/brands/strava.svg create mode 100644 static/dist/font-awesome/svgs/brands/stripe-s.svg create mode 100644 static/dist/font-awesome/svgs/brands/stripe.svg create mode 100644 static/dist/font-awesome/svgs/brands/studiovinari.svg create mode 100644 static/dist/font-awesome/svgs/brands/stumbleupon-circle.svg create mode 100644 static/dist/font-awesome/svgs/brands/stumbleupon.svg create mode 100644 static/dist/font-awesome/svgs/brands/superpowers.svg create mode 100644 static/dist/font-awesome/svgs/brands/supple.svg create mode 100644 static/dist/font-awesome/svgs/brands/suse.svg create mode 100644 static/dist/font-awesome/svgs/brands/teamspeak.svg create mode 100644 static/dist/font-awesome/svgs/brands/telegram-plane.svg create mode 100644 static/dist/font-awesome/svgs/brands/telegram.svg create mode 100644 static/dist/font-awesome/svgs/brands/tencent-weibo.svg create mode 100644 static/dist/font-awesome/svgs/brands/the-red-yeti.svg create mode 100644 static/dist/font-awesome/svgs/brands/themeco.svg create mode 100644 static/dist/font-awesome/svgs/brands/themeisle.svg create mode 100644 static/dist/font-awesome/svgs/brands/think-peaks.svg create mode 100644 static/dist/font-awesome/svgs/brands/trade-federation.svg create mode 100644 static/dist/font-awesome/svgs/brands/trello.svg create mode 100644 static/dist/font-awesome/svgs/brands/tripadvisor.svg create mode 100644 static/dist/font-awesome/svgs/brands/tumblr-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/tumblr.svg create mode 100644 static/dist/font-awesome/svgs/brands/twitch.svg create mode 100644 static/dist/font-awesome/svgs/brands/twitter-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/twitter.svg create mode 100644 static/dist/font-awesome/svgs/brands/typo3.svg create mode 100644 static/dist/font-awesome/svgs/brands/uber.svg create mode 100644 static/dist/font-awesome/svgs/brands/ubuntu.svg create mode 100644 static/dist/font-awesome/svgs/brands/uikit.svg create mode 100644 static/dist/font-awesome/svgs/brands/uniregistry.svg create mode 100644 static/dist/font-awesome/svgs/brands/untappd.svg create mode 100644 static/dist/font-awesome/svgs/brands/ups.svg create mode 100644 static/dist/font-awesome/svgs/brands/usb.svg create mode 100644 static/dist/font-awesome/svgs/brands/usps.svg create mode 100644 static/dist/font-awesome/svgs/brands/ussunnah.svg create mode 100644 static/dist/font-awesome/svgs/brands/vaadin.svg create mode 100644 static/dist/font-awesome/svgs/brands/viacoin.svg create mode 100644 static/dist/font-awesome/svgs/brands/viadeo-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/viadeo.svg create mode 100644 static/dist/font-awesome/svgs/brands/viber.svg create mode 100644 static/dist/font-awesome/svgs/brands/vimeo-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/vimeo-v.svg create mode 100644 static/dist/font-awesome/svgs/brands/vimeo.svg create mode 100644 static/dist/font-awesome/svgs/brands/vine.svg create mode 100644 static/dist/font-awesome/svgs/brands/vk.svg create mode 100644 static/dist/font-awesome/svgs/brands/vnv.svg create mode 100644 static/dist/font-awesome/svgs/brands/vuejs.svg create mode 100644 static/dist/font-awesome/svgs/brands/weebly.svg create mode 100644 static/dist/font-awesome/svgs/brands/weibo.svg create mode 100644 static/dist/font-awesome/svgs/brands/weixin.svg create mode 100644 static/dist/font-awesome/svgs/brands/whatsapp-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/whatsapp.svg create mode 100644 static/dist/font-awesome/svgs/brands/whmcs.svg create mode 100644 static/dist/font-awesome/svgs/brands/wikipedia-w.svg create mode 100644 static/dist/font-awesome/svgs/brands/windows.svg create mode 100644 static/dist/font-awesome/svgs/brands/wix.svg create mode 100644 static/dist/font-awesome/svgs/brands/wizards-of-the-coast.svg create mode 100644 static/dist/font-awesome/svgs/brands/wolf-pack-battalion.svg create mode 100644 static/dist/font-awesome/svgs/brands/wordpress-simple.svg create mode 100644 static/dist/font-awesome/svgs/brands/wordpress.svg create mode 100644 static/dist/font-awesome/svgs/brands/wpbeginner.svg create mode 100644 static/dist/font-awesome/svgs/brands/wpexplorer.svg create mode 100644 static/dist/font-awesome/svgs/brands/wpforms.svg create mode 100644 static/dist/font-awesome/svgs/brands/wpressr.svg create mode 100644 static/dist/font-awesome/svgs/brands/xbox.svg create mode 100644 static/dist/font-awesome/svgs/brands/xing-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/xing.svg create mode 100644 static/dist/font-awesome/svgs/brands/y-combinator.svg create mode 100644 static/dist/font-awesome/svgs/brands/yahoo.svg create mode 100644 static/dist/font-awesome/svgs/brands/yandex-international.svg create mode 100644 static/dist/font-awesome/svgs/brands/yandex.svg create mode 100644 static/dist/font-awesome/svgs/brands/yarn.svg create mode 100644 static/dist/font-awesome/svgs/brands/yelp.svg create mode 100644 static/dist/font-awesome/svgs/brands/yoast.svg create mode 100644 static/dist/font-awesome/svgs/brands/youtube-square.svg create mode 100644 static/dist/font-awesome/svgs/brands/youtube.svg create mode 100644 static/dist/font-awesome/svgs/brands/zhihu.svg create mode 100644 static/dist/font-awesome/svgs/regular/address-book.svg create mode 100644 static/dist/font-awesome/svgs/regular/address-card.svg create mode 100644 static/dist/font-awesome/svgs/regular/angry.svg create mode 100644 static/dist/font-awesome/svgs/regular/arrow-alt-circle-down.svg create mode 100644 static/dist/font-awesome/svgs/regular/arrow-alt-circle-left.svg create mode 100644 static/dist/font-awesome/svgs/regular/arrow-alt-circle-right.svg create mode 100644 static/dist/font-awesome/svgs/regular/arrow-alt-circle-up.svg create mode 100644 static/dist/font-awesome/svgs/regular/bell-slash.svg create mode 100644 static/dist/font-awesome/svgs/regular/bell.svg create mode 100644 static/dist/font-awesome/svgs/regular/bookmark.svg create mode 100644 static/dist/font-awesome/svgs/regular/building.svg create mode 100644 static/dist/font-awesome/svgs/regular/calendar-alt.svg create mode 100644 static/dist/font-awesome/svgs/regular/calendar-check.svg create mode 100644 static/dist/font-awesome/svgs/regular/calendar-minus.svg create mode 100644 static/dist/font-awesome/svgs/regular/calendar-plus.svg create mode 100644 static/dist/font-awesome/svgs/regular/calendar-times.svg create mode 100644 static/dist/font-awesome/svgs/regular/calendar.svg create mode 100644 static/dist/font-awesome/svgs/regular/caret-square-down.svg create mode 100644 static/dist/font-awesome/svgs/regular/caret-square-left.svg create mode 100644 static/dist/font-awesome/svgs/regular/caret-square-right.svg create mode 100644 static/dist/font-awesome/svgs/regular/caret-square-up.svg create mode 100644 static/dist/font-awesome/svgs/regular/chart-bar.svg create mode 100644 static/dist/font-awesome/svgs/regular/check-circle.svg create mode 100644 static/dist/font-awesome/svgs/regular/check-square.svg create mode 100644 static/dist/font-awesome/svgs/regular/circle.svg create mode 100644 static/dist/font-awesome/svgs/regular/clipboard.svg create mode 100644 static/dist/font-awesome/svgs/regular/clock.svg create mode 100644 static/dist/font-awesome/svgs/regular/clone.svg create mode 100644 static/dist/font-awesome/svgs/regular/closed-captioning.svg create mode 100644 static/dist/font-awesome/svgs/regular/comment-alt.svg create mode 100644 static/dist/font-awesome/svgs/regular/comment-dots.svg create mode 100644 static/dist/font-awesome/svgs/regular/comment.svg create mode 100644 static/dist/font-awesome/svgs/regular/comments.svg create mode 100644 static/dist/font-awesome/svgs/regular/compass.svg create mode 100644 static/dist/font-awesome/svgs/regular/copy.svg create mode 100644 static/dist/font-awesome/svgs/regular/copyright.svg create mode 100644 static/dist/font-awesome/svgs/regular/credit-card.svg create mode 100644 static/dist/font-awesome/svgs/regular/dizzy.svg create mode 100644 static/dist/font-awesome/svgs/regular/dot-circle.svg create mode 100644 static/dist/font-awesome/svgs/regular/edit.svg create mode 100644 static/dist/font-awesome/svgs/regular/envelope-open.svg create mode 100644 static/dist/font-awesome/svgs/regular/envelope.svg create mode 100644 static/dist/font-awesome/svgs/regular/eye-slash.svg create mode 100644 static/dist/font-awesome/svgs/regular/eye.svg create mode 100644 static/dist/font-awesome/svgs/regular/file-alt.svg create mode 100644 static/dist/font-awesome/svgs/regular/file-archive.svg create mode 100644 static/dist/font-awesome/svgs/regular/file-audio.svg create mode 100644 static/dist/font-awesome/svgs/regular/file-code.svg create mode 100644 static/dist/font-awesome/svgs/regular/file-excel.svg create mode 100644 static/dist/font-awesome/svgs/regular/file-image.svg create mode 100644 static/dist/font-awesome/svgs/regular/file-pdf.svg create mode 100644 static/dist/font-awesome/svgs/regular/file-powerpoint.svg create mode 100644 static/dist/font-awesome/svgs/regular/file-video.svg create mode 100644 static/dist/font-awesome/svgs/regular/file-word.svg create mode 100644 static/dist/font-awesome/svgs/regular/file.svg create mode 100644 static/dist/font-awesome/svgs/regular/flag.svg create mode 100644 static/dist/font-awesome/svgs/regular/flushed.svg create mode 100644 static/dist/font-awesome/svgs/regular/folder-open.svg create mode 100644 static/dist/font-awesome/svgs/regular/folder.svg create mode 100644 static/dist/font-awesome/svgs/regular/font-awesome-logo-full.svg create mode 100644 static/dist/font-awesome/svgs/regular/frown-open.svg create mode 100644 static/dist/font-awesome/svgs/regular/frown.svg create mode 100644 static/dist/font-awesome/svgs/regular/futbol.svg create mode 100644 static/dist/font-awesome/svgs/regular/gem.svg create mode 100644 static/dist/font-awesome/svgs/regular/grimace.svg create mode 100644 static/dist/font-awesome/svgs/regular/grin-alt.svg create mode 100644 static/dist/font-awesome/svgs/regular/grin-beam-sweat.svg create mode 100644 static/dist/font-awesome/svgs/regular/grin-beam.svg create mode 100644 static/dist/font-awesome/svgs/regular/grin-hearts.svg create mode 100644 static/dist/font-awesome/svgs/regular/grin-squint-tears.svg create mode 100644 static/dist/font-awesome/svgs/regular/grin-squint.svg create mode 100644 static/dist/font-awesome/svgs/regular/grin-stars.svg create mode 100644 static/dist/font-awesome/svgs/regular/grin-tears.svg create mode 100644 static/dist/font-awesome/svgs/regular/grin-tongue-squint.svg create mode 100644 static/dist/font-awesome/svgs/regular/grin-tongue-wink.svg create mode 100644 static/dist/font-awesome/svgs/regular/grin-tongue.svg create mode 100644 static/dist/font-awesome/svgs/regular/grin-wink.svg create mode 100644 static/dist/font-awesome/svgs/regular/grin.svg create mode 100644 static/dist/font-awesome/svgs/regular/hand-lizard.svg create mode 100644 static/dist/font-awesome/svgs/regular/hand-paper.svg create mode 100644 static/dist/font-awesome/svgs/regular/hand-peace.svg create mode 100644 static/dist/font-awesome/svgs/regular/hand-point-down.svg create mode 100644 static/dist/font-awesome/svgs/regular/hand-point-left.svg create mode 100644 static/dist/font-awesome/svgs/regular/hand-point-right.svg create mode 100644 static/dist/font-awesome/svgs/regular/hand-point-up.svg create mode 100644 static/dist/font-awesome/svgs/regular/hand-pointer.svg create mode 100644 static/dist/font-awesome/svgs/regular/hand-rock.svg create mode 100644 static/dist/font-awesome/svgs/regular/hand-scissors.svg create mode 100644 static/dist/font-awesome/svgs/regular/hand-spock.svg create mode 100644 static/dist/font-awesome/svgs/regular/handshake.svg create mode 100644 static/dist/font-awesome/svgs/regular/hdd.svg create mode 100644 static/dist/font-awesome/svgs/regular/heart.svg create mode 100644 static/dist/font-awesome/svgs/regular/hospital.svg create mode 100644 static/dist/font-awesome/svgs/regular/hourglass.svg create mode 100644 static/dist/font-awesome/svgs/regular/id-badge.svg create mode 100644 static/dist/font-awesome/svgs/regular/id-card.svg create mode 100644 static/dist/font-awesome/svgs/regular/image.svg create mode 100644 static/dist/font-awesome/svgs/regular/images.svg create mode 100644 static/dist/font-awesome/svgs/regular/keyboard.svg create mode 100644 static/dist/font-awesome/svgs/regular/kiss-beam.svg create mode 100644 static/dist/font-awesome/svgs/regular/kiss-wink-heart.svg create mode 100644 static/dist/font-awesome/svgs/regular/kiss.svg create mode 100644 static/dist/font-awesome/svgs/regular/laugh-beam.svg create mode 100644 static/dist/font-awesome/svgs/regular/laugh-squint.svg create mode 100644 static/dist/font-awesome/svgs/regular/laugh-wink.svg create mode 100644 static/dist/font-awesome/svgs/regular/laugh.svg create mode 100644 static/dist/font-awesome/svgs/regular/lemon.svg create mode 100644 static/dist/font-awesome/svgs/regular/life-ring.svg create mode 100644 static/dist/font-awesome/svgs/regular/lightbulb.svg create mode 100644 static/dist/font-awesome/svgs/regular/list-alt.svg create mode 100644 static/dist/font-awesome/svgs/regular/map.svg create mode 100644 static/dist/font-awesome/svgs/regular/meh-blank.svg create mode 100644 static/dist/font-awesome/svgs/regular/meh-rolling-eyes.svg create mode 100644 static/dist/font-awesome/svgs/regular/meh.svg create mode 100644 static/dist/font-awesome/svgs/regular/minus-square.svg create mode 100644 static/dist/font-awesome/svgs/regular/money-bill-alt.svg create mode 100644 static/dist/font-awesome/svgs/regular/moon.svg create mode 100644 static/dist/font-awesome/svgs/regular/newspaper.svg create mode 100644 static/dist/font-awesome/svgs/regular/object-group.svg create mode 100644 static/dist/font-awesome/svgs/regular/object-ungroup.svg create mode 100644 static/dist/font-awesome/svgs/regular/paper-plane.svg create mode 100644 static/dist/font-awesome/svgs/regular/pause-circle.svg create mode 100644 static/dist/font-awesome/svgs/regular/play-circle.svg create mode 100644 static/dist/font-awesome/svgs/regular/plus-square.svg create mode 100644 static/dist/font-awesome/svgs/regular/question-circle.svg create mode 100644 static/dist/font-awesome/svgs/regular/registered.svg create mode 100644 static/dist/font-awesome/svgs/regular/sad-cry.svg create mode 100644 static/dist/font-awesome/svgs/regular/sad-tear.svg create mode 100644 static/dist/font-awesome/svgs/regular/save.svg create mode 100644 static/dist/font-awesome/svgs/regular/share-square.svg create mode 100644 static/dist/font-awesome/svgs/regular/smile-beam.svg create mode 100644 static/dist/font-awesome/svgs/regular/smile-wink.svg create mode 100644 static/dist/font-awesome/svgs/regular/smile.svg create mode 100644 static/dist/font-awesome/svgs/regular/snowflake.svg create mode 100644 static/dist/font-awesome/svgs/regular/square.svg create mode 100644 static/dist/font-awesome/svgs/regular/star-half.svg create mode 100644 static/dist/font-awesome/svgs/regular/star.svg create mode 100644 static/dist/font-awesome/svgs/regular/sticky-note.svg create mode 100644 static/dist/font-awesome/svgs/regular/stop-circle.svg create mode 100644 static/dist/font-awesome/svgs/regular/sun.svg create mode 100644 static/dist/font-awesome/svgs/regular/surprise.svg create mode 100644 static/dist/font-awesome/svgs/regular/thumbs-down.svg create mode 100644 static/dist/font-awesome/svgs/regular/thumbs-up.svg create mode 100644 static/dist/font-awesome/svgs/regular/times-circle.svg create mode 100644 static/dist/font-awesome/svgs/regular/tired.svg create mode 100644 static/dist/font-awesome/svgs/regular/trash-alt.svg create mode 100644 static/dist/font-awesome/svgs/regular/user-circle.svg create mode 100644 static/dist/font-awesome/svgs/regular/user.svg create mode 100644 static/dist/font-awesome/svgs/regular/window-close.svg create mode 100644 static/dist/font-awesome/svgs/regular/window-maximize.svg create mode 100644 static/dist/font-awesome/svgs/regular/window-minimize.svg create mode 100644 static/dist/font-awesome/svgs/regular/window-restore.svg create mode 100644 static/dist/font-awesome/svgs/solid/ad.svg create mode 100644 static/dist/font-awesome/svgs/solid/address-book.svg create mode 100644 static/dist/font-awesome/svgs/solid/address-card.svg create mode 100644 static/dist/font-awesome/svgs/solid/adjust.svg create mode 100644 static/dist/font-awesome/svgs/solid/air-freshener.svg create mode 100644 static/dist/font-awesome/svgs/solid/align-center.svg create mode 100644 static/dist/font-awesome/svgs/solid/align-justify.svg create mode 100644 static/dist/font-awesome/svgs/solid/align-left.svg create mode 100644 static/dist/font-awesome/svgs/solid/align-right.svg create mode 100644 static/dist/font-awesome/svgs/solid/allergies.svg create mode 100644 static/dist/font-awesome/svgs/solid/ambulance.svg create mode 100644 static/dist/font-awesome/svgs/solid/american-sign-language-interpreting.svg create mode 100644 static/dist/font-awesome/svgs/solid/anchor.svg create mode 100644 static/dist/font-awesome/svgs/solid/angle-double-down.svg create mode 100644 static/dist/font-awesome/svgs/solid/angle-double-left.svg create mode 100644 static/dist/font-awesome/svgs/solid/angle-double-right.svg create mode 100644 static/dist/font-awesome/svgs/solid/angle-double-up.svg create mode 100644 static/dist/font-awesome/svgs/solid/angle-down.svg create mode 100644 static/dist/font-awesome/svgs/solid/angle-left.svg create mode 100644 static/dist/font-awesome/svgs/solid/angle-right.svg create mode 100644 static/dist/font-awesome/svgs/solid/angle-up.svg create mode 100644 static/dist/font-awesome/svgs/solid/angry.svg create mode 100644 static/dist/font-awesome/svgs/solid/ankh.svg create mode 100644 static/dist/font-awesome/svgs/solid/apple-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/archive.svg create mode 100644 static/dist/font-awesome/svgs/solid/archway.svg create mode 100644 static/dist/font-awesome/svgs/solid/arrow-alt-circle-down.svg create mode 100644 static/dist/font-awesome/svgs/solid/arrow-alt-circle-left.svg create mode 100644 static/dist/font-awesome/svgs/solid/arrow-alt-circle-right.svg create mode 100644 static/dist/font-awesome/svgs/solid/arrow-alt-circle-up.svg create mode 100644 static/dist/font-awesome/svgs/solid/arrow-circle-down.svg create mode 100644 static/dist/font-awesome/svgs/solid/arrow-circle-left.svg create mode 100644 static/dist/font-awesome/svgs/solid/arrow-circle-right.svg create mode 100644 static/dist/font-awesome/svgs/solid/arrow-circle-up.svg create mode 100644 static/dist/font-awesome/svgs/solid/arrow-down.svg create mode 100644 static/dist/font-awesome/svgs/solid/arrow-left.svg create mode 100644 static/dist/font-awesome/svgs/solid/arrow-right.svg create mode 100644 static/dist/font-awesome/svgs/solid/arrow-up.svg create mode 100644 static/dist/font-awesome/svgs/solid/arrows-alt-h.svg create mode 100644 static/dist/font-awesome/svgs/solid/arrows-alt-v.svg create mode 100644 static/dist/font-awesome/svgs/solid/arrows-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/assistive-listening-systems.svg create mode 100644 static/dist/font-awesome/svgs/solid/asterisk.svg create mode 100644 static/dist/font-awesome/svgs/solid/at.svg create mode 100644 static/dist/font-awesome/svgs/solid/atlas.svg create mode 100644 static/dist/font-awesome/svgs/solid/atom.svg create mode 100644 static/dist/font-awesome/svgs/solid/audio-description.svg create mode 100644 static/dist/font-awesome/svgs/solid/award.svg create mode 100644 static/dist/font-awesome/svgs/solid/baby-carriage.svg create mode 100644 static/dist/font-awesome/svgs/solid/baby.svg create mode 100644 static/dist/font-awesome/svgs/solid/backspace.svg create mode 100644 static/dist/font-awesome/svgs/solid/backward.svg create mode 100644 static/dist/font-awesome/svgs/solid/bacon.svg create mode 100644 static/dist/font-awesome/svgs/solid/balance-scale.svg create mode 100644 static/dist/font-awesome/svgs/solid/ban.svg create mode 100644 static/dist/font-awesome/svgs/solid/band-aid.svg create mode 100644 static/dist/font-awesome/svgs/solid/barcode.svg create mode 100644 static/dist/font-awesome/svgs/solid/bars.svg create mode 100644 static/dist/font-awesome/svgs/solid/baseball-ball.svg create mode 100644 static/dist/font-awesome/svgs/solid/basketball-ball.svg create mode 100644 static/dist/font-awesome/svgs/solid/bath.svg create mode 100644 static/dist/font-awesome/svgs/solid/battery-empty.svg create mode 100644 static/dist/font-awesome/svgs/solid/battery-full.svg create mode 100644 static/dist/font-awesome/svgs/solid/battery-half.svg create mode 100644 static/dist/font-awesome/svgs/solid/battery-quarter.svg create mode 100644 static/dist/font-awesome/svgs/solid/battery-three-quarters.svg create mode 100644 static/dist/font-awesome/svgs/solid/bed.svg create mode 100644 static/dist/font-awesome/svgs/solid/beer.svg create mode 100644 static/dist/font-awesome/svgs/solid/bell-slash.svg create mode 100644 static/dist/font-awesome/svgs/solid/bell.svg create mode 100644 static/dist/font-awesome/svgs/solid/bezier-curve.svg create mode 100644 static/dist/font-awesome/svgs/solid/bible.svg create mode 100644 static/dist/font-awesome/svgs/solid/bicycle.svg create mode 100644 static/dist/font-awesome/svgs/solid/binoculars.svg create mode 100644 static/dist/font-awesome/svgs/solid/biohazard.svg create mode 100644 static/dist/font-awesome/svgs/solid/birthday-cake.svg create mode 100644 static/dist/font-awesome/svgs/solid/blender-phone.svg create mode 100644 static/dist/font-awesome/svgs/solid/blender.svg create mode 100644 static/dist/font-awesome/svgs/solid/blind.svg create mode 100644 static/dist/font-awesome/svgs/solid/blog.svg create mode 100644 static/dist/font-awesome/svgs/solid/bold.svg create mode 100644 static/dist/font-awesome/svgs/solid/bolt.svg create mode 100644 static/dist/font-awesome/svgs/solid/bomb.svg create mode 100644 static/dist/font-awesome/svgs/solid/bone.svg create mode 100644 static/dist/font-awesome/svgs/solid/bong.svg create mode 100644 static/dist/font-awesome/svgs/solid/book-dead.svg create mode 100644 static/dist/font-awesome/svgs/solid/book-medical.svg create mode 100644 static/dist/font-awesome/svgs/solid/book-open.svg create mode 100644 static/dist/font-awesome/svgs/solid/book-reader.svg create mode 100644 static/dist/font-awesome/svgs/solid/book.svg create mode 100644 static/dist/font-awesome/svgs/solid/bookmark.svg create mode 100644 static/dist/font-awesome/svgs/solid/bowling-ball.svg create mode 100644 static/dist/font-awesome/svgs/solid/box-open.svg create mode 100644 static/dist/font-awesome/svgs/solid/box.svg create mode 100644 static/dist/font-awesome/svgs/solid/boxes.svg create mode 100644 static/dist/font-awesome/svgs/solid/braille.svg create mode 100644 static/dist/font-awesome/svgs/solid/brain.svg create mode 100644 static/dist/font-awesome/svgs/solid/bread-slice.svg create mode 100644 static/dist/font-awesome/svgs/solid/briefcase-medical.svg create mode 100644 static/dist/font-awesome/svgs/solid/briefcase.svg create mode 100644 static/dist/font-awesome/svgs/solid/broadcast-tower.svg create mode 100644 static/dist/font-awesome/svgs/solid/broom.svg create mode 100644 static/dist/font-awesome/svgs/solid/brush.svg create mode 100644 static/dist/font-awesome/svgs/solid/bug.svg create mode 100644 static/dist/font-awesome/svgs/solid/building.svg create mode 100644 static/dist/font-awesome/svgs/solid/bullhorn.svg create mode 100644 static/dist/font-awesome/svgs/solid/bullseye.svg create mode 100644 static/dist/font-awesome/svgs/solid/burn.svg create mode 100644 static/dist/font-awesome/svgs/solid/bus-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/bus.svg create mode 100644 static/dist/font-awesome/svgs/solid/business-time.svg create mode 100644 static/dist/font-awesome/svgs/solid/calculator.svg create mode 100644 static/dist/font-awesome/svgs/solid/calendar-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/calendar-check.svg create mode 100644 static/dist/font-awesome/svgs/solid/calendar-day.svg create mode 100644 static/dist/font-awesome/svgs/solid/calendar-minus.svg create mode 100644 static/dist/font-awesome/svgs/solid/calendar-plus.svg create mode 100644 static/dist/font-awesome/svgs/solid/calendar-times.svg create mode 100644 static/dist/font-awesome/svgs/solid/calendar-week.svg create mode 100644 static/dist/font-awesome/svgs/solid/calendar.svg create mode 100644 static/dist/font-awesome/svgs/solid/camera-retro.svg create mode 100644 static/dist/font-awesome/svgs/solid/camera.svg create mode 100644 static/dist/font-awesome/svgs/solid/campground.svg create mode 100644 static/dist/font-awesome/svgs/solid/candy-cane.svg create mode 100644 static/dist/font-awesome/svgs/solid/cannabis.svg create mode 100644 static/dist/font-awesome/svgs/solid/capsules.svg create mode 100644 static/dist/font-awesome/svgs/solid/car-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/car-battery.svg create mode 100644 static/dist/font-awesome/svgs/solid/car-crash.svg create mode 100644 static/dist/font-awesome/svgs/solid/car-side.svg create mode 100644 static/dist/font-awesome/svgs/solid/car.svg create mode 100644 static/dist/font-awesome/svgs/solid/caret-down.svg create mode 100644 static/dist/font-awesome/svgs/solid/caret-left.svg create mode 100644 static/dist/font-awesome/svgs/solid/caret-right.svg create mode 100644 static/dist/font-awesome/svgs/solid/caret-square-down.svg create mode 100644 static/dist/font-awesome/svgs/solid/caret-square-left.svg create mode 100644 static/dist/font-awesome/svgs/solid/caret-square-right.svg create mode 100644 static/dist/font-awesome/svgs/solid/caret-square-up.svg create mode 100644 static/dist/font-awesome/svgs/solid/caret-up.svg create mode 100644 static/dist/font-awesome/svgs/solid/carrot.svg create mode 100644 static/dist/font-awesome/svgs/solid/cart-arrow-down.svg create mode 100644 static/dist/font-awesome/svgs/solid/cart-plus.svg create mode 100644 static/dist/font-awesome/svgs/solid/cash-register.svg create mode 100644 static/dist/font-awesome/svgs/solid/cat.svg create mode 100644 static/dist/font-awesome/svgs/solid/certificate.svg create mode 100644 static/dist/font-awesome/svgs/solid/chair.svg create mode 100644 static/dist/font-awesome/svgs/solid/chalkboard-teacher.svg create mode 100644 static/dist/font-awesome/svgs/solid/chalkboard.svg create mode 100644 static/dist/font-awesome/svgs/solid/charging-station.svg create mode 100644 static/dist/font-awesome/svgs/solid/chart-area.svg create mode 100644 static/dist/font-awesome/svgs/solid/chart-bar.svg create mode 100644 static/dist/font-awesome/svgs/solid/chart-line.svg create mode 100644 static/dist/font-awesome/svgs/solid/chart-pie.svg create mode 100644 static/dist/font-awesome/svgs/solid/check-circle.svg create mode 100644 static/dist/font-awesome/svgs/solid/check-double.svg create mode 100644 static/dist/font-awesome/svgs/solid/check-square.svg create mode 100644 static/dist/font-awesome/svgs/solid/check.svg create mode 100644 static/dist/font-awesome/svgs/solid/cheese.svg create mode 100644 static/dist/font-awesome/svgs/solid/chess-bishop.svg create mode 100644 static/dist/font-awesome/svgs/solid/chess-board.svg create mode 100644 static/dist/font-awesome/svgs/solid/chess-king.svg create mode 100644 static/dist/font-awesome/svgs/solid/chess-knight.svg create mode 100644 static/dist/font-awesome/svgs/solid/chess-pawn.svg create mode 100644 static/dist/font-awesome/svgs/solid/chess-queen.svg create mode 100644 static/dist/font-awesome/svgs/solid/chess-rook.svg create mode 100644 static/dist/font-awesome/svgs/solid/chess.svg create mode 100644 static/dist/font-awesome/svgs/solid/chevron-circle-down.svg create mode 100644 static/dist/font-awesome/svgs/solid/chevron-circle-left.svg create mode 100644 static/dist/font-awesome/svgs/solid/chevron-circle-right.svg create mode 100644 static/dist/font-awesome/svgs/solid/chevron-circle-up.svg create mode 100644 static/dist/font-awesome/svgs/solid/chevron-down.svg create mode 100644 static/dist/font-awesome/svgs/solid/chevron-left.svg create mode 100644 static/dist/font-awesome/svgs/solid/chevron-right.svg create mode 100644 static/dist/font-awesome/svgs/solid/chevron-up.svg create mode 100644 static/dist/font-awesome/svgs/solid/child.svg create mode 100644 static/dist/font-awesome/svgs/solid/church.svg create mode 100644 static/dist/font-awesome/svgs/solid/circle-notch.svg create mode 100644 static/dist/font-awesome/svgs/solid/circle.svg create mode 100644 static/dist/font-awesome/svgs/solid/city.svg create mode 100644 static/dist/font-awesome/svgs/solid/clinic-medical.svg create mode 100644 static/dist/font-awesome/svgs/solid/clipboard-check.svg create mode 100644 static/dist/font-awesome/svgs/solid/clipboard-list.svg create mode 100644 static/dist/font-awesome/svgs/solid/clipboard.svg create mode 100644 static/dist/font-awesome/svgs/solid/clock.svg create mode 100644 static/dist/font-awesome/svgs/solid/clone.svg create mode 100644 static/dist/font-awesome/svgs/solid/closed-captioning.svg create mode 100644 static/dist/font-awesome/svgs/solid/cloud-download-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/cloud-meatball.svg create mode 100644 static/dist/font-awesome/svgs/solid/cloud-moon-rain.svg create mode 100644 static/dist/font-awesome/svgs/solid/cloud-moon.svg create mode 100644 static/dist/font-awesome/svgs/solid/cloud-rain.svg create mode 100644 static/dist/font-awesome/svgs/solid/cloud-showers-heavy.svg create mode 100644 static/dist/font-awesome/svgs/solid/cloud-sun-rain.svg create mode 100644 static/dist/font-awesome/svgs/solid/cloud-sun.svg create mode 100644 static/dist/font-awesome/svgs/solid/cloud-upload-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/cloud.svg create mode 100644 static/dist/font-awesome/svgs/solid/cocktail.svg create mode 100644 static/dist/font-awesome/svgs/solid/code-branch.svg create mode 100644 static/dist/font-awesome/svgs/solid/code.svg create mode 100644 static/dist/font-awesome/svgs/solid/coffee.svg create mode 100644 static/dist/font-awesome/svgs/solid/cog.svg create mode 100644 static/dist/font-awesome/svgs/solid/cogs.svg create mode 100644 static/dist/font-awesome/svgs/solid/coins.svg create mode 100644 static/dist/font-awesome/svgs/solid/columns.svg create mode 100644 static/dist/font-awesome/svgs/solid/comment-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/comment-dollar.svg create mode 100644 static/dist/font-awesome/svgs/solid/comment-dots.svg create mode 100644 static/dist/font-awesome/svgs/solid/comment-medical.svg create mode 100644 static/dist/font-awesome/svgs/solid/comment-slash.svg create mode 100644 static/dist/font-awesome/svgs/solid/comment.svg create mode 100644 static/dist/font-awesome/svgs/solid/comments-dollar.svg create mode 100644 static/dist/font-awesome/svgs/solid/comments.svg create mode 100644 static/dist/font-awesome/svgs/solid/compact-disc.svg create mode 100644 static/dist/font-awesome/svgs/solid/compass.svg create mode 100644 static/dist/font-awesome/svgs/solid/compress-arrows-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/compress.svg create mode 100644 static/dist/font-awesome/svgs/solid/concierge-bell.svg create mode 100644 static/dist/font-awesome/svgs/solid/cookie-bite.svg create mode 100644 static/dist/font-awesome/svgs/solid/cookie.svg create mode 100644 static/dist/font-awesome/svgs/solid/copy.svg create mode 100644 static/dist/font-awesome/svgs/solid/copyright.svg create mode 100644 static/dist/font-awesome/svgs/solid/couch.svg create mode 100644 static/dist/font-awesome/svgs/solid/credit-card.svg create mode 100644 static/dist/font-awesome/svgs/solid/crop-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/crop.svg create mode 100644 static/dist/font-awesome/svgs/solid/cross.svg create mode 100644 static/dist/font-awesome/svgs/solid/crosshairs.svg create mode 100644 static/dist/font-awesome/svgs/solid/crow.svg create mode 100644 static/dist/font-awesome/svgs/solid/crown.svg create mode 100644 static/dist/font-awesome/svgs/solid/crutch.svg create mode 100644 static/dist/font-awesome/svgs/solid/cube.svg create mode 100644 static/dist/font-awesome/svgs/solid/cubes.svg create mode 100644 static/dist/font-awesome/svgs/solid/cut.svg create mode 100644 static/dist/font-awesome/svgs/solid/database.svg create mode 100644 static/dist/font-awesome/svgs/solid/deaf.svg create mode 100644 static/dist/font-awesome/svgs/solid/democrat.svg create mode 100644 static/dist/font-awesome/svgs/solid/desktop.svg create mode 100644 static/dist/font-awesome/svgs/solid/dharmachakra.svg create mode 100644 static/dist/font-awesome/svgs/solid/diagnoses.svg create mode 100644 static/dist/font-awesome/svgs/solid/dice-d20.svg create mode 100644 static/dist/font-awesome/svgs/solid/dice-d6.svg create mode 100644 static/dist/font-awesome/svgs/solid/dice-five.svg create mode 100644 static/dist/font-awesome/svgs/solid/dice-four.svg create mode 100644 static/dist/font-awesome/svgs/solid/dice-one.svg create mode 100644 static/dist/font-awesome/svgs/solid/dice-six.svg create mode 100644 static/dist/font-awesome/svgs/solid/dice-three.svg create mode 100644 static/dist/font-awesome/svgs/solid/dice-two.svg create mode 100644 static/dist/font-awesome/svgs/solid/dice.svg create mode 100644 static/dist/font-awesome/svgs/solid/digital-tachograph.svg create mode 100644 static/dist/font-awesome/svgs/solid/directions.svg create mode 100644 static/dist/font-awesome/svgs/solid/divide.svg create mode 100644 static/dist/font-awesome/svgs/solid/dizzy.svg create mode 100644 static/dist/font-awesome/svgs/solid/dna.svg create mode 100644 static/dist/font-awesome/svgs/solid/dog.svg create mode 100644 static/dist/font-awesome/svgs/solid/dollar-sign.svg create mode 100644 static/dist/font-awesome/svgs/solid/dolly-flatbed.svg create mode 100644 static/dist/font-awesome/svgs/solid/dolly.svg create mode 100644 static/dist/font-awesome/svgs/solid/donate.svg create mode 100644 static/dist/font-awesome/svgs/solid/door-closed.svg create mode 100644 static/dist/font-awesome/svgs/solid/door-open.svg create mode 100644 static/dist/font-awesome/svgs/solid/dot-circle.svg create mode 100644 static/dist/font-awesome/svgs/solid/dove.svg create mode 100644 static/dist/font-awesome/svgs/solid/download.svg create mode 100644 static/dist/font-awesome/svgs/solid/drafting-compass.svg create mode 100644 static/dist/font-awesome/svgs/solid/dragon.svg create mode 100644 static/dist/font-awesome/svgs/solid/draw-polygon.svg create mode 100644 static/dist/font-awesome/svgs/solid/drum-steelpan.svg create mode 100644 static/dist/font-awesome/svgs/solid/drum.svg create mode 100644 static/dist/font-awesome/svgs/solid/drumstick-bite.svg create mode 100644 static/dist/font-awesome/svgs/solid/dumbbell.svg create mode 100644 static/dist/font-awesome/svgs/solid/dumpster-fire.svg create mode 100644 static/dist/font-awesome/svgs/solid/dumpster.svg create mode 100644 static/dist/font-awesome/svgs/solid/dungeon.svg create mode 100644 static/dist/font-awesome/svgs/solid/edit.svg create mode 100644 static/dist/font-awesome/svgs/solid/egg.svg create mode 100644 static/dist/font-awesome/svgs/solid/eject.svg create mode 100644 static/dist/font-awesome/svgs/solid/ellipsis-h.svg create mode 100644 static/dist/font-awesome/svgs/solid/ellipsis-v.svg create mode 100644 static/dist/font-awesome/svgs/solid/envelope-open-text.svg create mode 100644 static/dist/font-awesome/svgs/solid/envelope-open.svg create mode 100644 static/dist/font-awesome/svgs/solid/envelope-square.svg create mode 100644 static/dist/font-awesome/svgs/solid/envelope.svg create mode 100644 static/dist/font-awesome/svgs/solid/equals.svg create mode 100644 static/dist/font-awesome/svgs/solid/eraser.svg create mode 100644 static/dist/font-awesome/svgs/solid/ethernet.svg create mode 100644 static/dist/font-awesome/svgs/solid/euro-sign.svg create mode 100644 static/dist/font-awesome/svgs/solid/exchange-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/exclamation-circle.svg create mode 100644 static/dist/font-awesome/svgs/solid/exclamation-triangle.svg create mode 100644 static/dist/font-awesome/svgs/solid/exclamation.svg create mode 100644 static/dist/font-awesome/svgs/solid/expand-arrows-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/expand.svg create mode 100644 static/dist/font-awesome/svgs/solid/external-link-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/external-link-square-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/eye-dropper.svg create mode 100644 static/dist/font-awesome/svgs/solid/eye-slash.svg create mode 100644 static/dist/font-awesome/svgs/solid/eye.svg create mode 100644 static/dist/font-awesome/svgs/solid/fast-backward.svg create mode 100644 static/dist/font-awesome/svgs/solid/fast-forward.svg create mode 100644 static/dist/font-awesome/svgs/solid/fax.svg create mode 100644 static/dist/font-awesome/svgs/solid/feather-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/feather.svg create mode 100644 static/dist/font-awesome/svgs/solid/female.svg create mode 100644 static/dist/font-awesome/svgs/solid/fighter-jet.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-archive.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-audio.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-code.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-contract.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-csv.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-download.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-excel.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-export.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-image.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-import.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-invoice-dollar.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-invoice.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-medical-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-medical.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-pdf.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-powerpoint.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-prescription.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-signature.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-upload.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-video.svg create mode 100644 static/dist/font-awesome/svgs/solid/file-word.svg create mode 100644 static/dist/font-awesome/svgs/solid/file.svg create mode 100644 static/dist/font-awesome/svgs/solid/fill-drip.svg create mode 100644 static/dist/font-awesome/svgs/solid/fill.svg create mode 100644 static/dist/font-awesome/svgs/solid/film.svg create mode 100644 static/dist/font-awesome/svgs/solid/filter.svg create mode 100644 static/dist/font-awesome/svgs/solid/fingerprint.svg create mode 100644 static/dist/font-awesome/svgs/solid/fire-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/fire-extinguisher.svg create mode 100644 static/dist/font-awesome/svgs/solid/fire.svg create mode 100644 static/dist/font-awesome/svgs/solid/first-aid.svg create mode 100644 static/dist/font-awesome/svgs/solid/fish.svg create mode 100644 static/dist/font-awesome/svgs/solid/fist-raised.svg create mode 100644 static/dist/font-awesome/svgs/solid/flag-checkered.svg create mode 100644 static/dist/font-awesome/svgs/solid/flag-usa.svg create mode 100644 static/dist/font-awesome/svgs/solid/flag.svg create mode 100644 static/dist/font-awesome/svgs/solid/flask.svg create mode 100644 static/dist/font-awesome/svgs/solid/flushed.svg create mode 100644 static/dist/font-awesome/svgs/solid/folder-minus.svg create mode 100644 static/dist/font-awesome/svgs/solid/folder-open.svg create mode 100644 static/dist/font-awesome/svgs/solid/folder-plus.svg create mode 100644 static/dist/font-awesome/svgs/solid/folder.svg create mode 100644 static/dist/font-awesome/svgs/solid/font-awesome-logo-full.svg create mode 100644 static/dist/font-awesome/svgs/solid/font.svg create mode 100644 static/dist/font-awesome/svgs/solid/football-ball.svg create mode 100644 static/dist/font-awesome/svgs/solid/forward.svg create mode 100644 static/dist/font-awesome/svgs/solid/frog.svg create mode 100644 static/dist/font-awesome/svgs/solid/frown-open.svg create mode 100644 static/dist/font-awesome/svgs/solid/frown.svg create mode 100644 static/dist/font-awesome/svgs/solid/funnel-dollar.svg create mode 100644 static/dist/font-awesome/svgs/solid/futbol.svg create mode 100644 static/dist/font-awesome/svgs/solid/gamepad.svg create mode 100644 static/dist/font-awesome/svgs/solid/gas-pump.svg create mode 100644 static/dist/font-awesome/svgs/solid/gavel.svg create mode 100644 static/dist/font-awesome/svgs/solid/gem.svg create mode 100644 static/dist/font-awesome/svgs/solid/genderless.svg create mode 100644 static/dist/font-awesome/svgs/solid/ghost.svg create mode 100644 static/dist/font-awesome/svgs/solid/gift.svg create mode 100644 static/dist/font-awesome/svgs/solid/gifts.svg create mode 100644 static/dist/font-awesome/svgs/solid/glass-cheers.svg create mode 100644 static/dist/font-awesome/svgs/solid/glass-martini-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/glass-martini.svg create mode 100644 static/dist/font-awesome/svgs/solid/glass-whiskey.svg create mode 100644 static/dist/font-awesome/svgs/solid/glasses.svg create mode 100644 static/dist/font-awesome/svgs/solid/globe-africa.svg create mode 100644 static/dist/font-awesome/svgs/solid/globe-americas.svg create mode 100644 static/dist/font-awesome/svgs/solid/globe-asia.svg create mode 100644 static/dist/font-awesome/svgs/solid/globe-europe.svg create mode 100644 static/dist/font-awesome/svgs/solid/globe.svg create mode 100644 static/dist/font-awesome/svgs/solid/golf-ball.svg create mode 100644 static/dist/font-awesome/svgs/solid/gopuram.svg create mode 100644 static/dist/font-awesome/svgs/solid/graduation-cap.svg create mode 100644 static/dist/font-awesome/svgs/solid/greater-than-equal.svg create mode 100644 static/dist/font-awesome/svgs/solid/greater-than.svg create mode 100644 static/dist/font-awesome/svgs/solid/grimace.svg create mode 100644 static/dist/font-awesome/svgs/solid/grin-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/grin-beam-sweat.svg create mode 100644 static/dist/font-awesome/svgs/solid/grin-beam.svg create mode 100644 static/dist/font-awesome/svgs/solid/grin-hearts.svg create mode 100644 static/dist/font-awesome/svgs/solid/grin-squint-tears.svg create mode 100644 static/dist/font-awesome/svgs/solid/grin-squint.svg create mode 100644 static/dist/font-awesome/svgs/solid/grin-stars.svg create mode 100644 static/dist/font-awesome/svgs/solid/grin-tears.svg create mode 100644 static/dist/font-awesome/svgs/solid/grin-tongue-squint.svg create mode 100644 static/dist/font-awesome/svgs/solid/grin-tongue-wink.svg create mode 100644 static/dist/font-awesome/svgs/solid/grin-tongue.svg create mode 100644 static/dist/font-awesome/svgs/solid/grin-wink.svg create mode 100644 static/dist/font-awesome/svgs/solid/grin.svg create mode 100644 static/dist/font-awesome/svgs/solid/grip-horizontal.svg create mode 100644 static/dist/font-awesome/svgs/solid/grip-lines-vertical.svg create mode 100644 static/dist/font-awesome/svgs/solid/grip-lines.svg create mode 100644 static/dist/font-awesome/svgs/solid/grip-vertical.svg create mode 100644 static/dist/font-awesome/svgs/solid/guitar.svg create mode 100644 static/dist/font-awesome/svgs/solid/h-square.svg create mode 100644 static/dist/font-awesome/svgs/solid/hamburger.svg create mode 100644 static/dist/font-awesome/svgs/solid/hammer.svg create mode 100644 static/dist/font-awesome/svgs/solid/hamsa.svg create mode 100644 static/dist/font-awesome/svgs/solid/hand-holding-heart.svg create mode 100644 static/dist/font-awesome/svgs/solid/hand-holding-usd.svg create mode 100644 static/dist/font-awesome/svgs/solid/hand-holding.svg create mode 100644 static/dist/font-awesome/svgs/solid/hand-lizard.svg create mode 100644 static/dist/font-awesome/svgs/solid/hand-middle-finger.svg create mode 100644 static/dist/font-awesome/svgs/solid/hand-paper.svg create mode 100644 static/dist/font-awesome/svgs/solid/hand-peace.svg create mode 100644 static/dist/font-awesome/svgs/solid/hand-point-down.svg create mode 100644 static/dist/font-awesome/svgs/solid/hand-point-left.svg create mode 100644 static/dist/font-awesome/svgs/solid/hand-point-right.svg create mode 100644 static/dist/font-awesome/svgs/solid/hand-point-up.svg create mode 100644 static/dist/font-awesome/svgs/solid/hand-pointer.svg create mode 100644 static/dist/font-awesome/svgs/solid/hand-rock.svg create mode 100644 static/dist/font-awesome/svgs/solid/hand-scissors.svg create mode 100644 static/dist/font-awesome/svgs/solid/hand-spock.svg create mode 100644 static/dist/font-awesome/svgs/solid/hands-helping.svg create mode 100644 static/dist/font-awesome/svgs/solid/hands.svg create mode 100644 static/dist/font-awesome/svgs/solid/handshake.svg create mode 100644 static/dist/font-awesome/svgs/solid/hanukiah.svg create mode 100644 static/dist/font-awesome/svgs/solid/hard-hat.svg create mode 100644 static/dist/font-awesome/svgs/solid/hashtag.svg create mode 100644 static/dist/font-awesome/svgs/solid/hat-wizard.svg create mode 100644 static/dist/font-awesome/svgs/solid/haykal.svg create mode 100644 static/dist/font-awesome/svgs/solid/hdd.svg create mode 100644 static/dist/font-awesome/svgs/solid/heading.svg create mode 100644 static/dist/font-awesome/svgs/solid/headphones-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/headphones.svg create mode 100644 static/dist/font-awesome/svgs/solid/headset.svg create mode 100644 static/dist/font-awesome/svgs/solid/heart-broken.svg create mode 100644 static/dist/font-awesome/svgs/solid/heart.svg create mode 100644 static/dist/font-awesome/svgs/solid/heartbeat.svg create mode 100644 static/dist/font-awesome/svgs/solid/helicopter.svg create mode 100644 static/dist/font-awesome/svgs/solid/highlighter.svg create mode 100644 static/dist/font-awesome/svgs/solid/hiking.svg create mode 100644 static/dist/font-awesome/svgs/solid/hippo.svg create mode 100644 static/dist/font-awesome/svgs/solid/history.svg create mode 100644 static/dist/font-awesome/svgs/solid/hockey-puck.svg create mode 100644 static/dist/font-awesome/svgs/solid/holly-berry.svg create mode 100644 static/dist/font-awesome/svgs/solid/home.svg create mode 100644 static/dist/font-awesome/svgs/solid/horse-head.svg create mode 100644 static/dist/font-awesome/svgs/solid/horse.svg create mode 100644 static/dist/font-awesome/svgs/solid/hospital-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/hospital-symbol.svg create mode 100644 static/dist/font-awesome/svgs/solid/hospital.svg create mode 100644 static/dist/font-awesome/svgs/solid/hot-tub.svg create mode 100644 static/dist/font-awesome/svgs/solid/hotdog.svg create mode 100644 static/dist/font-awesome/svgs/solid/hotel.svg create mode 100644 static/dist/font-awesome/svgs/solid/hourglass-end.svg create mode 100644 static/dist/font-awesome/svgs/solid/hourglass-half.svg create mode 100644 static/dist/font-awesome/svgs/solid/hourglass-start.svg create mode 100644 static/dist/font-awesome/svgs/solid/hourglass.svg create mode 100644 static/dist/font-awesome/svgs/solid/house-damage.svg create mode 100644 static/dist/font-awesome/svgs/solid/hryvnia.svg create mode 100644 static/dist/font-awesome/svgs/solid/i-cursor.svg create mode 100644 static/dist/font-awesome/svgs/solid/ice-cream.svg create mode 100644 static/dist/font-awesome/svgs/solid/icicles.svg create mode 100644 static/dist/font-awesome/svgs/solid/id-badge.svg create mode 100644 static/dist/font-awesome/svgs/solid/id-card-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/id-card.svg create mode 100644 static/dist/font-awesome/svgs/solid/igloo.svg create mode 100644 static/dist/font-awesome/svgs/solid/image.svg create mode 100644 static/dist/font-awesome/svgs/solid/images.svg create mode 100644 static/dist/font-awesome/svgs/solid/inbox.svg create mode 100644 static/dist/font-awesome/svgs/solid/indent.svg create mode 100644 static/dist/font-awesome/svgs/solid/industry.svg create mode 100644 static/dist/font-awesome/svgs/solid/infinity.svg create mode 100644 static/dist/font-awesome/svgs/solid/info-circle.svg create mode 100644 static/dist/font-awesome/svgs/solid/info.svg create mode 100644 static/dist/font-awesome/svgs/solid/italic.svg create mode 100644 static/dist/font-awesome/svgs/solid/jedi.svg create mode 100644 static/dist/font-awesome/svgs/solid/joint.svg create mode 100644 static/dist/font-awesome/svgs/solid/journal-whills.svg create mode 100644 static/dist/font-awesome/svgs/solid/kaaba.svg create mode 100644 static/dist/font-awesome/svgs/solid/key.svg create mode 100644 static/dist/font-awesome/svgs/solid/keyboard.svg create mode 100644 static/dist/font-awesome/svgs/solid/khanda.svg create mode 100644 static/dist/font-awesome/svgs/solid/kiss-beam.svg create mode 100644 static/dist/font-awesome/svgs/solid/kiss-wink-heart.svg create mode 100644 static/dist/font-awesome/svgs/solid/kiss.svg create mode 100644 static/dist/font-awesome/svgs/solid/kiwi-bird.svg create mode 100644 static/dist/font-awesome/svgs/solid/landmark.svg create mode 100644 static/dist/font-awesome/svgs/solid/language.svg create mode 100644 static/dist/font-awesome/svgs/solid/laptop-code.svg create mode 100644 static/dist/font-awesome/svgs/solid/laptop-medical.svg create mode 100644 static/dist/font-awesome/svgs/solid/laptop.svg create mode 100644 static/dist/font-awesome/svgs/solid/laugh-beam.svg create mode 100644 static/dist/font-awesome/svgs/solid/laugh-squint.svg create mode 100644 static/dist/font-awesome/svgs/solid/laugh-wink.svg create mode 100644 static/dist/font-awesome/svgs/solid/laugh.svg create mode 100644 static/dist/font-awesome/svgs/solid/layer-group.svg create mode 100644 static/dist/font-awesome/svgs/solid/leaf.svg create mode 100644 static/dist/font-awesome/svgs/solid/lemon.svg create mode 100644 static/dist/font-awesome/svgs/solid/less-than-equal.svg create mode 100644 static/dist/font-awesome/svgs/solid/less-than.svg create mode 100644 static/dist/font-awesome/svgs/solid/level-down-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/level-up-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/life-ring.svg create mode 100644 static/dist/font-awesome/svgs/solid/lightbulb.svg create mode 100644 static/dist/font-awesome/svgs/solid/link.svg create mode 100644 static/dist/font-awesome/svgs/solid/lira-sign.svg create mode 100644 static/dist/font-awesome/svgs/solid/list-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/list-ol.svg create mode 100644 static/dist/font-awesome/svgs/solid/list-ul.svg create mode 100644 static/dist/font-awesome/svgs/solid/list.svg create mode 100644 static/dist/font-awesome/svgs/solid/location-arrow.svg create mode 100644 static/dist/font-awesome/svgs/solid/lock-open.svg create mode 100644 static/dist/font-awesome/svgs/solid/lock.svg create mode 100644 static/dist/font-awesome/svgs/solid/long-arrow-alt-down.svg create mode 100644 static/dist/font-awesome/svgs/solid/long-arrow-alt-left.svg create mode 100644 static/dist/font-awesome/svgs/solid/long-arrow-alt-right.svg create mode 100644 static/dist/font-awesome/svgs/solid/long-arrow-alt-up.svg create mode 100644 static/dist/font-awesome/svgs/solid/low-vision.svg create mode 100644 static/dist/font-awesome/svgs/solid/luggage-cart.svg create mode 100644 static/dist/font-awesome/svgs/solid/magic.svg create mode 100644 static/dist/font-awesome/svgs/solid/magnet.svg create mode 100644 static/dist/font-awesome/svgs/solid/mail-bulk.svg create mode 100644 static/dist/font-awesome/svgs/solid/male.svg create mode 100644 static/dist/font-awesome/svgs/solid/map-marked-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/map-marked.svg create mode 100644 static/dist/font-awesome/svgs/solid/map-marker-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/map-marker.svg create mode 100644 static/dist/font-awesome/svgs/solid/map-pin.svg create mode 100644 static/dist/font-awesome/svgs/solid/map-signs.svg create mode 100644 static/dist/font-awesome/svgs/solid/map.svg create mode 100644 static/dist/font-awesome/svgs/solid/marker.svg create mode 100644 static/dist/font-awesome/svgs/solid/mars-double.svg create mode 100644 static/dist/font-awesome/svgs/solid/mars-stroke-h.svg create mode 100644 static/dist/font-awesome/svgs/solid/mars-stroke-v.svg create mode 100644 static/dist/font-awesome/svgs/solid/mars-stroke.svg create mode 100644 static/dist/font-awesome/svgs/solid/mars.svg create mode 100644 static/dist/font-awesome/svgs/solid/mask.svg create mode 100644 static/dist/font-awesome/svgs/solid/medal.svg create mode 100644 static/dist/font-awesome/svgs/solid/medkit.svg create mode 100644 static/dist/font-awesome/svgs/solid/meh-blank.svg create mode 100644 static/dist/font-awesome/svgs/solid/meh-rolling-eyes.svg create mode 100644 static/dist/font-awesome/svgs/solid/meh.svg create mode 100644 static/dist/font-awesome/svgs/solid/memory.svg create mode 100644 static/dist/font-awesome/svgs/solid/menorah.svg create mode 100644 static/dist/font-awesome/svgs/solid/mercury.svg create mode 100644 static/dist/font-awesome/svgs/solid/meteor.svg create mode 100644 static/dist/font-awesome/svgs/solid/microchip.svg create mode 100644 static/dist/font-awesome/svgs/solid/microphone-alt-slash.svg create mode 100644 static/dist/font-awesome/svgs/solid/microphone-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/microphone-slash.svg create mode 100644 static/dist/font-awesome/svgs/solid/microphone.svg create mode 100644 static/dist/font-awesome/svgs/solid/microscope.svg create mode 100644 static/dist/font-awesome/svgs/solid/minus-circle.svg create mode 100644 static/dist/font-awesome/svgs/solid/minus-square.svg create mode 100644 static/dist/font-awesome/svgs/solid/minus.svg create mode 100644 static/dist/font-awesome/svgs/solid/mitten.svg create mode 100644 static/dist/font-awesome/svgs/solid/mobile-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/mobile.svg create mode 100644 static/dist/font-awesome/svgs/solid/money-bill-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/money-bill-wave-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/money-bill-wave.svg create mode 100644 static/dist/font-awesome/svgs/solid/money-bill.svg create mode 100644 static/dist/font-awesome/svgs/solid/money-check-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/money-check.svg create mode 100644 static/dist/font-awesome/svgs/solid/monument.svg create mode 100644 static/dist/font-awesome/svgs/solid/moon.svg create mode 100644 static/dist/font-awesome/svgs/solid/mortar-pestle.svg create mode 100644 static/dist/font-awesome/svgs/solid/mosque.svg create mode 100644 static/dist/font-awesome/svgs/solid/motorcycle.svg create mode 100644 static/dist/font-awesome/svgs/solid/mountain.svg create mode 100644 static/dist/font-awesome/svgs/solid/mouse-pointer.svg create mode 100644 static/dist/font-awesome/svgs/solid/mug-hot.svg create mode 100644 static/dist/font-awesome/svgs/solid/music.svg create mode 100644 static/dist/font-awesome/svgs/solid/network-wired.svg create mode 100644 static/dist/font-awesome/svgs/solid/neuter.svg create mode 100644 static/dist/font-awesome/svgs/solid/newspaper.svg create mode 100644 static/dist/font-awesome/svgs/solid/not-equal.svg create mode 100644 static/dist/font-awesome/svgs/solid/notes-medical.svg create mode 100644 static/dist/font-awesome/svgs/solid/object-group.svg create mode 100644 static/dist/font-awesome/svgs/solid/object-ungroup.svg create mode 100644 static/dist/font-awesome/svgs/solid/oil-can.svg create mode 100644 static/dist/font-awesome/svgs/solid/om.svg create mode 100644 static/dist/font-awesome/svgs/solid/otter.svg create mode 100644 static/dist/font-awesome/svgs/solid/outdent.svg create mode 100644 static/dist/font-awesome/svgs/solid/pager.svg create mode 100644 static/dist/font-awesome/svgs/solid/paint-brush.svg create mode 100644 static/dist/font-awesome/svgs/solid/paint-roller.svg create mode 100644 static/dist/font-awesome/svgs/solid/palette.svg create mode 100644 static/dist/font-awesome/svgs/solid/pallet.svg create mode 100644 static/dist/font-awesome/svgs/solid/paper-plane.svg create mode 100644 static/dist/font-awesome/svgs/solid/paperclip.svg create mode 100644 static/dist/font-awesome/svgs/solid/parachute-box.svg create mode 100644 static/dist/font-awesome/svgs/solid/paragraph.svg create mode 100644 static/dist/font-awesome/svgs/solid/parking.svg create mode 100644 static/dist/font-awesome/svgs/solid/passport.svg create mode 100644 static/dist/font-awesome/svgs/solid/pastafarianism.svg create mode 100644 static/dist/font-awesome/svgs/solid/paste.svg create mode 100644 static/dist/font-awesome/svgs/solid/pause-circle.svg create mode 100644 static/dist/font-awesome/svgs/solid/pause.svg create mode 100644 static/dist/font-awesome/svgs/solid/paw.svg create mode 100644 static/dist/font-awesome/svgs/solid/peace.svg create mode 100644 static/dist/font-awesome/svgs/solid/pen-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/pen-fancy.svg create mode 100644 static/dist/font-awesome/svgs/solid/pen-nib.svg create mode 100644 static/dist/font-awesome/svgs/solid/pen-square.svg create mode 100644 static/dist/font-awesome/svgs/solid/pen.svg create mode 100644 static/dist/font-awesome/svgs/solid/pencil-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/pencil-ruler.svg create mode 100644 static/dist/font-awesome/svgs/solid/people-carry.svg create mode 100644 static/dist/font-awesome/svgs/solid/pepper-hot.svg create mode 100644 static/dist/font-awesome/svgs/solid/percent.svg create mode 100644 static/dist/font-awesome/svgs/solid/percentage.svg create mode 100644 static/dist/font-awesome/svgs/solid/person-booth.svg create mode 100644 static/dist/font-awesome/svgs/solid/phone-slash.svg create mode 100644 static/dist/font-awesome/svgs/solid/phone-square.svg create mode 100644 static/dist/font-awesome/svgs/solid/phone-volume.svg create mode 100644 static/dist/font-awesome/svgs/solid/phone.svg create mode 100644 static/dist/font-awesome/svgs/solid/piggy-bank.svg create mode 100644 static/dist/font-awesome/svgs/solid/pills.svg create mode 100644 static/dist/font-awesome/svgs/solid/pizza-slice.svg create mode 100644 static/dist/font-awesome/svgs/solid/place-of-worship.svg create mode 100644 static/dist/font-awesome/svgs/solid/plane-arrival.svg create mode 100644 static/dist/font-awesome/svgs/solid/plane-departure.svg create mode 100644 static/dist/font-awesome/svgs/solid/plane.svg create mode 100644 static/dist/font-awesome/svgs/solid/play-circle.svg create mode 100644 static/dist/font-awesome/svgs/solid/play.svg create mode 100644 static/dist/font-awesome/svgs/solid/plug.svg create mode 100644 static/dist/font-awesome/svgs/solid/plus-circle.svg create mode 100644 static/dist/font-awesome/svgs/solid/plus-square.svg create mode 100644 static/dist/font-awesome/svgs/solid/plus.svg create mode 100644 static/dist/font-awesome/svgs/solid/podcast.svg create mode 100644 static/dist/font-awesome/svgs/solid/poll-h.svg create mode 100644 static/dist/font-awesome/svgs/solid/poll.svg create mode 100644 static/dist/font-awesome/svgs/solid/poo-storm.svg create mode 100644 static/dist/font-awesome/svgs/solid/poo.svg create mode 100644 static/dist/font-awesome/svgs/solid/poop.svg create mode 100644 static/dist/font-awesome/svgs/solid/portrait.svg create mode 100644 static/dist/font-awesome/svgs/solid/pound-sign.svg create mode 100644 static/dist/font-awesome/svgs/solid/power-off.svg create mode 100644 static/dist/font-awesome/svgs/solid/pray.svg create mode 100644 static/dist/font-awesome/svgs/solid/praying-hands.svg create mode 100644 static/dist/font-awesome/svgs/solid/prescription-bottle-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/prescription-bottle.svg create mode 100644 static/dist/font-awesome/svgs/solid/prescription.svg create mode 100644 static/dist/font-awesome/svgs/solid/print.svg create mode 100644 static/dist/font-awesome/svgs/solid/procedures.svg create mode 100644 static/dist/font-awesome/svgs/solid/project-diagram.svg create mode 100644 static/dist/font-awesome/svgs/solid/puzzle-piece.svg create mode 100644 static/dist/font-awesome/svgs/solid/qrcode.svg create mode 100644 static/dist/font-awesome/svgs/solid/question-circle.svg create mode 100644 static/dist/font-awesome/svgs/solid/question.svg create mode 100644 static/dist/font-awesome/svgs/solid/quidditch.svg create mode 100644 static/dist/font-awesome/svgs/solid/quote-left.svg create mode 100644 static/dist/font-awesome/svgs/solid/quote-right.svg create mode 100644 static/dist/font-awesome/svgs/solid/quran.svg create mode 100644 static/dist/font-awesome/svgs/solid/radiation-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/radiation.svg create mode 100644 static/dist/font-awesome/svgs/solid/rainbow.svg create mode 100644 static/dist/font-awesome/svgs/solid/random.svg create mode 100644 static/dist/font-awesome/svgs/solid/receipt.svg create mode 100644 static/dist/font-awesome/svgs/solid/recycle.svg create mode 100644 static/dist/font-awesome/svgs/solid/redo-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/redo.svg create mode 100644 static/dist/font-awesome/svgs/solid/registered.svg create mode 100644 static/dist/font-awesome/svgs/solid/reply-all.svg create mode 100644 static/dist/font-awesome/svgs/solid/reply.svg create mode 100644 static/dist/font-awesome/svgs/solid/republican.svg create mode 100644 static/dist/font-awesome/svgs/solid/restroom.svg create mode 100644 static/dist/font-awesome/svgs/solid/retweet.svg create mode 100644 static/dist/font-awesome/svgs/solid/ribbon.svg create mode 100644 static/dist/font-awesome/svgs/solid/ring.svg create mode 100644 static/dist/font-awesome/svgs/solid/road.svg create mode 100644 static/dist/font-awesome/svgs/solid/robot.svg create mode 100644 static/dist/font-awesome/svgs/solid/rocket.svg create mode 100644 static/dist/font-awesome/svgs/solid/route.svg create mode 100644 static/dist/font-awesome/svgs/solid/rss-square.svg create mode 100644 static/dist/font-awesome/svgs/solid/rss.svg create mode 100644 static/dist/font-awesome/svgs/solid/ruble-sign.svg create mode 100644 static/dist/font-awesome/svgs/solid/ruler-combined.svg create mode 100644 static/dist/font-awesome/svgs/solid/ruler-horizontal.svg create mode 100644 static/dist/font-awesome/svgs/solid/ruler-vertical.svg create mode 100644 static/dist/font-awesome/svgs/solid/ruler.svg create mode 100644 static/dist/font-awesome/svgs/solid/running.svg create mode 100644 static/dist/font-awesome/svgs/solid/rupee-sign.svg create mode 100644 static/dist/font-awesome/svgs/solid/sad-cry.svg create mode 100644 static/dist/font-awesome/svgs/solid/sad-tear.svg create mode 100644 static/dist/font-awesome/svgs/solid/satellite-dish.svg create mode 100644 static/dist/font-awesome/svgs/solid/satellite.svg create mode 100644 static/dist/font-awesome/svgs/solid/save.svg create mode 100644 static/dist/font-awesome/svgs/solid/school.svg create mode 100644 static/dist/font-awesome/svgs/solid/screwdriver.svg create mode 100644 static/dist/font-awesome/svgs/solid/scroll.svg create mode 100644 static/dist/font-awesome/svgs/solid/sd-card.svg create mode 100644 static/dist/font-awesome/svgs/solid/search-dollar.svg create mode 100644 static/dist/font-awesome/svgs/solid/search-location.svg create mode 100644 static/dist/font-awesome/svgs/solid/search-minus.svg create mode 100644 static/dist/font-awesome/svgs/solid/search-plus.svg create mode 100644 static/dist/font-awesome/svgs/solid/search.svg create mode 100644 static/dist/font-awesome/svgs/solid/seedling.svg create mode 100644 static/dist/font-awesome/svgs/solid/server.svg create mode 100644 static/dist/font-awesome/svgs/solid/shapes.svg create mode 100644 static/dist/font-awesome/svgs/solid/share-alt-square.svg create mode 100644 static/dist/font-awesome/svgs/solid/share-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/share-square.svg create mode 100644 static/dist/font-awesome/svgs/solid/share.svg create mode 100644 static/dist/font-awesome/svgs/solid/shekel-sign.svg create mode 100644 static/dist/font-awesome/svgs/solid/shield-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/ship.svg create mode 100644 static/dist/font-awesome/svgs/solid/shipping-fast.svg create mode 100644 static/dist/font-awesome/svgs/solid/shoe-prints.svg create mode 100644 static/dist/font-awesome/svgs/solid/shopping-bag.svg create mode 100644 static/dist/font-awesome/svgs/solid/shopping-basket.svg create mode 100644 static/dist/font-awesome/svgs/solid/shopping-cart.svg create mode 100644 static/dist/font-awesome/svgs/solid/shower.svg create mode 100644 static/dist/font-awesome/svgs/solid/shuttle-van.svg create mode 100644 static/dist/font-awesome/svgs/solid/sign-in-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/sign-language.svg create mode 100644 static/dist/font-awesome/svgs/solid/sign-out-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/sign.svg create mode 100644 static/dist/font-awesome/svgs/solid/signal.svg create mode 100644 static/dist/font-awesome/svgs/solid/signature.svg create mode 100644 static/dist/font-awesome/svgs/solid/sim-card.svg create mode 100644 static/dist/font-awesome/svgs/solid/sitemap.svg create mode 100644 static/dist/font-awesome/svgs/solid/skating.svg create mode 100644 static/dist/font-awesome/svgs/solid/skiing-nordic.svg create mode 100644 static/dist/font-awesome/svgs/solid/skiing.svg create mode 100644 static/dist/font-awesome/svgs/solid/skull-crossbones.svg create mode 100644 static/dist/font-awesome/svgs/solid/skull.svg create mode 100644 static/dist/font-awesome/svgs/solid/slash.svg create mode 100644 static/dist/font-awesome/svgs/solid/sleigh.svg create mode 100644 static/dist/font-awesome/svgs/solid/sliders-h.svg create mode 100644 static/dist/font-awesome/svgs/solid/smile-beam.svg create mode 100644 static/dist/font-awesome/svgs/solid/smile-wink.svg create mode 100644 static/dist/font-awesome/svgs/solid/smile.svg create mode 100644 static/dist/font-awesome/svgs/solid/smog.svg create mode 100644 static/dist/font-awesome/svgs/solid/smoking-ban.svg create mode 100644 static/dist/font-awesome/svgs/solid/smoking.svg create mode 100644 static/dist/font-awesome/svgs/solid/sms.svg create mode 100644 static/dist/font-awesome/svgs/solid/snowboarding.svg create mode 100644 static/dist/font-awesome/svgs/solid/snowflake.svg create mode 100644 static/dist/font-awesome/svgs/solid/snowman.svg create mode 100644 static/dist/font-awesome/svgs/solid/snowplow.svg create mode 100644 static/dist/font-awesome/svgs/solid/socks.svg create mode 100644 static/dist/font-awesome/svgs/solid/solar-panel.svg create mode 100644 static/dist/font-awesome/svgs/solid/sort-alpha-down.svg create mode 100644 static/dist/font-awesome/svgs/solid/sort-alpha-up.svg create mode 100644 static/dist/font-awesome/svgs/solid/sort-amount-down.svg create mode 100644 static/dist/font-awesome/svgs/solid/sort-amount-up.svg create mode 100644 static/dist/font-awesome/svgs/solid/sort-down.svg create mode 100644 static/dist/font-awesome/svgs/solid/sort-numeric-down.svg create mode 100644 static/dist/font-awesome/svgs/solid/sort-numeric-up.svg create mode 100644 static/dist/font-awesome/svgs/solid/sort-up.svg create mode 100644 static/dist/font-awesome/svgs/solid/sort.svg create mode 100644 static/dist/font-awesome/svgs/solid/spa.svg create mode 100644 static/dist/font-awesome/svgs/solid/space-shuttle.svg create mode 100644 static/dist/font-awesome/svgs/solid/spider.svg create mode 100644 static/dist/font-awesome/svgs/solid/spinner.svg create mode 100644 static/dist/font-awesome/svgs/solid/splotch.svg create mode 100644 static/dist/font-awesome/svgs/solid/spray-can.svg create mode 100644 static/dist/font-awesome/svgs/solid/square-full.svg create mode 100644 static/dist/font-awesome/svgs/solid/square-root-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/square.svg create mode 100644 static/dist/font-awesome/svgs/solid/stamp.svg create mode 100644 static/dist/font-awesome/svgs/solid/star-and-crescent.svg create mode 100644 static/dist/font-awesome/svgs/solid/star-half-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/star-half.svg create mode 100644 static/dist/font-awesome/svgs/solid/star-of-david.svg create mode 100644 static/dist/font-awesome/svgs/solid/star-of-life.svg create mode 100644 static/dist/font-awesome/svgs/solid/star.svg create mode 100644 static/dist/font-awesome/svgs/solid/step-backward.svg create mode 100644 static/dist/font-awesome/svgs/solid/step-forward.svg create mode 100644 static/dist/font-awesome/svgs/solid/stethoscope.svg create mode 100644 static/dist/font-awesome/svgs/solid/sticky-note.svg create mode 100644 static/dist/font-awesome/svgs/solid/stop-circle.svg create mode 100644 static/dist/font-awesome/svgs/solid/stop.svg create mode 100644 static/dist/font-awesome/svgs/solid/stopwatch.svg create mode 100644 static/dist/font-awesome/svgs/solid/store-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/store.svg create mode 100644 static/dist/font-awesome/svgs/solid/stream.svg create mode 100644 static/dist/font-awesome/svgs/solid/street-view.svg create mode 100644 static/dist/font-awesome/svgs/solid/strikethrough.svg create mode 100644 static/dist/font-awesome/svgs/solid/stroopwafel.svg create mode 100644 static/dist/font-awesome/svgs/solid/subscript.svg create mode 100644 static/dist/font-awesome/svgs/solid/subway.svg create mode 100644 static/dist/font-awesome/svgs/solid/suitcase-rolling.svg create mode 100644 static/dist/font-awesome/svgs/solid/suitcase.svg create mode 100644 static/dist/font-awesome/svgs/solid/sun.svg create mode 100644 static/dist/font-awesome/svgs/solid/superscript.svg create mode 100644 static/dist/font-awesome/svgs/solid/surprise.svg create mode 100644 static/dist/font-awesome/svgs/solid/swatchbook.svg create mode 100644 static/dist/font-awesome/svgs/solid/swimmer.svg create mode 100644 static/dist/font-awesome/svgs/solid/swimming-pool.svg create mode 100644 static/dist/font-awesome/svgs/solid/synagogue.svg create mode 100644 static/dist/font-awesome/svgs/solid/sync-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/sync.svg create mode 100644 static/dist/font-awesome/svgs/solid/syringe.svg create mode 100644 static/dist/font-awesome/svgs/solid/table-tennis.svg create mode 100644 static/dist/font-awesome/svgs/solid/table.svg create mode 100644 static/dist/font-awesome/svgs/solid/tablet-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/tablet.svg create mode 100644 static/dist/font-awesome/svgs/solid/tablets.svg create mode 100644 static/dist/font-awesome/svgs/solid/tachometer-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/tag.svg create mode 100644 static/dist/font-awesome/svgs/solid/tags.svg create mode 100644 static/dist/font-awesome/svgs/solid/tape.svg create mode 100644 static/dist/font-awesome/svgs/solid/tasks.svg create mode 100644 static/dist/font-awesome/svgs/solid/taxi.svg create mode 100644 static/dist/font-awesome/svgs/solid/teeth-open.svg create mode 100644 static/dist/font-awesome/svgs/solid/teeth.svg create mode 100644 static/dist/font-awesome/svgs/solid/temperature-high.svg create mode 100644 static/dist/font-awesome/svgs/solid/temperature-low.svg create mode 100644 static/dist/font-awesome/svgs/solid/tenge.svg create mode 100644 static/dist/font-awesome/svgs/solid/terminal.svg create mode 100644 static/dist/font-awesome/svgs/solid/text-height.svg create mode 100644 static/dist/font-awesome/svgs/solid/text-width.svg create mode 100644 static/dist/font-awesome/svgs/solid/th-large.svg create mode 100644 static/dist/font-awesome/svgs/solid/th-list.svg create mode 100644 static/dist/font-awesome/svgs/solid/th.svg create mode 100644 static/dist/font-awesome/svgs/solid/theater-masks.svg create mode 100644 static/dist/font-awesome/svgs/solid/thermometer-empty.svg create mode 100644 static/dist/font-awesome/svgs/solid/thermometer-full.svg create mode 100644 static/dist/font-awesome/svgs/solid/thermometer-half.svg create mode 100644 static/dist/font-awesome/svgs/solid/thermometer-quarter.svg create mode 100644 static/dist/font-awesome/svgs/solid/thermometer-three-quarters.svg create mode 100644 static/dist/font-awesome/svgs/solid/thermometer.svg create mode 100644 static/dist/font-awesome/svgs/solid/thumbs-down.svg create mode 100644 static/dist/font-awesome/svgs/solid/thumbs-up.svg create mode 100644 static/dist/font-awesome/svgs/solid/thumbtack.svg create mode 100644 static/dist/font-awesome/svgs/solid/ticket-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/times-circle.svg create mode 100644 static/dist/font-awesome/svgs/solid/times.svg create mode 100644 static/dist/font-awesome/svgs/solid/tint-slash.svg create mode 100644 static/dist/font-awesome/svgs/solid/tint.svg create mode 100644 static/dist/font-awesome/svgs/solid/tired.svg create mode 100644 static/dist/font-awesome/svgs/solid/toggle-off.svg create mode 100644 static/dist/font-awesome/svgs/solid/toggle-on.svg create mode 100644 static/dist/font-awesome/svgs/solid/toilet-paper.svg create mode 100644 static/dist/font-awesome/svgs/solid/toilet.svg create mode 100644 static/dist/font-awesome/svgs/solid/toolbox.svg create mode 100644 static/dist/font-awesome/svgs/solid/tools.svg create mode 100644 static/dist/font-awesome/svgs/solid/tooth.svg create mode 100644 static/dist/font-awesome/svgs/solid/torah.svg create mode 100644 static/dist/font-awesome/svgs/solid/torii-gate.svg create mode 100644 static/dist/font-awesome/svgs/solid/tractor.svg create mode 100644 static/dist/font-awesome/svgs/solid/trademark.svg create mode 100644 static/dist/font-awesome/svgs/solid/traffic-light.svg create mode 100644 static/dist/font-awesome/svgs/solid/train.svg create mode 100644 static/dist/font-awesome/svgs/solid/tram.svg create mode 100644 static/dist/font-awesome/svgs/solid/transgender-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/transgender.svg create mode 100644 static/dist/font-awesome/svgs/solid/trash-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/trash-restore-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/trash-restore.svg create mode 100644 static/dist/font-awesome/svgs/solid/trash.svg create mode 100644 static/dist/font-awesome/svgs/solid/tree.svg create mode 100644 static/dist/font-awesome/svgs/solid/trophy.svg create mode 100644 static/dist/font-awesome/svgs/solid/truck-loading.svg create mode 100644 static/dist/font-awesome/svgs/solid/truck-monster.svg create mode 100644 static/dist/font-awesome/svgs/solid/truck-moving.svg create mode 100644 static/dist/font-awesome/svgs/solid/truck-pickup.svg create mode 100644 static/dist/font-awesome/svgs/solid/truck.svg create mode 100644 static/dist/font-awesome/svgs/solid/tshirt.svg create mode 100644 static/dist/font-awesome/svgs/solid/tty.svg create mode 100644 static/dist/font-awesome/svgs/solid/tv.svg create mode 100644 static/dist/font-awesome/svgs/solid/umbrella-beach.svg create mode 100644 static/dist/font-awesome/svgs/solid/umbrella.svg create mode 100644 static/dist/font-awesome/svgs/solid/underline.svg create mode 100644 static/dist/font-awesome/svgs/solid/undo-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/undo.svg create mode 100644 static/dist/font-awesome/svgs/solid/universal-access.svg create mode 100644 static/dist/font-awesome/svgs/solid/university.svg create mode 100644 static/dist/font-awesome/svgs/solid/unlink.svg create mode 100644 static/dist/font-awesome/svgs/solid/unlock-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/unlock.svg create mode 100644 static/dist/font-awesome/svgs/solid/upload.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-alt-slash.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-astronaut.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-check.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-circle.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-clock.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-cog.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-edit.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-friends.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-graduate.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-injured.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-lock.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-md.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-minus.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-ninja.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-nurse.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-plus.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-secret.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-shield.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-slash.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-tag.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-tie.svg create mode 100644 static/dist/font-awesome/svgs/solid/user-times.svg create mode 100644 static/dist/font-awesome/svgs/solid/user.svg create mode 100644 static/dist/font-awesome/svgs/solid/users-cog.svg create mode 100644 static/dist/font-awesome/svgs/solid/users.svg create mode 100644 static/dist/font-awesome/svgs/solid/utensil-spoon.svg create mode 100644 static/dist/font-awesome/svgs/solid/utensils.svg create mode 100644 static/dist/font-awesome/svgs/solid/vector-square.svg create mode 100644 static/dist/font-awesome/svgs/solid/venus-double.svg create mode 100644 static/dist/font-awesome/svgs/solid/venus-mars.svg create mode 100644 static/dist/font-awesome/svgs/solid/venus.svg create mode 100644 static/dist/font-awesome/svgs/solid/vial.svg create mode 100644 static/dist/font-awesome/svgs/solid/vials.svg create mode 100644 static/dist/font-awesome/svgs/solid/video-slash.svg create mode 100644 static/dist/font-awesome/svgs/solid/video.svg create mode 100644 static/dist/font-awesome/svgs/solid/vihara.svg create mode 100644 static/dist/font-awesome/svgs/solid/volleyball-ball.svg create mode 100644 static/dist/font-awesome/svgs/solid/volume-down.svg create mode 100644 static/dist/font-awesome/svgs/solid/volume-mute.svg create mode 100644 static/dist/font-awesome/svgs/solid/volume-off.svg create mode 100644 static/dist/font-awesome/svgs/solid/volume-up.svg create mode 100644 static/dist/font-awesome/svgs/solid/vote-yea.svg create mode 100644 static/dist/font-awesome/svgs/solid/vr-cardboard.svg create mode 100644 static/dist/font-awesome/svgs/solid/walking.svg create mode 100644 static/dist/font-awesome/svgs/solid/wallet.svg create mode 100644 static/dist/font-awesome/svgs/solid/warehouse.svg create mode 100644 static/dist/font-awesome/svgs/solid/water.svg create mode 100644 static/dist/font-awesome/svgs/solid/weight-hanging.svg create mode 100644 static/dist/font-awesome/svgs/solid/weight.svg create mode 100644 static/dist/font-awesome/svgs/solid/wheelchair.svg create mode 100644 static/dist/font-awesome/svgs/solid/wifi.svg create mode 100644 static/dist/font-awesome/svgs/solid/wind.svg create mode 100644 static/dist/font-awesome/svgs/solid/window-close.svg create mode 100644 static/dist/font-awesome/svgs/solid/window-maximize.svg create mode 100644 static/dist/font-awesome/svgs/solid/window-minimize.svg create mode 100644 static/dist/font-awesome/svgs/solid/window-restore.svg create mode 100644 static/dist/font-awesome/svgs/solid/wine-bottle.svg create mode 100644 static/dist/font-awesome/svgs/solid/wine-glass-alt.svg create mode 100644 static/dist/font-awesome/svgs/solid/wine-glass.svg create mode 100644 static/dist/font-awesome/svgs/solid/won-sign.svg create mode 100644 static/dist/font-awesome/svgs/solid/wrench.svg create mode 100644 static/dist/font-awesome/svgs/solid/x-ray.svg create mode 100644 static/dist/font-awesome/svgs/solid/yen-sign.svg create mode 100644 static/dist/font-awesome/svgs/solid/yin-yang.svg create mode 100644 static/dist/font-awesome/webfonts/fa-brands-400.eot create mode 100644 static/dist/font-awesome/webfonts/fa-brands-400.svg create mode 100644 static/dist/font-awesome/webfonts/fa-brands-400.ttf create mode 100644 static/dist/font-awesome/webfonts/fa-brands-400.woff create mode 100644 static/dist/font-awesome/webfonts/fa-brands-400.woff2 create mode 100644 static/dist/font-awesome/webfonts/fa-regular-400.eot create mode 100644 static/dist/font-awesome/webfonts/fa-regular-400.svg create mode 100644 static/dist/font-awesome/webfonts/fa-regular-400.ttf create mode 100644 static/dist/font-awesome/webfonts/fa-regular-400.woff create mode 100644 static/dist/font-awesome/webfonts/fa-regular-400.woff2 create mode 100644 static/dist/font-awesome/webfonts/fa-solid-900.eot create mode 100644 static/dist/font-awesome/webfonts/fa-solid-900.svg create mode 100644 static/dist/font-awesome/webfonts/fa-solid-900.ttf create mode 100644 static/dist/font-awesome/webfonts/fa-solid-900.woff create mode 100644 static/dist/font-awesome/webfonts/fa-solid-900.woff2 create mode 100644 static/dist/fonts/glyphicons-halflings-regular.eot create mode 100644 static/dist/fonts/glyphicons-halflings-regular.svg create mode 100644 static/dist/fonts/glyphicons-halflings-regular.ttf create mode 100644 static/dist/fonts/glyphicons-halflings-regular.woff create mode 100644 static/dist/js/bootstrap.bundle.js create mode 100644 static/dist/js/bootstrap.bundle.js.map create mode 100644 static/dist/js/bootstrap.bundle.min.js create mode 100644 static/dist/js/bootstrap.bundle.min.js.map create mode 100644 static/dist/js/bootstrap.js create mode 100644 static/dist/js/bootstrap.js.map create mode 100644 static/dist/js/bootstrap.min.js create mode 100644 static/dist/js/bootstrap.min.js.map create mode 100644 static/dist/js/jquery-1.11.1.min.js create mode 100644 static/dist/js/npm.js create mode 100644 static/dist/js/pdf-view.js create mode 100644 static/dist/js/pdf.js create mode 100644 static/dist/js/pdf.min.js create mode 100644 static/dist/js/pdf.worker.js create mode 100644 static/dist/js/pdf.worker.min.js create mode 100644 static/images/NetBSD_Logo.svg create mode 100644 static/images/arch.png create mode 100644 static/images/archlinux-logo.svg create mode 100644 static/images/cadet-gtk.svg create mode 100644 static/images/ccby.png create mode 100644 static/images/debian-logo.svg create mode 100644 static/images/dfg_logo.gif create mode 100644 static/images/fp7_logo.jpg create mode 100644 static/images/gentoo-logo.svg create mode 100644 static/images/gns-logo.png create mode 100644 static/images/gnunet-anonymous-logo-red.png create mode 100644 static/images/gnunet-anonymous-logo.png create mode 100644 static/images/gnunet-anonymous-schriftzug.png create mode 100644 static/images/gnunet-arch-full.svg create mode 100644 static/images/gnunet-cyan-icon.png create mode 100644 static/images/gnunet-historic-logo.svg create mode 100644 static/images/gnunet-icon.png create mode 100644 static/images/gnunet-logo-dark-only-text.png create mode 100644 static/images/gnunet-logo-dark-only-text.svg create mode 100644 static/images/gnunet-logo-dark-text-traditional.png create mode 100644 static/images/gnunet-logo-dark-text-traditional.svg create mode 100644 static/images/gnunet-logo-dark-text.png create mode 100644 static/images/gnunet-logo-dark-text.svg create mode 100644 static/images/gnunet-logo.png create mode 100644 static/images/gnunet-logo.svg create mode 100644 static/images/gnunet-red-icon.png create mode 100644 static/images/gnunet-small-logo.png create mode 100644 static/images/gnunet-smaller-logo.png create mode 100644 static/images/groupchat.png create mode 100644 static/images/languageicon.svg create mode 100644 static/images/logo-2018-dold.svg create mode 100644 static/images/netbsd-logo.png create mode 100644 static/images/ngi_trust.png create mode 100644 static/images/nlnet_logo.gif create mode 100644 static/images/openwrt-logo.svg create mode 100644 static/images/pdf.svg create mode 100644 static/images/peplogo.svg create mode 100644 static/images/reclaim_logo.png create mode 100644 static/images/rff_logo.png create mode 100644 static/images/secushare-0444.png create mode 100644 static/images/u-n-icon.png create mode 100644 static/images/ubuntu-logo32.png create mode 100644 static/navbar.css create mode 100644 static/scroll.css create mode 100644 static/scroll.js create mode 100644 static/styles.css create mode 100644 template/news/2011-11-24-archived-vfork.html.j2 create mode 100644 template/news/2013-11-15-special-use-gns.html.j2 create mode 100644 template/news/2013-12-28-archived-typos-pkeys.html.j2 create mode 100644 template/news/2018-06.html.j2 create mode 100644 template/news/2018-07.html.j2 create mode 100644 template/news/2019-0.11.0.html.j2 create mode 100644 template/news/2019-0.11.1.html.j2 create mode 100644 template/news/2019-0.11.2.html.j2 create mode 100644 template/news/2019-0.11.3.html.j2 create mode 100644 template/news/2019-0.11.4.html.j2 create mode 100644 template/news/2019-0.11.5.html.j2 create mode 100644 template/news/2019-0.11.6.html.j2 create mode 100644 template/news/2019-0.11.7.html.j2 create mode 100644 template/news/2019-0.11.8.html.j2 create mode 100644 template/news/2019-0.12.0.html.j2 create mode 100644 template/news/2019-0.12.1.html.j2 create mode 100644 template/news/2019-02.html.j2 create mode 100644 template/news/2019-06-DSTJ.html.j2 create mode 100644 template/news/2019-06.html.j2 create mode 100644 template/news/2019-07-GHM_Aug_2019.html.j2 create mode 100644 template/news/2019-10-GNSSpec1.html.j2 create mode 100644 template/news/2019-10-ICANNPanel.html.j2 create mode 100644 template/news/2019-11-ICANNUpdate.html.j2 create mode 100644 template/news/2019-12-UpcomingTalks.html.j2 create mode 100644 template/news/2020-01-0.12.2.html.j2 create mode 100644 template/news/2020-01-GNSSpec2.html.j2 create mode 100644 template/news/2020-05-GHM_Jun_2020.html.j2 create mode 100644 template/news/2020-06-GNSSpec3.html.j2 create mode 100644 template/news/2020-07-0.13.0.html.j2 create mode 100644 template/news/2020-07-0.13.1.html.j2 create mode 100644 template/news/2020-08-0.13.2.html.j2 create mode 100644 template/news/2020-09-0.13.3.html.j2 create mode 100644 template/news/2020-11-0.14.0.html.j2 create mode 100644 template/news/2020-11-GNSSpec4.html.j2 create mode 100644 template/news/2021-03-0.14.1.html.j2 create mode 100644 template/news/2021-03-gsoc-update.html.j2 create mode 100644 template/news/2021-04-DISSENS.html.j2 create mode 100644 template/news/index.html.j2 create mode 120000 template/news/oldnews-2011.html.j2 create mode 120000 template/news/oldnews-2013.html.j2 create mode 100644 template/news/oldnews-2018.html.j2 create mode 120000 template/news/oldnews-2019.html.j2 delete mode 100644 web-common/navbar.css delete mode 100644 web-common/scroll.css delete mode 100644 web-common/scroll.js delete mode 100644 web-common/styles.css (limited to 'locale/it/LC_MESSAGES/messages.po') diff --git a/.gitignore b/.gitignore index 2f8a6ddd..ce8f1bc4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,18 +1,9 @@ -./*.html -common/*.inc - old/ videos/grothoff2014fossa.webm videos/grothoff2014fossa.ogv rendered/ -en/ -de/ -fr/ -it/ -es/ -ru/ __pycache__ *.pyc diff --git a/Makefile b/Makefile index c38e8da8..84d88d39 100644 --- a/Makefile +++ b/Makefile @@ -3,86 +3,62 @@ include build-system/config.mk # List of all supported languages, add new languages here! -LANGUAGES="en de fr it es ar hi ja ko pt zh_Hant" +LANGUAGES="ar de en es fr hi it ja ko pt zh_Hant" # All: build HTML pages in all languages and compile the -# TypeScript logic in web-common. .PHONY: all all: locale template -# ($(cp) rendered/static/javascript.html rendered/javascript.html) - ($(cp) rendered/static/robots.txt rendered/robots.txt) - ($(cp) rendered/static/robots.txt rendered/dist/robots.txt) - (for lang in `echo $(LANGUAGES)` ; do \ - $(cp) rendered/static/robots.txt rendered/$$lang/robots.txt; \ - done) - ($(python) inc/make_sitemap.py -i rendered) - ($(cp) sitemap.xml rendered/sitemap.xml) - ($(cp) sitemap.xml rendered/en/sitemap.xml) - (for lang in `echo $(LANGUAGES)` ; do \ - $(cp) rendered/sitemap.xml rendered/$$lang ; \ - done) - ($(cp) -R images rendered/static/) - (for lang in `echo $(LANGUAGES)` ; \ - do $(cp) -R images rendered/$$lang ; \ - done) - ($(cp) -R web-common/* rendered/static/) - (cd rendered; \ - for lang in `echo $(LANGUAGES)`; do \ - $(cp) $$lang/rss.xml $$lang/news/rss.xml; \ - done) - (for d in dist ; do \ - $(cp) -R $$d rendered/ ; \ - done) -# ($(cp) -R pdf rendered/static/) - ($(mkdir) -p rendered/.well-known ; $(cp) .well-known/security.txt rendered/.well-known/) + env BASEURL=$(opt_baseurl) ./inc/make_site.py # Extract translateable strings from jinja2 templates. -locale/messages.pot: template/*.j2 common/*.j2 common/*.j2.inc - $(python) inc/mybabel.py $(pybabel) extract -F locale/babel.map -o locale/messages.pot . +locale/messages.pot: template/*.j2 template/news/*.j2 common/*.j2 common/*.j2.inc + env PYTHONPATH=$$PWD/inc:$$PYTHONPATH $(pybabel) extract -F locale/babel.map -o locale/messages.pot . # Update translation (.po) files with new strings. .PHONY: locale-update locale-update: locale/messages.pot - (for lang in `echo $(LANGUAGES)`; do \ + for lang in `echo $(LANGUAGES)`; do \ $(msgmerge) -q -U -m --previous locale/$$lang/LC_MESSAGES/messages.po locale/messages.pot ; \ - done) - if $(grep) -nA1 '#-#-#-#-#' locale/*/LC_MESSAGES/messages.po; then $(echo) -e "\nERROR: Conflicts encountered in PO files.\n"; exit 1; fi + done + if $(grep) -nA1 '#-#-#-#-#' locale/*/LC_MESSAGES/messages.po; then \ + $(echo) -e "\nERROR: Conflicts encountered in PO files.\n"; \ + exit 1; \ + fi # Compile translation files for use. .PHONY: locale-compile locale-compile: - (for lang in `echo $(LANGUAGES)`; do \ + for lang in `echo $(LANGUAGES)`; do \ + echo compiling $$lang; \ $(pybabel) -q compile -d locale -l $$lang --use-fuzzy ; \ - done) + done # Process everything related to gettext translations. .PHONY: locale locale: locale-update locale-compile -# Run the jinja2 templating engine to expand templates to HTML -# incorporating translations. -template: locale-compile - $(python) ./make_site.py - .PHONY: run run: all $(browser) http://0.0.0.0:8000/rendered/en & $(python) -m http.server +variant = $(opt_variant) + +ifndef variant +$(error variant is not set) +endif + .PHONY: install install: all - $(mkdir) -p $(prefix)/ - $(cp) -r rendered/* $(prefix)/ - $(cp) -r rendered/.well-known/ $(prefix)/ - -.PHONY: uninstall -uninstall: - $(rm) -rf $(prefix)/ + $(mkdir) -p $(prefix)/$(variant) + $(cp) -r rendered/* $(prefix)/$(variant)/ + $(cp) -r rendered/.well-known/ $(prefix)/$(variant)/ .PHONY: clean clean: $(rm) -rf __pycache__ *.pyc *~ \.*~ \#*\# $(rm) -rf rendered/ +.PHONY: submodules/update submodules/update: $(git) submodule update --recursive --remote diff --git a/__init__.py b/__init__.py deleted file mode 100644 index a24c5cd9..00000000 --- a/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -# For relative imports to work in Python 3.6 -import os, sys -sys.path.append(os.path.dirname(os.path.realpath(__file__))) diff --git a/build-system/configure.py b/build-system/configure.py index a4bdde50..60aa96cd 100644 --- a/build-system/configure.py +++ b/build-system/configure.py @@ -4,8 +4,12 @@ from talerbuildconfig import * b = BuildConfig() b.enable_prefix() -b.enable_variant() b.enable_configmk() +b.use(Option("variant", "Variant (used as output directory)")) + +# Base URL for the site. Per default, the URL is the protocol-relative +# root path. +b.use(Option("baseurl", "Base URL that the site will run on", default="//", required=False)) b.add_tool(PythonTool()) b.add_tool(PyBabelTool()) b.add_tool(PosixTool("cp")) diff --git a/build-system/taler-build-scripts b/build-system/taler-build-scripts index e08ea379..5fb2f811 160000 --- a/build-system/taler-build-scripts +++ b/build-system/taler-build-scripts @@ -1 +1 @@ -Subproject commit e08ea37979dcc17ac8e0987251771d771503cb56 +Subproject commit 5fb2f811026bbe7152ed59b712248048853eb0f6 diff --git a/dist/css/bootstrap-grid.css b/dist/css/bootstrap-grid.css deleted file mode 100644 index 68b84f84..00000000 --- a/dist/css/bootstrap-grid.css +++ /dev/null @@ -1,3719 +0,0 @@ -/*! - * Bootstrap Grid v4.3.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -html { - box-sizing: border-box; - -ms-overflow-style: scrollbar; -} - -*, -*::before, -*::after { - box-sizing: inherit; -} - -.container { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -@media (min-width: 576px) { - .container { - max-width: 540px; - } -} - -@media (min-width: 768px) { - .container { - max-width: 720px; - } -} - -@media (min-width: 992px) { - .container { - max-width: 960px; - } -} - -@media (min-width: 1200px) { - .container { - max-width: 1140px; - } -} - -.container-fluid { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -.row { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - margin-right: -15px; - margin-left: -15px; -} - -.no-gutters { - margin-right: 0; - margin-left: 0; -} - -.no-gutters > .col, -.no-gutters > [class*="col-"] { - padding-right: 0; - padding-left: 0; -} - -.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, -.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, -.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, -.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, -.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, -.col-xl-auto { - position: relative; - width: 100%; - padding-right: 15px; - padding-left: 15px; -} - -.col { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; -} - -.col-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: 100%; -} - -.col-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; -} - -.col-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; -} - -.col-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; -} - -.col-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; -} - -.col-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; -} - -.col-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; -} - -.col-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; -} - -.col-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; -} - -.col-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; -} - -.col-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; -} - -.col-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; -} - -.col-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; -} - -.order-first { - -ms-flex-order: -1; - order: -1; -} - -.order-last { - -ms-flex-order: 13; - order: 13; -} - -.order-0 { - -ms-flex-order: 0; - order: 0; -} - -.order-1 { - -ms-flex-order: 1; - order: 1; -} - -.order-2 { - -ms-flex-order: 2; - order: 2; -} - -.order-3 { - -ms-flex-order: 3; - order: 3; -} - -.order-4 { - -ms-flex-order: 4; - order: 4; -} - -.order-5 { - -ms-flex-order: 5; - order: 5; -} - -.order-6 { - -ms-flex-order: 6; - order: 6; -} - -.order-7 { - -ms-flex-order: 7; - order: 7; -} - -.order-8 { - -ms-flex-order: 8; - order: 8; -} - -.order-9 { - -ms-flex-order: 9; - order: 9; -} - -.order-10 { - -ms-flex-order: 10; - order: 10; -} - -.order-11 { - -ms-flex-order: 11; - order: 11; -} - -.order-12 { - -ms-flex-order: 12; - order: 12; -} - -.offset-1 { - margin-left: 8.333333%; -} - -.offset-2 { - margin-left: 16.666667%; -} - -.offset-3 { - margin-left: 25%; -} - -.offset-4 { - margin-left: 33.333333%; -} - -.offset-5 { - margin-left: 41.666667%; -} - -.offset-6 { - margin-left: 50%; -} - -.offset-7 { - margin-left: 58.333333%; -} - -.offset-8 { - margin-left: 66.666667%; -} - -.offset-9 { - margin-left: 75%; -} - -.offset-10 { - margin-left: 83.333333%; -} - -.offset-11 { - margin-left: 91.666667%; -} - -@media (min-width: 576px) { - .col-sm { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-sm-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-sm-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-sm-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-sm-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-sm-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-sm-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-sm-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-sm-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-sm-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-sm-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-sm-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-sm-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-sm-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-sm-first { - -ms-flex-order: -1; - order: -1; - } - .order-sm-last { - -ms-flex-order: 13; - order: 13; - } - .order-sm-0 { - -ms-flex-order: 0; - order: 0; - } - .order-sm-1 { - -ms-flex-order: 1; - order: 1; - } - .order-sm-2 { - -ms-flex-order: 2; - order: 2; - } - .order-sm-3 { - -ms-flex-order: 3; - order: 3; - } - .order-sm-4 { - -ms-flex-order: 4; - order: 4; - } - .order-sm-5 { - -ms-flex-order: 5; - order: 5; - } - .order-sm-6 { - -ms-flex-order: 6; - order: 6; - } - .order-sm-7 { - -ms-flex-order: 7; - order: 7; - } - .order-sm-8 { - -ms-flex-order: 8; - order: 8; - } - .order-sm-9 { - -ms-flex-order: 9; - order: 9; - } - .order-sm-10 { - -ms-flex-order: 10; - order: 10; - } - .order-sm-11 { - -ms-flex-order: 11; - order: 11; - } - .order-sm-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-sm-0 { - margin-left: 0; - } - .offset-sm-1 { - margin-left: 8.333333%; - } - .offset-sm-2 { - margin-left: 16.666667%; - } - .offset-sm-3 { - margin-left: 25%; - } - .offset-sm-4 { - margin-left: 33.333333%; - } - .offset-sm-5 { - margin-left: 41.666667%; - } - .offset-sm-6 { - margin-left: 50%; - } - .offset-sm-7 { - margin-left: 58.333333%; - } - .offset-sm-8 { - margin-left: 66.666667%; - } - .offset-sm-9 { - margin-left: 75%; - } - .offset-sm-10 { - margin-left: 83.333333%; - } - .offset-sm-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 768px) { - .col-md { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-md-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-md-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-md-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-md-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-md-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-md-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-md-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-md-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-md-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-md-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-md-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-md-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-md-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-md-first { - -ms-flex-order: -1; - order: -1; - } - .order-md-last { - -ms-flex-order: 13; - order: 13; - } - .order-md-0 { - -ms-flex-order: 0; - order: 0; - } - .order-md-1 { - -ms-flex-order: 1; - order: 1; - } - .order-md-2 { - -ms-flex-order: 2; - order: 2; - } - .order-md-3 { - -ms-flex-order: 3; - order: 3; - } - .order-md-4 { - -ms-flex-order: 4; - order: 4; - } - .order-md-5 { - -ms-flex-order: 5; - order: 5; - } - .order-md-6 { - -ms-flex-order: 6; - order: 6; - } - .order-md-7 { - -ms-flex-order: 7; - order: 7; - } - .order-md-8 { - -ms-flex-order: 8; - order: 8; - } - .order-md-9 { - -ms-flex-order: 9; - order: 9; - } - .order-md-10 { - -ms-flex-order: 10; - order: 10; - } - .order-md-11 { - -ms-flex-order: 11; - order: 11; - } - .order-md-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-md-0 { - margin-left: 0; - } - .offset-md-1 { - margin-left: 8.333333%; - } - .offset-md-2 { - margin-left: 16.666667%; - } - .offset-md-3 { - margin-left: 25%; - } - .offset-md-4 { - margin-left: 33.333333%; - } - .offset-md-5 { - margin-left: 41.666667%; - } - .offset-md-6 { - margin-left: 50%; - } - .offset-md-7 { - margin-left: 58.333333%; - } - .offset-md-8 { - margin-left: 66.666667%; - } - .offset-md-9 { - margin-left: 75%; - } - .offset-md-10 { - margin-left: 83.333333%; - } - .offset-md-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 992px) { - .col-lg { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-lg-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-lg-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-lg-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-lg-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-lg-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-lg-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-lg-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-lg-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-lg-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-lg-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-lg-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-lg-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-lg-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-lg-first { - -ms-flex-order: -1; - order: -1; - } - .order-lg-last { - -ms-flex-order: 13; - order: 13; - } - .order-lg-0 { - -ms-flex-order: 0; - order: 0; - } - .order-lg-1 { - -ms-flex-order: 1; - order: 1; - } - .order-lg-2 { - -ms-flex-order: 2; - order: 2; - } - .order-lg-3 { - -ms-flex-order: 3; - order: 3; - } - .order-lg-4 { - -ms-flex-order: 4; - order: 4; - } - .order-lg-5 { - -ms-flex-order: 5; - order: 5; - } - .order-lg-6 { - -ms-flex-order: 6; - order: 6; - } - .order-lg-7 { - -ms-flex-order: 7; - order: 7; - } - .order-lg-8 { - -ms-flex-order: 8; - order: 8; - } - .order-lg-9 { - -ms-flex-order: 9; - order: 9; - } - .order-lg-10 { - -ms-flex-order: 10; - order: 10; - } - .order-lg-11 { - -ms-flex-order: 11; - order: 11; - } - .order-lg-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-lg-0 { - margin-left: 0; - } - .offset-lg-1 { - margin-left: 8.333333%; - } - .offset-lg-2 { - margin-left: 16.666667%; - } - .offset-lg-3 { - margin-left: 25%; - } - .offset-lg-4 { - margin-left: 33.333333%; - } - .offset-lg-5 { - margin-left: 41.666667%; - } - .offset-lg-6 { - margin-left: 50%; - } - .offset-lg-7 { - margin-left: 58.333333%; - } - .offset-lg-8 { - margin-left: 66.666667%; - } - .offset-lg-9 { - margin-left: 75%; - } - .offset-lg-10 { - margin-left: 83.333333%; - } - .offset-lg-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 1200px) { - .col-xl { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-xl-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-xl-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-xl-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-xl-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-xl-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-xl-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-xl-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-xl-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-xl-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-xl-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-xl-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-xl-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-xl-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-xl-first { - -ms-flex-order: -1; - order: -1; - } - .order-xl-last { - -ms-flex-order: 13; - order: 13; - } - .order-xl-0 { - -ms-flex-order: 0; - order: 0; - } - .order-xl-1 { - -ms-flex-order: 1; - order: 1; - } - .order-xl-2 { - -ms-flex-order: 2; - order: 2; - } - .order-xl-3 { - -ms-flex-order: 3; - order: 3; - } - .order-xl-4 { - -ms-flex-order: 4; - order: 4; - } - .order-xl-5 { - -ms-flex-order: 5; - order: 5; - } - .order-xl-6 { - -ms-flex-order: 6; - order: 6; - } - .order-xl-7 { - -ms-flex-order: 7; - order: 7; - } - .order-xl-8 { - -ms-flex-order: 8; - order: 8; - } - .order-xl-9 { - -ms-flex-order: 9; - order: 9; - } - .order-xl-10 { - -ms-flex-order: 10; - order: 10; - } - .order-xl-11 { - -ms-flex-order: 11; - order: 11; - } - .order-xl-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-xl-0 { - margin-left: 0; - } - .offset-xl-1 { - margin-left: 8.333333%; - } - .offset-xl-2 { - margin-left: 16.666667%; - } - .offset-xl-3 { - margin-left: 25%; - } - .offset-xl-4 { - margin-left: 33.333333%; - } - .offset-xl-5 { - margin-left: 41.666667%; - } - .offset-xl-6 { - margin-left: 50%; - } - .offset-xl-7 { - margin-left: 58.333333%; - } - .offset-xl-8 { - margin-left: 66.666667%; - } - .offset-xl-9 { - margin-left: 75%; - } - .offset-xl-10 { - margin-left: 83.333333%; - } - .offset-xl-11 { - margin-left: 91.666667%; - } -} - -.d-none { - display: none !important; -} - -.d-inline { - display: inline !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-block { - display: block !important; -} - -.d-table { - display: table !important; -} - -.d-table-row { - display: table-row !important; -} - -.d-table-cell { - display: table-cell !important; -} - -.d-flex { - display: -ms-flexbox !important; - display: flex !important; -} - -.d-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; -} - -@media (min-width: 576px) { - .d-sm-none { - display: none !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-block { - display: block !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: -ms-flexbox !important; - display: flex !important; - } - .d-sm-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 768px) { - .d-md-none { - display: none !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-block { - display: block !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: -ms-flexbox !important; - display: flex !important; - } - .d-md-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 992px) { - .d-lg-none { - display: none !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-block { - display: block !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: -ms-flexbox !important; - display: flex !important; - } - .d-lg-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 1200px) { - .d-xl-none { - display: none !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-block { - display: block !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: -ms-flexbox !important; - display: flex !important; - } - .d-xl-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media print { - .d-print-none { - display: none !important; - } - .d-print-inline { - display: inline !important; - } - .d-print-inline-block { - display: inline-block !important; - } - .d-print-block { - display: block !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: -ms-flexbox !important; - display: flex !important; - } - .d-print-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -.flex-row { - -ms-flex-direction: row !important; - flex-direction: row !important; -} - -.flex-column { - -ms-flex-direction: column !important; - flex-direction: column !important; -} - -.flex-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; -} - -.flex-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; -} - -.flex-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; -} - -.flex-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; -} - -.flex-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; -} - -.flex-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; -} - -.flex-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; -} - -.flex-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; -} - -.flex-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; -} - -.flex-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; -} - -.justify-content-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; -} - -.justify-content-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; -} - -.justify-content-center { - -ms-flex-pack: center !important; - justify-content: center !important; -} - -.justify-content-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; -} - -.justify-content-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; -} - -.align-items-start { - -ms-flex-align: start !important; - align-items: flex-start !important; -} - -.align-items-end { - -ms-flex-align: end !important; - align-items: flex-end !important; -} - -.align-items-center { - -ms-flex-align: center !important; - align-items: center !important; -} - -.align-items-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; -} - -.align-items-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; -} - -.align-content-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; -} - -.align-content-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; -} - -.align-content-center { - -ms-flex-line-pack: center !important; - align-content: center !important; -} - -.align-content-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; -} - -.align-content-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; -} - -.align-content-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; -} - -.align-self-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; -} - -.align-self-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; -} - -.align-self-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; -} - -.align-self-center { - -ms-flex-item-align: center !important; - align-self: center !important; -} - -.align-self-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; -} - -.align-self-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; -} - -@media (min-width: 576px) { - .flex-sm-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-sm-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-sm-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-sm-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-sm-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-sm-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-sm-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-sm-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-sm-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-sm-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-sm-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-sm-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-sm-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-sm-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-sm-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-sm-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-sm-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-sm-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-sm-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-sm-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-sm-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-sm-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-sm-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-sm-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-sm-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-sm-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-sm-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-sm-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-sm-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-sm-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-sm-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-sm-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-sm-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-sm-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 768px) { - .flex-md-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-md-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-md-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-md-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-md-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-md-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-md-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-md-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-md-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-md-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-md-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-md-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-md-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-md-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-md-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-md-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-md-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-md-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-md-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-md-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-md-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-md-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-md-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-md-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-md-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-md-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-md-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-md-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-md-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-md-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-md-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-md-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-md-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-md-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 992px) { - .flex-lg-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-lg-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-lg-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-lg-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-lg-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-lg-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-lg-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-lg-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-lg-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-lg-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-lg-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-lg-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-lg-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-lg-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-lg-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-lg-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-lg-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-lg-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-lg-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-lg-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-lg-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-lg-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-lg-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-lg-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-lg-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-lg-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-lg-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-lg-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-lg-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-lg-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-lg-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-lg-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-lg-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-lg-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 1200px) { - .flex-xl-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-xl-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-xl-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-xl-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-xl-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-xl-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-xl-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-xl-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-xl-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-xl-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-xl-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-xl-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-xl-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-xl-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-xl-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-xl-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-xl-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-xl-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-xl-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-xl-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-xl-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-xl-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-xl-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-xl-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-xl-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-xl-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-xl-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-xl-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-xl-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-xl-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-xl-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-xl-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-xl-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-xl-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -.m-0 { - margin: 0 !important; -} - -.mt-0, -.my-0 { - margin-top: 0 !important; -} - -.mr-0, -.mx-0 { - margin-right: 0 !important; -} - -.mb-0, -.my-0 { - margin-bottom: 0 !important; -} - -.ml-0, -.mx-0 { - margin-left: 0 !important; -} - -.m-1 { - margin: 0.25rem !important; -} - -.mt-1, -.my-1 { - margin-top: 0.25rem !important; -} - -.mr-1, -.mx-1 { - margin-right: 0.25rem !important; -} - -.mb-1, -.my-1 { - margin-bottom: 0.25rem !important; -} - -.ml-1, -.mx-1 { - margin-left: 0.25rem !important; -} - -.m-2 { - margin: 0.5rem !important; -} - -.mt-2, -.my-2 { - margin-top: 0.5rem !important; -} - -.mr-2, -.mx-2 { - margin-right: 0.5rem !important; -} - -.mb-2, -.my-2 { - margin-bottom: 0.5rem !important; -} - -.ml-2, -.mx-2 { - margin-left: 0.5rem !important; -} - -.m-3 { - margin: 1rem !important; -} - -.mt-3, -.my-3 { - margin-top: 1rem !important; -} - -.mr-3, -.mx-3 { - margin-right: 1rem !important; -} - -.mb-3, -.my-3 { - margin-bottom: 1rem !important; -} - -.ml-3, -.mx-3 { - margin-left: 1rem !important; -} - -.m-4 { - margin: 1.5rem !important; -} - -.mt-4, -.my-4 { - margin-top: 1.5rem !important; -} - -.mr-4, -.mx-4 { - margin-right: 1.5rem !important; -} - -.mb-4, -.my-4 { - margin-bottom: 1.5rem !important; -} - -.ml-4, -.mx-4 { - margin-left: 1.5rem !important; -} - -.m-5 { - margin: 3rem !important; -} - -.mt-5, -.my-5 { - margin-top: 3rem !important; -} - -.mr-5, -.mx-5 { - margin-right: 3rem !important; -} - -.mb-5, -.my-5 { - margin-bottom: 3rem !important; -} - -.ml-5, -.mx-5 { - margin-left: 3rem !important; -} - -.p-0 { - padding: 0 !important; -} - -.pt-0, -.py-0 { - padding-top: 0 !important; -} - -.pr-0, -.px-0 { - padding-right: 0 !important; -} - -.pb-0, -.py-0 { - padding-bottom: 0 !important; -} - -.pl-0, -.px-0 { - padding-left: 0 !important; -} - -.p-1 { - padding: 0.25rem !important; -} - -.pt-1, -.py-1 { - padding-top: 0.25rem !important; -} - -.pr-1, -.px-1 { - padding-right: 0.25rem !important; -} - -.pb-1, -.py-1 { - padding-bottom: 0.25rem !important; -} - -.pl-1, -.px-1 { - padding-left: 0.25rem !important; -} - -.p-2 { - padding: 0.5rem !important; -} - -.pt-2, -.py-2 { - padding-top: 0.5rem !important; -} - -.pr-2, -.px-2 { - padding-right: 0.5rem !important; -} - -.pb-2, -.py-2 { - padding-bottom: 0.5rem !important; -} - -.pl-2, -.px-2 { - padding-left: 0.5rem !important; -} - -.p-3 { - padding: 1rem !important; -} - -.pt-3, -.py-3 { - padding-top: 1rem !important; -} - -.pr-3, -.px-3 { - padding-right: 1rem !important; -} - -.pb-3, -.py-3 { - padding-bottom: 1rem !important; -} - -.pl-3, -.px-3 { - padding-left: 1rem !important; -} - -.p-4 { - padding: 1.5rem !important; -} - -.pt-4, -.py-4 { - padding-top: 1.5rem !important; -} - -.pr-4, -.px-4 { - padding-right: 1.5rem !important; -} - -.pb-4, -.py-4 { - padding-bottom: 1.5rem !important; -} - -.pl-4, -.px-4 { - padding-left: 1.5rem !important; -} - -.p-5 { - padding: 3rem !important; -} - -.pt-5, -.py-5 { - padding-top: 3rem !important; -} - -.pr-5, -.px-5 { - padding-right: 3rem !important; -} - -.pb-5, -.py-5 { - padding-bottom: 3rem !important; -} - -.pl-5, -.px-5 { - padding-left: 3rem !important; -} - -.m-n1 { - margin: -0.25rem !important; -} - -.mt-n1, -.my-n1 { - margin-top: -0.25rem !important; -} - -.mr-n1, -.mx-n1 { - margin-right: -0.25rem !important; -} - -.mb-n1, -.my-n1 { - margin-bottom: -0.25rem !important; -} - -.ml-n1, -.mx-n1 { - margin-left: -0.25rem !important; -} - -.m-n2 { - margin: -0.5rem !important; -} - -.mt-n2, -.my-n2 { - margin-top: -0.5rem !important; -} - -.mr-n2, -.mx-n2 { - margin-right: -0.5rem !important; -} - -.mb-n2, -.my-n2 { - margin-bottom: -0.5rem !important; -} - -.ml-n2, -.mx-n2 { - margin-left: -0.5rem !important; -} - -.m-n3 { - margin: -1rem !important; -} - -.mt-n3, -.my-n3 { - margin-top: -1rem !important; -} - -.mr-n3, -.mx-n3 { - margin-right: -1rem !important; -} - -.mb-n3, -.my-n3 { - margin-bottom: -1rem !important; -} - -.ml-n3, -.mx-n3 { - margin-left: -1rem !important; -} - -.m-n4 { - margin: -1.5rem !important; -} - -.mt-n4, -.my-n4 { - margin-top: -1.5rem !important; -} - -.mr-n4, -.mx-n4 { - margin-right: -1.5rem !important; -} - -.mb-n4, -.my-n4 { - margin-bottom: -1.5rem !important; -} - -.ml-n4, -.mx-n4 { - margin-left: -1.5rem !important; -} - -.m-n5 { - margin: -3rem !important; -} - -.mt-n5, -.my-n5 { - margin-top: -3rem !important; -} - -.mr-n5, -.mx-n5 { - margin-right: -3rem !important; -} - -.mb-n5, -.my-n5 { - margin-bottom: -3rem !important; -} - -.ml-n5, -.mx-n5 { - margin-left: -3rem !important; -} - -.m-auto { - margin: auto !important; -} - -.mt-auto, -.my-auto { - margin-top: auto !important; -} - -.mr-auto, -.mx-auto { - margin-right: auto !important; -} - -.mb-auto, -.my-auto { - margin-bottom: auto !important; -} - -.ml-auto, -.mx-auto { - margin-left: auto !important; -} - -@media (min-width: 576px) { - .m-sm-0 { - margin: 0 !important; - } - .mt-sm-0, - .my-sm-0 { - margin-top: 0 !important; - } - .mr-sm-0, - .mx-sm-0 { - margin-right: 0 !important; - } - .mb-sm-0, - .my-sm-0 { - margin-bottom: 0 !important; - } - .ml-sm-0, - .mx-sm-0 { - margin-left: 0 !important; - } - .m-sm-1 { - margin: 0.25rem !important; - } - .mt-sm-1, - .my-sm-1 { - margin-top: 0.25rem !important; - } - .mr-sm-1, - .mx-sm-1 { - margin-right: 0.25rem !important; - } - .mb-sm-1, - .my-sm-1 { - margin-bottom: 0.25rem !important; - } - .ml-sm-1, - .mx-sm-1 { - margin-left: 0.25rem !important; - } - .m-sm-2 { - margin: 0.5rem !important; - } - .mt-sm-2, - .my-sm-2 { - margin-top: 0.5rem !important; - } - .mr-sm-2, - .mx-sm-2 { - margin-right: 0.5rem !important; - } - .mb-sm-2, - .my-sm-2 { - margin-bottom: 0.5rem !important; - } - .ml-sm-2, - .mx-sm-2 { - margin-left: 0.5rem !important; - } - .m-sm-3 { - margin: 1rem !important; - } - .mt-sm-3, - .my-sm-3 { - margin-top: 1rem !important; - } - .mr-sm-3, - .mx-sm-3 { - margin-right: 1rem !important; - } - .mb-sm-3, - .my-sm-3 { - margin-bottom: 1rem !important; - } - .ml-sm-3, - .mx-sm-3 { - margin-left: 1rem !important; - } - .m-sm-4 { - margin: 1.5rem !important; - } - .mt-sm-4, - .my-sm-4 { - margin-top: 1.5rem !important; - } - .mr-sm-4, - .mx-sm-4 { - margin-right: 1.5rem !important; - } - .mb-sm-4, - .my-sm-4 { - margin-bottom: 1.5rem !important; - } - .ml-sm-4, - .mx-sm-4 { - margin-left: 1.5rem !important; - } - .m-sm-5 { - margin: 3rem !important; - } - .mt-sm-5, - .my-sm-5 { - margin-top: 3rem !important; - } - .mr-sm-5, - .mx-sm-5 { - margin-right: 3rem !important; - } - .mb-sm-5, - .my-sm-5 { - margin-bottom: 3rem !important; - } - .ml-sm-5, - .mx-sm-5 { - margin-left: 3rem !important; - } - .p-sm-0 { - padding: 0 !important; - } - .pt-sm-0, - .py-sm-0 { - padding-top: 0 !important; - } - .pr-sm-0, - .px-sm-0 { - padding-right: 0 !important; - } - .pb-sm-0, - .py-sm-0 { - padding-bottom: 0 !important; - } - .pl-sm-0, - .px-sm-0 { - padding-left: 0 !important; - } - .p-sm-1 { - padding: 0.25rem !important; - } - .pt-sm-1, - .py-sm-1 { - padding-top: 0.25rem !important; - } - .pr-sm-1, - .px-sm-1 { - padding-right: 0.25rem !important; - } - .pb-sm-1, - .py-sm-1 { - padding-bottom: 0.25rem !important; - } - .pl-sm-1, - .px-sm-1 { - padding-left: 0.25rem !important; - } - .p-sm-2 { - padding: 0.5rem !important; - } - .pt-sm-2, - .py-sm-2 { - padding-top: 0.5rem !important; - } - .pr-sm-2, - .px-sm-2 { - padding-right: 0.5rem !important; - } - .pb-sm-2, - .py-sm-2 { - padding-bottom: 0.5rem !important; - } - .pl-sm-2, - .px-sm-2 { - padding-left: 0.5rem !important; - } - .p-sm-3 { - padding: 1rem !important; - } - .pt-sm-3, - .py-sm-3 { - padding-top: 1rem !important; - } - .pr-sm-3, - .px-sm-3 { - padding-right: 1rem !important; - } - .pb-sm-3, - .py-sm-3 { - padding-bottom: 1rem !important; - } - .pl-sm-3, - .px-sm-3 { - padding-left: 1rem !important; - } - .p-sm-4 { - padding: 1.5rem !important; - } - .pt-sm-4, - .py-sm-4 { - padding-top: 1.5rem !important; - } - .pr-sm-4, - .px-sm-4 { - padding-right: 1.5rem !important; - } - .pb-sm-4, - .py-sm-4 { - padding-bottom: 1.5rem !important; - } - .pl-sm-4, - .px-sm-4 { - padding-left: 1.5rem !important; - } - .p-sm-5 { - padding: 3rem !important; - } - .pt-sm-5, - .py-sm-5 { - padding-top: 3rem !important; - } - .pr-sm-5, - .px-sm-5 { - padding-right: 3rem !important; - } - .pb-sm-5, - .py-sm-5 { - padding-bottom: 3rem !important; - } - .pl-sm-5, - .px-sm-5 { - padding-left: 3rem !important; - } - .m-sm-n1 { - margin: -0.25rem !important; - } - .mt-sm-n1, - .my-sm-n1 { - margin-top: -0.25rem !important; - } - .mr-sm-n1, - .mx-sm-n1 { - margin-right: -0.25rem !important; - } - .mb-sm-n1, - .my-sm-n1 { - margin-bottom: -0.25rem !important; - } - .ml-sm-n1, - .mx-sm-n1 { - margin-left: -0.25rem !important; - } - .m-sm-n2 { - margin: -0.5rem !important; - } - .mt-sm-n2, - .my-sm-n2 { - margin-top: -0.5rem !important; - } - .mr-sm-n2, - .mx-sm-n2 { - margin-right: -0.5rem !important; - } - .mb-sm-n2, - .my-sm-n2 { - margin-bottom: -0.5rem !important; - } - .ml-sm-n2, - .mx-sm-n2 { - margin-left: -0.5rem !important; - } - .m-sm-n3 { - margin: -1rem !important; - } - .mt-sm-n3, - .my-sm-n3 { - margin-top: -1rem !important; - } - .mr-sm-n3, - .mx-sm-n3 { - margin-right: -1rem !important; - } - .mb-sm-n3, - .my-sm-n3 { - margin-bottom: -1rem !important; - } - .ml-sm-n3, - .mx-sm-n3 { - margin-left: -1rem !important; - } - .m-sm-n4 { - margin: -1.5rem !important; - } - .mt-sm-n4, - .my-sm-n4 { - margin-top: -1.5rem !important; - } - .mr-sm-n4, - .mx-sm-n4 { - margin-right: -1.5rem !important; - } - .mb-sm-n4, - .my-sm-n4 { - margin-bottom: -1.5rem !important; - } - .ml-sm-n4, - .mx-sm-n4 { - margin-left: -1.5rem !important; - } - .m-sm-n5 { - margin: -3rem !important; - } - .mt-sm-n5, - .my-sm-n5 { - margin-top: -3rem !important; - } - .mr-sm-n5, - .mx-sm-n5 { - margin-right: -3rem !important; - } - .mb-sm-n5, - .my-sm-n5 { - margin-bottom: -3rem !important; - } - .ml-sm-n5, - .mx-sm-n5 { - margin-left: -3rem !important; - } - .m-sm-auto { - margin: auto !important; - } - .mt-sm-auto, - .my-sm-auto { - margin-top: auto !important; - } - .mr-sm-auto, - .mx-sm-auto { - margin-right: auto !important; - } - .mb-sm-auto, - .my-sm-auto { - margin-bottom: auto !important; - } - .ml-sm-auto, - .mx-sm-auto { - margin-left: auto !important; - } -} - -@media (min-width: 768px) { - .m-md-0 { - margin: 0 !important; - } - .mt-md-0, - .my-md-0 { - margin-top: 0 !important; - } - .mr-md-0, - .mx-md-0 { - margin-right: 0 !important; - } - .mb-md-0, - .my-md-0 { - margin-bottom: 0 !important; - } - .ml-md-0, - .mx-md-0 { - margin-left: 0 !important; - } - .m-md-1 { - margin: 0.25rem !important; - } - .mt-md-1, - .my-md-1 { - margin-top: 0.25rem !important; - } - .mr-md-1, - .mx-md-1 { - margin-right: 0.25rem !important; - } - .mb-md-1, - .my-md-1 { - margin-bottom: 0.25rem !important; - } - .ml-md-1, - .mx-md-1 { - margin-left: 0.25rem !important; - } - .m-md-2 { - margin: 0.5rem !important; - } - .mt-md-2, - .my-md-2 { - margin-top: 0.5rem !important; - } - .mr-md-2, - .mx-md-2 { - margin-right: 0.5rem !important; - } - .mb-md-2, - .my-md-2 { - margin-bottom: 0.5rem !important; - } - .ml-md-2, - .mx-md-2 { - margin-left: 0.5rem !important; - } - .m-md-3 { - margin: 1rem !important; - } - .mt-md-3, - .my-md-3 { - margin-top: 1rem !important; - } - .mr-md-3, - .mx-md-3 { - margin-right: 1rem !important; - } - .mb-md-3, - .my-md-3 { - margin-bottom: 1rem !important; - } - .ml-md-3, - .mx-md-3 { - margin-left: 1rem !important; - } - .m-md-4 { - margin: 1.5rem !important; - } - .mt-md-4, - .my-md-4 { - margin-top: 1.5rem !important; - } - .mr-md-4, - .mx-md-4 { - margin-right: 1.5rem !important; - } - .mb-md-4, - .my-md-4 { - margin-bottom: 1.5rem !important; - } - .ml-md-4, - .mx-md-4 { - margin-left: 1.5rem !important; - } - .m-md-5 { - margin: 3rem !important; - } - .mt-md-5, - .my-md-5 { - margin-top: 3rem !important; - } - .mr-md-5, - .mx-md-5 { - margin-right: 3rem !important; - } - .mb-md-5, - .my-md-5 { - margin-bottom: 3rem !important; - } - .ml-md-5, - .mx-md-5 { - margin-left: 3rem !important; - } - .p-md-0 { - padding: 0 !important; - } - .pt-md-0, - .py-md-0 { - padding-top: 0 !important; - } - .pr-md-0, - .px-md-0 { - padding-right: 0 !important; - } - .pb-md-0, - .py-md-0 { - padding-bottom: 0 !important; - } - .pl-md-0, - .px-md-0 { - padding-left: 0 !important; - } - .p-md-1 { - padding: 0.25rem !important; - } - .pt-md-1, - .py-md-1 { - padding-top: 0.25rem !important; - } - .pr-md-1, - .px-md-1 { - padding-right: 0.25rem !important; - } - .pb-md-1, - .py-md-1 { - padding-bottom: 0.25rem !important; - } - .pl-md-1, - .px-md-1 { - padding-left: 0.25rem !important; - } - .p-md-2 { - padding: 0.5rem !important; - } - .pt-md-2, - .py-md-2 { - padding-top: 0.5rem !important; - } - .pr-md-2, - .px-md-2 { - padding-right: 0.5rem !important; - } - .pb-md-2, - .py-md-2 { - padding-bottom: 0.5rem !important; - } - .pl-md-2, - .px-md-2 { - padding-left: 0.5rem !important; - } - .p-md-3 { - padding: 1rem !important; - } - .pt-md-3, - .py-md-3 { - padding-top: 1rem !important; - } - .pr-md-3, - .px-md-3 { - padding-right: 1rem !important; - } - .pb-md-3, - .py-md-3 { - padding-bottom: 1rem !important; - } - .pl-md-3, - .px-md-3 { - padding-left: 1rem !important; - } - .p-md-4 { - padding: 1.5rem !important; - } - .pt-md-4, - .py-md-4 { - padding-top: 1.5rem !important; - } - .pr-md-4, - .px-md-4 { - padding-right: 1.5rem !important; - } - .pb-md-4, - .py-md-4 { - padding-bottom: 1.5rem !important; - } - .pl-md-4, - .px-md-4 { - padding-left: 1.5rem !important; - } - .p-md-5 { - padding: 3rem !important; - } - .pt-md-5, - .py-md-5 { - padding-top: 3rem !important; - } - .pr-md-5, - .px-md-5 { - padding-right: 3rem !important; - } - .pb-md-5, - .py-md-5 { - padding-bottom: 3rem !important; - } - .pl-md-5, - .px-md-5 { - padding-left: 3rem !important; - } - .m-md-n1 { - margin: -0.25rem !important; - } - .mt-md-n1, - .my-md-n1 { - margin-top: -0.25rem !important; - } - .mr-md-n1, - .mx-md-n1 { - margin-right: -0.25rem !important; - } - .mb-md-n1, - .my-md-n1 { - margin-bottom: -0.25rem !important; - } - .ml-md-n1, - .mx-md-n1 { - margin-left: -0.25rem !important; - } - .m-md-n2 { - margin: -0.5rem !important; - } - .mt-md-n2, - .my-md-n2 { - margin-top: -0.5rem !important; - } - .mr-md-n2, - .mx-md-n2 { - margin-right: -0.5rem !important; - } - .mb-md-n2, - .my-md-n2 { - margin-bottom: -0.5rem !important; - } - .ml-md-n2, - .mx-md-n2 { - margin-left: -0.5rem !important; - } - .m-md-n3 { - margin: -1rem !important; - } - .mt-md-n3, - .my-md-n3 { - margin-top: -1rem !important; - } - .mr-md-n3, - .mx-md-n3 { - margin-right: -1rem !important; - } - .mb-md-n3, - .my-md-n3 { - margin-bottom: -1rem !important; - } - .ml-md-n3, - .mx-md-n3 { - margin-left: -1rem !important; - } - .m-md-n4 { - margin: -1.5rem !important; - } - .mt-md-n4, - .my-md-n4 { - margin-top: -1.5rem !important; - } - .mr-md-n4, - .mx-md-n4 { - margin-right: -1.5rem !important; - } - .mb-md-n4, - .my-md-n4 { - margin-bottom: -1.5rem !important; - } - .ml-md-n4, - .mx-md-n4 { - margin-left: -1.5rem !important; - } - .m-md-n5 { - margin: -3rem !important; - } - .mt-md-n5, - .my-md-n5 { - margin-top: -3rem !important; - } - .mr-md-n5, - .mx-md-n5 { - margin-right: -3rem !important; - } - .mb-md-n5, - .my-md-n5 { - margin-bottom: -3rem !important; - } - .ml-md-n5, - .mx-md-n5 { - margin-left: -3rem !important; - } - .m-md-auto { - margin: auto !important; - } - .mt-md-auto, - .my-md-auto { - margin-top: auto !important; - } - .mr-md-auto, - .mx-md-auto { - margin-right: auto !important; - } - .mb-md-auto, - .my-md-auto { - margin-bottom: auto !important; - } - .ml-md-auto, - .mx-md-auto { - margin-left: auto !important; - } -} - -@media (min-width: 992px) { - .m-lg-0 { - margin: 0 !important; - } - .mt-lg-0, - .my-lg-0 { - margin-top: 0 !important; - } - .mr-lg-0, - .mx-lg-0 { - margin-right: 0 !important; - } - .mb-lg-0, - .my-lg-0 { - margin-bottom: 0 !important; - } - .ml-lg-0, - .mx-lg-0 { - margin-left: 0 !important; - } - .m-lg-1 { - margin: 0.25rem !important; - } - .mt-lg-1, - .my-lg-1 { - margin-top: 0.25rem !important; - } - .mr-lg-1, - .mx-lg-1 { - margin-right: 0.25rem !important; - } - .mb-lg-1, - .my-lg-1 { - margin-bottom: 0.25rem !important; - } - .ml-lg-1, - .mx-lg-1 { - margin-left: 0.25rem !important; - } - .m-lg-2 { - margin: 0.5rem !important; - } - .mt-lg-2, - .my-lg-2 { - margin-top: 0.5rem !important; - } - .mr-lg-2, - .mx-lg-2 { - margin-right: 0.5rem !important; - } - .mb-lg-2, - .my-lg-2 { - margin-bottom: 0.5rem !important; - } - .ml-lg-2, - .mx-lg-2 { - margin-left: 0.5rem !important; - } - .m-lg-3 { - margin: 1rem !important; - } - .mt-lg-3, - .my-lg-3 { - margin-top: 1rem !important; - } - .mr-lg-3, - .mx-lg-3 { - margin-right: 1rem !important; - } - .mb-lg-3, - .my-lg-3 { - margin-bottom: 1rem !important; - } - .ml-lg-3, - .mx-lg-3 { - margin-left: 1rem !important; - } - .m-lg-4 { - margin: 1.5rem !important; - } - .mt-lg-4, - .my-lg-4 { - margin-top: 1.5rem !important; - } - .mr-lg-4, - .mx-lg-4 { - margin-right: 1.5rem !important; - } - .mb-lg-4, - .my-lg-4 { - margin-bottom: 1.5rem !important; - } - .ml-lg-4, - .mx-lg-4 { - margin-left: 1.5rem !important; - } - .m-lg-5 { - margin: 3rem !important; - } - .mt-lg-5, - .my-lg-5 { - margin-top: 3rem !important; - } - .mr-lg-5, - .mx-lg-5 { - margin-right: 3rem !important; - } - .mb-lg-5, - .my-lg-5 { - margin-bottom: 3rem !important; - } - .ml-lg-5, - .mx-lg-5 { - margin-left: 3rem !important; - } - .p-lg-0 { - padding: 0 !important; - } - .pt-lg-0, - .py-lg-0 { - padding-top: 0 !important; - } - .pr-lg-0, - .px-lg-0 { - padding-right: 0 !important; - } - .pb-lg-0, - .py-lg-0 { - padding-bottom: 0 !important; - } - .pl-lg-0, - .px-lg-0 { - padding-left: 0 !important; - } - .p-lg-1 { - padding: 0.25rem !important; - } - .pt-lg-1, - .py-lg-1 { - padding-top: 0.25rem !important; - } - .pr-lg-1, - .px-lg-1 { - padding-right: 0.25rem !important; - } - .pb-lg-1, - .py-lg-1 { - padding-bottom: 0.25rem !important; - } - .pl-lg-1, - .px-lg-1 { - padding-left: 0.25rem !important; - } - .p-lg-2 { - padding: 0.5rem !important; - } - .pt-lg-2, - .py-lg-2 { - padding-top: 0.5rem !important; - } - .pr-lg-2, - .px-lg-2 { - padding-right: 0.5rem !important; - } - .pb-lg-2, - .py-lg-2 { - padding-bottom: 0.5rem !important; - } - .pl-lg-2, - .px-lg-2 { - padding-left: 0.5rem !important; - } - .p-lg-3 { - padding: 1rem !important; - } - .pt-lg-3, - .py-lg-3 { - padding-top: 1rem !important; - } - .pr-lg-3, - .px-lg-3 { - padding-right: 1rem !important; - } - .pb-lg-3, - .py-lg-3 { - padding-bottom: 1rem !important; - } - .pl-lg-3, - .px-lg-3 { - padding-left: 1rem !important; - } - .p-lg-4 { - padding: 1.5rem !important; - } - .pt-lg-4, - .py-lg-4 { - padding-top: 1.5rem !important; - } - .pr-lg-4, - .px-lg-4 { - padding-right: 1.5rem !important; - } - .pb-lg-4, - .py-lg-4 { - padding-bottom: 1.5rem !important; - } - .pl-lg-4, - .px-lg-4 { - padding-left: 1.5rem !important; - } - .p-lg-5 { - padding: 3rem !important; - } - .pt-lg-5, - .py-lg-5 { - padding-top: 3rem !important; - } - .pr-lg-5, - .px-lg-5 { - padding-right: 3rem !important; - } - .pb-lg-5, - .py-lg-5 { - padding-bottom: 3rem !important; - } - .pl-lg-5, - .px-lg-5 { - padding-left: 3rem !important; - } - .m-lg-n1 { - margin: -0.25rem !important; - } - .mt-lg-n1, - .my-lg-n1 { - margin-top: -0.25rem !important; - } - .mr-lg-n1, - .mx-lg-n1 { - margin-right: -0.25rem !important; - } - .mb-lg-n1, - .my-lg-n1 { - margin-bottom: -0.25rem !important; - } - .ml-lg-n1, - .mx-lg-n1 { - margin-left: -0.25rem !important; - } - .m-lg-n2 { - margin: -0.5rem !important; - } - .mt-lg-n2, - .my-lg-n2 { - margin-top: -0.5rem !important; - } - .mr-lg-n2, - .mx-lg-n2 { - margin-right: -0.5rem !important; - } - .mb-lg-n2, - .my-lg-n2 { - margin-bottom: -0.5rem !important; - } - .ml-lg-n2, - .mx-lg-n2 { - margin-left: -0.5rem !important; - } - .m-lg-n3 { - margin: -1rem !important; - } - .mt-lg-n3, - .my-lg-n3 { - margin-top: -1rem !important; - } - .mr-lg-n3, - .mx-lg-n3 { - margin-right: -1rem !important; - } - .mb-lg-n3, - .my-lg-n3 { - margin-bottom: -1rem !important; - } - .ml-lg-n3, - .mx-lg-n3 { - margin-left: -1rem !important; - } - .m-lg-n4 { - margin: -1.5rem !important; - } - .mt-lg-n4, - .my-lg-n4 { - margin-top: -1.5rem !important; - } - .mr-lg-n4, - .mx-lg-n4 { - margin-right: -1.5rem !important; - } - .mb-lg-n4, - .my-lg-n4 { - margin-bottom: -1.5rem !important; - } - .ml-lg-n4, - .mx-lg-n4 { - margin-left: -1.5rem !important; - } - .m-lg-n5 { - margin: -3rem !important; - } - .mt-lg-n5, - .my-lg-n5 { - margin-top: -3rem !important; - } - .mr-lg-n5, - .mx-lg-n5 { - margin-right: -3rem !important; - } - .mb-lg-n5, - .my-lg-n5 { - margin-bottom: -3rem !important; - } - .ml-lg-n5, - .mx-lg-n5 { - margin-left: -3rem !important; - } - .m-lg-auto { - margin: auto !important; - } - .mt-lg-auto, - .my-lg-auto { - margin-top: auto !important; - } - .mr-lg-auto, - .mx-lg-auto { - margin-right: auto !important; - } - .mb-lg-auto, - .my-lg-auto { - margin-bottom: auto !important; - } - .ml-lg-auto, - .mx-lg-auto { - margin-left: auto !important; - } -} - -@media (min-width: 1200px) { - .m-xl-0 { - margin: 0 !important; - } - .mt-xl-0, - .my-xl-0 { - margin-top: 0 !important; - } - .mr-xl-0, - .mx-xl-0 { - margin-right: 0 !important; - } - .mb-xl-0, - .my-xl-0 { - margin-bottom: 0 !important; - } - .ml-xl-0, - .mx-xl-0 { - margin-left: 0 !important; - } - .m-xl-1 { - margin: 0.25rem !important; - } - .mt-xl-1, - .my-xl-1 { - margin-top: 0.25rem !important; - } - .mr-xl-1, - .mx-xl-1 { - margin-right: 0.25rem !important; - } - .mb-xl-1, - .my-xl-1 { - margin-bottom: 0.25rem !important; - } - .ml-xl-1, - .mx-xl-1 { - margin-left: 0.25rem !important; - } - .m-xl-2 { - margin: 0.5rem !important; - } - .mt-xl-2, - .my-xl-2 { - margin-top: 0.5rem !important; - } - .mr-xl-2, - .mx-xl-2 { - margin-right: 0.5rem !important; - } - .mb-xl-2, - .my-xl-2 { - margin-bottom: 0.5rem !important; - } - .ml-xl-2, - .mx-xl-2 { - margin-left: 0.5rem !important; - } - .m-xl-3 { - margin: 1rem !important; - } - .mt-xl-3, - .my-xl-3 { - margin-top: 1rem !important; - } - .mr-xl-3, - .mx-xl-3 { - margin-right: 1rem !important; - } - .mb-xl-3, - .my-xl-3 { - margin-bottom: 1rem !important; - } - .ml-xl-3, - .mx-xl-3 { - margin-left: 1rem !important; - } - .m-xl-4 { - margin: 1.5rem !important; - } - .mt-xl-4, - .my-xl-4 { - margin-top: 1.5rem !important; - } - .mr-xl-4, - .mx-xl-4 { - margin-right: 1.5rem !important; - } - .mb-xl-4, - .my-xl-4 { - margin-bottom: 1.5rem !important; - } - .ml-xl-4, - .mx-xl-4 { - margin-left: 1.5rem !important; - } - .m-xl-5 { - margin: 3rem !important; - } - .mt-xl-5, - .my-xl-5 { - margin-top: 3rem !important; - } - .mr-xl-5, - .mx-xl-5 { - margin-right: 3rem !important; - } - .mb-xl-5, - .my-xl-5 { - margin-bottom: 3rem !important; - } - .ml-xl-5, - .mx-xl-5 { - margin-left: 3rem !important; - } - .p-xl-0 { - padding: 0 !important; - } - .pt-xl-0, - .py-xl-0 { - padding-top: 0 !important; - } - .pr-xl-0, - .px-xl-0 { - padding-right: 0 !important; - } - .pb-xl-0, - .py-xl-0 { - padding-bottom: 0 !important; - } - .pl-xl-0, - .px-xl-0 { - padding-left: 0 !important; - } - .p-xl-1 { - padding: 0.25rem !important; - } - .pt-xl-1, - .py-xl-1 { - padding-top: 0.25rem !important; - } - .pr-xl-1, - .px-xl-1 { - padding-right: 0.25rem !important; - } - .pb-xl-1, - .py-xl-1 { - padding-bottom: 0.25rem !important; - } - .pl-xl-1, - .px-xl-1 { - padding-left: 0.25rem !important; - } - .p-xl-2 { - padding: 0.5rem !important; - } - .pt-xl-2, - .py-xl-2 { - padding-top: 0.5rem !important; - } - .pr-xl-2, - .px-xl-2 { - padding-right: 0.5rem !important; - } - .pb-xl-2, - .py-xl-2 { - padding-bottom: 0.5rem !important; - } - .pl-xl-2, - .px-xl-2 { - padding-left: 0.5rem !important; - } - .p-xl-3 { - padding: 1rem !important; - } - .pt-xl-3, - .py-xl-3 { - padding-top: 1rem !important; - } - .pr-xl-3, - .px-xl-3 { - padding-right: 1rem !important; - } - .pb-xl-3, - .py-xl-3 { - padding-bottom: 1rem !important; - } - .pl-xl-3, - .px-xl-3 { - padding-left: 1rem !important; - } - .p-xl-4 { - padding: 1.5rem !important; - } - .pt-xl-4, - .py-xl-4 { - padding-top: 1.5rem !important; - } - .pr-xl-4, - .px-xl-4 { - padding-right: 1.5rem !important; - } - .pb-xl-4, - .py-xl-4 { - padding-bottom: 1.5rem !important; - } - .pl-xl-4, - .px-xl-4 { - padding-left: 1.5rem !important; - } - .p-xl-5 { - padding: 3rem !important; - } - .pt-xl-5, - .py-xl-5 { - padding-top: 3rem !important; - } - .pr-xl-5, - .px-xl-5 { - padding-right: 3rem !important; - } - .pb-xl-5, - .py-xl-5 { - padding-bottom: 3rem !important; - } - .pl-xl-5, - .px-xl-5 { - padding-left: 3rem !important; - } - .m-xl-n1 { - margin: -0.25rem !important; - } - .mt-xl-n1, - .my-xl-n1 { - margin-top: -0.25rem !important; - } - .mr-xl-n1, - .mx-xl-n1 { - margin-right: -0.25rem !important; - } - .mb-xl-n1, - .my-xl-n1 { - margin-bottom: -0.25rem !important; - } - .ml-xl-n1, - .mx-xl-n1 { - margin-left: -0.25rem !important; - } - .m-xl-n2 { - margin: -0.5rem !important; - } - .mt-xl-n2, - .my-xl-n2 { - margin-top: -0.5rem !important; - } - .mr-xl-n2, - .mx-xl-n2 { - margin-right: -0.5rem !important; - } - .mb-xl-n2, - .my-xl-n2 { - margin-bottom: -0.5rem !important; - } - .ml-xl-n2, - .mx-xl-n2 { - margin-left: -0.5rem !important; - } - .m-xl-n3 { - margin: -1rem !important; - } - .mt-xl-n3, - .my-xl-n3 { - margin-top: -1rem !important; - } - .mr-xl-n3, - .mx-xl-n3 { - margin-right: -1rem !important; - } - .mb-xl-n3, - .my-xl-n3 { - margin-bottom: -1rem !important; - } - .ml-xl-n3, - .mx-xl-n3 { - margin-left: -1rem !important; - } - .m-xl-n4 { - margin: -1.5rem !important; - } - .mt-xl-n4, - .my-xl-n4 { - margin-top: -1.5rem !important; - } - .mr-xl-n4, - .mx-xl-n4 { - margin-right: -1.5rem !important; - } - .mb-xl-n4, - .my-xl-n4 { - margin-bottom: -1.5rem !important; - } - .ml-xl-n4, - .mx-xl-n4 { - margin-left: -1.5rem !important; - } - .m-xl-n5 { - margin: -3rem !important; - } - .mt-xl-n5, - .my-xl-n5 { - margin-top: -3rem !important; - } - .mr-xl-n5, - .mx-xl-n5 { - margin-right: -3rem !important; - } - .mb-xl-n5, - .my-xl-n5 { - margin-bottom: -3rem !important; - } - .ml-xl-n5, - .mx-xl-n5 { - margin-left: -3rem !important; - } - .m-xl-auto { - margin: auto !important; - } - .mt-xl-auto, - .my-xl-auto { - margin-top: auto !important; - } - .mr-xl-auto, - .mx-xl-auto { - margin-right: auto !important; - } - .mb-xl-auto, - .my-xl-auto { - margin-bottom: auto !important; - } - .ml-xl-auto, - .mx-xl-auto { - margin-left: auto !important; - } -} -/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file diff --git a/dist/css/bootstrap-grid.css.map b/dist/css/bootstrap-grid.css.map deleted file mode 100644 index db62f2f3..00000000 --- a/dist/css/bootstrap-grid.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ADEF;EACE,sBAAsB;EACtB,6BAA6B;ACA/B;;ADGA;;;EAGE,mBAAmB;ACArB;;ACVE;ECAA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;AFcnB;;AGqCI;EFvDF;ICYI,gBE8LK;EJnLT;AACF;;AG+BI;EFvDF;ICYI,gBE+LK;EJ9KT;AACF;;AGyBI;EFvDF;ICYI,gBEgMK;EJzKT;AACF;;AGmBI;EFvDF;ICYI,iBEiMM;EJpKV;AACF;;AC9BE;ECZA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;AF8CnB;;AC5BE;ECJA,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,mBAA0B;EAC1B,kBAAyB;AFoC3B;;AC7BE;EACE,eAAe;EACf,cAAc;ADgClB;;AClCE;;EAMI,gBAAgB;EAChB,eAAe;ADiCrB;;AKlEE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;AL0E7B;;AKvDM;EACE,0BAAa;EAAb,aAAa;EACb,oBAAY;EAAZ,YAAY;EACZ,eAAe;AL0DvB;;AKxDM;EACE,kBAAc;EAAd,cAAc;EACd,WAAW;EACX,eAAe;AL2DvB;;AKvDQ;EHFN,uBAAsC;EAAtC,mBAAsC;EAItC,oBAAuC;AF0DzC;;AK5DQ;EHFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AF+DzC;;AKjEQ;EHFN,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AFoEzC;;AKtEQ;EHFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AFyEzC;;AK3EQ;EHFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AF8EzC;;AKhFQ;EHFN,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AFmFzC;;AKrFQ;EHFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AFwFzC;;AK1FQ;EHFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AF6FzC;;AK/FQ;EHFN,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AFkGzC;;AKpGQ;EHFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AFuGzC;;AKzGQ;EHFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AF4GzC;;AK9GQ;EHFN,kBAAsC;EAAtC,cAAsC;EAItC,eAAuC;AFiHzC;;AK9GM;EAAwB,kBAAS;EAAT,SAAS;ALkHvC;;AKhHM;EAAuB,kBD2KG;EC3KH,SD2KG;AJvDhC;;AKjHQ;EAAwB,iBADZ;EACY,QADZ;ALsHpB;;AKrHQ;EAAwB,iBADZ;EACY,QADZ;AL0HpB;;AKzHQ;EAAwB,iBADZ;EACY,QADZ;AL8HpB;;AK7HQ;EAAwB,iBADZ;EACY,QADZ;ALkIpB;;AKjIQ;EAAwB,iBADZ;EACY,QADZ;ALsIpB;;AKrIQ;EAAwB,iBADZ;EACY,QADZ;AL0IpB;;AKzIQ;EAAwB,iBADZ;EACY,QADZ;AL8IpB;;AK7IQ;EAAwB,iBADZ;EACY,QADZ;ALkJpB;;AKjJQ;EAAwB,iBADZ;EACY,QADZ;ALsJpB;;AKrJQ;EAAwB,iBADZ;EACY,QADZ;AL0JpB;;AKzJQ;EAAwB,kBADZ;EACY,SADZ;AL8JpB;;AK7JQ;EAAwB,kBADZ;EACY,SADZ;ALkKpB;;AKjKQ;EAAwB,kBADZ;EACY,SADZ;ALsKpB;;AK/JU;EHTR,sBAA8C;AF4KhD;;AKnKU;EHTR,uBAA8C;AFgLhD;;AKvKU;EHTR,gBAA8C;AFoLhD;;AK3KU;EHTR,uBAA8C;AFwLhD;;AK/KU;EHTR,uBAA8C;AF4LhD;;AKnLU;EHTR,gBAA8C;AFgMhD;;AKvLU;EHTR,uBAA8C;AFoMhD;;AK3LU;EHTR,uBAA8C;AFwMhD;;AK/LU;EHTR,gBAA8C;AF4MhD;;AKnMU;EHTR,uBAA8C;AFgNhD;;AKvMU;EHTR,uBAA8C;AFoNhD;;AGzMI;EE9BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;EL2OrB;EKzOI;IACE,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EL2OrB;EKvOM;IHFN,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EFyOvC;EK3OM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF6OvC;EK/OM;IHFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFiPvC;EKnPM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFqPvC;EKvPM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFyPvC;EK3PM;IHFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EF6PvC;EK/PM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFiQvC;EKnQM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFqQvC;EKvQM;IHFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFyQvC;EK3QM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF6QvC;EK/QM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFiRvC;EKnRM;IHFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;EFqRvC;EKlRI;IAAwB,kBAAS;IAAT,SAAS;ELqRrC;EKnRI;IAAuB,kBD2KG;IC3KH,SD2KG;EJ2G9B;EKnRM;IAAwB,iBADZ;IACY,QADZ;ELuRlB;EKtRM;IAAwB,iBADZ;IACY,QADZ;EL0RlB;EKzRM;IAAwB,iBADZ;IACY,QADZ;EL6RlB;EK5RM;IAAwB,iBADZ;IACY,QADZ;ELgSlB;EK/RM;IAAwB,iBADZ;IACY,QADZ;ELmSlB;EKlSM;IAAwB,iBADZ;IACY,QADZ;ELsSlB;EKrSM;IAAwB,iBADZ;IACY,QADZ;ELySlB;EKxSM;IAAwB,iBADZ;IACY,QADZ;EL4SlB;EK3SM;IAAwB,iBADZ;IACY,QADZ;EL+SlB;EK9SM;IAAwB,iBADZ;IACY,QADZ;ELkTlB;EKjTM;IAAwB,kBADZ;IACY,SADZ;ELqTlB;EKpTM;IAAwB,kBADZ;IACY,SADZ;ELwTlB;EKvTM;IAAwB,kBADZ;IACY,SADZ;EL2TlB;EKpTQ;IHTR,cAA4B;EFgU5B;EKvTQ;IHTR,sBAA8C;EFmU9C;EK1TQ;IHTR,uBAA8C;EFsU9C;EK7TQ;IHTR,gBAA8C;EFyU9C;EKhUQ;IHTR,uBAA8C;EF4U9C;EKnUQ;IHTR,uBAA8C;EF+U9C;EKtUQ;IHTR,gBAA8C;EFkV9C;EKzUQ;IHTR,uBAA8C;EFqV9C;EK5UQ;IHTR,uBAA8C;EFwV9C;EK/UQ;IHTR,gBAA8C;EF2V9C;EKlVQ;IHTR,uBAA8C;EF8V9C;EKrVQ;IHTR,uBAA8C;EFiW9C;AACF;;AGvVI;EE9BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;ELyXrB;EKvXI;IACE,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;ELyXrB;EKrXM;IHFN,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EFuXvC;EKzXM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF2XvC;EK7XM;IHFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EF+XvC;EKjYM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFmYvC;EKrYM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFuYvC;EKzYM;IHFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EF2YvC;EK7YM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF+YvC;EKjZM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFmZvC;EKrZM;IHFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFuZvC;EKzZM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF2ZvC;EK7ZM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF+ZvC;EKjaM;IHFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;EFmavC;EKhaI;IAAwB,kBAAS;IAAT,SAAS;ELmarC;EKjaI;IAAuB,kBD2KG;IC3KH,SD2KG;EJyP9B;EKjaM;IAAwB,iBADZ;IACY,QADZ;ELqalB;EKpaM;IAAwB,iBADZ;IACY,QADZ;ELwalB;EKvaM;IAAwB,iBADZ;IACY,QADZ;EL2alB;EK1aM;IAAwB,iBADZ;IACY,QADZ;EL8alB;EK7aM;IAAwB,iBADZ;IACY,QADZ;ELiblB;EKhbM;IAAwB,iBADZ;IACY,QADZ;ELoblB;EKnbM;IAAwB,iBADZ;IACY,QADZ;ELublB;EKtbM;IAAwB,iBADZ;IACY,QADZ;EL0blB;EKzbM;IAAwB,iBADZ;IACY,QADZ;EL6blB;EK5bM;IAAwB,iBADZ;IACY,QADZ;ELgclB;EK/bM;IAAwB,kBADZ;IACY,SADZ;ELmclB;EKlcM;IAAwB,kBADZ;IACY,SADZ;ELsclB;EKrcM;IAAwB,kBADZ;IACY,SADZ;ELyclB;EKlcQ;IHTR,cAA4B;EF8c5B;EKrcQ;IHTR,sBAA8C;EFid9C;EKxcQ;IHTR,uBAA8C;EFod9C;EK3cQ;IHTR,gBAA8C;EFud9C;EK9cQ;IHTR,uBAA8C;EF0d9C;EKjdQ;IHTR,uBAA8C;EF6d9C;EKpdQ;IHTR,gBAA8C;EFge9C;EKvdQ;IHTR,uBAA8C;EFme9C;EK1dQ;IHTR,uBAA8C;EFse9C;EK7dQ;IHTR,gBAA8C;EFye9C;EKheQ;IHTR,uBAA8C;EF4e9C;EKneQ;IHTR,uBAA8C;EF+e9C;AACF;;AGreI;EE9BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;ELugBrB;EKrgBI;IACE,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;ELugBrB;EKngBM;IHFN,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EFqgBvC;EKvgBM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFygBvC;EK3gBM;IHFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EF6gBvC;EK/gBM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFihBvC;EKnhBM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFqhBvC;EKvhBM;IHFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFyhBvC;EK3hBM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF6hBvC;EK/hBM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFiiBvC;EKniBM;IHFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFqiBvC;EKviBM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFyiBvC;EK3iBM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF6iBvC;EK/iBM;IHFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;EFijBvC;EK9iBI;IAAwB,kBAAS;IAAT,SAAS;ELijBrC;EK/iBI;IAAuB,kBD2KG;IC3KH,SD2KG;EJuY9B;EK/iBM;IAAwB,iBADZ;IACY,QADZ;ELmjBlB;EKljBM;IAAwB,iBADZ;IACY,QADZ;ELsjBlB;EKrjBM;IAAwB,iBADZ;IACY,QADZ;ELyjBlB;EKxjBM;IAAwB,iBADZ;IACY,QADZ;EL4jBlB;EK3jBM;IAAwB,iBADZ;IACY,QADZ;EL+jBlB;EK9jBM;IAAwB,iBADZ;IACY,QADZ;ELkkBlB;EKjkBM;IAAwB,iBADZ;IACY,QADZ;ELqkBlB;EKpkBM;IAAwB,iBADZ;IACY,QADZ;ELwkBlB;EKvkBM;IAAwB,iBADZ;IACY,QADZ;EL2kBlB;EK1kBM;IAAwB,iBADZ;IACY,QADZ;EL8kBlB;EK7kBM;IAAwB,kBADZ;IACY,SADZ;ELilBlB;EKhlBM;IAAwB,kBADZ;IACY,SADZ;ELolBlB;EKnlBM;IAAwB,kBADZ;IACY,SADZ;ELulBlB;EKhlBQ;IHTR,cAA4B;EF4lB5B;EKnlBQ;IHTR,sBAA8C;EF+lB9C;EKtlBQ;IHTR,uBAA8C;EFkmB9C;EKzlBQ;IHTR,gBAA8C;EFqmB9C;EK5lBQ;IHTR,uBAA8C;EFwmB9C;EK/lBQ;IHTR,uBAA8C;EF2mB9C;EKlmBQ;IHTR,gBAA8C;EF8mB9C;EKrmBQ;IHTR,uBAA8C;EFinB9C;EKxmBQ;IHTR,uBAA8C;EFonB9C;EK3mBQ;IHTR,gBAA8C;EFunB9C;EK9mBQ;IHTR,uBAA8C;EF0nB9C;EKjnBQ;IHTR,uBAA8C;EF6nB9C;AACF;;AGnnBI;EE9BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;ELqpBrB;EKnpBI;IACE,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;ELqpBrB;EKjpBM;IHFN,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EFmpBvC;EKrpBM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFupBvC;EKzpBM;IHFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EF2pBvC;EK7pBM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF+pBvC;EKjqBM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFmqBvC;EKrqBM;IHFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFuqBvC;EKzqBM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF2qBvC;EK7qBM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF+qBvC;EKjrBM;IHFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EFmrBvC;EKrrBM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EFurBvC;EKzrBM;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EF2rBvC;EK7rBM;IHFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;EF+rBvC;EK5rBI;IAAwB,kBAAS;IAAT,SAAS;EL+rBrC;EK7rBI;IAAuB,kBD2KG;IC3KH,SD2KG;EJqhB9B;EK7rBM;IAAwB,iBADZ;IACY,QADZ;ELisBlB;EKhsBM;IAAwB,iBADZ;IACY,QADZ;ELosBlB;EKnsBM;IAAwB,iBADZ;IACY,QADZ;ELusBlB;EKtsBM;IAAwB,iBADZ;IACY,QADZ;EL0sBlB;EKzsBM;IAAwB,iBADZ;IACY,QADZ;EL6sBlB;EK5sBM;IAAwB,iBADZ;IACY,QADZ;ELgtBlB;EK/sBM;IAAwB,iBADZ;IACY,QADZ;ELmtBlB;EKltBM;IAAwB,iBADZ;IACY,QADZ;ELstBlB;EKrtBM;IAAwB,iBADZ;IACY,QADZ;ELytBlB;EKxtBM;IAAwB,iBADZ;IACY,QADZ;EL4tBlB;EK3tBM;IAAwB,kBADZ;IACY,SADZ;EL+tBlB;EK9tBM;IAAwB,kBADZ;IACY,SADZ;ELkuBlB;EKjuBM;IAAwB,kBADZ;IACY,SADZ;ELquBlB;EK9tBQ;IHTR,cAA4B;EF0uB5B;EKjuBQ;IHTR,sBAA8C;EF6uB9C;EKpuBQ;IHTR,uBAA8C;EFgvB9C;EKvuBQ;IHTR,gBAA8C;EFmvB9C;EK1uBQ;IHTR,uBAA8C;EFsvB9C;EK7uBQ;IHTR,uBAA8C;EFyvB9C;EKhvBQ;IHTR,gBAA8C;EF4vB9C;EKnvBQ;IHTR,uBAA8C;EF+vB9C;EKtvBQ;IHTR,uBAA8C;EFkwB9C;EKzvBQ;IHTR,gBAA8C;EFqwB9C;EK5vBQ;IHTR,uBAA8C;EFwwB9C;EK/vBQ;IHTR,uBAA8C;EF2wB9C;AACF;;AMlzBM;EAAwB,wBAA0B;ANszBxD;;AMtzBM;EAAwB,0BAA0B;AN0zBxD;;AM1zBM;EAAwB,gCAA0B;AN8zBxD;;AM9zBM;EAAwB,yBAA0B;ANk0BxD;;AMl0BM;EAAwB,yBAA0B;ANs0BxD;;AMt0BM;EAAwB,6BAA0B;AN00BxD;;AM10BM;EAAwB,8BAA0B;AN80BxD;;AM90BM;EAAwB,+BAA0B;EAA1B,wBAA0B;ANk1BxD;;AMl1BM;EAAwB,sCAA0B;EAA1B,+BAA0B;ANs1BxD;;AGryBI;EGjDE;IAAwB,wBAA0B;EN21BtD;EM31BI;IAAwB,0BAA0B;EN81BtD;EM91BI;IAAwB,gCAA0B;ENi2BtD;EMj2BI;IAAwB,yBAA0B;ENo2BtD;EMp2BI;IAAwB,yBAA0B;ENu2BtD;EMv2BI;IAAwB,6BAA0B;EN02BtD;EM12BI;IAAwB,8BAA0B;EN62BtD;EM72BI;IAAwB,+BAA0B;IAA1B,wBAA0B;ENg3BtD;EMh3BI;IAAwB,sCAA0B;IAA1B,+BAA0B;ENm3BtD;AACF;;AGn0BI;EGjDE;IAAwB,wBAA0B;ENy3BtD;EMz3BI;IAAwB,0BAA0B;EN43BtD;EM53BI;IAAwB,gCAA0B;EN+3BtD;EM/3BI;IAAwB,yBAA0B;ENk4BtD;EMl4BI;IAAwB,yBAA0B;ENq4BtD;EMr4BI;IAAwB,6BAA0B;ENw4BtD;EMx4BI;IAAwB,8BAA0B;EN24BtD;EM34BI;IAAwB,+BAA0B;IAA1B,wBAA0B;EN84BtD;EM94BI;IAAwB,sCAA0B;IAA1B,+BAA0B;ENi5BtD;AACF;;AGj2BI;EGjDE;IAAwB,wBAA0B;ENu5BtD;EMv5BI;IAAwB,0BAA0B;EN05BtD;EM15BI;IAAwB,gCAA0B;EN65BtD;EM75BI;IAAwB,yBAA0B;ENg6BtD;EMh6BI;IAAwB,yBAA0B;ENm6BtD;EMn6BI;IAAwB,6BAA0B;ENs6BtD;EMt6BI;IAAwB,8BAA0B;ENy6BtD;EMz6BI;IAAwB,+BAA0B;IAA1B,wBAA0B;EN46BtD;EM56BI;IAAwB,sCAA0B;IAA1B,+BAA0B;EN+6BtD;AACF;;AG/3BI;EGjDE;IAAwB,wBAA0B;ENq7BtD;EMr7BI;IAAwB,0BAA0B;ENw7BtD;EMx7BI;IAAwB,gCAA0B;EN27BtD;EM37BI;IAAwB,yBAA0B;EN87BtD;EM97BI;IAAwB,yBAA0B;ENi8BtD;EMj8BI;IAAwB,6BAA0B;ENo8BtD;EMp8BI;IAAwB,8BAA0B;ENu8BtD;EMv8BI;IAAwB,+BAA0B;IAA1B,wBAA0B;EN08BtD;EM18BI;IAAwB,sCAA0B;IAA1B,+BAA0B;EN68BtD;AACF;;AMp8BA;EAEI;IAAqB,wBAA0B;ENu8BjD;EMv8BE;IAAqB,0BAA0B;EN08BjD;EM18BE;IAAqB,gCAA0B;EN68BjD;EM78BE;IAAqB,yBAA0B;ENg9BjD;EMh9BE;IAAqB,yBAA0B;ENm9BjD;EMn9BE;IAAqB,6BAA0B;ENs9BjD;EMt9BE;IAAqB,8BAA0B;ENy9BjD;EMz9BE;IAAqB,+BAA0B;IAA1B,wBAA0B;EN49BjD;EM59BE;IAAqB,sCAA0B;IAA1B,+BAA0B;EN+9BjD;AACF;;AO7+BI;EAAgC,kCAA8B;EAA9B,8BAA8B;APi/BlE;;AOh/BI;EAAgC,qCAAiC;EAAjC,iCAAiC;APo/BrE;;AOn/BI;EAAgC,0CAAsC;EAAtC,sCAAsC;APu/B1E;;AOt/BI;EAAgC,6CAAyC;EAAzC,yCAAyC;AP0/B7E;;AOx/BI;EAA8B,8BAA0B;EAA1B,0BAA0B;AP4/B5D;;AO3/BI;EAA8B,gCAA4B;EAA5B,4BAA4B;AP+/B9D;;AO9/BI;EAA8B,sCAAkC;EAAlC,kCAAkC;APkgCpE;;AOjgCI;EAA8B,6BAAyB;EAAzB,yBAAyB;APqgC3D;;AOpgCI;EAA8B,+BAAuB;EAAvB,uBAAuB;APwgCzD;;AOvgCI;EAA8B,+BAAuB;EAAvB,uBAAuB;AP2gCzD;;AO1gCI;EAA8B,+BAAyB;EAAzB,yBAAyB;AP8gC3D;;AO7gCI;EAA8B,+BAAyB;EAAzB,yBAAyB;APihC3D;;AO/gCI;EAAoC,+BAAsC;EAAtC,sCAAsC;APmhC9E;;AOlhCI;EAAoC,6BAAoC;EAApC,oCAAoC;APshC5E;;AOrhCI;EAAoC,gCAAkC;EAAlC,kCAAkC;APyhC1E;;AOxhCI;EAAoC,iCAAyC;EAAzC,yCAAyC;AP4hCjF;;AO3hCI;EAAoC,oCAAwC;EAAxC,wCAAwC;AP+hChF;;AO7hCI;EAAiC,gCAAkC;EAAlC,kCAAkC;APiiCvE;;AOhiCI;EAAiC,8BAAgC;EAAhC,gCAAgC;APoiCrE;;AOniCI;EAAiC,iCAA8B;EAA9B,8BAA8B;APuiCnE;;AOtiCI;EAAiC,mCAAgC;EAAhC,gCAAgC;AP0iCrE;;AOziCI;EAAiC,kCAA+B;EAA/B,+BAA+B;AP6iCpE;;AO3iCI;EAAkC,oCAAoC;EAApC,oCAAoC;AP+iC1E;;AO9iCI;EAAkC,kCAAkC;EAAlC,kCAAkC;APkjCxE;;AOjjCI;EAAkC,qCAAgC;EAAhC,gCAAgC;APqjCtE;;AOpjCI;EAAkC,sCAAuC;EAAvC,uCAAuC;APwjC7E;;AOvjCI;EAAkC,yCAAsC;EAAtC,sCAAsC;AP2jC5E;;AO1jCI;EAAkC,sCAAiC;EAAjC,iCAAiC;AP8jCvE;;AO5jCI;EAAgC,oCAA2B;EAA3B,2BAA2B;APgkC/D;;AO/jCI;EAAgC,qCAAiC;EAAjC,iCAAiC;APmkCrE;;AOlkCI;EAAgC,mCAA+B;EAA/B,+BAA+B;APskCnE;;AOrkCI;EAAgC,sCAA6B;EAA7B,6BAA6B;APykCjE;;AOxkCI;EAAgC,wCAA+B;EAA/B,+BAA+B;AP4kCnE;;AO3kCI;EAAgC,uCAA8B;EAA9B,8BAA8B;AP+kClE;;AGnkCI;EIlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;EP0nChE;EOznCE;IAAgC,qCAAiC;IAAjC,iCAAiC;EP4nCnE;EO3nCE;IAAgC,0CAAsC;IAAtC,sCAAsC;EP8nCxE;EO7nCE;IAAgC,6CAAyC;IAAzC,yCAAyC;EPgoC3E;EO9nCE;IAA8B,8BAA0B;IAA1B,0BAA0B;EPioC1D;EOhoCE;IAA8B,gCAA4B;IAA5B,4BAA4B;EPmoC5D;EOloCE;IAA8B,sCAAkC;IAAlC,kCAAkC;EPqoClE;EOpoCE;IAA8B,6BAAyB;IAAzB,yBAAyB;EPuoCzD;EOtoCE;IAA8B,+BAAuB;IAAvB,uBAAuB;EPyoCvD;EOxoCE;IAA8B,+BAAuB;IAAvB,uBAAuB;EP2oCvD;EO1oCE;IAA8B,+BAAyB;IAAzB,yBAAyB;EP6oCzD;EO5oCE;IAA8B,+BAAyB;IAAzB,yBAAyB;EP+oCzD;EO7oCE;IAAoC,+BAAsC;IAAtC,sCAAsC;EPgpC5E;EO/oCE;IAAoC,6BAAoC;IAApC,oCAAoC;EPkpC1E;EOjpCE;IAAoC,gCAAkC;IAAlC,kCAAkC;EPopCxE;EOnpCE;IAAoC,iCAAyC;IAAzC,yCAAyC;EPspC/E;EOrpCE;IAAoC,oCAAwC;IAAxC,wCAAwC;EPwpC9E;EOtpCE;IAAiC,gCAAkC;IAAlC,kCAAkC;EPypCrE;EOxpCE;IAAiC,8BAAgC;IAAhC,gCAAgC;EP2pCnE;EO1pCE;IAAiC,iCAA8B;IAA9B,8BAA8B;EP6pCjE;EO5pCE;IAAiC,mCAAgC;IAAhC,gCAAgC;EP+pCnE;EO9pCE;IAAiC,kCAA+B;IAA/B,+BAA+B;EPiqClE;EO/pCE;IAAkC,oCAAoC;IAApC,oCAAoC;EPkqCxE;EOjqCE;IAAkC,kCAAkC;IAAlC,kCAAkC;EPoqCtE;EOnqCE;IAAkC,qCAAgC;IAAhC,gCAAgC;EPsqCpE;EOrqCE;IAAkC,sCAAuC;IAAvC,uCAAuC;EPwqC3E;EOvqCE;IAAkC,yCAAsC;IAAtC,sCAAsC;EP0qC1E;EOzqCE;IAAkC,sCAAiC;IAAjC,iCAAiC;EP4qCrE;EO1qCE;IAAgC,oCAA2B;IAA3B,2BAA2B;EP6qC7D;EO5qCE;IAAgC,qCAAiC;IAAjC,iCAAiC;EP+qCnE;EO9qCE;IAAgC,mCAA+B;IAA/B,+BAA+B;EPirCjE;EOhrCE;IAAgC,sCAA6B;IAA7B,6BAA6B;EPmrC/D;EOlrCE;IAAgC,wCAA+B;IAA/B,+BAA+B;EPqrCjE;EOprCE;IAAgC,uCAA8B;IAA9B,8BAA8B;EPurChE;AACF;;AG5qCI;EIlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;EPmuChE;EOluCE;IAAgC,qCAAiC;IAAjC,iCAAiC;EPquCnE;EOpuCE;IAAgC,0CAAsC;IAAtC,sCAAsC;EPuuCxE;EOtuCE;IAAgC,6CAAyC;IAAzC,yCAAyC;EPyuC3E;EOvuCE;IAA8B,8BAA0B;IAA1B,0BAA0B;EP0uC1D;EOzuCE;IAA8B,gCAA4B;IAA5B,4BAA4B;EP4uC5D;EO3uCE;IAA8B,sCAAkC;IAAlC,kCAAkC;EP8uClE;EO7uCE;IAA8B,6BAAyB;IAAzB,yBAAyB;EPgvCzD;EO/uCE;IAA8B,+BAAuB;IAAvB,uBAAuB;EPkvCvD;EOjvCE;IAA8B,+BAAuB;IAAvB,uBAAuB;EPovCvD;EOnvCE;IAA8B,+BAAyB;IAAzB,yBAAyB;EPsvCzD;EOrvCE;IAA8B,+BAAyB;IAAzB,yBAAyB;EPwvCzD;EOtvCE;IAAoC,+BAAsC;IAAtC,sCAAsC;EPyvC5E;EOxvCE;IAAoC,6BAAoC;IAApC,oCAAoC;EP2vC1E;EO1vCE;IAAoC,gCAAkC;IAAlC,kCAAkC;EP6vCxE;EO5vCE;IAAoC,iCAAyC;IAAzC,yCAAyC;EP+vC/E;EO9vCE;IAAoC,oCAAwC;IAAxC,wCAAwC;EPiwC9E;EO/vCE;IAAiC,gCAAkC;IAAlC,kCAAkC;EPkwCrE;EOjwCE;IAAiC,8BAAgC;IAAhC,gCAAgC;EPowCnE;EOnwCE;IAAiC,iCAA8B;IAA9B,8BAA8B;EPswCjE;EOrwCE;IAAiC,mCAAgC;IAAhC,gCAAgC;EPwwCnE;EOvwCE;IAAiC,kCAA+B;IAA/B,+BAA+B;EP0wClE;EOxwCE;IAAkC,oCAAoC;IAApC,oCAAoC;EP2wCxE;EO1wCE;IAAkC,kCAAkC;IAAlC,kCAAkC;EP6wCtE;EO5wCE;IAAkC,qCAAgC;IAAhC,gCAAgC;EP+wCpE;EO9wCE;IAAkC,sCAAuC;IAAvC,uCAAuC;EPixC3E;EOhxCE;IAAkC,yCAAsC;IAAtC,sCAAsC;EPmxC1E;EOlxCE;IAAkC,sCAAiC;IAAjC,iCAAiC;EPqxCrE;EOnxCE;IAAgC,oCAA2B;IAA3B,2BAA2B;EPsxC7D;EOrxCE;IAAgC,qCAAiC;IAAjC,iCAAiC;EPwxCnE;EOvxCE;IAAgC,mCAA+B;IAA/B,+BAA+B;EP0xCjE;EOzxCE;IAAgC,sCAA6B;IAA7B,6BAA6B;EP4xC/D;EO3xCE;IAAgC,wCAA+B;IAA/B,+BAA+B;EP8xCjE;EO7xCE;IAAgC,uCAA8B;IAA9B,8BAA8B;EPgyChE;AACF;;AGrxCI;EIlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;EP40ChE;EO30CE;IAAgC,qCAAiC;IAAjC,iCAAiC;EP80CnE;EO70CE;IAAgC,0CAAsC;IAAtC,sCAAsC;EPg1CxE;EO/0CE;IAAgC,6CAAyC;IAAzC,yCAAyC;EPk1C3E;EOh1CE;IAA8B,8BAA0B;IAA1B,0BAA0B;EPm1C1D;EOl1CE;IAA8B,gCAA4B;IAA5B,4BAA4B;EPq1C5D;EOp1CE;IAA8B,sCAAkC;IAAlC,kCAAkC;EPu1ClE;EOt1CE;IAA8B,6BAAyB;IAAzB,yBAAyB;EPy1CzD;EOx1CE;IAA8B,+BAAuB;IAAvB,uBAAuB;EP21CvD;EO11CE;IAA8B,+BAAuB;IAAvB,uBAAuB;EP61CvD;EO51CE;IAA8B,+BAAyB;IAAzB,yBAAyB;EP+1CzD;EO91CE;IAA8B,+BAAyB;IAAzB,yBAAyB;EPi2CzD;EO/1CE;IAAoC,+BAAsC;IAAtC,sCAAsC;EPk2C5E;EOj2CE;IAAoC,6BAAoC;IAApC,oCAAoC;EPo2C1E;EOn2CE;IAAoC,gCAAkC;IAAlC,kCAAkC;EPs2CxE;EOr2CE;IAAoC,iCAAyC;IAAzC,yCAAyC;EPw2C/E;EOv2CE;IAAoC,oCAAwC;IAAxC,wCAAwC;EP02C9E;EOx2CE;IAAiC,gCAAkC;IAAlC,kCAAkC;EP22CrE;EO12CE;IAAiC,8BAAgC;IAAhC,gCAAgC;EP62CnE;EO52CE;IAAiC,iCAA8B;IAA9B,8BAA8B;EP+2CjE;EO92CE;IAAiC,mCAAgC;IAAhC,gCAAgC;EPi3CnE;EOh3CE;IAAiC,kCAA+B;IAA/B,+BAA+B;EPm3ClE;EOj3CE;IAAkC,oCAAoC;IAApC,oCAAoC;EPo3CxE;EOn3CE;IAAkC,kCAAkC;IAAlC,kCAAkC;EPs3CtE;EOr3CE;IAAkC,qCAAgC;IAAhC,gCAAgC;EPw3CpE;EOv3CE;IAAkC,sCAAuC;IAAvC,uCAAuC;EP03C3E;EOz3CE;IAAkC,yCAAsC;IAAtC,sCAAsC;EP43C1E;EO33CE;IAAkC,sCAAiC;IAAjC,iCAAiC;EP83CrE;EO53CE;IAAgC,oCAA2B;IAA3B,2BAA2B;EP+3C7D;EO93CE;IAAgC,qCAAiC;IAAjC,iCAAiC;EPi4CnE;EOh4CE;IAAgC,mCAA+B;IAA/B,+BAA+B;EPm4CjE;EOl4CE;IAAgC,sCAA6B;IAA7B,6BAA6B;EPq4C/D;EOp4CE;IAAgC,wCAA+B;IAA/B,+BAA+B;EPu4CjE;EOt4CE;IAAgC,uCAA8B;IAA9B,8BAA8B;EPy4ChE;AACF;;AG93CI;EIlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;EPq7ChE;EOp7CE;IAAgC,qCAAiC;IAAjC,iCAAiC;EPu7CnE;EOt7CE;IAAgC,0CAAsC;IAAtC,sCAAsC;EPy7CxE;EOx7CE;IAAgC,6CAAyC;IAAzC,yCAAyC;EP27C3E;EOz7CE;IAA8B,8BAA0B;IAA1B,0BAA0B;EP47C1D;EO37CE;IAA8B,gCAA4B;IAA5B,4BAA4B;EP87C5D;EO77CE;IAA8B,sCAAkC;IAAlC,kCAAkC;EPg8ClE;EO/7CE;IAA8B,6BAAyB;IAAzB,yBAAyB;EPk8CzD;EOj8CE;IAA8B,+BAAuB;IAAvB,uBAAuB;EPo8CvD;EOn8CE;IAA8B,+BAAuB;IAAvB,uBAAuB;EPs8CvD;EOr8CE;IAA8B,+BAAyB;IAAzB,yBAAyB;EPw8CzD;EOv8CE;IAA8B,+BAAyB;IAAzB,yBAAyB;EP08CzD;EOx8CE;IAAoC,+BAAsC;IAAtC,sCAAsC;EP28C5E;EO18CE;IAAoC,6BAAoC;IAApC,oCAAoC;EP68C1E;EO58CE;IAAoC,gCAAkC;IAAlC,kCAAkC;EP+8CxE;EO98CE;IAAoC,iCAAyC;IAAzC,yCAAyC;EPi9C/E;EOh9CE;IAAoC,oCAAwC;IAAxC,wCAAwC;EPm9C9E;EOj9CE;IAAiC,gCAAkC;IAAlC,kCAAkC;EPo9CrE;EOn9CE;IAAiC,8BAAgC;IAAhC,gCAAgC;EPs9CnE;EOr9CE;IAAiC,iCAA8B;IAA9B,8BAA8B;EPw9CjE;EOv9CE;IAAiC,mCAAgC;IAAhC,gCAAgC;EP09CnE;EOz9CE;IAAiC,kCAA+B;IAA/B,+BAA+B;EP49ClE;EO19CE;IAAkC,oCAAoC;IAApC,oCAAoC;EP69CxE;EO59CE;IAAkC,kCAAkC;IAAlC,kCAAkC;EP+9CtE;EO99CE;IAAkC,qCAAgC;IAAhC,gCAAgC;EPi+CpE;EOh+CE;IAAkC,sCAAuC;IAAvC,uCAAuC;EPm+C3E;EOl+CE;IAAkC,yCAAsC;IAAtC,sCAAsC;EPq+C1E;EOp+CE;IAAkC,sCAAiC;IAAjC,iCAAiC;EPu+CrE;EOr+CE;IAAgC,oCAA2B;IAA3B,2BAA2B;EPw+C7D;EOv+CE;IAAgC,qCAAiC;IAAjC,iCAAiC;EP0+CnE;EOz+CE;IAAgC,mCAA+B;IAA/B,+BAA+B;EP4+CjE;EO3+CE;IAAgC,sCAA6B;IAA7B,6BAA6B;EP8+C/D;EO7+CE;IAAgC,wCAA+B;IAA/B,+BAA+B;EPg/CjE;EO/+CE;IAAgC,uCAA8B;IAA9B,8BAA8B;EPk/ChE;AACF;;AQzhDQ;EAAgC,oBAA4B;AR6hDpE;;AQ5hDQ;;EAEE,wBAAoC;AR+hD9C;;AQ7hDQ;;EAEE,0BAAwC;ARgiDlD;;AQ9hDQ;;EAEE,2BAA0C;ARiiDpD;;AQ/hDQ;;EAEE,yBAAsC;ARkiDhD;;AQjjDQ;EAAgC,0BAA4B;ARqjDpE;;AQpjDQ;;EAEE,8BAAoC;ARujD9C;;AQrjDQ;;EAEE,gCAAwC;ARwjDlD;;AQtjDQ;;EAEE,iCAA0C;ARyjDpD;;AQvjDQ;;EAEE,+BAAsC;AR0jDhD;;AQzkDQ;EAAgC,yBAA4B;AR6kDpE;;AQ5kDQ;;EAEE,6BAAoC;AR+kD9C;;AQ7kDQ;;EAEE,+BAAwC;ARglDlD;;AQ9kDQ;;EAEE,gCAA0C;ARilDpD;;AQ/kDQ;;EAEE,8BAAsC;ARklDhD;;AQjmDQ;EAAgC,uBAA4B;ARqmDpE;;AQpmDQ;;EAEE,2BAAoC;ARumD9C;;AQrmDQ;;EAEE,6BAAwC;ARwmDlD;;AQtmDQ;;EAEE,8BAA0C;ARymDpD;;AQvmDQ;;EAEE,4BAAsC;AR0mDhD;;AQznDQ;EAAgC,yBAA4B;AR6nDpE;;AQ5nDQ;;EAEE,6BAAoC;AR+nD9C;;AQ7nDQ;;EAEE,+BAAwC;ARgoDlD;;AQ9nDQ;;EAEE,gCAA0C;ARioDpD;;AQ/nDQ;;EAEE,8BAAsC;ARkoDhD;;AQjpDQ;EAAgC,uBAA4B;ARqpDpE;;AQppDQ;;EAEE,2BAAoC;ARupD9C;;AQrpDQ;;EAEE,6BAAwC;ARwpDlD;;AQtpDQ;;EAEE,8BAA0C;ARypDpD;;AQvpDQ;;EAEE,4BAAsC;AR0pDhD;;AQzqDQ;EAAgC,qBAA4B;AR6qDpE;;AQ5qDQ;;EAEE,yBAAoC;AR+qD9C;;AQ7qDQ;;EAEE,2BAAwC;ARgrDlD;;AQ9qDQ;;EAEE,4BAA0C;ARirDpD;;AQ/qDQ;;EAEE,0BAAsC;ARkrDhD;;AQjsDQ;EAAgC,2BAA4B;ARqsDpE;;AQpsDQ;;EAEE,+BAAoC;ARusD9C;;AQrsDQ;;EAEE,iCAAwC;ARwsDlD;;AQtsDQ;;EAEE,kCAA0C;ARysDpD;;AQvsDQ;;EAEE,gCAAsC;AR0sDhD;;AQztDQ;EAAgC,0BAA4B;AR6tDpE;;AQ5tDQ;;EAEE,8BAAoC;AR+tD9C;;AQ7tDQ;;EAEE,gCAAwC;ARguDlD;;AQ9tDQ;;EAEE,iCAA0C;ARiuDpD;;AQ/tDQ;;EAEE,+BAAsC;ARkuDhD;;AQjvDQ;EAAgC,wBAA4B;ARqvDpE;;AQpvDQ;;EAEE,4BAAoC;ARuvD9C;;AQrvDQ;;EAEE,8BAAwC;ARwvDlD;;AQtvDQ;;EAEE,+BAA0C;ARyvDpD;;AQvvDQ;;EAEE,6BAAsC;AR0vDhD;;AQzwDQ;EAAgC,0BAA4B;AR6wDpE;;AQ5wDQ;;EAEE,8BAAoC;AR+wD9C;;AQ7wDQ;;EAEE,gCAAwC;ARgxDlD;;AQ9wDQ;;EAEE,iCAA0C;ARixDpD;;AQ/wDQ;;EAEE,+BAAsC;ARkxDhD;;AQjyDQ;EAAgC,wBAA4B;ARqyDpE;;AQpyDQ;;EAEE,4BAAoC;ARuyD9C;;AQryDQ;;EAEE,8BAAwC;ARwyDlD;;AQtyDQ;;EAEE,+BAA0C;ARyyDpD;;AQvyDQ;;EAEE,6BAAsC;AR0yDhD;;AQlyDQ;EAAwB,2BAA2B;ARsyD3D;;AQryDQ;;EAEE,+BAA+B;ARwyDzC;;AQtyDQ;;EAEE,iCAAiC;ARyyD3C;;AQvyDQ;;EAEE,kCAAkC;AR0yD5C;;AQxyDQ;;EAEE,gCAAgC;AR2yD1C;;AQ1zDQ;EAAwB,0BAA2B;AR8zD3D;;AQ7zDQ;;EAEE,8BAA+B;ARg0DzC;;AQ9zDQ;;EAEE,gCAAiC;ARi0D3C;;AQ/zDQ;;EAEE,iCAAkC;ARk0D5C;;AQh0DQ;;EAEE,+BAAgC;ARm0D1C;;AQl1DQ;EAAwB,wBAA2B;ARs1D3D;;AQr1DQ;;EAEE,4BAA+B;ARw1DzC;;AQt1DQ;;EAEE,8BAAiC;ARy1D3C;;AQv1DQ;;EAEE,+BAAkC;AR01D5C;;AQx1DQ;;EAEE,6BAAgC;AR21D1C;;AQ12DQ;EAAwB,0BAA2B;AR82D3D;;AQ72DQ;;EAEE,8BAA+B;ARg3DzC;;AQ92DQ;;EAEE,gCAAiC;ARi3D3C;;AQ/2DQ;;EAEE,iCAAkC;ARk3D5C;;AQh3DQ;;EAEE,+BAAgC;ARm3D1C;;AQl4DQ;EAAwB,wBAA2B;ARs4D3D;;AQr4DQ;;EAEE,4BAA+B;ARw4DzC;;AQt4DQ;;EAEE,8BAAiC;ARy4D3C;;AQv4DQ;;EAEE,+BAAkC;AR04D5C;;AQx4DQ;;EAEE,6BAAgC;AR24D1C;;AQr4DI;EAAmB,uBAAuB;ARy4D9C;;AQx4DI;;EAEE,2BAA2B;AR24DjC;;AQz4DI;;EAEE,6BAA6B;AR44DnC;;AQ14DI;;EAEE,8BAA8B;AR64DpC;;AQ34DI;;EAEE,4BAA4B;AR84DlC;;AGv5DI;EKlDI;IAAgC,oBAA4B;ER88DlE;EQ78DM;;IAEE,wBAAoC;ER+8D5C;EQ78DM;;IAEE,0BAAwC;ER+8DhD;EQ78DM;;IAEE,2BAA0C;ER+8DlD;EQ78DM;;IAEE,yBAAsC;ER+8D9C;EQ99DM;IAAgC,0BAA4B;ERi+DlE;EQh+DM;;IAEE,8BAAoC;ERk+D5C;EQh+DM;;IAEE,gCAAwC;ERk+DhD;EQh+DM;;IAEE,iCAA0C;ERk+DlD;EQh+DM;;IAEE,+BAAsC;ERk+D9C;EQj/DM;IAAgC,yBAA4B;ERo/DlE;EQn/DM;;IAEE,6BAAoC;ERq/D5C;EQn/DM;;IAEE,+BAAwC;ERq/DhD;EQn/DM;;IAEE,gCAA0C;ERq/DlD;EQn/DM;;IAEE,8BAAsC;ERq/D9C;EQpgEM;IAAgC,uBAA4B;ERugElE;EQtgEM;;IAEE,2BAAoC;ERwgE5C;EQtgEM;;IAEE,6BAAwC;ERwgEhD;EQtgEM;;IAEE,8BAA0C;ERwgElD;EQtgEM;;IAEE,4BAAsC;ERwgE9C;EQvhEM;IAAgC,yBAA4B;ER0hElE;EQzhEM;;IAEE,6BAAoC;ER2hE5C;EQzhEM;;IAEE,+BAAwC;ER2hEhD;EQzhEM;;IAEE,gCAA0C;ER2hElD;EQzhEM;;IAEE,8BAAsC;ER2hE9C;EQ1iEM;IAAgC,uBAA4B;ER6iElE;EQ5iEM;;IAEE,2BAAoC;ER8iE5C;EQ5iEM;;IAEE,6BAAwC;ER8iEhD;EQ5iEM;;IAEE,8BAA0C;ER8iElD;EQ5iEM;;IAEE,4BAAsC;ER8iE9C;EQ7jEM;IAAgC,qBAA4B;ERgkElE;EQ/jEM;;IAEE,yBAAoC;ERikE5C;EQ/jEM;;IAEE,2BAAwC;ERikEhD;EQ/jEM;;IAEE,4BAA0C;ERikElD;EQ/jEM;;IAEE,0BAAsC;ERikE9C;EQhlEM;IAAgC,2BAA4B;ERmlElE;EQllEM;;IAEE,+BAAoC;ERolE5C;EQllEM;;IAEE,iCAAwC;ERolEhD;EQllEM;;IAEE,kCAA0C;ERolElD;EQllEM;;IAEE,gCAAsC;ERolE9C;EQnmEM;IAAgC,0BAA4B;ERsmElE;EQrmEM;;IAEE,8BAAoC;ERumE5C;EQrmEM;;IAEE,gCAAwC;ERumEhD;EQrmEM;;IAEE,iCAA0C;ERumElD;EQrmEM;;IAEE,+BAAsC;ERumE9C;EQtnEM;IAAgC,wBAA4B;ERynElE;EQxnEM;;IAEE,4BAAoC;ER0nE5C;EQxnEM;;IAEE,8BAAwC;ER0nEhD;EQxnEM;;IAEE,+BAA0C;ER0nElD;EQxnEM;;IAEE,6BAAsC;ER0nE9C;EQzoEM;IAAgC,0BAA4B;ER4oElE;EQ3oEM;;IAEE,8BAAoC;ER6oE5C;EQ3oEM;;IAEE,gCAAwC;ER6oEhD;EQ3oEM;;IAEE,iCAA0C;ER6oElD;EQ3oEM;;IAEE,+BAAsC;ER6oE9C;EQ5pEM;IAAgC,wBAA4B;ER+pElE;EQ9pEM;;IAEE,4BAAoC;ERgqE5C;EQ9pEM;;IAEE,8BAAwC;ERgqEhD;EQ9pEM;;IAEE,+BAA0C;ERgqElD;EQ9pEM;;IAEE,6BAAsC;ERgqE9C;EQxpEM;IAAwB,2BAA2B;ER2pEzD;EQ1pEM;;IAEE,+BAA+B;ER4pEvC;EQ1pEM;;IAEE,iCAAiC;ER4pEzC;EQ1pEM;;IAEE,kCAAkC;ER4pE1C;EQ1pEM;;IAEE,gCAAgC;ER4pExC;EQ3qEM;IAAwB,0BAA2B;ER8qEzD;EQ7qEM;;IAEE,8BAA+B;ER+qEvC;EQ7qEM;;IAEE,gCAAiC;ER+qEzC;EQ7qEM;;IAEE,iCAAkC;ER+qE1C;EQ7qEM;;IAEE,+BAAgC;ER+qExC;EQ9rEM;IAAwB,wBAA2B;ERisEzD;EQhsEM;;IAEE,4BAA+B;ERksEvC;EQhsEM;;IAEE,8BAAiC;ERksEzC;EQhsEM;;IAEE,+BAAkC;ERksE1C;EQhsEM;;IAEE,6BAAgC;ERksExC;EQjtEM;IAAwB,0BAA2B;ERotEzD;EQntEM;;IAEE,8BAA+B;ERqtEvC;EQntEM;;IAEE,gCAAiC;ERqtEzC;EQntEM;;IAEE,iCAAkC;ERqtE1C;EQntEM;;IAEE,+BAAgC;ERqtExC;EQpuEM;IAAwB,wBAA2B;ERuuEzD;EQtuEM;;IAEE,4BAA+B;ERwuEvC;EQtuEM;;IAEE,8BAAiC;ERwuEzC;EQtuEM;;IAEE,+BAAkC;ERwuE1C;EQtuEM;;IAEE,6BAAgC;ERwuExC;EQluEE;IAAmB,uBAAuB;ERquE5C;EQpuEE;;IAEE,2BAA2B;ERsuE/B;EQpuEE;;IAEE,6BAA6B;ERsuEjC;EQpuEE;;IAEE,8BAA8B;ERsuElC;EQpuEE;;IAEE,4BAA4B;ERsuEhC;AACF;;AGhvEI;EKlDI;IAAgC,oBAA4B;ERuyElE;EQtyEM;;IAEE,wBAAoC;ERwyE5C;EQtyEM;;IAEE,0BAAwC;ERwyEhD;EQtyEM;;IAEE,2BAA0C;ERwyElD;EQtyEM;;IAEE,yBAAsC;ERwyE9C;EQvzEM;IAAgC,0BAA4B;ER0zElE;EQzzEM;;IAEE,8BAAoC;ER2zE5C;EQzzEM;;IAEE,gCAAwC;ER2zEhD;EQzzEM;;IAEE,iCAA0C;ER2zElD;EQzzEM;;IAEE,+BAAsC;ER2zE9C;EQ10EM;IAAgC,yBAA4B;ER60ElE;EQ50EM;;IAEE,6BAAoC;ER80E5C;EQ50EM;;IAEE,+BAAwC;ER80EhD;EQ50EM;;IAEE,gCAA0C;ER80ElD;EQ50EM;;IAEE,8BAAsC;ER80E9C;EQ71EM;IAAgC,uBAA4B;ERg2ElE;EQ/1EM;;IAEE,2BAAoC;ERi2E5C;EQ/1EM;;IAEE,6BAAwC;ERi2EhD;EQ/1EM;;IAEE,8BAA0C;ERi2ElD;EQ/1EM;;IAEE,4BAAsC;ERi2E9C;EQh3EM;IAAgC,yBAA4B;ERm3ElE;EQl3EM;;IAEE,6BAAoC;ERo3E5C;EQl3EM;;IAEE,+BAAwC;ERo3EhD;EQl3EM;;IAEE,gCAA0C;ERo3ElD;EQl3EM;;IAEE,8BAAsC;ERo3E9C;EQn4EM;IAAgC,uBAA4B;ERs4ElE;EQr4EM;;IAEE,2BAAoC;ERu4E5C;EQr4EM;;IAEE,6BAAwC;ERu4EhD;EQr4EM;;IAEE,8BAA0C;ERu4ElD;EQr4EM;;IAEE,4BAAsC;ERu4E9C;EQt5EM;IAAgC,qBAA4B;ERy5ElE;EQx5EM;;IAEE,yBAAoC;ER05E5C;EQx5EM;;IAEE,2BAAwC;ER05EhD;EQx5EM;;IAEE,4BAA0C;ER05ElD;EQx5EM;;IAEE,0BAAsC;ER05E9C;EQz6EM;IAAgC,2BAA4B;ER46ElE;EQ36EM;;IAEE,+BAAoC;ER66E5C;EQ36EM;;IAEE,iCAAwC;ER66EhD;EQ36EM;;IAEE,kCAA0C;ER66ElD;EQ36EM;;IAEE,gCAAsC;ER66E9C;EQ57EM;IAAgC,0BAA4B;ER+7ElE;EQ97EM;;IAEE,8BAAoC;ERg8E5C;EQ97EM;;IAEE,gCAAwC;ERg8EhD;EQ97EM;;IAEE,iCAA0C;ERg8ElD;EQ97EM;;IAEE,+BAAsC;ERg8E9C;EQ/8EM;IAAgC,wBAA4B;ERk9ElE;EQj9EM;;IAEE,4BAAoC;ERm9E5C;EQj9EM;;IAEE,8BAAwC;ERm9EhD;EQj9EM;;IAEE,+BAA0C;ERm9ElD;EQj9EM;;IAEE,6BAAsC;ERm9E9C;EQl+EM;IAAgC,0BAA4B;ERq+ElE;EQp+EM;;IAEE,8BAAoC;ERs+E5C;EQp+EM;;IAEE,gCAAwC;ERs+EhD;EQp+EM;;IAEE,iCAA0C;ERs+ElD;EQp+EM;;IAEE,+BAAsC;ERs+E9C;EQr/EM;IAAgC,wBAA4B;ERw/ElE;EQv/EM;;IAEE,4BAAoC;ERy/E5C;EQv/EM;;IAEE,8BAAwC;ERy/EhD;EQv/EM;;IAEE,+BAA0C;ERy/ElD;EQv/EM;;IAEE,6BAAsC;ERy/E9C;EQj/EM;IAAwB,2BAA2B;ERo/EzD;EQn/EM;;IAEE,+BAA+B;ERq/EvC;EQn/EM;;IAEE,iCAAiC;ERq/EzC;EQn/EM;;IAEE,kCAAkC;ERq/E1C;EQn/EM;;IAEE,gCAAgC;ERq/ExC;EQpgFM;IAAwB,0BAA2B;ERugFzD;EQtgFM;;IAEE,8BAA+B;ERwgFvC;EQtgFM;;IAEE,gCAAiC;ERwgFzC;EQtgFM;;IAEE,iCAAkC;ERwgF1C;EQtgFM;;IAEE,+BAAgC;ERwgFxC;EQvhFM;IAAwB,wBAA2B;ER0hFzD;EQzhFM;;IAEE,4BAA+B;ER2hFvC;EQzhFM;;IAEE,8BAAiC;ER2hFzC;EQzhFM;;IAEE,+BAAkC;ER2hF1C;EQzhFM;;IAEE,6BAAgC;ER2hFxC;EQ1iFM;IAAwB,0BAA2B;ER6iFzD;EQ5iFM;;IAEE,8BAA+B;ER8iFvC;EQ5iFM;;IAEE,gCAAiC;ER8iFzC;EQ5iFM;;IAEE,iCAAkC;ER8iF1C;EQ5iFM;;IAEE,+BAAgC;ER8iFxC;EQ7jFM;IAAwB,wBAA2B;ERgkFzD;EQ/jFM;;IAEE,4BAA+B;ERikFvC;EQ/jFM;;IAEE,8BAAiC;ERikFzC;EQ/jFM;;IAEE,+BAAkC;ERikF1C;EQ/jFM;;IAEE,6BAAgC;ERikFxC;EQ3jFE;IAAmB,uBAAuB;ER8jF5C;EQ7jFE;;IAEE,2BAA2B;ER+jF/B;EQ7jFE;;IAEE,6BAA6B;ER+jFjC;EQ7jFE;;IAEE,8BAA8B;ER+jFlC;EQ7jFE;;IAEE,4BAA4B;ER+jFhC;AACF;;AGzkFI;EKlDI;IAAgC,oBAA4B;ERgoFlE;EQ/nFM;;IAEE,wBAAoC;ERioF5C;EQ/nFM;;IAEE,0BAAwC;ERioFhD;EQ/nFM;;IAEE,2BAA0C;ERioFlD;EQ/nFM;;IAEE,yBAAsC;ERioF9C;EQhpFM;IAAgC,0BAA4B;ERmpFlE;EQlpFM;;IAEE,8BAAoC;ERopF5C;EQlpFM;;IAEE,gCAAwC;ERopFhD;EQlpFM;;IAEE,iCAA0C;ERopFlD;EQlpFM;;IAEE,+BAAsC;ERopF9C;EQnqFM;IAAgC,yBAA4B;ERsqFlE;EQrqFM;;IAEE,6BAAoC;ERuqF5C;EQrqFM;;IAEE,+BAAwC;ERuqFhD;EQrqFM;;IAEE,gCAA0C;ERuqFlD;EQrqFM;;IAEE,8BAAsC;ERuqF9C;EQtrFM;IAAgC,uBAA4B;ERyrFlE;EQxrFM;;IAEE,2BAAoC;ER0rF5C;EQxrFM;;IAEE,6BAAwC;ER0rFhD;EQxrFM;;IAEE,8BAA0C;ER0rFlD;EQxrFM;;IAEE,4BAAsC;ER0rF9C;EQzsFM;IAAgC,yBAA4B;ER4sFlE;EQ3sFM;;IAEE,6BAAoC;ER6sF5C;EQ3sFM;;IAEE,+BAAwC;ER6sFhD;EQ3sFM;;IAEE,gCAA0C;ER6sFlD;EQ3sFM;;IAEE,8BAAsC;ER6sF9C;EQ5tFM;IAAgC,uBAA4B;ER+tFlE;EQ9tFM;;IAEE,2BAAoC;ERguF5C;EQ9tFM;;IAEE,6BAAwC;ERguFhD;EQ9tFM;;IAEE,8BAA0C;ERguFlD;EQ9tFM;;IAEE,4BAAsC;ERguF9C;EQ/uFM;IAAgC,qBAA4B;ERkvFlE;EQjvFM;;IAEE,yBAAoC;ERmvF5C;EQjvFM;;IAEE,2BAAwC;ERmvFhD;EQjvFM;;IAEE,4BAA0C;ERmvFlD;EQjvFM;;IAEE,0BAAsC;ERmvF9C;EQlwFM;IAAgC,2BAA4B;ERqwFlE;EQpwFM;;IAEE,+BAAoC;ERswF5C;EQpwFM;;IAEE,iCAAwC;ERswFhD;EQpwFM;;IAEE,kCAA0C;ERswFlD;EQpwFM;;IAEE,gCAAsC;ERswF9C;EQrxFM;IAAgC,0BAA4B;ERwxFlE;EQvxFM;;IAEE,8BAAoC;ERyxF5C;EQvxFM;;IAEE,gCAAwC;ERyxFhD;EQvxFM;;IAEE,iCAA0C;ERyxFlD;EQvxFM;;IAEE,+BAAsC;ERyxF9C;EQxyFM;IAAgC,wBAA4B;ER2yFlE;EQ1yFM;;IAEE,4BAAoC;ER4yF5C;EQ1yFM;;IAEE,8BAAwC;ER4yFhD;EQ1yFM;;IAEE,+BAA0C;ER4yFlD;EQ1yFM;;IAEE,6BAAsC;ER4yF9C;EQ3zFM;IAAgC,0BAA4B;ER8zFlE;EQ7zFM;;IAEE,8BAAoC;ER+zF5C;EQ7zFM;;IAEE,gCAAwC;ER+zFhD;EQ7zFM;;IAEE,iCAA0C;ER+zFlD;EQ7zFM;;IAEE,+BAAsC;ER+zF9C;EQ90FM;IAAgC,wBAA4B;ERi1FlE;EQh1FM;;IAEE,4BAAoC;ERk1F5C;EQh1FM;;IAEE,8BAAwC;ERk1FhD;EQh1FM;;IAEE,+BAA0C;ERk1FlD;EQh1FM;;IAEE,6BAAsC;ERk1F9C;EQ10FM;IAAwB,2BAA2B;ER60FzD;EQ50FM;;IAEE,+BAA+B;ER80FvC;EQ50FM;;IAEE,iCAAiC;ER80FzC;EQ50FM;;IAEE,kCAAkC;ER80F1C;EQ50FM;;IAEE,gCAAgC;ER80FxC;EQ71FM;IAAwB,0BAA2B;ERg2FzD;EQ/1FM;;IAEE,8BAA+B;ERi2FvC;EQ/1FM;;IAEE,gCAAiC;ERi2FzC;EQ/1FM;;IAEE,iCAAkC;ERi2F1C;EQ/1FM;;IAEE,+BAAgC;ERi2FxC;EQh3FM;IAAwB,wBAA2B;ERm3FzD;EQl3FM;;IAEE,4BAA+B;ERo3FvC;EQl3FM;;IAEE,8BAAiC;ERo3FzC;EQl3FM;;IAEE,+BAAkC;ERo3F1C;EQl3FM;;IAEE,6BAAgC;ERo3FxC;EQn4FM;IAAwB,0BAA2B;ERs4FzD;EQr4FM;;IAEE,8BAA+B;ERu4FvC;EQr4FM;;IAEE,gCAAiC;ERu4FzC;EQr4FM;;IAEE,iCAAkC;ERu4F1C;EQr4FM;;IAEE,+BAAgC;ERu4FxC;EQt5FM;IAAwB,wBAA2B;ERy5FzD;EQx5FM;;IAEE,4BAA+B;ER05FvC;EQx5FM;;IAEE,8BAAiC;ER05FzC;EQx5FM;;IAEE,+BAAkC;ER05F1C;EQx5FM;;IAEE,6BAAgC;ER05FxC;EQp5FE;IAAmB,uBAAuB;ERu5F5C;EQt5FE;;IAEE,2BAA2B;ERw5F/B;EQt5FE;;IAEE,6BAA6B;ERw5FjC;EQt5FE;;IAEE,8BAA8B;ERw5FlC;EQt5FE;;IAEE,4BAA4B;ERw5FhC;AACF;;AGl6FI;EKlDI;IAAgC,oBAA4B;ERy9FlE;EQx9FM;;IAEE,wBAAoC;ER09F5C;EQx9FM;;IAEE,0BAAwC;ER09FhD;EQx9FM;;IAEE,2BAA0C;ER09FlD;EQx9FM;;IAEE,yBAAsC;ER09F9C;EQz+FM;IAAgC,0BAA4B;ER4+FlE;EQ3+FM;;IAEE,8BAAoC;ER6+F5C;EQ3+FM;;IAEE,gCAAwC;ER6+FhD;EQ3+FM;;IAEE,iCAA0C;ER6+FlD;EQ3+FM;;IAEE,+BAAsC;ER6+F9C;EQ5/FM;IAAgC,yBAA4B;ER+/FlE;EQ9/FM;;IAEE,6BAAoC;ERggG5C;EQ9/FM;;IAEE,+BAAwC;ERggGhD;EQ9/FM;;IAEE,gCAA0C;ERggGlD;EQ9/FM;;IAEE,8BAAsC;ERggG9C;EQ/gGM;IAAgC,uBAA4B;ERkhGlE;EQjhGM;;IAEE,2BAAoC;ERmhG5C;EQjhGM;;IAEE,6BAAwC;ERmhGhD;EQjhGM;;IAEE,8BAA0C;ERmhGlD;EQjhGM;;IAEE,4BAAsC;ERmhG9C;EQliGM;IAAgC,yBAA4B;ERqiGlE;EQpiGM;;IAEE,6BAAoC;ERsiG5C;EQpiGM;;IAEE,+BAAwC;ERsiGhD;EQpiGM;;IAEE,gCAA0C;ERsiGlD;EQpiGM;;IAEE,8BAAsC;ERsiG9C;EQrjGM;IAAgC,uBAA4B;ERwjGlE;EQvjGM;;IAEE,2BAAoC;ERyjG5C;EQvjGM;;IAEE,6BAAwC;ERyjGhD;EQvjGM;;IAEE,8BAA0C;ERyjGlD;EQvjGM;;IAEE,4BAAsC;ERyjG9C;EQxkGM;IAAgC,qBAA4B;ER2kGlE;EQ1kGM;;IAEE,yBAAoC;ER4kG5C;EQ1kGM;;IAEE,2BAAwC;ER4kGhD;EQ1kGM;;IAEE,4BAA0C;ER4kGlD;EQ1kGM;;IAEE,0BAAsC;ER4kG9C;EQ3lGM;IAAgC,2BAA4B;ER8lGlE;EQ7lGM;;IAEE,+BAAoC;ER+lG5C;EQ7lGM;;IAEE,iCAAwC;ER+lGhD;EQ7lGM;;IAEE,kCAA0C;ER+lGlD;EQ7lGM;;IAEE,gCAAsC;ER+lG9C;EQ9mGM;IAAgC,0BAA4B;ERinGlE;EQhnGM;;IAEE,8BAAoC;ERknG5C;EQhnGM;;IAEE,gCAAwC;ERknGhD;EQhnGM;;IAEE,iCAA0C;ERknGlD;EQhnGM;;IAEE,+BAAsC;ERknG9C;EQjoGM;IAAgC,wBAA4B;ERooGlE;EQnoGM;;IAEE,4BAAoC;ERqoG5C;EQnoGM;;IAEE,8BAAwC;ERqoGhD;EQnoGM;;IAEE,+BAA0C;ERqoGlD;EQnoGM;;IAEE,6BAAsC;ERqoG9C;EQppGM;IAAgC,0BAA4B;ERupGlE;EQtpGM;;IAEE,8BAAoC;ERwpG5C;EQtpGM;;IAEE,gCAAwC;ERwpGhD;EQtpGM;;IAEE,iCAA0C;ERwpGlD;EQtpGM;;IAEE,+BAAsC;ERwpG9C;EQvqGM;IAAgC,wBAA4B;ER0qGlE;EQzqGM;;IAEE,4BAAoC;ER2qG5C;EQzqGM;;IAEE,8BAAwC;ER2qGhD;EQzqGM;;IAEE,+BAA0C;ER2qGlD;EQzqGM;;IAEE,6BAAsC;ER2qG9C;EQnqGM;IAAwB,2BAA2B;ERsqGzD;EQrqGM;;IAEE,+BAA+B;ERuqGvC;EQrqGM;;IAEE,iCAAiC;ERuqGzC;EQrqGM;;IAEE,kCAAkC;ERuqG1C;EQrqGM;;IAEE,gCAAgC;ERuqGxC;EQtrGM;IAAwB,0BAA2B;ERyrGzD;EQxrGM;;IAEE,8BAA+B;ER0rGvC;EQxrGM;;IAEE,gCAAiC;ER0rGzC;EQxrGM;;IAEE,iCAAkC;ER0rG1C;EQxrGM;;IAEE,+BAAgC;ER0rGxC;EQzsGM;IAAwB,wBAA2B;ER4sGzD;EQ3sGM;;IAEE,4BAA+B;ER6sGvC;EQ3sGM;;IAEE,8BAAiC;ER6sGzC;EQ3sGM;;IAEE,+BAAkC;ER6sG1C;EQ3sGM;;IAEE,6BAAgC;ER6sGxC;EQ5tGM;IAAwB,0BAA2B;ER+tGzD;EQ9tGM;;IAEE,8BAA+B;ERguGvC;EQ9tGM;;IAEE,gCAAiC;ERguGzC;EQ9tGM;;IAEE,iCAAkC;ERguG1C;EQ9tGM;;IAEE,+BAAgC;ERguGxC;EQ/uGM;IAAwB,wBAA2B;ERkvGzD;EQjvGM;;IAEE,4BAA+B;ERmvGvC;EQjvGM;;IAEE,8BAAiC;ERmvGzC;EQjvGM;;IAEE,+BAAkC;ERmvG1C;EQjvGM;;IAEE,6BAAgC;ERmvGxC;EQ7uGE;IAAmB,uBAAuB;ERgvG5C;EQ/uGE;;IAEE,2BAA2B;ERivG/B;EQ/uGE;;IAEE,6BAA6B;ERivGjC;EQ/uGE;;IAEE,8BAA8B;ERivGlC;EQ/uGE;;IAEE,4BAA4B;ERivGhC;AACF","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\n","/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !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-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@media (min-width: 576px) {\n .d-sm-none {\n display: 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-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}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: 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-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}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: 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-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}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: 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-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}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\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-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}\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-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.flex-fill {\n flex: 1 1 auto !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.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.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@media (min-width: 576px) {\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-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 .flex-sm-fill {\n flex: 1 1 auto !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 .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 .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}\n\n@media (min-width: 768px) {\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-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 .flex-md-fill {\n flex: 1 1 auto !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 .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 .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}\n\n@media (min-width: 992px) {\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-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 .flex-lg-fill {\n flex: 1 1 auto !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 .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 .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}\n\n@media (min-width: 1200px) {\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-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 .flex-xl-fill {\n flex: 1 1 auto !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 .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 .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}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\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)\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))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($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))\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. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `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(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .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))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\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 $max: breakpoint-max($name, $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($name, $breakpoints) {\n @content;\n }\n }\n}\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$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\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 ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\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 ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\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 ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\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-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\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$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !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$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\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$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\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: 30px !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto 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$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !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\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n$table-dark-color: $white !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\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: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $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$input-btn-line-height-sm: $line-height-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$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\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\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$btn-line-height-sm: $input-btn-line-height-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$btn-line-height-lg: $input-btn-line-height-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-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !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\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\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$input-line-height-sm: $input-btn-line-height-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$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !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: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2}) !default;\n$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default;\n$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default;\n\n$input-height: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2} + #{$input-height-border}) !default;\n$input-height-sm: calc(#{$input-line-height-sm * 1em} + #{$input-btn-padding-y-sm * 2} + #{$input-height-border}) !default;\n$input-height-lg: calc(#{$input-line-height-lg * 1em} + #{$input-btn-padding-y-lg * 2} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\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\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: calc(#{$custom-control-indicator-size} - #{$custom-control-indicator-border-width * 4}) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-select-background: $custom-select-indicator no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: calc((1em + #{2 * $custom-select-padding-y}) * 3 / 4 + #{$custom-select-padding-x + $custom-select-indicator-padding}) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.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\"), \"#\", \"%23\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-feedback-icon-invalid-color}' viewBox='-2 -2 7 7'%3e%3cpath stroke='#{$form-feedback-icon-invalid-color}' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\"), \"#\", \"%23\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\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 ),\n $form-validation-states\n);\n\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$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !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\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !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) / 2 !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\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !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\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !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: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !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-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !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$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\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\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !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: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !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\n// Form tooltips must come after regular tooltips\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: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\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-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !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\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !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: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !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\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !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: null !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-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !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: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !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\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !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\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\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: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !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: .75rem !default;\n$list-group-item-padding-x: 1.25rem !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\n\n// Image thumbnails\n\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: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !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-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !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\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !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: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/dist/css/bootstrap-grid.min.css b/dist/css/bootstrap-grid.min.css deleted file mode 100644 index e5e74f7f..00000000 --- a/dist/css/bootstrap-grid.min.css +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap Grid v4.3.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!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:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!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:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!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:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!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:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!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:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}} -/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/dist/css/bootstrap-grid.min.css.map b/dist/css/bootstrap-grid.min.css.map deleted file mode 100644 index 13e33dbc..00000000 --- a/dist/css/bootstrap-grid.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"AAAA;;;;;AAOA,KACE,WAAA,WACA,mBAAA,UAGF,ECCA,QADA,SDGE,WAAA,QEVA,WCAA,MAAA,KACA,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KCmDE,yBFvDF,WCYI,UAAA,OC2CF,yBFvDF,WCYI,UAAA,OC2CF,yBFvDF,WCYI,UAAA,OC2CF,0BFvDF,WCYI,UAAA,QDAJ,iBCZA,MAAA,KACA,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KDkBA,KCJA,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,aAAA,MACA,YAAA,MDOA,YACE,aAAA,EACA,YAAA,EAFF,iBDuCF,0BCjCM,cAAA,EACA,aAAA,EGjCJ,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OJuEF,UAEqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aAFqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aAFkJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACnG,aAEqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aI1EI,SAAA,SACA,MAAA,KACA,cAAA,KACA,aAAA,KAmBE,KACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,UACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,OFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,QFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,QFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,QFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,aAAwB,eAAA,GAAA,MAAA,GAExB,YAAuB,eAAA,GAAA,MAAA,GAGrB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,UAAwB,eAAA,GAAA,MAAA,GAAxB,UAAwB,eAAA,GAAA,MAAA,GAAxB,UAAwB,eAAA,GAAA,MAAA,GAMtB,UFTR,YAAA,UESQ,UFTR,YAAA,WESQ,UFTR,YAAA,IESQ,UFTR,YAAA,WESQ,UFTR,YAAA,WESQ,UFTR,YAAA,IESQ,UFTR,YAAA,WESQ,UFTR,YAAA,WESQ,UFTR,YAAA,IESQ,WFTR,YAAA,WESQ,WFTR,YAAA,WCWE,yBC9BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAMtB,aFTR,YAAA,EESQ,aFTR,YAAA,UESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,cFTR,YAAA,WESQ,cFTR,YAAA,YCWE,yBC9BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAMtB,aFTR,YAAA,EESQ,aFTR,YAAA,UESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,cFTR,YAAA,WESQ,cFTR,YAAA,YCWE,yBC9BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAMtB,aFTR,YAAA,EESQ,aFTR,YAAA,UESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,cFTR,YAAA,WESQ,cFTR,YAAA,YCWE,0BC9BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAMtB,aFTR,YAAA,EESQ,aFTR,YAAA,UESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,cFTR,YAAA,WESQ,cFTR,YAAA,YGtCI,QAAwB,QAAA,eAAxB,UAAwB,QAAA,iBAAxB,gBAAwB,QAAA,uBAAxB,SAAwB,QAAA,gBAAxB,SAAwB,QAAA,gBAAxB,aAAwB,QAAA,oBAAxB,cAAwB,QAAA,qBAAxB,QAAwB,QAAA,sBAAA,QAAA,eAAxB,eAAwB,QAAA,6BAAA,QAAA,sBFiD1B,yBEjDE,WAAwB,QAAA,eAAxB,aAAwB,QAAA,iBAAxB,mBAAwB,QAAA,uBAAxB,YAAwB,QAAA,gBAAxB,YAAwB,QAAA,gBAAxB,gBAAwB,QAAA,oBAAxB,iBAAwB,QAAA,qBAAxB,WAAwB,QAAA,sBAAA,QAAA,eAAxB,kBAAwB,QAAA,6BAAA,QAAA,uBFiD1B,yBEjDE,WAAwB,QAAA,eAAxB,aAAwB,QAAA,iBAAxB,mBAAwB,QAAA,uBAAxB,YAAwB,QAAA,gBAAxB,YAAwB,QAAA,gBAAxB,gBAAwB,QAAA,oBAAxB,iBAAwB,QAAA,qBAAxB,WAAwB,QAAA,sBAAA,QAAA,eAAxB,kBAAwB,QAAA,6BAAA,QAAA,uBFiD1B,yBEjDE,WAAwB,QAAA,eAAxB,aAAwB,QAAA,iBAAxB,mBAAwB,QAAA,uBAAxB,YAAwB,QAAA,gBAAxB,YAAwB,QAAA,gBAAxB,gBAAwB,QAAA,oBAAxB,iBAAwB,QAAA,qBAAxB,WAAwB,QAAA,sBAAA,QAAA,eAAxB,kBAAwB,QAAA,6BAAA,QAAA,uBFiD1B,0BEjDE,WAAwB,QAAA,eAAxB,aAAwB,QAAA,iBAAxB,mBAAwB,QAAA,uBAAxB,YAAwB,QAAA,gBAAxB,YAAwB,QAAA,gBAAxB,gBAAwB,QAAA,oBAAxB,iBAAwB,QAAA,qBAAxB,WAAwB,QAAA,sBAAA,QAAA,eAAxB,kBAAwB,QAAA,6BAAA,QAAA,uBAU9B,aAEI,cAAqB,QAAA,eAArB,gBAAqB,QAAA,iBAArB,sBAAqB,QAAA,uBAArB,eAAqB,QAAA,gBAArB,eAAqB,QAAA,gBAArB,mBAAqB,QAAA,oBAArB,oBAAqB,QAAA,qBAArB,cAAqB,QAAA,sBAAA,QAAA,eAArB,qBAAqB,QAAA,6BAAA,QAAA,uBCbrB,UAAgC,mBAAA,cAAA,eAAA,cAChC,aAAgC,mBAAA,iBAAA,eAAA,iBAChC,kBAAgC,mBAAA,sBAAA,eAAA,sBAChC,qBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,WAA8B,cAAA,eAAA,UAAA,eAC9B,aAA8B,cAAA,iBAAA,UAAA,iBAC9B,mBAA8B,cAAA,uBAAA,UAAA,uBAC9B,WAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,aAA8B,kBAAA,YAAA,UAAA,YAC9B,aAA8B,kBAAA,YAAA,UAAA,YAC9B,eAA8B,kBAAA,YAAA,YAAA,YAC9B,eAA8B,kBAAA,YAAA,YAAA,YAE9B,uBAAoC,cAAA,gBAAA,gBAAA,qBACpC,qBAAoC,cAAA,cAAA,gBAAA,mBACpC,wBAAoC,cAAA,iBAAA,gBAAA,iBACpC,yBAAoC,cAAA,kBAAA,gBAAA,wBACpC,wBAAoC,cAAA,qBAAA,gBAAA,uBAEpC,mBAAiC,eAAA,gBAAA,YAAA,qBACjC,iBAAiC,eAAA,cAAA,YAAA,mBACjC,oBAAiC,eAAA,iBAAA,YAAA,iBACjC,sBAAiC,eAAA,mBAAA,YAAA,mBACjC,qBAAiC,eAAA,kBAAA,YAAA,kBAEjC,qBAAkC,mBAAA,gBAAA,cAAA,qBAClC,mBAAkC,mBAAA,cAAA,cAAA,mBAClC,sBAAkC,mBAAA,iBAAA,cAAA,iBAClC,uBAAkC,mBAAA,kBAAA,cAAA,wBAClC,sBAAkC,mBAAA,qBAAA,cAAA,uBAClC,uBAAkC,mBAAA,kBAAA,cAAA,kBAElC,iBAAgC,oBAAA,eAAA,WAAA,eAChC,kBAAgC,oBAAA,gBAAA,WAAA,qBAChC,gBAAgC,oBAAA,cAAA,WAAA,mBAChC,mBAAgC,oBAAA,iBAAA,WAAA,iBAChC,qBAAgC,oBAAA,mBAAA,WAAA,mBAChC,oBAAgC,oBAAA,kBAAA,WAAA,kBHYhC,yBGlDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mBHYhC,yBGlDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mBHYhC,yBGlDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mBHYhC,0BGlDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mBCtC5B,KAAgC,OAAA,YAChC,MP62DR,MO32DU,WAAA,YAEF,MP82DR,MO52DU,aAAA,YAEF,MP+2DR,MO72DU,cAAA,YAEF,MPg3DR,MO92DU,YAAA,YAfF,KAAgC,OAAA,iBAChC,MPq4DR,MOn4DU,WAAA,iBAEF,MPs4DR,MOp4DU,aAAA,iBAEF,MPu4DR,MOr4DU,cAAA,iBAEF,MPw4DR,MOt4DU,YAAA,iBAfF,KAAgC,OAAA,gBAChC,MP65DR,MO35DU,WAAA,gBAEF,MP85DR,MO55DU,aAAA,gBAEF,MP+5DR,MO75DU,cAAA,gBAEF,MPg6DR,MO95DU,YAAA,gBAfF,KAAgC,OAAA,eAChC,MPq7DR,MOn7DU,WAAA,eAEF,MPs7DR,MOp7DU,aAAA,eAEF,MPu7DR,MOr7DU,cAAA,eAEF,MPw7DR,MOt7DU,YAAA,eAfF,KAAgC,OAAA,iBAChC,MP68DR,MO38DU,WAAA,iBAEF,MP88DR,MO58DU,aAAA,iBAEF,MP+8DR,MO78DU,cAAA,iBAEF,MPg9DR,MO98DU,YAAA,iBAfF,KAAgC,OAAA,eAChC,MPq+DR,MOn+DU,WAAA,eAEF,MPs+DR,MOp+DU,aAAA,eAEF,MPu+DR,MOr+DU,cAAA,eAEF,MPw+DR,MOt+DU,YAAA,eAfF,KAAgC,QAAA,YAChC,MP6/DR,MO3/DU,YAAA,YAEF,MP8/DR,MO5/DU,cAAA,YAEF,MP+/DR,MO7/DU,eAAA,YAEF,MPggER,MO9/DU,aAAA,YAfF,KAAgC,QAAA,iBAChC,MPqhER,MOnhEU,YAAA,iBAEF,MPshER,MOphEU,cAAA,iBAEF,MPuhER,MOrhEU,eAAA,iBAEF,MPwhER,MOthEU,aAAA,iBAfF,KAAgC,QAAA,gBAChC,MP6iER,MO3iEU,YAAA,gBAEF,MP8iER,MO5iEU,cAAA,gBAEF,MP+iER,MO7iEU,eAAA,gBAEF,MPgjER,MO9iEU,aAAA,gBAfF,KAAgC,QAAA,eAChC,MPqkER,MOnkEU,YAAA,eAEF,MPskER,MOpkEU,cAAA,eAEF,MPukER,MOrkEU,eAAA,eAEF,MPwkER,MOtkEU,aAAA,eAfF,KAAgC,QAAA,iBAChC,MP6lER,MO3lEU,YAAA,iBAEF,MP8lER,MO5lEU,cAAA,iBAEF,MP+lER,MO7lEU,eAAA,iBAEF,MPgmER,MO9lEU,aAAA,iBAfF,KAAgC,QAAA,eAChC,MPqnER,MOnnEU,YAAA,eAEF,MPsnER,MOpnEU,cAAA,eAEF,MPunER,MOrnEU,eAAA,eAEF,MPwnER,MOtnEU,aAAA,eAQF,MAAwB,OAAA,kBACxB,OPsnER,OOpnEU,WAAA,kBAEF,OPunER,OOrnEU,aAAA,kBAEF,OPwnER,OOtnEU,cAAA,kBAEF,OPynER,OOvnEU,YAAA,kBAfF,MAAwB,OAAA,iBACxB,OP8oER,OO5oEU,WAAA,iBAEF,OP+oER,OO7oEU,aAAA,iBAEF,OPgpER,OO9oEU,cAAA,iBAEF,OPipER,OO/oEU,YAAA,iBAfF,MAAwB,OAAA,gBACxB,OPsqER,OOpqEU,WAAA,gBAEF,OPuqER,OOrqEU,aAAA,gBAEF,OPwqER,OOtqEU,cAAA,gBAEF,OPyqER,OOvqEU,YAAA,gBAfF,MAAwB,OAAA,kBACxB,OP8rER,OO5rEU,WAAA,kBAEF,OP+rER,OO7rEU,aAAA,kBAEF,OPgsER,OO9rEU,cAAA,kBAEF,OPisER,OO/rEU,YAAA,kBAfF,MAAwB,OAAA,gBACxB,OPstER,OOptEU,WAAA,gBAEF,OPutER,OOrtEU,aAAA,gBAEF,OPwtER,OOttEU,cAAA,gBAEF,OPytER,OOvtEU,YAAA,gBAMN,QAAmB,OAAA,eACnB,SPytEJ,SOvtEM,WAAA,eAEF,SP0tEJ,SOxtEM,aAAA,eAEF,SP2tEJ,SOztEM,cAAA,eAEF,SP4tEJ,SO1tEM,YAAA,eJTF,yBIlDI,QAAgC,OAAA,YAChC,SP6xEN,SO3xEQ,WAAA,YAEF,SP6xEN,SO3xEQ,aAAA,YAEF,SP6xEN,SO3xEQ,cAAA,YAEF,SP6xEN,SO3xEQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,SPgzEN,SO9yEQ,WAAA,iBAEF,SPgzEN,SO9yEQ,aAAA,iBAEF,SPgzEN,SO9yEQ,cAAA,iBAEF,SPgzEN,SO9yEQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,SPm0EN,SOj0EQ,WAAA,gBAEF,SPm0EN,SOj0EQ,aAAA,gBAEF,SPm0EN,SOj0EQ,cAAA,gBAEF,SPm0EN,SOj0EQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,SPs1EN,SOp1EQ,WAAA,eAEF,SPs1EN,SOp1EQ,aAAA,eAEF,SPs1EN,SOp1EQ,cAAA,eAEF,SPs1EN,SOp1EQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,SPy2EN,SOv2EQ,WAAA,iBAEF,SPy2EN,SOv2EQ,aAAA,iBAEF,SPy2EN,SOv2EQ,cAAA,iBAEF,SPy2EN,SOv2EQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,SP43EN,SO13EQ,WAAA,eAEF,SP43EN,SO13EQ,aAAA,eAEF,SP43EN,SO13EQ,cAAA,eAEF,SP43EN,SO13EQ,YAAA,eAfF,QAAgC,QAAA,YAChC,SP+4EN,SO74EQ,YAAA,YAEF,SP+4EN,SO74EQ,cAAA,YAEF,SP+4EN,SO74EQ,eAAA,YAEF,SP+4EN,SO74EQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,SPk6EN,SOh6EQ,YAAA,iBAEF,SPk6EN,SOh6EQ,cAAA,iBAEF,SPk6EN,SOh6EQ,eAAA,iBAEF,SPk6EN,SOh6EQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,SPq7EN,SOn7EQ,YAAA,gBAEF,SPq7EN,SOn7EQ,cAAA,gBAEF,SPq7EN,SOn7EQ,eAAA,gBAEF,SPq7EN,SOn7EQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,SPw8EN,SOt8EQ,YAAA,eAEF,SPw8EN,SOt8EQ,cAAA,eAEF,SPw8EN,SOt8EQ,eAAA,eAEF,SPw8EN,SOt8EQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,SP29EN,SOz9EQ,YAAA,iBAEF,SP29EN,SOz9EQ,cAAA,iBAEF,SP29EN,SOz9EQ,eAAA,iBAEF,SP29EN,SOz9EQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,SP8+EN,SO5+EQ,YAAA,eAEF,SP8+EN,SO5+EQ,cAAA,eAEF,SP8+EN,SO5+EQ,eAAA,eAEF,SP8+EN,SO5+EQ,aAAA,eAQF,SAAwB,OAAA,kBACxB,UP0+EN,UOx+EQ,WAAA,kBAEF,UP0+EN,UOx+EQ,aAAA,kBAEF,UP0+EN,UOx+EQ,cAAA,kBAEF,UP0+EN,UOx+EQ,YAAA,kBAfF,SAAwB,OAAA,iBACxB,UP6/EN,UO3/EQ,WAAA,iBAEF,UP6/EN,UO3/EQ,aAAA,iBAEF,UP6/EN,UO3/EQ,cAAA,iBAEF,UP6/EN,UO3/EQ,YAAA,iBAfF,SAAwB,OAAA,gBACxB,UPghFN,UO9gFQ,WAAA,gBAEF,UPghFN,UO9gFQ,aAAA,gBAEF,UPghFN,UO9gFQ,cAAA,gBAEF,UPghFN,UO9gFQ,YAAA,gBAfF,SAAwB,OAAA,kBACxB,UPmiFN,UOjiFQ,WAAA,kBAEF,UPmiFN,UOjiFQ,aAAA,kBAEF,UPmiFN,UOjiFQ,cAAA,kBAEF,UPmiFN,UOjiFQ,YAAA,kBAfF,SAAwB,OAAA,gBACxB,UPsjFN,UOpjFQ,WAAA,gBAEF,UPsjFN,UOpjFQ,aAAA,gBAEF,UPsjFN,UOpjFQ,cAAA,gBAEF,UPsjFN,UOpjFQ,YAAA,gBAMN,WAAmB,OAAA,eACnB,YPojFF,YOljFI,WAAA,eAEF,YPojFF,YOljFI,aAAA,eAEF,YPojFF,YOljFI,cAAA,eAEF,YPojFF,YOljFI,YAAA,gBJTF,yBIlDI,QAAgC,OAAA,YAChC,SPsnFN,SOpnFQ,WAAA,YAEF,SPsnFN,SOpnFQ,aAAA,YAEF,SPsnFN,SOpnFQ,cAAA,YAEF,SPsnFN,SOpnFQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,SPyoFN,SOvoFQ,WAAA,iBAEF,SPyoFN,SOvoFQ,aAAA,iBAEF,SPyoFN,SOvoFQ,cAAA,iBAEF,SPyoFN,SOvoFQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,SP4pFN,SO1pFQ,WAAA,gBAEF,SP4pFN,SO1pFQ,aAAA,gBAEF,SP4pFN,SO1pFQ,cAAA,gBAEF,SP4pFN,SO1pFQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,SP+qFN,SO7qFQ,WAAA,eAEF,SP+qFN,SO7qFQ,aAAA,eAEF,SP+qFN,SO7qFQ,cAAA,eAEF,SP+qFN,SO7qFQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,SPksFN,SOhsFQ,WAAA,iBAEF,SPksFN,SOhsFQ,aAAA,iBAEF,SPksFN,SOhsFQ,cAAA,iBAEF,SPksFN,SOhsFQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,SPqtFN,SOntFQ,WAAA,eAEF,SPqtFN,SOntFQ,aAAA,eAEF,SPqtFN,SOntFQ,cAAA,eAEF,SPqtFN,SOntFQ,YAAA,eAfF,QAAgC,QAAA,YAChC,SPwuFN,SOtuFQ,YAAA,YAEF,SPwuFN,SOtuFQ,cAAA,YAEF,SPwuFN,SOtuFQ,eAAA,YAEF,SPwuFN,SOtuFQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,SP2vFN,SOzvFQ,YAAA,iBAEF,SP2vFN,SOzvFQ,cAAA,iBAEF,SP2vFN,SOzvFQ,eAAA,iBAEF,SP2vFN,SOzvFQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,SP8wFN,SO5wFQ,YAAA,gBAEF,SP8wFN,SO5wFQ,cAAA,gBAEF,SP8wFN,SO5wFQ,eAAA,gBAEF,SP8wFN,SO5wFQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,SPiyFN,SO/xFQ,YAAA,eAEF,SPiyFN,SO/xFQ,cAAA,eAEF,SPiyFN,SO/xFQ,eAAA,eAEF,SPiyFN,SO/xFQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,SPozFN,SOlzFQ,YAAA,iBAEF,SPozFN,SOlzFQ,cAAA,iBAEF,SPozFN,SOlzFQ,eAAA,iBAEF,SPozFN,SOlzFQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,SPu0FN,SOr0FQ,YAAA,eAEF,SPu0FN,SOr0FQ,cAAA,eAEF,SPu0FN,SOr0FQ,eAAA,eAEF,SPu0FN,SOr0FQ,aAAA,eAQF,SAAwB,OAAA,kBACxB,UPm0FN,UOj0FQ,WAAA,kBAEF,UPm0FN,UOj0FQ,aAAA,kBAEF,UPm0FN,UOj0FQ,cAAA,kBAEF,UPm0FN,UOj0FQ,YAAA,kBAfF,SAAwB,OAAA,iBACxB,UPs1FN,UOp1FQ,WAAA,iBAEF,UPs1FN,UOp1FQ,aAAA,iBAEF,UPs1FN,UOp1FQ,cAAA,iBAEF,UPs1FN,UOp1FQ,YAAA,iBAfF,SAAwB,OAAA,gBACxB,UPy2FN,UOv2FQ,WAAA,gBAEF,UPy2FN,UOv2FQ,aAAA,gBAEF,UPy2FN,UOv2FQ,cAAA,gBAEF,UPy2FN,UOv2FQ,YAAA,gBAfF,SAAwB,OAAA,kBACxB,UP43FN,UO13FQ,WAAA,kBAEF,UP43FN,UO13FQ,aAAA,kBAEF,UP43FN,UO13FQ,cAAA,kBAEF,UP43FN,UO13FQ,YAAA,kBAfF,SAAwB,OAAA,gBACxB,UP+4FN,UO74FQ,WAAA,gBAEF,UP+4FN,UO74FQ,aAAA,gBAEF,UP+4FN,UO74FQ,cAAA,gBAEF,UP+4FN,UO74FQ,YAAA,gBAMN,WAAmB,OAAA,eACnB,YP64FF,YO34FI,WAAA,eAEF,YP64FF,YO34FI,aAAA,eAEF,YP64FF,YO34FI,cAAA,eAEF,YP64FF,YO34FI,YAAA,gBJTF,yBIlDI,QAAgC,OAAA,YAChC,SP+8FN,SO78FQ,WAAA,YAEF,SP+8FN,SO78FQ,aAAA,YAEF,SP+8FN,SO78FQ,cAAA,YAEF,SP+8FN,SO78FQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,SPk+FN,SOh+FQ,WAAA,iBAEF,SPk+FN,SOh+FQ,aAAA,iBAEF,SPk+FN,SOh+FQ,cAAA,iBAEF,SPk+FN,SOh+FQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,SPq/FN,SOn/FQ,WAAA,gBAEF,SPq/FN,SOn/FQ,aAAA,gBAEF,SPq/FN,SOn/FQ,cAAA,gBAEF,SPq/FN,SOn/FQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,SPwgGN,SOtgGQ,WAAA,eAEF,SPwgGN,SOtgGQ,aAAA,eAEF,SPwgGN,SOtgGQ,cAAA,eAEF,SPwgGN,SOtgGQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,SP2hGN,SOzhGQ,WAAA,iBAEF,SP2hGN,SOzhGQ,aAAA,iBAEF,SP2hGN,SOzhGQ,cAAA,iBAEF,SP2hGN,SOzhGQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,SP8iGN,SO5iGQ,WAAA,eAEF,SP8iGN,SO5iGQ,aAAA,eAEF,SP8iGN,SO5iGQ,cAAA,eAEF,SP8iGN,SO5iGQ,YAAA,eAfF,QAAgC,QAAA,YAChC,SPikGN,SO/jGQ,YAAA,YAEF,SPikGN,SO/jGQ,cAAA,YAEF,SPikGN,SO/jGQ,eAAA,YAEF,SPikGN,SO/jGQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,SPolGN,SOllGQ,YAAA,iBAEF,SPolGN,SOllGQ,cAAA,iBAEF,SPolGN,SOllGQ,eAAA,iBAEF,SPolGN,SOllGQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,SPumGN,SOrmGQ,YAAA,gBAEF,SPumGN,SOrmGQ,cAAA,gBAEF,SPumGN,SOrmGQ,eAAA,gBAEF,SPumGN,SOrmGQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,SP0nGN,SOxnGQ,YAAA,eAEF,SP0nGN,SOxnGQ,cAAA,eAEF,SP0nGN,SOxnGQ,eAAA,eAEF,SP0nGN,SOxnGQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,SP6oGN,SO3oGQ,YAAA,iBAEF,SP6oGN,SO3oGQ,cAAA,iBAEF,SP6oGN,SO3oGQ,eAAA,iBAEF,SP6oGN,SO3oGQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,SPgqGN,SO9pGQ,YAAA,eAEF,SPgqGN,SO9pGQ,cAAA,eAEF,SPgqGN,SO9pGQ,eAAA,eAEF,SPgqGN,SO9pGQ,aAAA,eAQF,SAAwB,OAAA,kBACxB,UP4pGN,UO1pGQ,WAAA,kBAEF,UP4pGN,UO1pGQ,aAAA,kBAEF,UP4pGN,UO1pGQ,cAAA,kBAEF,UP4pGN,UO1pGQ,YAAA,kBAfF,SAAwB,OAAA,iBACxB,UP+qGN,UO7qGQ,WAAA,iBAEF,UP+qGN,UO7qGQ,aAAA,iBAEF,UP+qGN,UO7qGQ,cAAA,iBAEF,UP+qGN,UO7qGQ,YAAA,iBAfF,SAAwB,OAAA,gBACxB,UPksGN,UOhsGQ,WAAA,gBAEF,UPksGN,UOhsGQ,aAAA,gBAEF,UPksGN,UOhsGQ,cAAA,gBAEF,UPksGN,UOhsGQ,YAAA,gBAfF,SAAwB,OAAA,kBACxB,UPqtGN,UOntGQ,WAAA,kBAEF,UPqtGN,UOntGQ,aAAA,kBAEF,UPqtGN,UOntGQ,cAAA,kBAEF,UPqtGN,UOntGQ,YAAA,kBAfF,SAAwB,OAAA,gBACxB,UPwuGN,UOtuGQ,WAAA,gBAEF,UPwuGN,UOtuGQ,aAAA,gBAEF,UPwuGN,UOtuGQ,cAAA,gBAEF,UPwuGN,UOtuGQ,YAAA,gBAMN,WAAmB,OAAA,eACnB,YPsuGF,YOpuGI,WAAA,eAEF,YPsuGF,YOpuGI,aAAA,eAEF,YPsuGF,YOpuGI,cAAA,eAEF,YPsuGF,YOpuGI,YAAA,gBJTF,0BIlDI,QAAgC,OAAA,YAChC,SPwyGN,SOtyGQ,WAAA,YAEF,SPwyGN,SOtyGQ,aAAA,YAEF,SPwyGN,SOtyGQ,cAAA,YAEF,SPwyGN,SOtyGQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,SP2zGN,SOzzGQ,WAAA,iBAEF,SP2zGN,SOzzGQ,aAAA,iBAEF,SP2zGN,SOzzGQ,cAAA,iBAEF,SP2zGN,SOzzGQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,SP80GN,SO50GQ,WAAA,gBAEF,SP80GN,SO50GQ,aAAA,gBAEF,SP80GN,SO50GQ,cAAA,gBAEF,SP80GN,SO50GQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,SPi2GN,SO/1GQ,WAAA,eAEF,SPi2GN,SO/1GQ,aAAA,eAEF,SPi2GN,SO/1GQ,cAAA,eAEF,SPi2GN,SO/1GQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,SPo3GN,SOl3GQ,WAAA,iBAEF,SPo3GN,SOl3GQ,aAAA,iBAEF,SPo3GN,SOl3GQ,cAAA,iBAEF,SPo3GN,SOl3GQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,SPu4GN,SOr4GQ,WAAA,eAEF,SPu4GN,SOr4GQ,aAAA,eAEF,SPu4GN,SOr4GQ,cAAA,eAEF,SPu4GN,SOr4GQ,YAAA,eAfF,QAAgC,QAAA,YAChC,SP05GN,SOx5GQ,YAAA,YAEF,SP05GN,SOx5GQ,cAAA,YAEF,SP05GN,SOx5GQ,eAAA,YAEF,SP05GN,SOx5GQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,SP66GN,SO36GQ,YAAA,iBAEF,SP66GN,SO36GQ,cAAA,iBAEF,SP66GN,SO36GQ,eAAA,iBAEF,SP66GN,SO36GQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,SPg8GN,SO97GQ,YAAA,gBAEF,SPg8GN,SO97GQ,cAAA,gBAEF,SPg8GN,SO97GQ,eAAA,gBAEF,SPg8GN,SO97GQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,SPm9GN,SOj9GQ,YAAA,eAEF,SPm9GN,SOj9GQ,cAAA,eAEF,SPm9GN,SOj9GQ,eAAA,eAEF,SPm9GN,SOj9GQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,SPs+GN,SOp+GQ,YAAA,iBAEF,SPs+GN,SOp+GQ,cAAA,iBAEF,SPs+GN,SOp+GQ,eAAA,iBAEF,SPs+GN,SOp+GQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,SPy/GN,SOv/GQ,YAAA,eAEF,SPy/GN,SOv/GQ,cAAA,eAEF,SPy/GN,SOv/GQ,eAAA,eAEF,SPy/GN,SOv/GQ,aAAA,eAQF,SAAwB,OAAA,kBACxB,UPq/GN,UOn/GQ,WAAA,kBAEF,UPq/GN,UOn/GQ,aAAA,kBAEF,UPq/GN,UOn/GQ,cAAA,kBAEF,UPq/GN,UOn/GQ,YAAA,kBAfF,SAAwB,OAAA,iBACxB,UPwgHN,UOtgHQ,WAAA,iBAEF,UPwgHN,UOtgHQ,aAAA,iBAEF,UPwgHN,UOtgHQ,cAAA,iBAEF,UPwgHN,UOtgHQ,YAAA,iBAfF,SAAwB,OAAA,gBACxB,UP2hHN,UOzhHQ,WAAA,gBAEF,UP2hHN,UOzhHQ,aAAA,gBAEF,UP2hHN,UOzhHQ,cAAA,gBAEF,UP2hHN,UOzhHQ,YAAA,gBAfF,SAAwB,OAAA,kBACxB,UP8iHN,UO5iHQ,WAAA,kBAEF,UP8iHN,UO5iHQ,aAAA,kBAEF,UP8iHN,UO5iHQ,cAAA,kBAEF,UP8iHN,UO5iHQ,YAAA,kBAfF,SAAwB,OAAA,gBACxB,UPikHN,UO/jHQ,WAAA,gBAEF,UPikHN,UO/jHQ,aAAA,gBAEF,UPikHN,UO/jHQ,cAAA,gBAEF,UPikHN,UO/jHQ,YAAA,gBAMN,WAAmB,OAAA,eACnB,YP+jHF,YO7jHI,WAAA,eAEF,YP+jHF,YO7jHI,aAAA,eAEF,YP+jHF,YO7jHI,cAAA,eAEF,YP+jHF,YO7jHI,YAAA","sourcesContent":["/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\n","/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !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-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: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: 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-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: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: 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-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: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: 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-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: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: 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-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: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\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-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: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\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)\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))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($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))\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. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `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(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .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))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\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 $max: breakpoint-max($name, $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($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/dist/css/bootstrap-reboot.css b/dist/css/bootstrap-reboot.css deleted file mode 100644 index 09cf9869..00000000 --- a/dist/css/bootstrap-reboot.css +++ /dev/null @@ -1,331 +0,0 @@ -/*! - * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) - */ -*, -*::before, -*::after { - box-sizing: border-box; -} - -html { - font-family: sans-serif; - line-height: 1.15; - -webkit-text-size-adjust: 100%; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { - display: block; -} - -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #212529; - text-align: left; - background-color: #fff; -} - -[tabindex="-1"]:focus { - outline: 0 !important; -} - -hr { - box-sizing: content-box; - height: 0; - overflow: visible; -} - -h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: 0.5rem; -} - -p { - margin-top: 0; - margin-bottom: 1rem; -} - -abbr[title], -abbr[data-original-title] { - text-decoration: underline; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - cursor: help; - border-bottom: 0; - -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: .5rem; - margin-left: 0; -} - -blockquote { - margin: 0 0 1rem; -} - -b, -strong { - font-weight: bolder; -} - -small { - font-size: 80%; -} - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} - -sub { - bottom: -.25em; -} - -sup { - top: -.5em; -} - -a { - color: #007bff; - text-decoration: none; - background-color: transparent; -} - -a:hover { - color: #0056b3; - text-decoration: underline; -} - -a:not([href]):not([tabindex]) { - color: inherit; - text-decoration: none; -} - -a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { - color: inherit; - text-decoration: none; -} - -a:not([href]):not([tabindex]):focus { - outline: 0; -} - -pre, -code, -kbd, -samp { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - font-size: 1em; -} - -pre { - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; -} - -figure { - margin: 0 0 1rem; -} - -img { - vertical-align: middle; - border-style: none; -} - -svg { - overflow: hidden; - vertical-align: middle; -} - -table { - border-collapse: collapse; -} - -caption { - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #6c757d; - text-align: left; - caption-side: bottom; -} - -th { - text-align: inherit; -} - -label { - display: inline-block; - margin-bottom: 0.5rem; -} - -button { - border-radius: 0; -} - -button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color; -} - -input, -button, -select, -optgroup, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -button, -input { - overflow: visible; -} - -button, -select { - text-transform: none; -} - -select { - word-wrap: normal; -} - -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; -} - -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - padding: 0; - border-style: none; -} - -input[type="radio"], -input[type="checkbox"] { - box-sizing: border-box; - padding: 0; -} - -input[type="date"], -input[type="time"], -input[type="datetime-local"], -input[type="month"] { - -webkit-appearance: listbox; -} - -textarea { - overflow: auto; - resize: vertical; -} - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; -} - -legend { - display: block; - width: 100%; - max-width: 100%; - padding: 0; - margin-bottom: .5rem; - font-size: 1.5rem; - line-height: inherit; - color: inherit; - white-space: normal; -} - -progress { - vertical-align: baseline; -} - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -[type="search"] { - outline-offset: -2px; - -webkit-appearance: none; -} - -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -::-webkit-file-upload-button { - font: inherit; - -webkit-appearance: button; -} - -output { - display: inline-block; -} - -summary { - display: list-item; - cursor: pointer; -} - -template { - display: none; -} - -[hidden] { - display: none !important; -} -/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file diff --git a/dist/css/bootstrap-reboot.css.map b/dist/css/bootstrap-reboot.css.map deleted file mode 100644 index d0b0f023..00000000 --- a/dist/css/bootstrap-reboot.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-reboot.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"AAAA;;;;;;ECME;ACYF;;;EAGE,sBAAsB;ADVxB;;ACaA;EACE,uBAAuB;EACvB,iBAAiB;EACjB,8BAA8B;EAC9B,6CCXa;AFCf;;ACgBA;EACE,cAAc;ADbhB;;ACuBA;EACE,SAAS;EACT,kMCiOiN;ECjJ7M,eAtCY;EFxChB,gBC0O+B;EDzO/B,gBC8O+B;ED7O/B,cCnCgB;EDoChB,gBAAgB;EAChB,sBC9Ca;AF0Bf;;AAEA;EC2BE,qBAAqB;ADzBvB;;ACkCA;EACE,uBAAuB;EACvB,SAAS;EACT,iBAAiB;AD/BnB;;AC4CA;EACE,aAAa;EACb,qBCgNuC;AFzPzC;;ACgDA;EACE,aAAa;EACb,mBCoF8B;AFjIhC;;ACwDA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,gBAAgB;EAChB,sCAA8B;EAA9B,8BAA8B;ADrDhC;;ACwDA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;ADrDtB;;ACwDA;;;EAGE,aAAa;EACb,mBAAmB;ADrDrB;;ACwDA;;;;EAIE,gBAAgB;ADrDlB;;ACwDA;EACE,gBCiJ+B;AFtMjC;;ACwDA;EACE,oBAAoB;EACpB,cAAc;ADrDhB;;ACwDA;EACE,gBAAgB;ADrDlB;;ACwDA;;EAEE,mBCoIkC;AFzLpC;;ACwDA;EEpFI,cAAW;AHgCf;;AC6DA;;EAEE,kBAAkB;EE/FhB,cAAW;EFiGb,cAAc;EACd,wBAAwB;AD1D1B;;AC6DA;EAAM,cAAc;ADzDpB;;AC0DA;EAAM,UAAU;ADtDhB;;AC6DA;EACE,cClJe;EDmJf,qBCX4C;EDY5C,6BAA6B;AD1D/B;;AIlHE;EH+KE,cCd8D;EDe9D,0BCd+C;AF3CnD;;ACmEA;EACE,cAAc;EACd,qBAAqB;ADhEvB;;AIxHE;EH2LE,cAAc;EACd,qBAAqB;AD/DzB;;ACyDA;EAUI,UAAU;AD/Dd;;ACwEA;;;;EAIE,iGCoDgH;ECzM9G,cAAW;AHiFf;;ACwEA;EAEE,aAAa;EAEb,mBAAmB;EAEnB,cAAc;ADxEhB;;ACgFA;EAEE,gBAAgB;AD9ElB;;ACsFA;EACE,sBAAsB;EACtB,kBAAkB;ADnFpB;;ACsFA;EAGE,gBAAgB;EAChB,sBAAsB;ADrFxB;;AC6FA;EACE,yBAAyB;AD1F3B;;AC6FA;EACE,oBC2EkC;ED1ElC,uBC0EkC;EDzElC,cCpQgB;EDqQhB,gBAAgB;EAChB,oBAAoB;AD1FtB;;AC6FA;EAGE,mBAAmB;AD5FrB;;ACoGA;EAEE,qBAAqB;EACrB,qBC4J2C;AF9P7C;;ACwGA;EAEE,gBAAgB;ADtGlB;;AC6GA;EACE,mBAAmB;EACnB,0CAA0C;AD1G5C;;AC6GA;;;;;EAKE,SAAS;EACT,oBAAoB;EEtPlB,kBAAW;EFwPb,oBAAoB;AD1GtB;;AC6GA;;EAEE,iBAAiB;AD1GnB;;AC6GA;;EAEE,oBAAoB;AD1GtB;;ACgHA;EACE,iBAAiB;AD7GnB;;ACoHA;;;;EAIE,0BAA0B;ADjH5B;;ACsHE;;;;EAKI,eAAe;ADpHrB;;AC0HA;;;;EAIE,UAAU;EACV,kBAAkB;ADvHpB;;AC0HA;;EAEE,sBAAsB;EACtB,UAAU;ADvHZ;;AC2HA;;;;EASE,2BAA2B;AD7H7B;;ACgIA;EACE,cAAc;EAEd,gBAAgB;AD9HlB;;ACiIA;EAME,YAAY;EAEZ,UAAU;EACV,SAAS;EACT,SAAS;ADpIX;;ACyIA;EACE,cAAc;EACd,WAAW;EACX,eAAe;EACf,UAAU;EACV,oBAAoB;EElShB,iBAtCY;EF0UhB,oBAAoB;EACpB,cAAc;EACd,mBAAmB;ADtIrB;;ACyIA;EACE,wBAAwB;ADtI1B;;AAEA;;EC0IE,YAAY;ADvId;;AAEA;EC6IE,oBAAoB;EACpB,wBAAwB;AD3I1B;;AAEA;ECiJE,wBAAwB;AD/I1B;;ACuJA;EACE,aAAa;EACb,0BAA0B;ADpJ5B;;AC2JA;EACE,qBAAqB;ADxJvB;;AC2JA;EACE,kBAAkB;EAClB,eAAe;ADxJjB;;AC2JA;EACE,aAAa;ADxJf;;AAEA;EC4JE,wBAAwB;AD1J1B","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\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: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\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,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\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// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\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. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\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// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\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`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\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: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover {\n color: $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// which have not been made explicitly keyboard-focusable (without tabindex).\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([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

      `s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\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$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\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 ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\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 ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\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 ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\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-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\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$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !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$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\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$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\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: 30px !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto 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$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !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\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n$table-dark-color: $white !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\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: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $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$input-btn-line-height-sm: $line-height-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$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\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\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$btn-line-height-sm: $input-btn-line-height-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$btn-line-height-lg: $input-btn-line-height-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-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !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\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\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$input-line-height-sm: $input-btn-line-height-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$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !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: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2}) !default;\n$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default;\n$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default;\n\n$input-height: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2} + #{$input-height-border}) !default;\n$input-height-sm: calc(#{$input-line-height-sm * 1em} + #{$input-btn-padding-y-sm * 2} + #{$input-height-border}) !default;\n$input-height-lg: calc(#{$input-line-height-lg * 1em} + #{$input-btn-padding-y-lg * 2} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\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\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: calc(#{$custom-control-indicator-size} - #{$custom-control-indicator-border-width * 4}) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-select-background: $custom-select-indicator no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: calc((1em + #{2 * $custom-select-padding-y}) * 3 / 4 + #{$custom-select-padding-x + $custom-select-indicator-padding}) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.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\"), \"#\", \"%23\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-feedback-icon-invalid-color}' viewBox='-2 -2 7 7'%3e%3cpath stroke='#{$form-feedback-icon-invalid-color}' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\"), \"#\", \"%23\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\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 ),\n $form-validation-states\n);\n\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$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !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\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !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) / 2 !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\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !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\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !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: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !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-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !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$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\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\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !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: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !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\n// Form tooltips must come after regular tooltips\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: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\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-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !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\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !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: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !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\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !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: null !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-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !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: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !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\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !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\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\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: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !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: .75rem !default;\n$list-group-item-padding-x: 1.25rem !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\n\n// Image thumbnails\n\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: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !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-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !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\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !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: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size 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// 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-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 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: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/dist/css/bootstrap-reboot.min.css b/dist/css/bootstrap-reboot.min.css deleted file mode 100644 index c804b3b1..00000000 --- a/dist/css/bootstrap-reboot.min.css +++ /dev/null @@ -1,8 +0,0 @@ -/*! - * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) - */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important} -/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file diff --git a/dist/css/bootstrap-reboot.min.css.map b/dist/css/bootstrap-reboot.min.css.map deleted file mode 100644 index 73f4a192..00000000 --- a/dist/css/bootstrap-reboot.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"AAAA;;;;;;ACkBA,ECTA,QADA,SDaE,WAAA,WAGF,KACE,YAAA,WACA,YAAA,KACA,yBAAA,KACA,4BAAA,YAMF,QAAA,MAAA,WAAA,OAAA,OAAA,OAAA,OAAA,KAAA,IAAA,QACE,QAAA,MAUF,KACE,OAAA,EACA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,WAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,iBAAA,CAAA,mBEgFI,UAAA,KF9EJ,YAAA,IACA,YAAA,IACA,MAAA,QACA,WAAA,KACA,iBAAA,KGlBF,sBH2BE,QAAA,YASF,GACE,WAAA,YACA,OAAA,EACA,SAAA,QAaF,GAAA,GAAA,GAAA,GAAA,GAAA,GACE,WAAA,EACA,cAAA,MAOF,EACE,WAAA,EACA,cAAA,KC1CF,0BDqDA,YAEE,gBAAA,UACA,wBAAA,UAAA,OAAA,gBAAA,UAAA,OACA,OAAA,KACA,cAAA,EACA,iCAAA,KAAA,yBAAA,KAGF,QACE,cAAA,KACA,WAAA,OACA,YAAA,QC/CF,GDkDA,GCnDA,GDsDE,WAAA,EACA,cAAA,KAGF,MClDA,MACA,MAFA,MDuDE,cAAA,EAGF,GACE,YAAA,IAGF,GACE,cAAA,MACA,YAAA,EAGF,WACE,OAAA,EAAA,EAAA,KAGF,ECnDA,ODqDE,YAAA,OAGF,MEpFI,UAAA,IF6FJ,ICxDA,ID0DE,SAAA,SE/FE,UAAA,IFiGF,YAAA,EACA,eAAA,SAGF,IAAM,OAAA,OACN,IAAM,IAAA,MAON,EACE,MAAA,QACA,gBAAA,KACA,iBAAA,YI5KA,QJ+KE,MAAA,QACA,gBAAA,UAUJ,8BACE,MAAA,QACA,gBAAA,KIxLA,oCAAA,oCJ2LE,MAAA,QACA,gBAAA,KANJ,oCAUI,QAAA,EC1DJ,KACA,IDkEA,ICjEA,KDqEE,YAAA,cAAA,CAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,UErJE,UAAA,IFyJJ,IAEE,WAAA,EAEA,cAAA,KAEA,SAAA,KAQF,OAEE,OAAA,EAAA,EAAA,KAQF,IACE,eAAA,OACA,aAAA,KAGF,IAGE,SAAA,OACA,eAAA,OAQF,MACE,gBAAA,SAGF,QACE,YAAA,OACA,eAAA,OACA,MAAA,QACA,WAAA,KACA,aAAA,OAGF,GAGE,WAAA,QAQF,MAEE,QAAA,aACA,cAAA,MAMF,OAEE,cAAA,EAOF,aACE,QAAA,IAAA,OACA,QAAA,IAAA,KAAA,yBCrGF,ODwGA,MCtGA,SADA,OAEA,SD0GE,OAAA,EACA,YAAA,QEtPE,UAAA,QFwPF,YAAA,QAGF,OCxGA,MD0GE,SAAA,QAGF,OCxGA,OD0GE,eAAA,KAMF,OACE,UAAA,OCxGF,cACA,aACA,cD6GA,OAIE,mBAAA,OC5GF,6BACA,4BACA,6BD+GE,sBAKI,OAAA,QC/GN,gCACA,+BACA,gCDmHA,yBAIE,QAAA,EACA,aAAA,KClHF,qBDqHA,kBAEE,WAAA,WACA,QAAA,EAIF,iBCrHA,2BACA,kBAFA,iBD+HE,mBAAA,QAGF,SACE,SAAA,KAEA,OAAA,SAGF,SAME,UAAA,EAEA,QAAA,EACA,OAAA,EACA,OAAA,EAKF,OACE,QAAA,MACA,MAAA,KACA,UAAA,KACA,QAAA,EACA,cAAA,MElSI,UAAA,OFoSJ,YAAA,QACA,MAAA,QACA,YAAA,OAGF,SACE,eAAA,SGpIF,yCFGA,yCDuIE,OAAA,KGrIF,cH6IE,eAAA,KACA,mBAAA,KGzIF,yCHiJE,mBAAA,KAQF,6BACE,KAAA,QACA,mBAAA,OAOF,OACE,QAAA,aAGF,QACE,QAAA,UACA,OAAA,QAGF,SACE,QAAA,KGtJF,SH4JE,QAAA","sourcesContent":["/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\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// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\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. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\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// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\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`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\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: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover {\n color: $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// which have not been made explicitly keyboard-focusable (without tabindex).\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([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

      `s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n -webkit-text-decoration-skip-ink: none;\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: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\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,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size 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// 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-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 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: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\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: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\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,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/dist/css/bootstrap.css b/dist/css/bootstrap.css deleted file mode 100644 index 8f475892..00000000 --- a/dist/css/bootstrap.css +++ /dev/null @@ -1,10038 +0,0 @@ -/*! - * Bootstrap v4.3.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -:root { - --blue: #007bff; - --indigo: #6610f2; - --purple: #6f42c1; - --pink: #e83e8c; - --red: #dc3545; - --orange: #fd7e14; - --yellow: #ffc107; - --green: #28a745; - --teal: #20c997; - --cyan: #17a2b8; - --white: #fff; - --gray: #6c757d; - --gray-dark: #343a40; - --primary: #007bff; - --secondary: #6c757d; - --success: #28a745; - --info: #17a2b8; - --warning: #ffc107; - --danger: #dc3545; - --light: #f8f9fa; - --dark: #343a40; - --breakpoint-xs: 0; - --breakpoint-sm: 576px; - --breakpoint-md: 768px; - --breakpoint-lg: 992px; - --breakpoint-xl: 1200px; - --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; -} - -*, -*::before, -*::after { - box-sizing: border-box; -} - -html { - font-family: sans-serif; - line-height: 1.15; - -webkit-text-size-adjust: 100%; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { - display: block; -} - -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #212529; - text-align: left; - background-color: #fff; -} - -[tabindex="-1"]:focus { - outline: 0 !important; -} - -hr { - box-sizing: content-box; - height: 0; - overflow: visible; -} - -h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: 0.5rem; -} - -p { - margin-top: 0; - margin-bottom: 1rem; -} - -abbr[title], -abbr[data-original-title] { - text-decoration: underline; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - cursor: help; - border-bottom: 0; - -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: .5rem; - margin-left: 0; -} - -blockquote { - margin: 0 0 1rem; -} - -b, -strong { - font-weight: bolder; -} - -small { - font-size: 80%; -} - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} - -sub { - bottom: -.25em; -} - -sup { - top: -.5em; -} - -a { - color: #007bff; - text-decoration: none; - background-color: transparent; -} - -a:hover { - color: #0056b3; - text-decoration: underline; -} - -a:not([href]):not([tabindex]) { - color: inherit; - text-decoration: none; -} - -a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { - color: inherit; - text-decoration: none; -} - -a:not([href]):not([tabindex]):focus { - outline: 0; -} - -pre, -code, -kbd, -samp { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - font-size: 1em; -} - -pre { - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; -} - -figure { - margin: 0 0 1rem; -} - -img { - vertical-align: middle; - border-style: none; -} - -svg { - overflow: hidden; - vertical-align: middle; -} - -table { - border-collapse: collapse; -} - -caption { - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #6c757d; - text-align: left; - caption-side: bottom; -} - -th { - text-align: inherit; -} - -label { - display: inline-block; - margin-bottom: 0.5rem; -} - -button { - border-radius: 0; -} - -button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color; -} - -input, -button, -select, -optgroup, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -button, -input { - overflow: visible; -} - -button, -select { - text-transform: none; -} - -select { - word-wrap: normal; -} - -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; -} - -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - padding: 0; - border-style: none; -} - -input[type="radio"], -input[type="checkbox"] { - box-sizing: border-box; - padding: 0; -} - -input[type="date"], -input[type="time"], -input[type="datetime-local"], -input[type="month"] { - -webkit-appearance: listbox; -} - -textarea { - overflow: auto; - resize: vertical; -} - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; -} - -legend { - display: block; - width: 100%; - max-width: 100%; - padding: 0; - margin-bottom: .5rem; - font-size: 1.5rem; - line-height: inherit; - color: inherit; - white-space: normal; -} - -progress { - vertical-align: baseline; -} - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -[type="search"] { - outline-offset: -2px; - -webkit-appearance: none; -} - -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -::-webkit-file-upload-button { - font: inherit; - -webkit-appearance: button; -} - -output { - display: inline-block; -} - -summary { - display: list-item; - cursor: pointer; -} - -template { - display: none; -} - -[hidden] { - display: none !important; -} - -h1, h2, h3, h4, h5, h6, -.h1, .h2, .h3, .h4, .h5, .h6 { - margin-bottom: 0.5rem; - font-weight: 500; - line-height: 1.2; -} - -h1, .h1 { - font-size: 2.5rem; -} - -h2, .h2 { - font-size: 2rem; -} - -h3, .h3 { - font-size: 1.75rem; -} - -h4, .h4 { - font-size: 1.5rem; -} - -h5, .h5 { - font-size: 1.25rem; -} - -h6, .h6 { - font-size: 1rem; -} - -.lead { - font-size: 1.25rem; - font-weight: 300; -} - -.display-1 { - font-size: 6rem; - font-weight: 300; - line-height: 1.2; -} - -.display-2 { - font-size: 5.5rem; - font-weight: 300; - line-height: 1.2; -} - -.display-3 { - font-size: 4.5rem; - font-weight: 300; - line-height: 1.2; -} - -.display-4 { - font-size: 3.5rem; - font-weight: 300; - line-height: 1.2; -} - -hr { - margin-top: 1rem; - margin-bottom: 1rem; - border: 0; - border-top: 1px solid rgba(0, 0, 0, 0.1); -} - -small, -.small { - font-size: 80%; - font-weight: 400; -} - -mark, -.mark { - padding: 0.2em; - background-color: #fcf8e3; -} - -.list-unstyled { - padding-left: 0; - list-style: none; -} - -.list-inline { - padding-left: 0; - list-style: none; -} - -.list-inline-item { - display: inline-block; -} - -.list-inline-item:not(:last-child) { - margin-right: 0.5rem; -} - -.initialism { - font-size: 90%; - text-transform: uppercase; -} - -.blockquote { - margin-bottom: 1rem; - font-size: 1.25rem; -} - -.blockquote-footer { - display: block; - font-size: 80%; - color: #6c757d; -} - -.blockquote-footer::before { - content: "\2014\00A0"; -} - -.img-fluid { - max-width: 100%; - height: auto; -} - -.img-thumbnail { - padding: 0.25rem; - background-color: #fff; - border: 1px solid #dee2e6; - border-radius: 0.25rem; - max-width: 100%; - height: auto; -} - -.figure { - display: inline-block; -} - -.figure-img { - margin-bottom: 0.5rem; - line-height: 1; -} - -.figure-caption { - font-size: 90%; - color: #6c757d; -} - -code { - font-size: 87.5%; - color: #e83e8c; - word-break: break-word; -} - -a > code { - color: inherit; -} - -kbd { - padding: 0.2rem 0.4rem; - font-size: 87.5%; - color: #fff; - background-color: #212529; - border-radius: 0.2rem; -} - -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: 700; -} - -pre { - display: block; - font-size: 87.5%; - color: #212529; -} - -pre code { - font-size: inherit; - color: inherit; - word-break: normal; -} - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} - -.container { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -@media (min-width: 576px) { - .container { - max-width: 540px; - } -} - -@media (min-width: 768px) { - .container { - max-width: 720px; - } -} - -@media (min-width: 992px) { - .container { - max-width: 960px; - } -} - -@media (min-width: 1200px) { - .container { - max-width: 1140px; - } -} - -.container-fluid { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -.row { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - margin-right: -15px; - margin-left: -15px; -} - -.no-gutters { - margin-right: 0; - margin-left: 0; -} - -.no-gutters > .col, -.no-gutters > [class*="col-"] { - padding-right: 0; - padding-left: 0; -} - -.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, -.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, -.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, -.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, -.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, -.col-xl-auto { - position: relative; - width: 100%; - padding-right: 15px; - padding-left: 15px; -} - -.col { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; -} - -.col-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: 100%; -} - -.col-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; -} - -.col-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; -} - -.col-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; -} - -.col-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; -} - -.col-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; -} - -.col-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; -} - -.col-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; -} - -.col-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; -} - -.col-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; -} - -.col-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; -} - -.col-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; -} - -.col-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; -} - -.order-first { - -ms-flex-order: -1; - order: -1; -} - -.order-last { - -ms-flex-order: 13; - order: 13; -} - -.order-0 { - -ms-flex-order: 0; - order: 0; -} - -.order-1 { - -ms-flex-order: 1; - order: 1; -} - -.order-2 { - -ms-flex-order: 2; - order: 2; -} - -.order-3 { - -ms-flex-order: 3; - order: 3; -} - -.order-4 { - -ms-flex-order: 4; - order: 4; -} - -.order-5 { - -ms-flex-order: 5; - order: 5; -} - -.order-6 { - -ms-flex-order: 6; - order: 6; -} - -.order-7 { - -ms-flex-order: 7; - order: 7; -} - -.order-8 { - -ms-flex-order: 8; - order: 8; -} - -.order-9 { - -ms-flex-order: 9; - order: 9; -} - -.order-10 { - -ms-flex-order: 10; - order: 10; -} - -.order-11 { - -ms-flex-order: 11; - order: 11; -} - -.order-12 { - -ms-flex-order: 12; - order: 12; -} - -.offset-1 { - margin-left: 8.333333%; -} - -.offset-2 { - margin-left: 16.666667%; -} - -.offset-3 { - margin-left: 25%; -} - -.offset-4 { - margin-left: 33.333333%; -} - -.offset-5 { - margin-left: 41.666667%; -} - -.offset-6 { - margin-left: 50%; -} - -.offset-7 { - margin-left: 58.333333%; -} - -.offset-8 { - margin-left: 66.666667%; -} - -.offset-9 { - margin-left: 75%; -} - -.offset-10 { - margin-left: 83.333333%; -} - -.offset-11 { - margin-left: 91.666667%; -} - -@media (min-width: 576px) { - .col-sm { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-sm-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-sm-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-sm-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-sm-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-sm-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-sm-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-sm-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-sm-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-sm-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-sm-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-sm-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-sm-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-sm-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-sm-first { - -ms-flex-order: -1; - order: -1; - } - .order-sm-last { - -ms-flex-order: 13; - order: 13; - } - .order-sm-0 { - -ms-flex-order: 0; - order: 0; - } - .order-sm-1 { - -ms-flex-order: 1; - order: 1; - } - .order-sm-2 { - -ms-flex-order: 2; - order: 2; - } - .order-sm-3 { - -ms-flex-order: 3; - order: 3; - } - .order-sm-4 { - -ms-flex-order: 4; - order: 4; - } - .order-sm-5 { - -ms-flex-order: 5; - order: 5; - } - .order-sm-6 { - -ms-flex-order: 6; - order: 6; - } - .order-sm-7 { - -ms-flex-order: 7; - order: 7; - } - .order-sm-8 { - -ms-flex-order: 8; - order: 8; - } - .order-sm-9 { - -ms-flex-order: 9; - order: 9; - } - .order-sm-10 { - -ms-flex-order: 10; - order: 10; - } - .order-sm-11 { - -ms-flex-order: 11; - order: 11; - } - .order-sm-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-sm-0 { - margin-left: 0; - } - .offset-sm-1 { - margin-left: 8.333333%; - } - .offset-sm-2 { - margin-left: 16.666667%; - } - .offset-sm-3 { - margin-left: 25%; - } - .offset-sm-4 { - margin-left: 33.333333%; - } - .offset-sm-5 { - margin-left: 41.666667%; - } - .offset-sm-6 { - margin-left: 50%; - } - .offset-sm-7 { - margin-left: 58.333333%; - } - .offset-sm-8 { - margin-left: 66.666667%; - } - .offset-sm-9 { - margin-left: 75%; - } - .offset-sm-10 { - margin-left: 83.333333%; - } - .offset-sm-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 768px) { - .col-md { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-md-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-md-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-md-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-md-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-md-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-md-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-md-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-md-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-md-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-md-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-md-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-md-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-md-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-md-first { - -ms-flex-order: -1; - order: -1; - } - .order-md-last { - -ms-flex-order: 13; - order: 13; - } - .order-md-0 { - -ms-flex-order: 0; - order: 0; - } - .order-md-1 { - -ms-flex-order: 1; - order: 1; - } - .order-md-2 { - -ms-flex-order: 2; - order: 2; - } - .order-md-3 { - -ms-flex-order: 3; - order: 3; - } - .order-md-4 { - -ms-flex-order: 4; - order: 4; - } - .order-md-5 { - -ms-flex-order: 5; - order: 5; - } - .order-md-6 { - -ms-flex-order: 6; - order: 6; - } - .order-md-7 { - -ms-flex-order: 7; - order: 7; - } - .order-md-8 { - -ms-flex-order: 8; - order: 8; - } - .order-md-9 { - -ms-flex-order: 9; - order: 9; - } - .order-md-10 { - -ms-flex-order: 10; - order: 10; - } - .order-md-11 { - -ms-flex-order: 11; - order: 11; - } - .order-md-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-md-0 { - margin-left: 0; - } - .offset-md-1 { - margin-left: 8.333333%; - } - .offset-md-2 { - margin-left: 16.666667%; - } - .offset-md-3 { - margin-left: 25%; - } - .offset-md-4 { - margin-left: 33.333333%; - } - .offset-md-5 { - margin-left: 41.666667%; - } - .offset-md-6 { - margin-left: 50%; - } - .offset-md-7 { - margin-left: 58.333333%; - } - .offset-md-8 { - margin-left: 66.666667%; - } - .offset-md-9 { - margin-left: 75%; - } - .offset-md-10 { - margin-left: 83.333333%; - } - .offset-md-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 992px) { - .col-lg { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-lg-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-lg-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-lg-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-lg-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-lg-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-lg-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-lg-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-lg-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-lg-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-lg-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-lg-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-lg-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-lg-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-lg-first { - -ms-flex-order: -1; - order: -1; - } - .order-lg-last { - -ms-flex-order: 13; - order: 13; - } - .order-lg-0 { - -ms-flex-order: 0; - order: 0; - } - .order-lg-1 { - -ms-flex-order: 1; - order: 1; - } - .order-lg-2 { - -ms-flex-order: 2; - order: 2; - } - .order-lg-3 { - -ms-flex-order: 3; - order: 3; - } - .order-lg-4 { - -ms-flex-order: 4; - order: 4; - } - .order-lg-5 { - -ms-flex-order: 5; - order: 5; - } - .order-lg-6 { - -ms-flex-order: 6; - order: 6; - } - .order-lg-7 { - -ms-flex-order: 7; - order: 7; - } - .order-lg-8 { - -ms-flex-order: 8; - order: 8; - } - .order-lg-9 { - -ms-flex-order: 9; - order: 9; - } - .order-lg-10 { - -ms-flex-order: 10; - order: 10; - } - .order-lg-11 { - -ms-flex-order: 11; - order: 11; - } - .order-lg-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-lg-0 { - margin-left: 0; - } - .offset-lg-1 { - margin-left: 8.333333%; - } - .offset-lg-2 { - margin-left: 16.666667%; - } - .offset-lg-3 { - margin-left: 25%; - } - .offset-lg-4 { - margin-left: 33.333333%; - } - .offset-lg-5 { - margin-left: 41.666667%; - } - .offset-lg-6 { - margin-left: 50%; - } - .offset-lg-7 { - margin-left: 58.333333%; - } - .offset-lg-8 { - margin-left: 66.666667%; - } - .offset-lg-9 { - margin-left: 75%; - } - .offset-lg-10 { - margin-left: 83.333333%; - } - .offset-lg-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 1200px) { - .col-xl { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-xl-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-xl-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-xl-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-xl-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-xl-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-xl-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-xl-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-xl-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-xl-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-xl-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-xl-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-xl-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-xl-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-xl-first { - -ms-flex-order: -1; - order: -1; - } - .order-xl-last { - -ms-flex-order: 13; - order: 13; - } - .order-xl-0 { - -ms-flex-order: 0; - order: 0; - } - .order-xl-1 { - -ms-flex-order: 1; - order: 1; - } - .order-xl-2 { - -ms-flex-order: 2; - order: 2; - } - .order-xl-3 { - -ms-flex-order: 3; - order: 3; - } - .order-xl-4 { - -ms-flex-order: 4; - order: 4; - } - .order-xl-5 { - -ms-flex-order: 5; - order: 5; - } - .order-xl-6 { - -ms-flex-order: 6; - order: 6; - } - .order-xl-7 { - -ms-flex-order: 7; - order: 7; - } - .order-xl-8 { - -ms-flex-order: 8; - order: 8; - } - .order-xl-9 { - -ms-flex-order: 9; - order: 9; - } - .order-xl-10 { - -ms-flex-order: 10; - order: 10; - } - .order-xl-11 { - -ms-flex-order: 11; - order: 11; - } - .order-xl-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-xl-0 { - margin-left: 0; - } - .offset-xl-1 { - margin-left: 8.333333%; - } - .offset-xl-2 { - margin-left: 16.666667%; - } - .offset-xl-3 { - margin-left: 25%; - } - .offset-xl-4 { - margin-left: 33.333333%; - } - .offset-xl-5 { - margin-left: 41.666667%; - } - .offset-xl-6 { - margin-left: 50%; - } - .offset-xl-7 { - margin-left: 58.333333%; - } - .offset-xl-8 { - margin-left: 66.666667%; - } - .offset-xl-9 { - margin-left: 75%; - } - .offset-xl-10 { - margin-left: 83.333333%; - } - .offset-xl-11 { - margin-left: 91.666667%; - } -} - -.table { - width: 100%; - margin-bottom: 1rem; - color: #212529; -} - -.table th, -.table td { - padding: 0.75rem; - vertical-align: top; - border-top: 1px solid #dee2e6; -} - -.table thead th { - vertical-align: bottom; - border-bottom: 2px solid #dee2e6; -} - -.table tbody + tbody { - border-top: 2px solid #dee2e6; -} - -.table-sm th, -.table-sm td { - padding: 0.3rem; -} - -.table-bordered { - border: 1px solid #dee2e6; -} - -.table-bordered th, -.table-bordered td { - border: 1px solid #dee2e6; -} - -.table-bordered thead th, -.table-bordered thead td { - border-bottom-width: 2px; -} - -.table-borderless th, -.table-borderless td, -.table-borderless thead th, -.table-borderless tbody + tbody { - border: 0; -} - -.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(0, 0, 0, 0.05); -} - -.table-hover tbody tr:hover { - color: #212529; - background-color: rgba(0, 0, 0, 0.075); -} - -.table-primary, -.table-primary > th, -.table-primary > td { - background-color: #b8daff; -} - -.table-primary th, -.table-primary td, -.table-primary thead th, -.table-primary tbody + tbody { - border-color: #7abaff; -} - -.table-hover .table-primary:hover { - background-color: #9fcdff; -} - -.table-hover .table-primary:hover > td, -.table-hover .table-primary:hover > th { - background-color: #9fcdff; -} - -.table-secondary, -.table-secondary > th, -.table-secondary > td { - background-color: #d6d8db; -} - -.table-secondary th, -.table-secondary td, -.table-secondary thead th, -.table-secondary tbody + tbody { - border-color: #b3b7bb; -} - -.table-hover .table-secondary:hover { - background-color: #c8cbcf; -} - -.table-hover .table-secondary:hover > td, -.table-hover .table-secondary:hover > th { - background-color: #c8cbcf; -} - -.table-success, -.table-success > th, -.table-success > td { - background-color: #c3e6cb; -} - -.table-success th, -.table-success td, -.table-success thead th, -.table-success tbody + tbody { - border-color: #8fd19e; -} - -.table-hover .table-success:hover { - background-color: #b1dfbb; -} - -.table-hover .table-success:hover > td, -.table-hover .table-success:hover > th { - background-color: #b1dfbb; -} - -.table-info, -.table-info > th, -.table-info > td { - background-color: #bee5eb; -} - -.table-info th, -.table-info td, -.table-info thead th, -.table-info tbody + tbody { - border-color: #86cfda; -} - -.table-hover .table-info:hover { - background-color: #abdde5; -} - -.table-hover .table-info:hover > td, -.table-hover .table-info:hover > th { - background-color: #abdde5; -} - -.table-warning, -.table-warning > th, -.table-warning > td { - background-color: #ffeeba; -} - -.table-warning th, -.table-warning td, -.table-warning thead th, -.table-warning tbody + tbody { - border-color: #ffdf7e; -} - -.table-hover .table-warning:hover { - background-color: #ffe8a1; -} - -.table-hover .table-warning:hover > td, -.table-hover .table-warning:hover > th { - background-color: #ffe8a1; -} - -.table-danger, -.table-danger > th, -.table-danger > td { - background-color: #f5c6cb; -} - -.table-danger th, -.table-danger td, -.table-danger thead th, -.table-danger tbody + tbody { - border-color: #ed969e; -} - -.table-hover .table-danger:hover { - background-color: #f1b0b7; -} - -.table-hover .table-danger:hover > td, -.table-hover .table-danger:hover > th { - background-color: #f1b0b7; -} - -.table-light, -.table-light > th, -.table-light > td { - background-color: #fdfdfe; -} - -.table-light th, -.table-light td, -.table-light thead th, -.table-light tbody + tbody { - border-color: #fbfcfc; -} - -.table-hover .table-light:hover { - background-color: #ececf6; -} - -.table-hover .table-light:hover > td, -.table-hover .table-light:hover > th { - background-color: #ececf6; -} - -.table-dark, -.table-dark > th, -.table-dark > td { - background-color: #c6c8ca; -} - -.table-dark th, -.table-dark td, -.table-dark thead th, -.table-dark tbody + tbody { - border-color: #95999c; -} - -.table-hover .table-dark:hover { - background-color: #b9bbbe; -} - -.table-hover .table-dark:hover > td, -.table-hover .table-dark:hover > th { - background-color: #b9bbbe; -} - -.table-active, -.table-active > th, -.table-active > td { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-hover .table-active:hover { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-hover .table-active:hover > td, -.table-hover .table-active:hover > th { - background-color: rgba(0, 0, 0, 0.075); -} - -.table .thead-dark th { - color: #fff; - background-color: #343a40; - border-color: #454d55; -} - -.table .thead-light th { - color: #495057; - background-color: #e9ecef; - border-color: #dee2e6; -} - -.table-dark { - color: #fff; - background-color: #343a40; -} - -.table-dark th, -.table-dark td, -.table-dark thead th { - border-color: #454d55; -} - -.table-dark.table-bordered { - border: 0; -} - -.table-dark.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(255, 255, 255, 0.05); -} - -.table-dark.table-hover tbody tr:hover { - color: #fff; - background-color: rgba(255, 255, 255, 0.075); -} - -@media (max-width: 575.98px) { - .table-responsive-sm { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } - .table-responsive-sm > .table-bordered { - border: 0; - } -} - -@media (max-width: 767.98px) { - .table-responsive-md { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } - .table-responsive-md > .table-bordered { - border: 0; - } -} - -@media (max-width: 991.98px) { - .table-responsive-lg { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } - .table-responsive-lg > .table-bordered { - border: 0; - } -} - -@media (max-width: 1199.98px) { - .table-responsive-xl { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } - .table-responsive-xl > .table-bordered { - border: 0; - } -} - -.table-responsive { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; -} - -.table-responsive > .table-bordered { - border: 0; -} - -.form-control { - display: block; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - padding: 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - background-color: #fff; - background-clip: padding-box; - border: 1px solid #ced4da; - border-radius: 0.25rem; - 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::-ms-expand { - background-color: transparent; - border: 0; -} - -.form-control:focus { - color: #495057; - background-color: #fff; - border-color: #80bdff; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.form-control::-webkit-input-placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control::-moz-placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control:-ms-input-placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control::-ms-input-placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control::placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control:disabled, .form-control[readonly] { - background-color: #e9ecef; - opacity: 1; -} - -select.form-control:focus::-ms-value { - color: #495057; - background-color: #fff; -} - -.form-control-file, -.form-control-range { - display: block; - width: 100%; -} - -.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; -} - -.col-form-label-lg { - padding-top: calc(0.5rem + 1px); - padding-bottom: calc(0.5rem + 1px); - font-size: 1.25rem; - line-height: 1.5; -} - -.col-form-label-sm { - padding-top: calc(0.25rem + 1px); - padding-bottom: calc(0.25rem + 1px); - font-size: 0.875rem; - line-height: 1.5; -} - -.form-control-plaintext { - display: block; - width: 100%; - padding-top: 0.375rem; - padding-bottom: 0.375rem; - margin-bottom: 0; - line-height: 1.5; - color: #212529; - background-color: transparent; - border: solid transparent; - border-width: 1px 0; -} - -.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { - padding-right: 0; - padding-left: 0; -} - -.form-control-sm { - height: calc(1.5em + 0.5rem + 2px); - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; -} - -.form-control-lg { - height: calc(1.5em + 1rem + 2px); - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; -} - -select.form-control[size], select.form-control[multiple] { - height: auto; -} - -textarea.form-control { - height: auto; -} - -.form-group { - margin-bottom: 1rem; -} - -.form-text { - display: block; - margin-top: 0.25rem; -} - -.form-row { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - margin-right: -5px; - margin-left: -5px; -} - -.form-row > .col, -.form-row > [class*="col-"] { - padding-right: 5px; - padding-left: 5px; -} - -.form-check { - position: relative; - display: block; - padding-left: 1.25rem; -} - -.form-check-input { - position: absolute; - margin-top: 0.3rem; - margin-left: -1.25rem; -} - -.form-check-input:disabled ~ .form-check-label { - color: #6c757d; -} - -.form-check-label { - margin-bottom: 0; -} - -.form-check-inline { - display: -ms-inline-flexbox; - display: inline-flex; - -ms-flex-align: center; - align-items: center; - padding-left: 0; - margin-right: 0.75rem; -} - -.form-check-inline .form-check-input { - position: static; - margin-top: 0; - margin-right: 0.3125rem; - margin-left: 0; -} - -.valid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 80%; - color: #28a745; -} - -.valid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: .1rem; - font-size: 0.875rem; - line-height: 1.5; - color: #fff; - background-color: rgba(40, 167, 69, 0.9); - border-radius: 0.25rem; -} - -.was-validated .form-control:valid, .form-control.is-valid { - border-color: #28a745; - padding-right: calc(1.5em + 0.75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: center right calc(0.375em + 0.1875rem); - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); -} - -.was-validated .form-control:valid:focus, .form-control.is-valid:focus { - border-color: #28a745; - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); -} - -.was-validated .form-control:valid ~ .valid-feedback, -.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback, -.form-control.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated textarea.form-control:valid, 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); -} - -.was-validated .custom-select:valid, .custom-select.is-valid { - border-color: #28a745; - padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); - background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.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") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); -} - -.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { - border-color: #28a745; - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); -} - -.was-validated .custom-select:valid ~ .valid-feedback, -.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback, -.custom-select.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .form-control-file:valid ~ .valid-feedback, -.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback, -.form-control-file.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { - color: #28a745; -} - -.was-validated .form-check-input:valid ~ .valid-feedback, -.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, -.form-check-input.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { - color: #28a745; -} - -.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { - border-color: #28a745; -} - -.was-validated .custom-control-input:valid ~ .valid-feedback, -.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback, -.custom-control-input.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { - border-color: #34ce57; - background-color: #34ce57; -} - -.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); -} - -.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { - border-color: #28a745; -} - -.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { - border-color: #28a745; -} - -.was-validated .custom-file-input:valid ~ .valid-feedback, -.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback, -.custom-file-input.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { - border-color: #28a745; - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); -} - -.invalid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 80%; - color: #dc3545; -} - -.invalid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: .1rem; - font-size: 0.875rem; - line-height: 1.5; - color: #fff; - background-color: rgba(220, 53, 69, 0.9); - border-radius: 0.25rem; -} - -.was-validated .form-control:invalid, .form-control.is-invalid { - border-color: #dc3545; - padding-right: calc(1.5em + 0.75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E"); - background-repeat: no-repeat; - background-position: center right calc(0.375em + 0.1875rem); - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); -} - -.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { - border-color: #dc3545; - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); -} - -.was-validated .form-control:invalid ~ .invalid-feedback, -.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, -.form-control.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated textarea.form-control:invalid, 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); -} - -.was-validated .custom-select:invalid, .custom-select.is-invalid { - border-color: #dc3545; - padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); - background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); -} - -.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { - border-color: #dc3545; - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); -} - -.was-validated .custom-select:invalid ~ .invalid-feedback, -.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback, -.custom-select.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .form-control-file:invalid ~ .invalid-feedback, -.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback, -.form-control-file.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { - color: #dc3545; -} - -.was-validated .form-check-input:invalid ~ .invalid-feedback, -.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, -.form-check-input.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { - color: #dc3545; -} - -.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { - border-color: #dc3545; -} - -.was-validated .custom-control-input:invalid ~ .invalid-feedback, -.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback, -.custom-control-input.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { - border-color: #e4606d; - background-color: #e4606d; -} - -.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); -} - -.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { - border-color: #dc3545; -} - -.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { - border-color: #dc3545; -} - -.was-validated .custom-file-input:invalid ~ .invalid-feedback, -.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback, -.custom-file-input.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { - border-color: #dc3545; - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); -} - -.form-inline { - display: -ms-flexbox; - display: flex; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - -ms-flex-align: center; - align-items: center; -} - -.form-inline .form-check { - width: 100%; -} - -@media (min-width: 576px) { - .form-inline label { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: center; - justify-content: center; - margin-bottom: 0; - } - .form-inline .form-group { - display: -ms-flexbox; - display: flex; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - -ms-flex-align: center; - align-items: center; - margin-bottom: 0; - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .form-inline .form-control-plaintext { - display: inline-block; - } - .form-inline .input-group, - .form-inline .custom-select { - width: auto; - } - .form-inline .form-check { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: center; - justify-content: center; - width: auto; - padding-left: 0; - } - .form-inline .form-check-input { - position: relative; - -ms-flex-negative: 0; - flex-shrink: 0; - margin-top: 0; - margin-right: 0.25rem; - margin-left: 0; - } - .form-inline .custom-control { - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: center; - justify-content: center; - } - .form-inline .custom-control-label { - margin-bottom: 0; - } -} - -.btn { - display: inline-block; - font-weight: 400; - color: #212529; - text-align: center; - vertical-align: middle; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: transparent; - border: 1px solid transparent; - padding: 0.375rem 0.75rem; - font-size: 1rem; - line-height: 1.5; - border-radius: 0.25rem; - 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: #212529; - text-decoration: none; -} - -.btn:focus, .btn.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.btn.disabled, .btn:disabled { - opacity: 0.65; -} - -a.btn.disabled, -fieldset:disabled a.btn { - pointer-events: none; -} - -.btn-primary { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-primary:hover { - color: #fff; - background-color: #0069d9; - border-color: #0062cc; -} - -.btn-primary:focus, .btn-primary.focus { - box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); -} - -.btn-primary.disabled, .btn-primary:disabled { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, -.show > .btn-primary.dropdown-toggle { - color: #fff; - background-color: #0062cc; - border-color: #005cbf; -} - -.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, -.show > .btn-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); -} - -.btn-secondary { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-secondary:hover { - color: #fff; - background-color: #5a6268; - border-color: #545b62; -} - -.btn-secondary:focus, .btn-secondary.focus { - box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); -} - -.btn-secondary.disabled, .btn-secondary:disabled { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, -.show > .btn-secondary.dropdown-toggle { - color: #fff; - background-color: #545b62; - border-color: #4e555b; -} - -.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, -.show > .btn-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); -} - -.btn-success { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-success:hover { - color: #fff; - background-color: #218838; - border-color: #1e7e34; -} - -.btn-success:focus, .btn-success.focus { - box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); -} - -.btn-success.disabled, .btn-success:disabled { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, -.show > .btn-success.dropdown-toggle { - color: #fff; - background-color: #1e7e34; - border-color: #1c7430; -} - -.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, -.show > .btn-success.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); -} - -.btn-info { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-info:hover { - color: #fff; - background-color: #138496; - border-color: #117a8b; -} - -.btn-info:focus, .btn-info.focus { - box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); -} - -.btn-info.disabled, .btn-info:disabled { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, -.show > .btn-info.dropdown-toggle { - color: #fff; - background-color: #117a8b; - border-color: #10707f; -} - -.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, -.show > .btn-info.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); -} - -.btn-warning { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-warning:hover { - color: #212529; - background-color: #e0a800; - border-color: #d39e00; -} - -.btn-warning:focus, .btn-warning.focus { - box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); -} - -.btn-warning.disabled, .btn-warning:disabled { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, -.show > .btn-warning.dropdown-toggle { - color: #212529; - background-color: #d39e00; - border-color: #c69500; -} - -.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, -.show > .btn-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); -} - -.btn-danger { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-danger:hover { - color: #fff; - background-color: #c82333; - border-color: #bd2130; -} - -.btn-danger:focus, .btn-danger.focus { - box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); -} - -.btn-danger.disabled, .btn-danger:disabled { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, -.show > .btn-danger.dropdown-toggle { - color: #fff; - background-color: #bd2130; - border-color: #b21f2d; -} - -.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, -.show > .btn-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); -} - -.btn-light { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-light:hover { - color: #212529; - background-color: #e2e6ea; - border-color: #dae0e5; -} - -.btn-light:focus, .btn-light.focus { - box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); -} - -.btn-light.disabled, .btn-light:disabled { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, -.show > .btn-light.dropdown-toggle { - color: #212529; - background-color: #dae0e5; - border-color: #d3d9df; -} - -.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, -.show > .btn-light.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); -} - -.btn-dark { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-dark:hover { - color: #fff; - background-color: #23272b; - border-color: #1d2124; -} - -.btn-dark:focus, .btn-dark.focus { - box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); -} - -.btn-dark.disabled, .btn-dark:disabled { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, -.show > .btn-dark.dropdown-toggle { - color: #fff; - background-color: #1d2124; - border-color: #171a1d; -} - -.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, -.show > .btn-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); -} - -.btn-outline-primary { - color: #007bff; - border-color: #007bff; -} - -.btn-outline-primary:hover { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-outline-primary:focus, .btn-outline-primary.focus { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); -} - -.btn-outline-primary.disabled, .btn-outline-primary:disabled { - color: #007bff; - background-color: transparent; -} - -.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, -.show > .btn-outline-primary.dropdown-toggle { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); -} - -.btn-outline-secondary { - color: #6c757d; - border-color: #6c757d; -} - -.btn-outline-secondary:hover { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-outline-secondary:focus, .btn-outline-secondary.focus { - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); -} - -.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { - color: #6c757d; - background-color: transparent; -} - -.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, -.show > .btn-outline-secondary.dropdown-toggle { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); -} - -.btn-outline-success { - color: #28a745; - border-color: #28a745; -} - -.btn-outline-success:hover { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-outline-success:focus, .btn-outline-success.focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); -} - -.btn-outline-success.disabled, .btn-outline-success:disabled { - color: #28a745; - background-color: transparent; -} - -.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, -.show > .btn-outline-success.dropdown-toggle { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-success.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); -} - -.btn-outline-info { - color: #17a2b8; - border-color: #17a2b8; -} - -.btn-outline-info:hover { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-outline-info:focus, .btn-outline-info.focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); -} - -.btn-outline-info.disabled, .btn-outline-info:disabled { - color: #17a2b8; - background-color: transparent; -} - -.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, -.show > .btn-outline-info.dropdown-toggle { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-info.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); -} - -.btn-outline-warning { - color: #ffc107; - border-color: #ffc107; -} - -.btn-outline-warning:hover { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-outline-warning:focus, .btn-outline-warning.focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); -} - -.btn-outline-warning.disabled, .btn-outline-warning:disabled { - color: #ffc107; - background-color: transparent; -} - -.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, -.show > .btn-outline-warning.dropdown-toggle { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); -} - -.btn-outline-danger { - color: #dc3545; - border-color: #dc3545; -} - -.btn-outline-danger:hover { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-outline-danger:focus, .btn-outline-danger.focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); -} - -.btn-outline-danger.disabled, .btn-outline-danger:disabled { - color: #dc3545; - background-color: transparent; -} - -.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, -.show > .btn-outline-danger.dropdown-toggle { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); -} - -.btn-outline-light { - color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-outline-light:hover { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-outline-light:focus, .btn-outline-light.focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); -} - -.btn-outline-light.disabled, .btn-outline-light:disabled { - color: #f8f9fa; - background-color: transparent; -} - -.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, -.show > .btn-outline-light.dropdown-toggle { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-light.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); -} - -.btn-outline-dark { - color: #343a40; - border-color: #343a40; -} - -.btn-outline-dark:hover { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-outline-dark:focus, .btn-outline-dark.focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); -} - -.btn-outline-dark.disabled, .btn-outline-dark:disabled { - color: #343a40; - background-color: transparent; -} - -.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, -.show > .btn-outline-dark.dropdown-toggle { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); -} - -.btn-link { - font-weight: 400; - color: #007bff; - text-decoration: none; -} - -.btn-link:hover { - color: #0056b3; - text-decoration: underline; -} - -.btn-link:focus, .btn-link.focus { - text-decoration: underline; - box-shadow: none; -} - -.btn-link:disabled, .btn-link.disabled { - color: #6c757d; - pointer-events: none; -} - -.btn-lg, .btn-group-lg > .btn { - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; -} - -.btn-sm, .btn-group-sm > .btn { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; -} - -.btn-block { - display: block; - width: 100%; -} - -.btn-block + .btn-block { - margin-top: 0.5rem; -} - -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; -} - -.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 { - position: relative; - height: 0; - overflow: hidden; - transition: height 0.35s ease; -} - -@media (prefers-reduced-motion: reduce) { - .collapsing { - transition: none; - } -} - -.dropup, -.dropright, -.dropdown, -.dropleft { - position: relative; -} - -.dropdown-toggle { - white-space: nowrap; -} - -.dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - 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; -} - -.dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 10rem; - padding: 0.5rem 0; - margin: 0.125rem 0 0; - font-size: 1rem; - color: #212529; - text-align: left; - list-style: none; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; -} - -.dropdown-menu-left { - right: auto; - left: 0; -} - -.dropdown-menu-right { - right: 0; - left: auto; -} - -@media (min-width: 576px) { - .dropdown-menu-sm-left { - right: auto; - left: 0; - } - .dropdown-menu-sm-right { - right: 0; - left: auto; - } -} - -@media (min-width: 768px) { - .dropdown-menu-md-left { - right: auto; - left: 0; - } - .dropdown-menu-md-right { - right: 0; - left: auto; - } -} - -@media (min-width: 992px) { - .dropdown-menu-lg-left { - right: auto; - left: 0; - } - .dropdown-menu-lg-right { - right: 0; - left: auto; - } -} - -@media (min-width: 1200px) { - .dropdown-menu-xl-left { - right: auto; - left: 0; - } - .dropdown-menu-xl-right { - right: 0; - left: auto; - } -} - -.dropup .dropdown-menu { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: 0.125rem; -} - -.dropup .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - 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; -} - -.dropup .dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropright .dropdown-menu { - top: 0; - right: auto; - left: 100%; - margin-top: 0; - margin-left: 0.125rem; -} - -.dropright .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - 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; -} - -.dropright .dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropright .dropdown-toggle::after { - vertical-align: 0; -} - -.dropleft .dropdown-menu { - top: 0; - right: 100%; - left: auto; - margin-top: 0; - margin-right: 0.125rem; -} - -.dropleft .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; -} - -.dropleft .dropdown-toggle::after { - display: none; -} - -.dropleft .dropdown-toggle::before { - display: inline-block; - margin-right: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0.3em solid; - border-bottom: 0.3em solid transparent; -} - -.dropleft .dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropleft .dropdown-toggle::before { - vertical-align: 0; -} - -.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { - right: auto; - bottom: auto; -} - -.dropdown-divider { - height: 0; - margin: 0.5rem 0; - overflow: hidden; - border-top: 1px solid #e9ecef; -} - -.dropdown-item { - display: block; - width: 100%; - padding: 0.25rem 1.5rem; - clear: both; - font-weight: 400; - color: #212529; - text-align: inherit; - white-space: nowrap; - background-color: transparent; - border: 0; -} - -.dropdown-item:hover, .dropdown-item:focus { - color: #16181b; - text-decoration: none; - background-color: #f8f9fa; -} - -.dropdown-item.active, .dropdown-item:active { - color: #fff; - text-decoration: none; - background-color: #007bff; -} - -.dropdown-item.disabled, .dropdown-item:disabled { - color: #6c757d; - pointer-events: none; - background-color: transparent; -} - -.dropdown-menu.show { - display: block; -} - -.dropdown-header { - display: block; - padding: 0.5rem 1.5rem; - margin-bottom: 0; - font-size: 0.875rem; - color: #6c757d; - white-space: nowrap; -} - -.dropdown-item-text { - display: block; - padding: 0.25rem 1.5rem; - color: #212529; -} - -.btn-group, -.btn-group-vertical { - position: relative; - display: -ms-inline-flexbox; - display: inline-flex; - vertical-align: middle; -} - -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - -ms-flex: 1 1 auto; - flex: 1 1 auto; -} - -.btn-group > .btn:hover, -.btn-group-vertical > .btn:hover { - z-index: 1; -} - -.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, -.btn-group-vertical > .btn:focus, -.btn-group-vertical > .btn:active, -.btn-group-vertical > .btn.active { - z-index: 1; -} - -.btn-toolbar { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -ms-flex-pack: start; - justify-content: flex-start; -} - -.btn-toolbar .input-group { - width: auto; -} - -.btn-group > .btn:not(:first-child), -.btn-group > .btn-group:not(:first-child) { - margin-left: -1px; -} - -.btn-group > .btn:not(:last-child):not(.dropdown-toggle), -.btn-group > .btn-group:not(:last-child) > .btn { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.btn-group > .btn:not(:first-child), -.btn-group > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.dropdown-toggle-split { - padding-right: 0.5625rem; - padding-left: 0.5625rem; -} - -.dropdown-toggle-split::after, -.dropup .dropdown-toggle-split::after, -.dropright .dropdown-toggle-split::after { - margin-left: 0; -} - -.dropleft .dropdown-toggle-split::before { - margin-right: 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 { - -ms-flex-direction: column; - flex-direction: column; - -ms-flex-align: start; - align-items: flex-start; - -ms-flex-pack: center; - 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:not(:first-child), -.btn-group-vertical > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.btn-group-toggle > .btn, -.btn-group-toggle > .btn-group > .btn { - margin-bottom: 0; -} - -.btn-group-toggle > .btn input[type="radio"], -.btn-group-toggle > .btn input[type="checkbox"], -.btn-group-toggle > .btn-group > .btn input[type="radio"], -.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; -} - -.input-group { - position: relative; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -ms-flex-align: stretch; - align-items: stretch; - width: 100%; -} - -.input-group > .form-control, -.input-group > .form-control-plaintext, -.input-group > .custom-select, -.input-group > .custom-file { - position: relative; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - width: 1%; - margin-bottom: 0; -} - -.input-group > .form-control + .form-control, -.input-group > .form-control + .custom-select, -.input-group > .form-control + .custom-file, -.input-group > .form-control-plaintext + .form-control, -.input-group > .form-control-plaintext + .custom-select, -.input-group > .form-control-plaintext + .custom-file, -.input-group > .custom-select + .form-control, -.input-group > .custom-select + .custom-select, -.input-group > .custom-select + .custom-file, -.input-group > .custom-file + .form-control, -.input-group > .custom-file + .custom-select, -.input-group > .custom-file + .custom-file { - margin-left: -1px; -} - -.input-group > .form-control:focus, -.input-group > .custom-select:focus, -.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { - z-index: 3; -} - -.input-group > .custom-file .custom-file-input:focus { - z-index: 4; -} - -.input-group > .form-control:not(:last-child), -.input-group > .custom-select:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.input-group > .form-control:not(:first-child), -.input-group > .custom-select:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.input-group > .custom-file { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; -} - -.input-group > .custom-file:not(:last-child) .custom-file-label, -.input-group > .custom-file:not(:last-child) .custom-file-label::after { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.input-group > .custom-file:not(:first-child) .custom-file-label { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.input-group-prepend, -.input-group-append { - display: -ms-flexbox; - display: flex; -} - -.input-group-prepend .btn, -.input-group-append .btn { - position: relative; - z-index: 2; -} - -.input-group-prepend .btn:focus, -.input-group-append .btn:focus { - z-index: 3; -} - -.input-group-prepend .btn + .btn, -.input-group-prepend .btn + .input-group-text, -.input-group-prepend .input-group-text + .input-group-text, -.input-group-prepend .input-group-text + .btn, -.input-group-append .btn + .btn, -.input-group-append .btn + .input-group-text, -.input-group-append .input-group-text + .input-group-text, -.input-group-append .input-group-text + .btn { - margin-left: -1px; -} - -.input-group-prepend { - margin-right: -1px; -} - -.input-group-append { - margin-left: -1px; -} - -.input-group-text { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - padding: 0.375rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - text-align: center; - white-space: nowrap; - background-color: #e9ecef; - border: 1px solid #ced4da; - border-radius: 0.25rem; -} - -.input-group-text input[type="radio"], -.input-group-text input[type="checkbox"] { - margin-top: 0; -} - -.input-group-lg > .form-control:not(textarea), -.input-group-lg > .custom-select { - height: calc(1.5em + 1rem + 2px); -} - -.input-group-lg > .form-control, -.input-group-lg > .custom-select, -.input-group-lg > .input-group-prepend > .input-group-text, -.input-group-lg > .input-group-append > .input-group-text, -.input-group-lg > .input-group-prepend > .btn, -.input-group-lg > .input-group-append > .btn { - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; -} - -.input-group-sm > .form-control:not(textarea), -.input-group-sm > .custom-select { - height: calc(1.5em + 0.5rem + 2px); -} - -.input-group-sm > .form-control, -.input-group-sm > .custom-select, -.input-group-sm > .input-group-prepend > .input-group-text, -.input-group-sm > .input-group-append > .input-group-text, -.input-group-sm > .input-group-prepend > .btn, -.input-group-sm > .input-group-append > .btn { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; -} - -.input-group-lg > .custom-select, -.input-group-sm > .custom-select { - padding-right: 1.75rem; -} - -.input-group > .input-group-prepend > .btn, -.input-group > .input-group-prepend > .input-group-text, -.input-group > .input-group-append:not(:last-child) > .btn, -.input-group > .input-group-append:not(:last-child) > .input-group-text, -.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.input-group > .input-group-append > .btn, -.input-group > .input-group-append > .input-group-text, -.input-group > .input-group-prepend:not(:first-child) > .btn, -.input-group > .input-group-prepend:not(:first-child) > .input-group-text, -.input-group > .input-group-prepend:first-child > .btn:not(:first-child), -.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.custom-control { - position: relative; - display: block; - min-height: 1.5rem; - padding-left: 1.5rem; -} - -.custom-control-inline { - display: -ms-inline-flexbox; - display: inline-flex; - margin-right: 1rem; -} - -.custom-control-input { - position: absolute; - z-index: -1; - opacity: 0; -} - -.custom-control-input:checked ~ .custom-control-label::before { - color: #fff; - border-color: #007bff; - background-color: #007bff; -} - -.custom-control-input:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { - border-color: #80bdff; -} - -.custom-control-input:not(:disabled):active ~ .custom-control-label::before { - color: #fff; - background-color: #b3d7ff; - border-color: #b3d7ff; -} - -.custom-control-input:disabled ~ .custom-control-label { - color: #6c757d; -} - -.custom-control-input:disabled ~ .custom-control-label::before { - background-color: #e9ecef; -} - -.custom-control-label { - position: relative; - margin-bottom: 0; - vertical-align: top; -} - -.custom-control-label::before { - position: absolute; - top: 0.25rem; - left: -1.5rem; - display: block; - width: 1rem; - height: 1rem; - pointer-events: none; - content: ""; - background-color: #fff; - border: #adb5bd solid 1px; -} - -.custom-control-label::after { - position: absolute; - top: 0.25rem; - left: -1.5rem; - display: block; - width: 1rem; - height: 1rem; - content: ""; - background: no-repeat 50% / 50% 50%; -} - -.custom-checkbox .custom-control-label::before { - border-radius: 0.25rem; -} - -.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"); -} - -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { - border-color: #007bff; - background-color: #007bff; -} - -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); -} - -.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-radio .custom-control-label::before { - border-radius: 50%; -} - -.custom-radio .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); -} - -.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-switch { - padding-left: 2.25rem; -} - -.custom-switch .custom-control-label::before { - left: -2.25rem; - width: 1.75rem; - pointer-events: all; - border-radius: 0.5rem; -} - -.custom-switch .custom-control-label::after { - top: calc(0.25rem + 2px); - left: calc(-2.25rem + 2px); - width: calc(1rem - 4px); - height: calc(1rem - 4px); - background-color: #adb5bd; - border-radius: 0.5rem; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; - transition: transform 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: transform 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, -webkit-transform 0.15s ease-in-out; -} - -@media (prefers-reduced-motion: reduce) { - .custom-switch .custom-control-label::after { - transition: none; - } -} - -.custom-switch .custom-control-input:checked ~ .custom-control-label::after { - background-color: #fff; - -webkit-transform: translateX(0.75rem); - transform: translateX(0.75rem); -} - -.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-select { - display: inline-block; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - padding: 0.375rem 1.75rem 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - vertical-align: middle; - background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; - background-color: #fff; - border: 1px solid #ced4da; - border-radius: 0.25rem; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -.custom-select:focus { - border-color: #80bdff; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-select:focus::-ms-value { - color: #495057; - background-color: #fff; -} - -.custom-select[multiple], .custom-select[size]:not([size="1"]) { - height: auto; - padding-right: 0.75rem; - background-image: none; -} - -.custom-select:disabled { - color: #6c757d; - background-color: #e9ecef; -} - -.custom-select::-ms-expand { - display: none; -} - -.custom-select-sm { - height: calc(1.5em + 0.5rem + 2px); - padding-top: 0.25rem; - padding-bottom: 0.25rem; - padding-left: 0.5rem; - font-size: 0.875rem; -} - -.custom-select-lg { - height: calc(1.5em + 1rem + 2px); - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 1rem; - font-size: 1.25rem; -} - -.custom-file { - position: relative; - display: inline-block; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - margin-bottom: 0; -} - -.custom-file-input { - position: relative; - z-index: 2; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - margin: 0; - opacity: 0; -} - -.custom-file-input:focus ~ .custom-file-label { - border-color: #80bdff; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-file-input:disabled ~ .custom-file-label { - background-color: #e9ecef; -} - -.custom-file-input:lang(en) ~ .custom-file-label::after { - content: "Browse"; -} - -.custom-file-input ~ .custom-file-label[data-browse]::after { - content: attr(data-browse); -} - -.custom-file-label { - position: absolute; - top: 0; - right: 0; - left: 0; - z-index: 1; - height: calc(1.5em + 0.75rem + 2px); - padding: 0.375rem 0.75rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - background-color: #fff; - border: 1px solid #ced4da; - border-radius: 0.25rem; -} - -.custom-file-label::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - z-index: 3; - display: block; - height: calc(1.5em + 0.75rem); - padding: 0.375rem 0.75rem; - line-height: 1.5; - color: #495057; - content: "Browse"; - background-color: #e9ecef; - border-left: inherit; - border-radius: 0 0.25rem 0.25rem 0; -} - -.custom-range { - width: 100%; - height: calc(1rem + 0.4rem); - padding: 0; - background-color: transparent; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -.custom-range:focus { - outline: none; -} - -.custom-range:focus::-webkit-slider-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-range:focus::-moz-range-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-range:focus::-ms-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-range::-moz-focus-outer { - border: 0; -} - -.custom-range::-webkit-slider-thumb { - width: 1rem; - height: 1rem; - margin-top: -0.25rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - 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) { - .custom-range::-webkit-slider-thumb { - transition: none; - } -} - -.custom-range::-webkit-slider-thumb:active { - background-color: #b3d7ff; -} - -.custom-range::-webkit-slider-runnable-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem; -} - -.custom-range::-moz-range-thumb { - width: 1rem; - height: 1rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - 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) { - .custom-range::-moz-range-thumb { - transition: none; - } -} - -.custom-range::-moz-range-thumb:active { - background-color: #b3d7ff; -} - -.custom-range::-moz-range-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem; -} - -.custom-range::-ms-thumb { - width: 1rem; - height: 1rem; - margin-top: 0; - margin-right: 0.2rem; - margin-left: 0.2rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - appearance: none; -} - -@media (prefers-reduced-motion: reduce) { - .custom-range::-ms-thumb { - transition: none; - } -} - -.custom-range::-ms-thumb:active { - background-color: #b3d7ff; -} - -.custom-range::-ms-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: transparent; - border-color: transparent; - border-width: 0.5rem; -} - -.custom-range::-ms-fill-lower { - background-color: #dee2e6; - border-radius: 1rem; -} - -.custom-range::-ms-fill-upper { - margin-right: 15px; - background-color: #dee2e6; - border-radius: 1rem; -} - -.custom-range:disabled::-webkit-slider-thumb { - background-color: #adb5bd; -} - -.custom-range:disabled::-webkit-slider-runnable-track { - cursor: default; -} - -.custom-range:disabled::-moz-range-thumb { - background-color: #adb5bd; -} - -.custom-range:disabled::-moz-range-track { - cursor: default; -} - -.custom-range:disabled::-ms-thumb { - background-color: #adb5bd; -} - -.custom-control-label::before, -.custom-file-label, -.custom-select { - transition: 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) { - .custom-control-label::before, - .custom-file-label, - .custom-select { - transition: none; - } -} - -.nav { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -.nav-link { - display: block; - padding: 0.5rem 1rem; -} - -.nav-link:hover, .nav-link:focus { - text-decoration: none; -} - -.nav-link.disabled { - color: #6c757d; - pointer-events: none; - cursor: default; -} - -.nav-tabs { - border-bottom: 1px solid #dee2e6; -} - -.nav-tabs .nav-item { - margin-bottom: -1px; -} - -.nav-tabs .nav-link { - border: 1px solid transparent; - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { - border-color: #e9ecef #e9ecef #dee2e6; -} - -.nav-tabs .nav-link.disabled { - color: #6c757d; - background-color: transparent; - border-color: transparent; -} - -.nav-tabs .nav-link.active, -.nav-tabs .nav-item.show .nav-link { - color: #495057; - background-color: #fff; - border-color: #dee2e6 #dee2e6 #fff; -} - -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.nav-pills .nav-link { - border-radius: 0.25rem; -} - -.nav-pills .nav-link.active, -.nav-pills .show > .nav-link { - color: #fff; - background-color: #007bff; -} - -.nav-fill .nav-item { - -ms-flex: 1 1 auto; - flex: 1 1 auto; - text-align: center; -} - -.nav-justified .nav-item { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - text-align: center; -} - -.tab-content > .tab-pane { - display: none; -} - -.tab-content > .active { - display: block; -} - -.navbar { - position: relative; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 0.5rem 1rem; -} - -.navbar > .container, -.navbar > .container-fluid { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: justify; - justify-content: space-between; -} - -.navbar-brand { - display: inline-block; - padding-top: 0.3125rem; - padding-bottom: 0.3125rem; - margin-right: 1rem; - font-size: 1.25rem; - line-height: inherit; - white-space: nowrap; -} - -.navbar-brand:hover, .navbar-brand:focus { - text-decoration: none; -} - -.navbar-nav { - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -.navbar-nav .nav-link { - padding-right: 0; - padding-left: 0; -} - -.navbar-nav .dropdown-menu { - position: static; - float: none; -} - -.navbar-text { - display: inline-block; - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} - -.navbar-collapse { - -ms-flex-preferred-size: 100%; - flex-basis: 100%; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-align: center; - align-items: center; -} - -.navbar-toggler { - padding: 0.25rem 0.75rem; - font-size: 1.25rem; - line-height: 1; - background-color: transparent; - border: 1px solid transparent; - border-radius: 0.25rem; -} - -.navbar-toggler:hover, .navbar-toggler:focus { - text-decoration: none; -} - -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - content: ""; - background: no-repeat center center; - background-size: 100% 100%; -} - -@media (max-width: 575.98px) { - .navbar-expand-sm > .container, - .navbar-expand-sm > .container-fluid { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 576px) { - .navbar-expand-sm { - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -ms-flex-pack: start; - justify-content: flex-start; - } - .navbar-expand-sm .navbar-nav { - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-expand-sm .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-sm .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-sm > .container, - .navbar-expand-sm > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - } - .navbar-expand-sm .navbar-collapse { - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; - } - .navbar-expand-sm .navbar-toggler { - display: none; - } -} - -@media (max-width: 767.98px) { - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 768px) { - .navbar-expand-md { - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -ms-flex-pack: start; - justify-content: flex-start; - } - .navbar-expand-md .navbar-nav { - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-expand-md .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-md .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - } - .navbar-expand-md .navbar-collapse { - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; - } - .navbar-expand-md .navbar-toggler { - display: none; - } -} - -@media (max-width: 991.98px) { - .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 992px) { - .navbar-expand-lg { - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -ms-flex-pack: start; - justify-content: flex-start; - } - .navbar-expand-lg .navbar-nav { - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-expand-lg .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-lg .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - } - .navbar-expand-lg .navbar-collapse { - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; - } - .navbar-expand-lg .navbar-toggler { - display: none; - } -} - -@media (max-width: 1199.98px) { - .navbar-expand-xl > .container, - .navbar-expand-xl > .container-fluid { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 1200px) { - .navbar-expand-xl { - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -ms-flex-pack: start; - justify-content: flex-start; - } - .navbar-expand-xl .navbar-nav { - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-expand-xl .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-xl .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-xl > .container, - .navbar-expand-xl > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - } - .navbar-expand-xl .navbar-collapse { - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; - } - .navbar-expand-xl .navbar-toggler { - display: none; - } -} - -.navbar-expand { - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -ms-flex-pack: start; - justify-content: flex-start; -} - -.navbar-expand > .container, -.navbar-expand > .container-fluid { - padding-right: 0; - padding-left: 0; -} - -.navbar-expand .navbar-nav { - -ms-flex-direction: row; - flex-direction: row; -} - -.navbar-expand .navbar-nav .dropdown-menu { - position: absolute; -} - -.navbar-expand .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; -} - -.navbar-expand > .container, -.navbar-expand > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; -} - -.navbar-expand .navbar-collapse { - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; -} - -.navbar-expand .navbar-toggler { - display: none; -} - -.navbar-light .navbar-brand { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-nav .nav-link { - color: rgba(0, 0, 0, 0.5); -} - -.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { - color: rgba(0, 0, 0, 0.7); -} - -.navbar-light .navbar-nav .nav-link.disabled { - color: rgba(0, 0, 0, 0.3); -} - -.navbar-light .navbar-nav .show > .nav-link, -.navbar-light .navbar-nav .active > .nav-link, -.navbar-light .navbar-nav .nav-link.show, -.navbar-light .navbar-nav .nav-link.active { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-toggler { - color: rgba(0, 0, 0, 0.5); - border-color: rgba(0, 0, 0, 0.1); -} - -.navbar-light .navbar-toggler-icon { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); -} - -.navbar-light .navbar-text { - color: rgba(0, 0, 0, 0.5); -} - -.navbar-light .navbar-text a { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-dark .navbar-brand { - color: #fff; -} - -.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { - color: #fff; -} - -.navbar-dark .navbar-nav .nav-link { - color: rgba(255, 255, 255, 0.5); -} - -.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { - color: rgba(255, 255, 255, 0.75); -} - -.navbar-dark .navbar-nav .nav-link.disabled { - color: rgba(255, 255, 255, 0.25); -} - -.navbar-dark .navbar-nav .show > .nav-link, -.navbar-dark .navbar-nav .active > .nav-link, -.navbar-dark .navbar-nav .nav-link.show, -.navbar-dark .navbar-nav .nav-link.active { - color: #fff; -} - -.navbar-dark .navbar-toggler { - color: rgba(255, 255, 255, 0.5); - border-color: rgba(255, 255, 255, 0.1); -} - -.navbar-dark .navbar-toggler-icon { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); -} - -.navbar-dark .navbar-text { - color: rgba(255, 255, 255, 0.5); -} - -.navbar-dark .navbar-text a { - color: #fff; -} - -.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { - color: #fff; -} - -.card { - position: relative; - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - min-width: 0; - word-wrap: break-word; - background-color: #fff; - background-clip: border-box; - border: 1px solid rgba(0, 0, 0, 0.125); - border-radius: 0.25rem; -} - -.card > hr { - margin-right: 0; - margin-left: 0; -} - -.card > .list-group:first-child .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.card > .list-group:last-child .list-group-item:last-child { - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.card-body { - -ms-flex: 1 1 auto; - flex: 1 1 auto; - padding: 1.25rem; -} - -.card-title { - margin-bottom: 0.75rem; -} - -.card-subtitle { - margin-top: -0.375rem; - margin-bottom: 0; -} - -.card-text:last-child { - margin-bottom: 0; -} - -.card-link:hover { - text-decoration: none; -} - -.card-link + .card-link { - margin-left: 1.25rem; -} - -.card-header { - padding: 0.75rem 1.25rem; - margin-bottom: 0; - background-color: rgba(0, 0, 0, 0.03); - border-bottom: 1px solid rgba(0, 0, 0, 0.125); -} - -.card-header:first-child { - border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; -} - -.card-header + .list-group .list-group-item:first-child { - border-top: 0; -} - -.card-footer { - padding: 0.75rem 1.25rem; - background-color: rgba(0, 0, 0, 0.03); - border-top: 1px solid rgba(0, 0, 0, 0.125); -} - -.card-footer:last-child { - border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); -} - -.card-header-tabs { - margin-right: -0.625rem; - margin-bottom: -0.75rem; - margin-left: -0.625rem; - border-bottom: 0; -} - -.card-header-pills { - margin-right: -0.625rem; - margin-left: -0.625rem; -} - -.card-img-overlay { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 1.25rem; -} - -.card-img { - width: 100%; - border-radius: calc(0.25rem - 1px); -} - -.card-img-top { - width: 100%; - border-top-left-radius: calc(0.25rem - 1px); - border-top-right-radius: calc(0.25rem - 1px); -} - -.card-img-bottom { - width: 100%; - border-bottom-right-radius: calc(0.25rem - 1px); - border-bottom-left-radius: calc(0.25rem - 1px); -} - -.card-deck { - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; -} - -.card-deck .card { - margin-bottom: 15px; -} - -@media (min-width: 576px) { - .card-deck { - -ms-flex-flow: row wrap; - flex-flow: row wrap; - margin-right: -15px; - margin-left: -15px; - } - .card-deck .card { - display: -ms-flexbox; - display: flex; - -ms-flex: 1 0 0%; - flex: 1 0 0%; - -ms-flex-direction: column; - flex-direction: column; - margin-right: 15px; - margin-bottom: 0; - margin-left: 15px; - } -} - -.card-group { - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; -} - -.card-group > .card { - margin-bottom: 15px; -} - -@media (min-width: 576px) { - .card-group { - -ms-flex-flow: row wrap; - flex-flow: row wrap; - } - .card-group > .card { - -ms-flex: 1 0 0%; - flex: 1 0 0%; - margin-bottom: 0; - } - .card-group > .card + .card { - margin-left: 0; - border-left: 0; - } - .card-group > .card:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - .card-group > .card:not(:last-child) .card-img-top, - .card-group > .card:not(:last-child) .card-header { - border-top-right-radius: 0; - } - .card-group > .card:not(:last-child) .card-img-bottom, - .card-group > .card:not(:last-child) .card-footer { - border-bottom-right-radius: 0; - } - .card-group > .card:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } - .card-group > .card:not(:first-child) .card-img-top, - .card-group > .card:not(:first-child) .card-header { - border-top-left-radius: 0; - } - .card-group > .card:not(:first-child) .card-img-bottom, - .card-group > .card:not(:first-child) .card-footer { - border-bottom-left-radius: 0; - } -} - -.card-columns .card { - margin-bottom: 0.75rem; -} - -@media (min-width: 576px) { - .card-columns { - -webkit-column-count: 3; - -moz-column-count: 3; - column-count: 3; - -webkit-column-gap: 1.25rem; - -moz-column-gap: 1.25rem; - column-gap: 1.25rem; - orphans: 1; - widows: 1; - } - .card-columns .card { - display: inline-block; - width: 100%; - } -} - -.accordion > .card { - overflow: hidden; -} - -.accordion > .card:not(:first-of-type) .card-header:first-child { - border-radius: 0; -} - -.accordion > .card:not(:first-of-type):not(:last-of-type) { - border-bottom: 0; - border-radius: 0; -} - -.accordion > .card:first-of-type { - border-bottom: 0; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} - -.accordion > .card:last-of-type { - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.accordion > .card .card-header { - margin-bottom: -1px; -} - -.breadcrumb { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - padding: 0.75rem 1rem; - margin-bottom: 1rem; - list-style: none; - background-color: #e9ecef; - border-radius: 0.25rem; -} - -.breadcrumb-item + .breadcrumb-item { - padding-left: 0.5rem; -} - -.breadcrumb-item + .breadcrumb-item::before { - display: inline-block; - padding-right: 0.5rem; - color: #6c757d; - content: "/"; -} - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: underline; -} - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: none; -} - -.breadcrumb-item.active { - color: #6c757d; -} - -.pagination { - display: -ms-flexbox; - display: flex; - padding-left: 0; - list-style: none; - border-radius: 0.25rem; -} - -.page-link { - position: relative; - display: block; - padding: 0.5rem 0.75rem; - margin-left: -1px; - line-height: 1.25; - color: #007bff; - background-color: #fff; - border: 1px solid #dee2e6; -} - -.page-link:hover { - z-index: 2; - color: #0056b3; - text-decoration: none; - background-color: #e9ecef; - border-color: #dee2e6; -} - -.page-link:focus { - z-index: 2; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.page-item:first-child .page-link { - margin-left: 0; - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.page-item:last-child .page-link { - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; -} - -.page-item.active .page-link { - z-index: 1; - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.page-item.disabled .page-link { - color: #6c757d; - pointer-events: none; - cursor: auto; - background-color: #fff; - border-color: #dee2e6; -} - -.pagination-lg .page-link { - padding: 0.75rem 1.5rem; - font-size: 1.25rem; - line-height: 1.5; -} - -.pagination-lg .page-item:first-child .page-link { - border-top-left-radius: 0.3rem; - border-bottom-left-radius: 0.3rem; -} - -.pagination-lg .page-item:last-child .page-link { - border-top-right-radius: 0.3rem; - border-bottom-right-radius: 0.3rem; -} - -.pagination-sm .page-link { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; -} - -.pagination-sm .page-item:first-child .page-link { - border-top-left-radius: 0.2rem; - border-bottom-left-radius: 0.2rem; -} - -.pagination-sm .page-item:last-child .page-link { - border-top-right-radius: 0.2rem; - border-bottom-right-radius: 0.2rem; -} - -.badge { - display: inline-block; - padding: 0.25em 0.4em; - font-size: 75%; - font-weight: 700; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: 0.25rem; - 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) { - .badge { - transition: none; - } -} - -a.badge:hover, a.badge:focus { - text-decoration: none; -} - -.badge:empty { - display: none; -} - -.btn .badge { - position: relative; - top: -1px; -} - -.badge-pill { - padding-right: 0.6em; - padding-left: 0.6em; - border-radius: 10rem; -} - -.badge-primary { - color: #fff; - background-color: #007bff; -} - -a.badge-primary:hover, a.badge-primary:focus { - color: #fff; - background-color: #0062cc; -} - -a.badge-primary:focus, a.badge-primary.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); -} - -.badge-secondary { - color: #fff; - background-color: #6c757d; -} - -a.badge-secondary:hover, a.badge-secondary:focus { - color: #fff; - background-color: #545b62; -} - -a.badge-secondary:focus, a.badge-secondary.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); -} - -.badge-success { - color: #fff; - background-color: #28a745; -} - -a.badge-success:hover, a.badge-success:focus { - color: #fff; - background-color: #1e7e34; -} - -a.badge-success:focus, a.badge-success.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); -} - -.badge-info { - color: #fff; - background-color: #17a2b8; -} - -a.badge-info:hover, a.badge-info:focus { - color: #fff; - background-color: #117a8b; -} - -a.badge-info:focus, a.badge-info.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); -} - -.badge-warning { - color: #212529; - background-color: #ffc107; -} - -a.badge-warning:hover, a.badge-warning:focus { - color: #212529; - background-color: #d39e00; -} - -a.badge-warning:focus, a.badge-warning.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); -} - -.badge-danger { - color: #fff; - background-color: #dc3545; -} - -a.badge-danger:hover, a.badge-danger:focus { - color: #fff; - background-color: #bd2130; -} - -a.badge-danger:focus, a.badge-danger.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); -} - -.badge-light { - color: #212529; - background-color: #f8f9fa; -} - -a.badge-light:hover, a.badge-light:focus { - color: #212529; - background-color: #dae0e5; -} - -a.badge-light:focus, a.badge-light.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); -} - -.badge-dark { - color: #fff; - background-color: #343a40; -} - -a.badge-dark:hover, a.badge-dark:focus { - color: #fff; - background-color: #1d2124; -} - -a.badge-dark:focus, a.badge-dark.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); -} - -.jumbotron { - padding: 2rem 1rem; - margin-bottom: 2rem; - background-color: #e9ecef; - border-radius: 0.3rem; -} - -@media (min-width: 576px) { - .jumbotron { - padding: 4rem 2rem; - } -} - -.jumbotron-fluid { - padding-right: 0; - padding-left: 0; - border-radius: 0; -} - -.alert { - position: relative; - padding: 0.75rem 1.25rem; - margin-bottom: 1rem; - border: 1px solid transparent; - border-radius: 0.25rem; -} - -.alert-heading { - color: inherit; -} - -.alert-link { - font-weight: 700; -} - -.alert-dismissible { - padding-right: 4rem; -} - -.alert-dismissible .close { - position: absolute; - top: 0; - right: 0; - padding: 0.75rem 1.25rem; - color: inherit; -} - -.alert-primary { - color: #004085; - background-color: #cce5ff; - border-color: #b8daff; -} - -.alert-primary hr { - border-top-color: #9fcdff; -} - -.alert-primary .alert-link { - color: #002752; -} - -.alert-secondary { - color: #383d41; - background-color: #e2e3e5; - border-color: #d6d8db; -} - -.alert-secondary hr { - border-top-color: #c8cbcf; -} - -.alert-secondary .alert-link { - color: #202326; -} - -.alert-success { - color: #155724; - background-color: #d4edda; - border-color: #c3e6cb; -} - -.alert-success hr { - border-top-color: #b1dfbb; -} - -.alert-success .alert-link { - color: #0b2e13; -} - -.alert-info { - color: #0c5460; - background-color: #d1ecf1; - border-color: #bee5eb; -} - -.alert-info hr { - border-top-color: #abdde5; -} - -.alert-info .alert-link { - color: #062c33; -} - -.alert-warning { - color: #856404; - background-color: #fff3cd; - border-color: #ffeeba; -} - -.alert-warning hr { - border-top-color: #ffe8a1; -} - -.alert-warning .alert-link { - color: #533f03; -} - -.alert-danger { - color: #721c24; - background-color: #f8d7da; - border-color: #f5c6cb; -} - -.alert-danger hr { - border-top-color: #f1b0b7; -} - -.alert-danger .alert-link { - color: #491217; -} - -.alert-light { - color: #818182; - background-color: #fefefe; - border-color: #fdfdfe; -} - -.alert-light hr { - border-top-color: #ececf6; -} - -.alert-light .alert-link { - color: #686868; -} - -.alert-dark { - color: #1b1e21; - background-color: #d6d8d9; - border-color: #c6c8ca; -} - -.alert-dark hr { - border-top-color: #b9bbbe; -} - -.alert-dark .alert-link { - color: #040505; -} - -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } -} - -@keyframes progress-bar-stripes { - from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } -} - -.progress { - display: -ms-flexbox; - display: flex; - height: 1rem; - overflow: hidden; - font-size: 0.75rem; - background-color: #e9ecef; - border-radius: 0.25rem; -} - -.progress-bar { - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - -ms-flex-pack: center; - justify-content: center; - color: #fff; - text-align: center; - white-space: nowrap; - background-color: #007bff; - transition: width 0.6s ease; -} - -@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: 1rem 1rem; -} - -.progress-bar-animated { - -webkit-animation: progress-bar-stripes 1s linear infinite; - animation: progress-bar-stripes 1s linear infinite; -} - -@media (prefers-reduced-motion: reduce) { - .progress-bar-animated { - -webkit-animation: none; - animation: none; - } -} - -.media { - display: -ms-flexbox; - display: flex; - -ms-flex-align: start; - align-items: flex-start; -} - -.media-body { - -ms-flex: 1; - flex: 1; -} - -.list-group { - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; -} - -.list-group-item-action { - width: 100%; - color: #495057; - text-align: inherit; -} - -.list-group-item-action:hover, .list-group-item-action:focus { - z-index: 1; - color: #495057; - text-decoration: none; - background-color: #f8f9fa; -} - -.list-group-item-action:active { - color: #212529; - background-color: #e9ecef; -} - -.list-group-item { - position: relative; - display: block; - padding: 0.75rem 1.25rem; - margin-bottom: -1px; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.125); -} - -.list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.list-group-item.disabled, .list-group-item:disabled { - color: #6c757d; - pointer-events: none; - background-color: #fff; -} - -.list-group-item.active { - z-index: 2; - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.list-group-horizontal { - -ms-flex-direction: row; - flex-direction: row; -} - -.list-group-horizontal .list-group-item { - margin-right: -1px; - margin-bottom: 0; -} - -.list-group-horizontal .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; -} - -.list-group-horizontal .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0; -} - -@media (min-width: 576px) { - .list-group-horizontal-sm { - -ms-flex-direction: row; - flex-direction: row; - } - .list-group-horizontal-sm .list-group-item { - margin-right: -1px; - margin-bottom: 0; - } - .list-group-horizontal-sm .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; - } - .list-group-horizontal-sm .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0; - } -} - -@media (min-width: 768px) { - .list-group-horizontal-md { - -ms-flex-direction: row; - flex-direction: row; - } - .list-group-horizontal-md .list-group-item { - margin-right: -1px; - margin-bottom: 0; - } - .list-group-horizontal-md .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; - } - .list-group-horizontal-md .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0; - } -} - -@media (min-width: 992px) { - .list-group-horizontal-lg { - -ms-flex-direction: row; - flex-direction: row; - } - .list-group-horizontal-lg .list-group-item { - margin-right: -1px; - margin-bottom: 0; - } - .list-group-horizontal-lg .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; - } - .list-group-horizontal-lg .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0; - } -} - -@media (min-width: 1200px) { - .list-group-horizontal-xl { - -ms-flex-direction: row; - flex-direction: row; - } - .list-group-horizontal-xl .list-group-item { - margin-right: -1px; - margin-bottom: 0; - } - .list-group-horizontal-xl .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; - } - .list-group-horizontal-xl .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0; - } -} - -.list-group-flush .list-group-item { - border-right: 0; - border-left: 0; - border-radius: 0; -} - -.list-group-flush .list-group-item:last-child { - margin-bottom: -1px; -} - -.list-group-flush:first-child .list-group-item:first-child { - border-top: 0; -} - -.list-group-flush:last-child .list-group-item:last-child { - margin-bottom: 0; - border-bottom: 0; -} - -.list-group-item-primary { - color: #004085; - background-color: #b8daff; -} - -.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { - color: #004085; - background-color: #9fcdff; -} - -.list-group-item-primary.list-group-item-action.active { - color: #fff; - background-color: #004085; - border-color: #004085; -} - -.list-group-item-secondary { - color: #383d41; - background-color: #d6d8db; -} - -.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { - color: #383d41; - background-color: #c8cbcf; -} - -.list-group-item-secondary.list-group-item-action.active { - color: #fff; - background-color: #383d41; - border-color: #383d41; -} - -.list-group-item-success { - color: #155724; - background-color: #c3e6cb; -} - -.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { - color: #155724; - background-color: #b1dfbb; -} - -.list-group-item-success.list-group-item-action.active { - color: #fff; - background-color: #155724; - border-color: #155724; -} - -.list-group-item-info { - color: #0c5460; - background-color: #bee5eb; -} - -.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { - color: #0c5460; - background-color: #abdde5; -} - -.list-group-item-info.list-group-item-action.active { - color: #fff; - background-color: #0c5460; - border-color: #0c5460; -} - -.list-group-item-warning { - color: #856404; - background-color: #ffeeba; -} - -.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { - color: #856404; - background-color: #ffe8a1; -} - -.list-group-item-warning.list-group-item-action.active { - color: #fff; - background-color: #856404; - border-color: #856404; -} - -.list-group-item-danger { - color: #721c24; - background-color: #f5c6cb; -} - -.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { - color: #721c24; - background-color: #f1b0b7; -} - -.list-group-item-danger.list-group-item-action.active { - color: #fff; - background-color: #721c24; - border-color: #721c24; -} - -.list-group-item-light { - color: #818182; - background-color: #fdfdfe; -} - -.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { - color: #818182; - background-color: #ececf6; -} - -.list-group-item-light.list-group-item-action.active { - color: #fff; - background-color: #818182; - border-color: #818182; -} - -.list-group-item-dark { - color: #1b1e21; - background-color: #c6c8ca; -} - -.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { - color: #1b1e21; - background-color: #b9bbbe; -} - -.list-group-item-dark.list-group-item-action.active { - color: #fff; - background-color: #1b1e21; - border-color: #1b1e21; -} - -.close { - float: right; - font-size: 1.5rem; - font-weight: 700; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - opacity: .5; -} - -.close:hover { - color: #000; - text-decoration: none; -} - -.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { - opacity: .75; -} - -button.close { - padding: 0; - background-color: transparent; - border: 0; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -a.close.disabled { - pointer-events: none; -} - -.toast { - max-width: 350px; - overflow: hidden; - font-size: 0.875rem; - background-color: rgba(255, 255, 255, 0.85); - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.1); - box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); - -webkit-backdrop-filter: blur(10px); - backdrop-filter: blur(10px); - opacity: 0; - border-radius: 0.25rem; -} - -.toast:not(:last-child) { - margin-bottom: 0.75rem; -} - -.toast.showing { - opacity: 1; -} - -.toast.show { - display: block; - opacity: 1; -} - -.toast.hide { - display: none; -} - -.toast-header { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - padding: 0.25rem 0.75rem; - color: #6c757d; - background-color: rgba(255, 255, 255, 0.85); - background-clip: padding-box; - border-bottom: 1px solid rgba(0, 0, 0, 0.05); -} - -.toast-body { - padding: 0.75rem; -} - -.modal-open { - overflow: hidden; -} - -.modal-open .modal { - overflow-x: hidden; - overflow-y: auto; -} - -.modal { - position: fixed; - top: 0; - left: 0; - z-index: 1050; - display: none; - width: 100%; - height: 100%; - overflow: hidden; - outline: 0; -} - -.modal-dialog { - position: relative; - width: auto; - margin: 0.5rem; - pointer-events: none; -} - -.modal.fade .modal-dialog { - transition: -webkit-transform 0.3s ease-out; - transition: transform 0.3s ease-out; - transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; - -webkit-transform: translate(0, -50px); - transform: translate(0, -50px); -} - -@media (prefers-reduced-motion: reduce) { - .modal.fade .modal-dialog { - transition: none; - } -} - -.modal.show .modal-dialog { - -webkit-transform: none; - transform: none; -} - -.modal-dialog-scrollable { - display: -ms-flexbox; - display: flex; - max-height: calc(100% - 1rem); -} - -.modal-dialog-scrollable .modal-content { - max-height: calc(100vh - 1rem); - overflow: hidden; -} - -.modal-dialog-scrollable .modal-header, -.modal-dialog-scrollable .modal-footer { - -ms-flex-negative: 0; - flex-shrink: 0; -} - -.modal-dialog-scrollable .modal-body { - overflow-y: auto; -} - -.modal-dialog-centered { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - min-height: calc(100% - 1rem); -} - -.modal-dialog-centered::before { - display: block; - height: calc(100vh - 1rem); - content: ""; -} - -.modal-dialog-centered.modal-dialog-scrollable { - -ms-flex-direction: column; - flex-direction: column; - -ms-flex-pack: center; - justify-content: center; - height: 100%; -} - -.modal-dialog-centered.modal-dialog-scrollable .modal-content { - max-height: none; -} - -.modal-dialog-centered.modal-dialog-scrollable::before { - content: none; -} - -.modal-content { - position: relative; - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - width: 100%; - pointer-events: auto; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; - outline: 0; -} - -.modal-backdrop { - position: fixed; - top: 0; - left: 0; - z-index: 1040; - width: 100vw; - height: 100vh; - background-color: #000; -} - -.modal-backdrop.fade { - opacity: 0; -} - -.modal-backdrop.show { - opacity: 0.5; -} - -.modal-header { - display: -ms-flexbox; - display: flex; - -ms-flex-align: start; - align-items: flex-start; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 1rem 1rem; - border-bottom: 1px solid #dee2e6; - border-top-left-radius: 0.3rem; - border-top-right-radius: 0.3rem; -} - -.modal-header .close { - padding: 1rem 1rem; - margin: -1rem -1rem -1rem auto; -} - -.modal-title { - margin-bottom: 0; - line-height: 1.5; -} - -.modal-body { - position: relative; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - padding: 1rem; -} - -.modal-footer { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: end; - justify-content: flex-end; - padding: 1rem; - border-top: 1px solid #dee2e6; - border-bottom-right-radius: 0.3rem; - border-bottom-left-radius: 0.3rem; -} - -.modal-footer > :not(:first-child) { - margin-left: .25rem; -} - -.modal-footer > :not(:last-child) { - margin-right: .25rem; -} - -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; -} - -@media (min-width: 576px) { - .modal-dialog { - max-width: 500px; - margin: 1.75rem auto; - } - .modal-dialog-scrollable { - max-height: calc(100% - 3.5rem); - } - .modal-dialog-scrollable .modal-content { - max-height: calc(100vh - 3.5rem); - } - .modal-dialog-centered { - min-height: calc(100% - 3.5rem); - } - .modal-dialog-centered::before { - height: calc(100vh - 3.5rem); - } - .modal-sm { - max-width: 300px; - } -} - -@media (min-width: 992px) { - .modal-lg, - .modal-xl { - max-width: 800px; - } -} - -@media (min-width: 1200px) { - .modal-xl { - max-width: 1140px; - } -} - -.tooltip { - position: absolute; - z-index: 1070; - display: block; - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - 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; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - opacity: 0; -} - -.tooltip.show { - opacity: 0.9; -} - -.tooltip .arrow { - position: absolute; - display: block; - width: 0.8rem; - height: 0.4rem; -} - -.tooltip .arrow::before { - position: absolute; - content: ""; - border-color: transparent; - border-style: solid; -} - -.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { - padding: 0.4rem 0; -} - -.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { - bottom: 0; -} - -.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { - top: 0; - border-width: 0.4rem 0.4rem 0; - border-top-color: #000; -} - -.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { - padding: 0 0.4rem; -} - -.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { - left: 0; - width: 0.4rem; - height: 0.8rem; -} - -.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { - right: 0; - border-width: 0.4rem 0.4rem 0.4rem 0; - border-right-color: #000; -} - -.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { - padding: 0.4rem 0; -} - -.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { - top: 0; -} - -.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { - bottom: 0; - border-width: 0 0.4rem 0.4rem; - border-bottom-color: #000; -} - -.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { - padding: 0 0.4rem; -} - -.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { - right: 0; - width: 0.4rem; - height: 0.8rem; -} - -.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { - left: 0; - border-width: 0.4rem 0 0.4rem 0.4rem; - border-left-color: #000; -} - -.tooltip-inner { - max-width: 200px; - padding: 0.25rem 0.5rem; - color: #fff; - text-align: center; - background-color: #000; - border-radius: 0.25rem; -} - -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: block; - max-width: 276px; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - 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; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; -} - -.popover .arrow { - position: absolute; - display: block; - width: 1rem; - height: 0.5rem; - margin: 0 0.3rem; -} - -.popover .arrow::before, .popover .arrow::after { - position: absolute; - display: block; - content: ""; - border-color: transparent; - border-style: solid; -} - -.bs-popover-top, .bs-popover-auto[x-placement^="top"] { - margin-bottom: 0.5rem; -} - -.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { - bottom: calc((0.5rem + 1px) * -1); -} - -.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { - bottom: 0; - border-width: 0.5rem 0.5rem 0; - border-top-color: rgba(0, 0, 0, 0.25); -} - -.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { - bottom: 1px; - border-width: 0.5rem 0.5rem 0; - border-top-color: #fff; -} - -.bs-popover-right, .bs-popover-auto[x-placement^="right"] { - margin-left: 0.5rem; -} - -.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { - left: calc((0.5rem + 1px) * -1); - width: 0.5rem; - height: 1rem; - margin: 0.3rem 0; -} - -.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { - left: 0; - border-width: 0.5rem 0.5rem 0.5rem 0; - border-right-color: rgba(0, 0, 0, 0.25); -} - -.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { - left: 1px; - border-width: 0.5rem 0.5rem 0.5rem 0; - border-right-color: #fff; -} - -.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { - margin-top: 0.5rem; -} - -.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { - top: calc((0.5rem + 1px) * -1); -} - -.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { - top: 0; - border-width: 0 0.5rem 0.5rem 0.5rem; - border-bottom-color: rgba(0, 0, 0, 0.25); -} - -.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { - top: 1px; - border-width: 0 0.5rem 0.5rem 0.5rem; - border-bottom-color: #fff; -} - -.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { - position: absolute; - top: 0; - left: 50%; - display: block; - width: 1rem; - margin-left: -0.5rem; - content: ""; - border-bottom: 1px solid #f7f7f7; -} - -.bs-popover-left, .bs-popover-auto[x-placement^="left"] { - margin-right: 0.5rem; -} - -.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { - right: calc((0.5rem + 1px) * -1); - width: 0.5rem; - height: 1rem; - margin: 0.3rem 0; -} - -.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { - right: 0; - border-width: 0.5rem 0 0.5rem 0.5rem; - border-left-color: rgba(0, 0, 0, 0.25); -} - -.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { - right: 1px; - border-width: 0.5rem 0 0.5rem 0.5rem; - border-left-color: #fff; -} - -.popover-header { - padding: 0.5rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-top-left-radius: calc(0.3rem - 1px); - border-top-right-radius: calc(0.3rem - 1px); -} - -.popover-header:empty { - display: none; -} - -.popover-body { - padding: 0.5rem 0.75rem; - color: #212529; -} - -.carousel { - position: relative; -} - -.carousel.pointer-event { - -ms-touch-action: pan-y; - 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: -webkit-transform 0.6s ease-in-out; - transition: transform 0.6s ease-in-out; - transition: transform 0.6s ease-in-out, -webkit-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-left), -.active.carousel-item-right { - -webkit-transform: translateX(100%); - transform: translateX(100%); -} - -.carousel-item-prev:not(.carousel-item-right), -.active.carousel-item-left { - -webkit-transform: translateX(-100%); - transform: translateX(-100%); -} - -.carousel-fade .carousel-item { - opacity: 0; - transition-property: opacity; - -webkit-transform: none; - transform: none; -} - -.carousel-fade .carousel-item.active, -.carousel-fade .carousel-item-next.carousel-item-left, -.carousel-fade .carousel-item-prev.carousel-item-right { - z-index: 1; - opacity: 1; -} - -.carousel-fade .active.carousel-item-left, -.carousel-fade .active.carousel-item-right { - z-index: 0; - opacity: 0; - transition: 0s 0.6s opacity; -} - -@media (prefers-reduced-motion: reduce) { - .carousel-fade .active.carousel-item-left, - .carousel-fade .active.carousel-item-right { - transition: none; - } -} - -.carousel-control-prev, -.carousel-control-next { - position: absolute; - top: 0; - bottom: 0; - z-index: 1; - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: center; - justify-content: center; - width: 15%; - color: #fff; - text-align: center; - 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: #fff; - 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: 20px; - height: 20px; - background: no-repeat 50% / 100% 100%; -} - -.carousel-control-prev-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e"); -} - -.carousel-control-next-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e"); -} - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 0; - left: 0; - z-index: 15; - display: -ms-flexbox; - display: flex; - -ms-flex-pack: center; - justify-content: center; - padding-left: 0; - margin-right: 15%; - margin-left: 15%; - list-style: none; -} - -.carousel-indicators li { - box-sizing: content-box; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - width: 30px; - height: 3px; - margin-right: 3px; - margin-left: 3px; - text-indent: -999px; - cursor: pointer; - background-color: #fff; - background-clip: padding-box; - border-top: 10px solid transparent; - border-bottom: 10px solid transparent; - opacity: .5; - transition: opacity 0.6s ease; -} - -@media (prefers-reduced-motion: reduce) { - .carousel-indicators li { - transition: none; - } -} - -.carousel-indicators .active { - opacity: 1; -} - -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center; -} - -@-webkit-keyframes spinner-border { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -@keyframes spinner-border { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -.spinner-border { - display: inline-block; - width: 2rem; - height: 2rem; - vertical-align: text-bottom; - border: 0.25em solid currentColor; - border-right-color: transparent; - border-radius: 50%; - -webkit-animation: spinner-border .75s linear infinite; - animation: spinner-border .75s linear infinite; -} - -.spinner-border-sm { - width: 1rem; - height: 1rem; - border-width: 0.2em; -} - -@-webkit-keyframes spinner-grow { - 0% { - -webkit-transform: scale(0); - transform: scale(0); - } - 50% { - opacity: 1; - } -} - -@keyframes spinner-grow { - 0% { - -webkit-transform: scale(0); - transform: scale(0); - } - 50% { - opacity: 1; - } -} - -.spinner-grow { - display: inline-block; - width: 2rem; - height: 2rem; - vertical-align: text-bottom; - background-color: currentColor; - border-radius: 50%; - opacity: 0; - -webkit-animation: spinner-grow .75s linear infinite; - animation: spinner-grow .75s linear infinite; -} - -.spinner-grow-sm { - width: 1rem; - height: 1rem; -} - -.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; -} - -.bg-primary { - background-color: #007bff !important; -} - -a.bg-primary:hover, a.bg-primary:focus, -button.bg-primary:hover, -button.bg-primary:focus { - background-color: #0062cc !important; -} - -.bg-secondary { - background-color: #6c757d !important; -} - -a.bg-secondary:hover, a.bg-secondary:focus, -button.bg-secondary:hover, -button.bg-secondary:focus { - background-color: #545b62 !important; -} - -.bg-success { - background-color: #28a745 !important; -} - -a.bg-success:hover, a.bg-success:focus, -button.bg-success:hover, -button.bg-success:focus { - background-color: #1e7e34 !important; -} - -.bg-info { - background-color: #17a2b8 !important; -} - -a.bg-info:hover, a.bg-info:focus, -button.bg-info:hover, -button.bg-info:focus { - background-color: #117a8b !important; -} - -.bg-warning { - background-color: #ffc107 !important; -} - -a.bg-warning:hover, a.bg-warning:focus, -button.bg-warning:hover, -button.bg-warning:focus { - background-color: #d39e00 !important; -} - -.bg-danger { - background-color: #dc3545 !important; -} - -a.bg-danger:hover, a.bg-danger:focus, -button.bg-danger:hover, -button.bg-danger:focus { - background-color: #bd2130 !important; -} - -.bg-light { - background-color: #f8f9fa !important; -} - -a.bg-light:hover, a.bg-light:focus, -button.bg-light:hover, -button.bg-light:focus { - background-color: #dae0e5 !important; -} - -.bg-dark { - background-color: #343a40 !important; -} - -a.bg-dark:hover, a.bg-dark:focus, -button.bg-dark:hover, -button.bg-dark:focus { - background-color: #1d2124 !important; -} - -.bg-white { - background-color: #fff !important; -} - -.bg-transparent { - background-color: transparent !important; -} - -.border { - border: 1px solid #dee2e6 !important; -} - -.border-top { - border-top: 1px solid #dee2e6 !important; -} - -.border-right { - border-right: 1px solid #dee2e6 !important; -} - -.border-bottom { - border-bottom: 1px solid #dee2e6 !important; -} - -.border-left { - border-left: 1px solid #dee2e6 !important; -} - -.border-0 { - border: 0 !important; -} - -.border-top-0 { - border-top: 0 !important; -} - -.border-right-0 { - border-right: 0 !important; -} - -.border-bottom-0 { - border-bottom: 0 !important; -} - -.border-left-0 { - border-left: 0 !important; -} - -.border-primary { - border-color: #007bff !important; -} - -.border-secondary { - border-color: #6c757d !important; -} - -.border-success { - border-color: #28a745 !important; -} - -.border-info { - border-color: #17a2b8 !important; -} - -.border-warning { - border-color: #ffc107 !important; -} - -.border-danger { - border-color: #dc3545 !important; -} - -.border-light { - border-color: #f8f9fa !important; -} - -.border-dark { - border-color: #343a40 !important; -} - -.border-white { - border-color: #fff !important; -} - -.rounded-sm { - border-radius: 0.2rem !important; -} - -.rounded { - border-radius: 0.25rem !important; -} - -.rounded-top { - border-top-left-radius: 0.25rem !important; - border-top-right-radius: 0.25rem !important; -} - -.rounded-right { - border-top-right-radius: 0.25rem !important; - border-bottom-right-radius: 0.25rem !important; -} - -.rounded-bottom { - border-bottom-right-radius: 0.25rem !important; - border-bottom-left-radius: 0.25rem !important; -} - -.rounded-left { - border-top-left-radius: 0.25rem !important; - border-bottom-left-radius: 0.25rem !important; -} - -.rounded-lg { - border-radius: 0.3rem !important; -} - -.rounded-circle { - border-radius: 50% !important; -} - -.rounded-pill { - border-radius: 50rem !important; -} - -.rounded-0 { - border-radius: 0 !important; -} - -.clearfix::after { - display: block; - clear: both; - content: ""; -} - -.d-none { - display: none !important; -} - -.d-inline { - display: inline !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-block { - display: block !important; -} - -.d-table { - display: table !important; -} - -.d-table-row { - display: table-row !important; -} - -.d-table-cell { - display: table-cell !important; -} - -.d-flex { - display: -ms-flexbox !important; - display: flex !important; -} - -.d-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; -} - -@media (min-width: 576px) { - .d-sm-none { - display: none !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-block { - display: block !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: -ms-flexbox !important; - display: flex !important; - } - .d-sm-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 768px) { - .d-md-none { - display: none !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-block { - display: block !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: -ms-flexbox !important; - display: flex !important; - } - .d-md-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 992px) { - .d-lg-none { - display: none !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-block { - display: block !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: -ms-flexbox !important; - display: flex !important; - } - .d-lg-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 1200px) { - .d-xl-none { - display: none !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-block { - display: block !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: -ms-flexbox !important; - display: flex !important; - } - .d-xl-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media print { - .d-print-none { - display: none !important; - } - .d-print-inline { - display: inline !important; - } - .d-print-inline-block { - display: inline-block !important; - } - .d-print-block { - display: block !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: -ms-flexbox !important; - display: flex !important; - } - .d-print-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -.embed-responsive { - position: relative; - display: block; - width: 100%; - padding: 0; - overflow: hidden; -} - -.embed-responsive::before { - display: block; - content: ""; -} - -.embed-responsive .embed-responsive-item, -.embed-responsive iframe, -.embed-responsive embed, -.embed-responsive object, -.embed-responsive video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0; -} - -.embed-responsive-21by9::before { - padding-top: 42.857143%; -} - -.embed-responsive-16by9::before { - padding-top: 56.25%; -} - -.embed-responsive-4by3::before { - padding-top: 75%; -} - -.embed-responsive-1by1::before { - padding-top: 100%; -} - -.flex-row { - -ms-flex-direction: row !important; - flex-direction: row !important; -} - -.flex-column { - -ms-flex-direction: column !important; - flex-direction: column !important; -} - -.flex-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; -} - -.flex-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; -} - -.flex-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; -} - -.flex-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; -} - -.flex-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; -} - -.flex-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; -} - -.flex-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; -} - -.flex-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; -} - -.flex-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; -} - -.flex-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; -} - -.justify-content-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; -} - -.justify-content-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; -} - -.justify-content-center { - -ms-flex-pack: center !important; - justify-content: center !important; -} - -.justify-content-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; -} - -.justify-content-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; -} - -.align-items-start { - -ms-flex-align: start !important; - align-items: flex-start !important; -} - -.align-items-end { - -ms-flex-align: end !important; - align-items: flex-end !important; -} - -.align-items-center { - -ms-flex-align: center !important; - align-items: center !important; -} - -.align-items-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; -} - -.align-items-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; -} - -.align-content-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; -} - -.align-content-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; -} - -.align-content-center { - -ms-flex-line-pack: center !important; - align-content: center !important; -} - -.align-content-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; -} - -.align-content-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; -} - -.align-content-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; -} - -.align-self-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; -} - -.align-self-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; -} - -.align-self-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; -} - -.align-self-center { - -ms-flex-item-align: center !important; - align-self: center !important; -} - -.align-self-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; -} - -.align-self-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; -} - -@media (min-width: 576px) { - .flex-sm-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-sm-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-sm-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-sm-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-sm-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-sm-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-sm-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-sm-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-sm-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-sm-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-sm-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-sm-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-sm-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-sm-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-sm-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-sm-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-sm-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-sm-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-sm-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-sm-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-sm-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-sm-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-sm-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-sm-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-sm-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-sm-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-sm-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-sm-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-sm-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-sm-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-sm-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-sm-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-sm-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-sm-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 768px) { - .flex-md-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-md-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-md-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-md-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-md-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-md-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-md-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-md-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-md-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-md-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-md-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-md-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-md-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-md-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-md-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-md-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-md-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-md-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-md-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-md-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-md-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-md-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-md-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-md-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-md-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-md-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-md-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-md-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-md-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-md-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-md-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-md-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-md-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-md-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 992px) { - .flex-lg-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-lg-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-lg-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-lg-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-lg-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-lg-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-lg-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-lg-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-lg-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-lg-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-lg-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-lg-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-lg-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-lg-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-lg-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-lg-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-lg-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-lg-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-lg-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-lg-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-lg-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-lg-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-lg-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-lg-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-lg-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-lg-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-lg-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-lg-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-lg-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-lg-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-lg-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-lg-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-lg-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-lg-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 1200px) { - .flex-xl-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-xl-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-xl-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-xl-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-xl-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-xl-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-xl-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-xl-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-xl-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-xl-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-xl-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-xl-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-xl-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-xl-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-xl-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-xl-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-xl-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-xl-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-xl-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-xl-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-xl-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-xl-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-xl-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-xl-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-xl-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-xl-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-xl-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-xl-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-xl-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-xl-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-xl-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-xl-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-xl-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-xl-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -.float-left { - float: left !important; -} - -.float-right { - float: right !important; -} - -.float-none { - float: none !important; -} - -@media (min-width: 576px) { - .float-sm-left { - float: left !important; - } - .float-sm-right { - float: right !important; - } - .float-sm-none { - float: none !important; - } -} - -@media (min-width: 768px) { - .float-md-left { - float: left !important; - } - .float-md-right { - float: right !important; - } - .float-md-none { - float: none !important; - } -} - -@media (min-width: 992px) { - .float-lg-left { - float: left !important; - } - .float-lg-right { - float: right !important; - } - .float-lg-none { - float: none !important; - } -} - -@media (min-width: 1200px) { - .float-xl-left { - float: left !important; - } - .float-xl-right { - float: right !important; - } - .float-xl-none { - float: none !important; - } -} - -.overflow-auto { - overflow: auto !important; -} - -.overflow-hidden { - overflow: hidden !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; -} - -.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; -} - -@supports ((position: -webkit-sticky) or (position: sticky)) { - .sticky-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020; - } -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border: 0; -} - -.sr-only-focusable:active, .sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - overflow: visible; - clip: auto; - white-space: normal; -} - -.shadow-sm { - box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; -} - -.shadow { - box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; -} - -.shadow-lg { - box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; -} - -.shadow-none { - box-shadow: none !important; -} - -.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; -} - -.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; -} - -.mw-100 { - max-width: 100% !important; -} - -.mh-100 { - max-height: 100% !important; -} - -.min-vw-100 { - min-width: 100vw !important; -} - -.min-vh-100 { - min-height: 100vh !important; -} - -.vw-100 { - width: 100vw !important; -} - -.vh-100 { - height: 100vh !important; -} - -.stretched-link::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - pointer-events: auto; - content: ""; - background-color: rgba(0, 0, 0, 0); -} - -.m-0 { - margin: 0 !important; -} - -.mt-0, -.my-0 { - margin-top: 0 !important; -} - -.mr-0, -.mx-0 { - margin-right: 0 !important; -} - -.mb-0, -.my-0 { - margin-bottom: 0 !important; -} - -.ml-0, -.mx-0 { - margin-left: 0 !important; -} - -.m-1 { - margin: 0.25rem !important; -} - -.mt-1, -.my-1 { - margin-top: 0.25rem !important; -} - -.mr-1, -.mx-1 { - margin-right: 0.25rem !important; -} - -.mb-1, -.my-1 { - margin-bottom: 0.25rem !important; -} - -.ml-1, -.mx-1 { - margin-left: 0.25rem !important; -} - -.m-2 { - margin: 0.5rem !important; -} - -.mt-2, -.my-2 { - margin-top: 0.5rem !important; -} - -.mr-2, -.mx-2 { - margin-right: 0.5rem !important; -} - -.mb-2, -.my-2 { - margin-bottom: 0.5rem !important; -} - -.ml-2, -.mx-2 { - margin-left: 0.5rem !important; -} - -.m-3 { - margin: 1rem !important; -} - -.mt-3, -.my-3 { - margin-top: 1rem !important; -} - -.mr-3, -.mx-3 { - margin-right: 1rem !important; -} - -.mb-3, -.my-3 { - margin-bottom: 1rem !important; -} - -.ml-3, -.mx-3 { - margin-left: 1rem !important; -} - -.m-4 { - margin: 1.5rem !important; -} - -.mt-4, -.my-4 { - margin-top: 1.5rem !important; -} - -.mr-4, -.mx-4 { - margin-right: 1.5rem !important; -} - -.mb-4, -.my-4 { - margin-bottom: 1.5rem !important; -} - -.ml-4, -.mx-4 { - margin-left: 1.5rem !important; -} - -.m-5 { - margin: 3rem !important; -} - -.mt-5, -.my-5 { - margin-top: 3rem !important; -} - -.mr-5, -.mx-5 { - margin-right: 3rem !important; -} - -.mb-5, -.my-5 { - margin-bottom: 3rem !important; -} - -.ml-5, -.mx-5 { - margin-left: 3rem !important; -} - -.p-0 { - padding: 0 !important; -} - -.pt-0, -.py-0 { - padding-top: 0 !important; -} - -.pr-0, -.px-0 { - padding-right: 0 !important; -} - -.pb-0, -.py-0 { - padding-bottom: 0 !important; -} - -.pl-0, -.px-0 { - padding-left: 0 !important; -} - -.p-1 { - padding: 0.25rem !important; -} - -.pt-1, -.py-1 { - padding-top: 0.25rem !important; -} - -.pr-1, -.px-1 { - padding-right: 0.25rem !important; -} - -.pb-1, -.py-1 { - padding-bottom: 0.25rem !important; -} - -.pl-1, -.px-1 { - padding-left: 0.25rem !important; -} - -.p-2 { - padding: 0.5rem !important; -} - -.pt-2, -.py-2 { - padding-top: 0.5rem !important; -} - -.pr-2, -.px-2 { - padding-right: 0.5rem !important; -} - -.pb-2, -.py-2 { - padding-bottom: 0.5rem !important; -} - -.pl-2, -.px-2 { - padding-left: 0.5rem !important; -} - -.p-3 { - padding: 1rem !important; -} - -.pt-3, -.py-3 { - padding-top: 1rem !important; -} - -.pr-3, -.px-3 { - padding-right: 1rem !important; -} - -.pb-3, -.py-3 { - padding-bottom: 1rem !important; -} - -.pl-3, -.px-3 { - padding-left: 1rem !important; -} - -.p-4 { - padding: 1.5rem !important; -} - -.pt-4, -.py-4 { - padding-top: 1.5rem !important; -} - -.pr-4, -.px-4 { - padding-right: 1.5rem !important; -} - -.pb-4, -.py-4 { - padding-bottom: 1.5rem !important; -} - -.pl-4, -.px-4 { - padding-left: 1.5rem !important; -} - -.p-5 { - padding: 3rem !important; -} - -.pt-5, -.py-5 { - padding-top: 3rem !important; -} - -.pr-5, -.px-5 { - padding-right: 3rem !important; -} - -.pb-5, -.py-5 { - padding-bottom: 3rem !important; -} - -.pl-5, -.px-5 { - padding-left: 3rem !important; -} - -.m-n1 { - margin: -0.25rem !important; -} - -.mt-n1, -.my-n1 { - margin-top: -0.25rem !important; -} - -.mr-n1, -.mx-n1 { - margin-right: -0.25rem !important; -} - -.mb-n1, -.my-n1 { - margin-bottom: -0.25rem !important; -} - -.ml-n1, -.mx-n1 { - margin-left: -0.25rem !important; -} - -.m-n2 { - margin: -0.5rem !important; -} - -.mt-n2, -.my-n2 { - margin-top: -0.5rem !important; -} - -.mr-n2, -.mx-n2 { - margin-right: -0.5rem !important; -} - -.mb-n2, -.my-n2 { - margin-bottom: -0.5rem !important; -} - -.ml-n2, -.mx-n2 { - margin-left: -0.5rem !important; -} - -.m-n3 { - margin: -1rem !important; -} - -.mt-n3, -.my-n3 { - margin-top: -1rem !important; -} - -.mr-n3, -.mx-n3 { - margin-right: -1rem !important; -} - -.mb-n3, -.my-n3 { - margin-bottom: -1rem !important; -} - -.ml-n3, -.mx-n3 { - margin-left: -1rem !important; -} - -.m-n4 { - margin: -1.5rem !important; -} - -.mt-n4, -.my-n4 { - margin-top: -1.5rem !important; -} - -.mr-n4, -.mx-n4 { - margin-right: -1.5rem !important; -} - -.mb-n4, -.my-n4 { - margin-bottom: -1.5rem !important; -} - -.ml-n4, -.mx-n4 { - margin-left: -1.5rem !important; -} - -.m-n5 { - margin: -3rem !important; -} - -.mt-n5, -.my-n5 { - margin-top: -3rem !important; -} - -.mr-n5, -.mx-n5 { - margin-right: -3rem !important; -} - -.mb-n5, -.my-n5 { - margin-bottom: -3rem !important; -} - -.ml-n5, -.mx-n5 { - margin-left: -3rem !important; -} - -.m-auto { - margin: auto !important; -} - -.mt-auto, -.my-auto { - margin-top: auto !important; -} - -.mr-auto, -.mx-auto { - margin-right: auto !important; -} - -.mb-auto, -.my-auto { - margin-bottom: auto !important; -} - -.ml-auto, -.mx-auto { - margin-left: auto !important; -} - -@media (min-width: 576px) { - .m-sm-0 { - margin: 0 !important; - } - .mt-sm-0, - .my-sm-0 { - margin-top: 0 !important; - } - .mr-sm-0, - .mx-sm-0 { - margin-right: 0 !important; - } - .mb-sm-0, - .my-sm-0 { - margin-bottom: 0 !important; - } - .ml-sm-0, - .mx-sm-0 { - margin-left: 0 !important; - } - .m-sm-1 { - margin: 0.25rem !important; - } - .mt-sm-1, - .my-sm-1 { - margin-top: 0.25rem !important; - } - .mr-sm-1, - .mx-sm-1 { - margin-right: 0.25rem !important; - } - .mb-sm-1, - .my-sm-1 { - margin-bottom: 0.25rem !important; - } - .ml-sm-1, - .mx-sm-1 { - margin-left: 0.25rem !important; - } - .m-sm-2 { - margin: 0.5rem !important; - } - .mt-sm-2, - .my-sm-2 { - margin-top: 0.5rem !important; - } - .mr-sm-2, - .mx-sm-2 { - margin-right: 0.5rem !important; - } - .mb-sm-2, - .my-sm-2 { - margin-bottom: 0.5rem !important; - } - .ml-sm-2, - .mx-sm-2 { - margin-left: 0.5rem !important; - } - .m-sm-3 { - margin: 1rem !important; - } - .mt-sm-3, - .my-sm-3 { - margin-top: 1rem !important; - } - .mr-sm-3, - .mx-sm-3 { - margin-right: 1rem !important; - } - .mb-sm-3, - .my-sm-3 { - margin-bottom: 1rem !important; - } - .ml-sm-3, - .mx-sm-3 { - margin-left: 1rem !important; - } - .m-sm-4 { - margin: 1.5rem !important; - } - .mt-sm-4, - .my-sm-4 { - margin-top: 1.5rem !important; - } - .mr-sm-4, - .mx-sm-4 { - margin-right: 1.5rem !important; - } - .mb-sm-4, - .my-sm-4 { - margin-bottom: 1.5rem !important; - } - .ml-sm-4, - .mx-sm-4 { - margin-left: 1.5rem !important; - } - .m-sm-5 { - margin: 3rem !important; - } - .mt-sm-5, - .my-sm-5 { - margin-top: 3rem !important; - } - .mr-sm-5, - .mx-sm-5 { - margin-right: 3rem !important; - } - .mb-sm-5, - .my-sm-5 { - margin-bottom: 3rem !important; - } - .ml-sm-5, - .mx-sm-5 { - margin-left: 3rem !important; - } - .p-sm-0 { - padding: 0 !important; - } - .pt-sm-0, - .py-sm-0 { - padding-top: 0 !important; - } - .pr-sm-0, - .px-sm-0 { - padding-right: 0 !important; - } - .pb-sm-0, - .py-sm-0 { - padding-bottom: 0 !important; - } - .pl-sm-0, - .px-sm-0 { - padding-left: 0 !important; - } - .p-sm-1 { - padding: 0.25rem !important; - } - .pt-sm-1, - .py-sm-1 { - padding-top: 0.25rem !important; - } - .pr-sm-1, - .px-sm-1 { - padding-right: 0.25rem !important; - } - .pb-sm-1, - .py-sm-1 { - padding-bottom: 0.25rem !important; - } - .pl-sm-1, - .px-sm-1 { - padding-left: 0.25rem !important; - } - .p-sm-2 { - padding: 0.5rem !important; - } - .pt-sm-2, - .py-sm-2 { - padding-top: 0.5rem !important; - } - .pr-sm-2, - .px-sm-2 { - padding-right: 0.5rem !important; - } - .pb-sm-2, - .py-sm-2 { - padding-bottom: 0.5rem !important; - } - .pl-sm-2, - .px-sm-2 { - padding-left: 0.5rem !important; - } - .p-sm-3 { - padding: 1rem !important; - } - .pt-sm-3, - .py-sm-3 { - padding-top: 1rem !important; - } - .pr-sm-3, - .px-sm-3 { - padding-right: 1rem !important; - } - .pb-sm-3, - .py-sm-3 { - padding-bottom: 1rem !important; - } - .pl-sm-3, - .px-sm-3 { - padding-left: 1rem !important; - } - .p-sm-4 { - padding: 1.5rem !important; - } - .pt-sm-4, - .py-sm-4 { - padding-top: 1.5rem !important; - } - .pr-sm-4, - .px-sm-4 { - padding-right: 1.5rem !important; - } - .pb-sm-4, - .py-sm-4 { - padding-bottom: 1.5rem !important; - } - .pl-sm-4, - .px-sm-4 { - padding-left: 1.5rem !important; - } - .p-sm-5 { - padding: 3rem !important; - } - .pt-sm-5, - .py-sm-5 { - padding-top: 3rem !important; - } - .pr-sm-5, - .px-sm-5 { - padding-right: 3rem !important; - } - .pb-sm-5, - .py-sm-5 { - padding-bottom: 3rem !important; - } - .pl-sm-5, - .px-sm-5 { - padding-left: 3rem !important; - } - .m-sm-n1 { - margin: -0.25rem !important; - } - .mt-sm-n1, - .my-sm-n1 { - margin-top: -0.25rem !important; - } - .mr-sm-n1, - .mx-sm-n1 { - margin-right: -0.25rem !important; - } - .mb-sm-n1, - .my-sm-n1 { - margin-bottom: -0.25rem !important; - } - .ml-sm-n1, - .mx-sm-n1 { - margin-left: -0.25rem !important; - } - .m-sm-n2 { - margin: -0.5rem !important; - } - .mt-sm-n2, - .my-sm-n2 { - margin-top: -0.5rem !important; - } - .mr-sm-n2, - .mx-sm-n2 { - margin-right: -0.5rem !important; - } - .mb-sm-n2, - .my-sm-n2 { - margin-bottom: -0.5rem !important; - } - .ml-sm-n2, - .mx-sm-n2 { - margin-left: -0.5rem !important; - } - .m-sm-n3 { - margin: -1rem !important; - } - .mt-sm-n3, - .my-sm-n3 { - margin-top: -1rem !important; - } - .mr-sm-n3, - .mx-sm-n3 { - margin-right: -1rem !important; - } - .mb-sm-n3, - .my-sm-n3 { - margin-bottom: -1rem !important; - } - .ml-sm-n3, - .mx-sm-n3 { - margin-left: -1rem !important; - } - .m-sm-n4 { - margin: -1.5rem !important; - } - .mt-sm-n4, - .my-sm-n4 { - margin-top: -1.5rem !important; - } - .mr-sm-n4, - .mx-sm-n4 { - margin-right: -1.5rem !important; - } - .mb-sm-n4, - .my-sm-n4 { - margin-bottom: -1.5rem !important; - } - .ml-sm-n4, - .mx-sm-n4 { - margin-left: -1.5rem !important; - } - .m-sm-n5 { - margin: -3rem !important; - } - .mt-sm-n5, - .my-sm-n5 { - margin-top: -3rem !important; - } - .mr-sm-n5, - .mx-sm-n5 { - margin-right: -3rem !important; - } - .mb-sm-n5, - .my-sm-n5 { - margin-bottom: -3rem !important; - } - .ml-sm-n5, - .mx-sm-n5 { - margin-left: -3rem !important; - } - .m-sm-auto { - margin: auto !important; - } - .mt-sm-auto, - .my-sm-auto { - margin-top: auto !important; - } - .mr-sm-auto, - .mx-sm-auto { - margin-right: auto !important; - } - .mb-sm-auto, - .my-sm-auto { - margin-bottom: auto !important; - } - .ml-sm-auto, - .mx-sm-auto { - margin-left: auto !important; - } -} - -@media (min-width: 768px) { - .m-md-0 { - margin: 0 !important; - } - .mt-md-0, - .my-md-0 { - margin-top: 0 !important; - } - .mr-md-0, - .mx-md-0 { - margin-right: 0 !important; - } - .mb-md-0, - .my-md-0 { - margin-bottom: 0 !important; - } - .ml-md-0, - .mx-md-0 { - margin-left: 0 !important; - } - .m-md-1 { - margin: 0.25rem !important; - } - .mt-md-1, - .my-md-1 { - margin-top: 0.25rem !important; - } - .mr-md-1, - .mx-md-1 { - margin-right: 0.25rem !important; - } - .mb-md-1, - .my-md-1 { - margin-bottom: 0.25rem !important; - } - .ml-md-1, - .mx-md-1 { - margin-left: 0.25rem !important; - } - .m-md-2 { - margin: 0.5rem !important; - } - .mt-md-2, - .my-md-2 { - margin-top: 0.5rem !important; - } - .mr-md-2, - .mx-md-2 { - margin-right: 0.5rem !important; - } - .mb-md-2, - .my-md-2 { - margin-bottom: 0.5rem !important; - } - .ml-md-2, - .mx-md-2 { - margin-left: 0.5rem !important; - } - .m-md-3 { - margin: 1rem !important; - } - .mt-md-3, - .my-md-3 { - margin-top: 1rem !important; - } - .mr-md-3, - .mx-md-3 { - margin-right: 1rem !important; - } - .mb-md-3, - .my-md-3 { - margin-bottom: 1rem !important; - } - .ml-md-3, - .mx-md-3 { - margin-left: 1rem !important; - } - .m-md-4 { - margin: 1.5rem !important; - } - .mt-md-4, - .my-md-4 { - margin-top: 1.5rem !important; - } - .mr-md-4, - .mx-md-4 { - margin-right: 1.5rem !important; - } - .mb-md-4, - .my-md-4 { - margin-bottom: 1.5rem !important; - } - .ml-md-4, - .mx-md-4 { - margin-left: 1.5rem !important; - } - .m-md-5 { - margin: 3rem !important; - } - .mt-md-5, - .my-md-5 { - margin-top: 3rem !important; - } - .mr-md-5, - .mx-md-5 { - margin-right: 3rem !important; - } - .mb-md-5, - .my-md-5 { - margin-bottom: 3rem !important; - } - .ml-md-5, - .mx-md-5 { - margin-left: 3rem !important; - } - .p-md-0 { - padding: 0 !important; - } - .pt-md-0, - .py-md-0 { - padding-top: 0 !important; - } - .pr-md-0, - .px-md-0 { - padding-right: 0 !important; - } - .pb-md-0, - .py-md-0 { - padding-bottom: 0 !important; - } - .pl-md-0, - .px-md-0 { - padding-left: 0 !important; - } - .p-md-1 { - padding: 0.25rem !important; - } - .pt-md-1, - .py-md-1 { - padding-top: 0.25rem !important; - } - .pr-md-1, - .px-md-1 { - padding-right: 0.25rem !important; - } - .pb-md-1, - .py-md-1 { - padding-bottom: 0.25rem !important; - } - .pl-md-1, - .px-md-1 { - padding-left: 0.25rem !important; - } - .p-md-2 { - padding: 0.5rem !important; - } - .pt-md-2, - .py-md-2 { - padding-top: 0.5rem !important; - } - .pr-md-2, - .px-md-2 { - padding-right: 0.5rem !important; - } - .pb-md-2, - .py-md-2 { - padding-bottom: 0.5rem !important; - } - .pl-md-2, - .px-md-2 { - padding-left: 0.5rem !important; - } - .p-md-3 { - padding: 1rem !important; - } - .pt-md-3, - .py-md-3 { - padding-top: 1rem !important; - } - .pr-md-3, - .px-md-3 { - padding-right: 1rem !important; - } - .pb-md-3, - .py-md-3 { - padding-bottom: 1rem !important; - } - .pl-md-3, - .px-md-3 { - padding-left: 1rem !important; - } - .p-md-4 { - padding: 1.5rem !important; - } - .pt-md-4, - .py-md-4 { - padding-top: 1.5rem !important; - } - .pr-md-4, - .px-md-4 { - padding-right: 1.5rem !important; - } - .pb-md-4, - .py-md-4 { - padding-bottom: 1.5rem !important; - } - .pl-md-4, - .px-md-4 { - padding-left: 1.5rem !important; - } - .p-md-5 { - padding: 3rem !important; - } - .pt-md-5, - .py-md-5 { - padding-top: 3rem !important; - } - .pr-md-5, - .px-md-5 { - padding-right: 3rem !important; - } - .pb-md-5, - .py-md-5 { - padding-bottom: 3rem !important; - } - .pl-md-5, - .px-md-5 { - padding-left: 3rem !important; - } - .m-md-n1 { - margin: -0.25rem !important; - } - .mt-md-n1, - .my-md-n1 { - margin-top: -0.25rem !important; - } - .mr-md-n1, - .mx-md-n1 { - margin-right: -0.25rem !important; - } - .mb-md-n1, - .my-md-n1 { - margin-bottom: -0.25rem !important; - } - .ml-md-n1, - .mx-md-n1 { - margin-left: -0.25rem !important; - } - .m-md-n2 { - margin: -0.5rem !important; - } - .mt-md-n2, - .my-md-n2 { - margin-top: -0.5rem !important; - } - .mr-md-n2, - .mx-md-n2 { - margin-right: -0.5rem !important; - } - .mb-md-n2, - .my-md-n2 { - margin-bottom: -0.5rem !important; - } - .ml-md-n2, - .mx-md-n2 { - margin-left: -0.5rem !important; - } - .m-md-n3 { - margin: -1rem !important; - } - .mt-md-n3, - .my-md-n3 { - margin-top: -1rem !important; - } - .mr-md-n3, - .mx-md-n3 { - margin-right: -1rem !important; - } - .mb-md-n3, - .my-md-n3 { - margin-bottom: -1rem !important; - } - .ml-md-n3, - .mx-md-n3 { - margin-left: -1rem !important; - } - .m-md-n4 { - margin: -1.5rem !important; - } - .mt-md-n4, - .my-md-n4 { - margin-top: -1.5rem !important; - } - .mr-md-n4, - .mx-md-n4 { - margin-right: -1.5rem !important; - } - .mb-md-n4, - .my-md-n4 { - margin-bottom: -1.5rem !important; - } - .ml-md-n4, - .mx-md-n4 { - margin-left: -1.5rem !important; - } - .m-md-n5 { - margin: -3rem !important; - } - .mt-md-n5, - .my-md-n5 { - margin-top: -3rem !important; - } - .mr-md-n5, - .mx-md-n5 { - margin-right: -3rem !important; - } - .mb-md-n5, - .my-md-n5 { - margin-bottom: -3rem !important; - } - .ml-md-n5, - .mx-md-n5 { - margin-left: -3rem !important; - } - .m-md-auto { - margin: auto !important; - } - .mt-md-auto, - .my-md-auto { - margin-top: auto !important; - } - .mr-md-auto, - .mx-md-auto { - margin-right: auto !important; - } - .mb-md-auto, - .my-md-auto { - margin-bottom: auto !important; - } - .ml-md-auto, - .mx-md-auto { - margin-left: auto !important; - } -} - -@media (min-width: 992px) { - .m-lg-0 { - margin: 0 !important; - } - .mt-lg-0, - .my-lg-0 { - margin-top: 0 !important; - } - .mr-lg-0, - .mx-lg-0 { - margin-right: 0 !important; - } - .mb-lg-0, - .my-lg-0 { - margin-bottom: 0 !important; - } - .ml-lg-0, - .mx-lg-0 { - margin-left: 0 !important; - } - .m-lg-1 { - margin: 0.25rem !important; - } - .mt-lg-1, - .my-lg-1 { - margin-top: 0.25rem !important; - } - .mr-lg-1, - .mx-lg-1 { - margin-right: 0.25rem !important; - } - .mb-lg-1, - .my-lg-1 { - margin-bottom: 0.25rem !important; - } - .ml-lg-1, - .mx-lg-1 { - margin-left: 0.25rem !important; - } - .m-lg-2 { - margin: 0.5rem !important; - } - .mt-lg-2, - .my-lg-2 { - margin-top: 0.5rem !important; - } - .mr-lg-2, - .mx-lg-2 { - margin-right: 0.5rem !important; - } - .mb-lg-2, - .my-lg-2 { - margin-bottom: 0.5rem !important; - } - .ml-lg-2, - .mx-lg-2 { - margin-left: 0.5rem !important; - } - .m-lg-3 { - margin: 1rem !important; - } - .mt-lg-3, - .my-lg-3 { - margin-top: 1rem !important; - } - .mr-lg-3, - .mx-lg-3 { - margin-right: 1rem !important; - } - .mb-lg-3, - .my-lg-3 { - margin-bottom: 1rem !important; - } - .ml-lg-3, - .mx-lg-3 { - margin-left: 1rem !important; - } - .m-lg-4 { - margin: 1.5rem !important; - } - .mt-lg-4, - .my-lg-4 { - margin-top: 1.5rem !important; - } - .mr-lg-4, - .mx-lg-4 { - margin-right: 1.5rem !important; - } - .mb-lg-4, - .my-lg-4 { - margin-bottom: 1.5rem !important; - } - .ml-lg-4, - .mx-lg-4 { - margin-left: 1.5rem !important; - } - .m-lg-5 { - margin: 3rem !important; - } - .mt-lg-5, - .my-lg-5 { - margin-top: 3rem !important; - } - .mr-lg-5, - .mx-lg-5 { - margin-right: 3rem !important; - } - .mb-lg-5, - .my-lg-5 { - margin-bottom: 3rem !important; - } - .ml-lg-5, - .mx-lg-5 { - margin-left: 3rem !important; - } - .p-lg-0 { - padding: 0 !important; - } - .pt-lg-0, - .py-lg-0 { - padding-top: 0 !important; - } - .pr-lg-0, - .px-lg-0 { - padding-right: 0 !important; - } - .pb-lg-0, - .py-lg-0 { - padding-bottom: 0 !important; - } - .pl-lg-0, - .px-lg-0 { - padding-left: 0 !important; - } - .p-lg-1 { - padding: 0.25rem !important; - } - .pt-lg-1, - .py-lg-1 { - padding-top: 0.25rem !important; - } - .pr-lg-1, - .px-lg-1 { - padding-right: 0.25rem !important; - } - .pb-lg-1, - .py-lg-1 { - padding-bottom: 0.25rem !important; - } - .pl-lg-1, - .px-lg-1 { - padding-left: 0.25rem !important; - } - .p-lg-2 { - padding: 0.5rem !important; - } - .pt-lg-2, - .py-lg-2 { - padding-top: 0.5rem !important; - } - .pr-lg-2, - .px-lg-2 { - padding-right: 0.5rem !important; - } - .pb-lg-2, - .py-lg-2 { - padding-bottom: 0.5rem !important; - } - .pl-lg-2, - .px-lg-2 { - padding-left: 0.5rem !important; - } - .p-lg-3 { - padding: 1rem !important; - } - .pt-lg-3, - .py-lg-3 { - padding-top: 1rem !important; - } - .pr-lg-3, - .px-lg-3 { - padding-right: 1rem !important; - } - .pb-lg-3, - .py-lg-3 { - padding-bottom: 1rem !important; - } - .pl-lg-3, - .px-lg-3 { - padding-left: 1rem !important; - } - .p-lg-4 { - padding: 1.5rem !important; - } - .pt-lg-4, - .py-lg-4 { - padding-top: 1.5rem !important; - } - .pr-lg-4, - .px-lg-4 { - padding-right: 1.5rem !important; - } - .pb-lg-4, - .py-lg-4 { - padding-bottom: 1.5rem !important; - } - .pl-lg-4, - .px-lg-4 { - padding-left: 1.5rem !important; - } - .p-lg-5 { - padding: 3rem !important; - } - .pt-lg-5, - .py-lg-5 { - padding-top: 3rem !important; - } - .pr-lg-5, - .px-lg-5 { - padding-right: 3rem !important; - } - .pb-lg-5, - .py-lg-5 { - padding-bottom: 3rem !important; - } - .pl-lg-5, - .px-lg-5 { - padding-left: 3rem !important; - } - .m-lg-n1 { - margin: -0.25rem !important; - } - .mt-lg-n1, - .my-lg-n1 { - margin-top: -0.25rem !important; - } - .mr-lg-n1, - .mx-lg-n1 { - margin-right: -0.25rem !important; - } - .mb-lg-n1, - .my-lg-n1 { - margin-bottom: -0.25rem !important; - } - .ml-lg-n1, - .mx-lg-n1 { - margin-left: -0.25rem !important; - } - .m-lg-n2 { - margin: -0.5rem !important; - } - .mt-lg-n2, - .my-lg-n2 { - margin-top: -0.5rem !important; - } - .mr-lg-n2, - .mx-lg-n2 { - margin-right: -0.5rem !important; - } - .mb-lg-n2, - .my-lg-n2 { - margin-bottom: -0.5rem !important; - } - .ml-lg-n2, - .mx-lg-n2 { - margin-left: -0.5rem !important; - } - .m-lg-n3 { - margin: -1rem !important; - } - .mt-lg-n3, - .my-lg-n3 { - margin-top: -1rem !important; - } - .mr-lg-n3, - .mx-lg-n3 { - margin-right: -1rem !important; - } - .mb-lg-n3, - .my-lg-n3 { - margin-bottom: -1rem !important; - } - .ml-lg-n3, - .mx-lg-n3 { - margin-left: -1rem !important; - } - .m-lg-n4 { - margin: -1.5rem !important; - } - .mt-lg-n4, - .my-lg-n4 { - margin-top: -1.5rem !important; - } - .mr-lg-n4, - .mx-lg-n4 { - margin-right: -1.5rem !important; - } - .mb-lg-n4, - .my-lg-n4 { - margin-bottom: -1.5rem !important; - } - .ml-lg-n4, - .mx-lg-n4 { - margin-left: -1.5rem !important; - } - .m-lg-n5 { - margin: -3rem !important; - } - .mt-lg-n5, - .my-lg-n5 { - margin-top: -3rem !important; - } - .mr-lg-n5, - .mx-lg-n5 { - margin-right: -3rem !important; - } - .mb-lg-n5, - .my-lg-n5 { - margin-bottom: -3rem !important; - } - .ml-lg-n5, - .mx-lg-n5 { - margin-left: -3rem !important; - } - .m-lg-auto { - margin: auto !important; - } - .mt-lg-auto, - .my-lg-auto { - margin-top: auto !important; - } - .mr-lg-auto, - .mx-lg-auto { - margin-right: auto !important; - } - .mb-lg-auto, - .my-lg-auto { - margin-bottom: auto !important; - } - .ml-lg-auto, - .mx-lg-auto { - margin-left: auto !important; - } -} - -@media (min-width: 1200px) { - .m-xl-0 { - margin: 0 !important; - } - .mt-xl-0, - .my-xl-0 { - margin-top: 0 !important; - } - .mr-xl-0, - .mx-xl-0 { - margin-right: 0 !important; - } - .mb-xl-0, - .my-xl-0 { - margin-bottom: 0 !important; - } - .ml-xl-0, - .mx-xl-0 { - margin-left: 0 !important; - } - .m-xl-1 { - margin: 0.25rem !important; - } - .mt-xl-1, - .my-xl-1 { - margin-top: 0.25rem !important; - } - .mr-xl-1, - .mx-xl-1 { - margin-right: 0.25rem !important; - } - .mb-xl-1, - .my-xl-1 { - margin-bottom: 0.25rem !important; - } - .ml-xl-1, - .mx-xl-1 { - margin-left: 0.25rem !important; - } - .m-xl-2 { - margin: 0.5rem !important; - } - .mt-xl-2, - .my-xl-2 { - margin-top: 0.5rem !important; - } - .mr-xl-2, - .mx-xl-2 { - margin-right: 0.5rem !important; - } - .mb-xl-2, - .my-xl-2 { - margin-bottom: 0.5rem !important; - } - .ml-xl-2, - .mx-xl-2 { - margin-left: 0.5rem !important; - } - .m-xl-3 { - margin: 1rem !important; - } - .mt-xl-3, - .my-xl-3 { - margin-top: 1rem !important; - } - .mr-xl-3, - .mx-xl-3 { - margin-right: 1rem !important; - } - .mb-xl-3, - .my-xl-3 { - margin-bottom: 1rem !important; - } - .ml-xl-3, - .mx-xl-3 { - margin-left: 1rem !important; - } - .m-xl-4 { - margin: 1.5rem !important; - } - .mt-xl-4, - .my-xl-4 { - margin-top: 1.5rem !important; - } - .mr-xl-4, - .mx-xl-4 { - margin-right: 1.5rem !important; - } - .mb-xl-4, - .my-xl-4 { - margin-bottom: 1.5rem !important; - } - .ml-xl-4, - .mx-xl-4 { - margin-left: 1.5rem !important; - } - .m-xl-5 { - margin: 3rem !important; - } - .mt-xl-5, - .my-xl-5 { - margin-top: 3rem !important; - } - .mr-xl-5, - .mx-xl-5 { - margin-right: 3rem !important; - } - .mb-xl-5, - .my-xl-5 { - margin-bottom: 3rem !important; - } - .ml-xl-5, - .mx-xl-5 { - margin-left: 3rem !important; - } - .p-xl-0 { - padding: 0 !important; - } - .pt-xl-0, - .py-xl-0 { - padding-top: 0 !important; - } - .pr-xl-0, - .px-xl-0 { - padding-right: 0 !important; - } - .pb-xl-0, - .py-xl-0 { - padding-bottom: 0 !important; - } - .pl-xl-0, - .px-xl-0 { - padding-left: 0 !important; - } - .p-xl-1 { - padding: 0.25rem !important; - } - .pt-xl-1, - .py-xl-1 { - padding-top: 0.25rem !important; - } - .pr-xl-1, - .px-xl-1 { - padding-right: 0.25rem !important; - } - .pb-xl-1, - .py-xl-1 { - padding-bottom: 0.25rem !important; - } - .pl-xl-1, - .px-xl-1 { - padding-left: 0.25rem !important; - } - .p-xl-2 { - padding: 0.5rem !important; - } - .pt-xl-2, - .py-xl-2 { - padding-top: 0.5rem !important; - } - .pr-xl-2, - .px-xl-2 { - padding-right: 0.5rem !important; - } - .pb-xl-2, - .py-xl-2 { - padding-bottom: 0.5rem !important; - } - .pl-xl-2, - .px-xl-2 { - padding-left: 0.5rem !important; - } - .p-xl-3 { - padding: 1rem !important; - } - .pt-xl-3, - .py-xl-3 { - padding-top: 1rem !important; - } - .pr-xl-3, - .px-xl-3 { - padding-right: 1rem !important; - } - .pb-xl-3, - .py-xl-3 { - padding-bottom: 1rem !important; - } - .pl-xl-3, - .px-xl-3 { - padding-left: 1rem !important; - } - .p-xl-4 { - padding: 1.5rem !important; - } - .pt-xl-4, - .py-xl-4 { - padding-top: 1.5rem !important; - } - .pr-xl-4, - .px-xl-4 { - padding-right: 1.5rem !important; - } - .pb-xl-4, - .py-xl-4 { - padding-bottom: 1.5rem !important; - } - .pl-xl-4, - .px-xl-4 { - padding-left: 1.5rem !important; - } - .p-xl-5 { - padding: 3rem !important; - } - .pt-xl-5, - .py-xl-5 { - padding-top: 3rem !important; - } - .pr-xl-5, - .px-xl-5 { - padding-right: 3rem !important; - } - .pb-xl-5, - .py-xl-5 { - padding-bottom: 3rem !important; - } - .pl-xl-5, - .px-xl-5 { - padding-left: 3rem !important; - } - .m-xl-n1 { - margin: -0.25rem !important; - } - .mt-xl-n1, - .my-xl-n1 { - margin-top: -0.25rem !important; - } - .mr-xl-n1, - .mx-xl-n1 { - margin-right: -0.25rem !important; - } - .mb-xl-n1, - .my-xl-n1 { - margin-bottom: -0.25rem !important; - } - .ml-xl-n1, - .mx-xl-n1 { - margin-left: -0.25rem !important; - } - .m-xl-n2 { - margin: -0.5rem !important; - } - .mt-xl-n2, - .my-xl-n2 { - margin-top: -0.5rem !important; - } - .mr-xl-n2, - .mx-xl-n2 { - margin-right: -0.5rem !important; - } - .mb-xl-n2, - .my-xl-n2 { - margin-bottom: -0.5rem !important; - } - .ml-xl-n2, - .mx-xl-n2 { - margin-left: -0.5rem !important; - } - .m-xl-n3 { - margin: -1rem !important; - } - .mt-xl-n3, - .my-xl-n3 { - margin-top: -1rem !important; - } - .mr-xl-n3, - .mx-xl-n3 { - margin-right: -1rem !important; - } - .mb-xl-n3, - .my-xl-n3 { - margin-bottom: -1rem !important; - } - .ml-xl-n3, - .mx-xl-n3 { - margin-left: -1rem !important; - } - .m-xl-n4 { - margin: -1.5rem !important; - } - .mt-xl-n4, - .my-xl-n4 { - margin-top: -1.5rem !important; - } - .mr-xl-n4, - .mx-xl-n4 { - margin-right: -1.5rem !important; - } - .mb-xl-n4, - .my-xl-n4 { - margin-bottom: -1.5rem !important; - } - .ml-xl-n4, - .mx-xl-n4 { - margin-left: -1.5rem !important; - } - .m-xl-n5 { - margin: -3rem !important; - } - .mt-xl-n5, - .my-xl-n5 { - margin-top: -3rem !important; - } - .mr-xl-n5, - .mx-xl-n5 { - margin-right: -3rem !important; - } - .mb-xl-n5, - .my-xl-n5 { - margin-bottom: -3rem !important; - } - .ml-xl-n5, - .mx-xl-n5 { - margin-left: -3rem !important; - } - .m-xl-auto { - margin: auto !important; - } - .mt-xl-auto, - .my-xl-auto { - margin-top: auto !important; - } - .mr-xl-auto, - .mx-xl-auto { - margin-right: auto !important; - } - .mb-xl-auto, - .my-xl-auto { - margin-bottom: auto !important; - } - .ml-xl-auto, - .mx-xl-auto { - margin-left: auto !important; - } -} - -.text-monospace { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; -} - -.text-justify { - text-align: justify !important; -} - -.text-wrap { - white-space: normal !important; -} - -.text-nowrap { - white-space: nowrap !important; -} - -.text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.text-left { - text-align: left !important; -} - -.text-right { - text-align: right !important; -} - -.text-center { - text-align: center !important; -} - -@media (min-width: 576px) { - .text-sm-left { - text-align: left !important; - } - .text-sm-right { - text-align: right !important; - } - .text-sm-center { - text-align: center !important; - } -} - -@media (min-width: 768px) { - .text-md-left { - text-align: left !important; - } - .text-md-right { - text-align: right !important; - } - .text-md-center { - text-align: center !important; - } -} - -@media (min-width: 992px) { - .text-lg-left { - text-align: left !important; - } - .text-lg-right { - text-align: right !important; - } - .text-lg-center { - text-align: center !important; - } -} - -@media (min-width: 1200px) { - .text-xl-left { - text-align: left !important; - } - .text-xl-right { - text-align: right !important; - } - .text-xl-center { - text-align: center !important; - } -} - -.text-lowercase { - text-transform: lowercase !important; -} - -.text-uppercase { - text-transform: uppercase !important; -} - -.text-capitalize { - text-transform: capitalize !important; -} - -.font-weight-light { - font-weight: 300 !important; -} - -.font-weight-lighter { - font-weight: lighter !important; -} - -.font-weight-normal { - font-weight: 400 !important; -} - -.font-weight-bold { - font-weight: 700 !important; -} - -.font-weight-bolder { - font-weight: bolder !important; -} - -.font-italic { - font-style: italic !important; -} - -.text-white { - color: #fff !important; -} - -.text-primary { - color: #007bff !important; -} - -a.text-primary:hover, a.text-primary:focus { - color: #0056b3 !important; -} - -.text-secondary { - color: #6c757d !important; -} - -a.text-secondary:hover, a.text-secondary:focus { - color: #494f54 !important; -} - -.text-success { - color: #28a745 !important; -} - -a.text-success:hover, a.text-success:focus { - color: #19692c !important; -} - -.text-info { - color: #17a2b8 !important; -} - -a.text-info:hover, a.text-info:focus { - color: #0f6674 !important; -} - -.text-warning { - color: #ffc107 !important; -} - -a.text-warning:hover, a.text-warning:focus { - color: #ba8b00 !important; -} - -.text-danger { - color: #dc3545 !important; -} - -a.text-danger:hover, a.text-danger:focus { - color: #a71d2a !important; -} - -.text-light { - color: #f8f9fa !important; -} - -a.text-light:hover, a.text-light:focus { - color: #cbd3da !important; -} - -.text-dark { - color: #343a40 !important; -} - -a.text-dark:hover, a.text-dark:focus { - color: #121416 !important; -} - -.text-body { - color: #212529 !important; -} - -.text-muted { - color: #6c757d !important; -} - -.text-black-50 { - color: rgba(0, 0, 0, 0.5) !important; -} - -.text-white-50 { - color: rgba(255, 255, 255, 0.5) !important; -} - -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} - -.text-decoration-none { - text-decoration: none !important; -} - -.text-break { - word-break: break-word !important; - overflow-wrap: break-word !important; -} - -.text-reset { - color: inherit !important; -} - -.visible { - visibility: visible !important; -} - -.invisible { - visibility: hidden !important; -} - -@media print { - *, - *::before, - *::after { - text-shadow: none !important; - box-shadow: none !important; - } - a:not(.btn) { - text-decoration: underline; - } - abbr[title]::after { - content: " (" attr(title) ")"; - } - pre { - white-space: pre-wrap !important; - } - pre, - blockquote { - border: 1px solid #adb5bd; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - @page { - size: a3; - } - body { - min-width: 992px !important; - } - .container { - min-width: 992px !important; - } - .navbar { - display: none; - } - .badge { - border: 1px solid #000; - } - .table { - border-collapse: collapse !important; - } - .table td, - .table th { - background-color: #fff !important; - } - .table-bordered th, - .table-bordered td { - border: 1px solid #dee2e6 !important; - } - .table-dark { - color: inherit; - } - .table-dark th, - .table-dark td, - .table-dark thead th, - .table-dark tbody + tbody { - border-color: #dee2e6; - } - .table .thead-dark th { - color: inherit; - border-color: #dee2e6; - } -} -/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/dist/css/bootstrap.css.map b/dist/css/bootstrap.css.map deleted file mode 100644 index 7eb15816..00000000 --- a/dist/css/bootstrap.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap.scss","bootstrap.css","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/utilities/_overflow.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_stretched-link.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACLF;EAGI,eAAc;EAAd,iBAAc;EAAd,iBAAc;EAAd,eAAc;EAAd,cAAc;EAAd,iBAAc;EAAd,iBAAc;EAAd,gBAAc;EAAd,eAAc;EAAd,eAAc;EAAd,aAAc;EAAd,eAAc;EAAd,oBAAc;EAId,kBAAc;EAAd,oBAAc;EAAd,kBAAc;EAAd,eAAc;EAAd,kBAAc;EAAd,iBAAc;EAAd,gBAAc;EAAd,eAAc;EAId,kBAAiC;EAAjC,sBAAiC;EAAjC,sBAAiC;EAAjC,sBAAiC;EAAjC,uBAAiC;EAKnC,+MAAyB;EACzB,6GAAwB;ADkB1B;;AEjBA;;;EAGE,sBAAsB;AFoBxB;;AEjBA;EACE,uBAAuB;EACvB,iBAAiB;EACjB,8BAA8B;EAC9B,6CCXa;AH+Bf;;AEdA;EACE,cAAc;AFiBhB;;AEPA;EACE,SAAS;EACT,kMCiOiN;ECjJ7M,eAtCY;EFxChB,gBC0O+B;EDzO/B,gBC8O+B;ED7O/B,cCnCgB;EDoChB,gBAAgB;EAChB,sBC9Ca;AHwDf;;AAEA;EEHE,qBAAqB;AFKvB;;AEIA;EACE,uBAAuB;EACvB,SAAS;EACT,iBAAiB;AFDnB;;AEcA;EACE,aAAa;EACb,qBCgNuC;AH3NzC;;AEkBA;EACE,aAAa;EACb,mBCoF8B;AHnGhC;;AE0BA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,gBAAgB;EAChB,sCAA8B;EAA9B,8BAA8B;AFvBhC;;AE0BA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;AFvBtB;;AE0BA;;;EAGE,aAAa;EACb,mBAAmB;AFvBrB;;AE0BA;;;;EAIE,gBAAgB;AFvBlB;;AE0BA;EACE,gBCiJ+B;AHxKjC;;AE0BA;EACE,oBAAoB;EACpB,cAAc;AFvBhB;;AE0BA;EACE,gBAAgB;AFvBlB;;AE0BA;;EAEE,mBCoIkC;AH3JpC;;AE0BA;EEpFI,cAAW;AJ8Df;;AE+BA;;EAEE,kBAAkB;EE/FhB,cAAW;EFiGb,cAAc;EACd,wBAAwB;AF5B1B;;AE+BA;EAAM,cAAc;AF3BpB;;AE4BA;EAAM,UAAU;AFxBhB;;AE+BA;EACE,cClJe;EDmJf,qBCX4C;EDY5C,6BAA6B;AF5B/B;;AKhJE;EH+KE,cCd8D;EDe9D,0BCd+C;AHbnD;;AEqCA;EACE,cAAc;EACd,qBAAqB;AFlCvB;;AKtJE;EH2LE,cAAc;EACd,qBAAqB;AFjCzB;;AE2BA;EAUI,UAAU;AFjCd;;AE0CA;;;;EAIE,iGCoDgH;ECzM9G,cAAW;AJ+Gf;;AE0CA;EAEE,aAAa;EAEb,mBAAmB;EAEnB,cAAc;AF1ChB;;AEkDA;EAEE,gBAAgB;AFhDlB;;AEwDA;EACE,sBAAsB;EACtB,kBAAkB;AFrDpB;;AEwDA;EAGE,gBAAgB;EAChB,sBAAsB;AFvDxB;;AE+DA;EACE,yBAAyB;AF5D3B;;AE+DA;EACE,oBC2EkC;ED1ElC,uBC0EkC;EDzElC,cCpQgB;EDqQhB,gBAAgB;EAChB,oBAAoB;AF5DtB;;AE+DA;EAGE,mBAAmB;AF9DrB;;AEsEA;EAEE,qBAAqB;EACrB,qBC4J2C;AHhO7C;;AE0EA;EAEE,gBAAgB;AFxElB;;AE+EA;EACE,mBAAmB;EACnB,0CAA0C;AF5E5C;;AE+EA;;;;;EAKE,SAAS;EACT,oBAAoB;EEtPlB,kBAAW;EFwPb,oBAAoB;AF5EtB;;AE+EA;;EAEE,iBAAiB;AF5EnB;;AE+EA;;EAEE,oBAAoB;AF5EtB;;AEkFA;EACE,iBAAiB;AF/EnB;;AEsFA;;;;EAIE,0BAA0B;AFnF5B;;AEwFE;;;;EAKI,eAAe;AFtFrB;;AE4FA;;;;EAIE,UAAU;EACV,kBAAkB;AFzFpB;;AE4FA;;EAEE,sBAAsB;EACtB,UAAU;AFzFZ;;AE6FA;;;;EASE,2BAA2B;AF/F7B;;AEkGA;EACE,cAAc;EAEd,gBAAgB;AFhGlB;;AEmGA;EAME,YAAY;EAEZ,UAAU;EACV,SAAS;EACT,SAAS;AFtGX;;AE2GA;EACE,cAAc;EACd,WAAW;EACX,eAAe;EACf,UAAU;EACV,oBAAoB;EElShB,iBAtCY;EF0UhB,oBAAoB;EACpB,cAAc;EACd,mBAAmB;AFxGrB;;AE2GA;EACE,wBAAwB;AFxG1B;;AAEA;;EE4GE,YAAY;AFzGd;;AAEA;EE+GE,oBAAoB;EACpB,wBAAwB;AF7G1B;;AAEA;EEmHE,wBAAwB;AFjH1B;;AEyHA;EACE,aAAa;EACb,0BAA0B;AFtH5B;;AE6HA;EACE,qBAAqB;AF1HvB;;AE6HA;EACE,kBAAkB;EAClB,eAAe;AF1HjB;;AE6HA;EACE,aAAa;AF1Hf;;AAEA;EE8HE,wBAAwB;AF5H1B;;AM/VA;;EAEE,qBHiSuC;EG/RvC,gBHiS+B;EGhS/B,gBHiS+B;AHgEjC;;AM7VA;EFgHM,iBAtCY;AJuRlB;;AMhWA;EF+GM,eAtCY;AJ2RlB;;AMnWA;EF8GM,kBAtCY;AJ+RlB;;AMtWA;EF6GM,iBAtCY;AJmSlB;;AMzWA;EF4GM,kBAtCY;AJuSlB;;AM5WA;EF2GM,eAtCY;AJ2SlB;;AM9WA;EFyGM,kBAtCY;EEjEhB,gBHmS+B;AH8EjC;;AM7WA;EFmGM,eAtCY;EE3DhB,gBHsR+B;EGrR/B,gBH6Q+B;AHmGjC;;AM9WA;EF8FM,iBAtCY;EEtDhB,gBHkR+B;EGjR/B,gBHwQ+B;AHyGjC;;AM/WA;EFyFM,iBAtCY;EEjDhB,gBH8Q+B;EG7Q/B,gBHmQ+B;AH+GjC;;AMhXA;EFoFM,iBAtCY;EE5ChB,gBH0Q+B;EGzQ/B,gBH8P+B;AHqHjC;;AE1VA;EIhBE,gBH0EW;EGzEX,mBHyEW;EGxEX,SAAS;EACT,wCHzCa;AHuZf;;AMtWA;;EFMI,cAAW;EEHb,gBHsN+B;AHmJjC;;AMtWA;;EAEE,cH8PgC;EG7PhC,yBHsQmC;AHmGrC;;AMjWA;EC/EE,eAAe;EACf,gBAAgB;APoblB;;AMjWA;ECpFE,eAAe;EACf,gBAAgB;APyblB;;AMnWA;EACE,qBAAqB;ANsWvB;;AMvWA;EAII,oBHgP+B;AHuHnC;;AM7VA;EFjCI,cAAW;EEmCb,yBAAyB;ANgW3B;;AM5VA;EACE,mBHiBW;ECFP,kBAtCY;AJuXlB;;AM5VA;EACE,cAAc;EF7CZ,cAAW;EE+Cb,cH1GgB;AHyclB;;AMlWA;EAMI,qBAAqB;ANgWzB;;AQndA;ECIE,eAAe;EAGf,YAAY;ATidd;;AQldA;EACE,gBL++BwC;EK9+BxC,sBLRa;EKSb,yBLNgB;EOLd,sBPqOgC;EM/NlC,eAAe;EAGf,YAAY;AT0dd;;AQ5cA;EAEE,qBAAqB;AR8cvB;;AQ3cA;EACE,qBAA0B;EAC1B,cAAc;AR8chB;;AQ3cA;EJkCI,cAAW;EIhCb,cL3BgB;AHyelB;;AWrfA;EPuEI,gBAAW;EOrEb,cRoCe;EQnCf,sBAAsB;AXwfxB;;AWrfE;EACE,cAAc;AXwflB;;AWnfA;EACE,sBRikCuC;ECvgCrC,gBAAW;EOxDb,WRTa;EQUb,yBRDgB;EOXd,qBPuO+B;AH4RnC;;AW3fA;EASI,UAAU;EPkDV,eAAW;EOhDX,gBRoQ6B;AHkPjC;;AE7SA;ESlME,cAAc;EPyCZ,gBAAW;EOvCb,cRjBgB;AHogBlB;;AWtfA;EP0CI,kBAAW;EOlCX,cAAc;EACd,kBAAkB;AXmftB;;AW9eA;EACE,iBRwiCuC;EQviCvC,kBAAkB;AXifpB;;AY1hBE;ECAA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;Ab8hBnB;;Ac3eI;EFvDF;ICYI,gBV8LK;EH6VT;AACF;;AcjfI;EFvDF;ICYI,gBV+LK;EHkWT;AACF;;AcvfI;EFvDF;ICYI,gBVgMK;EHuWT;AACF;;Ac7fI;EFvDF;ICYI,iBViMM;EH4WV;AACF;;AY9iBE;ECZA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;Ab8jBnB;;AY5iBE;ECJA,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,mBAA0B;EAC1B,kBAAyB;AbojB3B;;AY7iBE;EACE,eAAe;EACf,cAAc;AZgjBlB;;AYljBE;;EAMI,gBAAgB;EAChB,eAAe;AZijBrB;;AellBE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;Af0lB7B;;AevkBM;EACE,0BAAa;EAAb,aAAa;EACb,oBAAY;EAAZ,YAAY;EACZ,eAAe;Af0kBvB;;AexkBM;EACE,kBAAc;EAAd,cAAc;EACd,WAAW;EACX,eAAe;Af2kBvB;;AevkBQ;EFFN,uBAAsC;EAAtC,mBAAsC;EAItC,oBAAuC;Ab0kBzC;;Ae5kBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;Ab+kBzC;;AejlBQ;EFFN,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AbolBzC;;AetlBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AbylBzC;;Ae3lBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;Ab8lBzC;;AehmBQ;EFFN,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AbmmBzC;;AermBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AbwmBzC;;Ae1mBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;Ab6mBzC;;Ae/mBQ;EFFN,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AbknBzC;;AepnBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AbunBzC;;AeznBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;Ab4nBzC;;Ae9nBQ;EFFN,kBAAsC;EAAtC,cAAsC;EAItC,eAAuC;AbioBzC;;Ae9nBM;EAAwB,kBAAS;EAAT,SAAS;AfkoBvC;;AehoBM;EAAuB,kBZ2KG;EY3KH,SZ2KG;AHydhC;;AejoBQ;EAAwB,iBADZ;EACY,QADZ;AfsoBpB;;AeroBQ;EAAwB,iBADZ;EACY,QADZ;Af0oBpB;;AezoBQ;EAAwB,iBADZ;EACY,QADZ;Af8oBpB;;Ae7oBQ;EAAwB,iBADZ;EACY,QADZ;AfkpBpB;;AejpBQ;EAAwB,iBADZ;EACY,QADZ;AfspBpB;;AerpBQ;EAAwB,iBADZ;EACY,QADZ;Af0pBpB;;AezpBQ;EAAwB,iBADZ;EACY,QADZ;Af8pBpB;;Ae7pBQ;EAAwB,iBADZ;EACY,QADZ;AfkqBpB;;AejqBQ;EAAwB,iBADZ;EACY,QADZ;AfsqBpB;;AerqBQ;EAAwB,iBADZ;EACY,QADZ;Af0qBpB;;AezqBQ;EAAwB,kBADZ;EACY,SADZ;Af8qBpB;;Ae7qBQ;EAAwB,kBADZ;EACY,SADZ;AfkrBpB;;AejrBQ;EAAwB,kBADZ;EACY,SADZ;AfsrBpB;;Ae/qBU;EFTR,sBAA8C;Ab4rBhD;;AenrBU;EFTR,uBAA8C;AbgsBhD;;AevrBU;EFTR,gBAA8C;AbosBhD;;Ae3rBU;EFTR,uBAA8C;AbwsBhD;;Ae/rBU;EFTR,uBAA8C;Ab4sBhD;;AensBU;EFTR,gBAA8C;AbgtBhD;;AevsBU;EFTR,uBAA8C;AbotBhD;;Ae3sBU;EFTR,uBAA8C;AbwtBhD;;Ae/sBU;EFTR,gBAA8C;Ab4tBhD;;AentBU;EFTR,uBAA8C;AbguBhD;;AevtBU;EFTR,uBAA8C;AbouBhD;;AcztBI;EC9BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;Ef2vBrB;EezvBI;IACE,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;Ef2vBrB;EevvBM;IFFN,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EbyvBvC;Ee3vBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb6vBvC;Ee/vBM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbiwBvC;EenwBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbqwBvC;EevwBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbywBvC;Ee3wBM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb6wBvC;Ee/wBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbixBvC;EenxBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbqxBvC;EevxBM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbyxBvC;Ee3xBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb6xBvC;Ee/xBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbiyBvC;EenyBM;IFFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;EbqyBvC;EelyBI;IAAwB,kBAAS;IAAT,SAAS;EfqyBrC;EenyBI;IAAuB,kBZ2KG;IY3KH,SZ2KG;EH2nB9B;EenyBM;IAAwB,iBADZ;IACY,QADZ;EfuyBlB;EetyBM;IAAwB,iBADZ;IACY,QADZ;Ef0yBlB;EezyBM;IAAwB,iBADZ;IACY,QADZ;Ef6yBlB;Ee5yBM;IAAwB,iBADZ;IACY,QADZ;EfgzBlB;Ee/yBM;IAAwB,iBADZ;IACY,QADZ;EfmzBlB;EelzBM;IAAwB,iBADZ;IACY,QADZ;EfszBlB;EerzBM;IAAwB,iBADZ;IACY,QADZ;EfyzBlB;EexzBM;IAAwB,iBADZ;IACY,QADZ;Ef4zBlB;Ee3zBM;IAAwB,iBADZ;IACY,QADZ;Ef+zBlB;Ee9zBM;IAAwB,iBADZ;IACY,QADZ;Efk0BlB;Eej0BM;IAAwB,kBADZ;IACY,SADZ;Efq0BlB;Eep0BM;IAAwB,kBADZ;IACY,SADZ;Efw0BlB;Eev0BM;IAAwB,kBADZ;IACY,SADZ;Ef20BlB;Eep0BQ;IFTR,cAA4B;Ebg1B5B;Eev0BQ;IFTR,sBAA8C;Ebm1B9C;Ee10BQ;IFTR,uBAA8C;Ebs1B9C;Ee70BQ;IFTR,gBAA8C;Eby1B9C;Eeh1BQ;IFTR,uBAA8C;Eb41B9C;Een1BQ;IFTR,uBAA8C;Eb+1B9C;Eet1BQ;IFTR,gBAA8C;Ebk2B9C;Eez1BQ;IFTR,uBAA8C;Ebq2B9C;Ee51BQ;IFTR,uBAA8C;Ebw2B9C;Ee/1BQ;IFTR,gBAA8C;Eb22B9C;Eel2BQ;IFTR,uBAA8C;Eb82B9C;Eer2BQ;IFTR,uBAA8C;Ebi3B9C;AACF;;Acv2BI;EC9BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;Efy4BrB;Eev4BI;IACE,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;Efy4BrB;Eer4BM;IFFN,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;Ebu4BvC;Eez4BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb24BvC;Ee74BM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb+4BvC;Eej5BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Ebm5BvC;Eer5BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Ebu5BvC;Eez5BM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb25BvC;Ee75BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb+5BvC;Eej6BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Ebm6BvC;Eer6BM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Ebu6BvC;Eez6BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb26BvC;Ee76BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb+6BvC;Eej7BM;IFFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;Ebm7BvC;Eeh7BI;IAAwB,kBAAS;IAAT,SAAS;Efm7BrC;Eej7BI;IAAuB,kBZ2KG;IY3KH,SZ2KG;EHywB9B;Eej7BM;IAAwB,iBADZ;IACY,QADZ;Efq7BlB;Eep7BM;IAAwB,iBADZ;IACY,QADZ;Efw7BlB;Eev7BM;IAAwB,iBADZ;IACY,QADZ;Ef27BlB;Ee17BM;IAAwB,iBADZ;IACY,QADZ;Ef87BlB;Ee77BM;IAAwB,iBADZ;IACY,QADZ;Efi8BlB;Eeh8BM;IAAwB,iBADZ;IACY,QADZ;Efo8BlB;Een8BM;IAAwB,iBADZ;IACY,QADZ;Efu8BlB;Eet8BM;IAAwB,iBADZ;IACY,QADZ;Ef08BlB;Eez8BM;IAAwB,iBADZ;IACY,QADZ;Ef68BlB;Ee58BM;IAAwB,iBADZ;IACY,QADZ;Efg9BlB;Ee/8BM;IAAwB,kBADZ;IACY,SADZ;Efm9BlB;Eel9BM;IAAwB,kBADZ;IACY,SADZ;Efs9BlB;Eer9BM;IAAwB,kBADZ;IACY,SADZ;Efy9BlB;Eel9BQ;IFTR,cAA4B;Eb89B5B;Eer9BQ;IFTR,sBAA8C;Ebi+B9C;Eex9BQ;IFTR,uBAA8C;Ebo+B9C;Ee39BQ;IFTR,gBAA8C;Ebu+B9C;Ee99BQ;IFTR,uBAA8C;Eb0+B9C;Eej+BQ;IFTR,uBAA8C;Eb6+B9C;Eep+BQ;IFTR,gBAA8C;Ebg/B9C;Eev+BQ;IFTR,uBAA8C;Ebm/B9C;Ee1+BQ;IFTR,uBAA8C;Ebs/B9C;Ee7+BQ;IFTR,gBAA8C;Eby/B9C;Eeh/BQ;IFTR,uBAA8C;Eb4/B9C;Een/BQ;IFTR,uBAA8C;Eb+/B9C;AACF;;Acr/BI;EC9BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;EfuhCrB;EerhCI;IACE,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EfuhCrB;EenhCM;IFFN,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EbqhCvC;EevhCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbyhCvC;Ee3hCM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb6hCvC;Ee/hCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbiiCvC;EeniCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbqiCvC;EeviCM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbyiCvC;Ee3iCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb6iCvC;Ee/iCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbijCvC;EenjCM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbqjCvC;EevjCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbyjCvC;Ee3jCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb6jCvC;Ee/jCM;IFFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;EbikCvC;Ee9jCI;IAAwB,kBAAS;IAAT,SAAS;EfikCrC;Ee/jCI;IAAuB,kBZ2KG;IY3KH,SZ2KG;EHu5B9B;Ee/jCM;IAAwB,iBADZ;IACY,QADZ;EfmkClB;EelkCM;IAAwB,iBADZ;IACY,QADZ;EfskClB;EerkCM;IAAwB,iBADZ;IACY,QADZ;EfykClB;EexkCM;IAAwB,iBADZ;IACY,QADZ;Ef4kClB;Ee3kCM;IAAwB,iBADZ;IACY,QADZ;Ef+kClB;Ee9kCM;IAAwB,iBADZ;IACY,QADZ;EfklClB;EejlCM;IAAwB,iBADZ;IACY,QADZ;EfqlClB;EeplCM;IAAwB,iBADZ;IACY,QADZ;EfwlClB;EevlCM;IAAwB,iBADZ;IACY,QADZ;Ef2lClB;Ee1lCM;IAAwB,iBADZ;IACY,QADZ;Ef8lClB;Ee7lCM;IAAwB,kBADZ;IACY,SADZ;EfimClB;EehmCM;IAAwB,kBADZ;IACY,SADZ;EfomClB;EenmCM;IAAwB,kBADZ;IACY,SADZ;EfumClB;EehmCQ;IFTR,cAA4B;Eb4mC5B;EenmCQ;IFTR,sBAA8C;Eb+mC9C;EetmCQ;IFTR,uBAA8C;EbknC9C;EezmCQ;IFTR,gBAA8C;EbqnC9C;Ee5mCQ;IFTR,uBAA8C;EbwnC9C;Ee/mCQ;IFTR,uBAA8C;Eb2nC9C;EelnCQ;IFTR,gBAA8C;Eb8nC9C;EernCQ;IFTR,uBAA8C;EbioC9C;EexnCQ;IFTR,uBAA8C;EbooC9C;Ee3nCQ;IFTR,gBAA8C;EbuoC9C;Ee9nCQ;IFTR,uBAA8C;Eb0oC9C;EejoCQ;IFTR,uBAA8C;Eb6oC9C;AACF;;AcnoCI;EC9BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;EfqqCrB;EenqCI;IACE,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EfqqCrB;EejqCM;IFFN,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EbmqCvC;EerqCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbuqCvC;EezqCM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb2qCvC;Ee7qCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb+qCvC;EejrCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbmrCvC;EerrCM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EburCvC;EezrCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb2rCvC;Ee7rCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb+rCvC;EejsCM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbmsCvC;EersCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbusCvC;EezsCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb2sCvC;Ee7sCM;IFFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;Eb+sCvC;Ee5sCI;IAAwB,kBAAS;IAAT,SAAS;Ef+sCrC;Ee7sCI;IAAuB,kBZ2KG;IY3KH,SZ2KG;EHqiC9B;Ee7sCM;IAAwB,iBADZ;IACY,QADZ;EfitClB;EehtCM;IAAwB,iBADZ;IACY,QADZ;EfotClB;EentCM;IAAwB,iBADZ;IACY,QADZ;EfutClB;EettCM;IAAwB,iBADZ;IACY,QADZ;Ef0tClB;EeztCM;IAAwB,iBADZ;IACY,QADZ;Ef6tClB;Ee5tCM;IAAwB,iBADZ;IACY,QADZ;EfguClB;Ee/tCM;IAAwB,iBADZ;IACY,QADZ;EfmuClB;EeluCM;IAAwB,iBADZ;IACY,QADZ;EfsuClB;EeruCM;IAAwB,iBADZ;IACY,QADZ;EfyuClB;EexuCM;IAAwB,iBADZ;IACY,QADZ;Ef4uClB;Ee3uCM;IAAwB,kBADZ;IACY,SADZ;Ef+uClB;Ee9uCM;IAAwB,kBADZ;IACY,SADZ;EfkvClB;EejvCM;IAAwB,kBADZ;IACY,SADZ;EfqvClB;Ee9uCQ;IFTR,cAA4B;Eb0vC5B;EejvCQ;IFTR,sBAA8C;Eb6vC9C;EepvCQ;IFTR,uBAA8C;EbgwC9C;EevvCQ;IFTR,gBAA8C;EbmwC9C;Ee1vCQ;IFTR,uBAA8C;EbswC9C;Ee7vCQ;IFTR,uBAA8C;EbywC9C;EehwCQ;IFTR,gBAA8C;Eb4wC9C;EenwCQ;IFTR,uBAA8C;Eb+wC9C;EetwCQ;IFTR,uBAA8C;EbkxC9C;EezwCQ;IFTR,gBAA8C;EbqxC9C;Ee5wCQ;IFTR,uBAA8C;EbwxC9C;Ee/wCQ;IFTR,uBAA8C;Eb2xC9C;AACF;;AgBz0CA;EACE,WAAW;EACX,mBb2HW;Ea1HX,cbSgB;AHm0ClB;;AgB/0CA;;EAQI,gBb8UgC;Ea7UhC,mBAAmB;EACnB,6BbJc;AHg1ClB;;AgBt1CA;EAcI,sBAAsB;EACtB,gCbTc;AHq1ClB;;AgB31CA;EAmBI,6Bbbc;AHy1ClB;;AgBn0CA;;EAGI,ebwT+B;AH6gCnC;;AgB5zCA;EACE,yBbnCgB;AHk2ClB;;AgBh0CA;;EAKI,yBbvCc;AHu2ClB;;AgBr0CA;;EAWM,wBAA4C;AhB+zClD;;AgB1zCA;;;;EAKI,SAAS;AhB4zCb;;AgBpzCA;EAEI,qCb1DW;AHg3Cf;;AKr3CE;EW2EI,cbvEY;EawEZ,sCbvES;AHq3Cf;;AiBj4CE;;;EAII,yBC2E4D;AlBwzClE;;AiBv4CE;;;;EAYM,qBCmE0D;AlB+zClE;;AKv4CE;EYiBM,yBAJsC;AjB83C9C;;AiB/3CE;;EASQ,yBARoC;AjBm4C9C;;AiBv5CE;;;EAII,yBC2E4D;AlB80ClE;;AiB75CE;;;;EAYM,qBCmE0D;AlBq1ClE;;AK75CE;EYiBM,yBAJsC;AjBo5C9C;;AiBr5CE;;EASQ,yBARoC;AjBy5C9C;;AiB76CE;;;EAII,yBC2E4D;AlBo2ClE;;AiBn7CE;;;;EAYM,qBCmE0D;AlB22ClE;;AKn7CE;EYiBM,yBAJsC;AjB06C9C;;AiB36CE;;EASQ,yBARoC;AjB+6C9C;;AiBn8CE;;;EAII,yBC2E4D;AlB03ClE;;AiBz8CE;;;;EAYM,qBCmE0D;AlBi4ClE;;AKz8CE;EYiBM,yBAJsC;AjBg8C9C;;AiBj8CE;;EASQ,yBARoC;AjBq8C9C;;AiBz9CE;;;EAII,yBC2E4D;AlBg5ClE;;AiB/9CE;;;;EAYM,qBCmE0D;AlBu5ClE;;AK/9CE;EYiBM,yBAJsC;AjBs9C9C;;AiBv9CE;;EASQ,yBARoC;AjB29C9C;;AiB/+CE;;;EAII,yBC2E4D;AlBs6ClE;;AiBr/CE;;;;EAYM,qBCmE0D;AlB66ClE;;AKr/CE;EYiBM,yBAJsC;AjB4+C9C;;AiB7+CE;;EASQ,yBARoC;AjBi/C9C;;AiBrgDE;;;EAII,yBC2E4D;AlB47ClE;;AiB3gDE;;;;EAYM,qBCmE0D;AlBm8ClE;;AK3gDE;EYiBM,yBAJsC;AjBkgD9C;;AiBngDE;;EASQ,yBARoC;AjBugD9C;;AiB3hDE;;;EAII,yBC2E4D;AlBk9ClE;;AiBjiDE;;;;EAYM,qBCmE0D;AlBy9ClE;;AKjiDE;EYiBM,yBAJsC;AjBwhD9C;;AiBzhDE;;EASQ,yBARoC;AjB6hD9C;;AiBjjDE;;;EAII,sCdQS;AH2iDf;;AKhjDE;EYiBM,sCAJsC;AjBuiD9C;;AiBxiDE;;EASQ,sCARoC;AjB4iD9C;;AgBt9CA;EAGM,Wb3GS;Ea4GT,yBbpGY;EaqGZ,qBb2PqD;AH4tC3D;;AgB59CA;EAWM,cb5GY;Ea6GZ,yBblHY;EamHZ,qBblHY;AHukDlB;;AgBh9CA;EACE,Wb3Ha;Ea4Hb,yBbpHgB;AHukDlB;;AgBr9CA;;;EAOI,qBbuOuD;AH6uC3D;;AgB39CA;EAWI,SAAS;AhBo9Cb;;AgB/9CA;EAgBM,2Cb1IS;AH6lDf;;AKxlDE;EW4IM,WbjJO;EakJP,4CblJO;AHkmDf;;AchiDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBk8CvC;EgBv8CG;IASK,SAAS;EhBi8CjB;AACF;;Ac5iDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhB88CvC;EgBn9CG;IASK,SAAS;EhB68CjB;AACF;;AcxjDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhB09CvC;EgB/9CG;IASK,SAAS;EhBy9CjB;AACF;;AcpkDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBs+CvC;EgB3+CG;IASK,SAAS;EhBq+CjB;AACF;;AgBp/CA;EAOQ,cAAc;EACd,WAAW;EACX,gBAAgB;EAChB,iCAAiC;AhBi/CzC;;AgB3/CA;EAcU,SAAS;AhBi/CnB;;AmB9pDA;EACE,cAAc;EACd,WAAW;EACX,mChBqe2H;EgBpe3H,yBhBqXkC;EChQ9B,eAtCY;Ee5EhB,gBhB8Q+B;EgB7Q/B,gBhBkR+B;EgBjR/B,chBDgB;EgBEhB,sBhBTa;EgBUb,4BAA4B;EAC5B,yBhBPgB;EONd,sBPqOgC;EiBpO9B,wEjB4e4F;AHksClG;;AoBzqDI;EDLJ;ICMM,gBAAgB;EpB6qDpB;AACF;;AmBprDA;EAsBI,6BAA6B;EAC7B,SAAS;AnBkqDb;;AqBlrDE;EACE,clBAc;EkBCd,sBlBRW;EkBSX,qBlBgdsE;EkB/ctE,UAAU;EAKR,gDlBcW;AHmqDjB;;AmBjsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA2CI,yBhBxCc;EgB0Cd,UAAU;AnB8pDd;;AmB1pDA;EAOI,chBhDc;EgBiDd,sBhBxDW;AH+sDf;;AmBlpDA;;EAEE,cAAc;EACd,WAAW;AnBqpDb;;AmB3oDA;EACE,iCAA+D;EAC/D,oCAAkE;EAClE,gBAAgB;EfZd,kBAAW;Eecb,gBhB0M+B;AHo8CjC;;AmB3oDA;EACE,+BAAkE;EAClE,kCAAqE;EfoCjE,kBAtCY;EeIhB,gBhBuI+B;AHugDjC;;AmB3oDA;EACE,gCAAkE;EAClE,mCAAqE;Ef6BjE,mBAtCY;EeWhB,gBhBiI+B;AH6gDjC;;AmBroDA;EACE,cAAc;EACd,WAAW;EACX,qBhB8QmC;EgB7QnC,wBhB6QmC;EgB5QnC,gBAAgB;EAChB,gBhB6K+B;EgB5K/B,chBpGgB;EgBqGhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;AnBwoDrC;;AmBlpDA;EAcI,gBAAgB;EAChB,eAAe;AnBwoDnB;;AmB5nDA;EACE,kChBsWqI;EgBrWrI,uBhB+PiC;EC1Q7B,mBAtCY;EemDhB,gBhByF+B;EOhO7B,qBPuO+B;AHgiDnC;;AmB5nDA;EACE,gChB+VqI;EgB9VrI,oBhB4PgC;EC/Q5B,kBAtCY;Ee2DhB,gBhBgF+B;EO/N7B,qBPsO+B;AHyiDnC;;AmB3nDA;EAGI,YAAY;AnB4nDhB;;AmBxnDA;EACE,YAAY;AnB2nDd;;AmBnnDA;EACE,mBhBoV0C;AHkyC5C;;AmBnnDA;EACE,cAAc;EACd,mBhBqU4C;AHizC9C;;AmB9mDA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,kBAA0C;EAC1C,iBAAyC;AnBinD3C;;AmBrnDA;;EAQI,kBAA0C;EAC1C,iBAAyC;AnBknD7C;;AmBzmDA;EACE,kBAAkB;EAClB,cAAc;EACd,qBhB0S6C;AHk0C/C;;AmBzmDA;EACE,kBAAkB;EAClB,kBhBsS2C;EgBrS3C,qBhBoS6C;AHw0C/C;;AmB/mDA;EAMI,chBxMc;AHqzDlB;;AmBzmDA;EACE,gBAAgB;AnB4mDlB;;AmBzmDA;EACE,2BAAoB;EAApB,oBAAoB;EACpB,sBAAmB;EAAnB,mBAAmB;EACnB,eAAe;EACf,qBhByR4C;AHm1C9C;;AmBhnDA;EAQI,gBAAgB;EAChB,aAAa;EACb,uBhBoR4C;EgBnR5C,cAAc;AnB4mDlB;;AqBvzDE;EACE,aAAa;EACb,WAAW;EACX,mBlBod0C;EC5a1C,cAAW;EiBtCX,clBSa;AHizDjB;;AqBvzDE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBsyBqC;EkBryBrC,iBAAiB;EjBmFf,mBAtCY;EiB3Cd,gBlBkP6B;EkBjP7B,WlBxCW;EkByCX,wClBLa;EOtCb,sBPqOgC;AHioDpC;;AqBtzDI;EAEE,qBlBZW;EkBeT,oClBgb2F;EkB/a3F,4PHfmI;EGgBnI,4BAA4B;EAC5B,2DlB+a6F;EkB9a7F,gElB6awF;AHy4ChG;;AqB/zDI;EAaI,qBlBvBS;EkBwBT,gDlBxBS;AH80DjB;;AqBp0DI;;;EAmBI,cAAc;ArBuzDtB;;AqBhzDI;EAGI,oClBwZ2F;EkBvZ3F,kFlByZ6F;AHw5CrG;;AqB3yDI;EAEE,qBlBhDW;EkBmDT,sDlBqe0J;EkBpe1J,6gBAAkJ;ArB2yD1J;;AqBjzDI;EAUI,qBlBxDS;EkByDT,gDlBzDS;AHo2DjB;;AqBtzDI;;;EAgBI,cAAc;ArB4yDtB;;AqBryDI;;;EAII,cAAc;ArBuyDtB;;AqBjyDI;EAGI,clBlFS;AHo3DjB;;AqBryDI;;;EAQI,cAAc;ArBmyDtB;;AqB7xDI;EAGI,clBhGS;AH83DjB;;AqBjyDI;EAMM,qBlBnGO;AHk4DjB;;AqBryDI;;;EAYI,cAAc;ArB+xDtB;;AqB3yDI;EAiBM,qBAAkC;ECnJxC,yBDoJ+C;ArB8xDnD;;AqBhzDI;EAwBM,gDlBrHO;AHi5DjB;;AqBpzDI;EA4BM,qBlBzHO;AHq5DjB;;AqBpxDI;EAGI,qBlBpIS;AHy5DjB;;AqBxxDI;;;EAQI,cAAc;ArBsxDtB;;AqB9xDI;EAaM,qBlB9IO;EkB+IP,gDlB/IO;AHo6DjB;;AqBl7DE;EACE,aAAa;EACb,WAAW;EACX,mBlBod0C;EC5a1C,cAAW;EiBtCX,clBMa;AH+6DjB;;AqBl7DE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBsyBqC;EkBryBrC,iBAAiB;EjBmFf,mBAtCY;EiB3Cd,gBlBkP6B;EkBjP7B,WlBxCW;EkByCX,wClBRa;EOnCb,sBPqOgC;AH4vDpC;;AqBj7DI;EAEE,qBlBfW;EkBkBT,oClBgb2F;EkB/a3F,sSHfmI;EGgBnI,4BAA4B;EAC5B,2DlB+a6F;EkB9a7F,gElB6awF;AHogDhG;;AqB17DI;EAaI,qBlB1BS;EkB2BT,gDlB3BS;AH48DjB;;AqB/7DI;;;EAmBI,cAAc;ArBk7DtB;;AqB36DI;EAGI,oClBwZ2F;EkBvZ3F,kFlByZ6F;AHmhDrG;;AqBt6DI;EAEE,qBlBnDW;EkBsDT,sDlBqe0J;EkBpe1J,ujBAAkJ;ArBs6D1J;;AqB56DI;EAUI,qBlB3DS;EkB4DT,gDlB5DS;AHk+DjB;;AqBj7DI;;;EAgBI,cAAc;ArBu6DtB;;AqBh6DI;;;EAII,cAAc;ArBk6DtB;;AqB55DI;EAGI,clBrFS;AHk/DjB;;AqBh6DI;;;EAQI,cAAc;ArB85DtB;;AqBx5DI;EAGI,clBnGS;AH4/DjB;;AqB55DI;EAMM,qBlBtGO;AHggEjB;;AqBh6DI;;;EAYI,cAAc;ArB05DtB;;AqBt6DI;EAiBM,qBAAkC;ECnJxC,yBDoJ+C;ArBy5DnD;;AqB36DI;EAwBM,gDlBxHO;AH+gEjB;;AqB/6DI;EA4BM,qBlB5HO;AHmhEjB;;AqB/4DI;EAGI,qBlBvIS;AHuhEjB;;AqBn5DI;;;EAQI,cAAc;ArBi5DtB;;AqBz5DI;EAaM,qBlBjJO;EkBkJP,gDlBlJO;AHkiEjB;;AmBz0DA;EACE,oBAAa;EAAb,aAAa;EACb,uBAAmB;EAAnB,mBAAmB;EACnB,sBAAmB;EAAnB,mBAAmB;AnB40DrB;;AmB/0DA;EASI,WAAW;AnB00Df;;AcxhEI;EKqMJ;IAeM,oBAAa;IAAb,aAAa;IACb,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;IACvB,gBAAgB;EnBy0DpB;EmB31DF;IAuBM,oBAAa;IAAb,aAAa;IACb,kBAAc;IAAd,cAAc;IACd,uBAAmB;IAAnB,mBAAmB;IACnB,sBAAmB;IAAnB,mBAAmB;IACnB,gBAAgB;EnBu0DpB;EmBl2DF;IAgCM,qBAAqB;IACrB,WAAW;IACX,sBAAsB;EnBq0D1B;EmBv2DF;IAuCM,qBAAqB;EnBm0DzB;EmB12DF;;IA4CM,WAAW;EnBk0Df;EmB92DF;IAkDM,oBAAa;IAAb,aAAa;IACb,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;IACvB,WAAW;IACX,eAAe;EnB+zDnB;EmBr3DF;IAyDM,kBAAkB;IAClB,oBAAc;IAAd,cAAc;IACd,aAAa;IACb,qBhB2LwC;IgB1LxC,cAAc;EnB+zDlB;EmB53DF;IAiEM,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;EnB8zD3B;EmBh4DF;IAqEM,gBAAgB;EnB8zDpB;AACF;;AuB/nEA;EACE,qBAAqB;EAErB,gBpBkR+B;EoBjR/B,cpBMgB;EoBLhB,kBAAkB;EAClB,sBAAsB;EACtB,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;ECsF3C,yBrB0RkC;EChQ9B,eAtCY;EoBchB,gBrByL+B;EO3R7B,sBPqOgC;EiBpO9B,qIjBqb6I;AH0tDnJ;;AoB1oEI;EGLJ;IHMM,gBAAgB;EpB8oEpB;AACF;;AK/oEE;EkBQE,cpBJc;EoBKd,qBAAqB;AvB2oEzB;;AuB1pEA;EAoBI,UAAU;EACV,gDpBSa;AHioEjB;;AuB/pEA;EA2BI,apB8Y6B;AH0vDjC;;AuBznEA;;EAEE,oBAAoB;AvB4nEtB;;AuBnnEE;ECrDA,WrBCa;EmBDX,yBnB8Ba;EqB5Bf,qBrB4Be;AHgpEjB;;AKxqEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBqrE7H;;AwBzqEE;EAMI,gDAAiF;AxBuqEvF;;AwBlqEE;EAEE,WrBvBW;EqBwBX,yBrBKa;EqBJb,qBrBIa;AHgqEjB;;AwB7pEE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxBssEnN;;AwB1pEI;;EAKI,gDAAiF;AxB0pEzF;;AuBrpEE;ECrDA,WrBCa;EmBDX,yBnBOc;EqBLhB,qBrBKgB;AHysElB;;AK1sEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxButE7H;;AwB3sEE;EAMI,iDAAiF;AxBysEvF;;AwBpsEE;EAEE,WrBvBW;EqBwBX,yBrBlBc;EqBmBd,qBrBnBc;AHytElB;;AwB/rEE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxBwuEnN;;AwB5rEI;;EAKI,iDAAiF;AxB4rEzF;;AuBvrEE;ECrDA,WrBCa;EmBDX,yBnBqCa;EqBnCf,qBrBmCe;AH6sEjB;;AK5uEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxByvE7H;;AwB7uEE;EAMI,+CAAiF;AxB2uEvF;;AwBtuEE;EAEE,WrBvBW;EqBwBX,yBrBYa;EqBXb,qBrBWa;AH6tEjB;;AwBjuEE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxB0wEnN;;AwB9tEI;;EAKI,+CAAiF;AxB8tEzF;;AuBztEE;ECrDA,WrBCa;EmBDX,yBnBuCa;EqBrCf,qBrBqCe;AH6uEjB;;AK9wEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB2xE7H;;AwB/wEE;EAMI,gDAAiF;AxB6wEvF;;AwBxwEE;EAEE,WrBvBW;EqBwBX,yBrBca;EqBbb,qBrBaa;AH6vEjB;;AwBnwEE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxB4yEnN;;AwBhwEI;;EAKI,gDAAiF;AxBgwEzF;;AuB3vEE;ECrDA,crBUgB;EmBVd,yBnBoCa;EqBlCf,qBrBkCe;AHkxEjB;;AKhzEE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxB6zE7H;;AwBjzEE;EAMI,gDAAiF;AxB+yEvF;;AwB1yEE;EAEE,crBdc;EqBed,yBrBWa;EqBVb,qBrBUa;AHkyEjB;;AwBryEE;;EAGE,crB1Bc;EqB2Bd,yBAtCuK;EA0CvK,qBA1C+M;AxB80EnN;;AwBlyEI;;EAKI,gDAAiF;AxBkyEzF;;AuB7xEE;ECrDA,WrBCa;EmBDX,yBnBkCa;EqBhCf,qBrBgCe;AHszEjB;;AKl1EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB+1E7H;;AwBn1EE;EAMI,+CAAiF;AxBi1EvF;;AwB50EE;EAEE,WrBvBW;EqBwBX,yBrBSa;EqBRb,qBrBQa;AHs0EjB;;AwBv0EE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxBg3EnN;;AwBp0EI;;EAKI,+CAAiF;AxBo0EzF;;AuB/zEE;ECrDA,crBUgB;EmBVd,yBnBEc;EqBAhB,qBrBAgB;AHw3ElB;;AKp3EE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxBi4E7H;;AwBr3EE;EAMI,iDAAiF;AxBm3EvF;;AwB92EE;EAEE,crBdc;EqBed,yBrBvBc;EqBwBd,qBrBxBc;AHw4ElB;;AwBz2EE;;EAGE,crB1Bc;EqB2Bd,yBAtCuK;EA0CvK,qBA1C+M;AxBk5EnN;;AwBt2EI;;EAKI,iDAAiF;AxBs2EzF;;AuBj2EE;ECrDA,WrBCa;EmBDX,yBnBSc;EqBPhB,qBrBOgB;AHm5ElB;;AKt5EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBm6E7H;;AwBv5EE;EAMI,8CAAiF;AxBq5EvF;;AwBh5EE;EAEE,WrBvBW;EqBwBX,yBrBhBc;EqBiBd,qBrBjBc;AHm6ElB;;AwB34EE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxBo7EnN;;AwBx4EI;;EAKI,8CAAiF;AxBw4EzF;;AuB73EE;ECJA,crBzBe;EqB0Bf,qBrB1Be;AH+5EjB;;AKv7EE;EmBqDE,WrB1DW;EqB2DX,yBrB9Ba;EqB+Bb,qBrB/Ba;AHq6EjB;;AwBn4EE;EAEE,+CrBpCa;AHy6EjB;;AwBl4EE;EAEE,crBzCa;EqB0Cb,6BAA6B;AxBo4EjC;;AwBj4EE;;EAGE,WrB7EW;EqB8EX,yBrBjDa;EqBkDb,qBrBlDa;AHq7EjB;;AwBj4EI;;EAKI,+CrBzDS;AH07EjB;;AuB75EE;ECJA,crBhDgB;EqBiDhB,qBrBjDgB;AHs9ElB;;AKv9EE;EmBqDE,WrB1DW;EqB2DX,yBrBrDc;EqBsDd,qBrBtDc;AH49ElB;;AwBn6EE;EAEE,iDrB3Dc;AHg+ElB;;AwBl6EE;EAEE,crBhEc;EqBiEd,6BAA6B;AxBo6EjC;;AwBj6EE;;EAGE,WrB7EW;EqB8EX,yBrBxEc;EqByEd,qBrBzEc;AH4+ElB;;AwBj6EI;;EAKI,iDrBhFU;AHi/ElB;;AuB77EE;ECJA,crBlBe;EqBmBf,qBrBnBe;AHw9EjB;;AKv/EE;EmBqDE,WrB1DW;EqB2DX,yBrBvBa;EqBwBb,qBrBxBa;AH89EjB;;AwBn8EE;EAEE,+CrB7Ba;AHk+EjB;;AwBl8EE;EAEE,crBlCa;EqBmCb,6BAA6B;AxBo8EjC;;AwBj8EE;;EAGE,WrB7EW;EqB8EX,yBrB1Ca;EqB2Cb,qBrB3Ca;AH8+EjB;;AwBj8EI;;EAKI,+CrBlDS;AHm/EjB;;AuB79EE;ECJA,crBhBe;EqBiBf,qBrBjBe;AHs/EjB;;AKvhFE;EmBqDE,WrB1DW;EqB2DX,yBrBrBa;EqBsBb,qBrBtBa;AH4/EjB;;AwBn+EE;EAEE,gDrB3Ba;AHggFjB;;AwBl+EE;EAEE,crBhCa;EqBiCb,6BAA6B;AxBo+EjC;;AwBj+EE;;EAGE,WrB7EW;EqB8EX,yBrBxCa;EqByCb,qBrBzCa;AH4gFjB;;AwBj+EI;;EAKI,gDrBhDS;AHihFjB;;AuB7/EE;ECJA,crBnBe;EqBoBf,qBrBpBe;AHyhFjB;;AKvjFE;EmBqDE,crBjDc;EqBkDd,yBrBxBa;EqByBb,qBrBzBa;AH+hFjB;;AwBngFE;EAEE,+CrB9Ba;AHmiFjB;;AwBlgFE;EAEE,crBnCa;EqBoCb,6BAA6B;AxBogFjC;;AwBjgFE;;EAGE,crBpEc;EqBqEd,yBrB3Ca;EqB4Cb,qBrB5Ca;AH+iFjB;;AwBjgFI;;EAKI,+CrBnDS;AHojFjB;;AuB7hFE;ECJA,crBrBe;EqBsBf,qBrBtBe;AH2jFjB;;AKvlFE;EmBqDE,WrB1DW;EqB2DX,yBrB1Ba;EqB2Bb,qBrB3Ba;AHikFjB;;AwBniFE;EAEE,+CrBhCa;AHqkFjB;;AwBliFE;EAEE,crBrCa;EqBsCb,6BAA6B;AxBoiFjC;;AwBjiFE;;EAGE,WrB7EW;EqB8EX,yBrB7Ca;EqB8Cb,qBrB9Ca;AHilFjB;;AwBjiFI;;EAKI,+CrBrDS;AHslFjB;;AuB7jFE;ECJA,crBrDgB;EqBsDhB,qBrBtDgB;AH2nFlB;;AKvnFE;EmBqDE,crBjDc;EqBkDd,yBrB1Dc;EqB2Dd,qBrB3Dc;AHioFlB;;AwBnkFE;EAEE,iDrBhEc;AHqoFlB;;AwBlkFE;EAEE,crBrEc;EqBsEd,6BAA6B;AxBokFjC;;AwBjkFE;;EAGE,crBpEc;EqBqEd,yBrB7Ec;EqB8Ed,qBrB9Ec;AHipFlB;;AwBjkFI;;EAKI,iDrBrFU;AHspFlB;;AuB7lFE;ECJA,crB9CgB;EqB+ChB,qBrB/CgB;AHopFlB;;AKvpFE;EmBqDE,WrB1DW;EqB2DX,yBrBnDc;EqBoDd,qBrBpDc;AH0pFlB;;AwBnmFE;EAEE,8CrBzDc;AH8pFlB;;AwBlmFE;EAEE,crB9Dc;EqB+Dd,6BAA6B;AxBomFjC;;AwBjmFE;;EAGE,WrB7EW;EqB8EX,yBrBtEc;EqBuEd,qBrBvEc;AH0qFlB;;AwBjmFI;;EAKI,8CrB9EU;AH+qFlB;;AuBlnFA;EACE,gBpB8M+B;EoB7M/B,cpB1Ce;EoB2Cf,qBpB6F4C;AHwhF9C;;AKxrFE;EkBsEE,cpB2F8D;EoB1F9D,0BpB2F+C;AH2hFnD;;AuB7nFA;EAYI,0BpBsF+C;EoBrF/C,gBAAgB;AvBqnFpB;;AuBloFA;EAkBI,cpBjFc;EoBkFd,oBAAoB;AvBonFxB;;AuBzmFA;ECLE,oBrBySgC;EC/Q5B,kBAtCY;EoBchB,gBrB6H+B;EO/N7B,qBPsO+B;AH++EnC;;AuB5mFA;ECTE,uBrBoSiC;EC1Q7B,mBAtCY;EoBchB,gBrB8H+B;EOhO7B,qBPuO+B;AHq/EnC;;AuB1mFA;EACE,cAAc;EACd,WAAW;AvB6mFb;;AuB/mFA;EAMI,kBpBuT+B;AHszEnC;;AuBxmFA;;;EAII,WAAW;AvB0mFf;;AyBhvFA;ELMM,gCjBsP2C;AHw/EjD;;AoBzuFI;EKXJ;ILYM,gBAAgB;EpB6uFpB;AACF;;AyB1vFA;EAII,UAAU;AzB0vFd;;AyBtvFA;EAEI,aAAa;AzBwvFjB;;AyBpvFA;EACE,kBAAkB;EAClB,SAAS;EACT,gBAAgB;ELXZ,6BjBuPwC;AH4gF9C;;AoB9vFI;EKGJ;ILFM,gBAAgB;EpBkwFpB;AACF;;A0B9wFA;;;;EAIE,kBAAkB;A1BixFpB;;A0B9wFA;EACE,mBAAmB;A1BixFrB;;A2B7vFI;EACE,qBAAqB;EACrB,oBxB0N0C;EwBzN1C,uBxBwN0C;EwBvN1C,WAAW;EAhCf,uBAA8B;EAC9B,qCAA4C;EAC5C,gBAAgB;EAChB,oCAA2C;A3BiyF7C;;A2B5uFI;EACE,cAAc;A3B+uFpB;;A0BzxFA;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,avBipBsC;EuBhpBtC,aAAa;EACb,WAAW;EACX,gBvButBuC;EuBttBvC,iBAA8B;EAC9B,oBAA4B;EtBsGxB,eAtCY;EsB9DhB,cvBXgB;EuBYhB,gBAAgB;EAChB,gBAAgB;EAChB,sBvBvBa;EuBwBb,4BAA4B;EAC5B,qCvBfa;EOZX,sBPqOgC;AHmlFpC;;A0BpxFI;EACE,WAAW;EACX,OAAO;A1BuxFb;;A0BpxFI;EACE,QAAQ;EACR,UAAU;A1BuxFhB;;Ac3wFI;EYnBA;IACE,WAAW;IACX,OAAO;E1BkyFX;E0B/xFE;IACE,QAAQ;IACR,UAAU;E1BiyFd;AACF;;ActxFI;EYnBA;IACE,WAAW;IACX,OAAO;E1B6yFX;E0B1yFE;IACE,QAAQ;IACR,UAAU;E1B4yFd;AACF;;AcjyFI;EYnBA;IACE,WAAW;IACX,OAAO;E1BwzFX;E0BrzFE;IACE,QAAQ;IACR,UAAU;E1BuzFd;AACF;;Ac5yFI;EYnBA;IACE,WAAW;IACX,OAAO;E1Bm0FX;E0Bh0FE;IACE,QAAQ;IACR,UAAU;E1Bk0Fd;AACF;;A0B5zFA;EAEI,SAAS;EACT,YAAY;EACZ,aAAa;EACb,uBvBorBuC;AH0oE3C;;A2B71FI;EACE,qBAAqB;EACrB,oBxB0N0C;EwBzN1C,uBxBwN0C;EwBvN1C,WAAW;EAzBf,aAAa;EACb,qCAA4C;EAC5C,0BAAiC;EACjC,oCAA2C;A3B03F7C;;A2B50FI;EACE,cAAc;A3B+0FpB;;A0Br0FA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,qBvBsqBuC;AHiqE3C;;A2Bp3FI;EACE,qBAAqB;EACrB,oBxB0N0C;EwBzN1C,uBxBwN0C;EwBvN1C,WAAW;EAlBf,mCAA0C;EAC1C,eAAe;EACf,sCAA6C;EAC7C,wBAA+B;A3B04FjC;;A2Bn2FI;EACE,cAAc;A3Bs2FpB;;A2Bn4FI;EDmDE,iBAAiB;A1Bo1FvB;;A0B/0FA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,sBvBqpBuC;AH4rE3C;;A2B/4FI;EACE,qBAAqB;EACrB,oBxB0N0C;EwBzN1C,uBxBwN0C;EwBvN1C,WAAW;A3Bk5FjB;;A2Bt5FI;EAgBI,aAAa;A3B04FrB;;A2Bv4FM;EACE,qBAAqB;EACrB,qBxBuMwC;EwBtMxC,uBxBqMwC;EwBpMxC,WAAW;EA9BjB,mCAA0C;EAC1C,yBAAgC;EAChC,sCAA6C;A3By6F/C;;A2Bx4FI;EACE,cAAc;A3B24FpB;;A2Br5FM;EDiDA,iBAAiB;A1Bw2FvB;;A0Bj2FA;EAKI,WAAW;EACX,YAAY;A1Bg2FhB;;A0B31FA;EE9GE,SAAS;EACT,gBAAmB;EACnB,gBAAgB;EAChB,6BzBCgB;AH48FlB;;A0B31FA;EACE,cAAc;EACd,WAAW;EACX,uBvByoBwC;EuBxoBxC,WAAW;EACX,gBvB4J+B;EuB3J/B,cvBhHgB;EuBiHhB,mBAAmB;EACnB,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;A1B81FX;;AKl9FE;EqBmIE,cvB0mBqD;EuBzmBrD,qBAAqB;EJ9IrB,yBnBEc;AHg+FlB;;A0B92FA;EAgCI,WvBnJW;EuBoJX,qBAAqB;EJrJrB,yBnB8Ba;AH08FjB;;A0Bp3FA;EAuCI,cvBpJc;EuBqJd,oBAAoB;EACpB,6BAA6B;A1Bi1FjC;;A0Bz0FA;EACE,cAAc;A1B40FhB;;A0Bx0FA;EACE,cAAc;EACd,sBvBolBwC;EuBnlBxC,gBAAgB;EtBpDZ,mBAtCY;EsB4FhB,cvBxKgB;EuByKhB,mBAAmB;A1B20FrB;;A0Bv0FA;EACE,cAAc;EACd,uBvB0kBwC;EuBzkBxC,cvB7KgB;AHu/FlB;;A6BpgGA;;EAEE,kBAAkB;EAClB,2BAAoB;EAApB,oBAAoB;EACpB,sBAAsB;A7BugGxB;;A6B3gGA;;EAOI,kBAAkB;EAClB,kBAAc;EAAd,cAAc;A7BygGlB;;AKxgGE;;EwBII,UAAU;A7BygGhB;;A6BthGA;;;;EAkBM,UAAU;A7B2gGhB;;A6BrgGA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,oBAA2B;EAA3B,2BAA2B;A7BwgG7B;;A6B3gGA;EAMI,WAAW;A7BygGf;;A6BrgGA;;EAII,iB1B8L6B;AHw0FjC;;A6B1gGA;;EnBhBI,0BmB0B8B;EnBzB9B,6BmByB8B;A7BsgGlC;;A6BhhGA;;EnBFI,yBmBiB6B;EnBhB7B,4BmBgB6B;A7BugGjC;;A6Bv/FA;EACE,wBAAmC;EACnC,uBAAkC;A7B0/FpC;;A6B5/FA;;;EAOI,cAAc;A7B2/FlB;;A6Bx/FE;EACE,eAAe;A7B2/FnB;;A6Bv/FA;EACE,uBAAsC;EACtC,sBAAqC;A7B0/FvC;;A6Bv/FA;EACE,sBAAsC;EACtC,qBAAqC;A7B0/FvC;;A6Bt+FA;EACE,0BAAsB;EAAtB,sBAAsB;EACtB,qBAAuB;EAAvB,uBAAuB;EACvB,qBAAuB;EAAvB,uBAAuB;A7By+FzB;;A6B5+FA;;EAOI,WAAW;A7B0+Ff;;A6Bj/FA;;EAYI,gB1B6G6B;AH63FjC;;A6Bt/FA;;EnBlFI,6BmBoG+B;EnBnG/B,4BmBmG+B;A7B0+FnC;;A6B5/FA;;EnBhGI,yBmBuH4B;EnBtH5B,0BmBsH4B;A7B2+FhC;;A6B19FA;;EAGI,gBAAgB;A7B49FpB;;A6B/9FA;;;;EAOM,kBAAkB;EAClB,sBAAsB;EACtB,oBAAoB;A7B+9F1B;;A8BxnGA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,uBAAoB;EAApB,oBAAoB;EACpB,WAAW;A9B2nGb;;A8BhoGA;;;;EAWI,kBAAkB;EAClB,kBAAc;EAAd,cAAc;EAGd,SAAS;EACT,gBAAgB;A9B0nGpB;;A8B1oGA;;;;;;;;;;;;EAqBM,iB3B4M2B;AHw7FjC;;A8BzpGA;;;EA6BI,UAAU;A9BkoGd;;A8B/pGA;EAkCI,UAAU;A9BioGd;;A8BnqGA;;EpBeI,0BoBwBmD;EpBvBnD,6BoBuBmD;A9BkoGvD;;A8BzqGA;;EpB6BI,yBoBWmD;EpBVnD,4BoBUmD;A9BuoGvD;;A8B/qGA;EA8CI,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;A9BqoGvB;;A8BprGA;;EpBeI,0BoBmC6E;EpBlC7E,6BoBkC6E;A9BwoGjF;;A8B1rGA;EpB6BI,yBoBsBsE;EpBrBtE,4BoBqBsE;A9B4oG1E;;A8BjoGA;;EAEE,oBAAa;EAAb,aAAa;A9BooGf;;A8BtoGA;;EAQI,kBAAkB;EAClB,UAAU;A9BmoGd;;A8B5oGA;;EAYM,UAAU;A9BqoGhB;;A8BjpGA;;;;;;;;EAoBI,iB3B+I6B;AHy/FjC;;A8BpoGA;EAAuB,kB3B2IU;AH6/FjC;;A8BvoGA;EAAsB,iB3B0IW;AHigGjC;;A8BnoGA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,yB3BuRkC;E2BtRlC,gBAAgB;E1BsBZ,eAtCY;E0BkBhB,gB3BgL+B;E2B/K/B,gB3BoL+B;E2BnL/B,c3B/FgB;E2BgGhB,kBAAkB;EAClB,mBAAmB;EACnB,yB3BvGgB;E2BwGhB,yB3BtGgB;EONd,sBPqOgC;AH8gGpC;;A8BnpGA;;EAkBI,aAAa;A9BsoGjB;;A8B5nGA;;EAEE,gC3B6WqI;AHkxFvI;;A8B5nGA;;;;;;EAME,oB3BkQgC;EC/Q5B,kBAtCY;E0BqDhB,gB3BsF+B;EO/N7B,qBPsO+B;AHmiGnC;;A8B5nGA;;EAEE,kC3B2VqI;AHoyFvI;;A8B5nGA;;;;;;EAME,uB3B4OiC;EC1Q7B,mBAtCY;E0BsEhB,gB3BsE+B;EOhO7B,qBPuO+B;AHmjGnC;;A8B5nGA;;EAEE,sBAA0E;A9B+nG5E;;A8BpnGA;;;;;;EpB3JI,0BoBiK4B;EpBhK5B,6BoBgK4B;A9BwnGhC;;A8BrnGA;;;;;;EpBtJI,yBoB4J2B;EpB3J3B,4BoB2J2B;A9BynG/B;;A+B/yGA;EACE,kBAAkB;EAClB,cAAc;EACd,kBAA+C;EAC/C,oBAAqE;A/BkzGvE;;A+B/yGA;EACE,2BAAoB;EAApB,oBAAoB;EACpB,kB5Bqf0C;AH6zF5C;;A+B/yGA;EACE,kBAAkB;EAClB,WAAW;EACX,UAAU;A/BkzGZ;;A+BrzGA;EAMI,W5BpBW;E4BqBX,qB5BQa;EmB9Bb,yBnB8Ba;AH4yGjB;;A+B3zGA;EAiBM,gD5BFW;AHgzGjB;;A+B/zGA;EAsBI,qB5BqbsE;AHw3F1E;;A+Bn0GA;EA0BI,W5BxCW;E4ByCX,yB5B8e8E;E4B7e9E,qB5B6e8E;AHg0FlF;;A+Bz0GA;EAkCM,c5B1CY;AHq1GlB;;A+B70GA;EAqCQ,yB5BjDU;AH61GlB;;A+BlyGA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,mBAAmB;A/BqyGrB;;A+BxyGA;EAOI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5B0bwC;E4BzbxC,Y5BybwC;E4BxbxC,oBAAoB;EACpB,WAAW;EACX,sB5B5EW;E4B6EX,yB5BmJ6B;AHkpGjC;;A+BrzGA;EAsBI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5B2awC;E4B1axC,Y5B0awC;E4BzaxC,WAAW;EACX,mCAAgE;A/BmyGpE;;A+B1xGA;ErBrGI,sBPqOgC;AH8pGpC;;A+B9xGA;EAOM,6MbrEqI;AlBg2G3I;;A+BlyGA;EAaM,qB5BnFW;EmB9Bb,yBnB8Ba;AH62GjB;;A+BvyGA;EAkBM,0JbhFqI;AlBy2G3I;;A+B3yGA;EAwBM,wC5B9FW;AHq3GjB;;A+B/yGA;EA2BM,wC5BjGW;AHy3GjB;;A+B/wGA;EAGI,kB5B0Z+C;AHs3FnD;;A+BnxGA;EAQM,uJb1GqI;AlBy3G3I;;A+BvxGA;EAcM,wC5BxHW;AHq4GjB;;A+BnwGA;EACE,qBAA2D;A/BswG7D;;A+BvwGA;EAKM,cAAqD;EACrD,c5BkY+E;E4BjY/E,mBAAmB;EAEnB,qB5BgY4E;AHq4FlF;;A+B9wGA;EAaM,wBAA0I;EAC1I,0BAA+G;EAC/G,uB5B2XiI;E4B1XjI,wB5B0XiI;E4BzXjI,yB5B3KY;E4B6KZ,qB5BsX4E;EiBziB5E,iJjB8f+H;EiB9f/H,yIjB8f+H;EiB9f/H,8KjB8f+H;AH07FrI;;AoBn7GI;EW2JJ;IX1JM,gBAAgB;EpBu7GpB;AACF;;A+B9xGA;EA0BM,sB5BzLS;E4B0LT,sCAA4E;EAA5E,8BAA4E;A/BwwGlF;;A+BnyGA;EAiCM,wC5BnKW;AHy6GjB;;A+B1vGA;EACE,qBAAqB;EACrB,WAAW;EACX,mC5BwR2H;E4BvR3H,0C5BwKkC;EChQ9B,eAtCY;E2BiIhB,gB5BiE+B;E4BhE/B,gB5BqE+B;E4BpE/B,c5B9MgB;E4B+MhB,sBAAsB;EACtB,6M5BmWmI;E4BlWnI,sB5BxNa;E4ByNb,yB5BrNgB;EONd,sBPqOgC;E4BPlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/B2vGlB;;A+B3wGA;EAmBI,qB5B0PsE;E4BzPtE,UAAU;EAIR,gD5BvMW;AHg8GjB;;A+BjxGA;EAiCM,c5BtOY;E4BuOZ,sB5B9OS;AHk+Gf;;A+BtxGA;EAwCI,YAAY;EACZ,sB5BmIgC;E4BlIhC,sBAAsB;A/BkvG1B;;A+B5xGA;EA8CI,c5BpPc;E4BqPd,yB5BzPc;AH2+GlB;;A+BjyGA;EAoDI,aAAa;A/BivGjB;;A+B7uGA;EACE,kC5BmOqI;E4BlOrI,oB5B2HkC;E4B1HlC,uB5B0HkC;E4BzHlC,oB5B0HiC;EC1Q7B,mBAtCY;AJu6GlB;;A+B7uGA;EACE,gC5B4NqI;E4B3NrI,mB5BwHiC;E4BvHjC,sB5BuHiC;E4BtHjC,kB5BuHgC;EC/Q5B,kBAtCY;AJ+6GlB;;A+BxuGA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,mC5B0M2H;E4BzM3H,gBAAgB;A/B2uGlB;;A+BxuGA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,mC5BkM2H;E4BjM3H,SAAS;EACT,UAAU;A/B2uGZ;;A+BjvGA;EASI,qB5B+KsE;E4B9KtE,gD5B9Qa;AH0/GjB;;A+BtvGA;EAcI,yB5B7Sc;AHyhHlB;;A+B1vGA;EAmBM,iB5BqUQ;AHs6Fd;;A+B9vGA;EAwBI,0BAA0B;A/B0uG9B;;A+BtuGA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,mC5BoK2H;E4BnK3H,yB5BoDkC;E4BlDlC,gB5BlD+B;E4BmD/B,gB5B9C+B;E4B+C/B,c5BjUgB;E4BkUhB,sB5BzUa;E4B0Ub,yB5BtUgB;EONd,sBPqOgC;AHg1GpC;;A+BtvGA;EAkBI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,UAAU;EACV,cAAc;EACd,6B5B8I+F;E4B7I/F,yB5BkCgC;E4BjChC,gB5B9D6B;E4B+D7B,c5BjVc;E4BkVd,iBAAiB;ET1VjB,yBnBGc;E4ByVd,oBAAoB;ErB7VpB,kCqB8VgF;A/BwuGpF;;A+B9tGA;EACE,WAAW;EACX,2BAA+F;EAC/F,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/BiuGlB;;A+BtuGA;EAQI,aAAa;A/BkuGjB;;A+B1uGA;EAY8B,gE5BrVb;AHujHjB;;A+B9uGA;EAa8B,gE5BtVb;AH2jHjB;;A+BlvGA;EAc8B,gE5BvVb;AH+jHjB;;A+BtvGA;EAkBI,SAAS;A/BwuGb;;A+B1vGA;EAsBI,W5B8N6C;E4B7N7C,Y5B6N6C;E4B5N7C,oBAAyE;ET/XzE,yBnB8Ba;E4BmWb,S5B6N0C;EO/lB1C,mBPgmB6C;EiB/lB3C,4GjB8f+H;E4BzHjI,wBAAgB;EAAhB,gBAAgB;A/BuuGpB;;AoBvmHI;EWkWJ;IXjWM,gBAAgB;EpB2mHpB;AACF;;A+B3wGA;ETvWI,yBnBmmB2E;AHmhG/E;;A+B/wGA;EAsCI,W5BuMoC;E4BtMpC,c5BuMqC;E4BtMrC,kBAAkB;EAClB,e5BsMuC;E4BrMvC,yB5B7Yc;E4B8Yd,yBAAyB;ErBnZzB,mBPylBoC;AHwiGxC;;A+BzxGA;EAiDI,W5BmM6C;E4BlM7C,Y5BkM6C;EmB3lB7C,yBnB8Ba;E4B6Xb,S5BmM0C;EO/lB1C,mBPgmB6C;EiB/lB3C,4GjB8f+H;E4B/FjI,qBAAgB;EAAhB,gBAAgB;A/B2uGpB;;AoBroHI;EWkWJ;IXjWM,gBAAgB;EpByoHpB;AACF;;A+BzyGA;ETvWI,yBnBmmB2E;AHijG/E;;A+B7yGA;EAgEI,W5B6KoC;E4B5KpC,c5B6KqC;E4B5KrC,kBAAkB;EAClB,e5B4KuC;E4B3KvC,yB5Bvac;E4Bwad,yBAAyB;ErB7azB,mBPylBoC;AHskGxC;;A+BvzGA;EA2EI,W5ByK6C;E4BxK7C,Y5BwK6C;E4BvK7C,aAAa;EACb,oB5BvD+B;E4BwD/B,mB5BxD+B;EmB9X/B,yBnB8Ba;E4B0Zb,S5BsK0C;EO/lB1C,mBPgmB6C;EiB/lB3C,4GjB8f+H;E4BlEjI,gBAAgB;A/B+uGpB;;AoBtqHI;EWkWJ;IXjWM,gBAAgB;EpB0qHpB;AACF;;A+B10GA;ETvWI,yBnBmmB2E;AHklG/E;;A+B90GA;EA6FI,W5BgJoC;E4B/IpC,c5BgJqC;E4B/IrC,kBAAkB;EAClB,e5B+IuC;E4B9IvC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA4C;A/BqvGhD;;A+Bx1GA;EAwGI,yB5B3cc;EOLd,mBPylBoC;AH4mGxC;;A+B71GA;EA6GI,kBAAkB;EAClB,yB5Bjdc;EOLd,mBPylBoC;AHknGxC;;A+Bn2GA;EAoHM,yB5BrdY;AHwsHlB;;A+Bv2GA;EAwHM,eAAe;A/BmvGrB;;A+B32GA;EA4HM,yB5B7dY;AHgtHlB;;A+B/2GA;EAgIM,eAAe;A/BmvGrB;;A+Bn3GA;EAoIM,yB5BreY;AHwtHlB;;A+B9uGA;;;EXhfM,4GjB8f+H;AHsuGrI;;AoB/tHI;EW2eJ;;;IX1eM,gBAAgB;EpBquHpB;AACF;;AgC7uHA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AhCgvHlB;;AgC7uHA;EACE,cAAc;EACd,oB7BkqBsC;AH8kGxC;;AK/uHE;E2BEE,qBAAqB;AhCivHzB;;AgCtvHA;EAUI,c7BVc;E6BWd,oBAAoB;EACpB,eAAe;AhCgvHnB;;AgCxuHA;EACE,gC7BxBgB;AHmwHlB;;AgC5uHA;EAII,mB7BkM6B;AH0iHjC;;AgChvHA;EAQI,6BAAgD;EtB3BhD,+BP4NgC;EO3NhC,gCP2NgC;AH6iHpC;;AKvwHE;E2B6BI,qC7BnCY;AHixHlB;;AgC1vHA;EAgBM,c7BpCY;E6BqCZ,6BAA6B;EAC7B,yBAAyB;AhC8uH/B;;AgChwHA;;EAwBI,c7B3Cc;E6B4Cd,sB7BnDW;E6BoDX,kC7BpDW;AHiyHf;;AgCvwHA;EA+BI,gB7BuK6B;EOzN7B,yBsBoD4B;EtBnD5B,0BsBmD4B;AhC4uHhC;;AgCnuHA;EtBtEI,sBPqOgC;AHwkHpC;;AgCvuHA;;EAOI,W7B3EW;E6B4EX,yB7B/Ca;AHoxHjB;;AgC5tHA;EAEI,kBAAc;EAAd,cAAc;EACd,kBAAkB;AhC8tHtB;;AgC1tHA;EAEI,0BAAa;EAAb,aAAa;EACb,oBAAY;EAAZ,YAAY;EACZ,kBAAkB;AhC4tHtB;;AgCntHA;EAEI,aAAa;AhCqtHjB;;AgCvtHA;EAKI,cAAc;AhCstHlB;;AiC1zHA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,sBAAmB;EAAnB,mBAAmB;EACnB,sBAA8B;EAA9B,8BAA8B;EAC9B,oB9B0GW;AHmtHb;;AiCn0HA;;EAYI,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,sBAAmB;EAAnB,mBAAmB;EACnB,sBAA8B;EAA9B,8BAA8B;AjC4zHlC;;AiCnzHA;EACE,qBAAqB;EACrB,sB9BoqB+E;E8BnqB/E,yB9BmqB+E;E8BlqB/E,kB9BoFW;ECFP,kBAtCY;E6B1ChB,oBAAoB;EACpB,mBAAmB;AjCszHrB;;AKt1HE;E4BmCE,qBAAqB;AjCuzHzB;;AiC9yHA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AjCizHlB;;AiCtzHA;EAQI,gBAAgB;EAChB,eAAe;AjCkzHnB;;AiC3zHA;EAaI,gBAAgB;EAChB,WAAW;AjCkzHf;;AiCzyHA;EACE,qBAAqB;EACrB,mB9B2lBuC;E8B1lBvC,sB9B0lBuC;AHktGzC;;AiChyHA;EACE,6BAAgB;EAAhB,gBAAgB;EAChB,oBAAY;EAAZ,YAAY;EAGZ,sBAAmB;EAAnB,mBAAmB;AjCiyHrB;;AiC7xHA;EACE,wB9BsmBwC;ECnlBpC,kBAtCY;E6BqBhB,cAAc;EACd,6BAA6B;EAC7B,6BAAuC;EvB3GrC,sBPqOgC;AHuqHpC;;AKj4HE;E4BoGE,qBAAqB;AjCiyHzB;;AiC3xHA;EACE,qBAAqB;EACrB,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,WAAW;EACX,mCAAmC;EACnC,0BAA0B;AjC8xH5B;;Act1HI;EmBkEC;;IAIK,gBAAgB;IAChB,eAAe;EjCsxHvB;AACF;;Ac32HI;EmB+EA;IAUI,yBAAqB;IAArB,qBAAqB;IACrB,oBAA2B;IAA3B,2BAA2B;EjCuxHjC;EiClyHG;IAcK,uBAAmB;IAAnB,mBAAmB;EjCuxH3B;EiCryHG;IAiBO,kBAAkB;EjCuxH5B;EiCxyHG;IAqBO,qB9ByiB6B;I8BxiB7B,oB9BwiB6B;EH8uGvC;EiC5yHG;;IA6BK,qBAAiB;IAAjB,iBAAiB;EjCmxHzB;EiChzHG;IAiCK,+BAAwB;IAAxB,wBAAwB;IAGxB,6BAAgB;IAAhB,gBAAgB;EjCgxHxB;EiCpzHG;IAwCK,aAAa;EjC+wHrB;AACF;;Ac13HI;EmBkEC;;IAIK,gBAAgB;IAChB,eAAe;EjC0zHvB;AACF;;Ac/4HI;EmB+EA;IAUI,yBAAqB;IAArB,qBAAqB;IACrB,oBAA2B;IAA3B,2BAA2B;EjC2zHjC;EiCt0HG;IAcK,uBAAmB;IAAnB,mBAAmB;EjC2zH3B;EiCz0HG;IAiBO,kBAAkB;EjC2zH5B;EiC50HG;IAqBO,qB9ByiB6B;I8BxiB7B,oB9BwiB6B;EHkxGvC;EiCh1HG;;IA6BK,qBAAiB;IAAjB,iBAAiB;EjCuzHzB;EiCp1HG;IAiCK,+BAAwB;IAAxB,wBAAwB;IAGxB,6BAAgB;IAAhB,gBAAgB;EjCozHxB;EiCx1HG;IAwCK,aAAa;EjCmzHrB;AACF;;Ac95HI;EmBkEC;;IAIK,gBAAgB;IAChB,eAAe;EjC81HvB;AACF;;Acn7HI;EmB+EA;IAUI,yBAAqB;IAArB,qBAAqB;IACrB,oBAA2B;IAA3B,2BAA2B;EjC+1HjC;EiC12HG;IAcK,uBAAmB;IAAnB,mBAAmB;EjC+1H3B;EiC72HG;IAiBO,kBAAkB;EjC+1H5B;EiCh3HG;IAqBO,qB9ByiB6B;I8BxiB7B,oB9BwiB6B;EHszGvC;EiCp3HG;;IA6BK,qBAAiB;IAAjB,iBAAiB;EjC21HzB;EiCx3HG;IAiCK,+BAAwB;IAAxB,wBAAwB;IAGxB,6BAAgB;IAAhB,gBAAgB;EjCw1HxB;EiC53HG;IAwCK,aAAa;EjCu1HrB;AACF;;Acl8HI;EmBkEC;;IAIK,gBAAgB;IAChB,eAAe;EjCk4HvB;AACF;;Acv9HI;EmB+EA;IAUI,yBAAqB;IAArB,qBAAqB;IACrB,oBAA2B;IAA3B,2BAA2B;EjCm4HjC;EiC94HG;IAcK,uBAAmB;IAAnB,mBAAmB;EjCm4H3B;EiCj5HG;IAiBO,kBAAkB;EjCm4H5B;EiCp5HG;IAqBO,qB9ByiB6B;I8BxiB7B,oB9BwiB6B;EH01GvC;EiCx5HG;;IA6BK,qBAAiB;IAAjB,iBAAiB;EjC+3HzB;EiC55HG;IAiCK,+BAAwB;IAAxB,wBAAwB;IAGxB,6BAAgB;IAAhB,gBAAgB;EjC43HxB;EiCh6HG;IAwCK,aAAa;EjC23HrB;AACF;;AiCz6HA;EAeQ,yBAAqB;EAArB,qBAAqB;EACrB,oBAA2B;EAA3B,2BAA2B;AjC85HnC;;AiC96HA;;EASU,gBAAgB;EAChB,eAAe;AjC06HzB;;AiCp7HA;EAmBU,uBAAmB;EAAnB,mBAAmB;AjCq6H7B;;AiCx7HA;EAsBY,kBAAkB;AjCs6H9B;;AiC57HA;EA0BY,qB9ByiB6B;E8BxiB7B,oB9BwiB6B;AH83GzC;;AiCj8HA;;EAkCU,qBAAiB;EAAjB,iBAAiB;AjCo6H3B;;AiCt8HA;EAsCU,+BAAwB;EAAxB,wBAAwB;EAGxB,6BAAgB;EAAhB,gBAAgB;AjCk6H1B;;AiC38HA;EA6CU,aAAa;AjCk6HvB;;AiCr5HA;EAEI,yB9BjLW;AHwkIf;;AKzkIE;E4BqLI,yB9BpLS;AH4kIf;;AiC75HA;EAWM,yB9B1LS;AHglIf;;AKjlIE;E4B8LM,yB9B7LO;AHolIf;;AiCr6HA;EAkBQ,yB9BjMO;AHwlIf;;AiCz6HA;;;;EA0BM,yB9BzMS;AH+lIf;;AiCh7HA;EA+BI,yB9B9MW;E8B+MX,gC9B/MW;AHomIf;;AiCr7HA;EAoCI,wP9B6fsR;AHw5G1R;;AiCz7HA;EAwCI,yB9BvNW;AH4mIf;;AiC77HA;EA0CM,yB9BzNS;AHgnIf;;AKjnIE;E4B6NM,yB9B5NO;AHonIf;;AiCj5HA;EAEI,W9B/OW;AHkoIf;;AKznIE;E4ByOI,W9BlPS;AHsoIf;;AiCz5HA;EAWM,+B9BxPS;AH0oIf;;AKjoIE;E4BkPM,gC9B3PO;AH8oIf;;AiCj6HA;EAkBQ,gC9B/PO;AHkpIf;;AiCr6HA;;;;EA0BM,W9BvQS;AHypIf;;AiC56HA;EA+BI,+B9B5QW;E8B6QX,sC9B7QW;AH8pIf;;AiCj7HA;EAoCI,8P9BkcqR;AH+8GzR;;AiCr7HA;EAwCI,+B9BrRW;AHsqIf;;AiCz7HA;EA0CM,W9BvRS;AH0qIf;;AKjqIE;E4BiRM,W9B1RO;AH8qIf;;AkCjrIA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,YAAY;EACZ,qBAAqB;EACrB,sB/BHa;E+BIb,2BAA2B;EAC3B,sC/BKa;EOZX,sBPqOgC;AHu9HpC;;AkC7rIA;EAYI,eAAe;EACf,cAAc;AlCqrIlB;;AkClsIA;ExBUI,+BP4NgC;EO3NhC,gCP2NgC;AHi+HpC;;AkCvsIA;ExBwBI,mCP8MgC;EO7MhC,kCP6MgC;AHs+HpC;;AkC/qIA;EAGE,kBAAc;EAAd,cAAc;EACd,gB/B+wByC;AHi6G3C;;AkC5qIA;EACE,sB/BywBwC;AHs6G1C;;AkC5qIA;EACE,qBAA+B;EAC/B,gBAAgB;AlC+qIlB;;AkC5qIA;EACE,gBAAgB;AlC+qIlB;;AKttIE;E6B4CE,qBAAqB;AlC8qIzB;;AkChrIA;EAMI,oB/BwvBuC;AHs7G3C;;AkCtqIA;EACE,wB/B+uByC;E+B9uBzC,gBAAgB;EAEhB,qC/BvDa;E+BwDb,6C/BxDa;AHguIf;;AkC7qIA;ExB/DI,0DwBuE8E;AlCyqIlF;;AkCjrIA;EAaM,aAAa;AlCwqInB;;AkCnqIA;EACE,wB/B6tByC;E+B5tBzC,qC/BvEa;E+BwEb,0C/BxEa;AH8uIf;;AkCzqIA;ExBjFI,0DPmzBoF;AH28GxF;;AkC9pIA;EACE,uBAAiC;EACjC,uB/B4sBwC;E+B3sBxC,sBAAgC;EAChC,gBAAgB;AlCiqIlB;;AkC9pIA;EACE,uBAAiC;EACjC,sBAAgC;AlCiqIlC;;AkC7pIA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,gB/BssByC;AH09G3C;;AkC7pIA;EACE,WAAW;ExBvHT,kCPmzBoF;AHq+GxF;;AkC5pIA;EACE,WAAW;ExBpHT,2CP0yBoF;EOzyBpF,4CPyyBoF;AH2+GxF;;AkC7pIA;EACE,WAAW;ExB3GT,+CP4xBoF;EO3xBpF,8CP2xBoF;AHi/GxF;;AkC3pIA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;AlC8pIxB;;AkChqIA;EAKI,mB/B6qBsD;AHk/G1D;;ActvII;EoBkFJ;IASI,uBAAmB;IAAnB,mBAAmB;IACnB,mB/BwqBsD;I+BvqBtD,kB/BuqBsD;EHy/GxD;EkC3qIF;IAcM,oBAAa;IAAb,aAAa;IAEb,gBAAY;IAAZ,YAAY;IACZ,0BAAsB;IAAtB,sBAAsB;IACtB,kB/BgqBoD;I+B/pBpD,gBAAgB;IAChB,iB/B8pBoD;EHigHxD;AACF;;AkCtpIA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;AlCypIxB;;AkC3pIA;EAOI,mB/B6oBsD;AH2gH1D;;Ac/wII;EoBgHJ;IAWI,uBAAmB;IAAnB,mBAAmB;ElCypIrB;EkCpqIF;IAgBM,gBAAY;IAAZ,YAAY;IACZ,gBAAgB;ElCupIpB;EkCxqIF;IAoBQ,cAAc;IACd,cAAc;ElCupIpB;EkC5qIF;IxBvJI,0BwBkLoC;IxBjLpC,6BwBiLoC;ElCqpItC;EkChrIF;;IAgCY,0BAA0B;ElCopIpC;EkCprIF;;IAqCY,6BAA6B;ElCmpIvC;EkCxrIF;IxBzII,yBwBmLmC;IxBlLnC,4BwBkLmC;ElCkpIrC;EkC5rIF;;IA+CY,yBAAyB;ElCipInC;EkChsIF;;IAoDY,4BAA4B;ElCgpItC;AACF;;AkCpoIA;EAEI,sB/BokBsC;AHkkH1C;;AczzII;EoBiLJ;IAMI,uB/BglBiC;I+BhlBjC,oB/BglBiC;I+BhlBjC,e/BglBiC;I+B/kBjC,2B/BglBuC;I+BhlBvC,wB/BglBuC;I+BhlBvC,mB/BglBuC;I+B/kBvC,UAAU;IACV,SAAS;ElCuoIX;EkChpIF;IAYM,qBAAqB;IACrB,WAAW;ElCuoIf;AACF;;AkC9nIA;EAEI,gBAAgB;AlCgoIpB;;AkCloIA;ExB/PI,gBwBqQ4B;AlCgoIhC;;AkCtoIA;EAUQ,gBAAgB;ExBzQpB,gBwB0Q4B;AlCgoIhC;;AkC3oIA;EAgBM,gBAAgB;ExBxPlB,6BwByPiC;ExBxPjC,4BwBwPiC;AlCgoIrC;;AkCjpIA;ExBtPI,yBwB2Q8B;ExB1Q9B,0BwB0Q8B;AlCioIlC;;AkCtpIA;EAyBM,mB/BtD2B;AHurIjC;;AmC95IA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,qBhC2gCsC;EgC1gCtC,mBhC6gCsC;EgC5gCtC,gBAAgB;EAChB,yBhCGgB;EOJd,sBPqOgC;AH8rIpC;;AmC95IA;EAGI,oBhCkgCqC;AH65GzC;;AmCl6IA;EAMM,qBAAqB;EACrB,qBhC8/BmC;EgC7/BnC,chCLY;EgCMZ,YhCmgCuC;AH65G7C;;AmCz6IA;EAoBI,0BAA0B;AnCy5I9B;;AmC76IA;EAwBI,qBAAqB;AnCy5IzB;;AmCj7IA;EA4BI,chCzBc;AHk7IlB;;AoC/7IA;EACE,oBAAa;EAAb,aAAa;E7BGb,eAAe;EACf,gBAAgB;EGAd,sBPqOgC;AH4tIpC;;AoCh8IA;EACE,kBAAkB;EAClB,cAAc;EACd,uBjCqwBwC;EiCpwBxC,iBjC6N+B;EiC5N/B,iBjCwwBsC;EiCvwBtC,cjCwBe;EiCvBf,sBjCNa;EiCOb,yBjCJgB;AHu8IlB;;AoC38IA;EAWI,UAAU;EACV,cjC2J8D;EiC1J9D,qBAAqB;EACrB,yBjCXc;EiCYd,qBjCXc;AH+8IlB;;AoCn9IA;EAmBI,UAAU;EACV,UjCiwBiC;EiChwBjC,gDjCSa;AH27IjB;;AoCh8IA;EAGM,cAAc;E1BChB,+BPuMgC;EOtMhC,kCPsMgC;AH2vIpC;;AoCt8IA;E1BVI,gCPqNgC;EOpNhC,mCPoNgC;AHgwIpC;;AoC38IA;EAcI,UAAU;EACV,WjCvCW;EiCwCX,yBjCXa;EiCYb,qBjCZa;AH68IjB;;AoCl9IA;EAqBI,cjCvCc;EiCwCd,oBAAoB;EAEpB,YAAY;EACZ,sBjCjDW;EiCkDX,qBjC/Cc;AH++IlB;;AqCt/IE;EACE,uBlC8wBsC;ECnpBpC,kBAtCY;EiCnFd,gBlC8N6B;AH2xIjC;;AqCp/IM;E3BwBF,8BPwM+B;EOvM/B,iCPuM+B;AHyxInC;;AqCp/IM;E3BKF,+BPsN+B;EOrN/B,kCPqN+B;AH8xInC;;AqCtgJE;EACE,uBlC4wBqC;ECjpBnC,mBAtCY;EiCnFd,gBlC+N6B;AH0yIjC;;AqCpgJM;E3BwBF,8BPyM+B;EOxM/B,iCPwM+B;AHwyInC;;AqCpgJM;E3BKF,+BPuN+B;EOtN/B,kCPsN+B;AH6yInC;;AsCphJA;EACE,qBAAqB;EACrB,qBnC24BsC;EC10BpC,cAAW;EkC/Db,gBnCmR+B;EmClR/B,cAAc;EACd,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;E5BRtB,sBPqOgC;EiBpO9B,qIjBqb6I;AH2mInJ;;AoB3hJI;EkBNJ;IlBOM,gBAAgB;EpB+hJpB;AACF;;AK5hJE;EiCGI,qBAAqB;AtC6hJ3B;;AsC3iJA;EAoBI,aAAa;AtC2hJjB;;AsCthJA;EACE,kBAAkB;EAClB,SAAS;AtCyhJX;;AsClhJA;EACE,oBnCg3BsC;EmC/2BtC,mBnC+2BsC;EOn5BpC,oBPs5BqC;AHoqHzC;;AsC7gJE;ECjDA,WpCMa;EoCLb,yBpCkCe;AHgiJjB;;AKpjJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCkkJxC;;AuCrkJU;EAQJ,UAAU;EACV,+CpCuBW;AH0iJjB;;AsC5hJE;ECjDA,WpCMa;EoCLb,yBpCWgB;AHskJlB;;AKnkJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCilJxC;;AuCplJU;EAQJ,UAAU;EACV,iDpCAY;AHglJlB;;AsC3iJE;ECjDA,WpCMa;EoCLb,yBpCyCe;AHujJjB;;AKllJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCgmJxC;;AuCnmJU;EAQJ,UAAU;EACV,+CpC8BW;AHikJjB;;AsC1jJE;ECjDA,WpCMa;EoCLb,yBpC2Ce;AHokJjB;;AKjmJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC+mJxC;;AuClnJU;EAQJ,UAAU;EACV,gDpCgCW;AH8kJjB;;AsCzkJE;ECjDA,cpCegB;EoCdhB,yBpCwCe;AHslJjB;;AKhnJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvC8nJxC;;AuCjoJU;EAQJ,UAAU;EACV,+CpC6BW;AHgmJjB;;AsCxlJE;ECjDA,WpCMa;EoCLb,yBpCsCe;AHumJjB;;AK/nJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC6oJxC;;AuChpJU;EAQJ,UAAU;EACV,+CpC2BW;AHinJjB;;AsCvmJE;ECjDA,cpCegB;EoCdhB,yBpCMgB;AHspJlB;;AK9oJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvC4pJxC;;AuC/pJU;EAQJ,UAAU;EACV,iDpCLY;AHgqJlB;;AsCtnJE;ECjDA,WpCMa;EoCLb,yBpCagB;AH8pJlB;;AK7pJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC2qJxC;;AuC9qJU;EAQJ,UAAU;EACV,8CpCEY;AHwqJlB;;AwCvrJA;EACE,kBAAoD;EACpD,mBrC0yBsC;EqCxyBtC,yBrCKgB;EOJd,qBPsO+B;AHm9InC;;AcloJI;E0B5DJ;IAQI,kBrCoyBoC;EHu5HtC;AACF;;AwCxrJA;EACE,gBAAgB;EAChB,eAAe;E9BTb,gB8BUsB;AxC2rJ1B;;AyCtsJA;EACE,kBAAkB;EAClB,wBtCm8ByC;EsCl8BzC,mBtCm8BsC;EsCl8BtC,6BAA6C;E/BH3C,sBPqOgC;AHw+IpC;;AyCrsJA;EAEE,cAAc;AzCusJhB;;AyCnsJA;EACE,gBtCwQ+B;AH87IjC;;AyC9rJA;EACE,mBAAsD;AzCisJxD;;AyClsJA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,wBtCq6BuC;EsCp6BvC,cAAc;AzCisJlB;;AyCvrJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBwpJlE;;A0CvuJE;EACE,yBAAqC;A1C0uJzC;;A0CvuJE;EACE,cAA0B;A1C0uJ9B;;AyCrsJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBsqJlE;;A0CrvJE;EACE,yBAAqC;A1CwvJzC;;A0CrvJE;EACE,cAA0B;A1CwvJ9B;;AyCntJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBorJlE;;A0CnwJE;EACE,yBAAqC;A1CswJzC;;A0CnwJE;EACE,cAA0B;A1CswJ9B;;AyCjuJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBksJlE;;A0CjxJE;EACE,yBAAqC;A1CoxJzC;;A0CjxJE;EACE,cAA0B;A1CoxJ9B;;AyC/uJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBgtJlE;;A0C/xJE;EACE,yBAAqC;A1CkyJzC;;A0C/xJE;EACE,cAA0B;A1CkyJ9B;;AyC7vJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlB8tJlE;;A0C7yJE;EACE,yBAAqC;A1CgzJzC;;A0C7yJE;EACE,cAA0B;A1CgzJ9B;;AyC3wJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlB4uJlE;;A0C3zJE;EACE,yBAAqC;A1C8zJzC;;A0C3zJE;EACE,cAA0B;A1C8zJ9B;;AyCzxJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlB0vJlE;;A0Cz0JE;EACE,yBAAqC;A1C40JzC;;A0Cz0JE;EACE,cAA0B;A1C40J9B;;A2Cp1JE;EACE;IAAO,2BAAuC;E3Cw1JhD;E2Cv1JE;IAAK,wBAAwB;E3C01J/B;AACF;;A2C71JE;EACE;IAAO,2BAAuC;E3Cw1JhD;E2Cv1JE;IAAK,wBAAwB;E3C01J/B;AACF;;A2Cv1JA;EACE,oBAAa;EAAb,aAAa;EACb,YxC48BsC;EwC38BtC,gBAAgB;EvCoHZ,kBAtCY;EuC5EhB,yBxCJgB;EOJd,sBPqOgC;AH8nJpC;;A2Ct1JA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,qBAAuB;EAAvB,uBAAuB;EACvB,WxCfa;EwCgBb,kBAAkB;EAClB,mBAAmB;EACnB,yBxCWe;EiB9BX,2BjBw9B4C;AHq5HlD;;AoBx2JI;EuBOJ;IvBNM,gBAAgB;EpB42JpB;AACF;;A2C51JA;ErBcE,qMAA6I;EqBZ7I,0BxCu7BsC;AHw6HxC;;A2C31JE;EACE,0DxCy7BkD;EwCz7BlD,kDxCy7BkD;AHq6HtD;;A2C51JI;EAHF;IAII,uBAAe;IAAf,eAAe;E3Cg2JnB;AACF;;A4Cx4JA;EACE,oBAAa;EAAb,aAAa;EACb,qBAAuB;EAAvB,uBAAuB;A5C24JzB;;A4Cx4JA;EACE,WAAO;EAAP,OAAO;A5C24JT;;A6C74JA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;A7C84JlB;;A6Cr4JA;EACE,WAAW;EACX,c1CPgB;E0CQhB,mBAAmB;A7Cw4JrB;;AK94JE;EwCUE,UAAU;EACV,c1Cbc;E0Ccd,qBAAqB;EACrB,yB1CrBc;AH65JlB;;A6Cl5JA;EAcI,c1CjBc;E0CkBd,yB1CzBc;AHi6JlB;;A6C/3JA;EACE,kBAAkB;EAClB,cAAc;EACd,wB1C47ByC;E0C17BzC,mB1CuL+B;E0CrL/B,sB1C3Ca;E0C4Cb,sC1ClCa;AHk6Jf;;A6Cx4JA;EnC7BI,+BP4NgC;EO3NhC,gCP2NgC;AH8sJpC;;A6C74JA;EAeI,gBAAgB;EnC9BhB,mCP8MgC;EO7MhC,kCP6MgC;AHotJpC;;A6Cn5JA;EAqBI,c1CnDc;E0CoDd,oBAAoB;EACpB,sB1C3DW;AH67Jf;;A6Cz5JA;EA4BI,UAAU;EACV,W1CjEW;E0CkEX,yB1CrCa;E0CsCb,qB1CtCa;AHu6JjB;;A6Cp3JI;EACE,uBAAmB;EAAnB,mBAAmB;A7Cu3JzB;;A6Cx3JI;EAII,kB1C4IyB;E0C3IzB,gBAAgB;A7Cw3JxB;;A6C73JI;EnCpDA,+BPuMgC;EOtMhC,kCPsMgC;EO1LhC,0BmCgDwC;A7C03J5C;;A6Cn4JI;EAaM,eAAe;EnC/ErB,gCPqNgC;EOpNhC,mCPoNgC;EO9KhC,4BmC0C0C;A7C23J9C;;Acr6JI;E+B2BA;IACE,uBAAmB;IAAnB,mBAAmB;E7C84JvB;E6C/4JE;IAII,kB1C4IyB;I0C3IzB,gBAAgB;E7C84JtB;E6Cn5JE;InCpDA,+BPuMgC;IOtMhC,kCPsMgC;IO1LhC,0BmCgDwC;E7C+4J1C;E6Cx5JE;IAaM,eAAe;InC/ErB,gCPqNgC;IOpNhC,mCPoNgC;IO9KhC,4BmC0C0C;E7C+4J5C;AACF;;Ac17JI;E+B2BA;IACE,uBAAmB;IAAnB,mBAAmB;E7Cm6JvB;E6Cp6JE;IAII,kB1C4IyB;I0C3IzB,gBAAgB;E7Cm6JtB;E6Cx6JE;InCpDA,+BPuMgC;IOtMhC,kCPsMgC;IO1LhC,0BmCgDwC;E7Co6J1C;E6C76JE;IAaM,eAAe;InC/ErB,gCPqNgC;IOpNhC,mCPoNgC;IO9KhC,4BmC0C0C;E7Co6J5C;AACF;;Ac/8JI;E+B2BA;IACE,uBAAmB;IAAnB,mBAAmB;E7Cw7JvB;E6Cz7JE;IAII,kB1C4IyB;I0C3IzB,gBAAgB;E7Cw7JtB;E6C77JE;InCpDA,+BPuMgC;IOtMhC,kCPsMgC;IO1LhC,0BmCgDwC;E7Cy7J1C;E6Cl8JE;IAaM,eAAe;InC/ErB,gCPqNgC;IOpNhC,mCPoNgC;IO9KhC,4BmC0C0C;E7Cy7J5C;AACF;;Acp+JI;E+B2BA;IACE,uBAAmB;IAAnB,mBAAmB;E7C68JvB;E6C98JE;IAII,kB1C4IyB;I0C3IzB,gBAAgB;E7C68JtB;E6Cl9JE;InCpDA,+BPuMgC;IOtMhC,kCPsMgC;IO1LhC,0BmCgDwC;E7C88J1C;E6Cv9JE;IAaM,eAAe;InC/ErB,gCPqNgC;IOpNhC,mCPoNgC;IO9KhC,4BmC0C0C;E7C88J5C;AACF;;A6Cl8JA;EAEI,eAAe;EACf,cAAc;EnCjHd,gBmCkHwB;A7Co8J5B;;A6Cx8JA;EAOM,mB1C6G2B;AHw1JjC;;A6C58JA;EAaM,aAAa;A7Cm8JnB;;A6Ch9JA;EAmBM,gBAAgB;EAChB,gBAAgB;A7Ci8JtB;;A8CrkKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBy/JlE;;AK7jKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwkKjD;;A8C/kKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBogKlE;;A8CrlKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBygKlE;;AK7kKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwlKjD;;A8C/lKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBohKlE;;A8CrmKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlByhKlE;;AK7lKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwmKjD;;A8C/mKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBoiKlE;;A8CrnKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlByiKlE;;AK7mKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwnKjD;;A8C/nKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBojKlE;;A8CroKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlByjKlE;;AK7nKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwoKjD;;A8C/oKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBokKlE;;A8CrpKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBykKlE;;AK7oKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwpKjD;;A8C/pKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBolKlE;;A8CrqKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBylKlE;;AK7pKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwqKjD;;A8C/qKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBomKlE;;A8CrrKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBymKlE;;AK7qKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwrKjD;;A8C/rKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBonKlE;;A+CxsKA;EACE,YAAY;E3C8HR,iBAtCY;E2CtFhB,gB5CyR+B;E4CxR/B,cAAc;EACd,W5CYa;E4CXb,yB5CCa;E4CAb,WAAW;A/C2sKb;;AKtsKE;E0CDE,W5CMW;E4CLX,qBAAqB;A/C2sKzB;;AKvsKE;E0CCI,YAAY;A/C0sKlB;;A+C/rKA;EACE,UAAU;EACV,6BAA6B;EAC7B,SAAS;EACT,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/CksKlB;;A+C5rKA;EACE,oBAAoB;A/C+rKtB;;AgDtuKA;EACE,gB7C43BuC;E6C33BvC,gBAAgB;E5C6HZ,mBAtCY;E4CpFhB,2C7CEa;E6CDb,4BAA4B;EAC5B,oC7C63BmD;E6C53BnD,gD7CSa;E6CRb,mCAA2B;EAA3B,2BAA2B;EAC3B,UAAU;EtCLR,sBPg4BsC;AH82I1C;;AgDnvKA;EAcI,sB7Cg3BsC;AHy3I1C;;AgDvvKA;EAkBI,UAAU;AhDyuKd;;AgD3vKA;EAsBI,cAAc;EACd,UAAU;AhDyuKd;;AgDhwKA;EA2BI,aAAa;AhDyuKjB;;AgDruKA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,wB7C41BwC;E6C31BxC,c7CtBgB;E6CuBhB,2C7C7Ba;E6C8Bb,4BAA4B;EAC5B,4C7Co2BoD;AHo4ItD;;AgDruKA;EACE,gB7Co1BwC;AHo5I1C;;AiD5wKA;EAEE,gBAAgB;AjD8wKlB;;AiDhxKA;EAKI,kBAAkB;EAClB,gBAAgB;AjD+wKpB;;AiD1wKA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9CopBsC;E8CnpBtC,aAAa;EACb,WAAW;EACX,YAAY;EACZ,gBAAgB;EAGhB,UAAU;AjD2wKZ;;AiDpwKA;EACE,kBAAkB;EAClB,WAAW;EACX,c9C63BuC;E8C33BvC,oBAAoB;AjDswKtB;;AiDnwKE;E7BrCI,2CjB27BoD;EiB37BpD,mCjB27BoD;EiB37BpD,oEjB27BoD;E8Cp5BtD,sC9Ck5BmD;E8Cl5BnD,8B9Ck5BmD;AHo3IvD;;AoBxyKI;E6BgCF;I7B/BI,gBAAgB;EpB4yKpB;AACF;;AiD1wKE;EACE,uB9Cg5BoC;E8Ch5BpC,e9Cg5BoC;AH63IxC;;AiDzwKA;EACE,oBAAa;EAAb,aAAa;EACb,6BAAoD;AjD4wKtD;;AiD9wKA;EAKI,8BAAqD;EACrD,gBAAgB;AjD6wKpB;;AiDnxKA;;EAWI,oBAAc;EAAd,cAAc;AjD6wKlB;;AiDxxKA;EAeI,gBAAgB;AjD6wKpB;;AiDzwKA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,6BAAoD;AjD4wKtD;;AiD/wKA;EAOI,cAAc;EACd,0BAAiD;EACjD,WAAW;AjD4wKf;;AiDrxKA;EAcI,0BAAsB;EAAtB,sBAAsB;EACtB,qBAAuB;EAAvB,uBAAuB;EACvB,YAAY;AjD2wKhB;;AiD3xKA;EAmBM,gBAAgB;AjD4wKtB;;AiD/xKA;EAuBM,aAAa;AjD4wKnB;;AiDtwKA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,WAAW;EAGX,oBAAoB;EACpB,sB9CrGa;E8CsGb,4BAA4B;EAC5B,oC9C7Fa;EOZX,qBPsO+B;E8CzHjC,UAAU;AjDqwKZ;;AiDjwKA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9C8iBsC;E8C7iBtC,YAAY;EACZ,aAAa;EACb,sB9C5Ga;AHg3Kf;;AiD3wKA;EAUW,UAAU;AjDqwKrB;;AiD/wKA;EAWW,Y9CgzB2B;AHw9ItC;;AiDnwKA;EACE,oBAAa;EAAb,aAAa;EACb,qBAAuB;EAAvB,uBAAuB;EACvB,sBAA8B;EAA9B,8BAA8B;EAC9B,kB9C6yBsC;E8C5yBtC,gC9CjIgB;EOId,8BP6N+B;EO5N/B,+BP4N+B;AHwqKnC;;AiD7wKA;EASI,kB9CwyBoC;E8CtyBpC,8BAA6F;AjDuwKjG;;AiDlwKA;EACE,gBAAgB;EAChB,gB9CwI+B;AH6nKjC;;AiDhwKA;EACE,kBAAkB;EAGlB,kBAAc;EAAd,cAAc;EACd,a9C+vBsC;AHkgJxC;;AiD7vKA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,kBAAyB;EAAzB,yBAAyB;EACzB,a9CuvBsC;E8CtvBtC,6B9CjKgB;EOkBd,kCP+M+B;EO9M/B,iCP8M+B;AHksKnC;;AiDvwKA;EASyB,mBAAmB;AjDkwK5C;;AiD3wKA;EAUwB,oBAAoB;AjDqwK5C;;AiDjwKA;EACE,kBAAkB;EAClB,YAAY;EACZ,WAAW;EACX,YAAY;EACZ,gBAAgB;AjDowKlB;;Acj4KI;EmCzBJ;IA6JI,gB9C4vBqC;I8C3vBrC,oBAAyC;EjDkwK3C;EiD/4KF;IAiJI,+BAA4D;EjDiwK9D;EiDl5KF;IAoJM,gCAA6D;EjDiwKjE;EiDl4KF;IAsII,+BAA4D;EjD+vK9D;EiDr4KF;IAyIM,4BAAyD;EjD+vK7D;EiDvvKA;IAAY,gB9CquB2B;EHqhJvC;AACF;;Acv5KI;EmCgKF;;IAEE,gB9C6tBqC;EH8hJvC;AACF;;Ac95KI;EmCuKF;IAAY,iB9CutB4B;EHqiJxC;AACF;;AkD/9KA;EACE,kBAAkB;EAClB,a/CwqBsC;E+CvqBtC,cAAc;EACd,S/C60BmC;EgDj1BnC,kMhD+QiN;EgD7QjN,kBAAkB;EAClB,gBhDuR+B;EgDtR/B,gBhD2R+B;EgD1R/B,gBAAgB;EAChB,iBAAiB;EACjB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;E/CgHZ,mBAtCY;E8C9EhB,qBAAqB;EACrB,UAAU;AlD4+KZ;;AkDv/KA;EAaW,Y/Ci0B2B;AH6qJtC;;AkD3/KA;EAgBI,kBAAkB;EAClB,cAAc;EACd,a/Ci0BqC;E+Ch0BrC,c/Ci0BqC;AH8qJzC;;AkDlgLA;EAsBM,kBAAkB;EAClB,WAAW;EACX,yBAAyB;EACzB,mBAAmB;AlDg/KzB;;AkD3+KA;EACE,iBAAgC;AlD8+KlC;;AkD/+KA;EAII,SAAS;AlD++Kb;;AkDn/KA;EAOM,MAAM;EACN,6BAAgE;EAChE,sB/CvBS;AHugLf;;AkD3+KA;EACE,iB/CuyBuC;AHusJzC;;AkD/+KA;EAII,OAAO;EACP,a/CmyBqC;E+ClyBrC,c/CiyBqC;AH8sJzC;;AkDr/KA;EASM,QAAQ;EACR,oCAA2F;EAC3F,wB/CvCS;AHuhLf;;AkD3+KA;EACE,iBAAgC;AlD8+KlC;;AkD/+KA;EAII,MAAM;AlD++KV;;AkDn/KA;EAOM,SAAS;EACT,6B/CgxBmC;E+C/wBnC,yB/CrDS;AHqiLf;;AkD3+KA;EACE,iB/CywBuC;AHquJzC;;AkD/+KA;EAII,QAAQ;EACR,a/CqwBqC;E+CpwBrC,c/CmwBqC;AH4uJzC;;AkDr/KA;EASM,OAAO;EACP,oC/CgwBmC;E+C/vBnC,uB/CrES;AHqjLf;;AkD39KA;EACE,gB/C+tBuC;E+C9tBvC,uB/CouBuC;E+CnuBvC,W/CvGa;E+CwGb,kBAAkB;EAClB,sB/C/Fa;EOZX,sBPqOgC;AHq2KpC;;AoD/kLA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,ajDsqBsC;EiDrqBtC,cAAc;EACd,gBjD+1BuC;EgDp2BvC,kMhD+QiN;EgD7QjN,kBAAkB;EAClB,gBhDuR+B;EgDtR/B,gBhD2R+B;EgD1R/B,gBAAgB;EAChB,iBAAiB;EACjB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;E/CgHZ,mBAtCY;EgD7EhB,qBAAqB;EACrB,sBjDNa;EiDOb,4BAA4B;EAC5B,oCjDEa;EOZX,qBPsO+B;AHi4KnC;;AoD5mLA;EAoBI,kBAAkB;EAClB,cAAc;EACd,WjD81BoC;EiD71BpC,cjD81BqC;EiD71BrC,gBjDmN+B;AHy4KnC;;AoDpnLA;EA4BM,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,yBAAyB;EACzB,mBAAmB;ApD4lLzB;;AoDvlLA;EACE,qBjD+0BuC;AH2wJzC;;AoD3lLA;EAII,iCAAwE;ApD2lL5E;;AoD/lLA;EAOM,SAAS;EACT,6BAAgE;EAChE,qCjD00BiE;AHkxJvE;;AoDrmLA;EAaM,WjDqL2B;EiDpL3B,6BAAgE;EAChE,sBjD7CS;AHyoLf;;AoDvlLA;EACE,mBjD2zBuC;AH+xJzC;;AoD3lLA;EAII,+BAAsE;EACtE,ajDuzBqC;EiDtzBrC,YjDqzBoC;EiDpzBpC,gBAA2B;ApD2lL/B;;AoDlmLA;EAUM,OAAO;EACP,oCAA2F;EAC3F,uCjDmzBiE;AHyyJvE;;AoDxmLA;EAgBM,SjD8J2B;EiD7J3B,oCAA2F;EAC3F,wBjDpES;AHgqLf;;AoDvlLA;EACE,kBjDoyBuC;AHszJzC;;AoD3lLA;EAII,8BAAqE;ApD2lLzE;;AoD/lLA;EAOM,MAAM;EACN,oCAA2F;EAC3F,wCjD+xBiE;AH6zJvE;;AoDrmLA;EAaM,QjD0I2B;EiDzI3B,oCAA2F;EAC3F,yBjDxFS;AHorLf;;AoD3mLA;EAqBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,cAAc;EACd,WjD2wBoC;EiD1wBpC,oBAAsC;EACtC,WAAW;EACX,gCjD+vBuD;AH21J3D;;AoDtlLA;EACE,oBjDowBuC;AHq1JzC;;AoD1lLA;EAII,gCAAuE;EACvE,ajDgwBqC;EiD/vBrC,YjD8vBoC;EiD7vBpC,gBAA2B;ApD0lL/B;;AoDjmLA;EAUM,QAAQ;EACR,oCjD0vBmC;EiDzvBnC,sCjD4vBiE;AH+1JvE;;AoDvmLA;EAgBM,UjDuG2B;EiDtG3B,oCjDovBmC;EiDnvBnC,uBjD3HS;AHstLf;;AoDrkLA;EACE,uBjDqtBwC;EiDptBxC,gBAAgB;EhD3BZ,eAtCY;EgDoEhB,yBjD8sByD;EiD7sBzD,gCAAyE;E1ChJvE,0C0CiJyE;E1ChJzE,2C0CgJyE;ApDwkL7E;;AoD/kLA;EAWI,aAAa;ApDwkLjB;;AoDpkLA;EACE,uBjDssBwC;EiDrsBxC,cjDzJgB;AHguLlB;;AqDnuLA;EACE,kBAAkB;ArDsuLpB;;AqDnuLA;EACE,uBAAmB;EAAnB,mBAAmB;ArDsuLrB;;AqDnuLA;EACE,kBAAkB;EAClB,WAAW;EACX,gBAAgB;ArDsuLlB;;AsD7vLE;EACE,cAAc;EACd,WAAW;EACX,WAAW;AtDgwLf;;AqDxuLA;EACE,kBAAkB;EAClB,aAAa;EACb,WAAW;EACX,WAAW;EACX,mBAAmB;EACnB,mCAA2B;EAA3B,2BAA2B;EjC5BvB,8CjB6iCkF;EiB7iClF,sCjB6iCkF;EiB7iClF,0EjB6iCkF;AH2tJxF;;AoBnwLI;EiCiBJ;IjChBM,gBAAgB;EpBuwLpB;AACF;;AqD9uLA;;;EAGE,cAAc;ArDivLhB;;AqD9uLA;;EAEE,mCAA2B;EAA3B,2BAA2B;ArDivL7B;;AqD9uLA;;EAEE,oCAA4B;EAA5B,4BAA4B;ArDivL9B;;AqDzuLA;EAEI,UAAU;EACV,4BAA4B;EAC5B,uBAAe;EAAf,eAAe;ArD2uLnB;;AqD/uLA;;;EAUI,UAAU;EACV,UAAU;ArD2uLd;;AqDtvLA;;EAgBI,UAAU;EACV,UAAU;EjCtER,2BiCuE0D;ArD2uLhE;;AoB7yLI;EiCgDJ;;IjC/CM,gBAAgB;EpBkzLpB;AACF;;AqDzuLA;;EAEE,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,UAAU;EAEV,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,qBAAuB;EAAvB,uBAAuB;EACvB,UlD87BsC;EkD77BtC,WlD1Fa;EkD2Fb,kBAAkB;EAClB,YlD47BqC;EiBzhCjC,8BjB2hCgD;AH8yJtD;;AoBp0LI;EiC2EJ;;IjC1EM,gBAAgB;EpBy0LpB;AACF;;AKt0LE;;;EgDwFE,WlDjGW;EkDkGX,qBAAqB;EACrB,UAAU;EACV,YlDq7BmC;AH+zJvC;;AqDjvLA;EACE,OAAO;ArDovLT;;AqD/uLA;EACE,QAAQ;ArDkvLV;;AqD3uLA;;EAEE,qBAAqB;EACrB,WlD86BuC;EkD76BvC,YlD66BuC;EkD56BvC,qCAAqC;ArD8uLvC;;AqD5uLA;EACE,mMnCxFyI;AlBu0L3I;;AqD7uLA;EACE,mMnC3FyI;AlB20L3I;;AqDvuLA;EACE,kBAAkB;EAClB,QAAQ;EACR,SAAS;EACT,OAAO;EACP,WAAW;EACX,oBAAa;EAAb,aAAa;EACb,qBAAuB;EAAvB,uBAAuB;EACvB,eAAe;EAEf,iBlDo4BsC;EkDn4BtC,gBlDm4BsC;EkDl4BtC,gBAAgB;ArDyuLlB;;AqDrvLA;EAeI,uBAAuB;EACvB,kBAAc;EAAd,cAAc;EACd,WlDk4BqC;EkDj4BrC,WlDk4BoC;EkDj4BpC,iBlDm4BoC;EkDl4BpC,gBlDk4BoC;EkDj4BpC,mBAAmB;EACnB,eAAe;EACf,sBlDhKW;EkDiKX,4BAA4B;EAE5B,kCAAiE;EACjE,qCAAoE;EACpE,WAAW;EjCtKT,6BjBkiC+C;AH82JrD;;AoB34LI;EiCqIJ;IjCpIM,gBAAgB;EpB+4LpB;AACF;;AqD5wLA;EAiCI,UAAU;ArD+uLd;;AqDtuLA;EACE,kBAAkB;EAClB,UAA2C;EAC3C,YAAY;EACZ,SAA0C;EAC1C,WAAW;EACX,iBAAiB;EACjB,oBAAoB;EACpB,WlD3La;EkD4Lb,kBAAkB;ArDyuLpB;;AuDx6LA;EACE;IAAK,iCAAyB;IAAzB,yBAAyB;EvD46L9B;AACF;;AuD96LA;EACE;IAAK,iCAAyB;IAAzB,yBAAyB;EvD46L9B;AACF;;AuD16LA;EACE,qBAAqB;EACrB,WpD8iC0B;EoD7iC1B,YpD6iC0B;EoD5iC1B,2BAA2B;EAC3B,iCAAgD;EAChD,+BAA+B;EAE/B,kBAAkB;EAClB,sDAA8C;EAA9C,8CAA8C;AvD46LhD;;AuDz6LA;EACE,WpDuiC4B;EoDtiC5B,YpDsiC4B;EoDriC5B,mBpDuiC4B;AHq4J9B;;AuDr6LA;EACE;IACE,2BAAmB;IAAnB,mBAAmB;EvDw6LrB;EuDt6LA;IACE,UAAU;EvDw6LZ;AACF;;AuD96LA;EACE;IACE,2BAAmB;IAAnB,mBAAmB;EvDw6LrB;EuDt6LA;IACE,UAAU;EvDw6LZ;AACF;;AuDr6LA;EACE,qBAAqB;EACrB,WpD+gC0B;EoD9gC1B,YpD8gC0B;EoD7gC1B,2BAA2B;EAC3B,8BAA8B;EAE9B,kBAAkB;EAClB,UAAU;EACV,oDAA4C;EAA5C,4CAA4C;AvDu6L9C;;AuDp6LA;EACE,WpDwgC4B;EoDvgC5B,YpDugC4B;AHg6J9B;;AwD19LA;EAAqB,mCAAmC;AxD89LxD;;AwD79LA;EAAqB,8BAA8B;AxDi+LnD;;AwDh+LA;EAAqB,iCAAiC;AxDo+LtD;;AwDn+LA;EAAqB,iCAAiC;AxDu+LtD;;AwDt+LA;EAAqB,sCAAsC;AxD0+L3D;;AwDz+LA;EAAqB,mCAAmC;AxD6+LxD;;AyD/+LE;EACE,oCAAmC;AzDk/LvC;;AKx+LE;;;EoDLI,oCAAgD;AzDm/LtD;;AyDz/LE;EACE,oCAAmC;AzD4/LvC;;AKl/LE;;;EoDLI,oCAAgD;AzD6/LtD;;AyDngME;EACE,oCAAmC;AzDsgMvC;;AK5/LE;;;EoDLI,oCAAgD;AzDugMtD;;AyD7gME;EACE,oCAAmC;AzDghMvC;;AKtgME;;;EoDLI,oCAAgD;AzDihMtD;;AyDvhME;EACE,oCAAmC;AzD0hMvC;;AKhhME;;;EoDLI,oCAAgD;AzD2hMtD;;AyDjiME;EACE,oCAAmC;AzDoiMvC;;AK1hME;;;EoDLI,oCAAgD;AzDqiMtD;;AyD3iME;EACE,oCAAmC;AzD8iMvC;;AKpiME;;;EoDLI,oCAAgD;AzD+iMtD;;AyDrjME;EACE,oCAAmC;AzDwjMvC;;AK9iME;;;EoDLI,oCAAgD;AzDyjMtD;;A0DxjMA;EACE,iCAAmC;A1D2jMrC;;A0DxjMA;EACE,wCAAwC;A1D2jM1C;;A2DtkMA;EAAkB,oCAAoD;A3D0kMtE;;A2DzkMA;EAAkB,wCAAwD;A3D6kM1E;;A2D5kMA;EAAkB,0CAA0D;A3DglM5E;;A2D/kMA;EAAkB,2CAA2D;A3DmlM7E;;A2DllMA;EAAkB,yCAAyD;A3DslM3E;;A2DplMA;EAAmB,oBAAoB;A3DwlMvC;;A2DvlMA;EAAmB,wBAAwB;A3D2lM3C;;A2D1lMA;EAAmB,0BAA0B;A3D8lM7C;;A2D7lMA;EAAmB,2BAA2B;A3DimM9C;;A2DhmMA;EAAmB,yBAAyB;A3DomM5C;;A2DjmME;EACE,gCAA+B;A3DomMnC;;A2DrmME;EACE,gCAA+B;A3DwmMnC;;A2DzmME;EACE,gCAA+B;A3D4mMnC;;A2D7mME;EACE,gCAA+B;A3DgnMnC;;A2DjnME;EACE,gCAA+B;A3DonMnC;;A2DrnME;EACE,gCAA+B;A3DwnMnC;;A2DznME;EACE,gCAA+B;A3D4nMnC;;A2D7nME;EACE,gCAA+B;A3DgoMnC;;A2D5nMA;EACE,6BAA+B;A3D+nMjC;;A2DxnMA;EACE,gCAA2C;A3D2nM7C;;A2DxnMA;EACE,iCAAwC;A3D2nM1C;;A2DxnMA;EACE,0CAAiD;EACjD,2CAAkD;A3D2nMpD;;A2DxnMA;EACE,2CAAkD;EAClD,8CAAqD;A3D2nMvD;;A2DxnMA;EACE,8CAAqD;EACrD,6CAAoD;A3D2nMtD;;A2DxnMA;EACE,0CAAiD;EACjD,6CAAoD;A3D2nMtD;;A2DxnMA;EACE,gCAA2C;A3D2nM7C;;A2DxnMA;EACE,6BAA6B;A3D2nM/B;;A2DxnMA;EACE,+BAAuC;A3D2nMzC;;A2DxnMA;EACE,2BAA2B;A3D2nM7B;;AsDnsME;EACE,cAAc;EACd,WAAW;EACX,WAAW;AtDssMf;;A4D/rMM;EAAwB,wBAA0B;A5DmsMxD;;A4DnsMM;EAAwB,0BAA0B;A5DusMxD;;A4DvsMM;EAAwB,gCAA0B;A5D2sMxD;;A4D3sMM;EAAwB,yBAA0B;A5D+sMxD;;A4D/sMM;EAAwB,yBAA0B;A5DmtMxD;;A4DntMM;EAAwB,6BAA0B;A5DutMxD;;A4DvtMM;EAAwB,8BAA0B;A5D2tMxD;;A4D3tMM;EAAwB,+BAA0B;EAA1B,wBAA0B;A5D+tMxD;;A4D/tMM;EAAwB,sCAA0B;EAA1B,+BAA0B;A5DmuMxD;;AclrMI;E8CjDE;IAAwB,wBAA0B;E5DwuMtD;E4DxuMI;IAAwB,0BAA0B;E5D2uMtD;E4D3uMI;IAAwB,gCAA0B;E5D8uMtD;E4D9uMI;IAAwB,yBAA0B;E5DivMtD;E4DjvMI;IAAwB,yBAA0B;E5DovMtD;E4DpvMI;IAAwB,6BAA0B;E5DuvMtD;E4DvvMI;IAAwB,8BAA0B;E5D0vMtD;E4D1vMI;IAAwB,+BAA0B;IAA1B,wBAA0B;E5D6vMtD;E4D7vMI;IAAwB,sCAA0B;IAA1B,+BAA0B;E5DgwMtD;AACF;;AchtMI;E8CjDE;IAAwB,wBAA0B;E5DswMtD;E4DtwMI;IAAwB,0BAA0B;E5DywMtD;E4DzwMI;IAAwB,gCAA0B;E5D4wMtD;E4D5wMI;IAAwB,yBAA0B;E5D+wMtD;E4D/wMI;IAAwB,yBAA0B;E5DkxMtD;E4DlxMI;IAAwB,6BAA0B;E5DqxMtD;E4DrxMI;IAAwB,8BAA0B;E5DwxMtD;E4DxxMI;IAAwB,+BAA0B;IAA1B,wBAA0B;E5D2xMtD;E4D3xMI;IAAwB,sCAA0B;IAA1B,+BAA0B;E5D8xMtD;AACF;;Ac9uMI;E8CjDE;IAAwB,wBAA0B;E5DoyMtD;E4DpyMI;IAAwB,0BAA0B;E5DuyMtD;E4DvyMI;IAAwB,gCAA0B;E5D0yMtD;E4D1yMI;IAAwB,yBAA0B;E5D6yMtD;E4D7yMI;IAAwB,yBAA0B;E5DgzMtD;E4DhzMI;IAAwB,6BAA0B;E5DmzMtD;E4DnzMI;IAAwB,8BAA0B;E5DszMtD;E4DtzMI;IAAwB,+BAA0B;IAA1B,wBAA0B;E5DyzMtD;E4DzzMI;IAAwB,sCAA0B;IAA1B,+BAA0B;E5D4zMtD;AACF;;Ac5wMI;E8CjDE;IAAwB,wBAA0B;E5Dk0MtD;E4Dl0MI;IAAwB,0BAA0B;E5Dq0MtD;E4Dr0MI;IAAwB,gCAA0B;E5Dw0MtD;E4Dx0MI;IAAwB,yBAA0B;E5D20MtD;E4D30MI;IAAwB,yBAA0B;E5D80MtD;E4D90MI;IAAwB,6BAA0B;E5Di1MtD;E4Dj1MI;IAAwB,8BAA0B;E5Do1MtD;E4Dp1MI;IAAwB,+BAA0B;IAA1B,wBAA0B;E5Du1MtD;E4Dv1MI;IAAwB,sCAA0B;IAA1B,+BAA0B;E5D01MtD;AACF;;A4Dj1MA;EAEI;IAAqB,wBAA0B;E5Do1MjD;E4Dp1ME;IAAqB,0BAA0B;E5Du1MjD;E4Dv1ME;IAAqB,gCAA0B;E5D01MjD;E4D11ME;IAAqB,yBAA0B;E5D61MjD;E4D71ME;IAAqB,yBAA0B;E5Dg2MjD;E4Dh2ME;IAAqB,6BAA0B;E5Dm2MjD;E4Dn2ME;IAAqB,8BAA0B;E5Ds2MjD;E4Dt2ME;IAAqB,+BAA0B;IAA1B,wBAA0B;E5Dy2MjD;E4Dz2ME;IAAqB,sCAA0B;IAA1B,+BAA0B;E5D42MjD;AACF;;A6Dl4MA;EACE,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,UAAU;EACV,gBAAgB;A7Dq4MlB;;A6D14MA;EAQI,cAAc;EACd,WAAW;A7Ds4Mf;;A6D/4MA;;;;;EAiBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,OAAO;EACP,WAAW;EACX,YAAY;EACZ,SAAS;A7Ds4Mb;;A6D93ME;EAEI,uBAA4F;A7Dg4MlG;;A6Dl4ME;EAEI,mBAA4F;A7Do4MlG;;A6Dt4ME;EAEI,gBAA4F;A7Dw4MlG;;A6D14ME;EAEI,iBAA4F;A7D44MlG;;A8Dr6MI;EAAgC,kCAA8B;EAA9B,8BAA8B;A9Dy6MlE;;A8Dx6MI;EAAgC,qCAAiC;EAAjC,iCAAiC;A9D46MrE;;A8D36MI;EAAgC,0CAAsC;EAAtC,sCAAsC;A9D+6M1E;;A8D96MI;EAAgC,6CAAyC;EAAzC,yCAAyC;A9Dk7M7E;;A8Dh7MI;EAA8B,8BAA0B;EAA1B,0BAA0B;A9Do7M5D;;A8Dn7MI;EAA8B,gCAA4B;EAA5B,4BAA4B;A9Du7M9D;;A8Dt7MI;EAA8B,sCAAkC;EAAlC,kCAAkC;A9D07MpE;;A8Dz7MI;EAA8B,6BAAyB;EAAzB,yBAAyB;A9D67M3D;;A8D57MI;EAA8B,+BAAuB;EAAvB,uBAAuB;A9Dg8MzD;;A8D/7MI;EAA8B,+BAAuB;EAAvB,uBAAuB;A9Dm8MzD;;A8Dl8MI;EAA8B,+BAAyB;EAAzB,yBAAyB;A9Ds8M3D;;A8Dr8MI;EAA8B,+BAAyB;EAAzB,yBAAyB;A9Dy8M3D;;A8Dv8MI;EAAoC,+BAAsC;EAAtC,sCAAsC;A9D28M9E;;A8D18MI;EAAoC,6BAAoC;EAApC,oCAAoC;A9D88M5E;;A8D78MI;EAAoC,gCAAkC;EAAlC,kCAAkC;A9Di9M1E;;A8Dh9MI;EAAoC,iCAAyC;EAAzC,yCAAyC;A9Do9MjF;;A8Dn9MI;EAAoC,oCAAwC;EAAxC,wCAAwC;A9Du9MhF;;A8Dr9MI;EAAiC,gCAAkC;EAAlC,kCAAkC;A9Dy9MvE;;A8Dx9MI;EAAiC,8BAAgC;EAAhC,gCAAgC;A9D49MrE;;A8D39MI;EAAiC,iCAA8B;EAA9B,8BAA8B;A9D+9MnE;;A8D99MI;EAAiC,mCAAgC;EAAhC,gCAAgC;A9Dk+MrE;;A8Dj+MI;EAAiC,kCAA+B;EAA/B,+BAA+B;A9Dq+MpE;;A8Dn+MI;EAAkC,oCAAoC;EAApC,oCAAoC;A9Du+M1E;;A8Dt+MI;EAAkC,kCAAkC;EAAlC,kCAAkC;A9D0+MxE;;A8Dz+MI;EAAkC,qCAAgC;EAAhC,gCAAgC;A9D6+MtE;;A8D5+MI;EAAkC,sCAAuC;EAAvC,uCAAuC;A9Dg/M7E;;A8D/+MI;EAAkC,yCAAsC;EAAtC,sCAAsC;A9Dm/M5E;;A8Dl/MI;EAAkC,sCAAiC;EAAjC,iCAAiC;A9Ds/MvE;;A8Dp/MI;EAAgC,oCAA2B;EAA3B,2BAA2B;A9Dw/M/D;;A8Dv/MI;EAAgC,qCAAiC;EAAjC,iCAAiC;A9D2/MrE;;A8D1/MI;EAAgC,mCAA+B;EAA/B,+BAA+B;A9D8/MnE;;A8D7/MI;EAAgC,sCAA6B;EAA7B,6BAA6B;A9DigNjE;;A8DhgNI;EAAgC,wCAA+B;EAA/B,+BAA+B;A9DogNnE;;A8DngNI;EAAgC,uCAA8B;EAA9B,8BAA8B;A9DugNlE;;Ac3/MI;EgDlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;E9DkjNhE;E8DjjNE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9DojNnE;E8DnjNE;IAAgC,0CAAsC;IAAtC,sCAAsC;E9DsjNxE;E8DrjNE;IAAgC,6CAAyC;IAAzC,yCAAyC;E9DwjN3E;E8DtjNE;IAA8B,8BAA0B;IAA1B,0BAA0B;E9DyjN1D;E8DxjNE;IAA8B,gCAA4B;IAA5B,4BAA4B;E9D2jN5D;E8D1jNE;IAA8B,sCAAkC;IAAlC,kCAAkC;E9D6jNlE;E8D5jNE;IAA8B,6BAAyB;IAAzB,yBAAyB;E9D+jNzD;E8D9jNE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9DikNvD;E8DhkNE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9DmkNvD;E8DlkNE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9DqkNzD;E8DpkNE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9DukNzD;E8DrkNE;IAAoC,+BAAsC;IAAtC,sCAAsC;E9DwkN5E;E8DvkNE;IAAoC,6BAAoC;IAApC,oCAAoC;E9D0kN1E;E8DzkNE;IAAoC,gCAAkC;IAAlC,kCAAkC;E9D4kNxE;E8D3kNE;IAAoC,iCAAyC;IAAzC,yCAAyC;E9D8kN/E;E8D7kNE;IAAoC,oCAAwC;IAAxC,wCAAwC;E9DglN9E;E8D9kNE;IAAiC,gCAAkC;IAAlC,kCAAkC;E9DilNrE;E8DhlNE;IAAiC,8BAAgC;IAAhC,gCAAgC;E9DmlNnE;E8DllNE;IAAiC,iCAA8B;IAA9B,8BAA8B;E9DqlNjE;E8DplNE;IAAiC,mCAAgC;IAAhC,gCAAgC;E9DulNnE;E8DtlNE;IAAiC,kCAA+B;IAA/B,+BAA+B;E9DylNlE;E8DvlNE;IAAkC,oCAAoC;IAApC,oCAAoC;E9D0lNxE;E8DzlNE;IAAkC,kCAAkC;IAAlC,kCAAkC;E9D4lNtE;E8D3lNE;IAAkC,qCAAgC;IAAhC,gCAAgC;E9D8lNpE;E8D7lNE;IAAkC,sCAAuC;IAAvC,uCAAuC;E9DgmN3E;E8D/lNE;IAAkC,yCAAsC;IAAtC,sCAAsC;E9DkmN1E;E8DjmNE;IAAkC,sCAAiC;IAAjC,iCAAiC;E9DomNrE;E8DlmNE;IAAgC,oCAA2B;IAA3B,2BAA2B;E9DqmN7D;E8DpmNE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9DumNnE;E8DtmNE;IAAgC,mCAA+B;IAA/B,+BAA+B;E9DymNjE;E8DxmNE;IAAgC,sCAA6B;IAA7B,6BAA6B;E9D2mN/D;E8D1mNE;IAAgC,wCAA+B;IAA/B,+BAA+B;E9D6mNjE;E8D5mNE;IAAgC,uCAA8B;IAA9B,8BAA8B;E9D+mNhE;AACF;;AcpmNI;EgDlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;E9D2pNhE;E8D1pNE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9D6pNnE;E8D5pNE;IAAgC,0CAAsC;IAAtC,sCAAsC;E9D+pNxE;E8D9pNE;IAAgC,6CAAyC;IAAzC,yCAAyC;E9DiqN3E;E8D/pNE;IAA8B,8BAA0B;IAA1B,0BAA0B;E9DkqN1D;E8DjqNE;IAA8B,gCAA4B;IAA5B,4BAA4B;E9DoqN5D;E8DnqNE;IAA8B,sCAAkC;IAAlC,kCAAkC;E9DsqNlE;E8DrqNE;IAA8B,6BAAyB;IAAzB,yBAAyB;E9DwqNzD;E8DvqNE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9D0qNvD;E8DzqNE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9D4qNvD;E8D3qNE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9D8qNzD;E8D7qNE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9DgrNzD;E8D9qNE;IAAoC,+BAAsC;IAAtC,sCAAsC;E9DirN5E;E8DhrNE;IAAoC,6BAAoC;IAApC,oCAAoC;E9DmrN1E;E8DlrNE;IAAoC,gCAAkC;IAAlC,kCAAkC;E9DqrNxE;E8DprNE;IAAoC,iCAAyC;IAAzC,yCAAyC;E9DurN/E;E8DtrNE;IAAoC,oCAAwC;IAAxC,wCAAwC;E9DyrN9E;E8DvrNE;IAAiC,gCAAkC;IAAlC,kCAAkC;E9D0rNrE;E8DzrNE;IAAiC,8BAAgC;IAAhC,gCAAgC;E9D4rNnE;E8D3rNE;IAAiC,iCAA8B;IAA9B,8BAA8B;E9D8rNjE;E8D7rNE;IAAiC,mCAAgC;IAAhC,gCAAgC;E9DgsNnE;E8D/rNE;IAAiC,kCAA+B;IAA/B,+BAA+B;E9DksNlE;E8DhsNE;IAAkC,oCAAoC;IAApC,oCAAoC;E9DmsNxE;E8DlsNE;IAAkC,kCAAkC;IAAlC,kCAAkC;E9DqsNtE;E8DpsNE;IAAkC,qCAAgC;IAAhC,gCAAgC;E9DusNpE;E8DtsNE;IAAkC,sCAAuC;IAAvC,uCAAuC;E9DysN3E;E8DxsNE;IAAkC,yCAAsC;IAAtC,sCAAsC;E9D2sN1E;E8D1sNE;IAAkC,sCAAiC;IAAjC,iCAAiC;E9D6sNrE;E8D3sNE;IAAgC,oCAA2B;IAA3B,2BAA2B;E9D8sN7D;E8D7sNE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9DgtNnE;E8D/sNE;IAAgC,mCAA+B;IAA/B,+BAA+B;E9DktNjE;E8DjtNE;IAAgC,sCAA6B;IAA7B,6BAA6B;E9DotN/D;E8DntNE;IAAgC,wCAA+B;IAA/B,+BAA+B;E9DstNjE;E8DrtNE;IAAgC,uCAA8B;IAA9B,8BAA8B;E9DwtNhE;AACF;;Ac7sNI;EgDlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;E9DowNhE;E8DnwNE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9DswNnE;E8DrwNE;IAAgC,0CAAsC;IAAtC,sCAAsC;E9DwwNxE;E8DvwNE;IAAgC,6CAAyC;IAAzC,yCAAyC;E9D0wN3E;E8DxwNE;IAA8B,8BAA0B;IAA1B,0BAA0B;E9D2wN1D;E8D1wNE;IAA8B,gCAA4B;IAA5B,4BAA4B;E9D6wN5D;E8D5wNE;IAA8B,sCAAkC;IAAlC,kCAAkC;E9D+wNlE;E8D9wNE;IAA8B,6BAAyB;IAAzB,yBAAyB;E9DixNzD;E8DhxNE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9DmxNvD;E8DlxNE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9DqxNvD;E8DpxNE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9DuxNzD;E8DtxNE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9DyxNzD;E8DvxNE;IAAoC,+BAAsC;IAAtC,sCAAsC;E9D0xN5E;E8DzxNE;IAAoC,6BAAoC;IAApC,oCAAoC;E9D4xN1E;E8D3xNE;IAAoC,gCAAkC;IAAlC,kCAAkC;E9D8xNxE;E8D7xNE;IAAoC,iCAAyC;IAAzC,yCAAyC;E9DgyN/E;E8D/xNE;IAAoC,oCAAwC;IAAxC,wCAAwC;E9DkyN9E;E8DhyNE;IAAiC,gCAAkC;IAAlC,kCAAkC;E9DmyNrE;E8DlyNE;IAAiC,8BAAgC;IAAhC,gCAAgC;E9DqyNnE;E8DpyNE;IAAiC,iCAA8B;IAA9B,8BAA8B;E9DuyNjE;E8DtyNE;IAAiC,mCAAgC;IAAhC,gCAAgC;E9DyyNnE;E8DxyNE;IAAiC,kCAA+B;IAA/B,+BAA+B;E9D2yNlE;E8DzyNE;IAAkC,oCAAoC;IAApC,oCAAoC;E9D4yNxE;E8D3yNE;IAAkC,kCAAkC;IAAlC,kCAAkC;E9D8yNtE;E8D7yNE;IAAkC,qCAAgC;IAAhC,gCAAgC;E9DgzNpE;E8D/yNE;IAAkC,sCAAuC;IAAvC,uCAAuC;E9DkzN3E;E8DjzNE;IAAkC,yCAAsC;IAAtC,sCAAsC;E9DozN1E;E8DnzNE;IAAkC,sCAAiC;IAAjC,iCAAiC;E9DszNrE;E8DpzNE;IAAgC,oCAA2B;IAA3B,2BAA2B;E9DuzN7D;E8DtzNE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9DyzNnE;E8DxzNE;IAAgC,mCAA+B;IAA/B,+BAA+B;E9D2zNjE;E8D1zNE;IAAgC,sCAA6B;IAA7B,6BAA6B;E9D6zN/D;E8D5zNE;IAAgC,wCAA+B;IAA/B,+BAA+B;E9D+zNjE;E8D9zNE;IAAgC,uCAA8B;IAA9B,8BAA8B;E9Di0NhE;AACF;;ActzNI;EgDlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;E9D62NhE;E8D52NE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9D+2NnE;E8D92NE;IAAgC,0CAAsC;IAAtC,sCAAsC;E9Di3NxE;E8Dh3NE;IAAgC,6CAAyC;IAAzC,yCAAyC;E9Dm3N3E;E8Dj3NE;IAA8B,8BAA0B;IAA1B,0BAA0B;E9Do3N1D;E8Dn3NE;IAA8B,gCAA4B;IAA5B,4BAA4B;E9Ds3N5D;E8Dr3NE;IAA8B,sCAAkC;IAAlC,kCAAkC;E9Dw3NlE;E8Dv3NE;IAA8B,6BAAyB;IAAzB,yBAAyB;E9D03NzD;E8Dz3NE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9D43NvD;E8D33NE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9D83NvD;E8D73NE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9Dg4NzD;E8D/3NE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9Dk4NzD;E8Dh4NE;IAAoC,+BAAsC;IAAtC,sCAAsC;E9Dm4N5E;E8Dl4NE;IAAoC,6BAAoC;IAApC,oCAAoC;E9Dq4N1E;E8Dp4NE;IAAoC,gCAAkC;IAAlC,kCAAkC;E9Du4NxE;E8Dt4NE;IAAoC,iCAAyC;IAAzC,yCAAyC;E9Dy4N/E;E8Dx4NE;IAAoC,oCAAwC;IAAxC,wCAAwC;E9D24N9E;E8Dz4NE;IAAiC,gCAAkC;IAAlC,kCAAkC;E9D44NrE;E8D34NE;IAAiC,8BAAgC;IAAhC,gCAAgC;E9D84NnE;E8D74NE;IAAiC,iCAA8B;IAA9B,8BAA8B;E9Dg5NjE;E8D/4NE;IAAiC,mCAAgC;IAAhC,gCAAgC;E9Dk5NnE;E8Dj5NE;IAAiC,kCAA+B;IAA/B,+BAA+B;E9Do5NlE;E8Dl5NE;IAAkC,oCAAoC;IAApC,oCAAoC;E9Dq5NxE;E8Dp5NE;IAAkC,kCAAkC;IAAlC,kCAAkC;E9Du5NtE;E8Dt5NE;IAAkC,qCAAgC;IAAhC,gCAAgC;E9Dy5NpE;E8Dx5NE;IAAkC,sCAAuC;IAAvC,uCAAuC;E9D25N3E;E8D15NE;IAAkC,yCAAsC;IAAtC,sCAAsC;E9D65N1E;E8D55NE;IAAkC,sCAAiC;IAAjC,iCAAiC;E9D+5NrE;E8D75NE;IAAgC,oCAA2B;IAA3B,2BAA2B;E9Dg6N7D;E8D/5NE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9Dk6NnE;E8Dj6NE;IAAgC,mCAA+B;IAA/B,+BAA+B;E9Do6NjE;E8Dn6NE;IAAgC,sCAA6B;IAA7B,6BAA6B;E9Ds6N/D;E8Dr6NE;IAAgC,wCAA+B;IAA/B,+BAA+B;E9Dw6NjE;E8Dv6NE;IAAgC,uCAA8B;IAA9B,8BAA8B;E9D06NhE;AACF;;A+Dr9NI;EAAwB,sBAAsB;A/Dy9NlD;;A+Dx9NI;EAAwB,uBAAuB;A/D49NnD;;A+D39NI;EAAwB,sBAAsB;A/D+9NlD;;Ac36NI;EiDtDA;IAAwB,sBAAsB;E/Ds+NhD;E+Dr+NE;IAAwB,uBAAuB;E/Dw+NjD;E+Dv+NE;IAAwB,sBAAsB;E/D0+NhD;AACF;;Acv7NI;EiDtDA;IAAwB,sBAAsB;E/Dk/NhD;E+Dj/NE;IAAwB,uBAAuB;E/Do/NjD;E+Dn/NE;IAAwB,sBAAsB;E/Ds/NhD;AACF;;Acn8NI;EiDtDA;IAAwB,sBAAsB;E/D8/NhD;E+D7/NE;IAAwB,uBAAuB;E/DggOjD;E+D//NE;IAAwB,sBAAsB;E/DkgOhD;AACF;;Ac/8NI;EiDtDA;IAAwB,sBAAsB;E/D0gOhD;E+DzgOE;IAAwB,uBAAuB;E/D4gOjD;E+D3gOE;IAAwB,sBAAsB;E/D8gOhD;AACF;;AgEphOE;EAAsB,yBAA2B;AhEwhOnD;;AgExhOE;EAAsB,2BAA2B;AhE4hOnD;;AiE3hOE;EAAyB,2BAA8B;AjE+hOzD;;AiE/hOE;EAAyB,6BAA8B;AjEmiOzD;;AiEniOE;EAAyB,6BAA8B;AjEuiOzD;;AiEviOE;EAAyB,0BAA8B;AjE2iOzD;;AiE3iOE;EAAyB,mCAA8B;EAA9B,2BAA8B;AjE+iOzD;;AiE1iOA;EACE,eAAe;EACf,MAAM;EACN,QAAQ;EACR,OAAO;EACP,a9DypBsC;AHo5MxC;;AiE1iOA;EACE,eAAe;EACf,QAAQ;EACR,SAAS;EACT,OAAO;EACP,a9DipBsC;AH45MxC;;AiEziO8B;EAD9B;IAEI,wBAAgB;IAAhB,gBAAgB;IAChB,MAAM;IACN,a9DyoBoC;EHo6MtC;AACF;;AkEvkOA;ECEE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,UAAU;EACV,gBAAgB;EAChB,sBAAsB;EACtB,mBAAmB;EACnB,SAAS;AnEykOX;;AmE/jOE;EAEE,gBAAgB;EAChB,WAAW;EACX,YAAY;EACZ,iBAAiB;EACjB,UAAU;EACV,mBAAmB;AnEikOvB;;AoE7lOA;EAAa,8DAAqC;ApEimOlD;;AoEhmOA;EAAU,wDAAkC;ApEomO5C;;AoEnmOA;EAAa,uDAAqC;ApEumOlD;;AoEtmOA;EAAe,2BAA2B;ApE0mO1C;;AqEzmOI;EAAuB,qBAA4B;ArE6mOvD;;AqE7mOI;EAAuB,qBAA4B;ArEinOvD;;AqEjnOI;EAAuB,qBAA4B;ArEqnOvD;;AqErnOI;EAAuB,sBAA4B;ArEynOvD;;AqEznOI;EAAuB,sBAA4B;ArE6nOvD;;AqE7nOI;EAAuB,sBAA4B;ArEioOvD;;AqEjoOI;EAAuB,sBAA4B;ArEqoOvD;;AqEroOI;EAAuB,sBAA4B;ArEyoOvD;;AqEzoOI;EAAuB,uBAA4B;ArE6oOvD;;AqE7oOI;EAAuB,uBAA4B;ArEipOvD;;AqE7oOA;EAAU,0BAA0B;ArEipOpC;;AqEhpOA;EAAU,2BAA2B;ArEopOrC;;AqEhpOA;EAAc,2BAA2B;ArEopOzC;;AqEnpOA;EAAc,4BAA4B;ArEupO1C;;AqErpOA;EAAU,uBAAuB;ArEypOjC;;AqExpOA;EAAU,wBAAwB;ArE4pOlC;;AsE3qOA;EAEI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,UAAU;EAEV,oBAAoB;EACpB,WAAW;EAEX,kCAAkC;AtE2qOtC;;AuEjrOQ;EAAgC,oBAA4B;AvEqrOpE;;AuEprOQ;;EAEE,wBAAoC;AvEurO9C;;AuErrOQ;;EAEE,0BAAwC;AvEwrOlD;;AuEtrOQ;;EAEE,2BAA0C;AvEyrOpD;;AuEvrOQ;;EAEE,yBAAsC;AvE0rOhD;;AuEzsOQ;EAAgC,0BAA4B;AvE6sOpE;;AuE5sOQ;;EAEE,8BAAoC;AvE+sO9C;;AuE7sOQ;;EAEE,gCAAwC;AvEgtOlD;;AuE9sOQ;;EAEE,iCAA0C;AvEitOpD;;AuE/sOQ;;EAEE,+BAAsC;AvEktOhD;;AuEjuOQ;EAAgC,yBAA4B;AvEquOpE;;AuEpuOQ;;EAEE,6BAAoC;AvEuuO9C;;AuEruOQ;;EAEE,+BAAwC;AvEwuOlD;;AuEtuOQ;;EAEE,gCAA0C;AvEyuOpD;;AuEvuOQ;;EAEE,8BAAsC;AvE0uOhD;;AuEzvOQ;EAAgC,uBAA4B;AvE6vOpE;;AuE5vOQ;;EAEE,2BAAoC;AvE+vO9C;;AuE7vOQ;;EAEE,6BAAwC;AvEgwOlD;;AuE9vOQ;;EAEE,8BAA0C;AvEiwOpD;;AuE/vOQ;;EAEE,4BAAsC;AvEkwOhD;;AuEjxOQ;EAAgC,yBAA4B;AvEqxOpE;;AuEpxOQ;;EAEE,6BAAoC;AvEuxO9C;;AuErxOQ;;EAEE,+BAAwC;AvEwxOlD;;AuEtxOQ;;EAEE,gCAA0C;AvEyxOpD;;AuEvxOQ;;EAEE,8BAAsC;AvE0xOhD;;AuEzyOQ;EAAgC,uBAA4B;AvE6yOpE;;AuE5yOQ;;EAEE,2BAAoC;AvE+yO9C;;AuE7yOQ;;EAEE,6BAAwC;AvEgzOlD;;AuE9yOQ;;EAEE,8BAA0C;AvEizOpD;;AuE/yOQ;;EAEE,4BAAsC;AvEkzOhD;;AuEj0OQ;EAAgC,qBAA4B;AvEq0OpE;;AuEp0OQ;;EAEE,yBAAoC;AvEu0O9C;;AuEr0OQ;;EAEE,2BAAwC;AvEw0OlD;;AuEt0OQ;;EAEE,4BAA0C;AvEy0OpD;;AuEv0OQ;;EAEE,0BAAsC;AvE00OhD;;AuEz1OQ;EAAgC,2BAA4B;AvE61OpE;;AuE51OQ;;EAEE,+BAAoC;AvE+1O9C;;AuE71OQ;;EAEE,iCAAwC;AvEg2OlD;;AuE91OQ;;EAEE,kCAA0C;AvEi2OpD;;AuE/1OQ;;EAEE,gCAAsC;AvEk2OhD;;AuEj3OQ;EAAgC,0BAA4B;AvEq3OpE;;AuEp3OQ;;EAEE,8BAAoC;AvEu3O9C;;AuEr3OQ;;EAEE,gCAAwC;AvEw3OlD;;AuEt3OQ;;EAEE,iCAA0C;AvEy3OpD;;AuEv3OQ;;EAEE,+BAAsC;AvE03OhD;;AuEz4OQ;EAAgC,wBAA4B;AvE64OpE;;AuE54OQ;;EAEE,4BAAoC;AvE+4O9C;;AuE74OQ;;EAEE,8BAAwC;AvEg5OlD;;AuE94OQ;;EAEE,+BAA0C;AvEi5OpD;;AuE/4OQ;;EAEE,6BAAsC;AvEk5OhD;;AuEj6OQ;EAAgC,0BAA4B;AvEq6OpE;;AuEp6OQ;;EAEE,8BAAoC;AvEu6O9C;;AuEr6OQ;;EAEE,gCAAwC;AvEw6OlD;;AuEt6OQ;;EAEE,iCAA0C;AvEy6OpD;;AuEv6OQ;;EAEE,+BAAsC;AvE06OhD;;AuEz7OQ;EAAgC,wBAA4B;AvE67OpE;;AuE57OQ;;EAEE,4BAAoC;AvE+7O9C;;AuE77OQ;;EAEE,8BAAwC;AvEg8OlD;;AuE97OQ;;EAEE,+BAA0C;AvEi8OpD;;AuE/7OQ;;EAEE,6BAAsC;AvEk8OhD;;AuE17OQ;EAAwB,2BAA2B;AvE87O3D;;AuE77OQ;;EAEE,+BAA+B;AvEg8OzC;;AuE97OQ;;EAEE,iCAAiC;AvEi8O3C;;AuE/7OQ;;EAEE,kCAAkC;AvEk8O5C;;AuEh8OQ;;EAEE,gCAAgC;AvEm8O1C;;AuEl9OQ;EAAwB,0BAA2B;AvEs9O3D;;AuEr9OQ;;EAEE,8BAA+B;AvEw9OzC;;AuEt9OQ;;EAEE,gCAAiC;AvEy9O3C;;AuEv9OQ;;EAEE,iCAAkC;AvE09O5C;;AuEx9OQ;;EAEE,+BAAgC;AvE29O1C;;AuE1+OQ;EAAwB,wBAA2B;AvE8+O3D;;AuE7+OQ;;EAEE,4BAA+B;AvEg/OzC;;AuE9+OQ;;EAEE,8BAAiC;AvEi/O3C;;AuE/+OQ;;EAEE,+BAAkC;AvEk/O5C;;AuEh/OQ;;EAEE,6BAAgC;AvEm/O1C;;AuElgPQ;EAAwB,0BAA2B;AvEsgP3D;;AuErgPQ;;EAEE,8BAA+B;AvEwgPzC;;AuEtgPQ;;EAEE,gCAAiC;AvEygP3C;;AuEvgPQ;;EAEE,iCAAkC;AvE0gP5C;;AuExgPQ;;EAEE,+BAAgC;AvE2gP1C;;AuE1hPQ;EAAwB,wBAA2B;AvE8hP3D;;AuE7hPQ;;EAEE,4BAA+B;AvEgiPzC;;AuE9hPQ;;EAEE,8BAAiC;AvEiiP3C;;AuE/hPQ;;EAEE,+BAAkC;AvEkiP5C;;AuEhiPQ;;EAEE,6BAAgC;AvEmiP1C;;AuE7hPI;EAAmB,uBAAuB;AvEiiP9C;;AuEhiPI;;EAEE,2BAA2B;AvEmiPjC;;AuEjiPI;;EAEE,6BAA6B;AvEoiPnC;;AuEliPI;;EAEE,8BAA8B;AvEqiPpC;;AuEniPI;;EAEE,4BAA4B;AvEsiPlC;;Ac/iPI;EyDlDI;IAAgC,oBAA4B;EvEsmPlE;EuErmPM;;IAEE,wBAAoC;EvEumP5C;EuErmPM;;IAEE,0BAAwC;EvEumPhD;EuErmPM;;IAEE,2BAA0C;EvEumPlD;EuErmPM;;IAEE,yBAAsC;EvEumP9C;EuEtnPM;IAAgC,0BAA4B;EvEynPlE;EuExnPM;;IAEE,8BAAoC;EvE0nP5C;EuExnPM;;IAEE,gCAAwC;EvE0nPhD;EuExnPM;;IAEE,iCAA0C;EvE0nPlD;EuExnPM;;IAEE,+BAAsC;EvE0nP9C;EuEzoPM;IAAgC,yBAA4B;EvE4oPlE;EuE3oPM;;IAEE,6BAAoC;EvE6oP5C;EuE3oPM;;IAEE,+BAAwC;EvE6oPhD;EuE3oPM;;IAEE,gCAA0C;EvE6oPlD;EuE3oPM;;IAEE,8BAAsC;EvE6oP9C;EuE5pPM;IAAgC,uBAA4B;EvE+pPlE;EuE9pPM;;IAEE,2BAAoC;EvEgqP5C;EuE9pPM;;IAEE,6BAAwC;EvEgqPhD;EuE9pPM;;IAEE,8BAA0C;EvEgqPlD;EuE9pPM;;IAEE,4BAAsC;EvEgqP9C;EuE/qPM;IAAgC,yBAA4B;EvEkrPlE;EuEjrPM;;IAEE,6BAAoC;EvEmrP5C;EuEjrPM;;IAEE,+BAAwC;EvEmrPhD;EuEjrPM;;IAEE,gCAA0C;EvEmrPlD;EuEjrPM;;IAEE,8BAAsC;EvEmrP9C;EuElsPM;IAAgC,uBAA4B;EvEqsPlE;EuEpsPM;;IAEE,2BAAoC;EvEssP5C;EuEpsPM;;IAEE,6BAAwC;EvEssPhD;EuEpsPM;;IAEE,8BAA0C;EvEssPlD;EuEpsPM;;IAEE,4BAAsC;EvEssP9C;EuErtPM;IAAgC,qBAA4B;EvEwtPlE;EuEvtPM;;IAEE,yBAAoC;EvEytP5C;EuEvtPM;;IAEE,2BAAwC;EvEytPhD;EuEvtPM;;IAEE,4BAA0C;EvEytPlD;EuEvtPM;;IAEE,0BAAsC;EvEytP9C;EuExuPM;IAAgC,2BAA4B;EvE2uPlE;EuE1uPM;;IAEE,+BAAoC;EvE4uP5C;EuE1uPM;;IAEE,iCAAwC;EvE4uPhD;EuE1uPM;;IAEE,kCAA0C;EvE4uPlD;EuE1uPM;;IAEE,gCAAsC;EvE4uP9C;EuE3vPM;IAAgC,0BAA4B;EvE8vPlE;EuE7vPM;;IAEE,8BAAoC;EvE+vP5C;EuE7vPM;;IAEE,gCAAwC;EvE+vPhD;EuE7vPM;;IAEE,iCAA0C;EvE+vPlD;EuE7vPM;;IAEE,+BAAsC;EvE+vP9C;EuE9wPM;IAAgC,wBAA4B;EvEixPlE;EuEhxPM;;IAEE,4BAAoC;EvEkxP5C;EuEhxPM;;IAEE,8BAAwC;EvEkxPhD;EuEhxPM;;IAEE,+BAA0C;EvEkxPlD;EuEhxPM;;IAEE,6BAAsC;EvEkxP9C;EuEjyPM;IAAgC,0BAA4B;EvEoyPlE;EuEnyPM;;IAEE,8BAAoC;EvEqyP5C;EuEnyPM;;IAEE,gCAAwC;EvEqyPhD;EuEnyPM;;IAEE,iCAA0C;EvEqyPlD;EuEnyPM;;IAEE,+BAAsC;EvEqyP9C;EuEpzPM;IAAgC,wBAA4B;EvEuzPlE;EuEtzPM;;IAEE,4BAAoC;EvEwzP5C;EuEtzPM;;IAEE,8BAAwC;EvEwzPhD;EuEtzPM;;IAEE,+BAA0C;EvEwzPlD;EuEtzPM;;IAEE,6BAAsC;EvEwzP9C;EuEhzPM;IAAwB,2BAA2B;EvEmzPzD;EuElzPM;;IAEE,+BAA+B;EvEozPvC;EuElzPM;;IAEE,iCAAiC;EvEozPzC;EuElzPM;;IAEE,kCAAkC;EvEozP1C;EuElzPM;;IAEE,gCAAgC;EvEozPxC;EuEn0PM;IAAwB,0BAA2B;EvEs0PzD;EuEr0PM;;IAEE,8BAA+B;EvEu0PvC;EuEr0PM;;IAEE,gCAAiC;EvEu0PzC;EuEr0PM;;IAEE,iCAAkC;EvEu0P1C;EuEr0PM;;IAEE,+BAAgC;EvEu0PxC;EuEt1PM;IAAwB,wBAA2B;EvEy1PzD;EuEx1PM;;IAEE,4BAA+B;EvE01PvC;EuEx1PM;;IAEE,8BAAiC;EvE01PzC;EuEx1PM;;IAEE,+BAAkC;EvE01P1C;EuEx1PM;;IAEE,6BAAgC;EvE01PxC;EuEz2PM;IAAwB,0BAA2B;EvE42PzD;EuE32PM;;IAEE,8BAA+B;EvE62PvC;EuE32PM;;IAEE,gCAAiC;EvE62PzC;EuE32PM;;IAEE,iCAAkC;EvE62P1C;EuE32PM;;IAEE,+BAAgC;EvE62PxC;EuE53PM;IAAwB,wBAA2B;EvE+3PzD;EuE93PM;;IAEE,4BAA+B;EvEg4PvC;EuE93PM;;IAEE,8BAAiC;EvEg4PzC;EuE93PM;;IAEE,+BAAkC;EvEg4P1C;EuE93PM;;IAEE,6BAAgC;EvEg4PxC;EuE13PE;IAAmB,uBAAuB;EvE63P5C;EuE53PE;;IAEE,2BAA2B;EvE83P/B;EuE53PE;;IAEE,6BAA6B;EvE83PjC;EuE53PE;;IAEE,8BAA8B;EvE83PlC;EuE53PE;;IAEE,4BAA4B;EvE83PhC;AACF;;Acx4PI;EyDlDI;IAAgC,oBAA4B;EvE+7PlE;EuE97PM;;IAEE,wBAAoC;EvEg8P5C;EuE97PM;;IAEE,0BAAwC;EvEg8PhD;EuE97PM;;IAEE,2BAA0C;EvEg8PlD;EuE97PM;;IAEE,yBAAsC;EvEg8P9C;EuE/8PM;IAAgC,0BAA4B;EvEk9PlE;EuEj9PM;;IAEE,8BAAoC;EvEm9P5C;EuEj9PM;;IAEE,gCAAwC;EvEm9PhD;EuEj9PM;;IAEE,iCAA0C;EvEm9PlD;EuEj9PM;;IAEE,+BAAsC;EvEm9P9C;EuEl+PM;IAAgC,yBAA4B;EvEq+PlE;EuEp+PM;;IAEE,6BAAoC;EvEs+P5C;EuEp+PM;;IAEE,+BAAwC;EvEs+PhD;EuEp+PM;;IAEE,gCAA0C;EvEs+PlD;EuEp+PM;;IAEE,8BAAsC;EvEs+P9C;EuEr/PM;IAAgC,uBAA4B;EvEw/PlE;EuEv/PM;;IAEE,2BAAoC;EvEy/P5C;EuEv/PM;;IAEE,6BAAwC;EvEy/PhD;EuEv/PM;;IAEE,8BAA0C;EvEy/PlD;EuEv/PM;;IAEE,4BAAsC;EvEy/P9C;EuExgQM;IAAgC,yBAA4B;EvE2gQlE;EuE1gQM;;IAEE,6BAAoC;EvE4gQ5C;EuE1gQM;;IAEE,+BAAwC;EvE4gQhD;EuE1gQM;;IAEE,gCAA0C;EvE4gQlD;EuE1gQM;;IAEE,8BAAsC;EvE4gQ9C;EuE3hQM;IAAgC,uBAA4B;EvE8hQlE;EuE7hQM;;IAEE,2BAAoC;EvE+hQ5C;EuE7hQM;;IAEE,6BAAwC;EvE+hQhD;EuE7hQM;;IAEE,8BAA0C;EvE+hQlD;EuE7hQM;;IAEE,4BAAsC;EvE+hQ9C;EuE9iQM;IAAgC,qBAA4B;EvEijQlE;EuEhjQM;;IAEE,yBAAoC;EvEkjQ5C;EuEhjQM;;IAEE,2BAAwC;EvEkjQhD;EuEhjQM;;IAEE,4BAA0C;EvEkjQlD;EuEhjQM;;IAEE,0BAAsC;EvEkjQ9C;EuEjkQM;IAAgC,2BAA4B;EvEokQlE;EuEnkQM;;IAEE,+BAAoC;EvEqkQ5C;EuEnkQM;;IAEE,iCAAwC;EvEqkQhD;EuEnkQM;;IAEE,kCAA0C;EvEqkQlD;EuEnkQM;;IAEE,gCAAsC;EvEqkQ9C;EuEplQM;IAAgC,0BAA4B;EvEulQlE;EuEtlQM;;IAEE,8BAAoC;EvEwlQ5C;EuEtlQM;;IAEE,gCAAwC;EvEwlQhD;EuEtlQM;;IAEE,iCAA0C;EvEwlQlD;EuEtlQM;;IAEE,+BAAsC;EvEwlQ9C;EuEvmQM;IAAgC,wBAA4B;EvE0mQlE;EuEzmQM;;IAEE,4BAAoC;EvE2mQ5C;EuEzmQM;;IAEE,8BAAwC;EvE2mQhD;EuEzmQM;;IAEE,+BAA0C;EvE2mQlD;EuEzmQM;;IAEE,6BAAsC;EvE2mQ9C;EuE1nQM;IAAgC,0BAA4B;EvE6nQlE;EuE5nQM;;IAEE,8BAAoC;EvE8nQ5C;EuE5nQM;;IAEE,gCAAwC;EvE8nQhD;EuE5nQM;;IAEE,iCAA0C;EvE8nQlD;EuE5nQM;;IAEE,+BAAsC;EvE8nQ9C;EuE7oQM;IAAgC,wBAA4B;EvEgpQlE;EuE/oQM;;IAEE,4BAAoC;EvEipQ5C;EuE/oQM;;IAEE,8BAAwC;EvEipQhD;EuE/oQM;;IAEE,+BAA0C;EvEipQlD;EuE/oQM;;IAEE,6BAAsC;EvEipQ9C;EuEzoQM;IAAwB,2BAA2B;EvE4oQzD;EuE3oQM;;IAEE,+BAA+B;EvE6oQvC;EuE3oQM;;IAEE,iCAAiC;EvE6oQzC;EuE3oQM;;IAEE,kCAAkC;EvE6oQ1C;EuE3oQM;;IAEE,gCAAgC;EvE6oQxC;EuE5pQM;IAAwB,0BAA2B;EvE+pQzD;EuE9pQM;;IAEE,8BAA+B;EvEgqQvC;EuE9pQM;;IAEE,gCAAiC;EvEgqQzC;EuE9pQM;;IAEE,iCAAkC;EvEgqQ1C;EuE9pQM;;IAEE,+BAAgC;EvEgqQxC;EuE/qQM;IAAwB,wBAA2B;EvEkrQzD;EuEjrQM;;IAEE,4BAA+B;EvEmrQvC;EuEjrQM;;IAEE,8BAAiC;EvEmrQzC;EuEjrQM;;IAEE,+BAAkC;EvEmrQ1C;EuEjrQM;;IAEE,6BAAgC;EvEmrQxC;EuElsQM;IAAwB,0BAA2B;EvEqsQzD;EuEpsQM;;IAEE,8BAA+B;EvEssQvC;EuEpsQM;;IAEE,gCAAiC;EvEssQzC;EuEpsQM;;IAEE,iCAAkC;EvEssQ1C;EuEpsQM;;IAEE,+BAAgC;EvEssQxC;EuErtQM;IAAwB,wBAA2B;EvEwtQzD;EuEvtQM;;IAEE,4BAA+B;EvEytQvC;EuEvtQM;;IAEE,8BAAiC;EvEytQzC;EuEvtQM;;IAEE,+BAAkC;EvEytQ1C;EuEvtQM;;IAEE,6BAAgC;EvEytQxC;EuEntQE;IAAmB,uBAAuB;EvEstQ5C;EuErtQE;;IAEE,2BAA2B;EvEutQ/B;EuErtQE;;IAEE,6BAA6B;EvEutQjC;EuErtQE;;IAEE,8BAA8B;EvEutQlC;EuErtQE;;IAEE,4BAA4B;EvEutQhC;AACF;;AcjuQI;EyDlDI;IAAgC,oBAA4B;EvEwxQlE;EuEvxQM;;IAEE,wBAAoC;EvEyxQ5C;EuEvxQM;;IAEE,0BAAwC;EvEyxQhD;EuEvxQM;;IAEE,2BAA0C;EvEyxQlD;EuEvxQM;;IAEE,yBAAsC;EvEyxQ9C;EuExyQM;IAAgC,0BAA4B;EvE2yQlE;EuE1yQM;;IAEE,8BAAoC;EvE4yQ5C;EuE1yQM;;IAEE,gCAAwC;EvE4yQhD;EuE1yQM;;IAEE,iCAA0C;EvE4yQlD;EuE1yQM;;IAEE,+BAAsC;EvE4yQ9C;EuE3zQM;IAAgC,yBAA4B;EvE8zQlE;EuE7zQM;;IAEE,6BAAoC;EvE+zQ5C;EuE7zQM;;IAEE,+BAAwC;EvE+zQhD;EuE7zQM;;IAEE,gCAA0C;EvE+zQlD;EuE7zQM;;IAEE,8BAAsC;EvE+zQ9C;EuE90QM;IAAgC,uBAA4B;EvEi1QlE;EuEh1QM;;IAEE,2BAAoC;EvEk1Q5C;EuEh1QM;;IAEE,6BAAwC;EvEk1QhD;EuEh1QM;;IAEE,8BAA0C;EvEk1QlD;EuEh1QM;;IAEE,4BAAsC;EvEk1Q9C;EuEj2QM;IAAgC,yBAA4B;EvEo2QlE;EuEn2QM;;IAEE,6BAAoC;EvEq2Q5C;EuEn2QM;;IAEE,+BAAwC;EvEq2QhD;EuEn2QM;;IAEE,gCAA0C;EvEq2QlD;EuEn2QM;;IAEE,8BAAsC;EvEq2Q9C;EuEp3QM;IAAgC,uBAA4B;EvEu3QlE;EuEt3QM;;IAEE,2BAAoC;EvEw3Q5C;EuEt3QM;;IAEE,6BAAwC;EvEw3QhD;EuEt3QM;;IAEE,8BAA0C;EvEw3QlD;EuEt3QM;;IAEE,4BAAsC;EvEw3Q9C;EuEv4QM;IAAgC,qBAA4B;EvE04QlE;EuEz4QM;;IAEE,yBAAoC;EvE24Q5C;EuEz4QM;;IAEE,2BAAwC;EvE24QhD;EuEz4QM;;IAEE,4BAA0C;EvE24QlD;EuEz4QM;;IAEE,0BAAsC;EvE24Q9C;EuE15QM;IAAgC,2BAA4B;EvE65QlE;EuE55QM;;IAEE,+BAAoC;EvE85Q5C;EuE55QM;;IAEE,iCAAwC;EvE85QhD;EuE55QM;;IAEE,kCAA0C;EvE85QlD;EuE55QM;;IAEE,gCAAsC;EvE85Q9C;EuE76QM;IAAgC,0BAA4B;EvEg7QlE;EuE/6QM;;IAEE,8BAAoC;EvEi7Q5C;EuE/6QM;;IAEE,gCAAwC;EvEi7QhD;EuE/6QM;;IAEE,iCAA0C;EvEi7QlD;EuE/6QM;;IAEE,+BAAsC;EvEi7Q9C;EuEh8QM;IAAgC,wBAA4B;EvEm8QlE;EuEl8QM;;IAEE,4BAAoC;EvEo8Q5C;EuEl8QM;;IAEE,8BAAwC;EvEo8QhD;EuEl8QM;;IAEE,+BAA0C;EvEo8QlD;EuEl8QM;;IAEE,6BAAsC;EvEo8Q9C;EuEn9QM;IAAgC,0BAA4B;EvEs9QlE;EuEr9QM;;IAEE,8BAAoC;EvEu9Q5C;EuEr9QM;;IAEE,gCAAwC;EvEu9QhD;EuEr9QM;;IAEE,iCAA0C;EvEu9QlD;EuEr9QM;;IAEE,+BAAsC;EvEu9Q9C;EuEt+QM;IAAgC,wBAA4B;EvEy+QlE;EuEx+QM;;IAEE,4BAAoC;EvE0+Q5C;EuEx+QM;;IAEE,8BAAwC;EvE0+QhD;EuEx+QM;;IAEE,+BAA0C;EvE0+QlD;EuEx+QM;;IAEE,6BAAsC;EvE0+Q9C;EuEl+QM;IAAwB,2BAA2B;EvEq+QzD;EuEp+QM;;IAEE,+BAA+B;EvEs+QvC;EuEp+QM;;IAEE,iCAAiC;EvEs+QzC;EuEp+QM;;IAEE,kCAAkC;EvEs+Q1C;EuEp+QM;;IAEE,gCAAgC;EvEs+QxC;EuEr/QM;IAAwB,0BAA2B;EvEw/QzD;EuEv/QM;;IAEE,8BAA+B;EvEy/QvC;EuEv/QM;;IAEE,gCAAiC;EvEy/QzC;EuEv/QM;;IAEE,iCAAkC;EvEy/Q1C;EuEv/QM;;IAEE,+BAAgC;EvEy/QxC;EuExgRM;IAAwB,wBAA2B;EvE2gRzD;EuE1gRM;;IAEE,4BAA+B;EvE4gRvC;EuE1gRM;;IAEE,8BAAiC;EvE4gRzC;EuE1gRM;;IAEE,+BAAkC;EvE4gR1C;EuE1gRM;;IAEE,6BAAgC;EvE4gRxC;EuE3hRM;IAAwB,0BAA2B;EvE8hRzD;EuE7hRM;;IAEE,8BAA+B;EvE+hRvC;EuE7hRM;;IAEE,gCAAiC;EvE+hRzC;EuE7hRM;;IAEE,iCAAkC;EvE+hR1C;EuE7hRM;;IAEE,+BAAgC;EvE+hRxC;EuE9iRM;IAAwB,wBAA2B;EvEijRzD;EuEhjRM;;IAEE,4BAA+B;EvEkjRvC;EuEhjRM;;IAEE,8BAAiC;EvEkjRzC;EuEhjRM;;IAEE,+BAAkC;EvEkjR1C;EuEhjRM;;IAEE,6BAAgC;EvEkjRxC;EuE5iRE;IAAmB,uBAAuB;EvE+iR5C;EuE9iRE;;IAEE,2BAA2B;EvEgjR/B;EuE9iRE;;IAEE,6BAA6B;EvEgjRjC;EuE9iRE;;IAEE,8BAA8B;EvEgjRlC;EuE9iRE;;IAEE,4BAA4B;EvEgjRhC;AACF;;Ac1jRI;EyDlDI;IAAgC,oBAA4B;EvEinRlE;EuEhnRM;;IAEE,wBAAoC;EvEknR5C;EuEhnRM;;IAEE,0BAAwC;EvEknRhD;EuEhnRM;;IAEE,2BAA0C;EvEknRlD;EuEhnRM;;IAEE,yBAAsC;EvEknR9C;EuEjoRM;IAAgC,0BAA4B;EvEooRlE;EuEnoRM;;IAEE,8BAAoC;EvEqoR5C;EuEnoRM;;IAEE,gCAAwC;EvEqoRhD;EuEnoRM;;IAEE,iCAA0C;EvEqoRlD;EuEnoRM;;IAEE,+BAAsC;EvEqoR9C;EuEppRM;IAAgC,yBAA4B;EvEupRlE;EuEtpRM;;IAEE,6BAAoC;EvEwpR5C;EuEtpRM;;IAEE,+BAAwC;EvEwpRhD;EuEtpRM;;IAEE,gCAA0C;EvEwpRlD;EuEtpRM;;IAEE,8BAAsC;EvEwpR9C;EuEvqRM;IAAgC,uBAA4B;EvE0qRlE;EuEzqRM;;IAEE,2BAAoC;EvE2qR5C;EuEzqRM;;IAEE,6BAAwC;EvE2qRhD;EuEzqRM;;IAEE,8BAA0C;EvE2qRlD;EuEzqRM;;IAEE,4BAAsC;EvE2qR9C;EuE1rRM;IAAgC,yBAA4B;EvE6rRlE;EuE5rRM;;IAEE,6BAAoC;EvE8rR5C;EuE5rRM;;IAEE,+BAAwC;EvE8rRhD;EuE5rRM;;IAEE,gCAA0C;EvE8rRlD;EuE5rRM;;IAEE,8BAAsC;EvE8rR9C;EuE7sRM;IAAgC,uBAA4B;EvEgtRlE;EuE/sRM;;IAEE,2BAAoC;EvEitR5C;EuE/sRM;;IAEE,6BAAwC;EvEitRhD;EuE/sRM;;IAEE,8BAA0C;EvEitRlD;EuE/sRM;;IAEE,4BAAsC;EvEitR9C;EuEhuRM;IAAgC,qBAA4B;EvEmuRlE;EuEluRM;;IAEE,yBAAoC;EvEouR5C;EuEluRM;;IAEE,2BAAwC;EvEouRhD;EuEluRM;;IAEE,4BAA0C;EvEouRlD;EuEluRM;;IAEE,0BAAsC;EvEouR9C;EuEnvRM;IAAgC,2BAA4B;EvEsvRlE;EuErvRM;;IAEE,+BAAoC;EvEuvR5C;EuErvRM;;IAEE,iCAAwC;EvEuvRhD;EuErvRM;;IAEE,kCAA0C;EvEuvRlD;EuErvRM;;IAEE,gCAAsC;EvEuvR9C;EuEtwRM;IAAgC,0BAA4B;EvEywRlE;EuExwRM;;IAEE,8BAAoC;EvE0wR5C;EuExwRM;;IAEE,gCAAwC;EvE0wRhD;EuExwRM;;IAEE,iCAA0C;EvE0wRlD;EuExwRM;;IAEE,+BAAsC;EvE0wR9C;EuEzxRM;IAAgC,wBAA4B;EvE4xRlE;EuE3xRM;;IAEE,4BAAoC;EvE6xR5C;EuE3xRM;;IAEE,8BAAwC;EvE6xRhD;EuE3xRM;;IAEE,+BAA0C;EvE6xRlD;EuE3xRM;;IAEE,6BAAsC;EvE6xR9C;EuE5yRM;IAAgC,0BAA4B;EvE+yRlE;EuE9yRM;;IAEE,8BAAoC;EvEgzR5C;EuE9yRM;;IAEE,gCAAwC;EvEgzRhD;EuE9yRM;;IAEE,iCAA0C;EvEgzRlD;EuE9yRM;;IAEE,+BAAsC;EvEgzR9C;EuE/zRM;IAAgC,wBAA4B;EvEk0RlE;EuEj0RM;;IAEE,4BAAoC;EvEm0R5C;EuEj0RM;;IAEE,8BAAwC;EvEm0RhD;EuEj0RM;;IAEE,+BAA0C;EvEm0RlD;EuEj0RM;;IAEE,6BAAsC;EvEm0R9C;EuE3zRM;IAAwB,2BAA2B;EvE8zRzD;EuE7zRM;;IAEE,+BAA+B;EvE+zRvC;EuE7zRM;;IAEE,iCAAiC;EvE+zRzC;EuE7zRM;;IAEE,kCAAkC;EvE+zR1C;EuE7zRM;;IAEE,gCAAgC;EvE+zRxC;EuE90RM;IAAwB,0BAA2B;EvEi1RzD;EuEh1RM;;IAEE,8BAA+B;EvEk1RvC;EuEh1RM;;IAEE,gCAAiC;EvEk1RzC;EuEh1RM;;IAEE,iCAAkC;EvEk1R1C;EuEh1RM;;IAEE,+BAAgC;EvEk1RxC;EuEj2RM;IAAwB,wBAA2B;EvEo2RzD;EuEn2RM;;IAEE,4BAA+B;EvEq2RvC;EuEn2RM;;IAEE,8BAAiC;EvEq2RzC;EuEn2RM;;IAEE,+BAAkC;EvEq2R1C;EuEn2RM;;IAEE,6BAAgC;EvEq2RxC;EuEp3RM;IAAwB,0BAA2B;EvEu3RzD;EuEt3RM;;IAEE,8BAA+B;EvEw3RvC;EuEt3RM;;IAEE,gCAAiC;EvEw3RzC;EuEt3RM;;IAEE,iCAAkC;EvEw3R1C;EuEt3RM;;IAEE,+BAAgC;EvEw3RxC;EuEv4RM;IAAwB,wBAA2B;EvE04RzD;EuEz4RM;;IAEE,4BAA+B;EvE24RvC;EuEz4RM;;IAEE,8BAAiC;EvE24RzC;EuEz4RM;;IAEE,+BAAkC;EvE24R1C;EuEz4RM;;IAEE,6BAAgC;EvE24RxC;EuEr4RE;IAAmB,uBAAuB;EvEw4R5C;EuEv4RE;;IAEE,2BAA2B;EvEy4R/B;EuEv4RE;;IAEE,6BAA6B;EvEy4RjC;EuEv4RE;;IAEE,8BAA8B;EvEy4RlC;EuEv4RE;;IAEE,4BAA4B;EvEy4RhC;AACF;;AwEz8RA;EAAkB,4GAA8C;AxE68RhE;;AwEz8RA;EAAiB,8BAA8B;AxE68R/C;;AwE58RA;EAAiB,8BAA8B;AxEg9R/C;;AwE/8RA;EAAiB,8BAA8B;AxEm9R/C;;AwEl9RA;ECTE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AzE+9RrB;;AwEh9RI;EAAwB,2BAA2B;AxEo9RvD;;AwEn9RI;EAAwB,4BAA4B;AxEu9RxD;;AwEt9RI;EAAwB,6BAA6B;AxE09RzD;;Acr7RI;E0DvCA;IAAwB,2BAA2B;ExEi+RrD;EwEh+RE;IAAwB,4BAA4B;ExEm+RtD;EwEl+RE;IAAwB,6BAA6B;ExEq+RvD;AACF;;Acj8RI;E0DvCA;IAAwB,2BAA2B;ExE6+RrD;EwE5+RE;IAAwB,4BAA4B;ExE++RtD;EwE9+RE;IAAwB,6BAA6B;ExEi/RvD;AACF;;Ac78RI;E0DvCA;IAAwB,2BAA2B;ExEy/RrD;EwEx/RE;IAAwB,4BAA4B;ExE2/RtD;EwE1/RE;IAAwB,6BAA6B;ExE6/RvD;AACF;;Acz9RI;E0DvCA;IAAwB,2BAA2B;ExEqgSrD;EwEpgSE;IAAwB,4BAA4B;ExEugStD;EwEtgSE;IAAwB,6BAA6B;ExEygSvD;AACF;;AwEpgSA;EAAmB,oCAAoC;AxEwgSvD;;AwEvgSA;EAAmB,oCAAoC;AxE2gSvD;;AwE1gSA;EAAmB,qCAAqC;AxE8gSxD;;AwE1gSA;EAAuB,2BAA0C;AxE8gSjE;;AwE7gSA;EAAuB,+BAA4C;AxEihSnE;;AwEhhSA;EAAuB,2BAA2C;AxEohSlE;;AwEnhSA;EAAuB,2BAAyC;AxEuhShE;;AwEthSA;EAAuB,8BAA2C;AxE0hSlE;;AwEzhSA;EAAuB,6BAA6B;AxE6hSpD;;AwEzhSA;EAAc,sBAAwB;AxE6hStC;;A0EpkSE;EACE,yBAAwB;A1EukS5B;;AK7jSE;EqELM,yBAA0E;A1EskSlF;;A0E5kSE;EACE,yBAAwB;A1E+kS5B;;AKrkSE;EqELM,yBAA0E;A1E8kSlF;;A0EplSE;EACE,yBAAwB;A1EulS5B;;AK7kSE;EqELM,yBAA0E;A1EslSlF;;A0E5lSE;EACE,yBAAwB;A1E+lS5B;;AKrlSE;EqELM,yBAA0E;A1E8lSlF;;A0EpmSE;EACE,yBAAwB;A1EumS5B;;AK7lSE;EqELM,yBAA0E;A1EsmSlF;;A0E5mSE;EACE,yBAAwB;A1E+mS5B;;AKrmSE;EqELM,yBAA0E;A1E8mSlF;;A0EpnSE;EACE,yBAAwB;A1EunS5B;;AK7mSE;EqELM,yBAA0E;A1EsnSlF;;A0E5nSE;EACE,yBAAwB;A1E+nS5B;;AKrnSE;EqELM,yBAA0E;A1E8nSlF;;AwEvlSA;EAAa,yBAA6B;AxE2lS1C;;AwE1lSA;EAAc,yBAA6B;AxE8lS3C;;AwE5lSA;EAAiB,oCAAkC;AxEgmSnD;;AwE/lSA;EAAiB,0CAAkC;AxEmmSnD;;AwE/lSA;EGvDE,WAAW;EACX,kBAAkB;EAClB,iBAAiB;EACjB,6BAA6B;EAC7B,SAAS;A3E0pSX;;AwEnmSA;EAAwB,gCAAgC;AxEumSxD;;AwErmSA;EACE,iCAAiC;EACjC,oCAAoC;AxEwmStC;;AwEnmSA;EAAc,yBAAyB;AxEumSvC;;A4ExqSA;EACE,8BAA8B;A5E2qShC;;A4ExqSA;EACE,6BAA6B;A5E2qS/B;;A6E3qSE;E3EOF;;;I2EDM,4BAA4B;IAE5B,2BAA2B;E7E2qS/B;E6ExqSE;IAEI,0BAA0B;E7EyqShC;E6EhqSE;IACE,6BAA6B;E7EkqSjC;EEn+RF;I2EhLM,gCAAgC;E7EspSpC;E6EppSE;;IAEE,yB1EzCY;I0E0CZ,wBAAwB;E7EspS5B;E6E9oSE;IACE,2BAA2B;E7EgpS/B;E6E7oSE;;IAEE,wBAAwB;E7E+oS5B;E6E5oSE;;;IAGE,UAAU;IACV,SAAS;E7E8oSb;E6E3oSE;;IAEE,uBAAuB;E7E6oS3B;E6EroSE;IACE,Q1EwgCgC;EH+nQpC;EEnrSF;I2E+CM,2BAA2C;E7EuoS/C;EY9tSA;IiE0FI,2BAA2C;E7EuoS/C;EiCrtSF;I4CmFM,aAAa;E7EqoSjB;EsCpuSF;IuCkGM,sB1EtFS;EH2tSb;EgBxuSF;I6DuGM,oCAAoC;E7EooSxC;E6EroSE;;IAKI,iCAAmC;E7EooSzC;EgBvsSF;;I6D0EQ,oCAAsC;E7EioS5C;EgBtnSF;I6DNM,cAAc;E7E+nSlB;EiBrvSA;;;;I4D4HM,qB1EvHU;EHsvShB;EgBjpSF;I6DuBM,cAAc;IACd,qB1E7HY;EH0vShB;AACF","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\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 \"utilities\";\n@import \"print\";\n","/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\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: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\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,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\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: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-break: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\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}\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 line-height: 1.5;\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 line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\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 height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\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: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.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-position: center right calc(0.375em + 0.1875rem);\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.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\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-select:valid ~ .valid-feedback,\n.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:valid ~ .valid-feedback,\n.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,\n.form-control-file.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\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: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\");\n background-repeat: no-repeat;\n background-position: center right calc(0.375em + 0.1875rem);\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-select:invalid ~ .invalid-feedback,\n.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:invalid ~ .invalid-feedback,\n.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,\n.form-control-file.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\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\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\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}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\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}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\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}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\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}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\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: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\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\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 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\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\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\n.btn-group-vertical > .btn:not(:first-child),\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.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: transform 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\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: calc(1rem + 0.4rem);\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\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\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\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\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\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\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row 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: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\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}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row 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: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\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}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row 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: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\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}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row 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: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\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}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: flex;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: flex;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-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 .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-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.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:first-of-type) .card-header:first-child {\n border-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0;\n}\n\n.accordion > .card:first-of-type {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card .card-header {\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\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\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\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: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:last-child {\n margin-bottom: -1px;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n margin-bottom: 0;\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\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% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\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 word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\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 word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\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\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\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-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: 0s 0.6s opacity;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\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 color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\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: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%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' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\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\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !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-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@media (min-width: 576px) {\n .d-sm-none {\n display: 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-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}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: 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-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}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: 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-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}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: 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-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}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\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-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}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\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-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.flex-fill {\n flex: 1 1 auto !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.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.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@media (min-width: 576px) {\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-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 .flex-sm-fill {\n flex: 1 1 auto !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 .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 .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}\n\n@media (min-width: 768px) {\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-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 .flex-md-fill {\n flex: 1 1 auto !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 .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 .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}\n\n@media (min-width: 992px) {\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-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 .flex-lg-fill {\n flex: 1 1 auto !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 .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 .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}\n\n@media (min-width: 1200px) {\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-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 .flex-xl-fill {\n flex: 1 1 auto !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 .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 .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}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !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.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@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\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.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.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !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 pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\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.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-break: break-word !important;\n overflow-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\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// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\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. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\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// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\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`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\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: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover {\n color: $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// which have not been made explicitly keyboard-focusable (without tabindex).\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([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

      `s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\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$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\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 ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\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 ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\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 ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\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-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\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$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !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$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\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$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\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: 30px !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto 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$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !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\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n$table-dark-color: $white !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\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: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $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$input-btn-line-height-sm: $line-height-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$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\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\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$btn-line-height-sm: $input-btn-line-height-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$btn-line-height-lg: $input-btn-line-height-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-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !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\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\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$input-line-height-sm: $input-btn-line-height-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$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !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: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2}) !default;\n$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default;\n$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default;\n\n$input-height: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2} + #{$input-height-border}) !default;\n$input-height-sm: calc(#{$input-line-height-sm * 1em} + #{$input-btn-padding-y-sm * 2} + #{$input-height-border}) !default;\n$input-height-lg: calc(#{$input-line-height-lg * 1em} + #{$input-btn-padding-y-lg * 2} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\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\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: calc(#{$custom-control-indicator-size} - #{$custom-control-indicator-border-width * 4}) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-select-background: $custom-select-indicator no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: calc((1em + #{2 * $custom-select-padding-y}) * 3 / 4 + #{$custom-select-padding-x + $custom-select-indicator-padding}) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.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\"), \"#\", \"%23\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-feedback-icon-invalid-color}' viewBox='-2 -2 7 7'%3e%3cpath stroke='#{$form-feedback-icon-invalid-color}' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\"), \"#\", \"%23\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\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 ),\n $form-validation-states\n);\n\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$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !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\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !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) / 2 !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\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !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\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !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: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !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-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !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$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\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\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !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: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !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\n// Form tooltips must come after regular tooltips\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: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\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-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !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\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !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: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !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\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !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: null !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-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !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: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !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\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !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\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\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: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !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: .75rem !default;\n$list-group-item-padding-x: 1.25rem !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\n\n// Image thumbnails\n\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: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !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-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !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\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !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: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size 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// 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-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 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: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all ``s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-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) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n","// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-break: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n 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\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\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)\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))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($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))\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. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `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(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .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))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\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 $max: breakpoint-max($name, $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($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $dark;\n } @else {\n @return $light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on `s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on ` receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-padding-y} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});\n margin-bottom: 0; // Override the `
      ',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Ee},je="show",He="out",Re={HIDE:"hide"+De,HIDDEN:"hidden"+De,SHOW:"show"+De,SHOWN:"shown"+De,INSERTED:"inserted"+De,CLICK:"click"+De,FOCUSIN:"focusin"+De,FOCUSOUT:"focusout"+De,MOUSEENTER:"mouseenter"+De,MOUSELEAVE:"mouseleave"+De},xe="fade",Fe="show",Ue=".tooltip-inner",We=".arrow",qe="hover",Me="focus",Ke="click",Qe="manual",Be=function(){function i(t,e){if("undefined"==typeof u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Fe))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(xe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,{placement:a,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:We},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),g(o).addClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===He&&e._leave(null,e)};if(g(this.tip).hasClass(xe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=g.Event(this.constructor.Event.HIDE),o=function(){e._hoverState!==je&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),g(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(g(this.element).trigger(i),!i.isDefaultPrevented()){if(g(n).removeClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ke]=!1,this._activeTrigger[Me]=!1,this._activeTrigger[qe]=!1,g(this.tip).hasClass(xe)){var r=_.getTransitionDurationFromElement(n);g(n).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Ae+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Ue)),this.getTitle()),g(t).removeClass(xe+" "+Fe)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=Se(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Pe[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Qe){var e=t===qe?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===qe?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),g(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Me:qe]=!0),g(e.getTipElement()).hasClass(Fe)||e._hoverState===je?e._hoverState=je:(clearTimeout(e._timeout),e._hoverState=je,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===je&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Me:qe]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=He,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===He&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==Oe.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,e,"object"==typeof t&&t?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()),_.typeCheckConfig(be,t,this.constructor.DefaultType),t.sanitize&&(t.template=Se(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ne);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(xe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ie),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ie,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Le}},{key:"NAME",get:function(){return be}},{key:"DATA_KEY",get:function(){return Ie}},{key:"Event",get:function(){return Re}},{key:"EVENT_KEY",get:function(){return De}},{key:"DefaultType",get:function(){return ke}}]),i}();g.fn[be]=Be._jQueryInterface,g.fn[be].Constructor=Be,g.fn[be].noConflict=function(){return g.fn[be]=we,Be._jQueryInterface};var Ve="popover",Ye="bs.popover",ze="."+Ye,Xe=g.fn[Ve],$e="bs-popover",Ge=new RegExp("(^|\\s)"+$e+"\\S+","g"),Je=l({},Be.Default,{placement:"right",trigger:"click",content:"",template:''}),Ze=l({},Be.DefaultType,{content:"(string|element|function)"}),tn="fade",en="show",nn=".popover-header",on=".popover-body",rn={HIDE:"hide"+ze,HIDDEN:"hidden"+ze,SHOW:"show"+ze,SHOWN:"shown"+ze,INSERTED:"inserted"+ze,CLICK:"click"+ze,FOCUSIN:"focusin"+ze,FOCUSOUT:"focusout"+ze,MOUSEENTER:"mouseenter"+ze,MOUSELEAVE:"mouseleave"+ze},sn=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(t){g(this.getTipElement()).addClass($e+"-"+t)},o.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},o.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(nn),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(on),e),t.removeClass(tn+" "+en)},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ge);null!==e&&0=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n 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 Util.findShadowRoot(element.parentNode)\n }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input:not([type=\"hidden\"])',\n ACTIVE : '.active',\n BUTTON : '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n}\n\nconst Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHSTART : `touchstart${EVENT_KEY}`,\n TOUCHMOVE : `touchmove${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n POINTERDOWN : `pointerdown${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n DRAG_START : `dragstart${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item',\n POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n ITEM_IMG : '.carousel-item img',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n if (this._pointerEvent) {\n $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n $(this._element).on(Event.TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(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.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n}\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n show() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\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 $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE : 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n MODAL_BODY : '.modal-body',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n $(document).off(Event.FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if ($(this._dialog).hasClass(ClassName.SCROLLABLE)) {\n this._dialog.querySelector(Selector.MODAL_BODY).scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\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\nexport const DefaultWhitelist = {\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', '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\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/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,[a-z0-9+/]+=*$/i\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach((attr) => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string|function)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)',\n sanitize : 'boolean',\n sanitizeFn : '(null|function)',\n whiteList : 'object'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '
      ' +\n '
      ' +\n '
      ',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent',\n sanitize : true,\n sanitizeFn : null,\n whiteList : DefaultWhitelist\n}\n\nconst HoverState = {\n SHOW : 'show',\n OUT : 'out'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n}\n\nconst Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => this._handlePopperPlacementChange(data)\n })\n\n $(tip).addClass(ClassName.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 $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.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 $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n })\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => {\n if (this.element) {\n this.hide()\n }\n }\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach((dataAttr) => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\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 Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '
      ' +\n '
      ' +\n '

      ' +\n '
      '\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n}\n\nconst Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both
        and