diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/docs/.nojekyll @@ -0,0 +1 @@ + diff --git a/docs/404.html b/docs/404.html new file mode 100644 index 0000000..cb613d2 --- /dev/null +++ b/docs/404.html @@ -0,0 +1,80 @@ + + + + + + + +Page not found (404) • monitorOSM + + + + + + + + + + + + + + + Skip to contents + + +
+
+
+ +Content not found. Please use links in the navbar. + +
+
+ + + +
+ + + + + + + diff --git a/docs/LICENSE.html b/docs/LICENSE.html new file mode 100644 index 0000000..12cf65b --- /dev/null +++ b/docs/LICENSE.html @@ -0,0 +1,249 @@ + +GNU General Public License • monitorOSM + Skip to contents + + +
+
+
+ +
+ +

Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>

+

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

+
+

Preamble

+

The GNU General Public License is a free, copyleft license for software and other kinds of works.

+

The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program–to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.

+

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.

+

To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.

+

For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

+

Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.

+

For the developers’ and authors’ protection, the GPL clearly explains that there is no warranty for this free software. For both users’ and authors’ sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.

+

Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users’ freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.

+

Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.

+

The precise terms and conditions for copying, distribution and modification follow.

+
+
+

TERMS AND CONDITIONS

+
+

0. Definitions

+

“This License” refers to version 3 of the GNU General Public License.

+

“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.

+

“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.

+

To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.

+

A “covered work” means either the unmodified Program or a work based on the Program.

+

To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.

+

To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.

+

An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.

+
+
+

1. Source Code

+

The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.

+

A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.

+

The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.

+

The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work’s System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.

+

The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.

+

The Corresponding Source for a work in source code form is that same work.

+
+
+

2. Basic Permissions

+

All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.

+

You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.

+

Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.

+
+
+ +

No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.

+

When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work’s users, your or third parties’ legal rights to forbid circumvention of technological measures.

+
+
+

4. Conveying Verbatim Copies

+

You may convey verbatim copies of the Program’s source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.

+

You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.

+
+
+

5. Conveying Modified Source Versions

+

You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:

+
  • +a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
  • +
  • +b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
  • +
  • +c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
  • +
  • +d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
  • +

A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation’s users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.

+
+
+

6. Conveying Non-Source Forms

+

You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:

+
  • +a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
  • +
  • +b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
  • +
  • +c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
  • +
  • +d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
  • +
  • +e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
  • +

A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.

+

A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.

+

“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.

+

If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).

+

The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.

+

Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.

+
+
+

7. Additional Terms

+

“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.

+

When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.

+

Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:

+
  • +a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
  • +
  • +b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
  • +
  • +c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
  • +
  • +d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
  • +
  • +e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
  • +
  • +f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
  • +

All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.

+

If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.

+

Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.

+
+
+

8. Termination

+

You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).

+

However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.

+

Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.

+

Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.

+
+
+

9. Acceptance Not Required for Having Copies

+

You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.

+
+
+

10. Automatic Licensing of Downstream Recipients

+

Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.

+

An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party’s predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.

+

You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.

+
+
+

11. Patents

+

A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor’s “contributor version”.

+

A contributor’s “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.

+

Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor’s essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.

+

In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.

+

If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient’s use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.

+

If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.

+

A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.

+

Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.

+
+
+

12. No Surrender of Others’ Freedom

+

If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.

+
+
+

13. Use with the GNU Affero General Public License

+

Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.

+
+
+

14. Revised Versions of this License

+

The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

+

Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.

+

If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy’s public statement of acceptance of a version permanently authorizes you to choose that version for the Program.

+

Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.

+
+
+

15. Disclaimer of Warranty

+

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

+
+
+

16. Limitation of Liability

+

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

+
+
+

17. Interpretation of Sections 15 and 16

+

If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.

+

END OF TERMS AND CONDITIONS

+
+
+
+

How to Apply These Terms to Your New Programs

+

If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.

+

To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.

+
<one line to give the program's name and a brief idea of what it does.>
+Copyright (C) <year>  <name of author>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+

Also add information on how to contact you by electronic and paper mail.

+

If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:

+
<program>  Copyright (C) <year>  <name of author>
+This program comes with ABSOLUTELY NO WARRANTY; for details type 'show w'.
+This is free software, and you are welcome to redistribute it
+under certain conditions; type 'show c' for details.
+

The hypothetical commands show w and show c should show the appropriate parts of the General Public License. Of course, your program’s commands might be different; for a GUI interface, you would use an “about box”.

+

You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <http://www.gnu.org/licenses/>.

+

The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read <http://www.gnu.org/philosophy/why-not-lgpl.html>.

+
+
+ +
+ + +
+ + + + + + + diff --git a/docs/apple-touch-icon-120x120.png b/docs/apple-touch-icon-120x120.png new file mode 100644 index 0000000..57a288b Binary files /dev/null and b/docs/apple-touch-icon-120x120.png differ diff --git a/docs/apple-touch-icon-152x152.png b/docs/apple-touch-icon-152x152.png new file mode 100644 index 0000000..4a23294 Binary files /dev/null and b/docs/apple-touch-icon-152x152.png differ diff --git a/docs/apple-touch-icon-180x180.png b/docs/apple-touch-icon-180x180.png new file mode 100644 index 0000000..92abe6d Binary files /dev/null and b/docs/apple-touch-icon-180x180.png differ diff --git a/docs/apple-touch-icon-60x60.png b/docs/apple-touch-icon-60x60.png new file mode 100644 index 0000000..c70355b Binary files /dev/null and b/docs/apple-touch-icon-60x60.png differ diff --git a/docs/apple-touch-icon-76x76.png b/docs/apple-touch-icon-76x76.png new file mode 100644 index 0000000..b7a6a35 Binary files /dev/null and b/docs/apple-touch-icon-76x76.png differ diff --git a/docs/apple-touch-icon.png b/docs/apple-touch-icon.png new file mode 100644 index 0000000..20459b2 Binary files /dev/null and b/docs/apple-touch-icon.png differ diff --git a/docs/authors.html b/docs/authors.html new file mode 100644 index 0000000..2bdde05 --- /dev/null +++ b/docs/authors.html @@ -0,0 +1,77 @@ + +Authors and Citation • monitorOSM + Skip to contents + + +
+
+
+ +
+

Authors

+ +
  • +

    Joan Maspons. Author, maintainer. +

    +
  • +
+ +
+

Citation

+

Source: DESCRIPTION

+ +

Maspons J (2024). +monitorOSM: Monitor d'OSM. +R package version 0.0.4, https://osm-catalan.github.io/monitorOSM/, https://github.com/OSM-Catalan/monitorOSM. +

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

' +\n '
' +\n '
',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { defineJQueryPlugin, getElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map()\n this._observableSections = new Map()\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n this._activeTarget = null\n this._observer = null\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n }\n this.refresh() // initialize\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables()\n this._maybeEnableSmoothScroll()\n\n if (this._observer) {\n this._observer.disconnect()\n } else {\n this._observer = this._getNewObserver()\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section)\n }\n }\n\n dispose() {\n this._observer.disconnect()\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body\n\n // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n }\n\n return config\n }\n\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK)\n\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash)\n if (observableSection) {\n event.preventDefault()\n const root = this._rootElement || window\n const height = observableSection.offsetTop - this._element.offsetTop\n if (root.scrollTo) {\n root.scrollTo({ top: height, behavior: 'smooth' })\n return\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height\n }\n })\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n }\n\n return new IntersectionObserver(entries => this._observerCallback(entries), options)\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n this._process(targetElement(entry))\n }\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n this._previousScrollData.parentScrollTop = parentScrollTop\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null\n this._clearActiveClass(targetElement(entry))\n\n continue\n }\n\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry)\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return\n }\n\n continue\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry)\n }\n }\n }\n\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map()\n this._observableSections = new Map()\n\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue\n }\n\n const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(decodeURI(anchor.hash), anchor)\n this._observableSections.set(anchor.hash, observableSection)\n }\n }\n }\n\n _process(target) {\n if (this._activeTarget === target) {\n return\n }\n\n this._clearActiveClass(this._config.target)\n this._activeTarget = target\n target.classList.add(CLASS_NAME_ACTIVE)\n this._activateParents(target)\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n }\n\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n return\n }\n\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both
    and
')},createChildNavList:function(e){var t=this.createNavList();return e.append(t),t},generateNavEl:function(e,t){var n=a('
');n.attr("href","#"+e),n.text(t);var r=a("
  • ");return r.append(n),r},generateNavItem:function(e){var t=this.generateAnchor(e),n=a(e),r=n.data("toc-text")||n.text();return this.generateNavEl(t,r)},getTopLevel:function(e){for(var t=1;t<=6;t++){if(1 + + + + + + + + + + + + diff --git a/docs/deps/font-awesome-6.5.2/css/all.css b/docs/deps/font-awesome-6.5.2/css/all.css new file mode 100644 index 0000000..151dd57 --- /dev/null +++ b/docs/deps/font-awesome-6.5.2/css/all.css @@ -0,0 +1,8028 @@ +/*! + * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2024 Fonticons, Inc. + */ +.fa { + font-family: var(--fa-style-family, "Font Awesome 6 Free"); + font-weight: var(--fa-style, 900); } + +.fa, +.fa-classic, +.fa-sharp, +.fas, +.fa-solid, +.far, +.fa-regular, +.fab, +.fa-brands { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: var(--fa-display, inline-block); + font-style: normal; + font-variant: normal; + line-height: 1; + text-rendering: auto; } + +.fas, +.fa-classic, +.fa-solid, +.far, +.fa-regular { + font-family: 'Font Awesome 6 Free'; } + +.fab, +.fa-brands { + font-family: 'Font Awesome 6 Brands'; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-2xs { + font-size: 0.625em; + line-height: 0.1em; + vertical-align: 0.225em; } + +.fa-xs { + font-size: 0.75em; + line-height: 0.08333em; + vertical-align: 0.125em; } + +.fa-sm { + font-size: 0.875em; + line-height: 0.07143em; + vertical-align: 0.05357em; } + +.fa-lg { + font-size: 1.25em; + line-height: 0.05em; + vertical-align: -0.075em; } + +.fa-xl { + font-size: 1.5em; + line-height: 0.04167em; + vertical-align: -0.125em; } + +.fa-2xl { + font-size: 2em; + line-height: 0.03125em; + vertical-align: -0.1875em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: var(--fa-li-margin, 2.5em); + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: calc(var(--fa-li-width, 2em) * -1); + position: absolute; + text-align: center; + width: var(--fa-li-width, 2em); + line-height: inherit; } + +.fa-border { + border-color: var(--fa-border-color, #eee); + border-radius: var(--fa-border-radius, 0.1em); + border-style: var(--fa-border-style, solid); + border-width: var(--fa-border-width, 0.08em); + padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } + +.fa-pull-left { + float: left; + margin-right: var(--fa-pull-margin, 0.3em); } + +.fa-pull-right { + float: right; + margin-left: var(--fa-pull-margin, 0.3em); } + +.fa-beat { + -webkit-animation-name: fa-beat; + animation-name: fa-beat; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); } + +.fa-bounce { + -webkit-animation-name: fa-bounce; + animation-name: fa-bounce; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } + +.fa-fade { + -webkit-animation-name: fa-fade; + animation-name: fa-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } + +.fa-beat-fade { + -webkit-animation-name: fa-beat-fade; + animation-name: fa-beat-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } + +.fa-flip { + -webkit-animation-name: fa-flip; + animation-name: fa-flip; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); } + +.fa-shake { + -webkit-animation-name: fa-shake; + animation-name: fa-shake; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); } + +.fa-spin { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 2s); + animation-duration: var(--fa-animation-duration, 2s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); } + +.fa-spin-reverse { + --fa-animation-direction: reverse; } + +.fa-pulse, +.fa-spin-pulse { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, steps(8)); + animation-timing-function: var(--fa-animation-timing, steps(8)); } + +@media (prefers-reduced-motion: reduce) { + .fa-beat, + .fa-bounce, + .fa-fade, + .fa-beat-fade, + .fa-flip, + .fa-pulse, + .fa-shake, + .fa-spin, + .fa-spin-pulse { + -webkit-animation-delay: -1ms; + animation-delay: -1ms; + -webkit-animation-duration: 1ms; + animation-duration: 1ms; + -webkit-animation-iteration-count: 1; + animation-iteration-count: 1; + -webkit-transition-delay: 0s; + transition-delay: 0s; + -webkit-transition-duration: 0s; + transition-duration: 0s; } } + +@-webkit-keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); } } + +@keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); } } + +@-webkit-keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } } + +@keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } } + +@-webkit-keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); } } + +@keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); } } + +@-webkit-keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); } } + +@keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); } } + +@-webkit-keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } + +@keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } + +@-webkit-keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } } + +@keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-both, +.fa-flip-horizontal.fa-flip-vertical { + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +.fa-rotate-by { + -webkit-transform: rotate(var(--fa-rotate-angle, 0)); + transform: rotate(var(--fa-rotate-angle, 0)); } + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; } + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; + z-index: var(--fa-stack-z-index, auto); } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: var(--fa-inverse, #fff); } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ + +.fa-0::before { + content: "\30"; } + +.fa-1::before { + content: "\31"; } + +.fa-2::before { + content: "\32"; } + +.fa-3::before { + content: "\33"; } + +.fa-4::before { + content: "\34"; } + +.fa-5::before { + content: "\35"; } + +.fa-6::before { + content: "\36"; } + +.fa-7::before { + content: "\37"; } + +.fa-8::before { + content: "\38"; } + +.fa-9::before { + content: "\39"; } + +.fa-fill-drip::before { + content: "\f576"; } + +.fa-arrows-to-circle::before { + content: "\e4bd"; } + +.fa-circle-chevron-right::before { + content: "\f138"; } + +.fa-chevron-circle-right::before { + content: "\f138"; } + +.fa-at::before { + content: "\40"; } + +.fa-trash-can::before { + content: "\f2ed"; } + +.fa-trash-alt::before { + content: "\f2ed"; } + +.fa-text-height::before { + content: "\f034"; } + +.fa-user-xmark::before { + content: "\f235"; } + +.fa-user-times::before { + content: "\f235"; } + +.fa-stethoscope::before { + content: "\f0f1"; } + +.fa-message::before { + content: "\f27a"; } + +.fa-comment-alt::before { + content: "\f27a"; } + +.fa-info::before { + content: "\f129"; } + +.fa-down-left-and-up-right-to-center::before { + content: "\f422"; } + +.fa-compress-alt::before { + content: "\f422"; } + +.fa-explosion::before { + content: "\e4e9"; } + +.fa-file-lines::before { + content: "\f15c"; } + +.fa-file-alt::before { + content: "\f15c"; } + +.fa-file-text::before { + content: "\f15c"; } + +.fa-wave-square::before { + content: "\f83e"; } + +.fa-ring::before { + content: "\f70b"; } + +.fa-building-un::before { + content: "\e4d9"; } + +.fa-dice-three::before { + content: "\f527"; } + +.fa-calendar-days::before { + content: "\f073"; } + +.fa-calendar-alt::before { + content: "\f073"; } + +.fa-anchor-circle-check::before { + content: "\e4aa"; } + +.fa-building-circle-arrow-right::before { + content: "\e4d1"; } + +.fa-volleyball::before { + content: "\f45f"; } + +.fa-volleyball-ball::before { + content: "\f45f"; } + +.fa-arrows-up-to-line::before { + content: "\e4c2"; } + +.fa-sort-down::before { + content: "\f0dd"; } + +.fa-sort-desc::before { + content: "\f0dd"; } + +.fa-circle-minus::before { + content: "\f056"; } + +.fa-minus-circle::before { + content: "\f056"; } + +.fa-door-open::before { + content: "\f52b"; } + +.fa-right-from-bracket::before { + content: "\f2f5"; } + +.fa-sign-out-alt::before { + content: "\f2f5"; } + +.fa-atom::before { + content: "\f5d2"; } + +.fa-soap::before { + content: "\e06e"; } + +.fa-icons::before { + content: "\f86d"; } + +.fa-heart-music-camera-bolt::before { + content: "\f86d"; } + +.fa-microphone-lines-slash::before { + content: "\f539"; } + +.fa-microphone-alt-slash::before { + content: "\f539"; } + +.fa-bridge-circle-check::before { + content: "\e4c9"; } + +.fa-pump-medical::before { + content: "\e06a"; } + +.fa-fingerprint::before { + content: "\f577"; } + +.fa-hand-point-right::before { + content: "\f0a4"; } + +.fa-magnifying-glass-location::before { + content: "\f689"; } + +.fa-search-location::before { + content: "\f689"; } + +.fa-forward-step::before { + content: "\f051"; } + +.fa-step-forward::before { + content: "\f051"; } + +.fa-face-smile-beam::before { + content: "\f5b8"; } + +.fa-smile-beam::before { + content: "\f5b8"; } + +.fa-flag-checkered::before { + content: "\f11e"; } + +.fa-football::before { + content: "\f44e"; } + +.fa-football-ball::before { + content: "\f44e"; } + +.fa-school-circle-exclamation::before { + content: "\e56c"; } + +.fa-crop::before { + content: "\f125"; } + +.fa-angles-down::before { + content: "\f103"; } + +.fa-angle-double-down::before { + content: "\f103"; } + +.fa-users-rectangle::before { + content: "\e594"; } + +.fa-people-roof::before { + content: "\e537"; } + +.fa-people-line::before { + content: "\e534"; } + +.fa-beer-mug-empty::before { + content: "\f0fc"; } + +.fa-beer::before { + content: "\f0fc"; } + +.fa-diagram-predecessor::before { + content: "\e477"; } + +.fa-arrow-up-long::before { + content: "\f176"; } + +.fa-long-arrow-up::before { + content: "\f176"; } + +.fa-fire-flame-simple::before { + content: "\f46a"; } + +.fa-burn::before { + content: "\f46a"; } + +.fa-person::before { + content: "\f183"; } + +.fa-male::before { + content: "\f183"; } + +.fa-laptop::before { + content: "\f109"; } + +.fa-file-csv::before { + content: "\f6dd"; } + +.fa-menorah::before { + content: "\f676"; } + +.fa-truck-plane::before { + content: "\e58f"; } + +.fa-record-vinyl::before { + content: "\f8d9"; } + +.fa-face-grin-stars::before { + content: "\f587"; } + +.fa-grin-stars::before { + content: "\f587"; } + +.fa-bong::before { + content: "\f55c"; } + +.fa-spaghetti-monster-flying::before { + content: "\f67b"; } + +.fa-pastafarianism::before { + content: "\f67b"; } + +.fa-arrow-down-up-across-line::before { + content: "\e4af"; } + +.fa-spoon::before { + content: "\f2e5"; } + +.fa-utensil-spoon::before { + content: "\f2e5"; } + +.fa-jar-wheat::before { + content: "\e517"; } + +.fa-envelopes-bulk::before { + content: "\f674"; } + +.fa-mail-bulk::before { + content: "\f674"; } + +.fa-file-circle-exclamation::before { + content: "\e4eb"; } + +.fa-circle-h::before { + content: "\f47e"; } + +.fa-hospital-symbol::before { + content: "\f47e"; } + +.fa-pager::before { + content: "\f815"; } + +.fa-address-book::before { + content: "\f2b9"; } + +.fa-contact-book::before { + content: "\f2b9"; } + +.fa-strikethrough::before { + content: "\f0cc"; } + +.fa-k::before { + content: "\4b"; } + +.fa-landmark-flag::before { + content: "\e51c"; } + +.fa-pencil::before { + content: "\f303"; } + +.fa-pencil-alt::before { + content: "\f303"; } + +.fa-backward::before { + content: "\f04a"; } + +.fa-caret-right::before { + content: "\f0da"; } + +.fa-comments::before { + content: "\f086"; } + +.fa-paste::before { + content: "\f0ea"; } + +.fa-file-clipboard::before { + content: "\f0ea"; } + +.fa-code-pull-request::before { + content: "\e13c"; } + +.fa-clipboard-list::before { + content: "\f46d"; } + +.fa-truck-ramp-box::before { + content: "\f4de"; } + +.fa-truck-loading::before { + content: "\f4de"; } + +.fa-user-check::before { + content: "\f4fc"; } + +.fa-vial-virus::before { + content: "\e597"; } + +.fa-sheet-plastic::before { + content: "\e571"; } + +.fa-blog::before { + content: "\f781"; } + +.fa-user-ninja::before { + content: "\f504"; } + +.fa-person-arrow-up-from-line::before { + content: "\e539"; } + +.fa-scroll-torah::before { + content: "\f6a0"; } + +.fa-torah::before { + content: "\f6a0"; } + +.fa-broom-ball::before { + content: "\f458"; } + +.fa-quidditch::before { + content: "\f458"; } + +.fa-quidditch-broom-ball::before { + content: "\f458"; } + +.fa-toggle-off::before { + content: "\f204"; } + +.fa-box-archive::before { + content: "\f187"; } + +.fa-archive::before { + content: "\f187"; } + +.fa-person-drowning::before { + content: "\e545"; } + +.fa-arrow-down-9-1::before { + content: "\f886"; } + +.fa-sort-numeric-desc::before { + content: "\f886"; } + +.fa-sort-numeric-down-alt::before { + content: "\f886"; } + +.fa-face-grin-tongue-squint::before { + content: "\f58a"; } + +.fa-grin-tongue-squint::before { + content: "\f58a"; } + +.fa-spray-can::before { + content: "\f5bd"; } + +.fa-truck-monster::before { + content: "\f63b"; } + +.fa-w::before { + content: "\57"; } + +.fa-earth-africa::before { + content: "\f57c"; } + +.fa-globe-africa::before { + content: "\f57c"; } + +.fa-rainbow::before { + content: "\f75b"; } + +.fa-circle-notch::before { + content: "\f1ce"; } + +.fa-tablet-screen-button::before { + content: "\f3fa"; } + +.fa-tablet-alt::before { + content: "\f3fa"; } + +.fa-paw::before { + content: "\f1b0"; } + +.fa-cloud::before { + content: "\f0c2"; } + +.fa-trowel-bricks::before { + content: "\e58a"; } + +.fa-face-flushed::before { + content: "\f579"; } + +.fa-flushed::before { + content: "\f579"; } + +.fa-hospital-user::before { + content: "\f80d"; } + +.fa-tent-arrow-left-right::before { + content: "\e57f"; } + +.fa-gavel::before { + content: "\f0e3"; } + +.fa-legal::before { + content: "\f0e3"; } + +.fa-binoculars::before { + content: "\f1e5"; } + +.fa-microphone-slash::before { + content: "\f131"; } + +.fa-box-tissue::before { + content: "\e05b"; } + +.fa-motorcycle::before { + content: "\f21c"; } + +.fa-bell-concierge::before { + content: "\f562"; } + +.fa-concierge-bell::before { + content: "\f562"; } + +.fa-pen-ruler::before { + content: "\f5ae"; } + +.fa-pencil-ruler::before { + content: "\f5ae"; } + +.fa-people-arrows::before { + content: "\e068"; } + +.fa-people-arrows-left-right::before { + content: "\e068"; } + +.fa-mars-and-venus-burst::before { + content: "\e523"; } + +.fa-square-caret-right::before { + content: "\f152"; } + +.fa-caret-square-right::before { + content: "\f152"; } + +.fa-scissors::before { + content: "\f0c4"; } + +.fa-cut::before { + content: "\f0c4"; } + +.fa-sun-plant-wilt::before { + content: "\e57a"; } + +.fa-toilets-portable::before { + content: "\e584"; } + +.fa-hockey-puck::before { + content: "\f453"; } + +.fa-table::before { + content: "\f0ce"; } + +.fa-magnifying-glass-arrow-right::before { + content: "\e521"; } + +.fa-tachograph-digital::before { + content: "\f566"; } + +.fa-digital-tachograph::before { + content: "\f566"; } + +.fa-users-slash::before { + content: "\e073"; } + +.fa-clover::before { + content: "\e139"; } + +.fa-reply::before { + content: "\f3e5"; } + +.fa-mail-reply::before { + content: "\f3e5"; } + +.fa-star-and-crescent::before { + content: "\f699"; } + +.fa-house-fire::before { + content: "\e50c"; } + +.fa-square-minus::before { + content: "\f146"; } + +.fa-minus-square::before { + content: "\f146"; } + +.fa-helicopter::before { + content: "\f533"; } + +.fa-compass::before { + content: "\f14e"; } + +.fa-square-caret-down::before { + content: "\f150"; } + +.fa-caret-square-down::before { + content: "\f150"; } + +.fa-file-circle-question::before { + content: "\e4ef"; } + +.fa-laptop-code::before { + content: "\f5fc"; } + +.fa-swatchbook::before { + content: "\f5c3"; } + +.fa-prescription-bottle::before { + content: "\f485"; } + +.fa-bars::before { + content: "\f0c9"; } + +.fa-navicon::before { + content: "\f0c9"; } + +.fa-people-group::before { + content: "\e533"; } + +.fa-hourglass-end::before { + content: "\f253"; } + +.fa-hourglass-3::before { + content: "\f253"; } + +.fa-heart-crack::before { + content: "\f7a9"; } + +.fa-heart-broken::before { + content: "\f7a9"; } + +.fa-square-up-right::before { + content: "\f360"; } + +.fa-external-link-square-alt::before { + content: "\f360"; } + +.fa-face-kiss-beam::before { + content: "\f597"; } + +.fa-kiss-beam::before { + content: "\f597"; } + +.fa-film::before { + content: "\f008"; } + +.fa-ruler-horizontal::before { + content: "\f547"; } + +.fa-people-robbery::before { + content: "\e536"; } + +.fa-lightbulb::before { + content: "\f0eb"; } + +.fa-caret-left::before { + content: "\f0d9"; } + +.fa-circle-exclamation::before { + content: "\f06a"; } + +.fa-exclamation-circle::before { + content: "\f06a"; } + +.fa-school-circle-xmark::before { + content: "\e56d"; } + +.fa-arrow-right-from-bracket::before { + content: "\f08b"; } + +.fa-sign-out::before { + content: "\f08b"; } + +.fa-circle-chevron-down::before { + content: "\f13a"; } + +.fa-chevron-circle-down::before { + content: "\f13a"; } + +.fa-unlock-keyhole::before { + content: "\f13e"; } + +.fa-unlock-alt::before { + content: "\f13e"; } + +.fa-cloud-showers-heavy::before { + content: "\f740"; } + +.fa-headphones-simple::before { + content: "\f58f"; } + +.fa-headphones-alt::before { + content: "\f58f"; } + +.fa-sitemap::before { + content: "\f0e8"; } + +.fa-circle-dollar-to-slot::before { + content: "\f4b9"; } + +.fa-donate::before { + content: "\f4b9"; } + +.fa-memory::before { + content: "\f538"; } + +.fa-road-spikes::before { + content: "\e568"; } + +.fa-fire-burner::before { + content: "\e4f1"; } + +.fa-flag::before { + content: "\f024"; } + +.fa-hanukiah::before { + content: "\f6e6"; } + +.fa-feather::before { + content: "\f52d"; } + +.fa-volume-low::before { + content: "\f027"; } + +.fa-volume-down::before { + content: "\f027"; } + +.fa-comment-slash::before { + content: "\f4b3"; } + +.fa-cloud-sun-rain::before { + content: "\f743"; } + +.fa-compress::before { + content: "\f066"; } + +.fa-wheat-awn::before { + content: "\e2cd"; } + +.fa-wheat-alt::before { + content: "\e2cd"; } + +.fa-ankh::before { + content: "\f644"; } + +.fa-hands-holding-child::before { + content: "\e4fa"; } + +.fa-asterisk::before { + content: "\2a"; } + +.fa-square-check::before { + content: "\f14a"; } + +.fa-check-square::before { + content: "\f14a"; } + +.fa-peseta-sign::before { + content: "\e221"; } + +.fa-heading::before { + content: "\f1dc"; } + +.fa-header::before { + content: "\f1dc"; } + +.fa-ghost::before { + content: "\f6e2"; } + +.fa-list::before { + content: "\f03a"; } + +.fa-list-squares::before { + content: "\f03a"; } + +.fa-square-phone-flip::before { + content: "\f87b"; } + +.fa-phone-square-alt::before { + content: "\f87b"; } + +.fa-cart-plus::before { + content: "\f217"; } + +.fa-gamepad::before { + content: "\f11b"; } + +.fa-circle-dot::before { + content: "\f192"; } + +.fa-dot-circle::before { + content: "\f192"; } + +.fa-face-dizzy::before { + content: "\f567"; } + +.fa-dizzy::before { + content: "\f567"; } + +.fa-egg::before { + content: "\f7fb"; } + +.fa-house-medical-circle-xmark::before { + content: "\e513"; } + +.fa-campground::before { + content: "\f6bb"; } + +.fa-folder-plus::before { + content: "\f65e"; } + +.fa-futbol::before { + content: "\f1e3"; } + +.fa-futbol-ball::before { + content: "\f1e3"; } + +.fa-soccer-ball::before { + content: "\f1e3"; } + +.fa-paintbrush::before { + content: "\f1fc"; } + +.fa-paint-brush::before { + content: "\f1fc"; } + +.fa-lock::before { + content: "\f023"; } + +.fa-gas-pump::before { + content: "\f52f"; } + +.fa-hot-tub-person::before { + content: "\f593"; } + +.fa-hot-tub::before { + content: "\f593"; } + +.fa-map-location::before { + content: "\f59f"; } + +.fa-map-marked::before { + content: "\f59f"; } + +.fa-house-flood-water::before { + content: "\e50e"; } + +.fa-tree::before { + content: "\f1bb"; } + +.fa-bridge-lock::before { + content: "\e4cc"; } + +.fa-sack-dollar::before { + content: "\f81d"; } + +.fa-pen-to-square::before { + content: "\f044"; } + +.fa-edit::before { + content: "\f044"; } + +.fa-car-side::before { + content: "\f5e4"; } + +.fa-share-nodes::before { + content: "\f1e0"; } + +.fa-share-alt::before { + content: "\f1e0"; } + +.fa-heart-circle-minus::before { + content: "\e4ff"; } + +.fa-hourglass-half::before { + content: "\f252"; } + +.fa-hourglass-2::before { + content: "\f252"; } + +.fa-microscope::before { + content: "\f610"; } + +.fa-sink::before { + content: "\e06d"; } + +.fa-bag-shopping::before { + content: "\f290"; } + +.fa-shopping-bag::before { + content: "\f290"; } + +.fa-arrow-down-z-a::before { + content: "\f881"; } + +.fa-sort-alpha-desc::before { + content: "\f881"; } + +.fa-sort-alpha-down-alt::before { + content: "\f881"; } + +.fa-mitten::before { + content: "\f7b5"; } + +.fa-person-rays::before { + content: "\e54d"; } + +.fa-users::before { + content: "\f0c0"; } + +.fa-eye-slash::before { + content: "\f070"; } + +.fa-flask-vial::before { + content: "\e4f3"; } + +.fa-hand::before { + content: "\f256"; } + +.fa-hand-paper::before { + content: "\f256"; } + +.fa-om::before { + content: "\f679"; } + +.fa-worm::before { + content: "\e599"; } + +.fa-house-circle-xmark::before { + content: "\e50b"; } + +.fa-plug::before { + content: "\f1e6"; } + +.fa-chevron-up::before { + content: "\f077"; } + +.fa-hand-spock::before { + content: "\f259"; } + +.fa-stopwatch::before { + content: "\f2f2"; } + +.fa-face-kiss::before { + content: "\f596"; } + +.fa-kiss::before { + content: "\f596"; } + +.fa-bridge-circle-xmark::before { + content: "\e4cb"; } + +.fa-face-grin-tongue::before { + content: "\f589"; } + +.fa-grin-tongue::before { + content: "\f589"; } + +.fa-chess-bishop::before { + content: "\f43a"; } + +.fa-face-grin-wink::before { + content: "\f58c"; } + +.fa-grin-wink::before { + content: "\f58c"; } + +.fa-ear-deaf::before { + content: "\f2a4"; } + +.fa-deaf::before { + content: "\f2a4"; } + +.fa-deafness::before { + content: "\f2a4"; } + +.fa-hard-of-hearing::before { + content: "\f2a4"; } + +.fa-road-circle-check::before { + content: "\e564"; } + +.fa-dice-five::before { + content: "\f523"; } + +.fa-square-rss::before { + content: "\f143"; } + +.fa-rss-square::before { + content: "\f143"; } + +.fa-land-mine-on::before { + content: "\e51b"; } + +.fa-i-cursor::before { + content: "\f246"; } + +.fa-stamp::before { + content: "\f5bf"; } + +.fa-stairs::before { + content: "\e289"; } + +.fa-i::before { + content: "\49"; } + +.fa-hryvnia-sign::before { + content: "\f6f2"; } + +.fa-hryvnia::before { + content: "\f6f2"; } + +.fa-pills::before { + content: "\f484"; } + +.fa-face-grin-wide::before { + content: "\f581"; } + +.fa-grin-alt::before { + content: "\f581"; } + +.fa-tooth::before { + content: "\f5c9"; } + +.fa-v::before { + content: "\56"; } + +.fa-bangladeshi-taka-sign::before { + content: "\e2e6"; } + +.fa-bicycle::before { + content: "\f206"; } + +.fa-staff-snake::before { + content: "\e579"; } + +.fa-rod-asclepius::before { + content: "\e579"; } + +.fa-rod-snake::before { + content: "\e579"; } + +.fa-staff-aesculapius::before { + content: "\e579"; } + +.fa-head-side-cough-slash::before { + content: "\e062"; } + +.fa-truck-medical::before { + content: "\f0f9"; } + +.fa-ambulance::before { + content: "\f0f9"; } + +.fa-wheat-awn-circle-exclamation::before { + content: "\e598"; } + +.fa-snowman::before { + content: "\f7d0"; } + +.fa-mortar-pestle::before { + content: "\f5a7"; } + +.fa-road-barrier::before { + content: "\e562"; } + +.fa-school::before { + content: "\f549"; } + +.fa-igloo::before { + content: "\f7ae"; } + +.fa-joint::before { + content: "\f595"; } + +.fa-angle-right::before { + content: "\f105"; } + +.fa-horse::before { + content: "\f6f0"; } + +.fa-q::before { + content: "\51"; } + +.fa-g::before { + content: "\47"; } + +.fa-notes-medical::before { + content: "\f481"; } + +.fa-temperature-half::before { + content: "\f2c9"; } + +.fa-temperature-2::before { + content: "\f2c9"; } + +.fa-thermometer-2::before { + content: "\f2c9"; } + +.fa-thermometer-half::before { + content: "\f2c9"; } + +.fa-dong-sign::before { + content: "\e169"; } + +.fa-capsules::before { + content: "\f46b"; } + +.fa-poo-storm::before { + content: "\f75a"; } + +.fa-poo-bolt::before { + content: "\f75a"; } + +.fa-face-frown-open::before { + content: "\f57a"; } + +.fa-frown-open::before { + content: "\f57a"; } + +.fa-hand-point-up::before { + content: "\f0a6"; } + +.fa-money-bill::before { + content: "\f0d6"; } + +.fa-bookmark::before { + content: "\f02e"; } + +.fa-align-justify::before { + content: "\f039"; } + +.fa-umbrella-beach::before { + content: "\f5ca"; } + +.fa-helmet-un::before { + content: "\e503"; } + +.fa-bullseye::before { + content: "\f140"; } + +.fa-bacon::before { + content: "\f7e5"; } + +.fa-hand-point-down::before { + content: "\f0a7"; } + +.fa-arrow-up-from-bracket::before { + content: "\e09a"; } + +.fa-folder::before { + content: "\f07b"; } + +.fa-folder-blank::before { + content: "\f07b"; } + +.fa-file-waveform::before { + content: "\f478"; } + +.fa-file-medical-alt::before { + content: "\f478"; } + +.fa-radiation::before { + content: "\f7b9"; } + +.fa-chart-simple::before { + content: "\e473"; } + +.fa-mars-stroke::before { + content: "\f229"; } + +.fa-vial::before { + content: "\f492"; } + +.fa-gauge::before { + content: "\f624"; } + +.fa-dashboard::before { + content: "\f624"; } + +.fa-gauge-med::before { + content: "\f624"; } + +.fa-tachometer-alt-average::before { + content: "\f624"; } + +.fa-wand-magic-sparkles::before { + content: "\e2ca"; } + +.fa-magic-wand-sparkles::before { + content: "\e2ca"; } + +.fa-e::before { + content: "\45"; } + +.fa-pen-clip::before { + content: "\f305"; } + +.fa-pen-alt::before { + content: "\f305"; } + +.fa-bridge-circle-exclamation::before { + content: "\e4ca"; } + +.fa-user::before { + content: "\f007"; } + +.fa-school-circle-check::before { + content: "\e56b"; } + +.fa-dumpster::before { + content: "\f793"; } + +.fa-van-shuttle::before { + content: "\f5b6"; } + +.fa-shuttle-van::before { + content: "\f5b6"; } + +.fa-building-user::before { + content: "\e4da"; } + +.fa-square-caret-left::before { + content: "\f191"; } + +.fa-caret-square-left::before { + content: "\f191"; } + +.fa-highlighter::before { + content: "\f591"; } + +.fa-key::before { + content: "\f084"; } + +.fa-bullhorn::before { + content: "\f0a1"; } + +.fa-globe::before { + content: "\f0ac"; } + +.fa-synagogue::before { + content: "\f69b"; } + +.fa-person-half-dress::before { + content: "\e548"; } + +.fa-road-bridge::before { + content: "\e563"; } + +.fa-location-arrow::before { + content: "\f124"; } + +.fa-c::before { + content: "\43"; } + +.fa-tablet-button::before { + content: "\f10a"; } + +.fa-building-lock::before { + content: "\e4d6"; } + +.fa-pizza-slice::before { + content: "\f818"; } + +.fa-money-bill-wave::before { + content: "\f53a"; } + +.fa-chart-area::before { + content: "\f1fe"; } + +.fa-area-chart::before { + content: "\f1fe"; } + +.fa-house-flag::before { + content: "\e50d"; } + +.fa-person-circle-minus::before { + content: "\e540"; } + +.fa-ban::before { + content: "\f05e"; } + +.fa-cancel::before { + content: "\f05e"; } + +.fa-camera-rotate::before { + content: "\e0d8"; } + +.fa-spray-can-sparkles::before { + content: "\f5d0"; } + +.fa-air-freshener::before { + content: "\f5d0"; } + +.fa-star::before { + content: "\f005"; } + +.fa-repeat::before { + content: "\f363"; } + +.fa-cross::before { + content: "\f654"; } + +.fa-box::before { + content: "\f466"; } + +.fa-venus-mars::before { + content: "\f228"; } + +.fa-arrow-pointer::before { + content: "\f245"; } + +.fa-mouse-pointer::before { + content: "\f245"; } + +.fa-maximize::before { + content: "\f31e"; } + +.fa-expand-arrows-alt::before { + content: "\f31e"; } + +.fa-charging-station::before { + content: "\f5e7"; } + +.fa-shapes::before { + content: "\f61f"; } + +.fa-triangle-circle-square::before { + content: "\f61f"; } + +.fa-shuffle::before { + content: "\f074"; } + +.fa-random::before { + content: "\f074"; } + +.fa-person-running::before { + content: "\f70c"; } + +.fa-running::before { + content: "\f70c"; } + +.fa-mobile-retro::before { + content: "\e527"; } + +.fa-grip-lines-vertical::before { + content: "\f7a5"; } + +.fa-spider::before { + content: "\f717"; } + +.fa-hands-bound::before { + content: "\e4f9"; } + +.fa-file-invoice-dollar::before { + content: "\f571"; } + +.fa-plane-circle-exclamation::before { + content: "\e556"; } + +.fa-x-ray::before { + content: "\f497"; } + +.fa-spell-check::before { + content: "\f891"; } + +.fa-slash::before { + content: "\f715"; } + +.fa-computer-mouse::before { + content: "\f8cc"; } + +.fa-mouse::before { + content: "\f8cc"; } + +.fa-arrow-right-to-bracket::before { + content: "\f090"; } + +.fa-sign-in::before { + content: "\f090"; } + +.fa-shop-slash::before { + content: "\e070"; } + +.fa-store-alt-slash::before { + content: "\e070"; } + +.fa-server::before { + content: "\f233"; } + +.fa-virus-covid-slash::before { + content: "\e4a9"; } + +.fa-shop-lock::before { + content: "\e4a5"; } + +.fa-hourglass-start::before { + content: "\f251"; } + +.fa-hourglass-1::before { + content: "\f251"; } + +.fa-blender-phone::before { + content: "\f6b6"; } + +.fa-building-wheat::before { + content: "\e4db"; } + +.fa-person-breastfeeding::before { + content: "\e53a"; } + +.fa-right-to-bracket::before { + content: "\f2f6"; } + +.fa-sign-in-alt::before { + content: "\f2f6"; } + +.fa-venus::before { + content: "\f221"; } + +.fa-passport::before { + content: "\f5ab"; } + +.fa-heart-pulse::before { + content: "\f21e"; } + +.fa-heartbeat::before { + content: "\f21e"; } + +.fa-people-carry-box::before { + content: "\f4ce"; } + +.fa-people-carry::before { + content: "\f4ce"; } + +.fa-temperature-high::before { + content: "\f769"; } + +.fa-microchip::before { + content: "\f2db"; } + +.fa-crown::before { + content: "\f521"; } + +.fa-weight-hanging::before { + content: "\f5cd"; } + +.fa-xmarks-lines::before { + content: "\e59a"; } + +.fa-file-prescription::before { + content: "\f572"; } + +.fa-weight-scale::before { + content: "\f496"; } + +.fa-weight::before { + content: "\f496"; } + +.fa-user-group::before { + content: "\f500"; } + +.fa-user-friends::before { + content: "\f500"; } + +.fa-arrow-up-a-z::before { + content: "\f15e"; } + +.fa-sort-alpha-up::before { + content: "\f15e"; } + +.fa-chess-knight::before { + content: "\f441"; } + +.fa-face-laugh-squint::before { + content: "\f59b"; } + +.fa-laugh-squint::before { + content: "\f59b"; } + +.fa-wheelchair::before { + content: "\f193"; } + +.fa-circle-arrow-up::before { + content: "\f0aa"; } + +.fa-arrow-circle-up::before { + content: "\f0aa"; } + +.fa-toggle-on::before { + content: "\f205"; } + +.fa-person-walking::before { + content: "\f554"; } + +.fa-walking::before { + content: "\f554"; } + +.fa-l::before { + content: "\4c"; } + +.fa-fire::before { + content: "\f06d"; } + +.fa-bed-pulse::before { + content: "\f487"; } + +.fa-procedures::before { + content: "\f487"; } + +.fa-shuttle-space::before { + content: "\f197"; } + +.fa-space-shuttle::before { + content: "\f197"; } + +.fa-face-laugh::before { + content: "\f599"; } + +.fa-laugh::before { + content: "\f599"; } + +.fa-folder-open::before { + content: "\f07c"; } + +.fa-heart-circle-plus::before { + content: "\e500"; } + +.fa-code-fork::before { + content: "\e13b"; } + +.fa-city::before { + content: "\f64f"; } + +.fa-microphone-lines::before { + content: "\f3c9"; } + +.fa-microphone-alt::before { + content: "\f3c9"; } + +.fa-pepper-hot::before { + content: "\f816"; } + +.fa-unlock::before { + content: "\f09c"; } + +.fa-colon-sign::before { + content: "\e140"; } + +.fa-headset::before { + content: "\f590"; } + +.fa-store-slash::before { + content: "\e071"; } + +.fa-road-circle-xmark::before { + content: "\e566"; } + +.fa-user-minus::before { + content: "\f503"; } + +.fa-mars-stroke-up::before { + content: "\f22a"; } + +.fa-mars-stroke-v::before { + content: "\f22a"; } + +.fa-champagne-glasses::before { + content: "\f79f"; } + +.fa-glass-cheers::before { + content: "\f79f"; } + +.fa-clipboard::before { + content: "\f328"; } + +.fa-house-circle-exclamation::before { + content: "\e50a"; } + +.fa-file-arrow-up::before { + content: "\f574"; } + +.fa-file-upload::before { + content: "\f574"; } + +.fa-wifi::before { + content: "\f1eb"; } + +.fa-wifi-3::before { + content: "\f1eb"; } + +.fa-wifi-strong::before { + content: "\f1eb"; } + +.fa-bath::before { + content: "\f2cd"; } + +.fa-bathtub::before { + content: "\f2cd"; } + +.fa-underline::before { + content: "\f0cd"; } + +.fa-user-pen::before { + content: "\f4ff"; } + +.fa-user-edit::before { + content: "\f4ff"; } + +.fa-signature::before { + content: "\f5b7"; } + +.fa-stroopwafel::before { + content: "\f551"; } + +.fa-bold::before { + content: "\f032"; } + +.fa-anchor-lock::before { + content: "\e4ad"; } + +.fa-building-ngo::before { + content: "\e4d7"; } + +.fa-manat-sign::before { + content: "\e1d5"; } + +.fa-not-equal::before { + content: "\f53e"; } + +.fa-border-top-left::before { + content: "\f853"; } + +.fa-border-style::before { + content: "\f853"; } + +.fa-map-location-dot::before { + content: "\f5a0"; } + +.fa-map-marked-alt::before { + content: "\f5a0"; } + +.fa-jedi::before { + content: "\f669"; } + +.fa-square-poll-vertical::before { + content: "\f681"; } + +.fa-poll::before { + content: "\f681"; } + +.fa-mug-hot::before { + content: "\f7b6"; } + +.fa-car-battery::before { + content: "\f5df"; } + +.fa-battery-car::before { + content: "\f5df"; } + +.fa-gift::before { + content: "\f06b"; } + +.fa-dice-two::before { + content: "\f528"; } + +.fa-chess-queen::before { + content: "\f445"; } + +.fa-glasses::before { + content: "\f530"; } + +.fa-chess-board::before { + content: "\f43c"; } + +.fa-building-circle-check::before { + content: "\e4d2"; } + +.fa-person-chalkboard::before { + content: "\e53d"; } + +.fa-mars-stroke-right::before { + content: "\f22b"; } + +.fa-mars-stroke-h::before { + content: "\f22b"; } + +.fa-hand-back-fist::before { + content: "\f255"; } + +.fa-hand-rock::before { + content: "\f255"; } + +.fa-square-caret-up::before { + content: "\f151"; } + +.fa-caret-square-up::before { + content: "\f151"; } + +.fa-cloud-showers-water::before { + content: "\e4e4"; } + +.fa-chart-bar::before { + content: "\f080"; } + +.fa-bar-chart::before { + content: "\f080"; } + +.fa-hands-bubbles::before { + content: "\e05e"; } + +.fa-hands-wash::before { + content: "\e05e"; } + +.fa-less-than-equal::before { + content: "\f537"; } + +.fa-train::before { + content: "\f238"; } + +.fa-eye-low-vision::before { + content: "\f2a8"; } + +.fa-low-vision::before { + content: "\f2a8"; } + +.fa-crow::before { + content: "\f520"; } + +.fa-sailboat::before { + content: "\e445"; } + +.fa-window-restore::before { + content: "\f2d2"; } + +.fa-square-plus::before { + content: "\f0fe"; } + +.fa-plus-square::before { + content: "\f0fe"; } + +.fa-torii-gate::before { + content: "\f6a1"; } + +.fa-frog::before { + content: "\f52e"; } + +.fa-bucket::before { + content: "\e4cf"; } + +.fa-image::before { + content: "\f03e"; } + +.fa-microphone::before { + content: "\f130"; } + +.fa-cow::before { + content: "\f6c8"; } + +.fa-caret-up::before { + content: "\f0d8"; } + +.fa-screwdriver::before { + content: "\f54a"; } + +.fa-folder-closed::before { + content: "\e185"; } + +.fa-house-tsunami::before { + content: "\e515"; } + +.fa-square-nfi::before { + content: "\e576"; } + +.fa-arrow-up-from-ground-water::before { + content: "\e4b5"; } + +.fa-martini-glass::before { + content: "\f57b"; } + +.fa-glass-martini-alt::before { + content: "\f57b"; } + +.fa-rotate-left::before { + content: "\f2ea"; } + +.fa-rotate-back::before { + content: "\f2ea"; } + +.fa-rotate-backward::before { + content: "\f2ea"; } + +.fa-undo-alt::before { + content: "\f2ea"; } + +.fa-table-columns::before { + content: "\f0db"; } + +.fa-columns::before { + content: "\f0db"; } + +.fa-lemon::before { + content: "\f094"; } + +.fa-head-side-mask::before { + content: "\e063"; } + +.fa-handshake::before { + content: "\f2b5"; } + +.fa-gem::before { + content: "\f3a5"; } + +.fa-dolly::before { + content: "\f472"; } + +.fa-dolly-box::before { + content: "\f472"; } + +.fa-smoking::before { + content: "\f48d"; } + +.fa-minimize::before { + content: "\f78c"; } + +.fa-compress-arrows-alt::before { + content: "\f78c"; } + +.fa-monument::before { + content: "\f5a6"; } + +.fa-snowplow::before { + content: "\f7d2"; } + +.fa-angles-right::before { + content: "\f101"; } + +.fa-angle-double-right::before { + content: "\f101"; } + +.fa-cannabis::before { + content: "\f55f"; } + +.fa-circle-play::before { + content: "\f144"; } + +.fa-play-circle::before { + content: "\f144"; } + +.fa-tablets::before { + content: "\f490"; } + +.fa-ethernet::before { + content: "\f796"; } + +.fa-euro-sign::before { + content: "\f153"; } + +.fa-eur::before { + content: "\f153"; } + +.fa-euro::before { + content: "\f153"; } + +.fa-chair::before { + content: "\f6c0"; } + +.fa-circle-check::before { + content: "\f058"; } + +.fa-check-circle::before { + content: "\f058"; } + +.fa-circle-stop::before { + content: "\f28d"; } + +.fa-stop-circle::before { + content: "\f28d"; } + +.fa-compass-drafting::before { + content: "\f568"; } + +.fa-drafting-compass::before { + content: "\f568"; } + +.fa-plate-wheat::before { + content: "\e55a"; } + +.fa-icicles::before { + content: "\f7ad"; } + +.fa-person-shelter::before { + content: "\e54f"; } + +.fa-neuter::before { + content: "\f22c"; } + +.fa-id-badge::before { + content: "\f2c1"; } + +.fa-marker::before { + content: "\f5a1"; } + +.fa-face-laugh-beam::before { + content: "\f59a"; } + +.fa-laugh-beam::before { + content: "\f59a"; } + +.fa-helicopter-symbol::before { + content: "\e502"; } + +.fa-universal-access::before { + content: "\f29a"; } + +.fa-circle-chevron-up::before { + content: "\f139"; } + +.fa-chevron-circle-up::before { + content: "\f139"; } + +.fa-lari-sign::before { + content: "\e1c8"; } + +.fa-volcano::before { + content: "\f770"; } + +.fa-person-walking-dashed-line-arrow-right::before { + content: "\e553"; } + +.fa-sterling-sign::before { + content: "\f154"; } + +.fa-gbp::before { + content: "\f154"; } + +.fa-pound-sign::before { + content: "\f154"; } + +.fa-viruses::before { + content: "\e076"; } + +.fa-square-person-confined::before { + content: "\e577"; } + +.fa-user-tie::before { + content: "\f508"; } + +.fa-arrow-down-long::before { + content: "\f175"; } + +.fa-long-arrow-down::before { + content: "\f175"; } + +.fa-tent-arrow-down-to-line::before { + content: "\e57e"; } + +.fa-certificate::before { + content: "\f0a3"; } + +.fa-reply-all::before { + content: "\f122"; } + +.fa-mail-reply-all::before { + content: "\f122"; } + +.fa-suitcase::before { + content: "\f0f2"; } + +.fa-person-skating::before { + content: "\f7c5"; } + +.fa-skating::before { + content: "\f7c5"; } + +.fa-filter-circle-dollar::before { + content: "\f662"; } + +.fa-funnel-dollar::before { + content: "\f662"; } + +.fa-camera-retro::before { + content: "\f083"; } + +.fa-circle-arrow-down::before { + content: "\f0ab"; } + +.fa-arrow-circle-down::before { + content: "\f0ab"; } + +.fa-file-import::before { + content: "\f56f"; } + +.fa-arrow-right-to-file::before { + content: "\f56f"; } + +.fa-square-arrow-up-right::before { + content: "\f14c"; } + +.fa-external-link-square::before { + content: "\f14c"; } + +.fa-box-open::before { + content: "\f49e"; } + +.fa-scroll::before { + content: "\f70e"; } + +.fa-spa::before { + content: "\f5bb"; } + +.fa-location-pin-lock::before { + content: "\e51f"; } + +.fa-pause::before { + content: "\f04c"; } + +.fa-hill-avalanche::before { + content: "\e507"; } + +.fa-temperature-empty::before { + content: "\f2cb"; } + +.fa-temperature-0::before { + content: "\f2cb"; } + +.fa-thermometer-0::before { + content: "\f2cb"; } + +.fa-thermometer-empty::before { + content: "\f2cb"; } + +.fa-bomb::before { + content: "\f1e2"; } + +.fa-registered::before { + content: "\f25d"; } + +.fa-address-card::before { + content: "\f2bb"; } + +.fa-contact-card::before { + content: "\f2bb"; } + +.fa-vcard::before { + content: "\f2bb"; } + +.fa-scale-unbalanced-flip::before { + content: "\f516"; } + +.fa-balance-scale-right::before { + content: "\f516"; } + +.fa-subscript::before { + content: "\f12c"; } + +.fa-diamond-turn-right::before { + content: "\f5eb"; } + +.fa-directions::before { + content: "\f5eb"; } + +.fa-burst::before { + content: "\e4dc"; } + +.fa-house-laptop::before { + content: "\e066"; } + +.fa-laptop-house::before { + content: "\e066"; } + +.fa-face-tired::before { + content: "\f5c8"; } + +.fa-tired::before { + content: "\f5c8"; } + +.fa-money-bills::before { + content: "\e1f3"; } + +.fa-smog::before { + content: "\f75f"; } + +.fa-crutch::before { + content: "\f7f7"; } + +.fa-cloud-arrow-up::before { + content: "\f0ee"; } + +.fa-cloud-upload::before { + content: "\f0ee"; } + +.fa-cloud-upload-alt::before { + content: "\f0ee"; } + +.fa-palette::before { + content: "\f53f"; } + +.fa-arrows-turn-right::before { + content: "\e4c0"; } + +.fa-vest::before { + content: "\e085"; } + +.fa-ferry::before { + content: "\e4ea"; } + +.fa-arrows-down-to-people::before { + content: "\e4b9"; } + +.fa-seedling::before { + content: "\f4d8"; } + +.fa-sprout::before { + content: "\f4d8"; } + +.fa-left-right::before { + content: "\f337"; } + +.fa-arrows-alt-h::before { + content: "\f337"; } + +.fa-boxes-packing::before { + content: "\e4c7"; } + +.fa-circle-arrow-left::before { + content: "\f0a8"; } + +.fa-arrow-circle-left::before { + content: "\f0a8"; } + +.fa-group-arrows-rotate::before { + content: "\e4f6"; } + +.fa-bowl-food::before { + content: "\e4c6"; } + +.fa-candy-cane::before { + content: "\f786"; } + +.fa-arrow-down-wide-short::before { + content: "\f160"; } + +.fa-sort-amount-asc::before { + content: "\f160"; } + +.fa-sort-amount-down::before { + content: "\f160"; } + +.fa-cloud-bolt::before { + content: "\f76c"; } + +.fa-thunderstorm::before { + content: "\f76c"; } + +.fa-text-slash::before { + content: "\f87d"; } + +.fa-remove-format::before { + content: "\f87d"; } + +.fa-face-smile-wink::before { + content: "\f4da"; } + +.fa-smile-wink::before { + content: "\f4da"; } + +.fa-file-word::before { + content: "\f1c2"; } + +.fa-file-powerpoint::before { + content: "\f1c4"; } + +.fa-arrows-left-right::before { + content: "\f07e"; } + +.fa-arrows-h::before { + content: "\f07e"; } + +.fa-house-lock::before { + content: "\e510"; } + +.fa-cloud-arrow-down::before { + content: "\f0ed"; } + +.fa-cloud-download::before { + content: "\f0ed"; } + +.fa-cloud-download-alt::before { + content: "\f0ed"; } + +.fa-children::before { + content: "\e4e1"; } + +.fa-chalkboard::before { + content: "\f51b"; } + +.fa-blackboard::before { + content: "\f51b"; } + +.fa-user-large-slash::before { + content: "\f4fa"; } + +.fa-user-alt-slash::before { + content: "\f4fa"; } + +.fa-envelope-open::before { + content: "\f2b6"; } + +.fa-handshake-simple-slash::before { + content: "\e05f"; } + +.fa-handshake-alt-slash::before { + content: "\e05f"; } + +.fa-mattress-pillow::before { + content: "\e525"; } + +.fa-guarani-sign::before { + content: "\e19a"; } + +.fa-arrows-rotate::before { + content: "\f021"; } + +.fa-refresh::before { + content: "\f021"; } + +.fa-sync::before { + content: "\f021"; } + +.fa-fire-extinguisher::before { + content: "\f134"; } + +.fa-cruzeiro-sign::before { + content: "\e152"; } + +.fa-greater-than-equal::before { + content: "\f532"; } + +.fa-shield-halved::before { + content: "\f3ed"; } + +.fa-shield-alt::before { + content: "\f3ed"; } + +.fa-book-atlas::before { + content: "\f558"; } + +.fa-atlas::before { + content: "\f558"; } + +.fa-virus::before { + content: "\e074"; } + +.fa-envelope-circle-check::before { + content: "\e4e8"; } + +.fa-layer-group::before { + content: "\f5fd"; } + +.fa-arrows-to-dot::before { + content: "\e4be"; } + +.fa-archway::before { + content: "\f557"; } + +.fa-heart-circle-check::before { + content: "\e4fd"; } + +.fa-house-chimney-crack::before { + content: "\f6f1"; } + +.fa-house-damage::before { + content: "\f6f1"; } + +.fa-file-zipper::before { + content: "\f1c6"; } + +.fa-file-archive::before { + content: "\f1c6"; } + +.fa-square::before { + content: "\f0c8"; } + +.fa-martini-glass-empty::before { + content: "\f000"; } + +.fa-glass-martini::before { + content: "\f000"; } + +.fa-couch::before { + content: "\f4b8"; } + +.fa-cedi-sign::before { + content: "\e0df"; } + +.fa-italic::before { + content: "\f033"; } + +.fa-table-cells-column-lock::before { + content: "\e678"; } + +.fa-church::before { + content: "\f51d"; } + +.fa-comments-dollar::before { + content: "\f653"; } + +.fa-democrat::before { + content: "\f747"; } + +.fa-z::before { + content: "\5a"; } + +.fa-person-skiing::before { + content: "\f7c9"; } + +.fa-skiing::before { + content: "\f7c9"; } + +.fa-road-lock::before { + content: "\e567"; } + +.fa-a::before { + content: "\41"; } + +.fa-temperature-arrow-down::before { + content: "\e03f"; } + +.fa-temperature-down::before { + content: "\e03f"; } + +.fa-feather-pointed::before { + content: "\f56b"; } + +.fa-feather-alt::before { + content: "\f56b"; } + +.fa-p::before { + content: "\50"; } + +.fa-snowflake::before { + content: "\f2dc"; } + +.fa-newspaper::before { + content: "\f1ea"; } + +.fa-rectangle-ad::before { + content: "\f641"; } + +.fa-ad::before { + content: "\f641"; } + +.fa-circle-arrow-right::before { + content: "\f0a9"; } + +.fa-arrow-circle-right::before { + content: "\f0a9"; } + +.fa-filter-circle-xmark::before { + content: "\e17b"; } + +.fa-locust::before { + content: "\e520"; } + +.fa-sort::before { + content: "\f0dc"; } + +.fa-unsorted::before { + content: "\f0dc"; } + +.fa-list-ol::before { + content: "\f0cb"; } + +.fa-list-1-2::before { + content: "\f0cb"; } + +.fa-list-numeric::before { + content: "\f0cb"; } + +.fa-person-dress-burst::before { + content: "\e544"; } + +.fa-money-check-dollar::before { + content: "\f53d"; } + +.fa-money-check-alt::before { + content: "\f53d"; } + +.fa-vector-square::before { + content: "\f5cb"; } + +.fa-bread-slice::before { + content: "\f7ec"; } + +.fa-language::before { + content: "\f1ab"; } + +.fa-face-kiss-wink-heart::before { + content: "\f598"; } + +.fa-kiss-wink-heart::before { + content: "\f598"; } + +.fa-filter::before { + content: "\f0b0"; } + +.fa-question::before { + content: "\3f"; } + +.fa-file-signature::before { + content: "\f573"; } + +.fa-up-down-left-right::before { + content: "\f0b2"; } + +.fa-arrows-alt::before { + content: "\f0b2"; } + +.fa-house-chimney-user::before { + content: "\e065"; } + +.fa-hand-holding-heart::before { + content: "\f4be"; } + +.fa-puzzle-piece::before { + content: "\f12e"; } + +.fa-money-check::before { + content: "\f53c"; } + +.fa-star-half-stroke::before { + content: "\f5c0"; } + +.fa-star-half-alt::before { + content: "\f5c0"; } + +.fa-code::before { + content: "\f121"; } + +.fa-whiskey-glass::before { + content: "\f7a0"; } + +.fa-glass-whiskey::before { + content: "\f7a0"; } + +.fa-building-circle-exclamation::before { + content: "\e4d3"; } + +.fa-magnifying-glass-chart::before { + content: "\e522"; } + +.fa-arrow-up-right-from-square::before { + content: "\f08e"; } + +.fa-external-link::before { + content: "\f08e"; } + +.fa-cubes-stacked::before { + content: "\e4e6"; } + +.fa-won-sign::before { + content: "\f159"; } + +.fa-krw::before { + content: "\f159"; } + +.fa-won::before { + content: "\f159"; } + +.fa-virus-covid::before { + content: "\e4a8"; } + +.fa-austral-sign::before { + content: "\e0a9"; } + +.fa-f::before { + content: "\46"; } + +.fa-leaf::before { + content: "\f06c"; } + +.fa-road::before { + content: "\f018"; } + +.fa-taxi::before { + content: "\f1ba"; } + +.fa-cab::before { + content: "\f1ba"; } + +.fa-person-circle-plus::before { + content: "\e541"; } + +.fa-chart-pie::before { + content: "\f200"; } + +.fa-pie-chart::before { + content: "\f200"; } + +.fa-bolt-lightning::before { + content: "\e0b7"; } + +.fa-sack-xmark::before { + content: "\e56a"; } + +.fa-file-excel::before { + content: "\f1c3"; } + +.fa-file-contract::before { + content: "\f56c"; } + +.fa-fish-fins::before { + content: "\e4f2"; } + +.fa-building-flag::before { + content: "\e4d5"; } + +.fa-face-grin-beam::before { + content: "\f582"; } + +.fa-grin-beam::before { + content: "\f582"; } + +.fa-object-ungroup::before { + content: "\f248"; } + +.fa-poop::before { + content: "\f619"; } + +.fa-location-pin::before { + content: "\f041"; } + +.fa-map-marker::before { + content: "\f041"; } + +.fa-kaaba::before { + content: "\f66b"; } + +.fa-toilet-paper::before { + content: "\f71e"; } + +.fa-helmet-safety::before { + content: "\f807"; } + +.fa-hard-hat::before { + content: "\f807"; } + +.fa-hat-hard::before { + content: "\f807"; } + +.fa-eject::before { + content: "\f052"; } + +.fa-circle-right::before { + content: "\f35a"; } + +.fa-arrow-alt-circle-right::before { + content: "\f35a"; } + +.fa-plane-circle-check::before { + content: "\e555"; } + +.fa-face-rolling-eyes::before { + content: "\f5a5"; } + +.fa-meh-rolling-eyes::before { + content: "\f5a5"; } + +.fa-object-group::before { + content: "\f247"; } + +.fa-chart-line::before { + content: "\f201"; } + +.fa-line-chart::before { + content: "\f201"; } + +.fa-mask-ventilator::before { + content: "\e524"; } + +.fa-arrow-right::before { + content: "\f061"; } + +.fa-signs-post::before { + content: "\f277"; } + +.fa-map-signs::before { + content: "\f277"; } + +.fa-cash-register::before { + content: "\f788"; } + +.fa-person-circle-question::before { + content: "\e542"; } + +.fa-h::before { + content: "\48"; } + +.fa-tarp::before { + content: "\e57b"; } + +.fa-screwdriver-wrench::before { + content: "\f7d9"; } + +.fa-tools::before { + content: "\f7d9"; } + +.fa-arrows-to-eye::before { + content: "\e4bf"; } + +.fa-plug-circle-bolt::before { + content: "\e55b"; } + +.fa-heart::before { + content: "\f004"; } + +.fa-mars-and-venus::before { + content: "\f224"; } + +.fa-house-user::before { + content: "\e1b0"; } + +.fa-home-user::before { + content: "\e1b0"; } + +.fa-dumpster-fire::before { + content: "\f794"; } + +.fa-house-crack::before { + content: "\e3b1"; } + +.fa-martini-glass-citrus::before { + content: "\f561"; } + +.fa-cocktail::before { + content: "\f561"; } + +.fa-face-surprise::before { + content: "\f5c2"; } + +.fa-surprise::before { + content: "\f5c2"; } + +.fa-bottle-water::before { + content: "\e4c5"; } + +.fa-circle-pause::before { + content: "\f28b"; } + +.fa-pause-circle::before { + content: "\f28b"; } + +.fa-toilet-paper-slash::before { + content: "\e072"; } + +.fa-apple-whole::before { + content: "\f5d1"; } + +.fa-apple-alt::before { + content: "\f5d1"; } + +.fa-kitchen-set::before { + content: "\e51a"; } + +.fa-r::before { + content: "\52"; } + +.fa-temperature-quarter::before { + content: "\f2ca"; } + +.fa-temperature-1::before { + content: "\f2ca"; } + +.fa-thermometer-1::before { + content: "\f2ca"; } + +.fa-thermometer-quarter::before { + content: "\f2ca"; } + +.fa-cube::before { + content: "\f1b2"; } + +.fa-bitcoin-sign::before { + content: "\e0b4"; } + +.fa-shield-dog::before { + content: "\e573"; } + +.fa-solar-panel::before { + content: "\f5ba"; } + +.fa-lock-open::before { + content: "\f3c1"; } + +.fa-elevator::before { + content: "\e16d"; } + +.fa-money-bill-transfer::before { + content: "\e528"; } + +.fa-money-bill-trend-up::before { + content: "\e529"; } + +.fa-house-flood-water-circle-arrow-right::before { + content: "\e50f"; } + +.fa-square-poll-horizontal::before { + content: "\f682"; } + +.fa-poll-h::before { + content: "\f682"; } + +.fa-circle::before { + content: "\f111"; } + +.fa-backward-fast::before { + content: "\f049"; } + +.fa-fast-backward::before { + content: "\f049"; } + +.fa-recycle::before { + content: "\f1b8"; } + +.fa-user-astronaut::before { + content: "\f4fb"; } + +.fa-plane-slash::before { + content: "\e069"; } + +.fa-trademark::before { + content: "\f25c"; } + +.fa-basketball::before { + content: "\f434"; } + +.fa-basketball-ball::before { + content: "\f434"; } + +.fa-satellite-dish::before { + content: "\f7c0"; } + +.fa-circle-up::before { + content: "\f35b"; } + +.fa-arrow-alt-circle-up::before { + content: "\f35b"; } + +.fa-mobile-screen-button::before { + content: "\f3cd"; } + +.fa-mobile-alt::before { + content: "\f3cd"; } + +.fa-volume-high::before { + content: "\f028"; } + +.fa-volume-up::before { + content: "\f028"; } + +.fa-users-rays::before { + content: "\e593"; } + +.fa-wallet::before { + content: "\f555"; } + +.fa-clipboard-check::before { + content: "\f46c"; } + +.fa-file-audio::before { + content: "\f1c7"; } + +.fa-burger::before { + content: "\f805"; } + +.fa-hamburger::before { + content: "\f805"; } + +.fa-wrench::before { + content: "\f0ad"; } + +.fa-bugs::before { + content: "\e4d0"; } + +.fa-rupee-sign::before { + content: "\f156"; } + +.fa-rupee::before { + content: "\f156"; } + +.fa-file-image::before { + content: "\f1c5"; } + +.fa-circle-question::before { + content: "\f059"; } + +.fa-question-circle::before { + content: "\f059"; } + +.fa-plane-departure::before { + content: "\f5b0"; } + +.fa-handshake-slash::before { + content: "\e060"; } + +.fa-book-bookmark::before { + content: "\e0bb"; } + +.fa-code-branch::before { + content: "\f126"; } + +.fa-hat-cowboy::before { + content: "\f8c0"; } + +.fa-bridge::before { + content: "\e4c8"; } + +.fa-phone-flip::before { + content: "\f879"; } + +.fa-phone-alt::before { + content: "\f879"; } + +.fa-truck-front::before { + content: "\e2b7"; } + +.fa-cat::before { + content: "\f6be"; } + +.fa-anchor-circle-exclamation::before { + content: "\e4ab"; } + +.fa-truck-field::before { + content: "\e58d"; } + +.fa-route::before { + content: "\f4d7"; } + +.fa-clipboard-question::before { + content: "\e4e3"; } + +.fa-panorama::before { + content: "\e209"; } + +.fa-comment-medical::before { + content: "\f7f5"; } + +.fa-teeth-open::before { + content: "\f62f"; } + +.fa-file-circle-minus::before { + content: "\e4ed"; } + +.fa-tags::before { + content: "\f02c"; } + +.fa-wine-glass::before { + content: "\f4e3"; } + +.fa-forward-fast::before { + content: "\f050"; } + +.fa-fast-forward::before { + content: "\f050"; } + +.fa-face-meh-blank::before { + content: "\f5a4"; } + +.fa-meh-blank::before { + content: "\f5a4"; } + +.fa-square-parking::before { + content: "\f540"; } + +.fa-parking::before { + content: "\f540"; } + +.fa-house-signal::before { + content: "\e012"; } + +.fa-bars-progress::before { + content: "\f828"; } + +.fa-tasks-alt::before { + content: "\f828"; } + +.fa-faucet-drip::before { + content: "\e006"; } + +.fa-cart-flatbed::before { + content: "\f474"; } + +.fa-dolly-flatbed::before { + content: "\f474"; } + +.fa-ban-smoking::before { + content: "\f54d"; } + +.fa-smoking-ban::before { + content: "\f54d"; } + +.fa-terminal::before { + content: "\f120"; } + +.fa-mobile-button::before { + content: "\f10b"; } + +.fa-house-medical-flag::before { + content: "\e514"; } + +.fa-basket-shopping::before { + content: "\f291"; } + +.fa-shopping-basket::before { + content: "\f291"; } + +.fa-tape::before { + content: "\f4db"; } + +.fa-bus-simple::before { + content: "\f55e"; } + +.fa-bus-alt::before { + content: "\f55e"; } + +.fa-eye::before { + content: "\f06e"; } + +.fa-face-sad-cry::before { + content: "\f5b3"; } + +.fa-sad-cry::before { + content: "\f5b3"; } + +.fa-audio-description::before { + content: "\f29e"; } + +.fa-person-military-to-person::before { + content: "\e54c"; } + +.fa-file-shield::before { + content: "\e4f0"; } + +.fa-user-slash::before { + content: "\f506"; } + +.fa-pen::before { + content: "\f304"; } + +.fa-tower-observation::before { + content: "\e586"; } + +.fa-file-code::before { + content: "\f1c9"; } + +.fa-signal::before { + content: "\f012"; } + +.fa-signal-5::before { + content: "\f012"; } + +.fa-signal-perfect::before { + content: "\f012"; } + +.fa-bus::before { + content: "\f207"; } + +.fa-heart-circle-xmark::before { + content: "\e501"; } + +.fa-house-chimney::before { + content: "\e3af"; } + +.fa-home-lg::before { + content: "\e3af"; } + +.fa-window-maximize::before { + content: "\f2d0"; } + +.fa-face-frown::before { + content: "\f119"; } + +.fa-frown::before { + content: "\f119"; } + +.fa-prescription::before { + content: "\f5b1"; } + +.fa-shop::before { + content: "\f54f"; } + +.fa-store-alt::before { + content: "\f54f"; } + +.fa-floppy-disk::before { + content: "\f0c7"; } + +.fa-save::before { + content: "\f0c7"; } + +.fa-vihara::before { + content: "\f6a7"; } + +.fa-scale-unbalanced::before { + content: "\f515"; } + +.fa-balance-scale-left::before { + content: "\f515"; } + +.fa-sort-up::before { + content: "\f0de"; } + +.fa-sort-asc::before { + content: "\f0de"; } + +.fa-comment-dots::before { + content: "\f4ad"; } + +.fa-commenting::before { + content: "\f4ad"; } + +.fa-plant-wilt::before { + content: "\e5aa"; } + +.fa-diamond::before { + content: "\f219"; } + +.fa-face-grin-squint::before { + content: "\f585"; } + +.fa-grin-squint::before { + content: "\f585"; } + +.fa-hand-holding-dollar::before { + content: "\f4c0"; } + +.fa-hand-holding-usd::before { + content: "\f4c0"; } + +.fa-bacterium::before { + content: "\e05a"; } + +.fa-hand-pointer::before { + content: "\f25a"; } + +.fa-drum-steelpan::before { + content: "\f56a"; } + +.fa-hand-scissors::before { + content: "\f257"; } + +.fa-hands-praying::before { + content: "\f684"; } + +.fa-praying-hands::before { + content: "\f684"; } + +.fa-arrow-rotate-right::before { + content: "\f01e"; } + +.fa-arrow-right-rotate::before { + content: "\f01e"; } + +.fa-arrow-rotate-forward::before { + content: "\f01e"; } + +.fa-redo::before { + content: "\f01e"; } + +.fa-biohazard::before { + content: "\f780"; } + +.fa-location-crosshairs::before { + content: "\f601"; } + +.fa-location::before { + content: "\f601"; } + +.fa-mars-double::before { + content: "\f227"; } + +.fa-child-dress::before { + content: "\e59c"; } + +.fa-users-between-lines::before { + content: "\e591"; } + +.fa-lungs-virus::before { + content: "\e067"; } + +.fa-face-grin-tears::before { + content: "\f588"; } + +.fa-grin-tears::before { + content: "\f588"; } + +.fa-phone::before { + content: "\f095"; } + +.fa-calendar-xmark::before { + content: "\f273"; } + +.fa-calendar-times::before { + content: "\f273"; } + +.fa-child-reaching::before { + content: "\e59d"; } + +.fa-head-side-virus::before { + content: "\e064"; } + +.fa-user-gear::before { + content: "\f4fe"; } + +.fa-user-cog::before { + content: "\f4fe"; } + +.fa-arrow-up-1-9::before { + content: "\f163"; } + +.fa-sort-numeric-up::before { + content: "\f163"; } + +.fa-door-closed::before { + content: "\f52a"; } + +.fa-shield-virus::before { + content: "\e06c"; } + +.fa-dice-six::before { + content: "\f526"; } + +.fa-mosquito-net::before { + content: "\e52c"; } + +.fa-bridge-water::before { + content: "\e4ce"; } + +.fa-person-booth::before { + content: "\f756"; } + +.fa-text-width::before { + content: "\f035"; } + +.fa-hat-wizard::before { + content: "\f6e8"; } + +.fa-pen-fancy::before { + content: "\f5ac"; } + +.fa-person-digging::before { + content: "\f85e"; } + +.fa-digging::before { + content: "\f85e"; } + +.fa-trash::before { + content: "\f1f8"; } + +.fa-gauge-simple::before { + content: "\f629"; } + +.fa-gauge-simple-med::before { + content: "\f629"; } + +.fa-tachometer-average::before { + content: "\f629"; } + +.fa-book-medical::before { + content: "\f7e6"; } + +.fa-poo::before { + content: "\f2fe"; } + +.fa-quote-right::before { + content: "\f10e"; } + +.fa-quote-right-alt::before { + content: "\f10e"; } + +.fa-shirt::before { + content: "\f553"; } + +.fa-t-shirt::before { + content: "\f553"; } + +.fa-tshirt::before { + content: "\f553"; } + +.fa-cubes::before { + content: "\f1b3"; } + +.fa-divide::before { + content: "\f529"; } + +.fa-tenge-sign::before { + content: "\f7d7"; } + +.fa-tenge::before { + content: "\f7d7"; } + +.fa-headphones::before { + content: "\f025"; } + +.fa-hands-holding::before { + content: "\f4c2"; } + +.fa-hands-clapping::before { + content: "\e1a8"; } + +.fa-republican::before { + content: "\f75e"; } + +.fa-arrow-left::before { + content: "\f060"; } + +.fa-person-circle-xmark::before { + content: "\e543"; } + +.fa-ruler::before { + content: "\f545"; } + +.fa-align-left::before { + content: "\f036"; } + +.fa-dice-d6::before { + content: "\f6d1"; } + +.fa-restroom::before { + content: "\f7bd"; } + +.fa-j::before { + content: "\4a"; } + +.fa-users-viewfinder::before { + content: "\e595"; } + +.fa-file-video::before { + content: "\f1c8"; } + +.fa-up-right-from-square::before { + content: "\f35d"; } + +.fa-external-link-alt::before { + content: "\f35d"; } + +.fa-table-cells::before { + content: "\f00a"; } + +.fa-th::before { + content: "\f00a"; } + +.fa-file-pdf::before { + content: "\f1c1"; } + +.fa-book-bible::before { + content: "\f647"; } + +.fa-bible::before { + content: "\f647"; } + +.fa-o::before { + content: "\4f"; } + +.fa-suitcase-medical::before { + content: "\f0fa"; } + +.fa-medkit::before { + content: "\f0fa"; } + +.fa-user-secret::before { + content: "\f21b"; } + +.fa-otter::before { + content: "\f700"; } + +.fa-person-dress::before { + content: "\f182"; } + +.fa-female::before { + content: "\f182"; } + +.fa-comment-dollar::before { + content: "\f651"; } + +.fa-business-time::before { + content: "\f64a"; } + +.fa-briefcase-clock::before { + content: "\f64a"; } + +.fa-table-cells-large::before { + content: "\f009"; } + +.fa-th-large::before { + content: "\f009"; } + +.fa-book-tanakh::before { + content: "\f827"; } + +.fa-tanakh::before { + content: "\f827"; } + +.fa-phone-volume::before { + content: "\f2a0"; } + +.fa-volume-control-phone::before { + content: "\f2a0"; } + +.fa-hat-cowboy-side::before { + content: "\f8c1"; } + +.fa-clipboard-user::before { + content: "\f7f3"; } + +.fa-child::before { + content: "\f1ae"; } + +.fa-lira-sign::before { + content: "\f195"; } + +.fa-satellite::before { + content: "\f7bf"; } + +.fa-plane-lock::before { + content: "\e558"; } + +.fa-tag::before { + content: "\f02b"; } + +.fa-comment::before { + content: "\f075"; } + +.fa-cake-candles::before { + content: "\f1fd"; } + +.fa-birthday-cake::before { + content: "\f1fd"; } + +.fa-cake::before { + content: "\f1fd"; } + +.fa-envelope::before { + content: "\f0e0"; } + +.fa-angles-up::before { + content: "\f102"; } + +.fa-angle-double-up::before { + content: "\f102"; } + +.fa-paperclip::before { + content: "\f0c6"; } + +.fa-arrow-right-to-city::before { + content: "\e4b3"; } + +.fa-ribbon::before { + content: "\f4d6"; } + +.fa-lungs::before { + content: "\f604"; } + +.fa-arrow-up-9-1::before { + content: "\f887"; } + +.fa-sort-numeric-up-alt::before { + content: "\f887"; } + +.fa-litecoin-sign::before { + content: "\e1d3"; } + +.fa-border-none::before { + content: "\f850"; } + +.fa-circle-nodes::before { + content: "\e4e2"; } + +.fa-parachute-box::before { + content: "\f4cd"; } + +.fa-indent::before { + content: "\f03c"; } + +.fa-truck-field-un::before { + content: "\e58e"; } + +.fa-hourglass::before { + content: "\f254"; } + +.fa-hourglass-empty::before { + content: "\f254"; } + +.fa-mountain::before { + content: "\f6fc"; } + +.fa-user-doctor::before { + content: "\f0f0"; } + +.fa-user-md::before { + content: "\f0f0"; } + +.fa-circle-info::before { + content: "\f05a"; } + +.fa-info-circle::before { + content: "\f05a"; } + +.fa-cloud-meatball::before { + content: "\f73b"; } + +.fa-camera::before { + content: "\f030"; } + +.fa-camera-alt::before { + content: "\f030"; } + +.fa-square-virus::before { + content: "\e578"; } + +.fa-meteor::before { + content: "\f753"; } + +.fa-car-on::before { + content: "\e4dd"; } + +.fa-sleigh::before { + content: "\f7cc"; } + +.fa-arrow-down-1-9::before { + content: "\f162"; } + +.fa-sort-numeric-asc::before { + content: "\f162"; } + +.fa-sort-numeric-down::before { + content: "\f162"; } + +.fa-hand-holding-droplet::before { + content: "\f4c1"; } + +.fa-hand-holding-water::before { + content: "\f4c1"; } + +.fa-water::before { + content: "\f773"; } + +.fa-calendar-check::before { + content: "\f274"; } + +.fa-braille::before { + content: "\f2a1"; } + +.fa-prescription-bottle-medical::before { + content: "\f486"; } + +.fa-prescription-bottle-alt::before { + content: "\f486"; } + +.fa-landmark::before { + content: "\f66f"; } + +.fa-truck::before { + content: "\f0d1"; } + +.fa-crosshairs::before { + content: "\f05b"; } + +.fa-person-cane::before { + content: "\e53c"; } + +.fa-tent::before { + content: "\e57d"; } + +.fa-vest-patches::before { + content: "\e086"; } + +.fa-check-double::before { + content: "\f560"; } + +.fa-arrow-down-a-z::before { + content: "\f15d"; } + +.fa-sort-alpha-asc::before { + content: "\f15d"; } + +.fa-sort-alpha-down::before { + content: "\f15d"; } + +.fa-money-bill-wheat::before { + content: "\e52a"; } + +.fa-cookie::before { + content: "\f563"; } + +.fa-arrow-rotate-left::before { + content: "\f0e2"; } + +.fa-arrow-left-rotate::before { + content: "\f0e2"; } + +.fa-arrow-rotate-back::before { + content: "\f0e2"; } + +.fa-arrow-rotate-backward::before { + content: "\f0e2"; } + +.fa-undo::before { + content: "\f0e2"; } + +.fa-hard-drive::before { + content: "\f0a0"; } + +.fa-hdd::before { + content: "\f0a0"; } + +.fa-face-grin-squint-tears::before { + content: "\f586"; } + +.fa-grin-squint-tears::before { + content: "\f586"; } + +.fa-dumbbell::before { + content: "\f44b"; } + +.fa-rectangle-list::before { + content: "\f022"; } + +.fa-list-alt::before { + content: "\f022"; } + +.fa-tarp-droplet::before { + content: "\e57c"; } + +.fa-house-medical-circle-check::before { + content: "\e511"; } + +.fa-person-skiing-nordic::before { + content: "\f7ca"; } + +.fa-skiing-nordic::before { + content: "\f7ca"; } + +.fa-calendar-plus::before { + content: "\f271"; } + +.fa-plane-arrival::before { + content: "\f5af"; } + +.fa-circle-left::before { + content: "\f359"; } + +.fa-arrow-alt-circle-left::before { + content: "\f359"; } + +.fa-train-subway::before { + content: "\f239"; } + +.fa-subway::before { + content: "\f239"; } + +.fa-chart-gantt::before { + content: "\e0e4"; } + +.fa-indian-rupee-sign::before { + content: "\e1bc"; } + +.fa-indian-rupee::before { + content: "\e1bc"; } + +.fa-inr::before { + content: "\e1bc"; } + +.fa-crop-simple::before { + content: "\f565"; } + +.fa-crop-alt::before { + content: "\f565"; } + +.fa-money-bill-1::before { + content: "\f3d1"; } + +.fa-money-bill-alt::before { + content: "\f3d1"; } + +.fa-left-long::before { + content: "\f30a"; } + +.fa-long-arrow-alt-left::before { + content: "\f30a"; } + +.fa-dna::before { + content: "\f471"; } + +.fa-virus-slash::before { + content: "\e075"; } + +.fa-minus::before { + content: "\f068"; } + +.fa-subtract::before { + content: "\f068"; } + +.fa-chess::before { + content: "\f439"; } + +.fa-arrow-left-long::before { + content: "\f177"; } + +.fa-long-arrow-left::before { + content: "\f177"; } + +.fa-plug-circle-check::before { + content: "\e55c"; } + +.fa-street-view::before { + content: "\f21d"; } + +.fa-franc-sign::before { + content: "\e18f"; } + +.fa-volume-off::before { + content: "\f026"; } + +.fa-hands-asl-interpreting::before { + content: "\f2a3"; } + +.fa-american-sign-language-interpreting::before { + content: "\f2a3"; } + +.fa-asl-interpreting::before { + content: "\f2a3"; } + +.fa-hands-american-sign-language-interpreting::before { + content: "\f2a3"; } + +.fa-gear::before { + content: "\f013"; } + +.fa-cog::before { + content: "\f013"; } + +.fa-droplet-slash::before { + content: "\f5c7"; } + +.fa-tint-slash::before { + content: "\f5c7"; } + +.fa-mosque::before { + content: "\f678"; } + +.fa-mosquito::before { + content: "\e52b"; } + +.fa-star-of-david::before { + content: "\f69a"; } + +.fa-person-military-rifle::before { + content: "\e54b"; } + +.fa-cart-shopping::before { + content: "\f07a"; } + +.fa-shopping-cart::before { + content: "\f07a"; } + +.fa-vials::before { + content: "\f493"; } + +.fa-plug-circle-plus::before { + content: "\e55f"; } + +.fa-place-of-worship::before { + content: "\f67f"; } + +.fa-grip-vertical::before { + content: "\f58e"; } + +.fa-arrow-turn-up::before { + content: "\f148"; } + +.fa-level-up::before { + content: "\f148"; } + +.fa-u::before { + content: "\55"; } + +.fa-square-root-variable::before { + content: "\f698"; } + +.fa-square-root-alt::before { + content: "\f698"; } + +.fa-clock::before { + content: "\f017"; } + +.fa-clock-four::before { + content: "\f017"; } + +.fa-backward-step::before { + content: "\f048"; } + +.fa-step-backward::before { + content: "\f048"; } + +.fa-pallet::before { + content: "\f482"; } + +.fa-faucet::before { + content: "\e005"; } + +.fa-baseball-bat-ball::before { + content: "\f432"; } + +.fa-s::before { + content: "\53"; } + +.fa-timeline::before { + content: "\e29c"; } + +.fa-keyboard::before { + content: "\f11c"; } + +.fa-caret-down::before { + content: "\f0d7"; } + +.fa-house-chimney-medical::before { + content: "\f7f2"; } + +.fa-clinic-medical::before { + content: "\f7f2"; } + +.fa-temperature-three-quarters::before { + content: "\f2c8"; } + +.fa-temperature-3::before { + content: "\f2c8"; } + +.fa-thermometer-3::before { + content: "\f2c8"; } + +.fa-thermometer-three-quarters::before { + content: "\f2c8"; } + +.fa-mobile-screen::before { + content: "\f3cf"; } + +.fa-mobile-android-alt::before { + content: "\f3cf"; } + +.fa-plane-up::before { + content: "\e22d"; } + +.fa-piggy-bank::before { + content: "\f4d3"; } + +.fa-battery-half::before { + content: "\f242"; } + +.fa-battery-3::before { + content: "\f242"; } + +.fa-mountain-city::before { + content: "\e52e"; } + +.fa-coins::before { + content: "\f51e"; } + +.fa-khanda::before { + content: "\f66d"; } + +.fa-sliders::before { + content: "\f1de"; } + +.fa-sliders-h::before { + content: "\f1de"; } + +.fa-folder-tree::before { + content: "\f802"; } + +.fa-network-wired::before { + content: "\f6ff"; } + +.fa-map-pin::before { + content: "\f276"; } + +.fa-hamsa::before { + content: "\f665"; } + +.fa-cent-sign::before { + content: "\e3f5"; } + +.fa-flask::before { + content: "\f0c3"; } + +.fa-person-pregnant::before { + content: "\e31e"; } + +.fa-wand-sparkles::before { + content: "\f72b"; } + +.fa-ellipsis-vertical::before { + content: "\f142"; } + +.fa-ellipsis-v::before { + content: "\f142"; } + +.fa-ticket::before { + content: "\f145"; } + +.fa-power-off::before { + content: "\f011"; } + +.fa-right-long::before { + content: "\f30b"; } + +.fa-long-arrow-alt-right::before { + content: "\f30b"; } + +.fa-flag-usa::before { + content: "\f74d"; } + +.fa-laptop-file::before { + content: "\e51d"; } + +.fa-tty::before { + content: "\f1e4"; } + +.fa-teletype::before { + content: "\f1e4"; } + +.fa-diagram-next::before { + content: "\e476"; } + +.fa-person-rifle::before { + content: "\e54e"; } + +.fa-house-medical-circle-exclamation::before { + content: "\e512"; } + +.fa-closed-captioning::before { + content: "\f20a"; } + +.fa-person-hiking::before { + content: "\f6ec"; } + +.fa-hiking::before { + content: "\f6ec"; } + +.fa-venus-double::before { + content: "\f226"; } + +.fa-images::before { + content: "\f302"; } + +.fa-calculator::before { + content: "\f1ec"; } + +.fa-people-pulling::before { + content: "\e535"; } + +.fa-n::before { + content: "\4e"; } + +.fa-cable-car::before { + content: "\f7da"; } + +.fa-tram::before { + content: "\f7da"; } + +.fa-cloud-rain::before { + content: "\f73d"; } + +.fa-building-circle-xmark::before { + content: "\e4d4"; } + +.fa-ship::before { + content: "\f21a"; } + +.fa-arrows-down-to-line::before { + content: "\e4b8"; } + +.fa-download::before { + content: "\f019"; } + +.fa-face-grin::before { + content: "\f580"; } + +.fa-grin::before { + content: "\f580"; } + +.fa-delete-left::before { + content: "\f55a"; } + +.fa-backspace::before { + content: "\f55a"; } + +.fa-eye-dropper::before { + content: "\f1fb"; } + +.fa-eye-dropper-empty::before { + content: "\f1fb"; } + +.fa-eyedropper::before { + content: "\f1fb"; } + +.fa-file-circle-check::before { + content: "\e5a0"; } + +.fa-forward::before { + content: "\f04e"; } + +.fa-mobile::before { + content: "\f3ce"; } + +.fa-mobile-android::before { + content: "\f3ce"; } + +.fa-mobile-phone::before { + content: "\f3ce"; } + +.fa-face-meh::before { + content: "\f11a"; } + +.fa-meh::before { + content: "\f11a"; } + +.fa-align-center::before { + content: "\f037"; } + +.fa-book-skull::before { + content: "\f6b7"; } + +.fa-book-dead::before { + content: "\f6b7"; } + +.fa-id-card::before { + content: "\f2c2"; } + +.fa-drivers-license::before { + content: "\f2c2"; } + +.fa-outdent::before { + content: "\f03b"; } + +.fa-dedent::before { + content: "\f03b"; } + +.fa-heart-circle-exclamation::before { + content: "\e4fe"; } + +.fa-house::before { + content: "\f015"; } + +.fa-home::before { + content: "\f015"; } + +.fa-home-alt::before { + content: "\f015"; } + +.fa-home-lg-alt::before { + content: "\f015"; } + +.fa-calendar-week::before { + content: "\f784"; } + +.fa-laptop-medical::before { + content: "\f812"; } + +.fa-b::before { + content: "\42"; } + +.fa-file-medical::before { + content: "\f477"; } + +.fa-dice-one::before { + content: "\f525"; } + +.fa-kiwi-bird::before { + content: "\f535"; } + +.fa-arrow-right-arrow-left::before { + content: "\f0ec"; } + +.fa-exchange::before { + content: "\f0ec"; } + +.fa-rotate-right::before { + content: "\f2f9"; } + +.fa-redo-alt::before { + content: "\f2f9"; } + +.fa-rotate-forward::before { + content: "\f2f9"; } + +.fa-utensils::before { + content: "\f2e7"; } + +.fa-cutlery::before { + content: "\f2e7"; } + +.fa-arrow-up-wide-short::before { + content: "\f161"; } + +.fa-sort-amount-up::before { + content: "\f161"; } + +.fa-mill-sign::before { + content: "\e1ed"; } + +.fa-bowl-rice::before { + content: "\e2eb"; } + +.fa-skull::before { + content: "\f54c"; } + +.fa-tower-broadcast::before { + content: "\f519"; } + +.fa-broadcast-tower::before { + content: "\f519"; } + +.fa-truck-pickup::before { + content: "\f63c"; } + +.fa-up-long::before { + content: "\f30c"; } + +.fa-long-arrow-alt-up::before { + content: "\f30c"; } + +.fa-stop::before { + content: "\f04d"; } + +.fa-code-merge::before { + content: "\f387"; } + +.fa-upload::before { + content: "\f093"; } + +.fa-hurricane::before { + content: "\f751"; } + +.fa-mound::before { + content: "\e52d"; } + +.fa-toilet-portable::before { + content: "\e583"; } + +.fa-compact-disc::before { + content: "\f51f"; } + +.fa-file-arrow-down::before { + content: "\f56d"; } + +.fa-file-download::before { + content: "\f56d"; } + +.fa-caravan::before { + content: "\f8ff"; } + +.fa-shield-cat::before { + content: "\e572"; } + +.fa-bolt::before { + content: "\f0e7"; } + +.fa-zap::before { + content: "\f0e7"; } + +.fa-glass-water::before { + content: "\e4f4"; } + +.fa-oil-well::before { + content: "\e532"; } + +.fa-vault::before { + content: "\e2c5"; } + +.fa-mars::before { + content: "\f222"; } + +.fa-toilet::before { + content: "\f7d8"; } + +.fa-plane-circle-xmark::before { + content: "\e557"; } + +.fa-yen-sign::before { + content: "\f157"; } + +.fa-cny::before { + content: "\f157"; } + +.fa-jpy::before { + content: "\f157"; } + +.fa-rmb::before { + content: "\f157"; } + +.fa-yen::before { + content: "\f157"; } + +.fa-ruble-sign::before { + content: "\f158"; } + +.fa-rouble::before { + content: "\f158"; } + +.fa-rub::before { + content: "\f158"; } + +.fa-ruble::before { + content: "\f158"; } + +.fa-sun::before { + content: "\f185"; } + +.fa-guitar::before { + content: "\f7a6"; } + +.fa-face-laugh-wink::before { + content: "\f59c"; } + +.fa-laugh-wink::before { + content: "\f59c"; } + +.fa-horse-head::before { + content: "\f7ab"; } + +.fa-bore-hole::before { + content: "\e4c3"; } + +.fa-industry::before { + content: "\f275"; } + +.fa-circle-down::before { + content: "\f358"; } + +.fa-arrow-alt-circle-down::before { + content: "\f358"; } + +.fa-arrows-turn-to-dots::before { + content: "\e4c1"; } + +.fa-florin-sign::before { + content: "\e184"; } + +.fa-arrow-down-short-wide::before { + content: "\f884"; } + +.fa-sort-amount-desc::before { + content: "\f884"; } + +.fa-sort-amount-down-alt::before { + content: "\f884"; } + +.fa-less-than::before { + content: "\3c"; } + +.fa-angle-down::before { + content: "\f107"; } + +.fa-car-tunnel::before { + content: "\e4de"; } + +.fa-head-side-cough::before { + content: "\e061"; } + +.fa-grip-lines::before { + content: "\f7a4"; } + +.fa-thumbs-down::before { + content: "\f165"; } + +.fa-user-lock::before { + content: "\f502"; } + +.fa-arrow-right-long::before { + content: "\f178"; } + +.fa-long-arrow-right::before { + content: "\f178"; } + +.fa-anchor-circle-xmark::before { + content: "\e4ac"; } + +.fa-ellipsis::before { + content: "\f141"; } + +.fa-ellipsis-h::before { + content: "\f141"; } + +.fa-chess-pawn::before { + content: "\f443"; } + +.fa-kit-medical::before { + content: "\f479"; } + +.fa-first-aid::before { + content: "\f479"; } + +.fa-person-through-window::before { + content: "\e5a9"; } + +.fa-toolbox::before { + content: "\f552"; } + +.fa-hands-holding-circle::before { + content: "\e4fb"; } + +.fa-bug::before { + content: "\f188"; } + +.fa-credit-card::before { + content: "\f09d"; } + +.fa-credit-card-alt::before { + content: "\f09d"; } + +.fa-car::before { + content: "\f1b9"; } + +.fa-automobile::before { + content: "\f1b9"; } + +.fa-hand-holding-hand::before { + content: "\e4f7"; } + +.fa-book-open-reader::before { + content: "\f5da"; } + +.fa-book-reader::before { + content: "\f5da"; } + +.fa-mountain-sun::before { + content: "\e52f"; } + +.fa-arrows-left-right-to-line::before { + content: "\e4ba"; } + +.fa-dice-d20::before { + content: "\f6cf"; } + +.fa-truck-droplet::before { + content: "\e58c"; } + +.fa-file-circle-xmark::before { + content: "\e5a1"; } + +.fa-temperature-arrow-up::before { + content: "\e040"; } + +.fa-temperature-up::before { + content: "\e040"; } + +.fa-medal::before { + content: "\f5a2"; } + +.fa-bed::before { + content: "\f236"; } + +.fa-square-h::before { + content: "\f0fd"; } + +.fa-h-square::before { + content: "\f0fd"; } + +.fa-podcast::before { + content: "\f2ce"; } + +.fa-temperature-full::before { + content: "\f2c7"; } + +.fa-temperature-4::before { + content: "\f2c7"; } + +.fa-thermometer-4::before { + content: "\f2c7"; } + +.fa-thermometer-full::before { + content: "\f2c7"; } + +.fa-bell::before { + content: "\f0f3"; } + +.fa-superscript::before { + content: "\f12b"; } + +.fa-plug-circle-xmark::before { + content: "\e560"; } + +.fa-star-of-life::before { + content: "\f621"; } + +.fa-phone-slash::before { + content: "\f3dd"; } + +.fa-paint-roller::before { + content: "\f5aa"; } + +.fa-handshake-angle::before { + content: "\f4c4"; } + +.fa-hands-helping::before { + content: "\f4c4"; } + +.fa-location-dot::before { + content: "\f3c5"; } + +.fa-map-marker-alt::before { + content: "\f3c5"; } + +.fa-file::before { + content: "\f15b"; } + +.fa-greater-than::before { + content: "\3e"; } + +.fa-person-swimming::before { + content: "\f5c4"; } + +.fa-swimmer::before { + content: "\f5c4"; } + +.fa-arrow-down::before { + content: "\f063"; } + +.fa-droplet::before { + content: "\f043"; } + +.fa-tint::before { + content: "\f043"; } + +.fa-eraser::before { + content: "\f12d"; } + +.fa-earth-americas::before { + content: "\f57d"; } + +.fa-earth::before { + content: "\f57d"; } + +.fa-earth-america::before { + content: "\f57d"; } + +.fa-globe-americas::before { + content: "\f57d"; } + +.fa-person-burst::before { + content: "\e53b"; } + +.fa-dove::before { + content: "\f4ba"; } + +.fa-battery-empty::before { + content: "\f244"; } + +.fa-battery-0::before { + content: "\f244"; } + +.fa-socks::before { + content: "\f696"; } + +.fa-inbox::before { + content: "\f01c"; } + +.fa-section::before { + content: "\e447"; } + +.fa-gauge-high::before { + content: "\f625"; } + +.fa-tachometer-alt::before { + content: "\f625"; } + +.fa-tachometer-alt-fast::before { + content: "\f625"; } + +.fa-envelope-open-text::before { + content: "\f658"; } + +.fa-hospital::before { + content: "\f0f8"; } + +.fa-hospital-alt::before { + content: "\f0f8"; } + +.fa-hospital-wide::before { + content: "\f0f8"; } + +.fa-wine-bottle::before { + content: "\f72f"; } + +.fa-chess-rook::before { + content: "\f447"; } + +.fa-bars-staggered::before { + content: "\f550"; } + +.fa-reorder::before { + content: "\f550"; } + +.fa-stream::before { + content: "\f550"; } + +.fa-dharmachakra::before { + content: "\f655"; } + +.fa-hotdog::before { + content: "\f80f"; } + +.fa-person-walking-with-cane::before { + content: "\f29d"; } + +.fa-blind::before { + content: "\f29d"; } + +.fa-drum::before { + content: "\f569"; } + +.fa-ice-cream::before { + content: "\f810"; } + +.fa-heart-circle-bolt::before { + content: "\e4fc"; } + +.fa-fax::before { + content: "\f1ac"; } + +.fa-paragraph::before { + content: "\f1dd"; } + +.fa-check-to-slot::before { + content: "\f772"; } + +.fa-vote-yea::before { + content: "\f772"; } + +.fa-star-half::before { + content: "\f089"; } + +.fa-boxes-stacked::before { + content: "\f468"; } + +.fa-boxes::before { + content: "\f468"; } + +.fa-boxes-alt::before { + content: "\f468"; } + +.fa-link::before { + content: "\f0c1"; } + +.fa-chain::before { + content: "\f0c1"; } + +.fa-ear-listen::before { + content: "\f2a2"; } + +.fa-assistive-listening-systems::before { + content: "\f2a2"; } + +.fa-tree-city::before { + content: "\e587"; } + +.fa-play::before { + content: "\f04b"; } + +.fa-font::before { + content: "\f031"; } + +.fa-table-cells-row-lock::before { + content: "\e67a"; } + +.fa-rupiah-sign::before { + content: "\e23d"; } + +.fa-magnifying-glass::before { + content: "\f002"; } + +.fa-search::before { + content: "\f002"; } + +.fa-table-tennis-paddle-ball::before { + content: "\f45d"; } + +.fa-ping-pong-paddle-ball::before { + content: "\f45d"; } + +.fa-table-tennis::before { + content: "\f45d"; } + +.fa-person-dots-from-line::before { + content: "\f470"; } + +.fa-diagnoses::before { + content: "\f470"; } + +.fa-trash-can-arrow-up::before { + content: "\f82a"; } + +.fa-trash-restore-alt::before { + content: "\f82a"; } + +.fa-naira-sign::before { + content: "\e1f6"; } + +.fa-cart-arrow-down::before { + content: "\f218"; } + +.fa-walkie-talkie::before { + content: "\f8ef"; } + +.fa-file-pen::before { + content: "\f31c"; } + +.fa-file-edit::before { + content: "\f31c"; } + +.fa-receipt::before { + content: "\f543"; } + +.fa-square-pen::before { + content: "\f14b"; } + +.fa-pen-square::before { + content: "\f14b"; } + +.fa-pencil-square::before { + content: "\f14b"; } + +.fa-suitcase-rolling::before { + content: "\f5c1"; } + +.fa-person-circle-exclamation::before { + content: "\e53f"; } + +.fa-chevron-down::before { + content: "\f078"; } + +.fa-battery-full::before { + content: "\f240"; } + +.fa-battery::before { + content: "\f240"; } + +.fa-battery-5::before { + content: "\f240"; } + +.fa-skull-crossbones::before { + content: "\f714"; } + +.fa-code-compare::before { + content: "\e13a"; } + +.fa-list-ul::before { + content: "\f0ca"; } + +.fa-list-dots::before { + content: "\f0ca"; } + +.fa-school-lock::before { + content: "\e56f"; } + +.fa-tower-cell::before { + content: "\e585"; } + +.fa-down-long::before { + content: "\f309"; } + +.fa-long-arrow-alt-down::before { + content: "\f309"; } + +.fa-ranking-star::before { + content: "\e561"; } + +.fa-chess-king::before { + content: "\f43f"; } + +.fa-person-harassing::before { + content: "\e549"; } + +.fa-brazilian-real-sign::before { + content: "\e46c"; } + +.fa-landmark-dome::before { + content: "\f752"; } + +.fa-landmark-alt::before { + content: "\f752"; } + +.fa-arrow-up::before { + content: "\f062"; } + +.fa-tv::before { + content: "\f26c"; } + +.fa-television::before { + content: "\f26c"; } + +.fa-tv-alt::before { + content: "\f26c"; } + +.fa-shrimp::before { + content: "\e448"; } + +.fa-list-check::before { + content: "\f0ae"; } + +.fa-tasks::before { + content: "\f0ae"; } + +.fa-jug-detergent::before { + content: "\e519"; } + +.fa-circle-user::before { + content: "\f2bd"; } + +.fa-user-circle::before { + content: "\f2bd"; } + +.fa-user-shield::before { + content: "\f505"; } + +.fa-wind::before { + content: "\f72e"; } + +.fa-car-burst::before { + content: "\f5e1"; } + +.fa-car-crash::before { + content: "\f5e1"; } + +.fa-y::before { + content: "\59"; } + +.fa-person-snowboarding::before { + content: "\f7ce"; } + +.fa-snowboarding::before { + content: "\f7ce"; } + +.fa-truck-fast::before { + content: "\f48b"; } + +.fa-shipping-fast::before { + content: "\f48b"; } + +.fa-fish::before { + content: "\f578"; } + +.fa-user-graduate::before { + content: "\f501"; } + +.fa-circle-half-stroke::before { + content: "\f042"; } + +.fa-adjust::before { + content: "\f042"; } + +.fa-clapperboard::before { + content: "\e131"; } + +.fa-circle-radiation::before { + content: "\f7ba"; } + +.fa-radiation-alt::before { + content: "\f7ba"; } + +.fa-baseball::before { + content: "\f433"; } + +.fa-baseball-ball::before { + content: "\f433"; } + +.fa-jet-fighter-up::before { + content: "\e518"; } + +.fa-diagram-project::before { + content: "\f542"; } + +.fa-project-diagram::before { + content: "\f542"; } + +.fa-copy::before { + content: "\f0c5"; } + +.fa-volume-xmark::before { + content: "\f6a9"; } + +.fa-volume-mute::before { + content: "\f6a9"; } + +.fa-volume-times::before { + content: "\f6a9"; } + +.fa-hand-sparkles::before { + content: "\e05d"; } + +.fa-grip::before { + content: "\f58d"; } + +.fa-grip-horizontal::before { + content: "\f58d"; } + +.fa-share-from-square::before { + content: "\f14d"; } + +.fa-share-square::before { + content: "\f14d"; } + +.fa-child-combatant::before { + content: "\e4e0"; } + +.fa-child-rifle::before { + content: "\e4e0"; } + +.fa-gun::before { + content: "\e19b"; } + +.fa-square-phone::before { + content: "\f098"; } + +.fa-phone-square::before { + content: "\f098"; } + +.fa-plus::before { + content: "\2b"; } + +.fa-add::before { + content: "\2b"; } + +.fa-expand::before { + content: "\f065"; } + +.fa-computer::before { + content: "\e4e5"; } + +.fa-xmark::before { + content: "\f00d"; } + +.fa-close::before { + content: "\f00d"; } + +.fa-multiply::before { + content: "\f00d"; } + +.fa-remove::before { + content: "\f00d"; } + +.fa-times::before { + content: "\f00d"; } + +.fa-arrows-up-down-left-right::before { + content: "\f047"; } + +.fa-arrows::before { + content: "\f047"; } + +.fa-chalkboard-user::before { + content: "\f51c"; } + +.fa-chalkboard-teacher::before { + content: "\f51c"; } + +.fa-peso-sign::before { + content: "\e222"; } + +.fa-building-shield::before { + content: "\e4d8"; } + +.fa-baby::before { + content: "\f77c"; } + +.fa-users-line::before { + content: "\e592"; } + +.fa-quote-left::before { + content: "\f10d"; } + +.fa-quote-left-alt::before { + content: "\f10d"; } + +.fa-tractor::before { + content: "\f722"; } + +.fa-trash-arrow-up::before { + content: "\f829"; } + +.fa-trash-restore::before { + content: "\f829"; } + +.fa-arrow-down-up-lock::before { + content: "\e4b0"; } + +.fa-lines-leaning::before { + content: "\e51e"; } + +.fa-ruler-combined::before { + content: "\f546"; } + +.fa-copyright::before { + content: "\f1f9"; } + +.fa-equals::before { + content: "\3d"; } + +.fa-blender::before { + content: "\f517"; } + +.fa-teeth::before { + content: "\f62e"; } + +.fa-shekel-sign::before { + content: "\f20b"; } + +.fa-ils::before { + content: "\f20b"; } + +.fa-shekel::before { + content: "\f20b"; } + +.fa-sheqel::before { + content: "\f20b"; } + +.fa-sheqel-sign::before { + content: "\f20b"; } + +.fa-map::before { + content: "\f279"; } + +.fa-rocket::before { + content: "\f135"; } + +.fa-photo-film::before { + content: "\f87c"; } + +.fa-photo-video::before { + content: "\f87c"; } + +.fa-folder-minus::before { + content: "\f65d"; } + +.fa-store::before { + content: "\f54e"; } + +.fa-arrow-trend-up::before { + content: "\e098"; } + +.fa-plug-circle-minus::before { + content: "\e55e"; } + +.fa-sign-hanging::before { + content: "\f4d9"; } + +.fa-sign::before { + content: "\f4d9"; } + +.fa-bezier-curve::before { + content: "\f55b"; } + +.fa-bell-slash::before { + content: "\f1f6"; } + +.fa-tablet::before { + content: "\f3fb"; } + +.fa-tablet-android::before { + content: "\f3fb"; } + +.fa-school-flag::before { + content: "\e56e"; } + +.fa-fill::before { + content: "\f575"; } + +.fa-angle-up::before { + content: "\f106"; } + +.fa-drumstick-bite::before { + content: "\f6d7"; } + +.fa-holly-berry::before { + content: "\f7aa"; } + +.fa-chevron-left::before { + content: "\f053"; } + +.fa-bacteria::before { + content: "\e059"; } + +.fa-hand-lizard::before { + content: "\f258"; } + +.fa-notdef::before { + content: "\e1fe"; } + +.fa-disease::before { + content: "\f7fa"; } + +.fa-briefcase-medical::before { + content: "\f469"; } + +.fa-genderless::before { + content: "\f22d"; } + +.fa-chevron-right::before { + content: "\f054"; } + +.fa-retweet::before { + content: "\f079"; } + +.fa-car-rear::before { + content: "\f5de"; } + +.fa-car-alt::before { + content: "\f5de"; } + +.fa-pump-soap::before { + content: "\e06b"; } + +.fa-video-slash::before { + content: "\f4e2"; } + +.fa-battery-quarter::before { + content: "\f243"; } + +.fa-battery-2::before { + content: "\f243"; } + +.fa-radio::before { + content: "\f8d7"; } + +.fa-baby-carriage::before { + content: "\f77d"; } + +.fa-carriage-baby::before { + content: "\f77d"; } + +.fa-traffic-light::before { + content: "\f637"; } + +.fa-thermometer::before { + content: "\f491"; } + +.fa-vr-cardboard::before { + content: "\f729"; } + +.fa-hand-middle-finger::before { + content: "\f806"; } + +.fa-percent::before { + content: "\25"; } + +.fa-percentage::before { + content: "\25"; } + +.fa-truck-moving::before { + content: "\f4df"; } + +.fa-glass-water-droplet::before { + content: "\e4f5"; } + +.fa-display::before { + content: "\e163"; } + +.fa-face-smile::before { + content: "\f118"; } + +.fa-smile::before { + content: "\f118"; } + +.fa-thumbtack::before { + content: "\f08d"; } + +.fa-thumb-tack::before { + content: "\f08d"; } + +.fa-trophy::before { + content: "\f091"; } + +.fa-person-praying::before { + content: "\f683"; } + +.fa-pray::before { + content: "\f683"; } + +.fa-hammer::before { + content: "\f6e3"; } + +.fa-hand-peace::before { + content: "\f25b"; } + +.fa-rotate::before { + content: "\f2f1"; } + +.fa-sync-alt::before { + content: "\f2f1"; } + +.fa-spinner::before { + content: "\f110"; } + +.fa-robot::before { + content: "\f544"; } + +.fa-peace::before { + content: "\f67c"; } + +.fa-gears::before { + content: "\f085"; } + +.fa-cogs::before { + content: "\f085"; } + +.fa-warehouse::before { + content: "\f494"; } + +.fa-arrow-up-right-dots::before { + content: "\e4b7"; } + +.fa-splotch::before { + content: "\f5bc"; } + +.fa-face-grin-hearts::before { + content: "\f584"; } + +.fa-grin-hearts::before { + content: "\f584"; } + +.fa-dice-four::before { + content: "\f524"; } + +.fa-sim-card::before { + content: "\f7c4"; } + +.fa-transgender::before { + content: "\f225"; } + +.fa-transgender-alt::before { + content: "\f225"; } + +.fa-mercury::before { + content: "\f223"; } + +.fa-arrow-turn-down::before { + content: "\f149"; } + +.fa-level-down::before { + content: "\f149"; } + +.fa-person-falling-burst::before { + content: "\e547"; } + +.fa-award::before { + content: "\f559"; } + +.fa-ticket-simple::before { + content: "\f3ff"; } + +.fa-ticket-alt::before { + content: "\f3ff"; } + +.fa-building::before { + content: "\f1ad"; } + +.fa-angles-left::before { + content: "\f100"; } + +.fa-angle-double-left::before { + content: "\f100"; } + +.fa-qrcode::before { + content: "\f029"; } + +.fa-clock-rotate-left::before { + content: "\f1da"; } + +.fa-history::before { + content: "\f1da"; } + +.fa-face-grin-beam-sweat::before { + content: "\f583"; } + +.fa-grin-beam-sweat::before { + content: "\f583"; } + +.fa-file-export::before { + content: "\f56e"; } + +.fa-arrow-right-from-file::before { + content: "\f56e"; } + +.fa-shield::before { + content: "\f132"; } + +.fa-shield-blank::before { + content: "\f132"; } + +.fa-arrow-up-short-wide::before { + content: "\f885"; } + +.fa-sort-amount-up-alt::before { + content: "\f885"; } + +.fa-house-medical::before { + content: "\e3b2"; } + +.fa-golf-ball-tee::before { + content: "\f450"; } + +.fa-golf-ball::before { + content: "\f450"; } + +.fa-circle-chevron-left::before { + content: "\f137"; } + +.fa-chevron-circle-left::before { + content: "\f137"; } + +.fa-house-chimney-window::before { + content: "\e00d"; } + +.fa-pen-nib::before { + content: "\f5ad"; } + +.fa-tent-arrow-turn-left::before { + content: "\e580"; } + +.fa-tents::before { + content: "\e582"; } + +.fa-wand-magic::before { + content: "\f0d0"; } + +.fa-magic::before { + content: "\f0d0"; } + +.fa-dog::before { + content: "\f6d3"; } + +.fa-carrot::before { + content: "\f787"; } + +.fa-moon::before { + content: "\f186"; } + +.fa-wine-glass-empty::before { + content: "\f5ce"; } + +.fa-wine-glass-alt::before { + content: "\f5ce"; } + +.fa-cheese::before { + content: "\f7ef"; } + +.fa-yin-yang::before { + content: "\f6ad"; } + +.fa-music::before { + content: "\f001"; } + +.fa-code-commit::before { + content: "\f386"; } + +.fa-temperature-low::before { + content: "\f76b"; } + +.fa-person-biking::before { + content: "\f84a"; } + +.fa-biking::before { + content: "\f84a"; } + +.fa-broom::before { + content: "\f51a"; } + +.fa-shield-heart::before { + content: "\e574"; } + +.fa-gopuram::before { + content: "\f664"; } + +.fa-earth-oceania::before { + content: "\e47b"; } + +.fa-globe-oceania::before { + content: "\e47b"; } + +.fa-square-xmark::before { + content: "\f2d3"; } + +.fa-times-square::before { + content: "\f2d3"; } + +.fa-xmark-square::before { + content: "\f2d3"; } + +.fa-hashtag::before { + content: "\23"; } + +.fa-up-right-and-down-left-from-center::before { + content: "\f424"; } + +.fa-expand-alt::before { + content: "\f424"; } + +.fa-oil-can::before { + content: "\f613"; } + +.fa-t::before { + content: "\54"; } + +.fa-hippo::before { + content: "\f6ed"; } + +.fa-chart-column::before { + content: "\e0e3"; } + +.fa-infinity::before { + content: "\f534"; } + +.fa-vial-circle-check::before { + content: "\e596"; } + +.fa-person-arrow-down-to-line::before { + content: "\e538"; } + +.fa-voicemail::before { + content: "\f897"; } + +.fa-fan::before { + content: "\f863"; } + +.fa-person-walking-luggage::before { + content: "\e554"; } + +.fa-up-down::before { + content: "\f338"; } + +.fa-arrows-alt-v::before { + content: "\f338"; } + +.fa-cloud-moon-rain::before { + content: "\f73c"; } + +.fa-calendar::before { + content: "\f133"; } + +.fa-trailer::before { + content: "\e041"; } + +.fa-bahai::before { + content: "\f666"; } + +.fa-haykal::before { + content: "\f666"; } + +.fa-sd-card::before { + content: "\f7c2"; } + +.fa-dragon::before { + content: "\f6d5"; } + +.fa-shoe-prints::before { + content: "\f54b"; } + +.fa-circle-plus::before { + content: "\f055"; } + +.fa-plus-circle::before { + content: "\f055"; } + +.fa-face-grin-tongue-wink::before { + content: "\f58b"; } + +.fa-grin-tongue-wink::before { + content: "\f58b"; } + +.fa-hand-holding::before { + content: "\f4bd"; } + +.fa-plug-circle-exclamation::before { + content: "\e55d"; } + +.fa-link-slash::before { + content: "\f127"; } + +.fa-chain-broken::before { + content: "\f127"; } + +.fa-chain-slash::before { + content: "\f127"; } + +.fa-unlink::before { + content: "\f127"; } + +.fa-clone::before { + content: "\f24d"; } + +.fa-person-walking-arrow-loop-left::before { + content: "\e551"; } + +.fa-arrow-up-z-a::before { + content: "\f882"; } + +.fa-sort-alpha-up-alt::before { + content: "\f882"; } + +.fa-fire-flame-curved::before { + content: "\f7e4"; } + +.fa-fire-alt::before { + content: "\f7e4"; } + +.fa-tornado::before { + content: "\f76f"; } + +.fa-file-circle-plus::before { + content: "\e494"; } + +.fa-book-quran::before { + content: "\f687"; } + +.fa-quran::before { + content: "\f687"; } + +.fa-anchor::before { + content: "\f13d"; } + +.fa-border-all::before { + content: "\f84c"; } + +.fa-face-angry::before { + content: "\f556"; } + +.fa-angry::before { + content: "\f556"; } + +.fa-cookie-bite::before { + content: "\f564"; } + +.fa-arrow-trend-down::before { + content: "\e097"; } + +.fa-rss::before { + content: "\f09e"; } + +.fa-feed::before { + content: "\f09e"; } + +.fa-draw-polygon::before { + content: "\f5ee"; } + +.fa-scale-balanced::before { + content: "\f24e"; } + +.fa-balance-scale::before { + content: "\f24e"; } + +.fa-gauge-simple-high::before { + content: "\f62a"; } + +.fa-tachometer::before { + content: "\f62a"; } + +.fa-tachometer-fast::before { + content: "\f62a"; } + +.fa-shower::before { + content: "\f2cc"; } + +.fa-desktop::before { + content: "\f390"; } + +.fa-desktop-alt::before { + content: "\f390"; } + +.fa-m::before { + content: "\4d"; } + +.fa-table-list::before { + content: "\f00b"; } + +.fa-th-list::before { + content: "\f00b"; } + +.fa-comment-sms::before { + content: "\f7cd"; } + +.fa-sms::before { + content: "\f7cd"; } + +.fa-book::before { + content: "\f02d"; } + +.fa-user-plus::before { + content: "\f234"; } + +.fa-check::before { + content: "\f00c"; } + +.fa-battery-three-quarters::before { + content: "\f241"; } + +.fa-battery-4::before { + content: "\f241"; } + +.fa-house-circle-check::before { + content: "\e509"; } + +.fa-angle-left::before { + content: "\f104"; } + +.fa-diagram-successor::before { + content: "\e47a"; } + +.fa-truck-arrow-right::before { + content: "\e58b"; } + +.fa-arrows-split-up-and-left::before { + content: "\e4bc"; } + +.fa-hand-fist::before { + content: "\f6de"; } + +.fa-fist-raised::before { + content: "\f6de"; } + +.fa-cloud-moon::before { + content: "\f6c3"; } + +.fa-briefcase::before { + content: "\f0b1"; } + +.fa-person-falling::before { + content: "\e546"; } + +.fa-image-portrait::before { + content: "\f3e0"; } + +.fa-portrait::before { + content: "\f3e0"; } + +.fa-user-tag::before { + content: "\f507"; } + +.fa-rug::before { + content: "\e569"; } + +.fa-earth-europe::before { + content: "\f7a2"; } + +.fa-globe-europe::before { + content: "\f7a2"; } + +.fa-cart-flatbed-suitcase::before { + content: "\f59d"; } + +.fa-luggage-cart::before { + content: "\f59d"; } + +.fa-rectangle-xmark::before { + content: "\f410"; } + +.fa-rectangle-times::before { + content: "\f410"; } + +.fa-times-rectangle::before { + content: "\f410"; } + +.fa-window-close::before { + content: "\f410"; } + +.fa-baht-sign::before { + content: "\e0ac"; } + +.fa-book-open::before { + content: "\f518"; } + +.fa-book-journal-whills::before { + content: "\f66a"; } + +.fa-journal-whills::before { + content: "\f66a"; } + +.fa-handcuffs::before { + content: "\e4f8"; } + +.fa-triangle-exclamation::before { + content: "\f071"; } + +.fa-exclamation-triangle::before { + content: "\f071"; } + +.fa-warning::before { + content: "\f071"; } + +.fa-database::before { + content: "\f1c0"; } + +.fa-share::before { + content: "\f064"; } + +.fa-mail-forward::before { + content: "\f064"; } + +.fa-bottle-droplet::before { + content: "\e4c4"; } + +.fa-mask-face::before { + content: "\e1d7"; } + +.fa-hill-rockslide::before { + content: "\e508"; } + +.fa-right-left::before { + content: "\f362"; } + +.fa-exchange-alt::before { + content: "\f362"; } + +.fa-paper-plane::before { + content: "\f1d8"; } + +.fa-road-circle-exclamation::before { + content: "\e565"; } + +.fa-dungeon::before { + content: "\f6d9"; } + +.fa-align-right::before { + content: "\f038"; } + +.fa-money-bill-1-wave::before { + content: "\f53b"; } + +.fa-money-bill-wave-alt::before { + content: "\f53b"; } + +.fa-life-ring::before { + content: "\f1cd"; } + +.fa-hands::before { + content: "\f2a7"; } + +.fa-sign-language::before { + content: "\f2a7"; } + +.fa-signing::before { + content: "\f2a7"; } + +.fa-calendar-day::before { + content: "\f783"; } + +.fa-water-ladder::before { + content: "\f5c5"; } + +.fa-ladder-water::before { + content: "\f5c5"; } + +.fa-swimming-pool::before { + content: "\f5c5"; } + +.fa-arrows-up-down::before { + content: "\f07d"; } + +.fa-arrows-v::before { + content: "\f07d"; } + +.fa-face-grimace::before { + content: "\f57f"; } + +.fa-grimace::before { + content: "\f57f"; } + +.fa-wheelchair-move::before { + content: "\e2ce"; } + +.fa-wheelchair-alt::before { + content: "\e2ce"; } + +.fa-turn-down::before { + content: "\f3be"; } + +.fa-level-down-alt::before { + content: "\f3be"; } + +.fa-person-walking-arrow-right::before { + content: "\e552"; } + +.fa-square-envelope::before { + content: "\f199"; } + +.fa-envelope-square::before { + content: "\f199"; } + +.fa-dice::before { + content: "\f522"; } + +.fa-bowling-ball::before { + content: "\f436"; } + +.fa-brain::before { + content: "\f5dc"; } + +.fa-bandage::before { + content: "\f462"; } + +.fa-band-aid::before { + content: "\f462"; } + +.fa-calendar-minus::before { + content: "\f272"; } + +.fa-circle-xmark::before { + content: "\f057"; } + +.fa-times-circle::before { + content: "\f057"; } + +.fa-xmark-circle::before { + content: "\f057"; } + +.fa-gifts::before { + content: "\f79c"; } + +.fa-hotel::before { + content: "\f594"; } + +.fa-earth-asia::before { + content: "\f57e"; } + +.fa-globe-asia::before { + content: "\f57e"; } + +.fa-id-card-clip::before { + content: "\f47f"; } + +.fa-id-card-alt::before { + content: "\f47f"; } + +.fa-magnifying-glass-plus::before { + content: "\f00e"; } + +.fa-search-plus::before { + content: "\f00e"; } + +.fa-thumbs-up::before { + content: "\f164"; } + +.fa-user-clock::before { + content: "\f4fd"; } + +.fa-hand-dots::before { + content: "\f461"; } + +.fa-allergies::before { + content: "\f461"; } + +.fa-file-invoice::before { + content: "\f570"; } + +.fa-window-minimize::before { + content: "\f2d1"; } + +.fa-mug-saucer::before { + content: "\f0f4"; } + +.fa-coffee::before { + content: "\f0f4"; } + +.fa-brush::before { + content: "\f55d"; } + +.fa-mask::before { + content: "\f6fa"; } + +.fa-magnifying-glass-minus::before { + content: "\f010"; } + +.fa-search-minus::before { + content: "\f010"; } + +.fa-ruler-vertical::before { + content: "\f548"; } + +.fa-user-large::before { + content: "\f406"; } + +.fa-user-alt::before { + content: "\f406"; } + +.fa-train-tram::before { + content: "\e5b4"; } + +.fa-user-nurse::before { + content: "\f82f"; } + +.fa-syringe::before { + content: "\f48e"; } + +.fa-cloud-sun::before { + content: "\f6c4"; } + +.fa-stopwatch-20::before { + content: "\e06f"; } + +.fa-square-full::before { + content: "\f45c"; } + +.fa-magnet::before { + content: "\f076"; } + +.fa-jar::before { + content: "\e516"; } + +.fa-note-sticky::before { + content: "\f249"; } + +.fa-sticky-note::before { + content: "\f249"; } + +.fa-bug-slash::before { + content: "\e490"; } + +.fa-arrow-up-from-water-pump::before { + content: "\e4b6"; } + +.fa-bone::before { + content: "\f5d7"; } + +.fa-user-injured::before { + content: "\f728"; } + +.fa-face-sad-tear::before { + content: "\f5b4"; } + +.fa-sad-tear::before { + content: "\f5b4"; } + +.fa-plane::before { + content: "\f072"; } + +.fa-tent-arrows-down::before { + content: "\e581"; } + +.fa-exclamation::before { + content: "\21"; } + +.fa-arrows-spin::before { + content: "\e4bb"; } + +.fa-print::before { + content: "\f02f"; } + +.fa-turkish-lira-sign::before { + content: "\e2bb"; } + +.fa-try::before { + content: "\e2bb"; } + +.fa-turkish-lira::before { + content: "\e2bb"; } + +.fa-dollar-sign::before { + content: "\24"; } + +.fa-dollar::before { + content: "\24"; } + +.fa-usd::before { + content: "\24"; } + +.fa-x::before { + content: "\58"; } + +.fa-magnifying-glass-dollar::before { + content: "\f688"; } + +.fa-search-dollar::before { + content: "\f688"; } + +.fa-users-gear::before { + content: "\f509"; } + +.fa-users-cog::before { + content: "\f509"; } + +.fa-person-military-pointing::before { + content: "\e54a"; } + +.fa-building-columns::before { + content: "\f19c"; } + +.fa-bank::before { + content: "\f19c"; } + +.fa-institution::before { + content: "\f19c"; } + +.fa-museum::before { + content: "\f19c"; } + +.fa-university::before { + content: "\f19c"; } + +.fa-umbrella::before { + content: "\f0e9"; } + +.fa-trowel::before { + content: "\e589"; } + +.fa-d::before { + content: "\44"; } + +.fa-stapler::before { + content: "\e5af"; } + +.fa-masks-theater::before { + content: "\f630"; } + +.fa-theater-masks::before { + content: "\f630"; } + +.fa-kip-sign::before { + content: "\e1c4"; } + +.fa-hand-point-left::before { + content: "\f0a5"; } + +.fa-handshake-simple::before { + content: "\f4c6"; } + +.fa-handshake-alt::before { + content: "\f4c6"; } + +.fa-jet-fighter::before { + content: "\f0fb"; } + +.fa-fighter-jet::before { + content: "\f0fb"; } + +.fa-square-share-nodes::before { + content: "\f1e1"; } + +.fa-share-alt-square::before { + content: "\f1e1"; } + +.fa-barcode::before { + content: "\f02a"; } + +.fa-plus-minus::before { + content: "\e43c"; } + +.fa-video::before { + content: "\f03d"; } + +.fa-video-camera::before { + content: "\f03d"; } + +.fa-graduation-cap::before { + content: "\f19d"; } + +.fa-mortar-board::before { + content: "\f19d"; } + +.fa-hand-holding-medical::before { + content: "\e05c"; } + +.fa-person-circle-check::before { + content: "\e53e"; } + +.fa-turn-up::before { + content: "\f3bf"; } + +.fa-level-up-alt::before { + content: "\f3bf"; } + +.sr-only, +.fa-sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; } + +.sr-only-focusable:not(:focus), +.fa-sr-only-focusable:not(:focus) { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; } +:root, :host { + --fa-style-family-brands: 'Font Awesome 6 Brands'; + --fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands'; } + +@font-face { + font-family: 'Font Awesome 6 Brands'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } + +.fab, +.fa-brands { + font-weight: 400; } + +.fa-monero:before { + content: "\f3d0"; } + +.fa-hooli:before { + content: "\f427"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-shopware:before { + content: "\f5b5"; } + +.fa-creative-commons-nc:before { + content: "\f4e8"; } + +.fa-aws:before { + content: "\f375"; } + +.fa-redhat:before { + content: "\f7bc"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-cloudflare:before { + content: "\e07d"; } + +.fa-ups:before { + content: "\f7e0"; } + +.fa-pixiv:before { + content: "\e640"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-dyalog:before { + content: "\f399"; } + +.fa-bity:before { + content: "\f37a"; } + +.fa-stackpath:before { + content: "\f842"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-guilded:before { + content: "\e07e"; } + +.fa-vnv:before { + content: "\f40b"; } + +.fa-square-js:before { + content: "\f3b9"; } + +.fa-js-square:before { + content: "\f3b9"; } + +.fa-microsoft:before { + content: "\f3ca"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-orcid:before { + content: "\f8d2"; } + +.fa-java:before { + content: "\f4e4"; } + +.fa-invision:before { + content: "\f7b0"; } + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; } + +.fa-centercode:before { + content: "\f380"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-jxl:before { + content: "\e67b"; } + +.fa-hire-a-helper:before { + content: "\f3b0"; } + +.fa-creative-commons-by:before { + content: "\f4e7"; } + +.fa-unity:before { + content: "\e049"; } + +.fa-whmcs:before { + content: "\f40d"; } + +.fa-rocketchat:before { + content: "\f3e8"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-untappd:before { + content: "\f405"; } + +.fa-mailchimp:before { + content: "\f59e"; } + +.fa-css3-alt:before { + content: "\f38b"; } + +.fa-square-reddit:before { + content: "\f1a2"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-vimeo-v:before { + content: "\f27d"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-square-font-awesome:before { + content: "\e5ad"; } + +.fa-deskpro:before { + content: "\f38f"; } + +.fa-brave:before { + content: "\e63c"; } + +.fa-sistrix:before { + content: "\f3ee"; } + +.fa-square-instagram:before { + content: "\e055"; } + +.fa-instagram-square:before { + content: "\e055"; } + +.fa-battle-net:before { + content: "\f835"; } + +.fa-the-red-yeti:before { + content: "\f69d"; } + +.fa-square-hacker-news:before { + content: "\f3af"; } + +.fa-hacker-news-square:before { + content: "\f3af"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-threads:before { + content: "\e618"; } + +.fa-napster:before { + content: "\f3d2"; } + +.fa-square-snapchat:before { + content: "\f2ad"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-google-plus-g:before { + content: "\f0d5"; } + +.fa-artstation:before { + content: "\f77a"; } + +.fa-markdown:before { + content: "\f60f"; } + +.fa-sourcetree:before { + content: "\f7d3"; } + +.fa-google-plus:before { + content: "\f2b3"; } + +.fa-diaspora:before { + content: "\f791"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-phoenix-squadron:before { + content: "\f511"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-algolia:before { + content: "\f36c"; } + +.fa-red-river:before { + content: "\f3e3"; } + +.fa-creative-commons-sa:before { + content: "\f4ef"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-square-font-awesome-stroke:before { + content: "\f35c"; } + +.fa-font-awesome-alt:before { + content: "\f35c"; } + +.fa-atlassian:before { + content: "\f77b"; } + +.fa-linkedin-in:before { + content: "\f0e1"; } + +.fa-digital-ocean:before { + content: "\f391"; } + +.fa-nimblr:before { + content: "\f5a8"; } + +.fa-chromecast:before { + content: "\f838"; } + +.fa-evernote:before { + content: "\f839"; } + +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-creative-commons-sampling:before { + content: "\f4f0"; } + +.fa-adversal:before { + content: "\f36a"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-watchman-monitoring:before { + content: "\e087"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-weixin:before { + content: "\f1d7"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-git-alt:before { + content: "\f841"; } + +.fa-lyft:before { + content: "\f3c3"; } + +.fa-rev:before { + content: "\f5b2"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-wizards-of-the-coast:before { + content: "\f730"; } + +.fa-square-viadeo:before { + content: "\f2aa"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-centos:before { + content: "\f789"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-cloudsmith:before { + content: "\f384"; } + +.fa-opensuse:before { + content: "\e62b"; } + +.fa-pied-piper-alt:before { + content: "\f1a8"; } + +.fa-square-dribbble:before { + content: "\f397"; } + +.fa-dribbble-square:before { + content: "\f397"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-node:before { + content: "\f419"; } + +.fa-mix:before { + content: "\f3cb"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-cc-apple-pay:before { + content: "\f416"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-debian:before { + content: "\e60b"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-instalod:before { + content: "\e081"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-sellcast:before { + content: "\f2da"; } + +.fa-square-twitter:before { + content: "\f081"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-r-project:before { + content: "\f4f7"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-freebsd:before { + content: "\f3a4"; } + +.fa-vuejs:before { + content: "\f41f"; } + +.fa-accusoft:before { + content: "\f369"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-fonticons-fi:before { + content: "\f3a2"; } + +.fa-app-store:before { + content: "\f36f"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-itunes-note:before { + content: "\f3b5"; } + +.fa-golang:before { + content: "\e40f"; } + +.fa-kickstarter:before { + content: "\f3bb"; } + +.fa-square-kickstarter:before { + content: "\f3bb"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-uncharted:before { + content: "\e084"; } + +.fa-firstdraft:before { + content: "\f3a1"; } + +.fa-square-youtube:before { + content: "\f431"; } + +.fa-youtube-square:before { + content: "\f431"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-wpressr:before { + content: "\f3e4"; } + +.fa-rendact:before { + content: "\f3e4"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-galactic-republic:before { + content: "\f50c"; } + +.fa-nfc-directional:before { + content: "\e530"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-joget:before { + content: "\f3b7"; } + +.fa-fedora:before { + content: "\f798"; } + +.fa-stripe-s:before { + content: "\f42a"; } + +.fa-meta:before { + content: "\e49b"; } + +.fa-laravel:before { + content: "\f3bd"; } + +.fa-hotjar:before { + content: "\f3b1"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-square-letterboxd:before { + content: "\e62e"; } + +.fa-sticker-mule:before { + content: "\f3f7"; } + +.fa-creative-commons-zero:before { + content: "\f4f3"; } + +.fa-hips:before { + content: "\f452"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-discord:before { + content: "\f392"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-app-store-ios:before { + content: "\f370"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-confluence:before { + content: "\f78d"; } + +.fa-shoelace:before { + content: "\e60c"; } + +.fa-mdb:before { + content: "\f8ca"; } + +.fa-dochub:before { + content: "\f394"; } + +.fa-accessible-icon:before { + content: "\f368"; } + +.fa-ebay:before { + content: "\f4f4"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-unsplash:before { + content: "\e07c"; } + +.fa-yarn:before { + content: "\f7e3"; } + +.fa-square-steam:before { + content: "\f1b7"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-500px:before { + content: "\f26e"; } + +.fa-square-vimeo:before { + content: "\f194"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-asymmetrik:before { + content: "\f372"; } + +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-font-awesome-flag:before { + content: "\f2b4"; } + +.fa-font-awesome-logo-full:before { + content: "\f2b4"; } + +.fa-gratipay:before { + content: "\f184"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-hive:before { + content: "\e07f"; } + +.fa-gitkraken:before { + content: "\f3a6"; } + +.fa-keybase:before { + content: "\f4f5"; } + +.fa-apple-pay:before { + content: "\f415"; } + +.fa-padlet:before { + content: "\e4a0"; } + +.fa-amazon-pay:before { + content: "\f42c"; } + +.fa-square-github:before { + content: "\f092"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-fedex:before { + content: "\f797"; } + +.fa-phoenix-framework:before { + content: "\f3dc"; } + +.fa-shopify:before { + content: "\e057"; } + +.fa-neos:before { + content: "\f612"; } + +.fa-square-threads:before { + content: "\e619"; } + +.fa-hackerrank:before { + content: "\f5f7"; } + +.fa-researchgate:before { + content: "\f4f8"; } + +.fa-swift:before { + content: "\f8e1"; } + +.fa-angular:before { + content: "\f420"; } + +.fa-speakap:before { + content: "\f3f3"; } + +.fa-angrycreative:before { + content: "\f36e"; } + +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-empire:before { + content: "\f1d1"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-google-scholar:before { + content: "\e63b"; } + +.fa-square-gitlab:before { + content: "\e5ae"; } + +.fa-gitlab-square:before { + content: "\e5ae"; } + +.fa-studiovinari:before { + content: "\f3f8"; } + +.fa-pied-piper:before { + content: "\f2ae"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-goodreads:before { + content: "\f3a8"; } + +.fa-square-odnoklassniki:before { + content: "\f264"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-sith:before { + content: "\f512"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-page4:before { + content: "\f3d7"; } + +.fa-hashnode:before { + content: "\e499"; } + +.fa-react:before { + content: "\f41b"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-squarespace:before { + content: "\f5be"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-creative-commons-share:before { + content: "\f4f2"; } + +.fa-bitcoin:before { + content: "\f379"; } + +.fa-keycdn:before { + content: "\f3ba"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-itch-io:before { + content: "\f83a"; } + +.fa-umbraco:before { + content: "\f8e8"; } + +.fa-galactic-senate:before { + content: "\f50d"; } + +.fa-ubuntu:before { + content: "\f7df"; } + +.fa-draft2digital:before { + content: "\f396"; } + +.fa-stripe:before { + content: "\f429"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-dhl:before { + content: "\f790"; } + +.fa-square-pinterest:before { + content: "\f0d3"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-blackberry:before { + content: "\f37b"; } + +.fa-creative-commons-pd:before { + content: "\f4ec"; } + +.fa-playstation:before { + content: "\f3df"; } + +.fa-quinscape:before { + content: "\f459"; } + +.fa-less:before { + content: "\f41d"; } + +.fa-blogger-b:before { + content: "\f37d"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-signal-messenger:before { + content: "\e663"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-typo3:before { + content: "\f42b"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-dailymotion:before { + content: "\e052"; } + +.fa-affiliatetheme:before { + content: "\f36b"; } + +.fa-pied-piper-pp:before { + content: "\f1a7"; } + +.fa-bootstrap:before { + content: "\f836"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-nfc-symbol:before { + content: "\e531"; } + +.fa-mintbit:before { + content: "\e62f"; } + +.fa-ethereum:before { + content: "\f42e"; } + +.fa-speaker-deck:before { + content: "\f83c"; } + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; } + +.fa-patreon:before { + content: "\f3d9"; } + +.fa-avianex:before { + content: "\f374"; } + +.fa-ello:before { + content: "\f5f1"; } + +.fa-gofore:before { + content: "\f3a7"; } + +.fa-bimobject:before { + content: "\f378"; } + +.fa-brave-reverse:before { + content: "\e63d"; } + +.fa-facebook-f:before { + content: "\f39e"; } + +.fa-square-google-plus:before { + content: "\f0d4"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-web-awesome:before { + content: "\e682"; } + +.fa-mandalorian:before { + content: "\f50f"; } + +.fa-first-order-alt:before { + content: "\f50a"; } + +.fa-osi:before { + content: "\f41a"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-d-and-d-beyond:before { + content: "\f6ca"; } + +.fa-periscope:before { + content: "\f3da"; } + +.fa-fulcrum:before { + content: "\f50b"; } + +.fa-cloudscale:before { + content: "\f383"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-mizuni:before { + content: "\f3cc"; } + +.fa-schlix:before { + content: "\f3ea"; } + +.fa-square-xing:before { + content: "\f169"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-cloudversify:before { + content: "\f385"; } + +.fa-usps:before { + content: "\f7e1"; } + +.fa-megaport:before { + content: "\f5a3"; } + +.fa-magento:before { + content: "\f3c4"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-fly:before { + content: "\f417"; } + +.fa-aviato:before { + content: "\f421"; } + +.fa-itunes:before { + content: "\f3b4"; } + +.fa-cuttlefish:before { + content: "\f38c"; } + +.fa-blogger:before { + content: "\f37c"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-viber:before { + content: "\f409"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-letterboxd:before { + content: "\e62d"; } + +.fa-symfony:before { + content: "\f83d"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-facebook-messenger:before { + content: "\f39f"; } + +.fa-audible:before { + content: "\f373"; } + +.fa-think-peaks:before { + content: "\f731"; } + +.fa-bilibili:before { + content: "\e3d9"; } + +.fa-erlang:before { + content: "\f39d"; } + +.fa-x-twitter:before { + content: "\e61b"; } + +.fa-cotton-bureau:before { + content: "\f89e"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-42-group:before { + content: "\e080"; } + +.fa-innosoft:before { + content: "\e080"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-elementor:before { + content: "\f430"; } + +.fa-square-pied-piper:before { + content: "\e01e"; } + +.fa-pied-piper-square:before { + content: "\e01e"; } + +.fa-creative-commons-nd:before { + content: "\f4eb"; } + +.fa-palfed:before { + content: "\f3d8"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-resolving:before { + content: "\f3e7"; } + +.fa-xbox:before { + content: "\f412"; } + +.fa-square-web-awesome-stroke:before { + content: "\e684"; } + +.fa-searchengin:before { + content: "\f3eb"; } + +.fa-tiktok:before { + content: "\e07b"; } + +.fa-square-facebook:before { + content: "\f082"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-linkedin:before { + content: "\f08c"; } + +.fa-hubspot:before { + content: "\f3b2"; } + +.fa-deploydog:before { + content: "\f38e"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-mixer:before { + content: "\e056"; } + +.fa-square-lastfm:before { + content: "\f203"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-vimeo:before { + content: "\f40a"; } + +.fa-mendeley:before { + content: "\f7b3"; } + +.fa-uniregistry:before { + content: "\f404"; } + +.fa-figma:before { + content: "\f799"; } + +.fa-creative-commons-remix:before { + content: "\f4ee"; } + +.fa-cc-amazon-pay:before { + content: "\f42d"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-cmplid:before { + content: "\e360"; } + +.fa-upwork:before { + content: "\e641"; } + +.fa-facebook:before { + content: "\f09a"; } + +.fa-gripfire:before { + content: "\f3ac"; } + +.fa-jedi-order:before { + content: "\f50e"; } + +.fa-uikit:before { + content: "\f403"; } + +.fa-fort-awesome-alt:before { + content: "\f3a3"; } + +.fa-phabricator:before { + content: "\f3db"; } + +.fa-ussunnah:before { + content: "\f407"; } + +.fa-earlybirds:before { + content: "\f39a"; } + +.fa-trade-federation:before { + content: "\f513"; } + +.fa-autoprefixer:before { + content: "\f41c"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-square-upwork:before { + content: "\e67c"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-google-play:before { + content: "\f3ab"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-line:before { + content: "\f3c0"; } + +.fa-google-drive:before { + content: "\f3aa"; } + +.fa-servicestack:before { + content: "\f3ec"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-deezer:before { + content: "\e077"; } + +.fa-raspberry-pi:before { + content: "\f7bb"; } + +.fa-jira:before { + content: "\f7b1"; } + +.fa-docker:before { + content: "\f395"; } + +.fa-screenpal:before { + content: "\e570"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-gitter:before { + content: "\f426"; } + +.fa-d-and-d:before { + content: "\f38d"; } + +.fa-microblog:before { + content: "\e01a"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-pied-piper-hat:before { + content: "\f4e5"; } + +.fa-kickstarter-k:before { + content: "\f3bc"; } + +.fa-yandex:before { + content: "\f413"; } + +.fa-readme:before { + content: "\f4d5"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-square-web-awesome:before { + content: "\e683"; } + +.fa-sass:before { + content: "\f41e"; } + +.fa-wirsindhandwerk:before { + content: "\e2d0"; } + +.fa-wsh:before { + content: "\e2d0"; } + +.fa-buromobelexperte:before { + content: "\f37f"; } + +.fa-salesforce:before { + content: "\f83b"; } + +.fa-octopus-deploy:before { + content: "\e082"; } + +.fa-medapps:before { + content: "\f3c6"; } + +.fa-ns8:before { + content: "\f3d5"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-apper:before { + content: "\f371"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-waze:before { + content: "\f83f"; } + +.fa-bluesky:before { + content: "\e671"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ab"; } + +.fa-fantasy-flight-games:before { + content: "\f6dc"; } + +.fa-rust:before { + content: "\e07a"; } + +.fa-wix:before { + content: "\f5cf"; } + +.fa-square-behance:before { + content: "\f1b5"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-supple:before { + content: "\f3f9"; } + +.fa-webflow:before { + content: "\e65c"; } + +.fa-rebel:before { + content: "\f1d0"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-staylinked:before { + content: "\f3f5"; } + +.fa-kaggle:before { + content: "\f5fa"; } + +.fa-space-awesome:before { + content: "\e5ac"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-cpanel:before { + content: "\f388"; } + +.fa-goodreads-g:before { + content: "\f3a9"; } + +.fa-square-git:before { + content: "\f1d2"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-square-tumblr:before { + content: "\f174"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-perbyte:before { + content: "\e083"; } + +.fa-grunt:before { + content: "\f3ad"; } + +.fa-weebly:before { + content: "\f5cc"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-themeco:before { + content: "\f5c6"; } + +.fa-python:before { + content: "\f3e2"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-bots:before { + content: "\e340"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-hornbill:before { + content: "\f592"; } + +.fa-js:before { + content: "\f3b8"; } + +.fa-ideal:before { + content: "\e013"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-dev:before { + content: "\f6cc"; } + +.fa-sketch:before { + content: "\f7c6"; } + +.fa-yandex-international:before { + content: "\f414"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-uber:before { + content: "\f402"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-php:before { + content: "\f457"; } + +.fa-alipay:before { + content: "\f642"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-firefox-browser:before { + content: "\e007"; } + +.fa-replyd:before { + content: "\f3e6"; } + +.fa-suse:before { + content: "\f7d6"; } + +.fa-jenkins:before { + content: "\f3b6"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-rockrms:before { + content: "\f3e9"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-buffer:before { + content: "\f837"; } + +.fa-npm:before { + content: "\f3d4"; } + +.fa-yammer:before { + content: "\f840"; } + +.fa-btc:before { + content: "\f15a"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-stubber:before { + content: "\e5c7"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-telegram-plane:before { + content: "\f2c6"; } + +.fa-old-republic:before { + content: "\f510"; } + +.fa-odysee:before { + content: "\e5c6"; } + +.fa-square-whatsapp:before { + content: "\f40c"; } + +.fa-whatsapp-square:before { + content: "\f40c"; } + +.fa-node-js:before { + content: "\f3d3"; } + +.fa-edge-legacy:before { + content: "\e078"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-slack-hash:before { + content: "\f198"; } + +.fa-medrt:before { + content: "\f3c8"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-vaadin:before { + content: "\f408"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-square-x-twitter:before { + content: "\e61a"; } + +.fa-reacteurope:before { + content: "\f75d"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-m:before { + content: "\f23a"; } + +.fa-amilia:before { + content: "\f36d"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-flipboard:before { + content: "\f44d"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-critical-role:before { + content: "\f6c9"; } + +.fa-sitrox:before { + content: "\e44a"; } + +.fa-discourse:before { + content: "\f393"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-mastodon:before { + content: "\f4f6"; } + +.fa-airbnb:before { + content: "\f834"; } + +.fa-wolf-pack-battalion:before { + content: "\f514"; } + +.fa-buy-n-large:before { + content: "\f8a6"; } + +.fa-gulp:before { + content: "\f3ae"; } + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; } + +.fa-strava:before { + content: "\f428"; } + +.fa-ember:before { + content: "\f423"; } + +.fa-canadian-maple-leaf:before { + content: "\f785"; } + +.fa-teamspeak:before { + content: "\f4f9"; } + +.fa-pushed:before { + content: "\f3e1"; } + +.fa-wordpress-simple:before { + content: "\f411"; } + +.fa-nutritionix:before { + content: "\f3d6"; } + +.fa-wodu:before { + content: "\e088"; } + +.fa-google-pay:before { + content: "\e079"; } + +.fa-intercom:before { + content: "\f7af"; } + +.fa-zhihu:before { + content: "\f63f"; } + +.fa-korvue:before { + content: "\f42f"; } + +.fa-pix:before { + content: "\e43a"; } + +.fa-steam-symbol:before { + content: "\f3f6"; } +:root, :host { + --fa-style-family-classic: 'Font Awesome 6 Free'; + --fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free'; } + +@font-face { + font-family: 'Font Awesome 6 Free'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } + +.far, +.fa-regular { + font-weight: 400; } +:root, :host { + --fa-style-family-classic: 'Font Awesome 6 Free'; + --fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free'; } + +@font-face { + font-family: 'Font Awesome 6 Free'; + font-style: normal; + font-weight: 900; + font-display: block; + src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } + +.fas, +.fa-solid { + font-weight: 900; } +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-display: block; + font-weight: 400; + src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } + +@font-face { + font-family: 'Font Awesome 5 Free'; + font-display: block; + font-weight: 900; + src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } + +@font-face { + font-family: 'Font Awesome 5 Free'; + font-display: block; + font-weight: 400; + src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } +@font-face { + font-family: 'FontAwesome'; + font-display: block; + src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } + +@font-face { + font-family: 'FontAwesome'; + font-display: block; + src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } + +@font-face { + font-family: 'FontAwesome'; + font-display: block; + src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } + +@font-face { + font-family: 'FontAwesome'; + font-display: block; + src: url("../webfonts/fa-v4compatibility.woff2") format("woff2"), url("../webfonts/fa-v4compatibility.ttf") format("truetype"); } diff --git a/docs/deps/font-awesome-6.5.2/css/all.min.css b/docs/deps/font-awesome-6.5.2/css/all.min.css new file mode 100644 index 0000000..269bcee --- /dev/null +++ b/docs/deps/font-awesome-6.5.2/css/all.min.css @@ -0,0 +1,9 @@ +/*! + * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2024 Fonticons, Inc. + */ +.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,0));transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)} + +.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-fill-drip:before{content:"\f576"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-at:before{content:"\40"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-text-height:before{content:"\f034"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-stethoscope:before{content:"\f0f1"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-info:before{content:"\f129"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-explosion:before{content:"\e4e9"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-wave-square:before{content:"\f83e"}.fa-ring:before{content:"\f70b"}.fa-building-un:before{content:"\e4d9"}.fa-dice-three:before{content:"\f527"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-door-open:before{content:"\f52b"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-atom:before{content:"\f5d2"}.fa-soap:before{content:"\e06e"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-pump-medical:before{content:"\e06a"}.fa-fingerprint:before{content:"\f577"}.fa-hand-point-right:before{content:"\f0a4"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-flag-checkered:before{content:"\f11e"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-crop:before{content:"\f125"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-users-rectangle:before{content:"\e594"}.fa-people-roof:before{content:"\e537"}.fa-people-line:before{content:"\e534"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-diagram-predecessor:before{content:"\e477"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-laptop:before{content:"\f109"}.fa-file-csv:before{content:"\f6dd"}.fa-menorah:before{content:"\f676"}.fa-truck-plane:before{content:"\e58f"}.fa-record-vinyl:before{content:"\f8d9"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-bong:before{content:"\f55c"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-jar-wheat:before{content:"\e517"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-pager:before{content:"\f815"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-strikethrough:before{content:"\f0cc"}.fa-k:before{content:"\4b"}.fa-landmark-flag:before{content:"\e51c"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-backward:before{content:"\f04a"}.fa-caret-right:before{content:"\f0da"}.fa-comments:before{content:"\f086"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-code-pull-request:before{content:"\e13c"}.fa-clipboard-list:before{content:"\f46d"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-user-check:before{content:"\f4fc"}.fa-vial-virus:before{content:"\e597"}.fa-sheet-plastic:before{content:"\e571"}.fa-blog:before{content:"\f781"}.fa-user-ninja:before{content:"\f504"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-toggle-off:before{content:"\f204"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-person-drowning:before{content:"\e545"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-spray-can:before{content:"\f5bd"}.fa-truck-monster:before{content:"\f63b"}.fa-w:before{content:"\57"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-rainbow:before{content:"\f75b"}.fa-circle-notch:before{content:"\f1ce"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-paw:before{content:"\f1b0"}.fa-cloud:before{content:"\f0c2"}.fa-trowel-bricks:before{content:"\e58a"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-hospital-user:before{content:"\f80d"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-binoculars:before{content:"\f1e5"}.fa-microphone-slash:before{content:"\f131"}.fa-box-tissue:before{content:"\e05b"}.fa-motorcycle:before{content:"\f21c"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-toilets-portable:before{content:"\e584"}.fa-hockey-puck:before{content:"\f453"}.fa-table:before{content:"\f0ce"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-users-slash:before{content:"\e073"}.fa-clover:before{content:"\e139"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-star-and-crescent:before{content:"\f699"}.fa-house-fire:before{content:"\e50c"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-helicopter:before{content:"\f533"}.fa-compass:before{content:"\f14e"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-file-circle-question:before{content:"\e4ef"}.fa-laptop-code:before{content:"\f5fc"}.fa-swatchbook:before{content:"\f5c3"}.fa-prescription-bottle:before{content:"\f485"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-people-group:before{content:"\e533"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-film:before{content:"\f008"}.fa-ruler-horizontal:before{content:"\f547"}.fa-people-robbery:before{content:"\e536"}.fa-lightbulb:before{content:"\f0eb"}.fa-caret-left:before{content:"\f0d9"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-sitemap:before{content:"\f0e8"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-memory:before{content:"\f538"}.fa-road-spikes:before{content:"\e568"}.fa-fire-burner:before{content:"\e4f1"}.fa-flag:before{content:"\f024"}.fa-hanukiah:before{content:"\f6e6"}.fa-feather:before{content:"\f52d"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-comment-slash:before{content:"\f4b3"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-compress:before{content:"\f066"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-ankh:before{content:"\f644"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-asterisk:before{content:"\2a"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-peseta-sign:before{content:"\e221"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-ghost:before{content:"\f6e2"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-cart-plus:before{content:"\f217"}.fa-gamepad:before{content:"\f11b"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-egg:before{content:"\f7fb"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-campground:before{content:"\f6bb"}.fa-folder-plus:before{content:"\f65e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-lock:before{content:"\f023"}.fa-gas-pump:before{content:"\f52f"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-house-flood-water:before{content:"\e50e"}.fa-tree:before{content:"\f1bb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-sack-dollar:before{content:"\f81d"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-car-side:before{content:"\f5e4"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-microscope:before{content:"\f610"}.fa-sink:before{content:"\e06d"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-mitten:before{content:"\f7b5"}.fa-person-rays:before{content:"\e54d"}.fa-users:before{content:"\f0c0"}.fa-eye-slash:before{content:"\f070"}.fa-flask-vial:before{content:"\e4f3"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-om:before{content:"\f679"}.fa-worm:before{content:"\e599"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-plug:before{content:"\f1e6"}.fa-chevron-up:before{content:"\f077"}.fa-hand-spock:before{content:"\f259"}.fa-stopwatch:before{content:"\f2f2"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-chess-bishop:before{content:"\f43a"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-road-circle-check:before{content:"\e564"}.fa-dice-five:before{content:"\f523"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-land-mine-on:before{content:"\e51b"}.fa-i-cursor:before{content:"\f246"}.fa-stamp:before{content:"\f5bf"}.fa-stairs:before{content:"\e289"}.fa-i:before{content:"\49"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-pills:before{content:"\f484"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-tooth:before{content:"\f5c9"}.fa-v:before{content:"\56"}.fa-bangladeshi-taka-sign:before{content:"\e2e6"}.fa-bicycle:before{content:"\f206"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-snowman:before{content:"\f7d0"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-road-barrier:before{content:"\e562"}.fa-school:before{content:"\f549"}.fa-igloo:before{content:"\f7ae"}.fa-joint:before{content:"\f595"}.fa-angle-right:before{content:"\f105"}.fa-horse:before{content:"\f6f0"}.fa-q:before{content:"\51"}.fa-g:before{content:"\47"}.fa-notes-medical:before{content:"\f481"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-dong-sign:before{content:"\e169"}.fa-capsules:before{content:"\f46b"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-hand-point-up:before{content:"\f0a6"}.fa-money-bill:before{content:"\f0d6"}.fa-bookmark:before{content:"\f02e"}.fa-align-justify:before{content:"\f039"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-helmet-un:before{content:"\e503"}.fa-bullseye:before{content:"\f140"}.fa-bacon:before{content:"\f7e5"}.fa-hand-point-down:before{content:"\f0a7"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-radiation:before{content:"\f7b9"}.fa-chart-simple:before{content:"\e473"}.fa-mars-stroke:before{content:"\f229"}.fa-vial:before{content:"\f492"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-e:before{content:"\45"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-user:before{content:"\f007"}.fa-school-circle-check:before{content:"\e56b"}.fa-dumpster:before{content:"\f793"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-building-user:before{content:"\e4da"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-highlighter:before{content:"\f591"}.fa-key:before{content:"\f084"}.fa-bullhorn:before{content:"\f0a1"}.fa-globe:before{content:"\f0ac"}.fa-synagogue:before{content:"\f69b"}.fa-person-half-dress:before{content:"\e548"}.fa-road-bridge:before{content:"\e563"}.fa-location-arrow:before{content:"\f124"}.fa-c:before{content:"\43"}.fa-tablet-button:before{content:"\f10a"}.fa-building-lock:before{content:"\e4d6"}.fa-pizza-slice:before{content:"\f818"}.fa-money-bill-wave:before{content:"\f53a"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-house-flag:before{content:"\e50d"}.fa-person-circle-minus:before{content:"\e540"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-camera-rotate:before{content:"\e0d8"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-star:before{content:"\f005"}.fa-repeat:before{content:"\f363"}.fa-cross:before{content:"\f654"}.fa-box:before{content:"\f466"}.fa-venus-mars:before{content:"\f228"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-charging-station:before{content:"\f5e7"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-mobile-retro:before{content:"\e527"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-spider:before{content:"\f717"}.fa-hands-bound:before{content:"\e4f9"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-x-ray:before{content:"\f497"}.fa-spell-check:before{content:"\f891"}.fa-slash:before{content:"\f715"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-server:before{content:"\f233"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-shop-lock:before{content:"\e4a5"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-blender-phone:before{content:"\f6b6"}.fa-building-wheat:before{content:"\e4db"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-venus:before{content:"\f221"}.fa-passport:before{content:"\f5ab"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-temperature-high:before{content:"\f769"}.fa-microchip:before{content:"\f2db"}.fa-crown:before{content:"\f521"}.fa-weight-hanging:before{content:"\f5cd"}.fa-xmarks-lines:before{content:"\e59a"}.fa-file-prescription:before{content:"\f572"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-chess-knight:before{content:"\f441"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-wheelchair:before{content:"\f193"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-toggle-on:before{content:"\f205"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-l:before{content:"\4c"}.fa-fire:before{content:"\f06d"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-folder-open:before{content:"\f07c"}.fa-heart-circle-plus:before{content:"\e500"}.fa-code-fork:before{content:"\e13b"}.fa-city:before{content:"\f64f"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-pepper-hot:before{content:"\f816"}.fa-unlock:before{content:"\f09c"}.fa-colon-sign:before{content:"\e140"}.fa-headset:before{content:"\f590"}.fa-store-slash:before{content:"\e071"}.fa-road-circle-xmark:before{content:"\e566"}.fa-user-minus:before{content:"\f503"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-clipboard:before{content:"\f328"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-underline:before{content:"\f0cd"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-signature:before{content:"\f5b7"}.fa-stroopwafel:before{content:"\f551"}.fa-bold:before{content:"\f032"}.fa-anchor-lock:before{content:"\e4ad"}.fa-building-ngo:before{content:"\e4d7"}.fa-manat-sign:before{content:"\e1d5"}.fa-not-equal:before{content:"\f53e"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-jedi:before{content:"\f669"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-mug-hot:before{content:"\f7b6"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-gift:before{content:"\f06b"}.fa-dice-two:before{content:"\f528"}.fa-chess-queen:before{content:"\f445"}.fa-glasses:before{content:"\f530"}.fa-chess-board:before{content:"\f43c"}.fa-building-circle-check:before{content:"\e4d2"}.fa-person-chalkboard:before{content:"\e53d"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-less-than-equal:before{content:"\f537"}.fa-train:before{content:"\f238"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-crow:before{content:"\f520"}.fa-sailboat:before{content:"\e445"}.fa-window-restore:before{content:"\f2d2"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-torii-gate:before{content:"\f6a1"}.fa-frog:before{content:"\f52e"}.fa-bucket:before{content:"\e4cf"}.fa-image:before{content:"\f03e"}.fa-microphone:before{content:"\f130"}.fa-cow:before{content:"\f6c8"}.fa-caret-up:before{content:"\f0d8"}.fa-screwdriver:before{content:"\f54a"}.fa-folder-closed:before{content:"\e185"}.fa-house-tsunami:before{content:"\e515"}.fa-square-nfi:before{content:"\e576"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-lemon:before{content:"\f094"}.fa-head-side-mask:before{content:"\e063"}.fa-handshake:before{content:"\f2b5"}.fa-gem:before{content:"\f3a5"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-smoking:before{content:"\f48d"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-monument:before{content:"\f5a6"}.fa-snowplow:before{content:"\f7d2"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-cannabis:before{content:"\f55f"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-tablets:before{content:"\f490"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-chair:before{content:"\f6c0"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-plate-wheat:before{content:"\e55a"}.fa-icicles:before{content:"\f7ad"}.fa-person-shelter:before{content:"\e54f"}.fa-neuter:before{content:"\f22c"}.fa-id-badge:before{content:"\f2c1"}.fa-marker:before{content:"\f5a1"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-helicopter-symbol:before{content:"\e502"}.fa-universal-access:before{content:"\f29a"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-lari-sign:before{content:"\e1c8"}.fa-volcano:before{content:"\f770"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-viruses:before{content:"\e076"}.fa-square-person-confined:before{content:"\e577"}.fa-user-tie:before{content:"\f508"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-certificate:before{content:"\f0a3"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-suitcase:before{content:"\f0f2"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-camera-retro:before{content:"\f083"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-box-open:before{content:"\f49e"}.fa-scroll:before{content:"\f70e"}.fa-spa:before{content:"\f5bb"}.fa-location-pin-lock:before{content:"\e51f"}.fa-pause:before{content:"\f04c"}.fa-hill-avalanche:before{content:"\e507"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-bomb:before{content:"\f1e2"}.fa-registered:before{content:"\f25d"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-subscript:before{content:"\f12c"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-burst:before{content:"\e4dc"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-money-bills:before{content:"\e1f3"}.fa-smog:before{content:"\f75f"}.fa-crutch:before{content:"\f7f7"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-palette:before{content:"\f53f"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-vest:before{content:"\e085"}.fa-ferry:before{content:"\e4ea"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-boxes-packing:before{content:"\e4c7"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-bowl-food:before{content:"\e4c6"}.fa-candy-cane:before{content:"\f786"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-file-word:before{content:"\f1c2"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-house-lock:before{content:"\e510"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-children:before{content:"\e4e1"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-envelope-open:before{content:"\f2b6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-mattress-pillow:before{content:"\e525"}.fa-guarani-sign:before{content:"\e19a"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-fire-extinguisher:before{content:"\f134"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-greater-than-equal:before{content:"\f532"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-virus:before{content:"\e074"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-layer-group:before{content:"\f5fd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-archway:before{content:"\f557"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-square:before{content:"\f0c8"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-couch:before{content:"\f4b8"}.fa-cedi-sign:before{content:"\e0df"}.fa-italic:before{content:"\f033"}.fa-table-cells-column-lock:before{content:"\e678"}.fa-church:before{content:"\f51d"}.fa-comments-dollar:before{content:"\f653"}.fa-democrat:before{content:"\f747"}.fa-z:before{content:"\5a"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-road-lock:before{content:"\e567"}.fa-a:before{content:"\41"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-p:before{content:"\50"}.fa-snowflake:before{content:"\f2dc"}.fa-newspaper:before{content:"\f1ea"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-locust:before{content:"\e520"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-person-dress-burst:before{content:"\e544"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-vector-square:before{content:"\f5cb"}.fa-bread-slice:before{content:"\f7ec"}.fa-language:before{content:"\f1ab"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-filter:before{content:"\f0b0"}.fa-question:before{content:"\3f"}.fa-file-signature:before{content:"\f573"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-house-chimney-user:before{content:"\e065"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-puzzle-piece:before{content:"\f12e"}.fa-money-check:before{content:"\f53c"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-code:before{content:"\f121"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-virus-covid:before{content:"\e4a8"}.fa-austral-sign:before{content:"\e0a9"}.fa-f:before{content:"\46"}.fa-leaf:before{content:"\f06c"}.fa-road:before{content:"\f018"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-person-circle-plus:before{content:"\e541"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-sack-xmark:before{content:"\e56a"}.fa-file-excel:before{content:"\f1c3"}.fa-file-contract:before{content:"\f56c"}.fa-fish-fins:before{content:"\e4f2"}.fa-building-flag:before{content:"\e4d5"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-object-ungroup:before{content:"\f248"}.fa-poop:before{content:"\f619"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-kaaba:before{content:"\f66b"}.fa-toilet-paper:before{content:"\f71e"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-eject:before{content:"\f052"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-plane-circle-check:before{content:"\e555"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-object-group:before{content:"\f247"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-mask-ventilator:before{content:"\e524"}.fa-arrow-right:before{content:"\f061"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-cash-register:before{content:"\f788"}.fa-person-circle-question:before{content:"\e542"}.fa-h:before{content:"\48"}.fa-tarp:before{content:"\e57b"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-heart:before{content:"\f004"}.fa-mars-and-venus:before{content:"\f224"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-dumpster-fire:before{content:"\f794"}.fa-house-crack:before{content:"\e3b1"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-bottle-water:before{content:"\e4c5"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-kitchen-set:before{content:"\e51a"}.fa-r:before{content:"\52"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-cube:before{content:"\f1b2"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-shield-dog:before{content:"\e573"}.fa-solar-panel:before{content:"\f5ba"}.fa-lock-open:before{content:"\f3c1"}.fa-elevator:before{content:"\e16d"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-circle:before{content:"\f111"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-recycle:before{content:"\f1b8"}.fa-user-astronaut:before{content:"\f4fb"}.fa-plane-slash:before{content:"\e069"}.fa-trademark:before{content:"\f25c"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-satellite-dish:before{content:"\f7c0"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-users-rays:before{content:"\e593"}.fa-wallet:before{content:"\f555"}.fa-clipboard-check:before{content:"\f46c"}.fa-file-audio:before{content:"\f1c7"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-wrench:before{content:"\f0ad"}.fa-bugs:before{content:"\e4d0"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-file-image:before{content:"\f1c5"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-plane-departure:before{content:"\f5b0"}.fa-handshake-slash:before{content:"\e060"}.fa-book-bookmark:before{content:"\e0bb"}.fa-code-branch:before{content:"\f126"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-bridge:before{content:"\e4c8"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-truck-front:before{content:"\e2b7"}.fa-cat:before{content:"\f6be"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-truck-field:before{content:"\e58d"}.fa-route:before{content:"\f4d7"}.fa-clipboard-question:before{content:"\e4e3"}.fa-panorama:before{content:"\e209"}.fa-comment-medical:before{content:"\f7f5"}.fa-teeth-open:before{content:"\f62f"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-tags:before{content:"\f02c"}.fa-wine-glass:before{content:"\f4e3"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-house-signal:before{content:"\e012"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-faucet-drip:before{content:"\e006"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-terminal:before{content:"\f120"}.fa-mobile-button:before{content:"\f10b"}.fa-house-medical-flag:before{content:"\e514"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-tape:before{content:"\f4db"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-eye:before{content:"\f06e"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-audio-description:before{content:"\f29e"}.fa-person-military-to-person:before{content:"\e54c"}.fa-file-shield:before{content:"\e4f0"}.fa-user-slash:before{content:"\f506"}.fa-pen:before{content:"\f304"}.fa-tower-observation:before{content:"\e586"}.fa-file-code:before{content:"\f1c9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-bus:before{content:"\f207"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-window-maximize:before{content:"\f2d0"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-prescription:before{content:"\f5b1"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-vihara:before{content:"\f6a7"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-plant-wilt:before{content:"\e5aa"}.fa-diamond:before{content:"\f219"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-bacterium:before{content:"\e05a"}.fa-hand-pointer:before{content:"\f25a"}.fa-drum-steelpan:before{content:"\f56a"}.fa-hand-scissors:before{content:"\f257"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-biohazard:before{content:"\f780"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-mars-double:before{content:"\f227"}.fa-child-dress:before{content:"\e59c"}.fa-users-between-lines:before{content:"\e591"}.fa-lungs-virus:before{content:"\e067"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-phone:before{content:"\f095"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-child-reaching:before{content:"\e59d"}.fa-head-side-virus:before{content:"\e064"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-door-closed:before{content:"\f52a"}.fa-shield-virus:before{content:"\e06c"}.fa-dice-six:before{content:"\f526"}.fa-mosquito-net:before{content:"\e52c"}.fa-bridge-water:before{content:"\e4ce"}.fa-person-booth:before{content:"\f756"}.fa-text-width:before{content:"\f035"}.fa-hat-wizard:before{content:"\f6e8"}.fa-pen-fancy:before{content:"\f5ac"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-trash:before{content:"\f1f8"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-book-medical:before{content:"\f7e6"}.fa-poo:before{content:"\f2fe"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-cubes:before{content:"\f1b3"}.fa-divide:before{content:"\f529"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-headphones:before{content:"\f025"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-clapping:before{content:"\e1a8"}.fa-republican:before{content:"\f75e"}.fa-arrow-left:before{content:"\f060"}.fa-person-circle-xmark:before{content:"\e543"}.fa-ruler:before{content:"\f545"}.fa-align-left:before{content:"\f036"}.fa-dice-d6:before{content:"\f6d1"}.fa-restroom:before{content:"\f7bd"}.fa-j:before{content:"\4a"}.fa-users-viewfinder:before{content:"\e595"}.fa-file-video:before{content:"\f1c8"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-file-pdf:before{content:"\f1c1"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-o:before{content:"\4f"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-user-secret:before{content:"\f21b"}.fa-otter:before{content:"\f700"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-comment-dollar:before{content:"\f651"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-clipboard-user:before{content:"\f7f3"}.fa-child:before{content:"\f1ae"}.fa-lira-sign:before{content:"\f195"}.fa-satellite:before{content:"\f7bf"}.fa-plane-lock:before{content:"\e558"}.fa-tag:before{content:"\f02b"}.fa-comment:before{content:"\f075"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-envelope:before{content:"\f0e0"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-paperclip:before{content:"\f0c6"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-ribbon:before{content:"\f4d6"}.fa-lungs:before{content:"\f604"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-border-none:before{content:"\f850"}.fa-circle-nodes:before{content:"\e4e2"}.fa-parachute-box:before{content:"\f4cd"}.fa-indent:before{content:"\f03c"}.fa-truck-field-un:before{content:"\e58e"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-mountain:before{content:"\f6fc"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-cloud-meatball:before{content:"\f73b"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-square-virus:before{content:"\e578"}.fa-meteor:before{content:"\f753"}.fa-car-on:before{content:"\e4dd"}.fa-sleigh:before{content:"\f7cc"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-water:before{content:"\f773"}.fa-calendar-check:before{content:"\f274"}.fa-braille:before{content:"\f2a1"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-landmark:before{content:"\f66f"}.fa-truck:before{content:"\f0d1"}.fa-crosshairs:before{content:"\f05b"}.fa-person-cane:before{content:"\e53c"}.fa-tent:before{content:"\e57d"}.fa-vest-patches:before{content:"\e086"}.fa-check-double:before{content:"\f560"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-cookie:before{content:"\f563"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-dumbbell:before{content:"\f44b"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-tarp-droplet:before{content:"\e57c"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-calendar-plus:before{content:"\f271"}.fa-plane-arrival:before{content:"\f5af"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-chart-gantt:before{content:"\e0e4"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-dna:before{content:"\f471"}.fa-virus-slash:before{content:"\e075"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-chess:before{content:"\f439"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-plug-circle-check:before{content:"\e55c"}.fa-street-view:before{content:"\f21d"}.fa-franc-sign:before{content:"\e18f"}.fa-volume-off:before{content:"\f026"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-star-of-david:before{content:"\f69a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-vials:before{content:"\f493"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-place-of-worship:before{content:"\f67f"}.fa-grip-vertical:before{content:"\f58e"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-u:before{content:"\55"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-pallet:before{content:"\f482"}.fa-faucet:before{content:"\e005"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-s:before{content:"\53"}.fa-timeline:before{content:"\e29c"}.fa-keyboard:before{content:"\f11c"}.fa-caret-down:before{content:"\f0d7"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-plane-up:before{content:"\e22d"}.fa-piggy-bank:before{content:"\f4d3"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-mountain-city:before{content:"\e52e"}.fa-coins:before{content:"\f51e"}.fa-khanda:before{content:"\f66d"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-folder-tree:before{content:"\f802"}.fa-network-wired:before{content:"\f6ff"}.fa-map-pin:before{content:"\f276"}.fa-hamsa:before{content:"\f665"}.fa-cent-sign:before{content:"\e3f5"}.fa-flask:before{content:"\f0c3"}.fa-person-pregnant:before{content:"\e31e"}.fa-wand-sparkles:before{content:"\f72b"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-ticket:before{content:"\f145"}.fa-power-off:before{content:"\f011"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-flag-usa:before{content:"\f74d"}.fa-laptop-file:before{content:"\e51d"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-diagram-next:before{content:"\e476"}.fa-person-rifle:before{content:"\e54e"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-closed-captioning:before{content:"\f20a"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-venus-double:before{content:"\f226"}.fa-images:before{content:"\f302"}.fa-calculator:before{content:"\f1ec"}.fa-people-pulling:before{content:"\e535"}.fa-n:before{content:"\4e"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-cloud-rain:before{content:"\f73d"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-ship:before{content:"\f21a"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-download:before{content:"\f019"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-file-circle-check:before{content:"\e5a0"}.fa-forward:before{content:"\f04e"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-align-center:before{content:"\f037"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-calendar-week:before{content:"\f784"}.fa-laptop-medical:before{content:"\f812"}.fa-b:before{content:"\42"}.fa-file-medical:before{content:"\f477"}.fa-dice-one:before{content:"\f525"}.fa-kiwi-bird:before{content:"\f535"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-mill-sign:before{content:"\e1ed"}.fa-bowl-rice:before{content:"\e2eb"}.fa-skull:before{content:"\f54c"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-truck-pickup:before{content:"\f63c"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-stop:before{content:"\f04d"}.fa-code-merge:before{content:"\f387"}.fa-upload:before{content:"\f093"}.fa-hurricane:before{content:"\f751"}.fa-mound:before{content:"\e52d"}.fa-toilet-portable:before{content:"\e583"}.fa-compact-disc:before{content:"\f51f"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-caravan:before{content:"\f8ff"}.fa-shield-cat:before{content:"\e572"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-glass-water:before{content:"\e4f4"}.fa-oil-well:before{content:"\e532"}.fa-vault:before{content:"\e2c5"}.fa-mars:before{content:"\f222"}.fa-toilet:before{content:"\f7d8"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-sun:before{content:"\f185"}.fa-guitar:before{content:"\f7a6"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-horse-head:before{content:"\f7ab"}.fa-bore-hole:before{content:"\e4c3"}.fa-industry:before{content:"\f275"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-florin-sign:before{content:"\e184"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-less-than:before{content:"\3c"}.fa-angle-down:before{content:"\f107"}.fa-car-tunnel:before{content:"\e4de"}.fa-head-side-cough:before{content:"\e061"}.fa-grip-lines:before{content:"\f7a4"}.fa-thumbs-down:before{content:"\f165"}.fa-user-lock:before{content:"\f502"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-chess-pawn:before{content:"\f443"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-person-through-window:before{content:"\e5a9"}.fa-toolbox:before{content:"\f552"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-bug:before{content:"\f188"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-mountain-sun:before{content:"\e52f"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-dice-d20:before{content:"\f6cf"}.fa-truck-droplet:before{content:"\e58c"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-medal:before{content:"\f5a2"}.fa-bed:before{content:"\f236"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-podcast:before{content:"\f2ce"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-bell:before{content:"\f0f3"}.fa-superscript:before{content:"\f12b"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-star-of-life:before{content:"\f621"}.fa-phone-slash:before{content:"\f3dd"}.fa-paint-roller:before{content:"\f5aa"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-file:before{content:"\f15b"}.fa-greater-than:before{content:"\3e"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-arrow-down:before{content:"\f063"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-eraser:before{content:"\f12d"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-person-burst:before{content:"\e53b"}.fa-dove:before{content:"\f4ba"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-socks:before{content:"\f696"}.fa-inbox:before{content:"\f01c"}.fa-section:before{content:"\e447"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-envelope-open-text:before{content:"\f658"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-wine-bottle:before{content:"\f72f"}.fa-chess-rook:before{content:"\f447"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-dharmachakra:before{content:"\f655"}.fa-hotdog:before{content:"\f80f"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-drum:before{content:"\f569"}.fa-ice-cream:before{content:"\f810"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-fax:before{content:"\f1ac"}.fa-paragraph:before{content:"\f1dd"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-star-half:before{content:"\f089"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-tree-city:before{content:"\e587"}.fa-play:before{content:"\f04b"}.fa-font:before{content:"\f031"}.fa-table-cells-row-lock:before{content:"\e67a"}.fa-rupiah-sign:before{content:"\e23d"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-naira-sign:before{content:"\e1f6"}.fa-cart-arrow-down:before{content:"\f218"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-receipt:before{content:"\f543"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-chevron-down:before{content:"\f078"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-skull-crossbones:before{content:"\f714"}.fa-code-compare:before{content:"\e13a"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-school-lock:before{content:"\e56f"}.fa-tower-cell:before{content:"\e585"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-ranking-star:before{content:"\e561"}.fa-chess-king:before{content:"\f43f"}.fa-person-harassing:before{content:"\e549"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-arrow-up:before{content:"\f062"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-shrimp:before{content:"\e448"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-jug-detergent:before{content:"\e519"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-user-shield:before{content:"\f505"}.fa-wind:before{content:"\f72e"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-y:before{content:"\59"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-fish:before{content:"\f578"}.fa-user-graduate:before{content:"\f501"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-clapperboard:before{content:"\e131"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-jet-fighter-up:before{content:"\e518"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-copy:before{content:"\f0c5"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-hand-sparkles:before{content:"\e05d"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-child-combatant:before,.fa-child-rifle:before{content:"\e4e0"}.fa-gun:before{content:"\e19b"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-expand:before{content:"\f065"}.fa-computer:before{content:"\e4e5"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-peso-sign:before{content:"\e222"}.fa-building-shield:before{content:"\e4d8"}.fa-baby:before{content:"\f77c"}.fa-users-line:before{content:"\e592"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-tractor:before{content:"\f722"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-lines-leaning:before{content:"\e51e"}.fa-ruler-combined:before{content:"\f546"}.fa-copyright:before{content:"\f1f9"}.fa-equals:before{content:"\3d"}.fa-blender:before{content:"\f517"}.fa-teeth:before{content:"\f62e"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-map:before{content:"\f279"}.fa-rocket:before{content:"\f135"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-folder-minus:before{content:"\f65d"}.fa-store:before{content:"\f54e"}.fa-arrow-trend-up:before{content:"\e098"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-bezier-curve:before{content:"\f55b"}.fa-bell-slash:before{content:"\f1f6"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-school-flag:before{content:"\e56e"}.fa-fill:before{content:"\f575"}.fa-angle-up:before{content:"\f106"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-holly-berry:before{content:"\f7aa"}.fa-chevron-left:before{content:"\f053"}.fa-bacteria:before{content:"\e059"}.fa-hand-lizard:before{content:"\f258"}.fa-notdef:before{content:"\e1fe"}.fa-disease:before{content:"\f7fa"}.fa-briefcase-medical:before{content:"\f469"}.fa-genderless:before{content:"\f22d"}.fa-chevron-right:before{content:"\f054"}.fa-retweet:before{content:"\f079"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-pump-soap:before{content:"\e06b"}.fa-video-slash:before{content:"\f4e2"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-radio:before{content:"\f8d7"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-traffic-light:before{content:"\f637"}.fa-thermometer:before{content:"\f491"}.fa-vr-cardboard:before{content:"\f729"}.fa-hand-middle-finger:before{content:"\f806"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-truck-moving:before{content:"\f4df"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-display:before{content:"\e163"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-trophy:before{content:"\f091"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-hammer:before{content:"\f6e3"}.fa-hand-peace:before{content:"\f25b"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-spinner:before{content:"\f110"}.fa-robot:before{content:"\f544"}.fa-peace:before{content:"\f67c"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-warehouse:before{content:"\f494"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-splotch:before{content:"\f5bc"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-dice-four:before{content:"\f524"}.fa-sim-card:before{content:"\f7c4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-mercury:before{content:"\f223"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-person-falling-burst:before{content:"\e547"}.fa-award:before{content:"\f559"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-building:before{content:"\f1ad"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-qrcode:before{content:"\f029"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-house-medical:before{content:"\e3b2"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-house-chimney-window:before{content:"\e00d"}.fa-pen-nib:before{content:"\f5ad"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tents:before{content:"\e582"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-dog:before{content:"\f6d3"}.fa-carrot:before{content:"\f787"}.fa-moon:before{content:"\f186"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-cheese:before{content:"\f7ef"}.fa-yin-yang:before{content:"\f6ad"}.fa-music:before{content:"\f001"}.fa-code-commit:before{content:"\f386"}.fa-temperature-low:before{content:"\f76b"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-broom:before{content:"\f51a"}.fa-shield-heart:before{content:"\e574"}.fa-gopuram:before{content:"\f664"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-hashtag:before{content:"\23"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-oil-can:before{content:"\f613"}.fa-t:before{content:"\54"}.fa-hippo:before{content:"\f6ed"}.fa-chart-column:before{content:"\e0e3"}.fa-infinity:before{content:"\f534"}.fa-vial-circle-check:before{content:"\e596"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-voicemail:before{content:"\f897"}.fa-fan:before{content:"\f863"}.fa-person-walking-luggage:before{content:"\e554"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-calendar:before{content:"\f133"}.fa-trailer:before{content:"\e041"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-sd-card:before{content:"\f7c2"}.fa-dragon:before{content:"\f6d5"}.fa-shoe-prints:before{content:"\f54b"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-hand-holding:before{content:"\f4bd"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-clone:before{content:"\f24d"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-tornado:before{content:"\f76f"}.fa-file-circle-plus:before{content:"\e494"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-anchor:before{content:"\f13d"}.fa-border-all:before{content:"\f84c"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-cookie-bite:before{content:"\f564"}.fa-arrow-trend-down:before{content:"\e097"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-draw-polygon:before{content:"\f5ee"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-shower:before{content:"\f2cc"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-m:before{content:"\4d"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-book:before{content:"\f02d"}.fa-user-plus:before{content:"\f234"}.fa-check:before{content:"\f00c"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-house-circle-check:before{content:"\e509"}.fa-angle-left:before{content:"\f104"}.fa-diagram-successor:before{content:"\e47a"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-cloud-moon:before{content:"\f6c3"}.fa-briefcase:before{content:"\f0b1"}.fa-person-falling:before{content:"\e546"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-user-tag:before{content:"\f507"}.fa-rug:before{content:"\e569"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-baht-sign:before{content:"\e0ac"}.fa-book-open:before{content:"\f518"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-handcuffs:before{content:"\e4f8"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-database:before{content:"\f1c0"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-mask-face:before{content:"\e1d7"}.fa-hill-rockslide:before{content:"\e508"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-paper-plane:before{content:"\f1d8"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-dungeon:before{content:"\f6d9"}.fa-align-right:before{content:"\f038"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-life-ring:before{content:"\f1cd"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-calendar-day:before{content:"\f783"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-dice:before{content:"\f522"}.fa-bowling-ball:before{content:"\f436"}.fa-brain:before{content:"\f5dc"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-calendar-minus:before{content:"\f272"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-gifts:before{content:"\f79c"}.fa-hotel:before{content:"\f594"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-thumbs-up:before{content:"\f164"}.fa-user-clock:before{content:"\f4fd"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-file-invoice:before{content:"\f570"}.fa-window-minimize:before{content:"\f2d1"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-brush:before{content:"\f55d"}.fa-mask:before{content:"\f6fa"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-ruler-vertical:before{content:"\f548"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-train-tram:before{content:"\e5b4"}.fa-user-nurse:before{content:"\f82f"}.fa-syringe:before{content:"\f48e"}.fa-cloud-sun:before{content:"\f6c4"}.fa-stopwatch-20:before{content:"\e06f"}.fa-square-full:before{content:"\f45c"}.fa-magnet:before{content:"\f076"}.fa-jar:before{content:"\e516"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-bug-slash:before{content:"\e490"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-bone:before{content:"\f5d7"}.fa-user-injured:before{content:"\f728"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-plane:before{content:"\f072"}.fa-tent-arrows-down:before{content:"\e581"}.fa-exclamation:before{content:"\21"}.fa-arrows-spin:before{content:"\e4bb"}.fa-print:before{content:"\f02f"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-x:before{content:"\58"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-person-military-pointing:before{content:"\e54a"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-umbrella:before{content:"\f0e9"}.fa-trowel:before{content:"\e589"}.fa-d:before{content:"\44"}.fa-stapler:before{content:"\e5af"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-kip-sign:before{content:"\e1c4"}.fa-hand-point-left:before{content:"\f0a5"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-barcode:before{content:"\f02a"}.fa-plus-minus:before{content:"\e43c"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-person-circle-check:before{content:"\e53e"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"} +.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }.fa-brands,.fab{font-weight:400}.fa-monero:before{content:"\f3d0"}.fa-hooli:before{content:"\f427"}.fa-yelp:before{content:"\f1e9"}.fa-cc-visa:before{content:"\f1f0"}.fa-lastfm:before{content:"\f202"}.fa-shopware:before{content:"\f5b5"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-aws:before{content:"\f375"}.fa-redhat:before{content:"\f7bc"}.fa-yoast:before{content:"\f2b1"}.fa-cloudflare:before{content:"\e07d"}.fa-ups:before{content:"\f7e0"}.fa-pixiv:before{content:"\e640"}.fa-wpexplorer:before{content:"\f2de"}.fa-dyalog:before{content:"\f399"}.fa-bity:before{content:"\f37a"}.fa-stackpath:before{content:"\f842"}.fa-buysellads:before{content:"\f20d"}.fa-first-order:before{content:"\f2b0"}.fa-modx:before{content:"\f285"}.fa-guilded:before{content:"\e07e"}.fa-vnv:before{content:"\f40b"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-microsoft:before{content:"\f3ca"}.fa-qq:before{content:"\f1d6"}.fa-orcid:before{content:"\f8d2"}.fa-java:before{content:"\f4e4"}.fa-invision:before{content:"\f7b0"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-centercode:before{content:"\f380"}.fa-glide-g:before{content:"\f2a6"}.fa-drupal:before{content:"\f1a9"}.fa-jxl:before{content:"\e67b"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-unity:before{content:"\e049"}.fa-whmcs:before{content:"\f40d"}.fa-rocketchat:before{content:"\f3e8"}.fa-vk:before{content:"\f189"}.fa-untappd:before{content:"\f405"}.fa-mailchimp:before{content:"\f59e"}.fa-css3-alt:before{content:"\f38b"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-vimeo-v:before{content:"\f27d"}.fa-contao:before{content:"\f26d"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-deskpro:before{content:"\f38f"}.fa-brave:before{content:"\e63c"}.fa-sistrix:before{content:"\f3ee"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-battle-net:before{content:"\f835"}.fa-the-red-yeti:before{content:"\f69d"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-edge:before{content:"\f282"}.fa-threads:before{content:"\e618"}.fa-napster:before{content:"\f3d2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-google-plus-g:before{content:"\f0d5"}.fa-artstation:before{content:"\f77a"}.fa-markdown:before{content:"\f60f"}.fa-sourcetree:before{content:"\f7d3"}.fa-google-plus:before{content:"\f2b3"}.fa-diaspora:before{content:"\f791"}.fa-foursquare:before{content:"\f180"}.fa-stack-overflow:before{content:"\f16c"}.fa-github-alt:before{content:"\f113"}.fa-phoenix-squadron:before{content:"\f511"}.fa-pagelines:before{content:"\f18c"}.fa-algolia:before{content:"\f36c"}.fa-red-river:before{content:"\f3e3"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-safari:before{content:"\f267"}.fa-google:before{content:"\f1a0"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-atlassian:before{content:"\f77b"}.fa-linkedin-in:before{content:"\f0e1"}.fa-digital-ocean:before{content:"\f391"}.fa-nimblr:before{content:"\f5a8"}.fa-chromecast:before{content:"\f838"}.fa-evernote:before{content:"\f839"}.fa-hacker-news:before{content:"\f1d4"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-adversal:before{content:"\f36a"}.fa-creative-commons:before{content:"\f25e"}.fa-watchman-monitoring:before{content:"\e087"}.fa-fonticons:before{content:"\f280"}.fa-weixin:before{content:"\f1d7"}.fa-shirtsinbulk:before{content:"\f214"}.fa-codepen:before{content:"\f1cb"}.fa-git-alt:before{content:"\f841"}.fa-lyft:before{content:"\f3c3"}.fa-rev:before{content:"\f5b2"}.fa-windows:before{content:"\f17a"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-meetup:before{content:"\f2e0"}.fa-centos:before{content:"\f789"}.fa-adn:before{content:"\f170"}.fa-cloudsmith:before{content:"\f384"}.fa-opensuse:before{content:"\e62b"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-codiepie:before{content:"\f284"}.fa-node:before{content:"\f419"}.fa-mix:before{content:"\f3cb"}.fa-steam:before{content:"\f1b6"}.fa-cc-apple-pay:before{content:"\f416"}.fa-scribd:before{content:"\f28a"}.fa-debian:before{content:"\e60b"}.fa-openid:before{content:"\f19b"}.fa-instalod:before{content:"\e081"}.fa-expeditedssl:before{content:"\f23e"}.fa-sellcast:before{content:"\f2da"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-r-project:before{content:"\f4f7"}.fa-delicious:before{content:"\f1a5"}.fa-freebsd:before{content:"\f3a4"}.fa-vuejs:before{content:"\f41f"}.fa-accusoft:before{content:"\f369"}.fa-ioxhost:before{content:"\f208"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-app-store:before{content:"\f36f"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-itunes-note:before{content:"\f3b5"}.fa-golang:before{content:"\e40f"}.fa-kickstarter:before,.fa-square-kickstarter:before{content:"\f3bb"}.fa-grav:before{content:"\f2d6"}.fa-weibo:before{content:"\f18a"}.fa-uncharted:before{content:"\e084"}.fa-firstdraft:before{content:"\f3a1"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-wikipedia-w:before{content:"\f266"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-angellist:before{content:"\f209"}.fa-galactic-republic:before{content:"\f50c"}.fa-nfc-directional:before{content:"\e530"}.fa-skype:before{content:"\f17e"}.fa-joget:before{content:"\f3b7"}.fa-fedora:before{content:"\f798"}.fa-stripe-s:before{content:"\f42a"}.fa-meta:before{content:"\e49b"}.fa-laravel:before{content:"\f3bd"}.fa-hotjar:before{content:"\f3b1"}.fa-bluetooth-b:before{content:"\f294"}.fa-square-letterboxd:before{content:"\e62e"}.fa-sticker-mule:before{content:"\f3f7"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-hips:before{content:"\f452"}.fa-behance:before{content:"\f1b4"}.fa-reddit:before{content:"\f1a1"}.fa-discord:before{content:"\f392"}.fa-chrome:before{content:"\f268"}.fa-app-store-ios:before{content:"\f370"}.fa-cc-discover:before{content:"\f1f2"}.fa-wpbeginner:before{content:"\f297"}.fa-confluence:before{content:"\f78d"}.fa-shoelace:before{content:"\e60c"}.fa-mdb:before{content:"\f8ca"}.fa-dochub:before{content:"\f394"}.fa-accessible-icon:before{content:"\f368"}.fa-ebay:before{content:"\f4f4"}.fa-amazon:before{content:"\f270"}.fa-unsplash:before{content:"\e07c"}.fa-yarn:before{content:"\f7e3"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-500px:before{content:"\f26e"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-asymmetrik:before{content:"\f372"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-gratipay:before{content:"\f184"}.fa-apple:before{content:"\f179"}.fa-hive:before{content:"\e07f"}.fa-gitkraken:before{content:"\f3a6"}.fa-keybase:before{content:"\f4f5"}.fa-apple-pay:before{content:"\f415"}.fa-padlet:before{content:"\e4a0"}.fa-amazon-pay:before{content:"\f42c"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-stumbleupon:before{content:"\f1a4"}.fa-fedex:before{content:"\f797"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-shopify:before{content:"\e057"}.fa-neos:before{content:"\f612"}.fa-square-threads:before{content:"\e619"}.fa-hackerrank:before{content:"\f5f7"}.fa-researchgate:before{content:"\f4f8"}.fa-swift:before{content:"\f8e1"}.fa-angular:before{content:"\f420"}.fa-speakap:before{content:"\f3f3"}.fa-angrycreative:before{content:"\f36e"}.fa-y-combinator:before{content:"\f23b"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-google-scholar:before{content:"\e63b"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-studiovinari:before{content:"\f3f8"}.fa-pied-piper:before{content:"\f2ae"}.fa-wordpress:before{content:"\f19a"}.fa-product-hunt:before{content:"\f288"}.fa-firefox:before{content:"\f269"}.fa-linode:before{content:"\f2b8"}.fa-goodreads:before{content:"\f3a8"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-jsfiddle:before{content:"\f1cc"}.fa-sith:before{content:"\f512"}.fa-themeisle:before{content:"\f2b2"}.fa-page4:before{content:"\f3d7"}.fa-hashnode:before{content:"\e499"}.fa-react:before{content:"\f41b"}.fa-cc-paypal:before{content:"\f1f4"}.fa-squarespace:before{content:"\f5be"}.fa-cc-stripe:before{content:"\f1f5"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-bitcoin:before{content:"\f379"}.fa-keycdn:before{content:"\f3ba"}.fa-opera:before{content:"\f26a"}.fa-itch-io:before{content:"\f83a"}.fa-umbraco:before{content:"\f8e8"}.fa-galactic-senate:before{content:"\f50d"}.fa-ubuntu:before{content:"\f7df"}.fa-draft2digital:before{content:"\f396"}.fa-stripe:before{content:"\f429"}.fa-houzz:before{content:"\f27c"}.fa-gg:before{content:"\f260"}.fa-dhl:before{content:"\f790"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-xing:before{content:"\f168"}.fa-blackberry:before{content:"\f37b"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-playstation:before{content:"\f3df"}.fa-quinscape:before{content:"\f459"}.fa-less:before{content:"\f41d"}.fa-blogger-b:before{content:"\f37d"}.fa-opencart:before{content:"\f23d"}.fa-vine:before{content:"\f1ca"}.fa-signal-messenger:before{content:"\e663"}.fa-paypal:before{content:"\f1ed"}.fa-gitlab:before{content:"\f296"}.fa-typo3:before{content:"\f42b"}.fa-reddit-alien:before{content:"\f281"}.fa-yahoo:before{content:"\f19e"}.fa-dailymotion:before{content:"\e052"}.fa-affiliatetheme:before{content:"\f36b"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-bootstrap:before{content:"\f836"}.fa-odnoklassniki:before{content:"\f263"}.fa-nfc-symbol:before{content:"\e531"}.fa-mintbit:before{content:"\e62f"}.fa-ethereum:before{content:"\f42e"}.fa-speaker-deck:before{content:"\f83c"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-patreon:before{content:"\f3d9"}.fa-avianex:before{content:"\f374"}.fa-ello:before{content:"\f5f1"}.fa-gofore:before{content:"\f3a7"}.fa-bimobject:before{content:"\f378"}.fa-brave-reverse:before{content:"\e63d"}.fa-facebook-f:before{content:"\f39e"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-web-awesome:before{content:"\e682"}.fa-mandalorian:before{content:"\f50f"}.fa-first-order-alt:before{content:"\f50a"}.fa-osi:before{content:"\f41a"}.fa-google-wallet:before{content:"\f1ee"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-periscope:before{content:"\f3da"}.fa-fulcrum:before{content:"\f50b"}.fa-cloudscale:before{content:"\f383"}.fa-forumbee:before{content:"\f211"}.fa-mizuni:before{content:"\f3cc"}.fa-schlix:before{content:"\f3ea"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-bandcamp:before{content:"\f2d5"}.fa-wpforms:before{content:"\f298"}.fa-cloudversify:before{content:"\f385"}.fa-usps:before{content:"\f7e1"}.fa-megaport:before{content:"\f5a3"}.fa-magento:before{content:"\f3c4"}.fa-spotify:before{content:"\f1bc"}.fa-optin-monster:before{content:"\f23c"}.fa-fly:before{content:"\f417"}.fa-aviato:before{content:"\f421"}.fa-itunes:before{content:"\f3b4"}.fa-cuttlefish:before{content:"\f38c"}.fa-blogger:before{content:"\f37c"}.fa-flickr:before{content:"\f16e"}.fa-viber:before{content:"\f409"}.fa-soundcloud:before{content:"\f1be"}.fa-digg:before{content:"\f1a6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-letterboxd:before{content:"\e62d"}.fa-symfony:before{content:"\f83d"}.fa-maxcdn:before{content:"\f136"}.fa-etsy:before{content:"\f2d7"}.fa-facebook-messenger:before{content:"\f39f"}.fa-audible:before{content:"\f373"}.fa-think-peaks:before{content:"\f731"}.fa-bilibili:before{content:"\e3d9"}.fa-erlang:before{content:"\f39d"}.fa-x-twitter:before{content:"\e61b"}.fa-cotton-bureau:before{content:"\f89e"}.fa-dashcube:before{content:"\f210"}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-stack-exchange:before{content:"\f18d"}.fa-elementor:before{content:"\f430"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-palfed:before{content:"\f3d8"}.fa-superpowers:before{content:"\f2dd"}.fa-resolving:before{content:"\f3e7"}.fa-xbox:before{content:"\f412"}.fa-square-web-awesome-stroke:before{content:"\e684"}.fa-searchengin:before{content:"\f3eb"}.fa-tiktok:before{content:"\e07b"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-renren:before{content:"\f18b"}.fa-linux:before{content:"\f17c"}.fa-glide:before{content:"\f2a5"}.fa-linkedin:before{content:"\f08c"}.fa-hubspot:before{content:"\f3b2"}.fa-deploydog:before{content:"\f38e"}.fa-twitch:before{content:"\f1e8"}.fa-ravelry:before{content:"\f2d9"}.fa-mixer:before{content:"\e056"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-vimeo:before{content:"\f40a"}.fa-mendeley:before{content:"\f7b3"}.fa-uniregistry:before{content:"\f404"}.fa-figma:before{content:"\f799"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-dropbox:before{content:"\f16b"}.fa-instagram:before{content:"\f16d"}.fa-cmplid:before{content:"\e360"}.fa-upwork:before{content:"\e641"}.fa-facebook:before{content:"\f09a"}.fa-gripfire:before{content:"\f3ac"}.fa-jedi-order:before{content:"\f50e"}.fa-uikit:before{content:"\f403"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-phabricator:before{content:"\f3db"}.fa-ussunnah:before{content:"\f407"}.fa-earlybirds:before{content:"\f39a"}.fa-trade-federation:before{content:"\f513"}.fa-autoprefixer:before{content:"\f41c"}.fa-whatsapp:before{content:"\f232"}.fa-square-upwork:before{content:"\e67c"}.fa-slideshare:before{content:"\f1e7"}.fa-google-play:before{content:"\f3ab"}.fa-viadeo:before{content:"\f2a9"}.fa-line:before{content:"\f3c0"}.fa-google-drive:before{content:"\f3aa"}.fa-servicestack:before{content:"\f3ec"}.fa-simplybuilt:before{content:"\f215"}.fa-bitbucket:before{content:"\f171"}.fa-imdb:before{content:"\f2d8"}.fa-deezer:before{content:"\e077"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-jira:before{content:"\f7b1"}.fa-docker:before{content:"\f395"}.fa-screenpal:before{content:"\e570"}.fa-bluetooth:before{content:"\f293"}.fa-gitter:before{content:"\f426"}.fa-d-and-d:before{content:"\f38d"}.fa-microblog:before{content:"\e01a"}.fa-cc-diners-club:before{content:"\f24c"}.fa-gg-circle:before{content:"\f261"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-yandex:before{content:"\f413"}.fa-readme:before{content:"\f4d5"}.fa-html5:before{content:"\f13b"}.fa-sellsy:before{content:"\f213"}.fa-square-web-awesome:before{content:"\e683"}.fa-sass:before{content:"\f41e"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-buromobelexperte:before{content:"\f37f"}.fa-salesforce:before{content:"\f83b"}.fa-octopus-deploy:before{content:"\e082"}.fa-medapps:before{content:"\f3c6"}.fa-ns8:before{content:"\f3d5"}.fa-pinterest-p:before{content:"\f231"}.fa-apper:before{content:"\f371"}.fa-fort-awesome:before{content:"\f286"}.fa-waze:before{content:"\f83f"}.fa-bluesky:before{content:"\e671"}.fa-cc-jcb:before{content:"\f24b"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-rust:before{content:"\e07a"}.fa-wix:before{content:"\f5cf"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-supple:before{content:"\f3f9"}.fa-webflow:before{content:"\e65c"}.fa-rebel:before{content:"\f1d0"}.fa-css3:before{content:"\f13c"}.fa-staylinked:before{content:"\f3f5"}.fa-kaggle:before{content:"\f5fa"}.fa-space-awesome:before{content:"\e5ac"}.fa-deviantart:before{content:"\f1bd"}.fa-cpanel:before{content:"\f388"}.fa-goodreads-g:before{content:"\f3a9"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-trello:before{content:"\f181"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-get-pocket:before{content:"\f265"}.fa-perbyte:before{content:"\e083"}.fa-grunt:before{content:"\f3ad"}.fa-weebly:before{content:"\f5cc"}.fa-connectdevelop:before{content:"\f20e"}.fa-leanpub:before{content:"\f212"}.fa-black-tie:before{content:"\f27e"}.fa-themeco:before{content:"\f5c6"}.fa-python:before{content:"\f3e2"}.fa-android:before{content:"\f17b"}.fa-bots:before{content:"\e340"}.fa-free-code-camp:before{content:"\f2c5"}.fa-hornbill:before{content:"\f592"}.fa-js:before{content:"\f3b8"}.fa-ideal:before{content:"\e013"}.fa-git:before{content:"\f1d3"}.fa-dev:before{content:"\f6cc"}.fa-sketch:before{content:"\f7c6"}.fa-yandex-international:before{content:"\f414"}.fa-cc-amex:before{content:"\f1f3"}.fa-uber:before{content:"\f402"}.fa-github:before{content:"\f09b"}.fa-php:before{content:"\f457"}.fa-alipay:before{content:"\f642"}.fa-youtube:before{content:"\f167"}.fa-skyatlas:before{content:"\f216"}.fa-firefox-browser:before{content:"\e007"}.fa-replyd:before{content:"\f3e6"}.fa-suse:before{content:"\f7d6"}.fa-jenkins:before{content:"\f3b6"}.fa-twitter:before{content:"\f099"}.fa-rockrms:before{content:"\f3e9"}.fa-pinterest:before{content:"\f0d2"}.fa-buffer:before{content:"\f837"}.fa-npm:before{content:"\f3d4"}.fa-yammer:before{content:"\f840"}.fa-btc:before{content:"\f15a"}.fa-dribbble:before{content:"\f17d"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-internet-explorer:before{content:"\f26b"}.fa-stubber:before{content:"\e5c7"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-old-republic:before{content:"\f510"}.fa-odysee:before{content:"\e5c6"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-node-js:before{content:"\f3d3"}.fa-edge-legacy:before{content:"\e078"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-medrt:before{content:"\f3c8"}.fa-usb:before{content:"\f287"}.fa-tumblr:before{content:"\f173"}.fa-vaadin:before{content:"\f408"}.fa-quora:before{content:"\f2c4"}.fa-square-x-twitter:before{content:"\e61a"}.fa-reacteurope:before{content:"\f75d"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-amilia:before{content:"\f36d"}.fa-mixcloud:before{content:"\f289"}.fa-flipboard:before{content:"\f44d"}.fa-viacoin:before{content:"\f237"}.fa-critical-role:before{content:"\f6c9"}.fa-sitrox:before{content:"\e44a"}.fa-discourse:before{content:"\f393"}.fa-joomla:before{content:"\f1aa"}.fa-mastodon:before{content:"\f4f6"}.fa-airbnb:before{content:"\f834"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-buy-n-large:before{content:"\f8a6"}.fa-gulp:before{content:"\f3ae"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-strava:before{content:"\f428"}.fa-ember:before{content:"\f423"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-teamspeak:before{content:"\f4f9"}.fa-pushed:before{content:"\f3e1"}.fa-wordpress-simple:before{content:"\f411"}.fa-nutritionix:before{content:"\f3d6"}.fa-wodu:before{content:"\e088"}.fa-google-pay:before{content:"\e079"}.fa-intercom:before{content:"\f7af"}.fa-zhihu:before{content:"\f63f"}.fa-korvue:before{content:"\f42f"}.fa-pix:before{content:"\e43a"}.fa-steam-symbol:before{content:"\f3f6"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }.fa-solid,.fas{font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }@font-face{font-family:"FontAwesome";font-display:block;src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }@font-face{font-family:"FontAwesome";font-display:block;src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }@font-face{font-family:"FontAwesome";font-display:block;src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }@font-face{font-family:"FontAwesome";font-display:block;src: url("../webfonts/fa-v4compatibility.woff2") format("woff2"), url("../webfonts/fa-v4compatibility.ttf") format("truetype"); } \ No newline at end of file diff --git a/docs/deps/font-awesome-6.5.2/css/v4-shims.css b/docs/deps/font-awesome-6.5.2/css/v4-shims.css new file mode 100644 index 0000000..ea60ea4 --- /dev/null +++ b/docs/deps/font-awesome-6.5.2/css/v4-shims.css @@ -0,0 +1,2194 @@ +/*! + * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2024 Fonticons, Inc. + */ +.fa.fa-glass:before { + content: "\f000"; } + +.fa.fa-envelope-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-envelope-o:before { + content: "\f0e0"; } + +.fa.fa-star-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-o:before { + content: "\f005"; } + +.fa.fa-remove:before { + content: "\f00d"; } + +.fa.fa-close:before { + content: "\f00d"; } + +.fa.fa-gear:before { + content: "\f013"; } + +.fa.fa-trash-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-trash-o:before { + content: "\f2ed"; } + +.fa.fa-home:before { + content: "\f015"; } + +.fa.fa-file-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-o:before { + content: "\f15b"; } + +.fa.fa-clock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-clock-o:before { + content: "\f017"; } + +.fa.fa-arrow-circle-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-down:before { + content: "\f358"; } + +.fa.fa-arrow-circle-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-up:before { + content: "\f35b"; } + +.fa.fa-play-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-play-circle-o:before { + content: "\f144"; } + +.fa.fa-repeat:before { + content: "\f01e"; } + +.fa.fa-rotate-right:before { + content: "\f01e"; } + +.fa.fa-refresh:before { + content: "\f021"; } + +.fa.fa-list-alt { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-list-alt:before { + content: "\f022"; } + +.fa.fa-dedent:before { + content: "\f03b"; } + +.fa.fa-video-camera:before { + content: "\f03d"; } + +.fa.fa-picture-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-picture-o:before { + content: "\f03e"; } + +.fa.fa-photo { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-photo:before { + content: "\f03e"; } + +.fa.fa-image { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-image:before { + content: "\f03e"; } + +.fa.fa-map-marker:before { + content: "\f3c5"; } + +.fa.fa-pencil-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-pencil-square-o:before { + content: "\f044"; } + +.fa.fa-edit { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-edit:before { + content: "\f044"; } + +.fa.fa-share-square-o:before { + content: "\f14d"; } + +.fa.fa-check-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-check-square-o:before { + content: "\f14a"; } + +.fa.fa-arrows:before { + content: "\f0b2"; } + +.fa.fa-times-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-times-circle-o:before { + content: "\f057"; } + +.fa.fa-check-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-check-circle-o:before { + content: "\f058"; } + +.fa.fa-mail-forward:before { + content: "\f064"; } + +.fa.fa-expand:before { + content: "\f424"; } + +.fa.fa-compress:before { + content: "\f422"; } + +.fa.fa-eye { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-eye-slash { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-warning:before { + content: "\f071"; } + +.fa.fa-calendar:before { + content: "\f073"; } + +.fa.fa-arrows-v:before { + content: "\f338"; } + +.fa.fa-arrows-h:before { + content: "\f337"; } + +.fa.fa-bar-chart:before { + content: "\e0e3"; } + +.fa.fa-bar-chart-o:before { + content: "\e0e3"; } + +.fa.fa-twitter-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-twitter-square:before { + content: "\f081"; } + +.fa.fa-facebook-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook-square:before { + content: "\f082"; } + +.fa.fa-gears:before { + content: "\f085"; } + +.fa.fa-thumbs-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-up:before { + content: "\f164"; } + +.fa.fa-thumbs-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-down:before { + content: "\f165"; } + +.fa.fa-heart-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-heart-o:before { + content: "\f004"; } + +.fa.fa-sign-out:before { + content: "\f2f5"; } + +.fa.fa-linkedin-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-linkedin-square:before { + content: "\f08c"; } + +.fa.fa-thumb-tack:before { + content: "\f08d"; } + +.fa.fa-external-link:before { + content: "\f35d"; } + +.fa.fa-sign-in:before { + content: "\f2f6"; } + +.fa.fa-github-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-github-square:before { + content: "\f092"; } + +.fa.fa-lemon-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-lemon-o:before { + content: "\f094"; } + +.fa.fa-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-square-o:before { + content: "\f0c8"; } + +.fa.fa-bookmark-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-bookmark-o:before { + content: "\f02e"; } + +.fa.fa-twitter { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook:before { + content: "\f39e"; } + +.fa.fa-facebook-f { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook-f:before { + content: "\f39e"; } + +.fa.fa-github { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-credit-card { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-feed:before { + content: "\f09e"; } + +.fa.fa-hdd-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hdd-o:before { + content: "\f0a0"; } + +.fa.fa-hand-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-right:before { + content: "\f0a4"; } + +.fa.fa-hand-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-left:before { + content: "\f0a5"; } + +.fa.fa-hand-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-up:before { + content: "\f0a6"; } + +.fa.fa-hand-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-down:before { + content: "\f0a7"; } + +.fa.fa-globe:before { + content: "\f57d"; } + +.fa.fa-tasks:before { + content: "\f828"; } + +.fa.fa-arrows-alt:before { + content: "\f31e"; } + +.fa.fa-group:before { + content: "\f0c0"; } + +.fa.fa-chain:before { + content: "\f0c1"; } + +.fa.fa-cut:before { + content: "\f0c4"; } + +.fa.fa-files-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-files-o:before { + content: "\f0c5"; } + +.fa.fa-floppy-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-floppy-o:before { + content: "\f0c7"; } + +.fa.fa-save { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-save:before { + content: "\f0c7"; } + +.fa.fa-navicon:before { + content: "\f0c9"; } + +.fa.fa-reorder:before { + content: "\f0c9"; } + +.fa.fa-magic:before { + content: "\e2ca"; } + +.fa.fa-pinterest { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pinterest-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa.fa-google-plus-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa.fa-google-plus { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus:before { + content: "\f0d5"; } + +.fa.fa-money:before { + content: "\f3d1"; } + +.fa.fa-unsorted:before { + content: "\f0dc"; } + +.fa.fa-sort-desc:before { + content: "\f0dd"; } + +.fa.fa-sort-asc:before { + content: "\f0de"; } + +.fa.fa-linkedin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-linkedin:before { + content: "\f0e1"; } + +.fa.fa-rotate-left:before { + content: "\f0e2"; } + +.fa.fa-legal:before { + content: "\f0e3"; } + +.fa.fa-tachometer:before { + content: "\f625"; } + +.fa.fa-dashboard:before { + content: "\f625"; } + +.fa.fa-comment-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-comment-o:before { + content: "\f075"; } + +.fa.fa-comments-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-comments-o:before { + content: "\f086"; } + +.fa.fa-flash:before { + content: "\f0e7"; } + +.fa.fa-clipboard:before { + content: "\f0ea"; } + +.fa.fa-lightbulb-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-lightbulb-o:before { + content: "\f0eb"; } + +.fa.fa-exchange:before { + content: "\f362"; } + +.fa.fa-cloud-download:before { + content: "\f0ed"; } + +.fa.fa-cloud-upload:before { + content: "\f0ee"; } + +.fa.fa-bell-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-bell-o:before { + content: "\f0f3"; } + +.fa.fa-cutlery:before { + content: "\f2e7"; } + +.fa.fa-file-text-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-text-o:before { + content: "\f15c"; } + +.fa.fa-building-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-building-o:before { + content: "\f1ad"; } + +.fa.fa-hospital-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hospital-o:before { + content: "\f0f8"; } + +.fa.fa-tablet:before { + content: "\f3fa"; } + +.fa.fa-mobile:before { + content: "\f3cd"; } + +.fa.fa-mobile-phone:before { + content: "\f3cd"; } + +.fa.fa-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-circle-o:before { + content: "\f111"; } + +.fa.fa-mail-reply:before { + content: "\f3e5"; } + +.fa.fa-github-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-folder-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-folder-o:before { + content: "\f07b"; } + +.fa.fa-folder-open-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-folder-open-o:before { + content: "\f07c"; } + +.fa.fa-smile-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-smile-o:before { + content: "\f118"; } + +.fa.fa-frown-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-frown-o:before { + content: "\f119"; } + +.fa.fa-meh-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-meh-o:before { + content: "\f11a"; } + +.fa.fa-keyboard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-keyboard-o:before { + content: "\f11c"; } + +.fa.fa-flag-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-flag-o:before { + content: "\f024"; } + +.fa.fa-mail-reply-all:before { + content: "\f122"; } + +.fa.fa-star-half-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-half-o:before { + content: "\f5c0"; } + +.fa.fa-star-half-empty { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-half-empty:before { + content: "\f5c0"; } + +.fa.fa-star-half-full { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-half-full:before { + content: "\f5c0"; } + +.fa.fa-code-fork:before { + content: "\f126"; } + +.fa.fa-chain-broken:before { + content: "\f127"; } + +.fa.fa-unlink:before { + content: "\f127"; } + +.fa.fa-calendar-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-o:before { + content: "\f133"; } + +.fa.fa-maxcdn { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-html5 { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-css3 { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-unlock-alt:before { + content: "\f09c"; } + +.fa.fa-minus-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-minus-square-o:before { + content: "\f146"; } + +.fa.fa-level-up:before { + content: "\f3bf"; } + +.fa.fa-level-down:before { + content: "\f3be"; } + +.fa.fa-pencil-square:before { + content: "\f14b"; } + +.fa.fa-external-link-square:before { + content: "\f360"; } + +.fa.fa-compass { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down:before { + content: "\f150"; } + +.fa.fa-toggle-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-down:before { + content: "\f150"; } + +.fa.fa-caret-square-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-up:before { + content: "\f151"; } + +.fa.fa-toggle-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-up:before { + content: "\f151"; } + +.fa.fa-caret-square-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-right:before { + content: "\f152"; } + +.fa.fa-toggle-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-right:before { + content: "\f152"; } + +.fa.fa-eur:before { + content: "\f153"; } + +.fa.fa-euro:before { + content: "\f153"; } + +.fa.fa-gbp:before { + content: "\f154"; } + +.fa.fa-usd:before { + content: "\24"; } + +.fa.fa-dollar:before { + content: "\24"; } + +.fa.fa-inr:before { + content: "\e1bc"; } + +.fa.fa-rupee:before { + content: "\e1bc"; } + +.fa.fa-jpy:before { + content: "\f157"; } + +.fa.fa-cny:before { + content: "\f157"; } + +.fa.fa-rmb:before { + content: "\f157"; } + +.fa.fa-yen:before { + content: "\f157"; } + +.fa.fa-rub:before { + content: "\f158"; } + +.fa.fa-ruble:before { + content: "\f158"; } + +.fa.fa-rouble:before { + content: "\f158"; } + +.fa.fa-krw:before { + content: "\f159"; } + +.fa.fa-won:before { + content: "\f159"; } + +.fa.fa-btc { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin:before { + content: "\f15a"; } + +.fa.fa-file-text:before { + content: "\f15c"; } + +.fa.fa-sort-alpha-asc:before { + content: "\f15d"; } + +.fa.fa-sort-alpha-desc:before { + content: "\f881"; } + +.fa.fa-sort-amount-asc:before { + content: "\f884"; } + +.fa.fa-sort-amount-desc:before { + content: "\f160"; } + +.fa.fa-sort-numeric-asc:before { + content: "\f162"; } + +.fa.fa-sort-numeric-desc:before { + content: "\f886"; } + +.fa.fa-youtube-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-youtube-square:before { + content: "\f431"; } + +.fa.fa-youtube { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-xing { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-xing-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-xing-square:before { + content: "\f169"; } + +.fa.fa-youtube-play { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-youtube-play:before { + content: "\f167"; } + +.fa.fa-dropbox { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-stack-overflow { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-instagram { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-flickr { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-adn { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square:before { + content: "\f171"; } + +.fa.fa-tumblr { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-tumblr-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-tumblr-square:before { + content: "\f174"; } + +.fa.fa-long-arrow-down:before { + content: "\f309"; } + +.fa.fa-long-arrow-up:before { + content: "\f30c"; } + +.fa.fa-long-arrow-left:before { + content: "\f30a"; } + +.fa.fa-long-arrow-right:before { + content: "\f30b"; } + +.fa.fa-apple { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-windows { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-android { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-linux { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-dribbble { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-skype { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-foursquare { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-trello { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gratipay { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gittip { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gittip:before { + content: "\f184"; } + +.fa.fa-sun-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-sun-o:before { + content: "\f185"; } + +.fa.fa-moon-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-moon-o:before { + content: "\f186"; } + +.fa.fa-vk { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-weibo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-renren { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pagelines { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-stack-exchange { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right:before { + content: "\f35a"; } + +.fa.fa-arrow-circle-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-left:before { + content: "\f359"; } + +.fa.fa-caret-square-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-left:before { + content: "\f191"; } + +.fa.fa-toggle-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-left:before { + content: "\f191"; } + +.fa.fa-dot-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-dot-circle-o:before { + content: "\f192"; } + +.fa.fa-vimeo-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-vimeo-square:before { + content: "\f194"; } + +.fa.fa-try:before { + content: "\e2bb"; } + +.fa.fa-turkish-lira:before { + content: "\e2bb"; } + +.fa.fa-plus-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-plus-square-o:before { + content: "\f0fe"; } + +.fa.fa-slack { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wordpress { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-openid { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-institution:before { + content: "\f19c"; } + +.fa.fa-bank:before { + content: "\f19c"; } + +.fa.fa-mortar-board:before { + content: "\f19d"; } + +.fa.fa-yahoo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit-square:before { + content: "\f1a2"; } + +.fa.fa-stumbleupon-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-stumbleupon { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-delicious { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-digg { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-pp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-drupal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-joomla { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-behance { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-behance-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-behance-square:before { + content: "\f1b5"; } + +.fa.fa-steam { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-steam-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-steam-square:before { + content: "\f1b7"; } + +.fa.fa-automobile:before { + content: "\f1b9"; } + +.fa.fa-cab:before { + content: "\f1ba"; } + +.fa.fa-spotify { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-deviantart { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-soundcloud { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-file-pdf-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-pdf-o:before { + content: "\f1c1"; } + +.fa.fa-file-word-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-word-o:before { + content: "\f1c2"; } + +.fa.fa-file-excel-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-excel-o:before { + content: "\f1c3"; } + +.fa.fa-file-powerpoint-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-powerpoint-o:before { + content: "\f1c4"; } + +.fa.fa-file-image-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-image-o:before { + content: "\f1c5"; } + +.fa.fa-file-photo-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-photo-o:before { + content: "\f1c5"; } + +.fa.fa-file-picture-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-picture-o:before { + content: "\f1c5"; } + +.fa.fa-file-archive-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-archive-o:before { + content: "\f1c6"; } + +.fa.fa-file-zip-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-zip-o:before { + content: "\f1c6"; } + +.fa.fa-file-audio-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-audio-o:before { + content: "\f1c7"; } + +.fa.fa-file-sound-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-sound-o:before { + content: "\f1c7"; } + +.fa.fa-file-video-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-video-o:before { + content: "\f1c8"; } + +.fa.fa-file-movie-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-movie-o:before { + content: "\f1c8"; } + +.fa.fa-file-code-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-code-o:before { + content: "\f1c9"; } + +.fa.fa-vine { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-codepen { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-jsfiddle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-life-bouy:before { + content: "\f1cd"; } + +.fa.fa-life-buoy:before { + content: "\f1cd"; } + +.fa.fa-life-saver:before { + content: "\f1cd"; } + +.fa.fa-support:before { + content: "\f1cd"; } + +.fa.fa-circle-o-notch:before { + content: "\f1ce"; } + +.fa.fa-rebel { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ra { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ra:before { + content: "\f1d0"; } + +.fa.fa-resistance { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-resistance:before { + content: "\f1d0"; } + +.fa.fa-empire { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ge { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ge:before { + content: "\f1d1"; } + +.fa.fa-git-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-git-square:before { + content: "\f1d2"; } + +.fa.fa-git { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-hacker-news { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square:before { + content: "\f1d4"; } + +.fa.fa-yc-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yc-square:before { + content: "\f1d4"; } + +.fa.fa-tencent-weibo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-qq { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-weixin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wechat { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wechat:before { + content: "\f1d7"; } + +.fa.fa-send:before { + content: "\f1d8"; } + +.fa.fa-paper-plane-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-paper-plane-o:before { + content: "\f1d8"; } + +.fa.fa-send-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-send-o:before { + content: "\f1d8"; } + +.fa.fa-circle-thin { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-circle-thin:before { + content: "\f111"; } + +.fa.fa-header:before { + content: "\f1dc"; } + +.fa.fa-futbol-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-futbol-o:before { + content: "\f1e3"; } + +.fa.fa-soccer-ball-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-soccer-ball-o:before { + content: "\f1e3"; } + +.fa.fa-slideshare { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-twitch { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yelp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-newspaper-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-newspaper-o:before { + content: "\f1ea"; } + +.fa.fa-paypal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-wallet { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-visa { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-mastercard { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-discover { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-amex { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-paypal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-stripe { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bell-slash-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-bell-slash-o:before { + content: "\f1f6"; } + +.fa.fa-trash:before { + content: "\f2ed"; } + +.fa.fa-copyright { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-eyedropper:before { + content: "\f1fb"; } + +.fa.fa-area-chart:before { + content: "\f1fe"; } + +.fa.fa-pie-chart:before { + content: "\f200"; } + +.fa.fa-line-chart:before { + content: "\f201"; } + +.fa.fa-lastfm { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-lastfm-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-lastfm-square:before { + content: "\f203"; } + +.fa.fa-ioxhost { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-angellist { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-cc:before { + content: "\f20a"; } + +.fa.fa-ils:before { + content: "\f20b"; } + +.fa.fa-shekel:before { + content: "\f20b"; } + +.fa.fa-sheqel:before { + content: "\f20b"; } + +.fa.fa-buysellads { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-connectdevelop { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-dashcube { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-forumbee { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-leanpub { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-sellsy { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-shirtsinbulk { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-simplybuilt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-skyatlas { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-diamond { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-diamond:before { + content: "\f3a5"; } + +.fa.fa-transgender:before { + content: "\f224"; } + +.fa.fa-intersex:before { + content: "\f224"; } + +.fa.fa-transgender-alt:before { + content: "\f225"; } + +.fa.fa-facebook-official { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook-official:before { + content: "\f09a"; } + +.fa.fa-pinterest-p { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-whatsapp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-hotel:before { + content: "\f236"; } + +.fa.fa-viacoin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-medium { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yc { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yc:before { + content: "\f23b"; } + +.fa.fa-optin-monster { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-opencart { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-expeditedssl { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-battery-4:before { + content: "\f240"; } + +.fa.fa-battery:before { + content: "\f240"; } + +.fa.fa-battery-3:before { + content: "\f241"; } + +.fa.fa-battery-2:before { + content: "\f242"; } + +.fa.fa-battery-1:before { + content: "\f243"; } + +.fa.fa-battery-0:before { + content: "\f244"; } + +.fa.fa-object-group { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-object-ungroup { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o:before { + content: "\f249"; } + +.fa.fa-cc-jcb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-diners-club { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-clone { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hourglass-o:before { + content: "\f254"; } + +.fa.fa-hourglass-1:before { + content: "\f251"; } + +.fa.fa-hourglass-2:before { + content: "\f252"; } + +.fa.fa-hourglass-3:before { + content: "\f253"; } + +.fa.fa-hand-rock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-rock-o:before { + content: "\f255"; } + +.fa.fa-hand-grab-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-grab-o:before { + content: "\f255"; } + +.fa.fa-hand-paper-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-paper-o:before { + content: "\f256"; } + +.fa.fa-hand-stop-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-stop-o:before { + content: "\f256"; } + +.fa.fa-hand-scissors-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-scissors-o:before { + content: "\f257"; } + +.fa.fa-hand-lizard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-lizard-o:before { + content: "\f258"; } + +.fa.fa-hand-spock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-spock-o:before { + content: "\f259"; } + +.fa.fa-hand-pointer-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-pointer-o:before { + content: "\f25a"; } + +.fa.fa-hand-peace-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-peace-o:before { + content: "\f25b"; } + +.fa.fa-registered { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-creative-commons { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gg { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gg-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa.fa-get-pocket { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wikipedia-w { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-safari { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-chrome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-firefox { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-opera { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-internet-explorer { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-television:before { + content: "\f26c"; } + +.fa.fa-contao { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-500px { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-amazon { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-calendar-plus-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-plus-o:before { + content: "\f271"; } + +.fa.fa-calendar-minus-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-minus-o:before { + content: "\f272"; } + +.fa.fa-calendar-times-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-times-o:before { + content: "\f273"; } + +.fa.fa-calendar-check-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-check-o:before { + content: "\f274"; } + +.fa.fa-map-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-map-o:before { + content: "\f279"; } + +.fa.fa-commenting:before { + content: "\f4ad"; } + +.fa.fa-commenting-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-commenting-o:before { + content: "\f4ad"; } + +.fa.fa-houzz { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-vimeo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-vimeo:before { + content: "\f27d"; } + +.fa.fa-black-tie { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fonticons { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit-alien { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-edge { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-credit-card-alt:before { + content: "\f09d"; } + +.fa.fa-codiepie { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-modx { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fort-awesome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-usb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-product-hunt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-mixcloud { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-scribd { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pause-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-pause-circle-o:before { + content: "\f28b"; } + +.fa.fa-stop-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-stop-circle-o:before { + content: "\f28d"; } + +.fa.fa-bluetooth { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bluetooth-b { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gitlab { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wpbeginner { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wpforms { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-envira { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt:before { + content: "\f368"; } + +.fa.fa-question-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-question-circle-o:before { + content: "\f059"; } + +.fa.fa-volume-control-phone:before { + content: "\f2a0"; } + +.fa.fa-asl-interpreting:before { + content: "\f2a3"; } + +.fa.fa-deafness:before { + content: "\f2a4"; } + +.fa.fa-hard-of-hearing:before { + content: "\f2a4"; } + +.fa.fa-glide { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-glide-g { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-signing:before { + content: "\f2a7"; } + +.fa.fa-viadeo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-viadeo-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa.fa-snapchat { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-ghost { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-ghost:before { + content: "\f2ab"; } + +.fa.fa-snapchat-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa.fa-pied-piper { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-first-order { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yoast { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-themeisle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official:before { + content: "\f2b3"; } + +.fa.fa-google-plus-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-circle:before { + content: "\f2b3"; } + +.fa.fa-font-awesome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fa { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fa:before { + content: "\f2b4"; } + +.fa.fa-handshake-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-handshake-o:before { + content: "\f2b5"; } + +.fa.fa-envelope-open-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-envelope-open-o:before { + content: "\f2b6"; } + +.fa.fa-linode { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-address-book-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-address-book-o:before { + content: "\f2b9"; } + +.fa.fa-vcard:before { + content: "\f2bb"; } + +.fa.fa-address-card-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-address-card-o:before { + content: "\f2bb"; } + +.fa.fa-vcard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-vcard-o:before { + content: "\f2bb"; } + +.fa.fa-user-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-user-circle-o:before { + content: "\f2bd"; } + +.fa.fa-user-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-user-o:before { + content: "\f007"; } + +.fa.fa-id-badge { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-drivers-license:before { + content: "\f2c2"; } + +.fa.fa-id-card-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-id-card-o:before { + content: "\f2c2"; } + +.fa.fa-drivers-license-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-drivers-license-o:before { + content: "\f2c2"; } + +.fa.fa-quora { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-free-code-camp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-telegram { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-thermometer-4:before { + content: "\f2c7"; } + +.fa.fa-thermometer:before { + content: "\f2c7"; } + +.fa.fa-thermometer-3:before { + content: "\f2c8"; } + +.fa.fa-thermometer-2:before { + content: "\f2c9"; } + +.fa.fa-thermometer-1:before { + content: "\f2ca"; } + +.fa.fa-thermometer-0:before { + content: "\f2cb"; } + +.fa.fa-bathtub:before { + content: "\f2cd"; } + +.fa.fa-s15:before { + content: "\f2cd"; } + +.fa.fa-window-maximize { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-window-restore { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle:before { + content: "\f410"; } + +.fa.fa-window-close-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-window-close-o:before { + content: "\f410"; } + +.fa.fa-times-rectangle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle-o:before { + content: "\f410"; } + +.fa.fa-bandcamp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-grav { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-etsy { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-imdb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ravelry { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-eercast { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-eercast:before { + content: "\f2da"; } + +.fa.fa-snowflake-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-snowflake-o:before { + content: "\f2dc"; } + +.fa.fa-superpowers { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wpexplorer { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-meetup { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } diff --git a/docs/deps/font-awesome-6.5.2/css/v4-shims.min.css b/docs/deps/font-awesome-6.5.2/css/v4-shims.min.css new file mode 100644 index 0000000..09baf5f --- /dev/null +++ b/docs/deps/font-awesome-6.5.2/css/v4-shims.min.css @@ -0,0 +1,6 @@ +/*! + * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2024 Fonticons, Inc. + */ +.fa.fa-glass:before{content:"\f000"}.fa.fa-envelope-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-star-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-home:before{content:"\f015"}.fa.fa-file-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-list-alt:before{content:"\f022"}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-edit{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-edit:before{content:"\f044"}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-expand:before{content:"\f424"}.fa.fa-compress:before{content:"\f422"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart-o:before,.fa.fa-bar-chart:before{content:"\e0e3"}.fa.fa-twitter-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-twitter-square:before{content:"\f081"}.fa.fa-facebook-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-square:before{content:"\f082"}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-github-square:before{content:"\f092"}.fa.fa-lemon-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-globe:before{content:"\f57d"}.fa.fa-tasks:before{content:"\f828"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-cut:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-save{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-save:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-magic:before{content:"\e2ca"}.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pinterest-square:before{content:"\f0d3"}.fa.fa-google-plus-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-square:before{content:"\f0d4"}.fa.fa-google-plus{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f625"}.fa.fa-comment-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard:before{content:"\f0ea"}.fa.fa-lightbulb-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f0ed"}.fa.fa-cloud-upload:before{content:"\f0ee"}.fa.fa-bell-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f5c0"}.fa.fa-star-half-empty{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f5c0"}.fa.fa-star-half-full{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f5c0"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before,.fa.fa-unlink:before{content:"\f127"}.fa.fa-calendar-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-unlock-alt:before{content:"\f09c"}.fa.fa-minus-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\24"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\e1bc"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f881"}.fa.fa-sort-amount-asc:before{content:"\f884"}.fa.fa-sort-amount-desc:before{content:"\f160"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f886"}.fa.fa-youtube-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-square:before{content:"\f431"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-xing-square:before{content:"\f169"}.fa.fa-youtube-play{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-tumblr-square:before{content:"\f174"}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo-square:before{content:"\f194"}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\e2bb"}.fa.fa-plus-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-google,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-yahoo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-reddit-square:before{content:"\f1a2"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-behance-square:before{content:"\f1b5"}.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-steam-square:before{content:"\f1b7"}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-deviantart,.fa.fa-soundcloud,.fa.fa-spotify{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-life-bouy:before,.fa.fa-life-buoy:before,.fa.fa-life-saver:before,.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-git-square:before{content:"\f1d2"}.fa.fa-git,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-futbol-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-lastfm-square:before{content:"\f203"}.fa.fa-angellist,.fa.fa-ioxhost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before,.fa.fa-transgender:before{content:"\f224"}.fa.fa-transgender-alt:before{content:"\f225"}.fa.fa-facebook-official{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-clone{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-creative-commons,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-odnoklassniki-square:before{content:"\f264"}.fa.fa-chrome,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-internet-explorer,.fa.fa-opera,.fa.fa-safari,.fa.fa-wikipedia-w{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-viadeo,.fa.fa-viadeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-viadeo-square:before{content:"\f2aa"}.fa.fa-snapchat,.fa.fa-snapchat-ghost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-ghost:before{content:"\f2ab"}.fa.fa-snapchat-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-square:before{content:"\f2ad"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-themeisle,.fa.fa-yoast{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-meetup,.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 6 Brands";font-weight:400} \ No newline at end of file diff --git a/docs/deps/font-awesome-6.5.2/webfonts/fa-brands-400.ttf b/docs/deps/font-awesome-6.5.2/webfonts/fa-brands-400.ttf new file mode 100644 index 0000000..1fbb1f7 Binary files /dev/null and b/docs/deps/font-awesome-6.5.2/webfonts/fa-brands-400.ttf differ diff --git a/docs/deps/font-awesome-6.5.2/webfonts/fa-brands-400.woff2 b/docs/deps/font-awesome-6.5.2/webfonts/fa-brands-400.woff2 new file mode 100644 index 0000000..5d28021 Binary files /dev/null and b/docs/deps/font-awesome-6.5.2/webfonts/fa-brands-400.woff2 differ diff --git a/docs/deps/font-awesome-6.5.2/webfonts/fa-regular-400.ttf b/docs/deps/font-awesome-6.5.2/webfonts/fa-regular-400.ttf new file mode 100644 index 0000000..549d68d Binary files /dev/null and b/docs/deps/font-awesome-6.5.2/webfonts/fa-regular-400.ttf differ diff --git a/docs/deps/font-awesome-6.5.2/webfonts/fa-regular-400.woff2 b/docs/deps/font-awesome-6.5.2/webfonts/fa-regular-400.woff2 new file mode 100644 index 0000000..18400d7 Binary files /dev/null and b/docs/deps/font-awesome-6.5.2/webfonts/fa-regular-400.woff2 differ diff --git a/docs/deps/font-awesome-6.5.2/webfonts/fa-solid-900.ttf b/docs/deps/font-awesome-6.5.2/webfonts/fa-solid-900.ttf new file mode 100644 index 0000000..bb2a869 Binary files /dev/null and b/docs/deps/font-awesome-6.5.2/webfonts/fa-solid-900.ttf differ diff --git a/docs/deps/font-awesome-6.5.2/webfonts/fa-solid-900.woff2 b/docs/deps/font-awesome-6.5.2/webfonts/fa-solid-900.woff2 new file mode 100644 index 0000000..758dd4f Binary files /dev/null and b/docs/deps/font-awesome-6.5.2/webfonts/fa-solid-900.woff2 differ diff --git a/docs/deps/font-awesome-6.5.2/webfonts/fa-v4compatibility.ttf b/docs/deps/font-awesome-6.5.2/webfonts/fa-v4compatibility.ttf new file mode 100644 index 0000000..8c5864c Binary files /dev/null and b/docs/deps/font-awesome-6.5.2/webfonts/fa-v4compatibility.ttf differ diff --git a/docs/deps/font-awesome-6.5.2/webfonts/fa-v4compatibility.woff2 b/docs/deps/font-awesome-6.5.2/webfonts/fa-v4compatibility.woff2 new file mode 100644 index 0000000..f94bec2 Binary files /dev/null and b/docs/deps/font-awesome-6.5.2/webfonts/fa-v4compatibility.woff2 differ diff --git a/docs/deps/headroom-0.11.0/headroom.min.js b/docs/deps/headroom-0.11.0/headroom.min.js new file mode 100644 index 0000000..433069f --- /dev/null +++ b/docs/deps/headroom-0.11.0/headroom.min.js @@ -0,0 +1,7 @@ +/*! + * headroom.js v0.11.0 - Give your page some headroom. Hide your header until you need it + * Copyright (c) 2020 Nick Williams - http://wicky.nillia.ms/headroom.js + * License: MIT + */ + +!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t=t||self).Headroom=n()}(this,function(){"use strict";function t(){return"undefined"!=typeof window}function d(t){return function(t){return t&&t.document&&function(t){return 9===t.nodeType}(t.document)}(t)?function(t){var n=t.document,o=n.body,s=n.documentElement;return{scrollHeight:function(){return Math.max(o.scrollHeight,s.scrollHeight,o.offsetHeight,s.offsetHeight,o.clientHeight,s.clientHeight)},height:function(){return t.innerHeight||s.clientHeight||o.clientHeight},scrollY:function(){return void 0!==t.pageYOffset?t.pageYOffset:(s||o.parentNode||o).scrollTop}}}(t):function(t){return{scrollHeight:function(){return Math.max(t.scrollHeight,t.offsetHeight,t.clientHeight)},height:function(){return Math.max(t.offsetHeight,t.clientHeight)},scrollY:function(){return t.scrollTop}}}(t)}function n(t,s,e){var n,o=function(){var n=!1;try{var t={get passive(){n=!0}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){n=!1}return n}(),i=!1,r=d(t),l=r.scrollY(),a={};function c(){var t=Math.round(r.scrollY()),n=r.height(),o=r.scrollHeight();a.scrollY=t,a.lastScrollY=l,a.direction=ls.tolerance[a.direction],e(a),l=t,i=!1}function h(){i||(i=!0,n=requestAnimationFrame(c))}var u=!!o&&{passive:!0,capture:!1};return t.addEventListener("scroll",h,u),c(),{destroy:function(){cancelAnimationFrame(n),t.removeEventListener("scroll",h,u)}}}function o(t,n){n=n||{},Object.assign(this,o.options,n),this.classes=Object.assign({},o.options.classes,n.classes),this.elem=t,this.tolerance=function(t){return t===Object(t)?t:{down:t,up:t}}(this.tolerance),this.initialised=!1,this.frozen=!1}return o.prototype={constructor:o,init:function(){return o.cutsTheMustard&&!this.initialised&&(this.addClass("initial"),this.initialised=!0,setTimeout(function(t){t.scrollTracker=n(t.scroller,{offset:t.offset,tolerance:t.tolerance},t.update.bind(t))},100,this)),this},destroy:function(){this.initialised=!1,Object.keys(this.classes).forEach(this.removeClass,this),this.scrollTracker.destroy()},unpin:function(){!this.hasClass("pinned")&&this.hasClass("unpinned")||(this.addClass("unpinned"),this.removeClass("pinned"),this.onUnpin&&this.onUnpin.call(this))},pin:function(){this.hasClass("unpinned")&&(this.addClass("pinned"),this.removeClass("unpinned"),this.onPin&&this.onPin.call(this))},freeze:function(){this.frozen=!0,this.addClass("frozen")},unfreeze:function(){this.frozen=!1,this.removeClass("frozen")},top:function(){this.hasClass("top")||(this.addClass("top"),this.removeClass("notTop"),this.onTop&&this.onTop.call(this))},notTop:function(){this.hasClass("notTop")||(this.addClass("notTop"),this.removeClass("top"),this.onNotTop&&this.onNotTop.call(this))},bottom:function(){this.hasClass("bottom")||(this.addClass("bottom"),this.removeClass("notBottom"),this.onBottom&&this.onBottom.call(this))},notBottom:function(){this.hasClass("notBottom")||(this.addClass("notBottom"),this.removeClass("bottom"),this.onNotBottom&&this.onNotBottom.call(this))},shouldUnpin:function(t){return"down"===t.direction&&!t.top&&t.toleranceExceeded},shouldPin:function(t){return"up"===t.direction&&t.toleranceExceeded||t.top},addClass:function(t){this.elem.classList.add.apply(this.elem.classList,this.classes[t].split(" "))},removeClass:function(t){this.elem.classList.remove.apply(this.elem.classList,this.classes[t].split(" "))},hasClass:function(t){return this.classes[t].split(" ").every(function(t){return this.classList.contains(t)},this.elem)},update:function(t){t.isOutOfBounds||!0!==this.frozen&&(t.top?this.top():this.notTop(),t.bottom?this.bottom():this.notBottom(),this.shouldUnpin(t)?this.unpin():this.shouldPin(t)&&this.pin())}},o.options={tolerance:{up:0,down:0},offset:0,scroller:t()?window:null,classes:{frozen:"headroom--frozen",pinned:"headroom--pinned",unpinned:"headroom--unpinned",top:"headroom--top",notTop:"headroom--not-top",bottom:"headroom--bottom",notBottom:"headroom--not-bottom",initial:"headroom"}},o.cutsTheMustard=!!(t()&&function(){}.bind&&"classList"in document.documentElement&&Object.assign&&Object.keys&&requestAnimationFrame),o}); \ No newline at end of file diff --git a/docs/deps/headroom-0.11.0/jQuery.headroom.min.js b/docs/deps/headroom-0.11.0/jQuery.headroom.min.js new file mode 100644 index 0000000..17f70c9 --- /dev/null +++ b/docs/deps/headroom-0.11.0/jQuery.headroom.min.js @@ -0,0 +1,7 @@ +/*! + * headroom.js v0.9.4 - Give your page some headroom. Hide your header until you need it + * Copyright (c) 2017 Nick Williams - http://wicky.nillia.ms/headroom.js + * License: MIT + */ + +!function(a){a&&(a.fn.headroom=function(b){return this.each(function(){var c=a(this),d=c.data("headroom"),e="object"==typeof b&&b;e=a.extend(!0,{},Headroom.options,e),d||(d=new Headroom(this,e),d.init(),c.data("headroom",d)),"string"==typeof b&&(d[b](),"destroy"===b&&c.removeData("headroom"))})},a("[data-headroom]").each(function(){var b=a(this);b.headroom(b.data())}))}(window.Zepto||window.jQuery); \ No newline at end of file diff --git a/docs/deps/jquery-3.6.0/jquery-3.6.0.js b/docs/deps/jquery-3.6.0/jquery-3.6.0.js new file mode 100644 index 0000000..fc6c299 --- /dev/null +++ b/docs/deps/jquery-3.6.0/jquery-3.6.0.js @@ -0,0 +1,10881 @@ +/*! + * jQuery JavaScript Library v3.6.0 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2021-03-02T17:08Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 + // Plus for old WebKit, typeof returns "function" for HTML collections + // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) + return typeof obj === "function" && typeof obj.nodeType !== "number" && + typeof obj.item !== "function"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + +var document = window.document; + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.6.0", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return flat( ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), + function( _i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); + } ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.6 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2021-02-16 + */ +( function( window ) { +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ( {} ).hasOwnProperty, + arr = [], + pop = arr.pop, + pushNative = arr.push, + push = arr.push, + slice = arr.slice, + + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[ i ] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + + "ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + + // "Attribute values must be CSS identifiers [capture 5] + // or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + return nonHex ? + + // Strip the backslash prefix from a non-hex escape sequence + nonHex : + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + ( arr = slice.call( preferredDoc.childNodes ) ), + preferredDoc.childNodes + ); + + // Support: Android<4.0 + // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + pushNative.apply( target, slice.call( els ) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + + // Can't trust NodeList.length + while ( ( target[ j++ ] = els[ i++ ] ) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + setDocument( context ); + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { + + // ID selector + if ( ( m = match[ 1 ] ) ) { + + // Document context + if ( nodeType === 9 ) { + if ( ( elem = context.getElementById( m ) ) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && ( elem = newContext.getElementById( m ) ) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[ 2 ] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && + + // Support: IE 8 only + // Exclude object elements + ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && + ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + if ( newContext !== context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); + } + newSelector = groups.join( "," ); + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return ( cache[ key + " " ] = value ); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement( "fieldset" ); + + try { + return !!fn( el ); + } catch ( e ) { + return false; + } finally { + + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split( "|" ), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[ i ] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( ( cur = cur.nextSibling ) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return ( name === "input" || name === "button" ) && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction( function( argument ) { + argument = +argument; + return markFunction( function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ ( j = matchIndexes[ i ] ) ] ) { + seed[ j ] = !( matches[ j ] = seed[ j ] ); + } + } + } ); + } ); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem && elem.namespaceURI, + docElem = elem && ( elem.ownerDocument || elem ).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9 - 11+, Edge 12 - 18+ + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, + // Safari 4 - 5 only, Opera <=11.6 - 12.x only + // IE/Edge & older browsers don't support the :scope pseudo-class. + // Support: Safari 6.0 only + // Safari 6.0 supports :scope but it's an alias of :root there. + support.scope = assert( function( el ) { + docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); + return typeof el.querySelectorAll !== "undefined" && + !el.querySelectorAll( ":scope fieldset div" ).length; + } ); + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert( function( el ) { + el.className = "i"; + return !el.getAttribute( "className" ); + } ); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert( function( el ) { + el.appendChild( document.createComment( "" ) ); + return !el.getElementsByTagName( "*" ).length; + } ); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert( function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + } ); + + // ID filter and find + if ( support.getById ) { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute( "id" ) === attrId; + }; + }; + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode( "id" ); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( ( elem = elems[ i++ ] ) ) { + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find[ "TAG" ] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert( function( el ) { + + var input; + + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll( "[selected]" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push( "~=" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push( ".#.+[+~]" ); + } + + // Support: Firefox <=3.6 - 5 only + // Old Firefox doesn't throw on a badly-escaped identifier. + el.querySelectorAll( "\\\f" ); + rbuggyQSA.push( "[\\r\\n\\f]" ); + } ); + + assert( function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement( "input" ); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll( "[name=d]" ).length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: Opera 10 - 11 only + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll( "*,:x" ); + rbuggyQSA.push( ",.*:" ); + } ); + } + + if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector ) ) ) ) { + + assert( function( el ) { + + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + } ); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + ) ); + } : + function( a, b ) { + if ( b ) { + while ( ( b = b.parentNode ) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { + + // Choose the first element that is related to our preferred document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( a == document || a.ownerDocument == preferredDoc && + contains( preferredDoc, a ) ) { + return -1; + } + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( b == document || b.ownerDocument == preferredDoc && + contains( preferredDoc, b ) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + return a == document ? -1 : + b == document ? 1 : + /* eslint-enable eqeqeq */ + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( ( cur = cur.parentNode ) ) { + ap.unshift( cur ); + } + cur = b; + while ( ( cur = cur.parentNode ) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[ i ] === bp[ i ] ) { + i++; + } + + return i ? + + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[ i ], bp[ i ] ) : + + // Otherwise nodes in our document sort first + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + ap[ i ] == preferredDoc ? -1 : + bp[ i ] == preferredDoc ? 1 : + /* eslint-enable eqeqeq */ + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + setDocument( elem ); + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch ( e ) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( context.ownerDocument || context ) != document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( elem.ownerDocument || elem ) != document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return ( sel + "" ).replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + + // If no nodeType, this is expected to be an array + while ( ( node = elem[ i++ ] ) ) { + + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[ 1 ] = match[ 1 ].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || + match[ 5 ] || "" ).replace( runescape, funescape ); + + if ( match[ 2 ] === "~=" ) { + match[ 3 ] = " " + match[ 3 ] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[ 1 ] = match[ 1 ].toLowerCase(); + + if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { + + // nth-* requires argument + if ( !match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[ 4 ] = +( match[ 4 ] ? + match[ 5 ] + ( match[ 6 ] || 1 ) : + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); + match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); + + // other types prohibit arguments + } else if ( match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[ 6 ] && match[ 2 ]; + + if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[ 3 ] ) { + match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + + // Get excess from tokenize (recursively) + ( excess = tokenize( unquoted, true ) ) && + + // advance to the next closing parenthesis + ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { + + // excess is a negative index + match[ 0 ] = match[ 0 ].slice( 0, excess ); + match[ 2 ] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { + return true; + } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + ( pattern = new RegExp( "(^|" + whitespace + + ")" + className + "(" + whitespace + "|$)" ) ) && classCache( + className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); + } ); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + /* eslint-disable max-len */ + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + /* eslint-enable max-len */ + + }; + }, + + "CHILD": function( type, what, _argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, _context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( ( node = node[ dir ] ) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( ( node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + + // Use previously-cached element index if available + if ( useCache ) { + + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + + // Use the same loop as above to seek `elem` from the start + while ( ( node = ++nodeIndex && node && node[ dir ] || + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || + ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction( function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); + } + } ) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + + // Potentially complex pseudos + "not": markFunction( function( selector ) { + + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction( function( seed, matches, _context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( ( elem = unmatched[ i ] ) ) { + seed[ i ] = !( matches[ i ] = elem ); + } + } + } ) : + function( elem, _context, xml ) { + input[ 0 ] = elem; + matcher( input, null, xml, results ); + + // Don't keep the element (issue #299) + input[ 0 ] = null; + return !results.pop(); + }; + } ), + + "has": markFunction( function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + } ), + + "contains": markFunction( function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + } ), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + + // lang value must be a valid identifier + if ( !ridentifier.test( lang || "" ) ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( ( elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); + return false; + }; + } ), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && + ( !document.hasFocus || document.hasFocus() ) && + !!( elem.type || elem.href || ~elem.tabIndex ); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return ( nodeName === "input" && !!elem.checked ) || + ( nodeName === "option" && !!elem.selected ); + }, + + "selected": function( elem ) { + + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos[ "empty" ]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( ( attr = elem.getAttribute( "type" ) ) == null || + attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo( function() { + return [ 0 ]; + } ), + + "last": createPositionalPseudo( function( _matchIndexes, length ) { + return [ length - 1 ]; + } ), + + "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + } ), + + "even": createPositionalPseudo( function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "odd": createPositionalPseudo( function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ) + } +}; + +Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || ( match = rcomma.exec( soFar ) ) ) { + if ( match ) { + + // Don't consume trailing commas as valid + soFar = soFar.slice( match[ 0 ].length ) || soFar; + } + groups.push( ( tokens = [] ) ); + } + + matched = false; + + // Combinators + if ( ( match = rcombinators.exec( soFar ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + + // Cast descendant combinators to space + type: match[ 0 ].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || + ( match = preFilters[ type ]( match ) ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[ i ].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || + ( outerCache[ elem.uniqueID ] = {} ); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( ( oldCache = uniqueCache[ key ] ) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return ( newCache[ 2 ] = oldCache[ 2 ] ); + } else { + + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[ i ]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[ 0 ]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[ i ], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( ( elem = unmatched[ i ] ) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction( function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( + selector || "*", + context.nodeType ? [ context ] : context, + [] + ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( ( elem = temp[ i ] ) ) { + matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) ) { + + // Restore matcherIn since elem is not yet a final match + temp.push( ( matcherIn[ i ] = elem ) ); + } + } + postFinder( null, ( matcherOut = [] ), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) && + ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { + + seed[ temp ] = !( results[ temp ] = elem ); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + } ); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[ 0 ].type ], + implicitRelative = leadingRelative || Expr.relative[ " " ], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + ( checkContext = context ).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[ j ].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens + .slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), + + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), + len = elems.length; + + if ( outermost ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( !context && elem.ownerDocument != document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( ( matcher = elementMatchers[ j++ ] ) ) { + if ( matcher( elem, context || document, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + + // They will have gone through all possible matchers + if ( ( elem = !matcher && elem ) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( ( matcher = setMatchers[ j++ ] ) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !( unmatched[ i ] || setMatched[ i ] ) ) { + setMatched[ i ] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[ i ] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( + selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) + ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( ( selector = compiled.selector || selector ) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[ 0 ] = match[ 0 ].slice( 0 ); + if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { + + context = ( Expr.find[ "ID" ]( token.matches[ 0 ] + .replace( runescape, funescape ), context ) || [] )[ 0 ]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[ i ]; + + // Abort if we hit a combinator + if ( Expr.relative[ ( type = token.type ) ] ) { + break; + } + if ( ( find = Expr.find[ type ] ) ) { + + // Search, expanding context for leading sibling combinators + if ( ( seed = find( + token.matches[ 0 ].replace( runescape, funescape ), + rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || + context + ) ) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert( function( el ) { + + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; +} ); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert( function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute( "href" ) === "#"; +} ) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + } ); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert( function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +} ) ) { + addHandle( "value", function( elem, _name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + } ); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert( function( el ) { + return el.getAttribute( "disabled" ) == null; +} ) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; + } + } ); +} + +return Sizzle; + +} )( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +} +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, _i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, _i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, _i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( elem.contentDocument != null && + + // Support: IE 11+ + // elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto( elem.contentDocument ) ) { + + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( _i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the primary Deferred + primary = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + primary.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( primary.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return primary.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); + } + + return primary.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, _key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( _all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // Support: IE <=9 only + // IE <=9 replaces "; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
    " ], + col: [ 2, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + + _default: [ 0, "", "" ] +}; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "" ]; +} + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Only attach events to objects that accept data + if ( !acceptData( elem ) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = Object.create( null ); + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( nativeEvent ), + + handlers = ( + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + + // Support: Chrome 86+ + // In Chrome, if an element having a focusout handler is blurred by + // clicking outside of it, it invokes the handler synchronously. If + // that handler calls `.remove()` on the element, the data is cleared, + // leaving `result` undefined. We need to guard against this. + return result && result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + which: true +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + // Suppress native focus or blur as it's already being fired + // in leverageNative. + _default: function() { + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.get( src ); + events = pdataOld.events; + + if ( events ) { + dataPriv.remove( dest, "handle events" ); + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = flat( args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + }, doc ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html; + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var swap = function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableTrDimensionsVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + }, + + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + // + // Support: Firefox 70+ + // Only Firefox includes border widths + // in computed dimensions. (gh-4529) + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if ( reliableTrDimensionsVal == null ) { + table = document.createElement( "table" ); + tr = document.createElement( "tr" ); + trChild = document.createElement( "div" ); + + table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; + tr.style.cssText = "border:1px solid"; + + // Support: Chrome 86+ + // Height set through cssText does not get applied. + // Computed height then comes back as 0. + tr.style.height = "1px"; + trChild.style.height = "9px"; + + // Support: Android 8 Chrome 86+ + // In our bodyBackground.html iframe, + // display for all div elements is set to "inline", + // which causes a problem only in Android 8 Chrome 86. + // Ensuring the div is display: block + // gets around this issue. + trChild.style.display = "block"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + + parseInt( trStyle.borderTopWidth, 10 ) + + parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( _elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. + if ( ( !support.boxSizingReliable() && isBorderBox || + + // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName( elem, "tr" ) || + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + val === "auto" || + + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + + // Make sure the element is visible & connected + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( _i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = { guid: Date.now() }; + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml, parserErrorElem; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) {} + + parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; + if ( !xml || parserErrorElem ) { + jQuery.error( "Invalid XML: " + ( + parserErrorElem ? + jQuery.map( parserErrorElem.childNodes, function( el ) { + return el.textContent; + } ).join( "\n" ) : + data + ) ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ).filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ).map( function( _i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + +originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Use a noop converter for missing script but not if jsonp + if ( !isSuccess && + jQuery.inArray( "script", s.dataTypes ) > -1 && + jQuery.inArray( "json", s.dataTypes ) < 0 ) { + s.converters[ "text script" ] = function() {}; + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( _i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + +jQuery.ajaxPrefilter( function( s ) { + var i; + for ( i in s.headers ) { + if ( i.toLowerCase() === "content-type" ) { + s.contentType = s.headers[ i ] || ""; + } + } +} ); + + +jQuery._evalUrl = function( url, options, doc ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options, doc ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " \ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..cca343a --- /dev/null +++ b/docs/index.html @@ -0,0 +1,224 @@ + + + + + + + +Monitor d'OSM • monitorOSM + + + + + + + + + + + + + + + + + Skip to contents + + +
    +
    +
    + + + + +

    monitorOSM és un repositori que serveix per monitoritzar canvis a OpenStreetMap comparant els objectes amb bases de dades de referència.

    +

    Podeu veure els informes que s’actualitzen diàriament a https://osm-catalan.github.io/monitorOSM. Els informes de canvis mostren taules amb l’estat de les etiquetes a OSM i a les bases de dades de referència:

    + + + + + + + + + + + + + + + + + + + + + + + + +
    +osm_url + +canvi + +name:ca + +name + +wikipedia +
    +http://osm.org/node/XXXX + ++ + +nom a OSM + +Sense canvis + +
    +http://osm.org/node/XXXX + +- + +nom de referència + +Sense canvis + +ca:Eliminat +
    +

    També es mostra quins conjunts de canvis han trencat les etiquetes amb enllaços per si es vol deixar comentaris.

    +
    +

    Afegir nous objectes a les bases de dades +

    +

    Si voleu afegir objectes amb les seves etiquetes a les bases de dades, podeu obrir un tiquet o podeu provar de fer un PR amb les instruccions que trobareu a aquí. Fora bo que els estats de referència dels objectes siguin consensuats amb la Comunitat d’OpenStreetmap en català.

    +
    +
    +

    Paquet d’R +

    +

    La consulta, comparació amb bases de dades de referència i renderització de la web es fan amb un paquet d’R i accions de github. El paquet també inclou funcions per restaurar els objectes de manera ràpida, però com a projecte comunitari, és important intentar parlar amb els usuaris que discrepen de les bases de dades de referència. Vegeu la documentació del paquet d’R per més detalls.

    +
    +

    Exemples d’ús del paquet +

    +

    Instal·leu el paquet d’R:

    +
    +# install.packages("remotes")
    +remotes::install_github("OSM-Catalan/monitorOSM")
    +
    +
    +

    Generació dels informes locals +

    +

    Per refrescar els informes localment i veure la web, podeu clonar el repositori i des d’R situat a la carpeta del projecte:

    +
    +# install.packages("quarto")
    +library(quarto)
    +quarto_render()
    +
    +

    Exemple de restauració +

    +

    Restauració de les etiquetes name i wikipedia de les comarques del País Valencià:

    +
    +library(monitorOSM)
    +
    +id <- modifica_etiquetes_osm(
    +  comarques[comarques$regio == "PV", ],
    +  claus = c("name", "wikipedia"),
    +  comentari = "Restaura els noms de les comarques dels País Valencià", hashtags = "monitorOSM"
    +)
    +

    Retorna l’identificador del conjunt de canvis.

    +
    +
    +
    +
    +
    +
    + + +
    + + + +
    +
    + + + + + + + diff --git a/docs/katex-auto.js b/docs/katex-auto.js new file mode 100644 index 0000000..20651d9 --- /dev/null +++ b/docs/katex-auto.js @@ -0,0 +1,14 @@ +// https://github.com/jgm/pandoc/blob/29fa97ab96b8e2d62d48326e1b949a71dc41f47a/src/Text/Pandoc/Writers/HTML.hs#L332-L345 +document.addEventListener("DOMContentLoaded", function () { + var mathElements = document.getElementsByClassName("math"); + var macros = []; + for (var i = 0; i < mathElements.length; i++) { + var texText = mathElements[i].firstChild; + if (mathElements[i].tagName == "SPAN") { + katex.render(texText.data, mathElements[i], { + displayMode: mathElements[i].classList.contains("display"), + throwOnError: false, + macros: macros, + fleqn: false + }); + }}}); diff --git a/docs/lightswitch.js b/docs/lightswitch.js new file mode 100644 index 0000000..9467125 --- /dev/null +++ b/docs/lightswitch.js @@ -0,0 +1,85 @@ + +/*! + * Color mode toggler for Bootstrap's docs (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under the Creative Commons Attribution 3.0 Unported License. + * Updates for {pkgdown} by the {bslib} authors, also licensed under CC-BY-3.0. + */ + +const getStoredTheme = () => localStorage.getItem('theme') +const setStoredTheme = theme => localStorage.setItem('theme', theme) + +const getPreferredTheme = () => { + const storedTheme = getStoredTheme() + if (storedTheme) { + return storedTheme + } + + return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' +} + +const setTheme = theme => { + if (theme === 'auto') { + document.documentElement.setAttribute('data-bs-theme', (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light')) + } else { + document.documentElement.setAttribute('data-bs-theme', theme) + } +} + +function bsSetupThemeToggle () { + 'use strict' + + const showActiveTheme = (theme, focus = false) => { + var activeLabel, activeIcon; + + document.querySelectorAll('[data-bs-theme-value]').forEach(element => { + const buttonTheme = element.getAttribute('data-bs-theme-value') + const isActive = buttonTheme == theme + + element.classList.toggle('active', isActive) + element.setAttribute('aria-pressed', isActive) + + if (isActive) { + activeLabel = element.textContent; + activeIcon = element.querySelector('span').classList.value; + } + }) + + const themeSwitcher = document.querySelector('#dropdown-lightswitch') + if (!themeSwitcher) { + return + } + + themeSwitcher.setAttribute('aria-label', activeLabel) + themeSwitcher.querySelector('span').classList.value = activeIcon; + + if (focus) { + themeSwitcher.focus() + } + } + + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => { + const storedTheme = getStoredTheme() + if (storedTheme !== 'light' && storedTheme !== 'dark') { + setTheme(getPreferredTheme()) + } + }) + + window.addEventListener('DOMContentLoaded', () => { + showActiveTheme(getPreferredTheme()) + + document + .querySelectorAll('[data-bs-theme-value]') + .forEach(toggle => { + toggle.addEventListener('click', () => { + const theme = toggle.getAttribute('data-bs-theme-value') + setTheme(theme) + setStoredTheme(theme) + showActiveTheme(theme, true) + }) + }) + }) +} + +setTheme(getPreferredTheme()); +bsSetupThemeToggle(); diff --git a/docs/link.svg b/docs/link.svg new file mode 100644 index 0000000..88ad827 --- /dev/null +++ b/docs/link.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/docs/logo.svg b/docs/logo.svg new file mode 100644 index 0000000..fa3697c --- /dev/null +++ b/docs/logo.svg @@ -0,0 +1,338 @@ + + + OpenStreetMap Catalan Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + OpenStreetMap Catalan Logo + + + + + + + 2022-11 + + + + + + Official logo for OpenStreetMap Foundation by Ken Vermette +Catalan flag : wikimedia + + + OSM openstreetmap catalan logo + + + http://wiki.openstreetmap.org/wiki/File:Public-images-osm_logo.svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 010110010011010110010011  + 010110010011010110010011  + + + diff --git a/docs/pkgdown.js b/docs/pkgdown.js new file mode 100644 index 0000000..1a99c65 --- /dev/null +++ b/docs/pkgdown.js @@ -0,0 +1,162 @@ +/* http://gregfranko.com/blog/jquery-best-practices/ */ +(function($) { + $(function() { + + $('nav.navbar').headroom(); + + Toc.init({ + $nav: $("#toc"), + $scope: $("main h2, main h3, main h4, main h5, main h6") + }); + + if ($('#toc').length) { + $('body').scrollspy({ + target: '#toc', + offset: $("nav.navbar").outerHeight() + 1 + }); + } + + // Activate popovers + $('[data-bs-toggle="popover"]').popover({ + container: 'body', + html: true, + trigger: 'focus', + placement: "top", + sanitize: false, + }); + + $('[data-bs-toggle="tooltip"]').tooltip(); + + /* Clipboard --------------------------*/ + + function changeTooltipMessage(element, msg) { + var tooltipOriginalTitle=element.getAttribute('data-bs-original-title'); + element.setAttribute('data-bs-original-title', msg); + $(element).tooltip('show'); + element.setAttribute('data-bs-original-title', tooltipOriginalTitle); + } + + if(ClipboardJS.isSupported()) { + $(document).ready(function() { + var copyButton = ""; + + $("div.sourceCode").addClass("hasCopyButton"); + + // Insert copy buttons: + $(copyButton).prependTo(".hasCopyButton"); + + // Initialize tooltips: + $('.btn-copy-ex').tooltip({container: 'body'}); + + // Initialize clipboard: + var clipboard = new ClipboardJS('[data-clipboard-copy]', { + text: function(trigger) { + return trigger.parentNode.textContent.replace(/\n#>[^\n]*/g, ""); + } + }); + + clipboard.on('success', function(e) { + changeTooltipMessage(e.trigger, 'Copied!'); + e.clearSelection(); + }); + + clipboard.on('error', function(e) { + changeTooltipMessage(e.trigger,'Press Ctrl+C or Command+C to copy'); + }); + + }); + } + + /* Search marking --------------------------*/ + var url = new URL(window.location.href); + var toMark = url.searchParams.get("q"); + var mark = new Mark("main#main"); + if (toMark) { + mark.mark(toMark, { + accuracy: { + value: "complementary", + limiters: [",", ".", ":", "/"], + } + }); + } + + /* Search --------------------------*/ + /* Adapted from https://github.com/rstudio/bookdown/blob/2d692ba4b61f1e466c92e78fd712b0ab08c11d31/inst/resources/bs4_book/bs4_book.js#L25 */ + // Initialise search index on focus + var fuse; + $("#search-input").focus(async function(e) { + if (fuse) { + return; + } + + $(e.target).addClass("loading"); + var response = await fetch($("#search-input").data("search-index")); + var data = await response.json(); + + var options = { + keys: ["what", "text", "code"], + ignoreLocation: true, + threshold: 0.1, + includeMatches: true, + includeScore: true, + }; + fuse = new Fuse(data, options); + + $(e.target).removeClass("loading"); + }); + + // Use algolia autocomplete + var options = { + autoselect: true, + debug: true, + hint: false, + minLength: 2, + }; + var q; +async function searchFuse(query, callback) { + await fuse; + + var items; + if (!fuse) { + items = []; + } else { + q = query; + var results = fuse.search(query, { limit: 20 }); + items = results + .filter((x) => x.score <= 0.75) + .map((x) => x.item); + if (items.length === 0) { + items = [{dir:"Sorry 😿",previous_headings:"",title:"No results found.",what:"No results found.",path:window.location.href}]; + } + } + callback(items); +} + $("#search-input").autocomplete(options, [ + { + name: "content", + source: searchFuse, + templates: { + suggestion: (s) => { + if (s.title == s.what) { + return `${s.dir} >
    ${s.title}
    `; + } else if (s.previous_headings == "") { + return `${s.dir} >
    ${s.title}
    > ${s.what}`; + } else { + return `${s.dir} >
    ${s.title}
    > ${s.previous_headings} > ${s.what}`; + } + }, + }, + }, + ]).on('autocomplete:selected', function(event, s) { + window.location.href = s.path + "?q=" + q + "#" + s.id; + }); + }); +})(window.jQuery || window.$) + +document.addEventListener('keydown', function(event) { + // Check if the pressed key is '/' + if (event.key === '/') { + event.preventDefault(); // Prevent any default action associated with the '/' key + document.getElementById('search-input').focus(); // Set focus to the search input + } +}); diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml new file mode 100644 index 0000000..16289a7 --- /dev/null +++ b/docs/pkgdown.yml @@ -0,0 +1,8 @@ +pandoc: 3.1.11 +pkgdown: 2.1.1 +pkgdown_sha: ~ +articles: {} +last_built: 2024-12-18T20:20Z +urls: + reference: https://osm-catalan.github.io/monitorOSM/docs/reference + article: https://osm-catalan.github.io/monitorOSM/docs/articles diff --git a/docs/reference/PPCC.html b/docs/reference/PPCC.html new file mode 100644 index 0000000..07ced57 --- /dev/null +++ b/docs/reference/PPCC.html @@ -0,0 +1,98 @@ + +Països Catalans — PPCC • monitorOSM + Skip to contents + + +
    +
    +
    + +
    +

    Dades dels Països Catalans a OSM.

    +
    + +
    +

    Usage

    +
    PPCC
    +
    + +
    +

    Format

    +

    Un data.frame amb les dades de la relació «Països Catalans» per les següents 6 variables.

    name:ca
    +

    Etiqueta name:ca.

    + +
    osm_id
    +

    Número identificador a OSM.

    + +
    osm_type
    +

    Tipus d'objecte d'OSM.

    + +
    name
    +

    Etiqueta name.

    + +
    wikipedia
    +

    Etiqueta wikipedia.

    + +
    wikidata
    +

    Etiqueta wikidata.

    + + +
    +
    +

    See also

    +

    Altres bases de dades de referència: + municipis, comarques, territoris, + loc_admin_centre_municipis.

    +
    + +
    +

    Examples

    +
    PPCC[, 1:3]
    +#>           name:ca   osm_id osm_type
    +#> 1 Països Catalans 11747082 relation
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/canvis_html.html b/docs/reference/canvis_html.html new file mode 100644 index 0000000..c35a9f6 --- /dev/null +++ b/docs/reference/canvis_html.html @@ -0,0 +1,75 @@ + +Canvis en html — canvis_html • monitorOSM + Skip to contents + + +
    +
    +
    + +
    +

    Mostra diferències de taules en html si n'hi ha. Funció pensada per usar en fitxers .qmd o .Rmd.

    +
    + +
    +

    Usage

    +
    canvis_html(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    un objecte de compareDF::compare_df().

    + +
    +
    +

    Value

    +

    La taula html amb les diferències o una cadena de text indicant que no hi ha diferències.

    +
    + +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/capitals.html b/docs/reference/capitals.html new file mode 100644 index 0000000..8a08919 --- /dev/null +++ b/docs/reference/capitals.html @@ -0,0 +1,367 @@ + +Capitals d'estats del mon — capitals • monitorOSM + Skip to contents + + +
    +
    +
    + +
    +

    Dades de les capitals d'estats del mon, objectes amb etiquetes `capital = 2`, `capital = yes` o nodes amb el rol +d'`admin_centre` de de relacions d'estats.

    +
    + +
    +

    Usage

    +
    capitals
    +
    + +
    +

    Format

    +

    Un data.frame amb dades de les 155 capitals per les següents 8 variables.

    name:ca
    +

    Etiqueta name:ca.

    + +
    name
    +

    Etiqueta name.

    + +
    osm_id
    +

    Número identificador a OSM.

    + +
    osm_type
    +

    Tipus d'objecte d'OSM.

    + +
    alt_name
    +

    Etiqueta alt_name.

    + +
    alt_name:ca
    +

    Etiqueta name.

    + +
    place
    +

    Etiqueta place.

    + +
    wikidata
    +

    Etiqueta wikidata.

    + + +
    +
    +

    See also

    +

    Altres bases de dades d'exotopònims de referència: + estats, mars.

    +
    + +
    +

    Examples

    +
    capitals[, c("name:ca", "name", "wikidata")]
    +#>                  name:ca                                  name wikidata
    +#> 1                   <NA>                                  کابل    Q5838
    +#> 2                   <NA>                   Episkopi Cantonment     <NA>
    +#> 3                 Tirana                                Tiranë   Q19689
    +#> 4                 Berlín                                Berlin      Q64
    +#> 5                  Alger                  Alger ⴷⵣⴰⵢⴻⵔ الجزائر    Q3561
    +#> 6       Andorra la Vella                      Andorra la Vella    Q1863
    +#> 7                   <NA>                                Luanda    Q3897
    +#> 8                   <NA>                            The Valley   Q30994
    +#> 9                   <NA>                            St. John's   Q36262
    +#> 10              Al-Riyad                                الرياض    Q3692
    +#> 11                  <NA>                          Buenos Aires    Q1486
    +#> 12                Erevan                                 Երևան    Q1953
    +#> 13                  <NA>                              Canberra    Q3114
    +#> 14                 Viena                                  Wien    Q1741
    +#> 15                  Bakú                                  Bakı    Q9248
    +#> 16                  <NA>                                Nassau    Q2467
    +#> 17             Al-Manama                               المنامة    Q3882
    +#> 18                  <NA>                                  ঢাকা    Q1354
    +#> 19                  <NA>                            Bridgetown   Q36168
    +#> 20           Brussel·les                   Bruxelles - Brussel     Q239
    +#> 21                  <NA>                              Belmopan    Q3043
    +#> 22            Porto-Novo                            Porto-Novo    Q3799
    +#> 23              Hamilton                              Hamilton   Q30985
    +#> 24                  <NA>                                  ཐིམ་ཕུ    Q9270
    +#> 25                  <NA>                                 Мінск    Q2280
    +#> 26                  <NA>                                 Sucre    Q2907
    +#> 27                  <NA>                                La Paz    Q1491
    +#> 28                  <NA>                              Sarajevo   Q11194
    +#> 29                  <NA>                              Gaborone    Q3919
    +#> 30                  <NA>                              Brasília    Q2844
    +#> 31                  <NA>                   Bandar Seri Begawan    Q9279
    +#> 32                 Sofia                                 София     Q472
    +#> 33           Ouagadougou                           Ouagadougou    Q3777
    +#> 34                  <NA>                                Gitega  Q167551
    +#> 35                  <NA>                           រាជធានីភ្នំពេញ    Q1850
    +#> 36                  <NA>                               Yaoundé    Q3808
    +#> 37                  <NA>                                Ottawa    Q1930
    +#> 38                  <NA>                                 Praia    Q3751
    +#> 39     Ciutat del Vaticà Civitas Vaticana - Città del Vaticano     Q237
    +#> 40                Bogotà                                Bogotá    Q2841
    +#> 41                  <NA>                         Moroni موروني    Q3901
    +#> 42                  <NA>                           Brazzaville    Q3844
    +#> 43             Pyongyang                                평양시   Q18808
    +#> 44                  Seül                                  서울    Q8684
    +#> 45                  <NA>                          Yamoussoukro    Q3768
    +#> 46                  <NA>                              San José    Q3070
    +#> 47                Zagreb                                Zagreb    Q1435
    +#> 48              l'Havana                             La Habana    Q1563
    +#> 49           Copenhaguen                             København    Q1748
    +#> 50              Djibouti                       Djibouti جيبوتي    Q3604
    +#> 51                Roseau                                Roseau   Q36281
    +#> 52              el Caire                               القاهرة      Q85
    +#> 53                  <NA>                          San Salvador    Q3110
    +#> 54                  <NA>                               أبو ظبي    Q1519
    +#> 55                  <NA>                                 Quito    Q2900
    +#> 56                  <NA>                     ኣስመራ Asmara أسمرة    Q3642
    +#> 57                  <NA>                            Bratislava    Q1780
    +#> 58                  <NA>                             Ljubljana     Q437
    +#> 59                Madrid                                Madrid    Q2807
    +#> 60         Washington DC                            Washington      Q61
    +#> 61                  <NA>                               Tallinn    Q1770
    +#> 62           Addis Abeba                 አዲስ አበባ / Addis Ababa    Q3624
    +#> 63                  <NA>                                  Suva   Q38807
    +#> 64                Manila                                Manila    Q1461
    +#> 65              Hèlsinki                              Helsinki    Q1757
    +#> 66                 París                                 Paris      Q90
    +#> 67                  <NA>                            Libreville    Q3825
    +#> 68                  <NA>                                Banjul    Q3726
    +#> 69              Tbilissi                               თბილისი     Q994
    +#> 70                  <NA>                                 Accra    Q3761
    +#> 71                  <NA>                             Gibraltar    Q1410
    +#> 72                Atenes                                 Αθήνα    Q1524
    +#> 73                  <NA>                          St. George's   Q41547
    +#> 74                  <NA>                                  Nuuk     Q226
    +#> 75   Ciutat de Guatemala                   Ciudad de Guatemala    Q1555
    +#> 76                  <NA>                         St Peter Port  Q174262
    +#> 77                  <NA>                               Conakry    Q3733
    +#> 78                  <NA>                                Bissau    Q3739
    +#> 79                  <NA>                                Malabo    Q3818
    +#> 80                  <NA>                            Georgetown   Q10717
    +#> 81                  <NA>                        Port-au-Prince   Q34261
    +#> 82                  <NA>                           Tegucigalpa    Q3238
    +#> 83              Budapest                              Budapest    Q1781
    +#> 84                  Sanà                                 صنعاء    Q2471
    +#> 85                  <NA>                               Douglas   Q18569
    +#> 86                  <NA>                                Brades   Q31006
    +#> 87                  <NA>                           George Town  Q172996
    +#> 88                Avarua                                Avarua  Q170482
    +#> 89                  <NA>                              Tórshavn   Q10704
    +#> 90                  <NA>                     King Edward Point  Q393878
    +#> 91                  <NA>                               Stanley   Q12245
    +#> 92                  <NA>                             Adamstown   Q48273
    +#> 93                  <NA>                         Cockburn Town   Q34205
    +#> 94                  <NA>                             Road Town  Q179431
    +#> 95            Nova Delhi                             New Delhi     Q987
    +#> 96                  <NA>                               Jakarta    Q3630
    +#> 97               Teheran                                 تهران    Q3616
    +#> 98                Bagdad                                 بغداد    Q1530
    +#> 99                Dublín                                Dublin    Q1761
    +#> 100                 <NA>                             Reykjavík    Q1764
    +#> 101            Jerusalem                               ירושלים    Q1218
    +#> 102                 Roma                                  Roma     Q220
    +#> 103                 <NA>                              Kingston   Q34692
    +#> 104               Tòquio                                東京都    Q1490
    +#> 105                 <NA>                             St Helier  Q147738
    +#> 106                 <NA>                                  عمان    Q3805
    +#> 107               Astana                                Астана    Q1520
    +#> 108                 <NA>                               Nairobi    Q3870
    +#> 109               Bixkek                                Бишкек    Q9361
    +#> 110                 <NA>                             Prishtinë   Q25270
    +#> 111            Al-Kuwait                          مدينة الكويت   Q35178
    +#> 112                 <NA>                                 ວຽງຈັນ    Q9326
    +#> 113                 <NA>                                Maseru    Q3909
    +#> 114                 Riga                                  Rīga    Q1773
    +#> 115                 <NA>                                 بيروت    Q3820
    +#> 116             Monròvia                              Monrovia    Q3748
    +#> 117              Trípoli                                طرابلس    Q3579
    +#> 118                 <NA>                                 Vaduz    Q1844
    +#> 119              Vílnius                               Vilnius     Q216
    +#> 120  Ciutat de Luxemburg                            Luxembourg    Q1842
    +#> 121                 <NA>                                Скопје     Q384
    +#> 122         Antananarivo                          Antananarivo     <NA>
    +#> 123                 <NA>                          Kuala Lumpur    Q1865
    +#> 124                 <NA>                              Lilongwe    Q3876
    +#> 125                 <NA>                                    މާލެ    Q9347
    +#> 126                 <NA>                                Bamako    Q3703
    +#> 127          La Valletta                              Valletta   Q23800
    +#> 128                 <NA>                     Rabat ⵔⴱⴰⵟ الرباط    Q3551
    +#> 129           Port Louis                            Port Louis    Q3929
    +#> 130                 <NA>                               نواكشوط    Q3688
    +#> 131      Ciutat de Mèxic                      Ciudad de México    Q1489
    +#> 132              Palikir                               Palikir   Q42751
    +#> 133               Maputo                                Maputo    Q3889
    +#> 134                 <NA>                              Chișinău   Q21197
    +#> 135               Mònaco                                Monaco     Q235
    +#> 136           Ulan Bator             Улаанбаатар ᠤᠯᠠᠭᠠᠨᠪᠠᠭᠠᠲᠤᠷ   Q23430
    +#> 137                 <NA>                             Podgorica   Q23564
    +#> 138                 <NA>                              နေပြည်တော်   Q37400
    +#> 139             Windhoek                              Windhoek    Q3935
    +#> 140                Yaren                                 Yaren   Q31026
    +#> 141             Katmandú                               काठमाडौं    Q3037
    +#> 142                 <NA>                               Managua    Q3274
    +#> 143                 <NA>                                Niamey    Q3674
    +#> 144                 <NA>                                 Abuja    Q3787
    +#> 145                Alofi                                 Alofi   Q30966
    +#> 146                 Oslo                                  Oslo     Q585
    +#> 147                 <NA>                            Wellington   Q23661
    +#> 148               Masqat                                  مسقط    Q3826
    +#> 149                 <NA>                             Amsterdam     Q727
    +#> 150                 <NA>                            اسلام آباد    Q1362
    +#> 151                 <NA>                             Ngerulmud  Q515229
    +#> 152               Panamà                                Panamá    Q3306
    +#> 153                 <NA>                          Port Moresby   Q36526
    +#> 154                 <NA>                              Asunción    Q2933
    +#> 155                 <NA>                                  Lima    Q2868
    +#> 156             Varsòvia                              Warszawa     Q270
    +#> 157                 <NA>                                Lisboa     Q597
    +#> 158                 Doha                                الدوحة    Q3861
    +#> 159              Londres                                London      Q84
    +#> 160               Bangui                                Bangui    Q3832
    +#> 161                 <NA>                              Kinshasa    Q3838
    +#> 162                 <NA>                         Santo Domingo   Q34820
    +#> 163             Bucarest                             București   Q19660
    +#> 164               Moscou                                Москва     Q649
    +#> 165                 <NA>                                Kigali    Q3859
    +#> 166                 <NA>                            Basseterre   Q41295
    +#> 167                 <NA>                              Castries   Q41699
    +#> 168                 <NA>                             Kingstown   Q41474
    +#> 169                 <NA>                               Honiara   Q40921
    +#> 170                 <NA>                                  Apia   Q36260
    +#> 171 Ciutat de San Marino                   Città di San Marino    Q1848
    +#> 172                 <NA>                              São Tomé    Q3932
    +#> 173                 <NA>                                 Dakar    Q3718
    +#> 174              Belgrad                               Београд    Q3711
    +#> 175             Victòria                              Victoria    Q3940
    +#> 176                 <NA>                              Freetown    Q3780
    +#> 177             Singapur                             Singapore     Q334
    +#> 178               Damasc                                  دمشق    Q3766
    +#> 179             Mogadixo                       Muqdisho مقديشو    Q2449
    +#> 180                 <NA>                               Colombo   Q35381
    +#> 181             Pretòria                              Pretoria    Q3926
    +#> 182              Khartum                               الخرطوم    Q1963
    +#> 183                 Juba                                  Juba    Q1947
    +#> 184             Estocolm                             Stockholm    Q1754
    +#> 185                Berna                                  Bern      Q70
    +#> 186                 <NA>                            Paramaribo    Q3001
    +#> 187              Mbabane                               Mbabane    Q3904
    +#> 188             Duixanbe                               Душанбе    Q9365
    +#> 189                 <NA>                          กรุงเทพมหานคร    Q1861
    +#> 190               Taipei                                臺北市    Q1867
    +#> 191                 <NA>                                Dodoma    Q3866
    +#> 192                 <NA>                     Camp Thunder Cove Q5027293
    +#> 193                 <NA>                                  Dili    Q9310
    +#> 194                 <NA>                                  Lomé    Q3792
    +#> 195                 <NA>                               Fakaofo Q2140263
    +#> 196           Nuku'alofa                            Nukuʻalofa   Q38834
    +#> 197                 <NA>                         Port of Spain   Q39178
    +#> 198              Tunísia                                  تونس    Q3572
    +#> 199                 <NA>                               Aşgabat   Q23438
    +#> 200                 <NA>                                Ankara    Q3640
    +#> 201                 <NA>                              Funafuti   Q34126
    +#> 202            N'Djamena                     N'Djaména انجمينا    Q3659
    +#> 203                Praga                                 Praha    Q1085
    +#> 204                 Kíiv                                  Київ    Q1899
    +#> 205                 <NA>                               Kampala    Q3894
    +#> 206                 <NA>                            Montevideo    Q1335
    +#> 207             Taixkent                              Toshkent     Q269
    +#> 208            Port Vila                             Port Vila   Q37806
    +#> 209                 <NA>                               Caracas    Q1533
    +#> 210                Hanoi                                Hà Nội    Q1858
    +#> 211                 <NA>                              Santiago    Q2887
    +#> 212               Pequín                                北京市     Q956
    +#> 213              Nicòsia                    Λευκωσία - Lefkoşa    Q3856
    +#> 214                 <NA>                                Lusaka    Q3881
    +#> 215                 <NA>                                Harare    Q3921
    +#> 216                Alger                                 Alger  Q141026
    +#> 217               Astana                                Астана    Q1520
    +#> 218       Ciutat del Cap                             Cape Town    Q5465
    +#> 219               Erevan                                 Երևան    Q1953
    +#> 220             Hèlsinki                              Helsinki    Q1757
    +#> 221             l'Havana                             La Habana   Q12588
    +#> 222                 Lomé                                  Lomé    Q3792
    +#> 223               Majuro                                 Mājro   Q12919
    +#> 224                París                                 Paris      Q90
    +#> 225               Taipei                                臺北市    Q1867
    +#> 226             Taixkent                              Toshkent     Q269
    +#> 227              Tallinn                               Tallinn    Q1770
    +#> 228           Tarawa Sud                          South Tarawa  Q131233
    +#> 229              Teheran                             شهر تهران    Q3616
    +#> 230             Varsòvia                              Warszawa     Q270
    +#> 231                Viena                                  Wien    Q1741
    +#> 232                 <NA>                             Jamestown   Q30970
    +#> 233                 <NA>                               تفاريتي Q2360337
    +#> 234                 <NA>                          Bloemfontein   Q37701
    +#> 235                 <NA>                              رام الله  Q158119
    +#> 236                 <NA>             Sri Jayawardenepura Kotte   Q41963
    +#> 237                 <NA>                      Ciudad de la Paz Q1140136
    +#> 238                 <NA>                       Hargeysa هرجيسا  Q168652
    +#> 239                 <NA>                                 Мінск    Q2280
    +#> 240                 <NA>                           Saint-Denis   Q47045
    +#> 241                 <NA>                             Pago Pago   Q51678
    +#> 242                 <NA>                               Hagåtña   Q30988
    +#> 243                 <NA>                      Charlotte Amalie   Q51681
    +#> 244                 <NA>                           Basse-Terre  Q167024
    +#> 245                 <NA>                        Fort-de-France   Q81621
    +#> 246                 <NA>                          Saint-Pierre  Q249884
    +#> 247                 <NA>                                Nouméa    Q9733
    +#> 248                 <NA>                               Douglas   Q18569
    +#> 249                 <NA>                               Cayenne   Q44401
    +#> 250                 <NA>                              Chișinău   Q21197
    +#> 251                 <NA>                             Mariehamn   Q48329
    +#> 252                 <NA>                                  Bakı     <NA>
    +#> 253                 <NA>                       Reykjavíkurborg    Q1764
    +#> 254                 <NA>                                Zagreb    Q1435
    +#> 255                 <NA>                             Mamoudzou  Q132676
    +#> 256                 <NA>                            Bratislava    Q1780
    +#> 257                 <NA>                    Cantón de San José Q2536213
    +#> 258                 <NA>                                 София     Q472
    +#> 259                 <NA>                             Prishtinë   Q25270
    +#> 260                 <NA>                             شهر بوکان     <NA>
    +#> 261                 <NA>                     Port-aux-Français  Q839559
    +#> 262                 <NA>                              Belmopan    Q3043
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/cerca_versio_canvis.html b/docs/reference/cerca_versio_canvis.html new file mode 100644 index 0000000..8bc68e0 --- /dev/null +++ b/docs/reference/cerca_versio_canvis.html @@ -0,0 +1,86 @@ + +Cerca les versions que introdueixen canvis — cerca_versio_canvis • monitorOSM + Skip to contents + + +
    +
    +
    + +
    +

    Cerca les versions que introdueixen canvis

    +
    + +
    +

    Usage

    +
    cerca_versio_canvis(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    El resultat de comprova_canvis_osm() o similar.

    + +
    +
    +

    Value

    +

    Retorna una llista de les versions que introdueixen canvis per cada etiqueta.

    +
    + +
    +

    Examples

    +
    if (FALSE) { # \dontrun{
    +comarques_canviades <- comarques[, setdiff(names(comarques), "regio")]
    +comarques_canviades$name[1] <- "Malnom"
    +canvis <- comprova_canvis_osm(comarques_canviades)
    +versions_canvi <- cerca_versio_canvis(canvis)
    +versions_canvi
    +} # }
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/comarques.html b/docs/reference/comarques.html new file mode 100644 index 0000000..23cdef6 --- /dev/null +++ b/docs/reference/comarques.html @@ -0,0 +1,206 @@ + +Comarques dels Països Catalans — comarques • monitorOSM + Skip to contents + + +
    +
    +
    + +
    +

    Dades de les Comarques dels Països Catalans.

    +
    + +
    +

    Usage

    +
    comarques
    +
    + +
    +

    Format

    +

    Un data.frame amb dades de les 95 comarques per les següents 9 variables.

    name:ca
    +

    Etiqueta name:ca.

    + +
    regio
    +

    Subdivisió ["Andorra", "CatNord", "Franja", "Illes", "Múrcia", "Principat", "PV"].

    + +
    osm_id
    +

    Número identificador a OSM.

    + +
    osm_type
    +

    Tipus d'objecte d'OSM.

    + +
    name
    +

    Etiqueta name.

    + +
    wikipedia
    +

    Etiqueta wikipedia.

    + +
    wikidata
    +

    Etiqueta wikidata.

    + +
    admin_level
    +

    Etiqueta admin_level.

    + +
    historic:admin_level
    +

    Etiqueta historic:admin_level.

    + + +
    +
    +

    Note

    +

    Les parròquies d'Andorra corresponen a comarques (admin_level = "7") i s'inclouen a comarques.

    +
    +
    +

    See also

    +

    Altres bases de dades de referència: + PPCC, municipis, territoris, + loc_admin_centre_municipis.

    +
    + +
    +

    Examples

    +
    comarques[, c("name:ca", "regio", "name")]
    +#>                name:ca     regio                                     name
    +#> 1     Andorra la Vella   Andorra                         Andorra la Vella
    +#> 2              Canillo   Andorra                                  Canillo
    +#> 3               Encamp   Andorra                                   Encamp
    +#> 4   Escaldes-Engordany   Andorra                       Escaldes-Engordany
    +#> 5           La Massana   Andorra                               La Massana
    +#> 6               Ordino   Andorra                                   Ordino
    +#> 7  Sant Julià de Lòria   Andorra                      Sant Julià de Lòria
    +#> 8        Alta Cerdanya   CatNord                            Alta Cerdanya
    +#> 9               Capcir   CatNord                                   Capcir
    +#> 10            Conflent   CatNord                                 Conflent
    +#> 11          Fenolledès   CatNord                               Fenolhedés
    +#> 12            Rosselló   CatNord                                 Rosselló
    +#> 13           Vallespir   CatNord                                Vallespir
    +#> 14          Baix Aragó    Franja                              Bajo Aragón
    +#> 15     Baix Aragó-Casp    Franja      Bajo Aragón-Caspe / Baix Aragó-Casp
    +#> 16          Baix Cinca    Franja                  Bajo Cinca / Baix Cinca
    +#> 17          La Llitera    Franja                   La Litera / La Llitera
    +#> 18          Matarranya    Franja                   Matarraña / Matarranya
    +#> 19           Ribagorça    Franja                                Ribagorza
    +#> 20             Eivissa     Illes                                  Eivissa
    +#> 21          Formentera     Illes                               Formentera
    +#> 22             Llevant     Illes                                  Llevant
    +#> 23             Menorca     Illes                                  Menorca
    +#> 24             Migjorn     Illes                                  Migjorn
    +#> 25               Palma     Illes                                    Palma
    +#> 26     Pla de Mallorca     Illes                          Pla de Mallorca
    +#> 27             Raiguer     Illes                                  Raiguer
    +#> 28 Serra de Tramuntana     Illes                      Serra de Tramuntana
    +#> 29            el Carxe    Múrcia                                El Carche
    +#> 30            Alt Camp Principat                                 Alt Camp
    +#> 31         Alt Empordà Principat                              Alt Empordà
    +#> 32         Alt Penedès Principat                              Alt Penedès
    +#> 33          Alt Urgell Principat                               Alt Urgell
    +#> 34      Alta Ribagorça Principat                           Alta Ribagorça
    +#> 35               Anoia Principat                                    Anoia
    +#> 36               Bages Principat                                    Bages
    +#> 37           Baix Camp Principat                                Baix Camp
    +#> 38           Baix Ebre Principat                                Baix Ebre
    +#> 39        Baix Empordà Principat                             Baix Empordà
    +#> 40      Baix Llobregat Principat                           Baix Llobregat
    +#> 41        Baix Penedès Principat                             Baix Penedès
    +#> 42          Barcelonès Principat                               Barcelonès
    +#> 43            Berguedà Principat                                 Berguedà
    +#> 44            Cerdanya Principat                                 Cerdanya
    +#> 45    Conca de Barberà Principat                         Conca de Barberà
    +#> 46              Garraf Principat                                   Garraf
    +#> 47           Garrigues Principat                                Garrigues
    +#> 48            Garrotxa Principat                                 Garrotxa
    +#> 49             Gironès Principat                                  Gironès
    +#> 50            la Selva Principat                                 la Selva
    +#> 51            Lluçanès Principat                                 Lluçanès
    +#> 52             Maresme Principat                                  Maresme
    +#> 53             Moianès Principat                                  Moianès
    +#> 54             Montsià Principat                                  Montsià
    +#> 55             Noguera Principat                                  Noguera
    +#> 56               Osona Principat                                    Osona
    +#> 57       Pallars Jussà Principat                            Pallars Jussà
    +#> 58      Pallars Sobirà Principat                           Pallars Sobirà
    +#> 59        Pla d'Urgell Principat                             Pla d'Urgell
    +#> 60     Pla de l'Estany Principat                          Pla de l'Estany
    +#> 61             Priorat Principat                                  Priorat
    +#> 62       Ribera d'Ebre Principat                            Ribera d'Ebre
    +#> 63            Ripollès Principat                                 Ripollès
    +#> 64             Segarra Principat                                  Segarra
    +#> 65              Segrià Principat                                   Segrià
    +#> 66            Solsonès Principat                                 Solsonès
    +#> 67          Tarragonès Principat                               Tarragonès
    +#> 68          Terra Alta Principat                               Terra Alta
    +#> 69              Urgell Principat                                   Urgell
    +#> 70   Vallès Occidental Principat                        Vallès Occidental
    +#> 71     Vallès Oriental Principat                          Vallès Oriental
    +#> 72 Comarca de València        PV                      Comarca de València
    +#> 73    el Baix Maestrat        PV                         el Baix Maestrat
    +#> 74      el Baix Segura        PV el Baix Segura / La Vega Baja del Segura
    +#> 75    el Baix Vinalopó        PV                         el Baix Vinalopó
    +#> 76 el Camp de Morvedre        PV                      el Camp de Morvedre
    +#> 77    el Camp de Túria        PV                         el Camp de Túria
    +#> 78           el Comtat        PV                                el Comtat
    +#> 79   el Vinalopó Mitjà        PV    el Vinalopó Mitjà / El Vinalopó Medio
    +#> 80           els Ports        PV                                els Ports
    +#> 81          l'Alacantí        PV                               l'Alacantí
    +#> 82         l'Alcalatén        PV                              l'Alcalatén
    +#> 83            l'Alcoià        PV                                 l'Alcoià
    +#> 84      l'Alt Maestrat        PV                           l'Alt Maestrat
    +#> 85      l'Alt Vinalopó        PV        l'Alt Vinalopó / El Alto Vinalopó
    +#> 86        l'Horta Nord        PV                             l'Horta Nord
    +#> 87         l'Horta Sud        PV                              l'Horta Sud
    +#> 88          la Costera        PV                               la Costera
    +#> 89      la Marina Alta        PV                           la Marina Alta
    +#> 90     la Marina Baixa        PV                          la Marina Baixa
    +#> 91       la Plana Alta        PV                            la Plana Alta
    +#> 92      la Plana Baixa        PV                           la Plana Baixa
    +#> 93      la Ribera Alta        PV                           la Ribera Alta
    +#> 94     la Ribera Baixa        PV                          la Ribera Baixa
    +#> 95            la Safor        PV                                 la Safor
    +#> 96   la Vall d'Albaida        PV                        la Vall d'Albaida
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/comprova_canvis_osm.html b/docs/reference/comprova_canvis_osm.html new file mode 100644 index 0000000..8620a4f --- /dev/null +++ b/docs/reference/comprova_canvis_osm.html @@ -0,0 +1,95 @@ + +Comprova canvis a OSM — comprova_canvis_osm • monitorOSM + Skip to contents + + +
    +
    +
    + +
    +

    Compara l'estat actual d'objectes d'OSM respecte a una taula de referència.

    +
    + +
    +

    Usage

    +
    comprova_canvis_osm(x, centre = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    un data.frame amb les columnes osm_type, osm_id i etiquetes que vulguem comprovar.

    + + +
    centre
    +

    si és TRUE, afegeix les coordenades del centre de l'objecte a les columnes osm_center_lon i +osm_center_lat.

    + +
    +
    +

    Value

    +

    Retorna una comparació amb compareDF::compare_df() de les diferències d'etiquetes dels objectes d'OSM d'x +respecte a les etiquetes actuals a OSM.

    +
    +
    +

    Details

    +

    Només es comparen les etiquetes presents com a columnes d'x i la resta s'ometen.

    +
    + +
    +

    Examples

    +
    if (FALSE) { # \dontrun{
    +comarques_canviades <- comarques[, setdiff(names(comarques), "regio")]
    +comarques_canviades$name[1] <- "Malnom"
    +canvis <- comprova_canvis_osm(comarques_canviades)
    +canvis_html(canvis)
    +} # }
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/consulta_etiquetes_osm.html b/docs/reference/consulta_etiquetes_osm.html new file mode 100644 index 0000000..7519f2e --- /dev/null +++ b/docs/reference/consulta_etiquetes_osm.html @@ -0,0 +1,93 @@ + +Consulta etiquetes d'OSM — consulta_etiquetes_osm • monitorOSM + Skip to contents + + +
    +
    +
    + +
    +

    Consulta etiquetes d'OSM

    +
    + +
    +

    Usage

    +
    consulta_etiquetes_osm(x, etiquetes, centre = FALSE)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    un data.frame o matrix amb les columnes osm_type i osm_id.

    + + +
    etiquetes
    +

    noms de les claus de les etiquetes a consultar. Si no s'especifica, s'afegeixen totes les etiquetes +dels objectes.

    + + +
    centre
    +

    si és TRUE, afegeix les coordenades del centre de l'objecte a les columnes osm_center_lon i +osm_center_lat.

    + +
    +
    +

    Value

    +

    Retorna x amb les etiquetes dels objectes com a columnes. Si les columnes ja existien, actualitza els +valors de les etiquetes i conserva l'ordre de les columnes originals afegint les noves al final.

    +
    + +
    +

    Examples

    +
    if (FALSE) { # \dontrun{
    +territoris_etiquetes_completes <- consulta_etiquetes_osm(territoris)
    +} # }
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/estats.html b/docs/reference/estats.html new file mode 100644 index 0000000..89fd003 --- /dev/null +++ b/docs/reference/estats.html @@ -0,0 +1,860 @@ + +Estats del mon — estats • monitorOSM + Skip to contents + + +
    +
    +
    + +
    +

    Dades dels estats del mon, relacions amb etiquetes `admin_centre = 2` i `boundary = administrative`.

    +
    + +
    +

    Usage

    +
    estats
    +
    + +
    +

    Format

    +

    Un data.frame amb dades dels 243 estats per les següents 9 variables.

    name:ca
    +

    Etiqueta name:ca.

    + +
    name
    +

    Etiqueta name.

    + +
    osm_id
    +

    Número identificador a OSM.

    + +
    osm_type
    +

    Tipus d'objecte d'OSM.

    + +
    alt_name
    +

    Etiqueta alt_name.

    + +
    alt_name:ca
    +

    Etiqueta name.

    + +
    long_name
    +

    Etiqueta alt_name:ca.

    + +
    native_name
    +

    Etiqueta native_name.

    + +
    official_name
    +

    Etiqueta official_name.

    + +
    official_name:ca
    +

    Etiqueta official_name:ca.

    + +
    old_name
    +

    Etiqueta old_name.

    + +
    old_name:ca
    +

    Etiqueta old_name:ca.

    + +
    old_official_name
    +

    Etiqueta old_official_name.

    + +
    old_official_name:ca
    +

    Etiqueta old_official_name:ca.

    + +
    short_name
    +

    Etiqueta short_name.

    + +
    short_name:ca
    +

    Etiqueta short_name:ca.

    + +
    wikidata
    +

    Etiqueta wikidata.

    + + +
    +
    +

    See also

    +

    Altres bases de dades d'exotopònims de referència: + capitals, mars.

    +
    + +
    +

    Examples

    +
    estats[, c("name:ca", "name", "wikidata")]
    +#>                                       name:ca
    +#> 1                                  Afganistan
    +#> 2                          Akrotiri i Dekélia
    +#> 3                                     Albània
    +#> 4                                    Alemanya
    +#> 5                                     Algèria
    +#> 6                                     Andorra
    +#> 7                                      Angola
    +#> 8                                    Anguilla
    +#> 9                           Antigua i Barbuda
    +#> 10                             Aràbia Saudita
    +#> 11                                  Argentina
    +#> 12                                    Armènia
    +#> 13                                  Austràlia
    +#> 14                                    Àustria
    +#> 15                                Azerbaidjan
    +#> 16                                    Bahames
    +#> 17                                    Bahrain
    +#> 18                                Bangla Desh
    +#> 19                                   Barbados
    +#> 20                                    Bèlgica
    +#> 21                                     Belize
    +#> 22                                      Benín
    +#> 23                                   Bermudes
    +#> 24                                     Bhutan
    +#> 25                                Bielorússia
    +#> 26                                    Bolívia
    +#> 27                       Bòsnia i Hercegovina
    +#> 28                                   Botswana
    +#> 29                                     Brasil
    +#> 30                                     Brunei
    +#> 31                                   Bulgària
    +#> 32                               Burkina Faso
    +#> 33                                    Burundi
    +#> 34                                   Cambodja
    +#> 35                                    Camerun
    +#> 36                                     Canadà
    +#> 37                                   Cap Verd
    +#> 38                          Ciutat del Vaticà
    +#> 39                                   Colòmbia
    +#> 40                                    Comores
    +#> 41                                      Congo
    +#> 42                             Corea del Nord
    +#> 43                              Corea del Sud
    +#> 44                              Costa d'Ivori
    +#> 45                                 Costa Rica
    +#> 46                                    Croàcia
    +#> 47                                       Cuba
    +#> 48                                  Dinamarca
    +#> 49                                   Djibouti
    +#> 50                                   Dominica
    +#> 51                                     Egipte
    +#> 52                                El Salvador
    +#> 53                        Emirats Àrabs Units
    +#> 54                                    Equador
    +#> 55                                    Eritrea
    +#> 56                                 Eslovàquia
    +#> 57                                  Eslovènia
    +#> 58                                    Espanya
    +#> 59                     Estats Units d'Amèrica
    +#> 60                                    Estònia
    +#> 61                                   Eswatini
    +#> 62                                    Etiòpia
    +#> 63                                       Fiji
    +#> 64                                  Filipines
    +#> 65                                  Finlàndia
    +#> 66                                     França
    +#> 67                           França - Andorra
    +#> 68                           França - Espanya
    +#> 69                                      Gabon
    +#> 70                                     Gàmbia
    +#> 71                                    Geòrgia
    +#> 72                                      Ghana
    +#> 73                                  Gibraltar
    +#> 74                                     Grècia
    +#> 75                                    Grenada
    +#> 76                                Groenlàndia
    +#> 77                                  Guatemala
    +#> 78                                   Guernsey
    +#> 79                                     Guinea
    +#> 80                              Guinea Bissau
    +#> 81                          Guinea Equatorial
    +#> 82                                     Guyana
    +#> 83                                      Haití
    +#> 84                                   Hondures
    +#> 85                                    Hongria
    +#> 86                                      Iemen
    +#> 87                                Illa de Man
    +#> 88                         Illa de Montserrat
    +#> 89                               Illes Caiman
    +#> 90                                 Illes Cook
    +#> 91                                Illes Fèroe
    +#> 92   Illes Geòrgia del Sud i Sandwich del Sud
    +#> 93                             Illes Malvines
    +#> 94                             Illes Marshall
    +#> 95                             Illes Pitcairn
    +#> 96                       Illes Turks i Caicos
    +#> 97                   Illes Verges Britàniques
    +#> 98                                      Índia
    +#> 99                                  Indonèsia
    +#> 100                                      Iran
    +#> 101                                      Iraq
    +#> 102                                   Irlanda
    +#> 103                                  Islàndia
    +#> 104                                    Israel
    +#> 105                                    Itàlia
    +#> 106                                   Jamaica
    +#> 107                                      Japó
    +#> 108                                    Jersey
    +#> 109                                  Jordània
    +#> 110                                Kazakhstan
    +#> 111                                     Kenya
    +#> 112                              Kirguizistan
    +#> 113                                  Kiribati
    +#> 114                                    Kosovo
    +#> 115                                    Kuwait
    +#> 116                                      Laos
    +#> 117                                   Lesotho
    +#> 118                                   Letònia
    +#> 119                                     Líban
    +#> 120                                   Libèria
    +#> 121                                     Líbia
    +#> 122                             Liechtenstein
    +#> 123                                  Lituània
    +#> 124                                 Luxemburg
    +#> 125                        Macedònia del Nord
    +#> 126                                Madagascar
    +#> 127                                  Malàisia
    +#> 128                                    Malawi
    +#> 129                                  Maldives
    +#> 130                                      Mali
    +#> 131                                     Malta
    +#> 132                                    Marroc
    +#> 133                                   Maurici
    +#> 134                                Mauritània
    +#> 135                                     Mèxic
    +#> 136                                Micronèsia
    +#> 137                                  Moçambic
    +#> 138                                  Moldàvia
    +#> 139                                    Mònaco
    +#> 140                                  Mongòlia
    +#> 141                                Montenegro
    +#> 142                                   Myanmar
    +#> 143                                   Namíbia
    +#> 144                                     Nauru
    +#> 145                                     Nepal
    +#> 146                                 Nicaragua
    +#> 147                                     Níger
    +#> 148                                   Nigèria
    +#> 149                                      Niue
    +#> 150                                   Noruega
    +#> 151                              Nova Zelanda
    +#> 152                                      Oman
    +#> 153                             Països Baixos
    +#> 154                                  Pakistan
    +#> 155                                     Palau
    +#> 156                                    Panamà
    +#> 157                         Papua Nova Guinea
    +#> 158                                  Paraguai
    +#> 159                                      Perú
    +#> 160                                   Polònia
    +#> 161                                  Portugal
    +#> 162                                     Qatar
    +#> 163                                Regne Unit
    +#> 164        República Àrab Sahrauí Democràtica
    +#> 165                  República Centreafricana
    +#> 166           República Democràtica del Congo
    +#> 167                      República Dominicana
    +#> 168                                   Romania
    +#> 169                                    Rússia
    +#> 170                                    Rwanda
    +#> 171                       Saint Kitts i Nevis
    +#> 172                               Saint Lucia
    +#> 173            Saint Vincent i les Grenadines
    +#> 174                                    Salomó
    +#> 175                                     Samoa
    +#> 176                                San Marino
    +#> 177 Santa Helena, Ascensió i Tristan da Cunha
    +#> 178                       São Tomé i Príncipe
    +#> 179                                   Senegal
    +#> 180                                    Sèrbia
    +#> 181                                Seychelles
    +#> 182                              Sierra Leone
    +#> 183                                  Singapur
    +#> 184                                     Síria
    +#> 185                                   Somàlia
    +#> 186                                 Sri Lanka
    +#> 187                                Sud-àfrica
    +#> 188                                     Sudan
    +#> 189                             Sudan del Sud
    +#> 190                                    Suècia
    +#> 191                                    Suïssa
    +#> 192                                   Surinam
    +#> 193                               Tadjikistan
    +#> 194                                 Tailàndia
    +#> 195                                    Taiwan
    +#> 196                                  Tanzània
    +#> 197        Territori Britànic de l'Oceà Índic
    +#> 198                            Timor Oriental
    +#> 199                                      Togo
    +#> 200                                   Tokelau
    +#> 201                                     Tonga
    +#> 202                         Trinitat i Tobago
    +#> 203                                   Tunísia
    +#> 204                              Turkmenistan
    +#> 205                                   Turquia
    +#> 206                                    Tuvalu
    +#> 207                                      Txad
    +#> 208                                   Txèquia
    +#> 209                                   Ucraïna
    +#> 210                                    Uganda
    +#> 211                                   Uruguai
    +#> 212                                Uzbekistan
    +#> 213                                   Vanuatu
    +#> 214                                 Veneçuela
    +#> 215                                   Vietnam
    +#> 216                                      Xile
    +#> 217                                      Xina
    +#> 218                                     Xipre
    +#> 219                                    Zàmbia
    +#> 220                                  Zimbabwe
    +#> 221                                      <NA>
    +#> 222                                      <NA>
    +#> 223                                      <NA>
    +#> 224                                      <NA>
    +#> 225                                      <NA>
    +#> 226                                      <NA>
    +#> 227                                      <NA>
    +#> 228                                      <NA>
    +#> 229                                      <NA>
    +#> 230                                      <NA>
    +#> 231                                      <NA>
    +#> 232                                      <NA>
    +#> 233                                      <NA>
    +#> 234                                      <NA>
    +#> 235                                      <NA>
    +#> 236                                      <NA>
    +#> 237                                      <NA>
    +#> 238                                      <NA>
    +#> 239                                      <NA>
    +#> 240                                      <NA>
    +#> 241                                      <NA>
    +#> 242                                      <NA>
    +#> 243                                      <NA>
    +#>                                                                             name
    +#> 1                                                                      افغانستان
    +#> 2                                                          Akrotiri and Dhekelia
    +#> 3                                                                      Shqipëria
    +#> 4                                                                    Deutschland
    +#> 5                                                        Algérie ⵍⵣⵣⴰⵢⴻⵔ الجزائر
    +#> 6                                                                        Andorra
    +#> 7                                                                         Angola
    +#> 8                                                                       Anguilla
    +#> 9                                                            Antigua and Barbuda
    +#> 10                                                                      السعودية
    +#> 11                                                                     Argentina
    +#> 12                                                                      Հայաստան
    +#> 13                                                                     Australia
    +#> 14                                                                    Österreich
    +#> 15                                                                    Azərbaycan
    +#> 16                                                                   The Bahamas
    +#> 17                                                                       البحرين
    +#> 18                                                                      বাংলাদেশ
    +#> 19                                                                      Barbados
    +#> 20                                                   België / Belgique / Belgien
    +#> 21                                                                        Belize
    +#> 22                                                                         Bénin
    +#> 23                                                                       Bermuda
    +#> 24                                                                        འབྲུགཡུལ་
    +#> 25                                                                      Беларусь
    +#> 26                                                                       Bolivia
    +#> 27                                     Bosna i Hercegovina / Босна и Херцеговина
    +#> 28                                                                      Botswana
    +#> 29                                                                        Brasil
    +#> 30                                                                        Brunei
    +#> 31                                                                      България
    +#> 32                                                                  Burkina Faso
    +#> 33                                                                       Burundi
    +#> 34                                                             ព្រះរាជាណាចក្រ​កម្ពុជា
    +#> 35                                                                      Cameroun
    +#> 36                                                                        Canada
    +#> 37                                                                    Cabo Verde
    +#> 38                                         Civitas Vaticana - Città del Vaticano
    +#> 39                                                                      Colombia
    +#> 40                                                      Comores Komori جزر القمر
    +#> 41                                                                         Congo
    +#> 42                                                        조선민주주의인민공화국
    +#> 43                                                                      대한민국
    +#> 44                                                                 Côte d’Ivoire
    +#> 45                                                                    Costa Rica
    +#> 46                                                                      Hrvatska
    +#> 47                                                                          Cuba
    +#> 48                                                                       Danmark
    +#> 49                                                               Djibouti جيبوتي
    +#> 50                                                                      Dominica
    +#> 51                                                                           مصر
    +#> 52                                                                   El Salvador
    +#> 53                                                      الإمارات العربية المتحدة
    +#> 54                                                                       Ecuador
    +#> 55                                                           ኤርትራ Eritrea إرتريا
    +#> 56                                                                     Slovensko
    +#> 57                                                                     Slovenija
    +#> 58                                                                        España
    +#> 59                                                                 United States
    +#> 60                                                                         Eesti
    +#> 61                                                                      eSwatini
    +#> 62                                                                         ኢትዮጵያ
    +#> 63                                                                          Viti
    +#> 64                                                                     Pilipinas
    +#> 65                                                               Suomi / Finland
    +#> 66                                                                        France
    +#> 67                                                              France - Andorra
    +#> 68                                                               France - España
    +#> 69                                                                         Gabon
    +#> 70                                                                        Gambia
    +#> 71                                                                    საქართველო
    +#> 72                                                                         Ghana
    +#> 73                                                                     Gibraltar
    +#> 74                                                                         Ελλάς
    +#> 75                                                                       Grenada
    +#> 76                                                              Kalaallit Nunaat
    +#> 77                                                                     Guatemala
    +#> 78                                                                      Guernsey
    +#> 79                                                                        Guinée
    +#> 80                                                                  Guiné-Bissau
    +#> 81                                                             Guinea Ecuatorial
    +#> 82                                                                        Guyana
    +#> 83                                                                         Ayiti
    +#> 84                                                                      Honduras
    +#> 85                                                                  Magyarország
    +#> 86                                                                         اليمن
    +#> 87                                                                   Isle of Man
    +#> 88                                                                    Montserrat
    +#> 89                                                                Cayman Islands
    +#> 90                                                                  Kūki ʻĀirani
    +#> 91                                                                       Føroyar
    +#> 92                                  South Georgia and the South Sandwich Islands
    +#> 93                                                              Falkland Islands
    +#> 94                                                                         Ṃajeḷ
    +#> 95                                                              Pitcairn Islands
    +#> 96                                                      Turks and Caicos Islands
    +#> 97                                                        British Virgin Islands
    +#> 98                                                                         India
    +#> 99                                                                     Indonesia
    +#> 100                                                                        ایران
    +#> 101                                                                       العراق
    +#> 102                                                               Éire / Ireland
    +#> 103                                                                       Ísland
    +#> 104                                                                        ישראל
    +#> 105                                                                       Italia
    +#> 106                                                                      Jamaica
    +#> 107                                                                         日本
    +#> 108                                                                       Jersey
    +#> 109                                                                       الأردن
    +#> 110                                                                    Қазақстан
    +#> 111                                                                        Kenya
    +#> 112                                                                   Кыргызстан
    +#> 113                                                                     Kiribati
    +#> 114                                                              Kosova / Kosovo
    +#> 115                                                                       الكويت
    +#> 116                                                                     ປະເທດລາວ
    +#> 117                                                                      Lesotho
    +#> 118                                                                      Latvija
    +#> 119                                                                        لبنان
    +#> 120                                                                      Liberia
    +#> 121                                                                        ليبيا
    +#> 122                                                                Liechtenstein
    +#> 123                                                                      Lietuva
    +#> 124                                                                   Lëtzebuerg
    +#> 125                                                           Северна Македонија
    +#> 126                                                    Madagasikara / Madagascar
    +#> 127                                                                     Malaysia
    +#> 128                                                                       Malawi
    +#> 129                                                                       ދިވެހިރާއްޖެ
    +#> 130                                                                         Mali
    +#> 131                                                                        Malta
    +#> 132                                                          Maroc ⵍⵎⵖⵔⵉⴱ المغرب
    +#> 133                                                          Mauritius / Maurice
    +#> 134                                                                    موريتانيا
    +#> 135                                                                       México
    +#> 136                                                                   Micronesia
    +#> 137                                                                   Moçambique
    +#> 138                                                                      Moldova
    +#> 139                                                                       Monaco
    +#> 140                                                       Монгол улс ᠮᠤᠩᠭᠤᠯ ᠤᠯᠤᠰ
    +#> 141                                                        Crna Gora / Црна Гора
    +#> 142                                                                        မြန်မာ
    +#> 143                                                                      Namibia
    +#> 144                                                                       Naoero
    +#> 145                                                                         नेपाल
    +#> 146                                                                    Nicaragua
    +#> 147                                                                        Niger
    +#> 148                                                                      Nigeria
    +#> 149                                                                         Niuē
    +#> 150                                                                        Norge
    +#> 151                                                       New Zealand / Aotearoa
    +#> 152                                                                         عمان
    +#> 153                                                                    Nederland
    +#> 154                                                                      پاکستان
    +#> 155                                                                        Belau
    +#> 156                                                                       Panamá
    +#> 157                                                                Papua Niugini
    +#> 158                                                          Paraguay / Paraguái
    +#> 159                                                                         Perú
    +#> 160                                                                       Polska
    +#> 161                                                                     Portugal
    +#> 162                                                                          قطر
    +#> 163                                                               United Kingdom
    +#> 164 República Árabe Saharaui Democrática الجمهورية العربية الصحراوية الديمقراطية
    +#> 165                           Ködörösêse tî Bêafrîka / République centrafricaine
    +#> 166                                             République démocratique du Congo
    +#> 167                                                         República Dominicana
    +#> 168                                                                      România
    +#> 169                                                                       Россия
    +#> 170                                                                       Rwanda
    +#> 171                                                        Saint Kitts and Nevis
    +#> 172                                                                  Saint Lucia
    +#> 173                                             Saint Vincent and the Grenadines
    +#> 174                                                              Solomon Islands
    +#> 175                                                                        Sāmoa
    +#> 176                                                                   San Marino
    +#> 177                                 Saint Helena, Ascension and Tristan da Cunha
    +#> 178                                                          São Tomé e Príncipe
    +#> 179                                                                      Sénégal
    +#> 180                                                                       Србија
    +#> 181                                                                        Sesel
    +#> 182                                                                 Sierra Leone
    +#> 183                                                                    Singapore
    +#> 184                                                                        سوريا
    +#> 185                                                           Soomaaliya الصومال
    +#> 186                                                                    Sri Lanka
    +#> 187                                                                 South Africa
    +#> 188                                                                      السودان
    +#> 189                                                     South Sudan جنوب السودان
    +#> 190                                                                      Sverige
    +#> 191                                               Schweiz/Suisse/Svizzera/Svizra
    +#> 192                                                                     Suriname
    +#> 193                                                                   Тоҷикистон
    +#> 194                                                                    ประเทศไทย
    +#> 195                                                                         臺灣
    +#> 196                                                                     Tanzania
    +#> 197                                               British Indian Ocean Territory
    +#> 198                                                                  Timor-Leste
    +#> 199                                                                         Togo
    +#> 200                                                                      Tokelau
    +#> 201                                                                        Tonga
    +#> 202                                                          Trinidad and Tobago
    +#> 203                                                                         تونس
    +#> 204                                                                 Türkmenistan
    +#> 205                                                                      Türkiye
    +#> 206                                                                       Tuvalu
    +#> 207                                                                   Tchad تشاد
    +#> 208                                                                        Česko
    +#> 209                                                                      Україна
    +#> 210                                                                       Uganda
    +#> 211                                                                      Uruguay
    +#> 212                                                                  Oʻzbekiston
    +#> 213                                                                      Vanuatu
    +#> 214                                                                    Venezuela
    +#> 215                                                                     Việt Nam
    +#> 216                                                                        Chile
    +#> 217                                                                         中国
    +#> 218                                                              Κύπρος - Kıbrıs
    +#> 219                                                                       Zambia
    +#> 220                                                                     Zimbabwe
    +#> 221                                                     Deutschland - Österreich
    +#> 222                                    Deutschland — Schweiz / Suisse / Svizerra
    +#> 223                                                 France - Italy (section sud)
    +#> 224                                      France - Schweiz/Suisse/Svizzera/Svizra
    +#> 225                                                         France - Deutschland
    +#> 226                                 France - Luxembourg / Luxemburg / Lëtzebuerg
    +#> 227                                         France - Belgique / België / Belgien
    +#> 228                                                              France - Monaco
    +#> 229                                                         Österreich - Schweiz
    +#> 230                                                   Österreich — Liechtenstein
    +#> 231                                     Österreich — Schweiz / Suisse / Svizzera
    +#> 232                            Deutschland - Luxembourg / Luxemburg / Lëtzebuerg
    +#> 233                                                           Italia - Slovenija
    +#> 234                                                     Magyarország - Slovenija
    +#> 235                                                         Hrvatska - Slovenija
    +#> 236                                      Nederland — Belgique / België / Belgien
    +#> 237                                                France - Italy (section nord)
    +#> 238                                                     France / Suriname border
    +#> 239                                                                         <NA>
    +#> 240                                                             Isla Tres Cruces
    +#> 241                                                                   Isla Bassi
    +#> 242                                                         Isla Filomena Grande
    +#> 243                                                                   Isla Verde
    +#>      wikidata
    +#> 1        Q889
    +#> 2      Q37362
    +#> 3        Q222
    +#> 4        Q183
    +#> 5        Q262
    +#> 6        Q228
    +#> 7        Q916
    +#> 8      Q25228
    +#> 9        Q781
    +#> 10       Q851
    +#> 11       Q414
    +#> 12       Q399
    +#> 13       Q408
    +#> 14        Q40
    +#> 15       Q227
    +#> 16       Q778
    +#> 17       Q398
    +#> 18       Q902
    +#> 19       Q244
    +#> 20        Q31
    +#> 21       Q242
    +#> 22       Q962
    +#> 23     Q23635
    +#> 24       Q917
    +#> 25       Q184
    +#> 26       Q750
    +#> 27       Q225
    +#> 28       Q963
    +#> 29       Q155
    +#> 30       Q921
    +#> 31       Q219
    +#> 32       Q965
    +#> 33       Q967
    +#> 34       Q424
    +#> 35      Q1009
    +#> 36        Q16
    +#> 37      Q1011
    +#> 38       Q237
    +#> 39       Q739
    +#> 40       Q970
    +#> 41       Q971
    +#> 42       Q423
    +#> 43       Q884
    +#> 44      Q1008
    +#> 45       Q800
    +#> 46       Q224
    +#> 47       Q241
    +#> 48        Q35
    +#> 49       Q977
    +#> 50       Q784
    +#> 51        Q79
    +#> 52       Q792
    +#> 53       Q878
    +#> 54       Q736
    +#> 55       Q986
    +#> 56       Q214
    +#> 57       Q215
    +#> 58        Q29
    +#> 59        Q30
    +#> 60       Q191
    +#> 61      Q1050
    +#> 62       Q115
    +#> 63       Q712
    +#> 64       Q928
    +#> 65        Q33
    +#> 66       Q142
    +#> 67   Q2009420
    +#> 68   Q2637319
    +#> 69      Q1000
    +#> 70      Q1005
    +#> 71       Q230
    +#> 72       Q117
    +#> 73      Q1410
    +#> 74        Q41
    +#> 75       Q769
    +#> 76       Q223
    +#> 77       Q774
    +#> 78     Q25230
    +#> 79      Q1006
    +#> 80      Q1007
    +#> 81       Q983
    +#> 82       Q734
    +#> 83       Q790
    +#> 84       Q783
    +#> 85        Q28
    +#> 86       Q805
    +#> 87      Q9676
    +#> 88     Q13353
    +#> 89      Q5785
    +#> 90     Q26988
    +#> 91      Q4628
    +#> 92     Q35086
    +#> 93      Q9648
    +#> 94       Q709
    +#> 95     Q35672
    +#> 96     Q18221
    +#> 97     Q25305
    +#> 98       Q668
    +#> 99       Q252
    +#> 100      Q794
    +#> 101      Q796
    +#> 102       Q27
    +#> 103      Q189
    +#> 104      Q801
    +#> 105       Q38
    +#> 106      Q766
    +#> 107       Q17
    +#> 108      Q785
    +#> 109      Q810
    +#> 110      Q232
    +#> 111      Q114
    +#> 112      Q813
    +#> 113      Q710
    +#> 114     Q1246
    +#> 115      Q817
    +#> 116      Q819
    +#> 117     Q1013
    +#> 118      Q211
    +#> 119      Q822
    +#> 120     Q1014
    +#> 121     Q1016
    +#> 122      Q347
    +#> 123       Q37
    +#> 124       Q32
    +#> 125      Q221
    +#> 126     Q1019
    +#> 127      Q833
    +#> 128     Q1020
    +#> 129      Q826
    +#> 130      Q912
    +#> 131      Q233
    +#> 132     Q1028
    +#> 133     Q1027
    +#> 134     Q1025
    +#> 135       Q96
    +#> 136      Q702
    +#> 137     Q1029
    +#> 138      Q217
    +#> 139      Q235
    +#> 140      Q711
    +#> 141      Q236
    +#> 142      Q836
    +#> 143     Q1030
    +#> 144      Q697
    +#> 145      Q837
    +#> 146      Q811
    +#> 147     Q1032
    +#> 148     Q1033
    +#> 149    Q34020
    +#> 150       Q20
    +#> 151      Q664
    +#> 152      Q842
    +#> 153    Q29999
    +#> 154      Q843
    +#> 155      Q695
    +#> 156      Q804
    +#> 157      Q691
    +#> 158      Q733
    +#> 159      Q419
    +#> 160       Q36
    +#> 161       Q45
    +#> 162      Q846
    +#> 163      Q145
    +#> 164    Q40362
    +#> 165      Q929
    +#> 166      Q974
    +#> 167      Q786
    +#> 168      Q218
    +#> 169      Q159
    +#> 170     Q1037
    +#> 171      Q763
    +#> 172      Q760
    +#> 173      Q757
    +#> 174      Q685
    +#> 175      Q683
    +#> 176      Q238
    +#> 177   Q192184
    +#> 178     Q1039
    +#> 179     Q1041
    +#> 180      Q403
    +#> 181     Q1042
    +#> 182     Q1044
    +#> 183      Q334
    +#> 184      Q858
    +#> 185     Q1045
    +#> 186      Q854
    +#> 187      Q258
    +#> 188     Q1049
    +#> 189      Q958
    +#> 190       Q34
    +#> 191       Q39
    +#> 192      Q730
    +#> 193      Q863
    +#> 194      Q869
    +#> 195      Q865
    +#> 196      Q924
    +#> 197    Q43448
    +#> 198      Q574
    +#> 199      Q945
    +#> 200    Q36823
    +#> 201      Q678
    +#> 202      Q754
    +#> 203      Q948
    +#> 204      Q874
    +#> 205       Q43
    +#> 206      Q672
    +#> 207      Q657
    +#> 208      Q213
    +#> 209      Q212
    +#> 210     Q1036
    +#> 211       Q77
    +#> 212      Q265
    +#> 213      Q686
    +#> 214      Q717
    +#> 215      Q881
    +#> 216      Q298
    +#> 217      Q148
    +#> 218      Q229
    +#> 219      Q953
    +#> 220      Q954
    +#> 221  Q1991986
    +#> 222  Q1991810
    +#> 223  Q1991288
    +#> 224  Q1991697
    +#> 225  Q1991225
    +#> 226  Q3088912
    +#> 227  Q2052849
    +#> 228  Q1996372
    +#> 229  Q1991486
    +#> 230  Q1991324
    +#> 231  Q1991486
    +#> 232  Q3088708
    +#> 233   Q572463
    +#> 234  Q3088945
    +#> 235  Q1991311
    +#> 236  Q3088843
    +#> 237  Q1991288
    +#> 238  Q3088913
    +#> 239      <NA>
    +#> 240      <NA>
    +#> 241 Q31923393
    +#> 242  Q5921615
    +#> 243 Q18285634
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/figures/logo.svg b/docs/reference/figures/logo.svg new file mode 100644 index 0000000..fa3697c --- /dev/null +++ b/docs/reference/figures/logo.svg @@ -0,0 +1,338 @@ + + + OpenStreetMap Catalan Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + OpenStreetMap Catalan Logo + + + + + + + 2022-11 + + + + + + Official logo for OpenStreetMap Foundation by Ken Vermette +Catalan flag : wikimedia + + + OSM openstreetmap catalan logo + + + http://wiki.openstreetmap.org/wiki/File:Public-images-osm_logo.svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 010110010011010110010011  + 010110010011010110010011  + + + diff --git a/docs/reference/index.html b/docs/reference/index.html new file mode 100644 index 0000000..0cba749 --- /dev/null +++ b/docs/reference/index.html @@ -0,0 +1,164 @@ + +Package index • monitorOSM + Skip to contents + + +
    +
    +
    + +
    +

    Funcions

    + + + + +
    + + + + +
    + + canvis_html() + +
    +
    Canvis en html
    +
    + + cerca_versio_canvis() + +
    +
    Cerca les versions que introdueixen canvis
    +
    + + comprova_canvis_osm() + +
    +
    Comprova canvis a OSM
    +
    + + consulta_etiquetes_osm() + +
    +
    Consulta etiquetes d'OSM
    +
    + + missatge_telegram() + +
    +
    Envia un missatge a al grup de Telegram de la Comunitat en catal\u00E0 d'OpenStreetMap
    +
    + + modifica_etiquetes_osm() + +
    +
    Modifica etiquetes a OSM
    +
    + + versio_canvis_html() + +
    +
    Mostra les versions que introdueixen canvis en html
    +
    +

    Bases de dades de referència

    + + + + +
    + + + + +
    + + PPCC + +
    +
    Països Catalans
    +
    + + capitals + +
    +
    Capitals d'estats del mon
    +
    + + comarques + +
    +
    Comarques dels Països Catalans
    +
    + + estats + +
    +
    Estats del mon
    +
    + + loc_admin_centre_municipis + +
    +
    Centres administratius de les relacions dels municipis dels Països Catalans
    +
    + + mars + +
    +
    Mars i oceans del mon
    +
    + + municipis + +
    +
    Municipis dels Països Catalans
    +
    + + territoris + +
    +
    Territoris dels Països Catalans
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/loc_admin_centre_municipis.html b/docs/reference/loc_admin_centre_municipis.html new file mode 100644 index 0000000..a5442a7 --- /dev/null +++ b/docs/reference/loc_admin_centre_municipis.html @@ -0,0 +1,5217 @@ + +Centres administratius de les relacions dels municipis dels Països Catalans — loc_admin_centre_municipis • monitorOSM + Skip to contents + + +
    +
    +
    + +
    +

    Dades de les localitats que fan d'admin_centre dels municipis dels Països Catalans.

    +
    + +
    +

    Usage

    +
    loc_admin_centre_municipis
    +
    + +
    +

    Format

    +

    Un data.frame amb dades de les 1673 localitats establertes com a admin_centre de les relacions dels + municipis per les següents 10 variables.

    name:ca
    +

    Etiqueta name:ca.

    + +
    regio
    +

    Subdivisió ["Aran", "CatNord", "Franja", "Illes", "Principat", "PV", "Sardenya"].

    + +
    comarca
    +

    Etiqueta name:ca de la comarca on es troba el municipi.

    + +
    municipi
    +

    Etiqueta name:ca del municipi en què l'element fa d'admin_centre.

    + +
    osm_id
    +

    Número identificador a OSM.

    + +
    osm_type
    +

    Tipus d'objecte d'OSM.

    + +
    name
    +

    Etiqueta name.

    + +
    wikipedia
    +

    Etiqueta wikipedia.

    + +
    wikidata
    +

    Etiqueta wikidata.

    + +
    place
    +

    Etiqueta place.

    + + +
    +
    +

    See also

    +

    Altres bases de dades de referència: + PPCC, municipis, comarques, territoris.

    +
    + +
    +

    Examples

    +
    loc_admin_centre_municipis[, c("name:ca", "regio", "municipi", "name")]
    +#>                                    name:ca     regio
    +#> 1                                  Salardú      Aran
    +#> 2                             Arres de Jos      Aran
    +#> 3                                   Bausén      Aran
    +#> 4                                  Bossòst      Aran
    +#> 5                                  Canejan      Aran
    +#> 6                                es Bordes      Aran
    +#> 7                                      Lés      Aran
    +#> 8                                   Viella      Aran
    +#> 9                                  Vilamòs      Aran
    +#> 10   Angostrina i Vilanova de les Escaldes   CatNord
    +#> 11                                Bolquera   CatNord
    +#> 12                                  Dorres   CatNord
    +#> 13                                   Èguet   CatNord
    +#> 14                                    Eina   CatNord
    +#> 15                                  Enveig   CatNord
    +#> 16                                      Er   CatNord
    +#> 17                                 Estavar   CatNord
    +#> 18                Font-romeu, Odelló i Vià   CatNord
    +#> 19                            la Cabanassa   CatNord
    +#> 20                       la Guingueta d'Ix   CatNord
    +#> 21                        la Tor de Querol   CatNord
    +#> 22                                     Llo   CatNord
    +#> 23                               Montlluís   CatNord
    +#> 24                                   Naüja   CatNord
    +#> 25                                   Oceja   CatNord
    +#> 26                       Palau de Cerdanya   CatNord
    +#> 27                                   Porta   CatNord
    +#> 28                                   Portè   CatNord
    +#> 29                               Sallagosa   CatNord
    +#> 30                           Santa Llocaia   CatNord
    +#> 31                               Targasona   CatNord
    +#> 32                                      Ur   CatNord
    +#> 33                           Vallcebollera   CatNord
    +#> 34                              els Angles   CatNord
    +#> 35                            Font-rabiosa   CatNord
    +#> 36                              Formiguera   CatNord
    +#> 37                                Matamala   CatNord
    +#> 38                             Puigbalador   CatNord
    +#> 39                                    Real   CatNord
    +#> 40                              Aiguatèbia   CatNord
    +#> 41                                Arboçols   CatNord
    +#> 42                                 Campome   CatNord
    +#> 43                              Canavelles   CatNord
    +#> 44                       Castell de Vernet   CatNord
    +#> 45                                  Catllà   CatNord
    +#> 46                    Caudiers de Conflent   CatNord
    +#> 47                                   Sançà   CatNord
    +#> 48                                   Clarà   CatNord
    +#> 49                                 Codalet   CatNord
    +#> 50                                   Conat   CatNord
    +#> 51                    Cornellà de Conflent   CatNord
    +#> 52                                  Escaró   CatNord
    +#> 53                      Espirà de Conflent   CatNord
    +#> 54                                  Estoer   CatNord
    +#> 55                                     Eus   CatNord
    +#> 56                                 Fillols   CatNord
    +#> 57                               Finestret   CatNord
    +#> 58                             Fontpedrosa   CatNord
    +#> 59                                   Fullà   CatNord
    +#> 60                               Glorianes   CatNord
    +#> 61                                     Jóc   CatNord
    +#> 62                                  Jújols   CatNord
    +#> 63                              la Bastida   CatNord
    +#> 64                              la Llaguna   CatNord
    +#> 65                                  Llonat   CatNord
    +#> 66                            Marqueixanes   CatNord
    +#> 67                                  Mentet   CatNord
    +#> 68                                   Molig   CatNord
    +#> 69                                  Mosset   CatNord
    +#> 70                                  Noedes   CatNord
    +#> 71                                    Nyer   CatNord
    +#> 72                                   Oleta   CatNord
    +#> 73                                 Orbanyà   CatNord
    +#> 74                                  Orellà   CatNord
    +#> 75                                      Pi   CatNord
    +#> 76                                  Planès   CatNord
    +#> 77                                   Prada   CatNord
    +#> 78                                  Ralleu   CatNord
    +#> 79                                     Rià   CatNord
    +#> 80                                 Rigardà   CatNord
    +#> 81                                   Rodés   CatNord
    +#> 82                             Sant Marçal   CatNord
    +#> 83                  Sant Pere dels Forcats   CatNord
    +#> 84                                  Saorra   CatNord
    +#> 85                                   Sautó   CatNord
    +#> 86                                Serdinyà   CatNord
    +#> 87                                 Soanyes   CatNord
    +#> 88                                 Tarerac   CatNord
    +#> 89                                Taurinyà   CatNord
    +#> 90                                    Toès   CatNord
    +#> 91                             Vallestàvia   CatNord
    +#> 92                               Vallmanya   CatNord
    +#> 93                                  Vernet   CatNord
    +#> 94                  Vilafranca de Conflent   CatNord
    +#> 95                                   Vinçà   CatNord
    +#> 96                                 Ansinyà   CatNord
    +#> 97                               Bellestar   CatNord
    +#> 98                                Campossí   CatNord
    +#> 99                                Caramany   CatNord
    +#> 100                              Cassanyes   CatNord
    +#> 101                   Caudiers de Fenollet   CatNord
    +#> 102                              Centernac   CatNord
    +#> 103                               El Viver   CatNord
    +#> 104                                Felluns   CatNord
    +#> 105                               Fenollet   CatNord
    +#> 106                            les Cabanes   CatNord
    +#> 107                             L'Esquerda   CatNord
    +#> 108                       La Tor de França   CatNord
    +#> 109                                 Lançac   CatNord
    +#> 110                                  Maurí   CatNord
    +#> 111                   Montalbà del Castell   CatNord
    +#> 112                    Pézillà de Conflent   CatNord
    +#> 113                               Planeses   CatNord
    +#> 114                        Prats de Sornià   CatNord
    +#> 115                              Prunyanes   CatNord
    +#> 116                             Rasigueres   CatNord
    +#> 117                               Rebollet   CatNord
    +#> 118                 Sant Martí de Fenollet   CatNord
    +#> 119                   Sant Pau de Fenollet   CatNord
    +#> 120                                 Sornià   CatNord
    +#> 121                              Trevillac   CatNord
    +#> 122                                 Trillà   CatNord
    +#> 123                                   Virà   CatNord
    +#> 124                                 Alenyà   CatNord
    +#> 125                               Argelers   CatNord
    +#> 126                                  Bages   CatNord
    +#> 127                                 Baixàs   CatNord
    +#> 128                  Banyuls de la Marenda   CatNord
    +#> 129                    Banyuls dels Aspres   CatNord
    +#> 130                                    Bao   CatNord
    +#> 131                                 Bompàs   CatNord
    +#> 132                                 Brullà   CatNord
    +#> 133                           Bula d'Amunt   CatNord
    +#> 134                            Bulaternera   CatNord
    +#> 135                              Cabestany   CatNord
    +#> 136                                  Calce   CatNord
    +#> 137                               Calmella   CatNord
    +#> 138                                Cameles   CatNord
    +#> 139                      Canet de Rosselló   CatNord
    +#> 140                                 Cànoes   CatNord
    +#> 141                              Casafabre   CatNord
    +#> 142                          Cases de Pena   CatNord
    +#> 143                 Castellnou dels Aspres   CatNord
    +#> 144                  Cervera de la Marenda   CatNord
    +#> 145                                 Clairà   CatNord
    +#> 146                    Corbera de Rosselló   CatNord
    +#> 147                  Cornellà de la Ribera   CatNord
    +#> 148                    Cornellà del Bèrcol   CatNord
    +#> 149                              Cotlliure   CatNord
    +#> 150                            el Barcarès   CatNord
    +#> 151                               el Soler   CatNord
    +#> 152                                el Voló   CatNord
    +#> 153                                   Elna   CatNord
    +#> 154                       Espirà de l'Aglí   CatNord
    +#> 155                               Estagell   CatNord
    +#> 156                                Forques   CatNord
    +#> 157                                   Illa   CatNord
    +#> 158                   la Cabana de Corbera   CatNord
    +#> 159                       la Roca d'Albera   CatNord
    +#> 160                        la Torre d'Elna   CatNord
    +#> 161                                 Llauró   CatNord
    +#> 162                                 Llupià   CatNord
    +#> 163                                Millars   CatNord
    +#> 164                              Montescot   CatNord
    +#> 165                    Montesquiu d'Albera   CatNord
    +#> 166                                Montner   CatNord
    +#> 167                              Montoriol   CatNord
    +#> 168                                 Nefiac   CatNord
    +#> 169                                    Oms   CatNord
    +#> 170                                   Òpol   CatNord
    +#> 171                                 Ortafà   CatNord
    +#> 172                                   Paçà   CatNord
    +#> 173                        Palau del Vidre   CatNord
    +#> 174                           Paretstortes   CatNord
    +#> 175                               Perpinyà   CatNord
    +#> 176                   Pesillà de la Ribera   CatNord
    +#> 177                                    Pià   CatNord
    +#> 178                             Pollestres   CatNord
    +#> 179                               Pontellà   CatNord
    +#> 180                            Portvendres   CatNord
    +#> 181                            la Trinitat   CatNord
    +#> 182                                Queixàs   CatNord
    +#> 183                             Ribesaltes   CatNord
    +#> 184                               Salelles   CatNord
    +#> 185                                 Salses   CatNord
    +#> 186                  Sant Andreu de Sureda   CatNord
    +#> 187                Sant Cebrià de Rosselló   CatNord
    +#> 188               Sant Esteve del Monestir   CatNord
    +#> 189                     Sant Feliu d'Amunt   CatNord
    +#> 190                     Sant Feliu d'Avall   CatNord
    +#> 191                 Sant Genís de Fontanes   CatNord
    +#> 192                           Sant Hipòlit   CatNord
    +#> 193                     Sant Joan la Cella   CatNord
    +#> 194             Sant Llorenç de la Salanca   CatNord
    +#> 195                  Sant Miquel de Llotes   CatNord
    +#> 196                            Sant Nazari   CatNord
    +#> 197             Santa Coloma de la Comanda   CatNord
    +#> 198                     Santa Maria la Mar   CatNord
    +#> 199                                 Sureda   CatNord
    +#> 200                               Talteüll   CatNord
    +#> 201                                Terrats   CatNord
    +#> 202                                   Tesà   CatNord
    +#> 203                                Toluges   CatNord
    +#> 204                               Torderes   CatNord
    +#> 205                Torrelles de la Salanca   CatNord
    +#> 206                              Trasserra   CatNord
    +#> 207                               Trullars   CatNord
    +#> 208                                   Tuïr   CatNord
    +#> 209               Vilallonga de la Salanca   CatNord
    +#> 210                  Vilallonga dels Monts   CatNord
    +#> 211                             Vilamulaca   CatNord
    +#> 212                  Vilanova de la Ribera   CatNord
    +#> 213                        Vilanova de Raò   CatNord
    +#> 214                                Vingrau   CatNord
    +#> 215                                  Arles   CatNord
    +#> 216                                  Ceret   CatNord
    +#> 217                               Cortsaví   CatNord
    +#> 218                                Costoja   CatNord
    +#> 219                              el Pertús   CatNord
    +#> 220                                 el Tec   CatNord
    +#> 221                      els Banys d'Arles   CatNord
    +#> 222                               L'Albera   CatNord
    +#> 223                              la Menera   CatNord
    +#> 224                             les Cluses   CatNord
    +#> 225                               Montboló   CatNord
    +#> 226                             Montferrer   CatNord
    +#> 227                   Morellàs i les Illes   CatNord
    +#> 228             Prats de Molló i la Presta   CatNord
    +#> 229                                Reiners   CatNord
    +#> 230                Sant Joan de Pladecorts   CatNord
    +#> 231                Sant Llorenç de Cerdans   CatNord
    +#> 232                            Serrallonga   CatNord
    +#> 233                                 Tellet   CatNord
    +#> 234                                 Teulís   CatNord
    +#> 235                                 Vivers   CatNord
    +#> 236                 Aiguaviva de Bergantes    Franja
    +#> 237                     Bellmunt de Mesquí    Franja
    +#> 238                    la Canyada de Beric    Franja
    +#> 239                           la Codonyera    Franja
    +#> 240                           la Ginebrosa    Franja
    +#> 241                           la Sorollera    Franja
    +#> 242                    la Torre de Vilella    Franja
    +#> 243                                   Faió    Franja
    +#> 244                   Favara de Matarranya    Franja
    +#> 245                                 Maella    Franja
    +#> 246                                 Nonasp    Franja
    +#> 247                                  Fraga    Franja
    +#> 248                             Mequinensa    Franja
    +#> 249                                  Saidí    Franja
    +#> 250                       Torrent de Cinca    Franja
    +#> 251                       Vilella de Cinca    Franja
    +#> 252                                Albelda    Franja
    +#> 253                                 Baells    Franja
    +#> 254                            Camporrells    Franja
    +#> 255                           Castillonroi    Franja
    +#> 256                             el Campell    Franja
    +#> 257                             el Torricó    Franja
    +#> 258                      Peralta de la Sal    Franja
    +#> 259                 Sant Esteve de Llitera    Franja
    +#> 260                                  Sanui    Franja
    +#> 261                     Tamarit de Llitera    Franja
    +#> 262                             Valldellou    Franja
    +#> 263                               Vensilló    Franja
    +#> 264                        Arenys de Lledó    Franja
    +#> 265                                 Beseit    Franja
    +#> 266                               Calaceit    Franja
    +#> 267                           Fontdespatla    Franja
    +#> 268                                Fórnols    Franja
    +#> 269                           la Freixneda    Franja
    +#> 270                          la Portellada    Franja
    +#> 271                     la Torre del Comte    Franja
    +#> 272                      la Vall del Tormo    Franja
    +#> 273                         Lledó d'Algars    Franja
    +#> 274                               Massalió    Franja
    +#> 275                               Montroig    Franja
    +#> 276                 Pena-roja de Tastavins    Franja
    +#> 277                               Queretes    Franja
    +#> 278                                 Ràfels    Franja
    +#> 279                           Torredarques    Franja
    +#> 280                         Vall-de-roures    Franja
    +#> 281                           Valljunquera    Franja
    +#> 282                       Areny de Noguera    Franja
    +#> 283                              Benavarri    Franja
    +#> 284                                Beranui    Franja
    +#> 285                                Bonansa    Franja
    +#> 286                             Castigaleu    Franja
    +#> 287                              Estopanyà    Franja
    +#> 288                       la Pobla de Roda    Franja
    +#> 289                              Lasquarri    Franja
    +#> 290                              Les Paüls    Franja
    +#> 291                              Queixigar    Franja
    +#> 292                               Montanui    Franja
    +#> 293                     Pont de Montanyana    Franja
    +#> 294                                Sopeira    Franja
    +#> 295                                  Tolba    Franja
    +#> 296                          Tor-la-ribera    Franja
    +#> 297                                Viacamp    Franja
    +#> 298                                Eivissa     Illes
    +#> 299                Sant Antoni de Portmany     Illes
    +#> 300                  Sant Joan de Labritja     Illes
    +#> 301                Sant Josep de sa Talaia     Illes
    +#> 302                  Santa Eulària des Riu     Illes
    +#> 303            Sant Francesc de Formentera     Illes
    +#> 304                                   Artà     Illes
    +#> 305                              Capdepera     Illes
    +#> 306                                Manacor     Illes
    +#> 307             Sant Llorenç des Cardassar     Illes
    +#> 308                            Son Servera     Illes
    +#> 309                                 Alaior     Illes
    +#> 310                             Ciutadella     Illes
    +#> 311                             es Castell     Illes
    +#> 312                            es Mercadal     Illes
    +#> 313                        es Migjorn Gran     Illes
    +#> 314                              Ferreries     Illes
    +#> 315                                    Maó     Illes
    +#> 316                             Sant Lluís     Illes
    +#> 317                                 Campos     Illes
    +#> 318                               Felanitx     Illes
    +#> 319                              Llucmajor     Illes
    +#> 320                               Santanyí     Illes
    +#> 321                            ses Salines     Illes
    +#> 322                                  Palma     Illes
    +#> 323                                Algaida     Illes
    +#> 324                                 Ariany     Illes
    +#> 325                                Costitx     Illes
    +#> 326                   Lloret de Vistalegre     Illes
    +#> 327                                  Llubí     Illes
    +#> 328                      Maria de la Salut     Illes
    +#> 329                               Montuïri     Illes
    +#> 330                                   Muro     Illes
    +#> 331                                  Petra     Illes
    +#> 332                               Porreres     Illes
    +#> 333                              Sant Joan     Illes
    +#> 334                          Santa Eugènia     Illes
    +#> 335                        Santa Margalida     Illes
    +#> 336                              Sencelles     Illes
    +#> 337                                  Sineu     Illes
    +#> 338                   Vilafranca de Bonany     Illes
    +#> 339                                  Alaró     Illes
    +#> 340                                Alcúdia     Illes
    +#> 341                             Binissalem     Illes
    +#> 342                                  Búger     Illes
    +#> 343                               Campanet     Illes
    +#> 344                                Consell     Illes
    +#> 345                                   Inca     Illes
    +#> 346                                Lloseta     Illes
    +#> 347                      Mancor de la Vall     Illes
    +#> 348                            sa Cabaneta     Illes
    +#> 349                               sa Pobla     Illes
    +#> 350                   Santa Maria del Camí     Illes
    +#> 351                                  Selva     Illes
    +#> 352                                Andratx     Illes
    +#> 353                            Banyalbufar     Illes
    +#> 354                                Bunyola     Illes
    +#> 355                                 Calvià     Illes
    +#> 356                                   Deià     Illes
    +#> 357                                   Lluc     Illes
    +#> 358                               Esporles     Illes
    +#> 359                             Estellencs     Illes
    +#> 360                              Fornalutx     Illes
    +#> 361                               Pollença     Illes
    +#> 362                            Puigpunyent     Illes
    +#> 363                                 Sóller     Illes
    +#> 364                            Valldemossa     Illes
    +#> 365                            Aiguamúrcia Principat
    +#> 366                                Alcover Principat
    +#> 367                                   Alió Principat
    +#> 368                                 Bràfim Principat
    +#> 369                         Cabra del Camp Principat
    +#> 370                                el Milà Principat
    +#> 371                  el Pla de Santa Maria Principat
    +#> 372                    el Pont d'Armentera Principat
    +#> 373                             el Rourell Principat
    +#> 374                          els Garidells Principat
    +#> 375                     Figuerola del Camp Principat
    +#> 376                                la Masó Principat
    +#> 377                                la Riba Principat
    +#> 378                               Mont-ral Principat
    +#> 379                              Montferri Principat
    +#> 380                                 Nulles Principat
    +#> 381                              Puigpelat Principat
    +#> 382                                 Querol Principat
    +#> 383                                Rodonyà Principat
    +#> 384                               Vallmoll Principat
    +#> 385                                  Valls Principat
    +#> 386                            Vila-rodona Principat
    +#> 387                              Vilabella Principat
    +#> 388                               Agullana Principat
    +#> 389                                Albanyà Principat
    +#> 390                Avinyonet de Puigventós Principat
    +#> 391                                Bàscara Principat
    +#> 392                                  Biure Principat
    +#> 393                     Boadella d'Empordà Principat
    +#> 394                               Borrassà Principat
    +#> 395                             Cabanelles Principat
    +#> 396                                Cabanes Principat
    +#> 397                               Cadaqués Principat
    +#> 398                               Campmany Principat
    +#> 399                             Cantallops Principat
    +#> 400                    Castelló d'Empúries Principat
    +#> 401                    Castelló d'Empúries Principat
    +#> 402                               Cistella Principat
    +#> 403                                 Colera Principat
    +#> 404                                Darnius Principat
    +#> 405                       el Far d'Empordà Principat
    +#> 406                    el Port de la Selva Principat
    +#> 407                                Espolla Principat
    +#> 408                               Figueres Principat
    +#> 409                                 Fortià Principat
    +#> 410                               Garrigàs Principat
    +#> 411                            Garriguella Principat
    +#> 412                            l'Armentera Principat
    +#> 413                               l'Escala Principat
    +#> 414                            la Jonquera Principat
    +#> 415                        la Selva de Mar Principat
    +#> 416                               la Vajol Principat
    +#> 417                                 Llançà Principat
    +#> 418                        Lledó d'Empordà Principat
    +#> 419                                  Llers Principat
    +#> 420                    Maçanet de Cabrenys Principat
    +#> 421                                Masarac Principat
    +#> 422                     Mollet de Peralada Principat
    +#> 423                                 Navata Principat
    +#> 424                                  Ordis Principat
    +#> 425                          Santa Eulàlia Principat
    +#> 426                        Palau-saverdera Principat
    +#> 427                                    Pau Principat
    +#> 428                                  Marzà Principat
    +#> 429                               Peralada Principat
    +#> 430                         Pont de Molins Principat
    +#> 431                                 Pontós Principat
    +#> 432                                Portbou Principat
    +#> 433                                  Rabós Principat
    +#> 434                                Riumors Principat
    +#> 435                                  Roses Principat
    +#> 436                  Sant Climent Sescebes Principat
    +#> 437                Sant Llorenç de la Muga Principat
    +#> 438                  Sant Miquel de Fluvià Principat
    +#> 439                              Sant Mori Principat
    +#> 440                     Sant Pere Pescador Principat
    +#> 441                Santa Llogaia d'Àlguema Principat
    +#> 442                              Camallera Principat
    +#> 443                                Siurana Principat
    +#> 444                               Terrades Principat
    +#> 445                    Torroella de Fluvià Principat
    +#> 446                               Ventalló Principat
    +#> 447                             Vila-sacra Principat
    +#> 448                            Vilabertran Principat
    +#> 449                              Viladamat Principat
    +#> 450                               Vilafant Principat
    +#> 451                              Vilajuïga Principat
    +#> 452                            Vilamacolum Principat
    +#> 453                              Vilamalla Principat
    +#> 454                           Vilamaniscle Principat
    +#> 455                               Vilanant Principat
    +#> 456                                 Vilaür Principat
    +#> 457                             Avinyó Nou Principat
    +#> 458                              la Gornal Principat
    +#> 459                               la Múnia Principat
    +#> 460                     el Pla del Penedès Principat
    +#> 461                              Font-rubí Principat
    +#> 462                                 Gelida Principat
    +#> 463                             la Granada Principat
    +#> 464                           les Cabanyes Principat
    +#> 465                   Sant Joan de Mediona Principat
    +#> 466                 Sant Miquel d'Olèrdola Principat
    +#> 467                    Olesa de Bonesvalls Principat
    +#> 468                       Pacs del Penedès Principat
    +#> 469                                Pontons Principat
    +#> 470                             Puigdàlber Principat
    +#> 471                Sant Cugat Sesgarrigues Principat
    +#> 472                 Sant Llorenç d'Hortons Principat
    +#> 473                     Sant Martí Sarroca Principat
    +#> 474              Sant Pere de Riudebitlles Principat
    +#> 475                 Sant Quintí de Mediona Principat
    +#> 476                   Sant Sadurní d'Anoia Principat
    +#> 477                   Santa Fe del Penedès Principat
    +#> 478           Santa Margarida i els Monjos Principat
    +#> 479                       Sant Pau d'Ordal Principat
    +#> 480                     Terrassola i Lavit Principat
    +#> 481                      Torrelles de Foix Principat
    +#> 482                 Vilafranca del Penedès Principat
    +#> 483                     Vilobí del Penedès Principat
    +#> 484                                   Alàs Principat
    +#> 485                               Arsèguel Principat
    +#> 486                               Bassella Principat
    +#> 487                                   Cabó Principat
    +#> 488                               Ansovell Principat
    +#> 489                          Coll de Nargó Principat
    +#> 490                                    Bar Principat
    +#> 491                              Estamariu Principat
    +#> 492                                 Fígols Principat
    +#> 493                                Tuixent Principat
    +#> 494                        la Seu d'Urgell Principat
    +#> 495                                Fórnols Principat
    +#> 496                   Sorribes de la Vansa Principat
    +#> 497                         Noves de Segre Principat
    +#> 498                               Anserall Principat
    +#> 499                             Montferrer Principat
    +#> 500                                 Oliana Principat
    +#> 501                                Organyà Principat
    +#> 502                               Peramola Principat
    +#> 503                    el Pla de Sant Tirs Principat
    +#> 504                       el Pont de Suert Principat
    +#> 505                               Barruera Principat
    +#> 506                               Vilaller Principat
    +#> 507                              Argençola Principat
    +#> 508                               Bellprat Principat
    +#> 509                              Canaletes Principat
    +#> 510                                  Calaf Principat
    +#> 511                                Dusfort Principat
    +#> 512                             Capellades Principat
    +#> 513                                  Carme Principat
    +#> 514             Castellfollit de Riubregós Principat
    +#> 515                             Castellolí Principat
    +#> 516                                 Copons Principat
    +#> 517                                el Bruc Principat
    +#> 518               els Hostalets de Pierola Principat
    +#> 519                       els Prats de Rei Principat
    +#> 520                               Igualada Principat
    +#> 521                                  Jorba Principat
    +#> 522                             la Llacuna Principat
    +#> 523                  la Pobla de Claramunt Principat
    +#> 524                  la Torre de Claramunt Principat
    +#> 525                               Masquefa Principat
    +#> 526                              Montmaneu Principat
    +#> 527                                  Òdena Principat
    +#> 528                                   Orpí Principat
    +#> 529                                  Piera Principat
    +#> 530                                 Pujalt Principat
    +#> 531                                  Rubió Principat
    +#> 532                     Sant Martí de Tous Principat
    +#> 533                 Sant Martí Sesgueioles Principat
    +#> 534                  Sant Pere Sallavinera Principat
    +#> 535             Santa Margarida de Montbui Principat
    +#> 536                Santa Maria de Miralles Principat
    +#> 537                       Vallbona d'Anoia Principat
    +#> 538                                Veciana Principat
    +#> 539                      Vilanova del Camí Principat
    +#> 540                     Aguilar de Segarra Principat
    +#> 541                                  Artés Principat
    +#> 542                                 Avinyó Principat
    +#> 543                              Balsareny Principat
    +#> 544                                 Callús Principat
    +#> 545                                Cardona Principat
    +#> 546                              el Borràs Principat
    +#> 547                 Castellfollit del Boix Principat
    +#> 548                            Castellgalí Principat
    +#> 549                    Castellnou de Bages Principat
    +#> 550                    el Pont de Vilomara Principat
    +#> 551                              Fonollosa Principat
    +#> 552                                   Gaià Principat
    +#> 553                                Manresa Principat
    +#> 554                              Marganell Principat
    +#> 555                Monistrol de Montserrat Principat
    +#> 556                                   Mura Principat
    +#> 557                              Navarcles Principat
    +#> 558                                 Navars Principat
    +#> 559                               Rajadell Principat
    +#> 560                                Sallent Principat
    +#> 561                    Sant Feliu Sasserra Principat
    +#> 562                  Sant Fruitós de Bages Principat
    +#> 563               Sant Joan de Vilatorrada Principat
    +#> 564                    Sant Mateu de Bages Principat
    +#> 565             Sant Salvador de Guardiola Principat
    +#> 566               Sant Vicenç de Castellet Principat
    +#> 567                              Santpedor Principat
    +#> 568                                  Súria Principat
    +#> 569                              Talamanca Principat
    +#> 570                                Alforja Principat
    +#> 571                               Almoster Principat
    +#> 572                                 Arbolí Principat
    +#> 573                               Botarell Principat
    +#> 574                               Cambrils Principat
    +#> 575                              Capafonts Principat
    +#> 576                   Castellvell del Camp Principat
    +#> 577                              Colldejou Principat
    +#> 578                             Duesaigües Principat
    +#> 579                               l'Albiol Principat
    +#> 580                              l'Aleixar Principat
    +#> 581                            l'Argentera Principat
    +#> 582                               la Febró Principat
    +#> 583                      la Selva del Camp Principat
    +#> 584                    les Borges del Camp Principat
    +#> 585                              Maspujols Principat
    +#> 586                     Mont-roig del Camp Principat
    +#> 587                      Montbrió del Camp Principat
    +#> 588                                 Prades Principat
    +#> 589                                Pratdip Principat
    +#> 590                                   Reus Principat
    +#> 591                            Riudecanyes Principat
    +#> 592                              Riudecols Principat
    +#> 593                                Riudoms Principat
    +#> 594                              Vandellòs Principat
    +#> 595                 Vilanova d'Escornalbou Principat
    +#> 596                              Vilaplana Principat
    +#> 597                     Vinyols i els Arcs Principat
    +#> 598                                Aldover Principat
    +#> 599                       Alfara de Carles Principat
    +#> 600                             Benifallet Principat
    +#> 601                               Camarles Principat
    +#> 602                               Deltebre Principat
    +#> 603                             el Perelló Principat
    +#> 604                                l'Aldea Principat
    +#> 605                       l'Ametlla de Mar Principat
    +#> 606                              l'Ampolla Principat
    +#> 607                                  Paüls Principat
    +#> 608                               Roquetes Principat
    +#> 609                                Tivenys Principat
    +#> 610                                Tortosa Principat
    +#> 611                                  Xerta Principat
    +#> 612                                 Albons Principat
    +#> 613                                  Begur Principat
    +#> 614                    Bellcaire d'Empordà Principat
    +#> 615                                Calonge Principat
    +#> 616                           Platja d'Aro Principat
    +#> 617                               Colomers Principat
    +#> 618                                  Corçà Principat
    +#> 619                Sant Sadurní de l'Heura Principat
    +#> 620                                  Foixà Principat
    +#> 621                            Fontanilles Principat
    +#> 622                             Garrigoles Principat
    +#> 623                                 Gualta Principat
    +#> 624                                  Jafre Principat
    +#> 625                    la Bisbal d'Empordà Principat
    +#> 626                                la Pera Principat
    +#> 627                   la Tallada d'Empordà Principat
    +#> 628                               Mont-ras Principat
    +#> 629                            Palafrugell Principat
    +#> 630                                Palamós Principat
    +#> 631                            Palau-sator Principat
    +#> 632                                   Pals Principat
    +#> 633                                Parlavà Principat
    +#> 634                               Regencós Principat
    +#> 635                                  Rupià Principat
    +#> 636                  Sant Feliu de Guíxols Principat
    +#> 637                   Santa Cristina d'Aro Principat
    +#> 638                          Serra de Daró Principat
    +#> 639                                Torrent Principat
    +#> 640                   Torroella de Montgrí Principat
    +#> 641                                   Ullà Principat
    +#> 642                              Ullastret Principat
    +#> 643                              Ultramort Principat
    +#> 644                          Vall-llobrega Principat
    +#> 645                                 Verges Principat
    +#> 646                               Vilopriu Principat
    +#> 647                              Vulpellac Principat
    +#> 648                                 Abrera Principat
    +#> 649                                 Begues Principat
    +#> 650                          Castelldefels Principat
    +#> 651                   Castellví de Rosanes Principat
    +#> 652                               Cervelló Principat
    +#> 653                               Collbató Principat
    +#> 654                   Corbera de Llobregat Principat
    +#> 655                  Cornellà de Llobregat Principat
    +#> 656                              el Papiol Principat
    +#> 657                   el Prat de Llobregat Principat
    +#> 658                           Esparreguera Principat
    +#> 659                 Esplugues de Llobregat Principat
    +#> 660                                   Gavà Principat
    +#> 661                   la Palma de Cervelló Principat
    +#> 662                              Martorell Principat
    +#> 663                          Molins de Rei Principat
    +#> 664                    Olesa de Montserrat Principat
    +#> 665                                Pallejà Principat
    +#> 666                Sant Andreu de la Barca Principat
    +#> 667                  Sant Boi de Llobregat Principat
    +#> 668              Sant Climent de Llobregat Principat
    +#> 669                 Sant Esteve Sesrovires Principat
    +#> 670                Sant Feliu de Llobregat Principat
    +#> 671                        Sant Joan Despí Principat
    +#> 672                      Sant Just Desvern Principat
    +#> 673                 Sant Vicenç dels Horts Principat
    +#> 674               Santa Coloma de Cervelló Principat
    +#> 675                 Torrelles de Llobregat Principat
    +#> 676                              Vallirana Principat
    +#> 677                             Viladecans Principat
    +#> 678                              Albinyana Principat
    +#> 679                   Banyeres del Penedès Principat
    +#> 680                                Bellvei Principat
    +#> 681                               Bonastre Principat
    +#> 682                               Calafell Principat
    +#> 683                                  Cunit Principat
    +#> 684                la Joncosa del Montmell Principat
    +#> 685                            el Vendrell Principat
    +#> 686                                l'Arboç Principat
    +#> 687                  La Bisbal del Penedès Principat
    +#> 688                    Llorenç del Penedès Principat
    +#> 689                             Masllorenç Principat
    +#> 690                Sant Jaume dels Domenys Principat
    +#> 691                            Santa Oliva Principat
    +#> 692                               Badalona Principat
    +#> 693                              Barcelona Principat
    +#> 694              l'Hospitalet de Llobregat Principat
    +#> 695                    Sant Adrià de Besòs Principat
    +#> 696               Santa Coloma de Gramenet Principat
    +#> 697                                   Avià Principat
    +#> 698                                   Bagà Principat
    +#> 699                                  Berga Principat
    +#> 700                                Borredà Principat
    +#> 701                                Capolat Principat
    +#> 702                              Casserres Principat
    +#> 703                     Castell de l'Areny Principat
    +#> 704                     Castellar de n'Hug Principat
    +#> 705                                Llinars Principat
    +#> 706                                  Cercs Principat
    +#> 707                                 Fígols Principat
    +#> 708                              Gironella Principat
    +#> 709                             Gisclareny Principat
    +#> 710                                  Gósol Principat
    +#> 711                  Guardiola de Berguedà Principat
    +#> 712                            l'Espunyola Principat
    +#> 713                     la Nou de Berguedà Principat
    +#> 714                     la Pobla de Lillet Principat
    +#> 715                                la Quar Principat
    +#> 716                               Montclar Principat
    +#> 717                              Montmajor Principat
    +#> 718                                  Olvan Principat
    +#> 719                              Puig-reig Principat
    +#> 720                                  Sagàs Principat
    +#> 721                                 Saldes Principat
    +#> 722                Sant Jaume de Frontanyà Principat
    +#> 723               Sant Julià de Cerdanyola Principat
    +#> 724                  Santa Maria de Merlès Principat
    +#> 725                              Vallcebre Principat
    +#> 726                                 Vilada Principat
    +#> 727                              Serrateix Principat
    +#> 728                                    Alp Principat
    +#> 729                    Bellver de Cerdanya Principat
    +#> 730                                 Bolvir Principat
    +#> 731                                    Das Principat
    +#> 732                        el Vilar d'Urtx Principat
    +#> 733                                    Ger Principat
    +#> 734                      Guils de Cerdanya Principat
    +#> 735                                    All Principat
    +#> 736                       Lles de Cerdanya Principat
    +#> 737                                 Llívia Principat
    +#> 738                               Meranges Principat
    +#> 739                               Martinet Principat
    +#> 740                                  Prats Principat
    +#> 741                               Prullans Principat
    +#> 742                              Puigcerdà Principat
    +#> 743                        Riu de Cerdanya Principat
    +#> 744                                   Urús Principat
    +#> 745                    Barberà de la Conca Principat
    +#> 746                             Blancafort Principat
    +#> 747                                 Conesa Principat
    +#> 748                                  Forès Principat
    +#> 749                  l'Espluga de Francolí Principat
    +#> 750                              les Piles Principat
    +#> 751                                 Llorac Principat
    +#> 752                              Montblanc Principat
    +#> 753                              Passanant Principat
    +#> 754                                   Pira Principat
    +#> 755                                Pontils Principat
    +#> 756                    Rocafort de Queralt Principat
    +#> 757                Santa Coloma de Queralt Principat
    +#> 758                                 Sarral Principat
    +#> 759                     Savallà del Comtat Principat
    +#> 760                                  Senan Principat
    +#> 761                              Solivella Principat
    +#> 762                              Vallclara Principat
    +#> 763                  Vallfogona de Riucorb Principat
    +#> 764                     Vilanova de Prades Principat
    +#> 765                               Vilaverd Principat
    +#> 766                                Vimbodí Principat
    +#> 767                              Canyelles Principat
    +#> 768                               Cubelles Principat
    +#> 769                               Olivella Principat
    +#> 770                     Sant Pere de Ribes Principat
    +#> 771                                 Sitges Principat
    +#> 772                   Vilanova i la Geltrú Principat
    +#> 773                                 Arbeca Principat
    +#> 774                            Bellaguarda Principat
    +#> 775                                 Bovera Principat
    +#> 776                            Castelldans Principat
    +#> 777                Cervià de les Garrigues Principat
    +#> 778                               el Cogul Principat
    +#> 779                             el Soleràs Principat
    +#> 780                            el Vilosell Principat
    +#> 781                           els Omellons Principat
    +#> 782                              els Torms Principat
    +#> 783                                Fulleda Principat
    +#> 784              Granyena de les Garrigues Principat
    +#> 785                                Juncosa Principat
    +#> 786                                 Juneda Principat
    +#> 787                              l'Albagés Principat
    +#> 788                                 l'Albi Principat
    +#> 789                        l'Espluga Calba Principat
    +#> 790                            la Floresta Principat
    +#> 791                          la Granadella Principat
    +#> 792                   la Pobla de Cérvoles Principat
    +#> 793                    les Borges Blanques Principat
    +#> 794                               Puiggròs Principat
    +#> 795                                 Tarrés Principat
    +#> 796                                Vinaixa Principat
    +#> 797                             Argelaguer Principat
    +#> 798                                 Besalú Principat
    +#> 799                                  Beuda Principat
    +#> 800               Castellfollit de la Roca Principat
    +#> 801                   Sant Esteve d'en Bas Principat
    +#> 802                  l'Hostalnou de Bianya Principat
    +#> 803                  les Planes d'Hostoles Principat
    +#> 804                             les Preses Principat
    +#> 805                        Maià de Montcal Principat
    +#> 806                                 Mieres Principat
    +#> 807                               Montagut Principat
    +#> 808                                   Olot Principat
    +#> 809                               Riudaura Principat
    +#> 810                       Sales de Llierca Principat
    +#> 811                 Sant Esteve de Llémena Principat
    +#> 812                Sant Feliu de Pallerols Principat
    +#> 813                                 Juïnyà Principat
    +#> 814                  Sant Jaume de Llierca Principat
    +#> 815                    Sant Joan les Fonts Principat
    +#> 816                              Santa Pau Principat
    +#> 817                               Tortellà Principat
    +#> 818                              Aiguaviva Principat
    +#> 819                                Bescanó Principat
    +#> 820                                Bordils Principat
    +#> 821                              Campllong Principat
    +#> 822                           Canet d'Adri Principat
    +#> 823                      Cassà de la Selva Principat
    +#> 824                                  Celrà Principat
    +#> 825                          Cervià de Ter Principat
    +#> 826                                  Flaçà Principat
    +#> 827                   Fornells de la Selva Principat
    +#> 828                                 Girona Principat
    +#> 829                                   Juià Principat
    +#> 830                             Llagostera Principat
    +#> 831                             Llambilles Principat
    +#> 832                             Madremanya Principat
    +#> 833                                Medinyà Principat
    +#> 834                                  Quart Principat
    +#> 835                                   Salt Principat
    +#> 836                      Sant Andreu Salou Principat
    +#> 837                           Sant Gregori Principat
    +#> 838                    Sant Joan de Mollet Principat
    +#> 839                    Sant Jordi Desvalls Principat
    +#> 840                    Sant Julià de Ramis Principat
    +#> 841                  Sant Martí de Llémena Principat
    +#> 842                        Sant Martí Vell Principat
    +#> 843                          Sarrià de Ter Principat
    +#> 844                            Vilablareix Principat
    +#> 845                             Viladasens Principat
    +#> 846                                 Alpens Principat
    +#> 847            Santa Eulàlia de Puig-oriol Principat
    +#> 848                                  Olost Principat
    +#> 849                                 Oristà Principat
    +#> 850                               Perafita Principat
    +#> 851                      Prats de Lluçanès Principat
    +#> 852                    Sant Martí d'Albars Principat
    +#> 853                              Sobremunt Principat
    +#> 854                                 Alella Principat
    +#> 855                          Arenys de Mar Principat
    +#> 856                         Arenys de Munt Principat
    +#> 857                              Argentona Principat
    +#> 858                         Cabrera de Mar Principat
    +#> 859                                Cabrils Principat
    +#> 860                        Caldes d'Estrac Principat
    +#> 861                                Calella Principat
    +#> 862                           Canet de Mar Principat
    +#> 863                                Dosrius Principat
    +#> 864                              el Masnou Principat
    +#> 865                         Malgrat de Mar Principat
    +#> 866                                 Mataró Principat
    +#> 867                                Montgat Principat
    +#> 868                                 Òrrius Principat
    +#> 869                              Palafolls Principat
    +#> 870                          Pineda de Mar Principat
    +#> 871                         Premià de Dalt Principat
    +#> 872                          Premià de Mar Principat
    +#> 873              Sant Andreu de Llavaneres Principat
    +#> 874                Sant Cebrià de Vallalta Principat
    +#> 875                 Sant Iscle de Vallalta Principat
    +#> 876                        Sant Pol de Mar Principat
    +#> 877                 Sant Vicenç de Montalt Principat
    +#> 878                          Santa Susanna Principat
    +#> 879                                   Teià Principat
    +#> 880                                  Tiana Principat
    +#> 881                                Tordera Principat
    +#> 882                       Vilassar de Dalt Principat
    +#> 883                        Vilassar de Mar Principat
    +#> 884                                Calders Principat
    +#> 885                             Castellcir Principat
    +#> 886                          Castellterçol Principat
    +#> 887                            Collsuspina Principat
    +#> 888                                Granera Principat
    +#> 889                               l'Estany Principat
    +#> 890                                   Moià Principat
    +#> 891                   Monistrol de Calders Principat
    +#> 892                     Sant Quirze Safaja Principat
    +#> 893                      Santa Maria d'Oló Principat
    +#> 894                                Alcanar Principat
    +#> 895                                Amposta Principat
    +#> 896                              Freginals Principat
    +#> 897                                 Godall Principat
    +#> 898                              la Galera Principat
    +#> 899                              la Ràpita Principat
    +#> 900                               la Sénia Principat
    +#> 901                       Mas de Barberans Principat
    +#> 902                            Masdenverge Principat
    +#> 903                    Sant Jaume d'Enveja Principat
    +#> 904                          Santa Bàrbara Principat
    +#> 905                              Ulldecona Principat
    +#> 906                                   Àger Principat
    +#> 907                                 Albesa Principat
    +#> 908                                Algerri Principat
    +#> 909                       Alòs de Balaguer Principat
    +#> 910                        Artesa de Segre Principat
    +#> 911                               Balaguer Principat
    +#> 912                     Bellcaire d'Urgell Principat
    +#> 913                      Bellmunt d'Urgell Principat
    +#> 914                             Cabanabona Principat
    +#> 915                               Camarasa Principat
    +#> 916                   Castelló de Farfanya Principat
    +#> 917                                Cubells Principat
    +#> 918                               Foradada Principat
    +#> 919                       Ivars de Noguera Principat
    +#> 920                                Gualter Principat
    +#> 921                       la Sentiu de Sió Principat
    +#> 922                          les Avellanes Principat
    +#> 923                             Menàrguens Principat
    +#> 924                                Montgai Principat
    +#> 925                                 Oliola Principat
    +#> 926                         Os de Balaguer Principat
    +#> 927                               Penelles Principat
    +#> 928                                  Ponts Principat
    +#> 929                               Preixens Principat
    +#> 930                                Térmens Principat
    +#> 931                                Tiurana Principat
    +#> 932                             Torrelameu Principat
    +#> 933                 Vallfogona de Balaguer Principat
    +#> 934                    Vilanova de l'Aguda Principat
    +#> 935                       Vilanova de Meià Principat
    +#> 936               els Hostalets de Balenyà Principat
    +#> 937                            Calldetenes Principat
    +#> 938                              Centelles Principat
    +#> 939                               el Brull Principat
    +#> 940                             Espinelves Principat
    +#> 941                            Folgueroles Principat
    +#> 942                                   Gurb Principat
    +#> 943                             l'Esquirol Principat
    +#> 944                     les Masies de Roda Principat
    +#> 945                 les Masies de Voltregà Principat
    +#> 946                                  Malla Principat
    +#> 947                                Manlleu Principat
    +#> 948                             Montesquiu Principat
    +#> 949                             Muntanyola Principat
    +#> 950                           Can Branques Principat
    +#> 951                            Roda de Ter Principat
    +#> 952                                  Rupit Principat
    +#> 953                                 l'Alou Principat
    +#> 954                 Sant Bartomeu del Grau Principat
    +#> 955                   Sant Boi de Lluçanès Principat
    +#> 956               Sant Hipòlit de Voltregà Principat
    +#> 957                Sant Julià de Vilatorta Principat
    +#> 958                               l'Abella Principat
    +#> 959                   Sant Pere de Torelló Principat
    +#> 960                  Sant Quirze de Besora Principat
    +#> 961                Sant Sadurní d'Osormort Principat
    +#> 962                 Sant Vicenç de Torelló Principat
    +#> 963              Santa Cecília de Voltregà Principat
    +#> 964                 Santa Eugènia de Berga Principat
    +#> 965             Santa Eulàlia de Riuprimer Principat
    +#> 966                  Santa Maria de Besora Principat
    +#> 967                                   Seva Principat
    +#> 968                                   Sora Principat
    +#> 969                               Taradell Principat
    +#> 970                             Tavèrnoles Principat
    +#> 971                               Tavertet Principat
    +#> 972                                   Tona Principat
    +#> 973                                Torelló Principat
    +#> 974                                    Vic Principat
    +#> 975                                  Vidrà Principat
    +#> 976                               Viladrau Principat
    +#> 977                        Vilanova de Sau Principat
    +#> 978                     Abella de la Conca Principat
    +#> 979                     Guàrdia de Noguera Principat
    +#> 980                    el Pont de Claverol Principat
    +#> 981                      Gavet de la Conca Principat
    +#> 982                                  Isona Principat
    +#> 983                      la Pobla de Segur Principat
    +#> 984                   la Torre de Cabdella Principat
    +#> 985                               Llimiana Principat
    +#> 986                       Salàs de Pallars Principat
    +#> 987                Sant Esteve de la Sarga Principat
    +#> 988                     Sarroca de Bellera Principat
    +#> 989                              Senterada Principat
    +#> 990                                 Talarn Principat
    +#> 991                                  Tremp Principat
    +#> 992                                  Alins Principat
    +#> 993                        València d'Àneu Principat
    +#> 994                        Gerri de la Sal Principat
    +#> 995                                  Espot Principat
    +#> 996                         Esterri d'Àneu Principat
    +#> 997                      Esterri de Cardós Principat
    +#> 998                                   Burg Principat
    +#> 999                    la Guingueta d'Àneu Principat
    +#> 1000                              Lladorre Principat
    +#> 1001                              Llavorsí Principat
    +#> 1002                                 Rialb Principat
    +#> 1003                               Vilamur Principat
    +#> 1004                                  Sort Principat
    +#> 1005                                Tírvia Principat
    +#> 1006                      Ribera de Cardós Principat
    +#> 1007                               Barbens Principat
    +#> 1008                    Bell-lloc d'Urgell Principat
    +#> 1009                               Bellvís Principat
    +#> 1010                   Castellnou de Seana Principat
    +#> 1011                  el Palau d'Anglesola Principat
    +#> 1012                               el Poal Principat
    +#> 1013                            Fondarella Principat
    +#> 1014                                Golmés Principat
    +#> 1015                        Ivars d'Urgell Principat
    +#> 1016                               Linyola Principat
    +#> 1017                             Miralcamp Principat
    +#> 1018                            Mollerussa Principat
    +#> 1019                               Sidamon Principat
    +#> 1020                           Torregrossa Principat
    +#> 1021                             Vila-sana Principat
    +#> 1022                  Vilanova de Bellpuig Principat
    +#> 1023                              Banyoles Principat
    +#> 1024                                 Camós Principat
    +#> 1025                    Cornellà del Terri Principat
    +#> 1026                               Crespià Principat
    +#> 1027                             Esponellà Principat
    +#> 1028                           Fontcoberta Principat
    +#> 1029                     Palol de Revardit Principat
    +#> 1030                                  Mata Principat
    +#> 1031              Sant Miquel de Campmajor Principat
    +#> 1032                               Serinyà Principat
    +#> 1033                            Vilademuls Principat
    +#> 1034                  Bellmunt del Priorat Principat
    +#> 1035                             Cabassers Principat
    +#> 1036                              Capçanes Principat
    +#> 1037                Cornudella de Montsant Principat
    +#> 1038                              el Lloar Principat
    +#> 1039                            el Masroig Principat
    +#> 1040                              el Molar Principat
    +#> 1041                          els Guiamets Principat
    +#> 1042                                Falset Principat
    +#> 1043                            Gratallops Principat
    +#> 1044                 la Bisbal de Montsant Principat
    +#> 1045                            la Figuera Principat
    +#> 1046                 la Morera de Montsant Principat
    +#> 1047               la Torre de Fontaubella Principat
    +#> 1048                       la Vilella Alta Principat
    +#> 1049                      la Vilella Baixa Principat
    +#> 1050                                 Marçà Principat
    +#> 1051                              Margalef Principat
    +#> 1052                              Poboleda Principat
    +#> 1053                               Porrera Principat
    +#> 1054                 Pradell de la Teixeta Principat
    +#> 1055                   Torroja del Priorat Principat
    +#> 1056                           Ulldemolins Principat
    +#> 1057                                  Ascó Principat
    +#> 1058                            Benissanet Principat
    +#> 1059                                  Flix Principat
    +#> 1060                                Garcia Principat
    +#> 1061                              Ginestar Principat
    +#> 1062                       la Palma d'Ebre Principat
    +#> 1063                la Torre de l'Espanyol Principat
    +#> 1064                               Miravet Principat
    +#> 1065                           Móra d'Ebre Principat
    +#> 1066                          Móra la Nova Principat
    +#> 1067                              Rasquera Principat
    +#> 1068                      Riba-roja d'Ebre Principat
    +#> 1069                               Tivissa Principat
    +#> 1070                               Vinebre Principat
    +#> 1071                           Campdevànol Principat
    +#> 1072                             Campelles Principat
    +#> 1073                             Camprodon Principat
    +#> 1074                               Gombrèn Principat
    +#> 1075                           les Llosses Principat
    +#> 1076                               Llanars Principat
    +#> 1077                                 Molló Principat
    +#> 1078                                Ogassa Principat
    +#> 1079                              Pardines Principat
    +#> 1080                              Planoles Principat
    +#> 1081                              Queralbs Principat
    +#> 1082                       Ribes de Freser Principat
    +#> 1083                                Ripoll Principat
    +#> 1084            Sant Joan de les Abadesses Principat
    +#> 1085                  Sant Pau de Segúries Principat
    +#> 1086                              Setcases Principat
    +#> 1087                                 Toses Principat
    +#> 1088                Vallfogona de Ripollès Principat
    +#> 1089                     Vilallonga de Ter Principat
    +#> 1090                                Biosca Principat
    +#> 1091                               Cervera Principat
    +#> 1092                        les Pallargues Principat
    +#> 1093                               Estaràs Principat
    +#> 1094                           Granyanella Principat
    +#> 1095                   Granyena de Segarra Principat
    +#> 1096                              Guissona Principat
    +#> 1097                                Ivorra Principat
    +#> 1098                            les Oluges Principat
    +#> 1099                            Massoteres Principat
    +#> 1100                   Montoliu de Segarra Principat
    +#> 1101                  Montornès de Segarra Principat
    +#> 1102                Sant Antolí i Vilanova Principat
    +#> 1103                               Sanaüja Principat
    +#> 1104                Sant Guim de Freixenet Principat
    +#> 1105                 Sant Guim de la Plana Principat
    +#> 1106                            Sant Ramon Principat
    +#> 1107                              Talavera Principat
    +#> 1108                    Tarroja de Segarra Principat
    +#> 1109                                  Torà Principat
    +#> 1110                             Torrefeta Principat
    +#> 1111                                Aitona Principat
    +#> 1112                            Albatàrrec Principat
    +#> 1113                                Alcanó Principat
    +#> 1114                              Alcarràs Principat
    +#> 1115                             Alcoletge Principat
    +#> 1116                              Alfarràs Principat
    +#> 1117                                 Alfés Principat
    +#> 1118                              Alguaire Principat
    +#> 1119                            Almacelles Principat
    +#> 1120                              Almatret Principat
    +#> 1121                               Almenar Principat
    +#> 1122                               Alpicat Principat
    +#> 1123                      Artesa de Lleida Principat
    +#> 1124                                  Aspa Principat
    +#> 1125                    Benavent de Segrià Principat
    +#> 1126                               Corbins Principat
    +#> 1127                            els Alamús Principat
    +#> 1128                             Gimenells Principat
    +#> 1129                    la Granja d'Escarp Principat
    +#> 1130                           la Portella Principat
    +#> 1131                            Llardecans Principat
    +#> 1132                                Lleida Principat
    +#> 1133                                Maials Principat
    +#> 1134                          Massalcoreig Principat
    +#> 1135                    Montoliu de Lleida Principat
    +#> 1136                    Puigverd de Lleida Principat
    +#> 1137                              Rosselló Principat
    +#> 1138                     Sarroca de Lleida Principat
    +#> 1139                                 Seròs Principat
    +#> 1140                                 Soses Principat
    +#> 1141                              Sudanell Principat
    +#> 1142                                Sunyer Principat
    +#> 1143                          Torre-serona Principat
    +#> 1144                           Torrebesses Principat
    +#> 1145                          Torrefarrera Principat
    +#> 1146                       Torres de Segre Principat
    +#> 1147                  Vilanova de la Barca Principat
    +#> 1148                    Vilanova de Segrià Principat
    +#> 1149                                  Amer Principat
    +#> 1150                                Anglès Principat
    +#> 1151                              Arbúcies Principat
    +#> 1152                                Blanes Principat
    +#> 1153                                 Breda Principat
    +#> 1154                              Brunyola Principat
    +#> 1155                   Caldes de Malavella Principat
    +#> 1156                    Fogars de la Selva Principat
    +#> 1157                             Hostalric Principat
    +#> 1158                     la Cellera de Ter Principat
    +#> 1159                         Lloret de Mar Principat
    +#> 1160                               Maçanes Principat
    +#> 1161                   Maçanet de la Selva Principat
    +#> 1162                                  Osor Principat
    +#> 1163                                Riells Principat
    +#> 1164                            Riudarenes Principat
    +#> 1165                Riudellots de la Selva Principat
    +#> 1166               Sant Feliu de Buixalleu Principat
    +#> 1167                    Sant Hilari Sacalm Principat
    +#> 1168                               Bonmatí Principat
    +#> 1169               Santa Coloma de Farners Principat
    +#> 1170                                  Sils Principat
    +#> 1171                     Sant Martí Sacalm Principat
    +#> 1172                          Tossa de Mar Principat
    +#> 1173                              Vidreres Principat
    +#> 1174                        Vilobí d'Onyar Principat
    +#> 1175                Castellar de la Ribera Principat
    +#> 1176                  Clariana de Cardener Principat
    +#> 1177                 la Casa Nova de Valls Principat
    +#> 1178                               la Coma Principat
    +#> 1179                            la Molsosa Principat
    +#> 1180                               Lladurs Principat
    +#> 1181                               Llobera Principat
    +#> 1182                                 Navès Principat
    +#> 1183                              Cambrils Principat
    +#> 1184                    el Pi de Sant Just Principat
    +#> 1185                          Sant Climenç Principat
    +#> 1186                                 Pinós Principat
    +#> 1187                            el Miracle Principat
    +#> 1188               Sant Llorenç de Morunys Principat
    +#> 1189                               Solsona Principat
    +#> 1190                             Altafulla Principat
    +#> 1191                             Constantí Principat
    +#> 1192                              Creixell Principat
    +#> 1193                            el Catllar Principat
    +#> 1194                             el Morell Principat
    +#> 1195                        els Pallaresos Principat
    +#> 1196                            la Canonja Principat
    +#> 1197                        la Nou de Gaià Principat
    +#> 1198                   la Pobla de Mafumet Principat
    +#> 1199                 la Pobla de Montornès Principat
    +#> 1200                      la Riera de Gaià Principat
    +#> 1201                            la Secuita Principat
    +#> 1202                              Perafort Principat
    +#> 1203                                 Renau Principat
    +#> 1204                          Roda de Berà Principat
    +#> 1205                                Salomó Principat
    +#> 1206                                 Salou Principat
    +#> 1207                             Tarragona Principat
    +#> 1208                         Torredembarra Principat
    +#> 1209                      Vespella de Gaià Principat
    +#> 1210                             Vila-seca Principat
    +#> 1211                   Vilallonga del Camp Principat
    +#> 1212                                 Arnes Principat
    +#> 1213                                 Batea Principat
    +#> 1214                                   Bot Principat
    +#> 1215                               Caseres Principat
    +#> 1216                        Corbera d'Ebre Principat
    +#> 1217                     el Pinell de Brai Principat
    +#> 1218                               Gandesa Principat
    +#> 1219                    Horta de Sant Joan Principat
    +#> 1220                          la Fatarella Principat
    +#> 1221                 la Pobla de Massaluca Principat
    +#> 1222                         Prat de Comte Principat
    +#> 1223                     Vilalba dels Arcs Principat
    +#> 1224                              Agramunt Principat
    +#> 1225                             Anglesola Principat
    +#> 1226                              Belianes Principat
    +#> 1227                              Bellpuig Principat
    +#> 1228                           Castellserà Principat
    +#> 1229                            Ciutadilla Principat
    +#> 1230                 els Omells de na Gaia Principat
    +#> 1231                               Guimerà Principat
    +#> 1232                            la Fuliola Principat
    +#> 1233                                 Maldà Principat
    +#> 1234                                 Nalec Principat
    +#> 1235                           Ossó de Sió Principat
    +#> 1236                              Preixana Principat
    +#> 1237                   Puigverd d'Agramunt Principat
    +#> 1238                   Sant Martí de Maldà Principat
    +#> 1239                               Tàrrega Principat
    +#> 1240                             Tornabous Principat
    +#> 1241                Vallbona de les Monges Principat
    +#> 1242                                 Verdú Principat
    +#> 1243                            Vilagrassa Principat
    +#> 1244                      Badia del Vallès Principat
    +#> 1245                    Barberà del Vallès Principat
    +#> 1246                  Castellar del Vallès Principat
    +#> 1247                         Castellbisbal Principat
    +#> 1248                 Cerdanyola del Vallès Principat
    +#> 1249                               Gallifa Principat
    +#> 1250                            Matadepera Principat
    +#> 1251                     Montcada i Reixac Principat
    +#> 1252              Palau-solità i Plegamans Principat
    +#> 1253                               Polinyà Principat
    +#> 1254                             Rellinars Principat
    +#> 1255                              Ripollet Principat
    +#> 1256                                  Rubí Principat
    +#> 1257                              Sabadell Principat
    +#> 1258                 Sant Cugat del Vallès Principat
    +#> 1259                   Sant Llorenç Savall Principat
    +#> 1260                Sant Quirze del Vallès Principat
    +#> 1261              Santa Perpètua de Mogoda Principat
    +#> 1262                             Sentmenat Principat
    +#> 1263                              Terrassa Principat
    +#> 1264                            Ullastrell Principat
    +#> 1265                            Vacarisses Principat
    +#> 1266                         Viladecavalls Principat
    +#> 1267                            Aiguafreda Principat
    +#> 1268                                Bigues Principat
    +#> 1269                     Caldes de Montbui Principat
    +#> 1270                               Campins Principat
    +#> 1271                            Canovelles Principat
    +#> 1272                               Cànoves Principat
    +#> 1273                              Cardedeu Principat
    +#> 1274                            el Figueró Principat
    +#> 1275                           Mosqueroles Principat
    +#> 1276                            Granollers Principat
    +#> 1277                                Gualba Principat
    +#> 1278                  l'Ametlla del Vallès Principat
    +#> 1279                            la Garriga Principat
    +#> 1280                           la Llagosta Principat
    +#> 1281                    la Roca del Vallès Principat
    +#> 1282                         Corró d'Avall Principat
    +#> 1283                         Lliçà d'Amunt Principat
    +#> 1284                         Lliçà de Vall Principat
    +#> 1285                    Llinars del Vallès Principat
    +#> 1286                           Martorelles Principat
    +#> 1287                     Mollet del Vallès Principat
    +#> 1288                              Montmeló Principat
    +#> 1289                  Montornès del Vallès Principat
    +#> 1290                              Montseny Principat
    +#> 1291                     Parets del Vallès Principat
    +#> 1292              Sant Antoni de Vilamajor Principat
    +#> 1293                           Sant Celoni Principat
    +#> 1294           Sant Esteve de Palautordera Principat
    +#> 1295                 Sant Feliu de Codines Principat
    +#> 1296            Sant Fost de Campsentelles Principat
    +#> 1297                Sant Pere de Vilamajor Principat
    +#> 1298              Santa Eulàlia de Ronçana Principat
    +#> 1299            Santa Maria de Martorelles Principat
    +#> 1300           Santa Maria de Palautordera Principat
    +#> 1301                            Tagamanent Principat
    +#> 1302                          Vallgorguina Principat
    +#> 1303                           Vallromanes Principat
    +#> 1304                      Vilalba Sasserra Principat
    +#> 1305                   Vilanova del Vallès Principat
    +#> 1306                              València        PV
    +#> 1307                      Alcalà de Xivert        PV
    +#> 1308                             Benicarló        PV
    +#> 1309                                 Càlig        PV
    +#> 1310                         Canet lo Roig        PV
    +#> 1311                     Castell de Cabres        PV
    +#> 1312                  Cervera del Maestrat        PV
    +#> 1313                               la Jana        PV
    +#> 1314                 la Pobla de Benifassà        PV
    +#> 1315                         la Salzadella        PV
    +#> 1316                             Peníscola        PV
    +#> 1317                               Rossell        PV
    +#> 1318                            Sant Jordi        PV
    +#> 1319                            Sant Mateu        PV
    +#> 1320                    Sant Rafel del Riu        PV
    +#> 1321             Santa Magdalena de Polpís        PV
    +#> 1322                             Traiguera        PV
    +#> 1323                               Vinaròs        PV
    +#> 1324                                  Xert        PV
    +#> 1325                  Guardamar del Segura        PV
    +#> 1326                            Crevillent        PV
    +#> 1327                                   Elx        PV
    +#> 1328                            Santa Pola        PV
    +#> 1329                Albalat dels Tarongers        PV
    +#> 1330                  Alfara de la Baronia        PV
    +#> 1331                     Algar de Palància        PV
    +#> 1332                      Algímia d'Alfara        PV
    +#> 1333                             Benavites        PV
    +#> 1334                Benifairó de les Valls        PV
    +#> 1335                  Canet d'en Berenguer        PV
    +#> 1336                             Estivella        PV
    +#> 1337                                 Faura        PV
    +#> 1338                                 Gilet        PV
    +#> 1339                                Petrés        PV
    +#> 1340                    Quart de les Valls        PV
    +#> 1341                              Quartell        PV
    +#> 1342                                Sagunt        PV
    +#> 1343                                Segart        PV
    +#> 1344                         Torres Torres        PV
    +#> 1345                            Benaguasil        PV
    +#> 1346                             Benissanó        PV
    +#> 1347                                Bétera        PV
    +#> 1348                               Casinos        PV
    +#> 1349                              l'Eliana        PV
    +#> 1350                  la Pobla de Vallbona        PV
    +#> 1351                                Llíria        PV
    +#> 1352                               Nàquera        PV
    +#> 1353                                Olocau        PV
    +#> 1354                    Riba-roja de Túria        PV
    +#> 1355                                 Serra        PV
    +#> 1356                           Vilamarxant        PV
    +#> 1357                                 Agres        PV
    +#> 1358                              Alcoleja        PV
    +#> 1359                              Alcosser        PV
    +#> 1360                              Alfafara        PV
    +#> 1361                             Almudaina        PV
    +#> 1362                               Balones        PV
    +#> 1363                               Benasau        PV
    +#> 1364                             Beniarrés        PV
    +#> 1365                             Benilloba        PV
    +#> 1366                              Benillup        PV
    +#> 1367                           Benimarfull        PV
    +#> 1368                            Benimassot        PV
    +#> 1369                            Cocentaina        PV
    +#> 1370                                Fageca        PV
    +#> 1371                               Famorca        PV
    +#> 1372                               Gaianes        PV
    +#> 1373                                 Gorga        PV
    +#> 1374                    l'Alqueria d'Asnar        PV
    +#> 1375                                l'Orxa        PV
    +#> 1376                               Millena        PV
    +#> 1377                          Muro d'Alcoi        PV
    +#> 1378                                Planes        PV
    +#> 1379                         Quatretondeta        PV
    +#> 1380                                Tollos        PV
    +#> 1381                  el Fondó de les Neus        PV
    +#> 1382                  el Fondó dels Frares        PV
    +#> 1383                              el Pinós        PV
    +#> 1384                            l'Alguenya        PV
    +#> 1385                             la Romana        PV
    +#> 1386                               Monòver        PV
    +#> 1387                               Novelda        PV
    +#> 1388                                Petrer        PV
    +#> 1389                           Castellfort        PV
    +#> 1390                            Cinctorres        PV
    +#> 1391                            el Forcall        PV
    +#> 1392                               Herbers        PV
    +#> 1393                    la Mata de Morella        PV
    +#> 1394                          la Todolella        PV
    +#> 1395                               Morella        PV
    +#> 1396                             Palanques        PV
    +#> 1397                    Portell de Morella        PV
    +#> 1398                                Sorita        PV
    +#> 1399                             Vallibona        PV
    +#> 1400                            Vilafranca        PV
    +#> 1401                              Villores        PV
    +#> 1402                                 Agost        PV
    +#> 1403                                Aigües        PV
    +#> 1404                               Alacant        PV
    +#> 1405                                 Busot        PV
    +#> 1406                           el Campello        PV
    +#> 1407               la Torre de les Maçanes        PV
    +#> 1408                              Mutxamel        PV
    +#> 1409                   Sant Joan d'Alacant        PV
    +#> 1410               Sant Vicent del Raspeig        PV
    +#> 1411                                Xixona        PV
    +#> 1412                                Costur        PV
    +#> 1413                            Figueroles        PV
    +#> 1414                              l'Alcora        PV
    +#> 1415                            les Useres        PV
    +#> 1416                               Llucena        PV
    +#> 1417               Vistabella del Maestrat        PV
    +#> 1418                                 Xodos        PV
    +#> 1419                                 Alcoi        PV
    +#> 1420                   Banyeres de Mariola        PV
    +#> 1421                            Benifallim        PV
    +#> 1422                              Castalla        PV
    +#> 1423                                   Ibi        PV
    +#> 1424                                  Onil        PV
    +#> 1425                             Penàguila        PV
    +#> 1426                                  Tibi        PV
    +#> 1427                            Albocàsser        PV
    +#> 1428                     Ares del Maestrat        PV
    +#> 1429                 Atzeneta del Maestrat        PV
    +#> 1430                             Benafigos        PV
    +#> 1431                              Benassal        PV
    +#> 1432                                  Catí        PV
    +#> 1433                                 Culla        PV
    +#> 1434                         la Serratella        PV
    +#> 1435                  la Torre d'en Besora        PV
    +#> 1436                                 Tírig        PV
    +#> 1437                        Vilar de Canes        PV
    +#> 1438                             Beneixama        PV
    +#> 1439                                  Biar        PV
    +#> 1440                      el Camp de Mirra        PV
    +#> 1441                            la Canyada        PV
    +#> 1442                  Albalat dels Sorells        PV
    +#> 1443                              Alboraia        PV
    +#> 1444                              Albuixec        PV
    +#> 1445                  Alfara del Patriarca        PV
    +#> 1446                             Almàssera        PV
    +#> 1447                  Bonrepòs i Mirambell        PV
    +#> 1448                             Burjassot        PV
    +#> 1449                el Puig de Santa Maria        PV
    +#> 1450                             Emperador        PV
    +#> 1451                                 Foios        PV
    +#> 1452                               Godella        PV
    +#> 1453                   la Pobla de Farnals        PV
    +#> 1454                          Massalfassar        PV
    +#> 1455                          Massamagrell        PV
    +#> 1456                               Meliana        PV
    +#> 1457                              Montcada        PV
    +#> 1458                               Museros        PV
    +#> 1459                               Paterna        PV
    +#> 1460                                 Puçol        PV
    +#> 1461                           Rafelbunyol        PV
    +#> 1462                              Rocafort        PV
    +#> 1463                     Tavernes Blanques        PV
    +#> 1464                              Vinalesa        PV
    +#> 1465                               Alaquàs        PV
    +#> 1466                                 Albal        PV
    +#> 1467                              Alcàsser        PV
    +#> 1468                                Aldaia        PV
    +#> 1469                               Alfafar        PV
    +#> 1470                            Benetússer        PV
    +#> 1471                           Beniparrell        PV
    +#> 1472                             Catarroja        PV
    +#> 1473                  Llocnou de la Corona        PV
    +#> 1474                               Manises        PV
    +#> 1475                            Massanassa        PV
    +#> 1476                               Mislata        PV
    +#> 1477                              Paiporta        PV
    +#> 1478                               Picanya        PV
    +#> 1479                             Picassent        PV
    +#> 1480                       Quart de Poblet        PV
    +#> 1481                                Sedaví        PV
    +#> 1482                                 Silla        PV
    +#> 1483                               Torrent        PV
    +#> 1484                             Xirivella        PV
    +#> 1485                               Barxeta        PV
    +#> 1486                                Canals        PV
    +#> 1487                                 Cerdà        PV
    +#> 1488                            el Genovés        PV
    +#> 1489                              Estubeny        PV
    +#> 1490                 l'Alcúdia de Crespins        PV
    +#> 1491                 la Font de la Figuera        PV
    +#> 1492               la Granja de la Costera        PV
    +#> 1493                     la Llosa de Ranes        PV
    +#> 1494                      Llanera de Ranes        PV
    +#> 1495                 Llocnou d'en Fenollet        PV
    +#> 1496                               Moixent        PV
    +#> 1497                               Montesa        PV
    +#> 1498                               Novetlè        PV
    +#> 1499                      Rotglà i Corberà        PV
    +#> 1500                              Torrella        PV
    +#> 1501                               Vallada        PV
    +#> 1502                                Vallés        PV
    +#> 1503                                Xàtiva        PV
    +#> 1504                              Alcalalí        PV
    +#> 1505                            Beniarbeig        PV
    +#> 1506                            Benidoleig        PV
    +#> 1507                            Benigembla        PV
    +#> 1508                              Benimeli        PV
    +#> 1509                               Benissa        PV
    +#> 1510                                  Calp        PV
    +#> 1511                   Castell de Castells        PV
    +#> 1512                                 Dénia        PV
    +#> 1513           el Poble Nou de Benitatxell        PV
    +#> 1514                    el Ràfol d'Almúnia        PV
    +#> 1515                             el Verger        PV
    +#> 1516                           els Poblets        PV
    +#> 1517                        Gata de Gorgos        PV
    +#> 1518                             l'Atzúbia        PV
    +#> 1519                   Alcalà de la Jovada        PV
    +#> 1520                         la Vall d'Ebo        PV
    +#> 1521                               Benialí        PV
    +#> 1522                                 Fleix        PV
    +#> 1523                                Llíber        PV
    +#> 1524                                 Murla        PV
    +#> 1525                                Ondara        PV
    +#> 1526                                  Orba        PV
    +#> 1527                               Parcent        PV
    +#> 1528                             Pedreguer        PV
    +#> 1529                                  Pego        PV
    +#> 1530                                 Sagra        PV
    +#> 1531                   Sanet i els Negrals        PV
    +#> 1532                                Senija        PV
    +#> 1533                               Teulada        PV
    +#> 1534                                Tormos        PV
    +#> 1535                                 Xàbia        PV
    +#> 1536                                  Xaló        PV
    +#> 1537                                 Altea        PV
    +#> 1538                              Beniardà        PV
    +#> 1539                              Benidorm        PV
    +#> 1540                              Benifato        PV
    +#> 1541                           Benimantell        PV
    +#> 1542                               Bolulla        PV
    +#> 1543                   Callosa d'en Sarrià        PV
    +#> 1544                             Confrides        PV
    +#> 1545               el Castell de Guadalest        PV
    +#> 1546                             Finestrat        PV
    +#> 1547                        l'Alfàs del Pi        PV
    +#> 1548                              la Nucia        PV
    +#> 1549                        la Vila Joiosa        PV
    +#> 1550                                Orxeta        PV
    +#> 1551                                 Polop        PV
    +#> 1552                                Relleu        PV
    +#> 1553                                 Sella        PV
    +#> 1554                               Tàrbena        PV
    +#> 1555                             Almassora        PV
    +#> 1556                            Benicàssim        PV
    +#> 1557                               Benlloc        PV
    +#> 1558                               Borriol        PV
    +#> 1559                               Cabanes        PV
    +#> 1560                  Castelló de la Plana        PV
    +#> 1561                      la Pobla Tornesa        PV
    +#> 1562                la Serra d'en Galceran        PV
    +#> 1563                 la Torre d'en Doménec        PV
    +#> 1564                        la Vall d'Alba        PV
    +#> 1565                  les Coves de Vinromà        PV
    +#> 1566                                Orpesa        PV
    +#> 1567                     Sant Joan de Moró        PV
    +#> 1568                           Torreblanca        PV
    +#> 1569                             Vilafamés        PV
    +#> 1570                    Vilanova d'Alcolea        PV
    +#> 1571                                   Aín        PV
    +#> 1572                         Alfondeguilla        PV
    +#> 1573                              Almenara        PV
    +#> 1574                                Artana        PV
    +#> 1575                                 Betxí        PV
    +#> 1576                              Borriana        PV
    +#> 1577                                Eslida        PV
    +#> 1578                      l'Alcúdia de Veo        PV
    +#> 1579                              la Llosa        PV
    +#> 1580                        la Vall d'Uixó        PV
    +#> 1581                          la Vilavella        PV
    +#> 1582                         les Alqueries        PV
    +#> 1583                               Moncofa        PV
    +#> 1584                                 Nules        PV
    +#> 1585                                  Onda        PV
    +#> 1586                            Ribesalbes        PV
    +#> 1587                                 Suera        PV
    +#> 1588                                 Tales        PV
    +#> 1589                             Vila-real        PV
    +#> 1590                                Xilxes        PV
    +#> 1591                               Alberic        PV
    +#> 1592                   Alcàntera de Xúquer        PV
    +#> 1593                                Alfarb        PV
    +#> 1594                              Algemesí        PV
    +#> 1595                               Alginet        PV
    +#> 1596                                Alzira        PV
    +#> 1597                               Antella        PV
    +#> 1598                             Beneixida        PV
    +#> 1599                              Benifaió        PV
    +#> 1600                              Benimodo        PV
    +#> 1601                            Benimuslem        PV
    +#> 1602                            Carcaixent        PV
    +#> 1603                                Càrcer        PV
    +#> 1604                                Carlet        PV
    +#> 1605                              Castelló        PV
    +#> 1606                               Catadau        PV
    +#> 1607                                 Cotes        PV
    +#> 1608                               Gavarda        PV
    +#> 1609                            Guadassuar        PV
    +#> 1610                             l'Alcúdia        PV
    +#> 1611                               l'Énova        PV
    +#> 1612                       la Pobla Llarga        PV
    +#> 1613                               Llombai        PV
    +#> 1614                                Manuel        PV
    +#> 1615                            Massalavés        PV
    +#> 1616                               Montroi        PV
    +#> 1617                            Montserrat        PV
    +#> 1618                           Rafelguaraf        PV
    +#> 1619                                  Real        PV
    +#> 1620                           Sant Joanet        PV
    +#> 1621                               Sellent        PV
    +#> 1622                               Senyera        PV
    +#> 1623                            Sumacàrcer        PV
    +#> 1624                                 Torís        PV
    +#> 1625                  Albalat de la Ribera        PV
    +#> 1626                            Almussafes        PV
    +#> 1627                    Benicull de Xúquer        PV
    +#> 1628                               Corbera        PV
    +#> 1629                               Cullera        PV
    +#> 1630                                Favara        PV
    +#> 1631                             Fortaleny        PV
    +#> 1632                                Llaurí        PV
    +#> 1633                     Polinyà de Xúquer        PV
    +#> 1634                                 Riola        PV
    +#> 1635                               Sollana        PV
    +#> 1636                                 Sueca        PV
    +#> 1637                                  Ador        PV
    +#> 1638                               Alfauir        PV
    +#> 1639                              Almiserà        PV
    +#> 1640                              Almoines        PV
    +#> 1641                                  Barx        PV
    +#> 1642                           Bellreguard        PV
    +#> 1643                              Beniarjó        PV
    +#> 1644             Benifairó de la Valldigna        PV
    +#> 1645                               Beniflà        PV
    +#> 1646                            Benirredrà        PV
    +#> 1647           Castellonet de la Conquesta        PV
    +#> 1648                                Daimús        PV
    +#> 1649                     el Real de Gandia        PV
    +#> 1650                                Gandia        PV
    +#> 1651                 Guardamar de la Safor        PV
    +#> 1652             l'Alqueria de la Comtessa        PV
    +#> 1653                   la Font d'en Carròs        PV
    +#> 1654                Llocnou de Sant Jeroni        PV
    +#> 1655                               Miramar        PV
    +#> 1656                                 Oliva        PV
    +#> 1657                       Palma de Gandia        PV
    +#> 1658                               Palmera        PV
    +#> 1659                                 Piles        PV
    +#> 1660                               Potries        PV
    +#> 1661                            Rafelcofer        PV
    +#> 1662                                Ròtova        PV
    +#> 1663                 Simat de la Valldigna        PV
    +#> 1664              Tavernes de la Valldigna        PV
    +#> 1665                            Vilallonga        PV
    +#> 1666                                Xeraco        PV
    +#> 1667                                Xeresa        PV
    +#> 1668                              Agullent        PV
    +#> 1669                     Aielo de Malferit        PV
    +#> 1670                        Aielo de Rugat        PV
    +#> 1671                               Albaida        PV
    +#> 1672                             Alfarrasí        PV
    +#> 1673                    Atzeneta d'Albaida        PV
    +#> 1674                               Bèlgida        PV
    +#> 1675                                Bellús        PV
    +#> 1676                             Beniatjar        PV
    +#> 1677                             Benicolet        PV
    +#> 1678                             Benigànim        PV
    +#> 1679                             Benissoda        PV
    +#> 1680                            Benissuera        PV
    +#> 1681                             Bocairent        PV
    +#> 1682                                Bufali        PV
    +#> 1683                             Carrícola        PV
    +#> 1684                     Castelló de Rugat        PV
    +#> 1685                            el Palomar        PV
    +#> 1686                     el Ràfol de Salem        PV
    +#> 1687               Fontanars dels Alforins        PV
    +#> 1688                         Guadasséquies        PV
    +#> 1689                             l'Olleria        PV
    +#> 1690                      la Pobla del Duc        PV
    +#> 1691                              Llutxent        PV
    +#> 1692                           Montaverner        PV
    +#> 1693                           Montitxelvo        PV
    +#> 1694                             Ontinyent        PV
    +#> 1695                                  Otos        PV
    +#> 1696                                 Pinet        PV
    +#> 1697                           Quatretonda        PV
    +#> 1698                                 Rugat        PV
    +#> 1699                                 Salem        PV
    +#> 1700                               Sempere        PV
    +#> 1701                             Terrateig        PV
    +#> 1702                              l'Alguer  Sardenya
    +#>                                         municipi
    +#> 1                                       Alt Aran
    +#> 2                                          Arres
    +#> 3                                         Bausén
    +#> 4                                        Bossòst
    +#> 5                                        Canejan
    +#> 6                                      es Bordes
    +#> 7                                            Lés
    +#> 8                              Viella i Mitjaran
    +#> 9                                        Vilamòs
    +#> 10         Angostrina i Vilanova de les Escaldes
    +#> 11                                      Bolquera
    +#> 12                                        Dorres
    +#> 13                                         Èguet
    +#> 14                                          Eina
    +#> 15                                        Enveig
    +#> 16                                            Er
    +#> 17                                       Estavar
    +#> 18                      Font-romeu, Odelló i Vià
    +#> 19                                  la Cabanassa
    +#> 20                             la Guingueta d'Ix
    +#> 21                              la Tor de Querol
    +#> 22                                           Llo
    +#> 23                                     Montlluís
    +#> 24                                         Naüja
    +#> 25                                         Oceja
    +#> 26                             Palau de Cerdanya
    +#> 27                                         Porta
    +#> 28                                         Portè
    +#> 29                                     Sallagosa
    +#> 30                                 Santa Llocaia
    +#> 31                                     Targasona
    +#> 32                                            Ur
    +#> 33                                 Vallcebollera
    +#> 34                                    els Angles
    +#> 35                                  Font-rabiosa
    +#> 36                                    Formiguera
    +#> 37                                      Matamala
    +#> 38                                   Puigbalador
    +#> 39                                          Real
    +#> 40                            Aiguatèbia i Talau
    +#> 41                                      Arboçols
    +#> 42                                       Campome
    +#> 43                                    Canavelles
    +#> 44                             Castell de Vernet
    +#> 45                                        Catllà
    +#> 46                          Caudiers de Conflent
    +#> 47                                         Censà
    +#> 48                              Clarà i Villerac
    +#> 49                                       Codalet
    +#> 50                                         Conat
    +#> 51                          Cornellà de Conflent
    +#> 52                                        Escaró
    +#> 53                            Espirà de Conflent
    +#> 54                                        Estoer
    +#> 55                                           Eus
    +#> 56                                       Fillols
    +#> 57                                     Finestret
    +#> 58                                   Fontpedrosa
    +#> 59                                         Fullà
    +#> 60                                     Glorianes
    +#> 61                                           Jóc
    +#> 62                                        Jújols
    +#> 63                                    la Bastida
    +#> 64                                    la Llaguna
    +#> 65                                     Los Masos
    +#> 66                                  Marqueixanes
    +#> 67                                        Mentet
    +#> 68                                         Molig
    +#> 69                                        Mosset
    +#> 70                                        Noedes
    +#> 71                                          Nyer
    +#> 72                                  Oleta i Èvol
    +#> 73                                       Orbanyà
    +#> 74                                        Orellà
    +#> 75                                Pi de Conflent
    +#> 76                                        Planès
    +#> 77                                         Prada
    +#> 78                                        Ralleu
    +#> 79                                   Rià i Cirac
    +#> 80                                       Rigardà
    +#> 81                                         Rodés
    +#> 82                                   Sant Marçal
    +#> 83                        Sant Pere dels Forcats
    +#> 84                                        Saorra
    +#> 85                                         Sautó
    +#> 86                                      Serdinyà
    +#> 87                                       Soanyes
    +#> 88                                       Tarerac
    +#> 89                                      Taurinyà
    +#> 90                             Toès i Entrevalls
    +#> 91                                   Vallestàvia
    +#> 92                                     Vallmanya
    +#> 93                                        Vernet
    +#> 94                        Vilafranca de Conflent
    +#> 95                                         Vinçà
    +#> 96                                       Ansinyà
    +#> 97                                     Bellestar
    +#> 98                                      Campossí
    +#> 99                                      Caramany
    +#> 100                                    Cassanyes
    +#> 101                         Caudiers de Fenollet
    +#> 102                                    Centernac
    +#> 103                                     El Viver
    +#> 104                                      Felluns
    +#> 105                                     Fenollet
    +#> 106                                        Fossa
    +#> 107                                   l'Esquerda
    +#> 108                             la Tor de França
    +#> 109                                       lançac
    +#> 110                                        Maurí
    +#> 111                          Montalban lo Castèl
    +#> 112                          Pesillà de Conflent
    +#> 113                                     Planeses
    +#> 114                              Prats de Sornià
    +#> 115                                    Prunyanes
    +#> 116                                   Rasigueres
    +#> 117                                     Rebollet
    +#> 118                       Sant Martí de Fenollet
    +#> 119                         Sant Pau de Fenollet
    +#> 120                                       Sornià
    +#> 121                                    Trevillac
    +#> 122                                       Trillà
    +#> 123                                         Virà
    +#> 124                                       Alenyà
    +#> 125                                     Argelers
    +#> 126                            Bages de Rosselló
    +#> 127                                       Baixàs
    +#> 128                        Banyuls de la Marenda
    +#> 129                          Banyuls dels Aspres
    +#> 130                                          Bao
    +#> 131                                       Bompàs
    +#> 132                                       Brullà
    +#> 133                                 Bula d'Amunt
    +#> 134                                  Bulaternera
    +#> 135                                    Cabestany
    +#> 136                                        Calce
    +#> 137                                     Calmella
    +#> 138                                      Cameles
    +#> 139                            Canet de Rosselló
    +#> 140                                       Cànoes
    +#> 141                                    Casafabre
    +#> 142                                Cases de Pena
    +#> 143                                   Castellnou
    +#> 144                        Cervera de la Marenda
    +#> 145                                       Clairà
    +#> 146                          Corbera de Rosselló
    +#> 147                        Cornellà de la Ribera
    +#> 148                          Cornellà del Bercol
    +#> 149                                    Cotlliure
    +#> 150                                  el Barcarès
    +#> 151                                     el Soler
    +#> 152                                      el Voló
    +#> 153                                         Elna
    +#> 154                             Espirà de l'Aglí
    +#> 155                                     Estagell
    +#> 156                                      Forques
    +#> 157                                         Illa
    +#> 158                         la Cabana de Corbera
    +#> 159                             la Roca d'Albera
    +#> 160                              la Torre d'Elna
    +#> 161                                       Llauró
    +#> 162                                       Llupià
    +#> 163                                      Millars
    +#> 164                                    Montescot
    +#> 165                          Montesquiu d'Albera
    +#> 166                                      Montner
    +#> 167                                    Montoriol
    +#> 168                                       Nefiac
    +#> 169                                          Oms
    +#> 170                              Òpol i Perellós
    +#> 171                                       Ortafà
    +#> 172                                         Paçà
    +#> 173                              Palau del Vidre
    +#> 174                                 Paretstortes
    +#> 175                                     Perpinyà
    +#> 176                         Pesillà de la Ribera
    +#> 177                                          Pià
    +#> 178                                   Pollestres
    +#> 179                                     Pontellà
    +#> 180                                  Portvendres
    +#> 181                             Prunet i Belpuig
    +#> 182                                      Queixàs
    +#> 183                                   Ribesaltes
    +#> 184                                     Salelles
    +#> 185                                       Salses
    +#> 186                        Sant Andreu de Sureda
    +#> 187                      Sant Cebrià de Rosselló
    +#> 188                     Sant Esteve del Monestir
    +#> 189                           Sant Feliu d'Amunt
    +#> 190                           Sant Feliu d'Avall
    +#> 191                       Sant Genís de Fontanes
    +#> 192                   Sant Hipòlit de la Salanca
    +#> 193                           Sant Joan la Cella
    +#> 194                   Sant Llorenç de la Salanca
    +#> 195                        Sant Miquel de Llotes
    +#> 196                      Sant Nazari de Rosselló
    +#> 197                         Santa Coloma de Tuïr
    +#> 198                           Santa Maria la Mar
    +#> 199                                       Sureda
    +#> 200                                     Talteüll
    +#> 201                                      Terrats
    +#> 202                                         Tesà
    +#> 203                                      Toluges
    +#> 204                                     Torderes
    +#> 205                      Torrelles de la Salanca
    +#> 206                                    Trasserra
    +#> 207                                     Trullars
    +#> 208                                         Tuïr
    +#> 209                     Vilallonga de la Salanca
    +#> 210                        Vilallonga dels Monts
    +#> 211                                   Vilamulaca
    +#> 212                        Vilanova de la Ribera
    +#> 213                              Vilanova de Raò
    +#> 214                                      Vingrau
    +#> 215                                        Arles
    +#> 216                                        Ceret
    +#> 217                                     Cortsaví
    +#> 218                                      Costoja
    +#> 219                                    el Pertús
    +#> 220                                       el Tec
    +#> 221                  els Banys d'Arles i Palaldà
    +#> 222                                     L'Albera
    +#> 223                                    la Menera
    +#> 224                                   les Cluses
    +#> 225                                     Montboló
    +#> 226                                   Montferrer
    +#> 227                         Morellàs i les Illes
    +#> 228                   Prats de Molló i la Presta
    +#> 229                                      Reiners
    +#> 230                      Sant Joan de Pladecorts
    +#> 231                      Sant Llorenç de Cerdans
    +#> 232                                  Serrallonga
    +#> 233                                       Tellet
    +#> 234                                       Teulís
    +#> 235                                       Vivers
    +#> 236                       Aiguaviva de Bergantes
    +#> 237                           Bellmunt de Mesquí
    +#> 238                          la Canyada de Beric
    +#> 239                                 la Codonyera
    +#> 240                                 la Ginebrosa
    +#> 241                                 la Sorollera
    +#> 242                          la Torre de Vilella
    +#> 243                                         Faió
    +#> 244                                       Favara
    +#> 245                                       Maella
    +#> 246                                       Nonasp
    +#> 247                                        Fraga
    +#> 248                                   Mequinensa
    +#> 249                                        Saidí
    +#> 250                             Torrent de Cinca
    +#> 251                             Vilella de Cinca
    +#> 252                                      Albelda
    +#> 253                                       Baells
    +#> 254                                  Camporrells
    +#> 255                                 Castellonroi
    +#> 256                                   el Campell
    +#> 257                                   el Torricó
    +#> 258                          Peralta i Calassanç
    +#> 259                       Sant Esteve de Llitera
    +#> 260                                Sanui i Alins
    +#> 261                           Tamarit de Llitera
    +#> 262                                   Valldellou
    +#> 263                                     Vensilló
    +#> 264                              Arenys de Lledó
    +#> 265                                       Beseit
    +#> 266                                     Calaceit
    +#> 267                                 Fontdespatla
    +#> 268                                      Fórnols
    +#> 269                                 la Freixneda
    +#> 270                                la Portellada
    +#> 271                           la Torre del Comte
    +#> 272                            la Vall del Tormo
    +#> 273                               Lledó d'Algars
    +#> 274                                     Massalió
    +#> 275                                     Montroig
    +#> 276                       Pena-roja de Tastavins
    +#> 277                                     Queretes
    +#> 278                                       Ràfels
    +#> 279                                 Torredarques
    +#> 280                               Vall-de-Roures
    +#> 281                                 Valljunquera
    +#> 282                             Areny de Noguera
    +#> 283                                    Benavarri
    +#> 284                                      Beranui
    +#> 285                                      Bonansa
    +#> 286                                   Castigaleu
    +#> 287                                    Estopanyà
    +#> 288                                      Isàvena
    +#> 289                                    Lasquarri
    +#> 290                                    Les Paüls
    +#> 291                          Monesma i Queixigar
    +#> 292                                     Montanui
    +#> 293                           Pont de Montanyana
    +#> 294                                      Sopeira
    +#> 295                                        Tolba
    +#> 296                                Tor-la-ribera
    +#> 297                            Viacamp i Lliterà
    +#> 298                                      Eivissa
    +#> 299                      Sant Antoni de Portmany
    +#> 300                        Sant Joan de Labritja
    +#> 301                      Sant Josep de sa Talaia
    +#> 302                        Santa Eulària des Riu
    +#> 303                                   Formentera
    +#> 304                                         Artà
    +#> 305                                    Capdepera
    +#> 306                                      Manacor
    +#> 307                   Sant Llorenç des Cardassar
    +#> 308                                  Son Servera
    +#> 309                                       Alaior
    +#> 310                                   Ciutadella
    +#> 311                                   es Castell
    +#> 312                                  es Mercadal
    +#> 313                              es Migjorn Gran
    +#> 314                                    Ferreries
    +#> 315                                          Maó
    +#> 316                                   Sant Lluís
    +#> 317                                       Campos
    +#> 318                                     Felanitx
    +#> 319                                    Llucmajor
    +#> 320                                     Santanyí
    +#> 321                                  ses Salines
    +#> 322                                        Palma
    +#> 323                                      Algaida
    +#> 324                                       Ariany
    +#> 325                                      Costitx
    +#> 326                         Lloret de Vistalegre
    +#> 327                                        Llubí
    +#> 328                            Maria de la Salut
    +#> 329                                     Montuïri
    +#> 330                                         Muro
    +#> 331                                        Petra
    +#> 332                                     Porreres
    +#> 333                                    Sant Joan
    +#> 334                                Santa Eugènia
    +#> 335                              Santa Margalida
    +#> 336                                    Sencelles
    +#> 337                                        Sineu
    +#> 338                         Vilafranca de Bonany
    +#> 339                                        Alaró
    +#> 340                                      Alcúdia
    +#> 341                                   Binissalem
    +#> 342                                        Búger
    +#> 343                                     Campanet
    +#> 344                                      Consell
    +#> 345                                         Inca
    +#> 346                                      Lloseta
    +#> 347                            Mancor de la Vall
    +#> 348                                     Marratxí
    +#> 349                                     sa Pobla
    +#> 350                         Santa Maria del Camí
    +#> 351                                        Selva
    +#> 352                                      Andratx
    +#> 353                                  Banyalbufar
    +#> 354                                      Bunyola
    +#> 355                                       Calvià
    +#> 356                                         Deià
    +#> 357                                      Escorca
    +#> 358                                     Esporles
    +#> 359                                   Estellencs
    +#> 360                                    Fornalutx
    +#> 361                                     Pollença
    +#> 362                                  Puigpunyent
    +#> 363                                       Sóller
    +#> 364                                  Valldemossa
    +#> 365                                  Aiguamúrcia
    +#> 366                                      Alcover
    +#> 367                                         Alió
    +#> 368                                       Bràfim
    +#> 369                               Cabra del Camp
    +#> 370                                      el Milà
    +#> 371                        el Pla de Santa Maria
    +#> 372                          el Pont d'Armentera
    +#> 373                                   el Rourell
    +#> 374                                els Garidells
    +#> 375                           Figuerola del Camp
    +#> 376                                      la Masó
    +#> 377                                      la Riba
    +#> 378                                     Mont-ral
    +#> 379                                    Montferri
    +#> 380                                       Nulles
    +#> 381                                    Puigpelat
    +#> 382                                       Querol
    +#> 383                                      Rodonyà
    +#> 384                                     Vallmoll
    +#> 385                                        Valls
    +#> 386                                  Vila-rodona
    +#> 387                                    Vilabella
    +#> 388                                     Agullana
    +#> 389                                      Albanyà
    +#> 390                      Avinyonet de Puigventós
    +#> 391                                      Bàscara
    +#> 392                                        Biure
    +#> 393                      Boadella i les Escaules
    +#> 394                                     Borrassà
    +#> 395                                   Cabanelles
    +#> 396                                      Cabanes
    +#> 397                                     Cadaqués
    +#> 398                                     Campmany
    +#> 399                                   Cantallops
    +#> 400                          Castelló d'Empúries
    +#> 401                          Castelló d'Empúries
    +#> 402                                     Cistella
    +#> 403                                       Colera
    +#> 404                                      Darnius
    +#> 405                             el Far d'Empordà
    +#> 406                          el Port de la Selva
    +#> 407                                      Espolla
    +#> 408                                     Figueres
    +#> 409                                       Fortià
    +#> 410                                     Garrigàs
    +#> 411                                  Garriguella
    +#> 412                                  l'Armentera
    +#> 413                                     l'Escala
    +#> 414                                  la Jonquera
    +#> 415                              la Selva de Mar
    +#> 416                                     la Vajol
    +#> 417                                       Llançà
    +#> 418                              Lledó d'Empordà
    +#> 419                                        Llers
    +#> 420                          Maçanet de Cabrenys
    +#> 421                                      Masarac
    +#> 422                           Mollet de Peralada
    +#> 423                                       Navata
    +#> 424                                        Ordis
    +#> 425                       Palau de Santa Eulàlia
    +#> 426                              Palau-saverdera
    +#> 427                                          Pau
    +#> 428                               Pedret i Marzà
    +#> 429                                     Peralada
    +#> 430                               Pont de Molins
    +#> 431                                       Pontós
    +#> 432                                      Portbou
    +#> 433                                        Rabós
    +#> 434                                      Riumors
    +#> 435                                        Roses
    +#> 436                        Sant Climent Sescebes
    +#> 437                      Sant Llorenç de la Muga
    +#> 438                        Sant Miquel de Fluvià
    +#> 439                                    Sant Mori
    +#> 440                           Sant Pere Pescador
    +#> 441                      Santa Llogaia d'Àlguema
    +#> 442                  Saus, Camallera i Llampaies
    +#> 443                                      Siurana
    +#> 444                                     Terrades
    +#> 445                          Torroella de Fluvià
    +#> 446                                     Ventalló
    +#> 447                                   Vila-sacra
    +#> 448                                  Vilabertran
    +#> 449                                    Viladamat
    +#> 450                                     Vilafant
    +#> 451                                    Vilajuïga
    +#> 452                                  Vilamacolum
    +#> 453                                    Vilamalla
    +#> 454                                 Vilamaniscle
    +#> 455                                     Vilanant
    +#> 456                                       Vilaür
    +#> 457                        Avinyonet del Penedès
    +#> 458                        Castellet i la Gornal
    +#> 459                        Castellví de la Marca
    +#> 460                           el Pla del Penedès
    +#> 461                                    Font-rubí
    +#> 462                                       Gelida
    +#> 463                                   la Granada
    +#> 464                                 les Cabanyes
    +#> 465                                      Mediona
    +#> 466                                     Olèrdola
    +#> 467                          Olesa de Bonesvalls
    +#> 468                             Pacs del Penedès
    +#> 469                                      Pontons
    +#> 470                                   Puigdàlber
    +#> 471                      Sant Cugat Sesgarrigues
    +#> 472                       Sant Llorenç d'Hortons
    +#> 473                           Sant Martí Sarroca
    +#> 474                    Sant Pere de Riudebitlles
    +#> 475                       Sant Quintí de Mediona
    +#> 476                         Sant Sadurní d'Anoia
    +#> 477                         Santa Fe del Penedès
    +#> 478                 Santa Margarida i els Monjos
    +#> 479                                     Subirats
    +#> 480                           Terrassola i Lavit
    +#> 481                            Torrelles de Foix
    +#> 482                       Vilafranca del Penedès
    +#> 483                           Vilobí del Penedès
    +#> 484                                  Alàs i Cerc
    +#> 485                                     Arsèguel
    +#> 486                                     Bassella
    +#> 487                                         Cabó
    +#> 488                                         Cava
    +#> 489                                Coll de Nargó
    +#> 490                               el Pont de Bar
    +#> 491                                    Estamariu
    +#> 492                              Fígols i Alinyà
    +#> 493                                Josa i Tuixén
    +#> 494                              la Seu d'Urgell
    +#> 495                           la Vansa i Fórnols
    +#> 496                           la Vansa i Fórnols
    +#> 497                          les Valls d'Aguilar
    +#> 498                          les Valls de Valira
    +#> 499                       Montferrer i Castellbò
    +#> 500                                       Oliana
    +#> 501                                      Organyà
    +#> 502                                     Peramola
    +#> 503                            Ribera d'Urgellet
    +#> 504                             el Pont de Suert
    +#> 505                               la Vall de Boí
    +#> 506                                     Vilaller
    +#> 507                                    Argençola
    +#> 508                                     Bellprat
    +#> 509                              Cabrera d'Anoia
    +#> 510                                        Calaf
    +#> 511                           Calonge de Segarra
    +#> 512                                   Capellades
    +#> 513                                        Carme
    +#> 514                   Castellfollit de Riubregós
    +#> 515                                   Castellolí
    +#> 516                                       Copons
    +#> 517                                      el Bruc
    +#> 518                     els Hostalets de Pierola
    +#> 519                             els Prats de Rei
    +#> 520                                     Igualada
    +#> 521                                        Jorba
    +#> 522                                   la Llacuna
    +#> 523                        la Pobla de Claramunt
    +#> 524                        la Torre de Claramunt
    +#> 525                                     Masquefa
    +#> 526                                    Montmaneu
    +#> 527                                        Òdena
    +#> 528                                         Orpí
    +#> 529                                        Piera
    +#> 530                                       Pujalt
    +#> 531                                        Rubió
    +#> 532                           Sant Martí de Tous
    +#> 533                       Sant Martí Sesgueioles
    +#> 534                        Sant Pere Sallavinera
    +#> 535                   Santa Margarida de Montbui
    +#> 536                      Santa Maria de Miralles
    +#> 537                             Vallbona d'Anoia
    +#> 538                                      Veciana
    +#> 539                            Vilanova del Camí
    +#> 540                           Aguilar de Segarra
    +#> 541                                        Artés
    +#> 542                                       Avinyó
    +#> 543                                    Balsareny
    +#> 544                                       Callús
    +#> 545                                      Cardona
    +#> 546                       Castellbell i el Vilar
    +#> 547                       Castellfollit del Boix
    +#> 548                                  Castellgalí
    +#> 549                          Castellnou de Bages
    +#> 550               el Pont de Vilomara i Rocafort
    +#> 551                                    Fonollosa
    +#> 552                                         Gaià
    +#> 553                                      Manresa
    +#> 554                                    Marganell
    +#> 555                      Monistrol de Montserrat
    +#> 556                                         Mura
    +#> 557                                    Navarcles
    +#> 558                                       Navars
    +#> 559                                     Rajadell
    +#> 560                                      Sallent
    +#> 561                          Sant Feliu Sasserra
    +#> 562                        Sant Fruitós de Bages
    +#> 563                     Sant Joan de Vilatorrada
    +#> 564                          Sant Mateu de Bages
    +#> 565                   Sant Salvador de Guardiola
    +#> 566                     Sant Vicenç de Castellet
    +#> 567                                    Santpedor
    +#> 568                                        Súria
    +#> 569                                    Talamanca
    +#> 570                                      Alforja
    +#> 571                                     Almoster
    +#> 572                                       Arbolí
    +#> 573                                     Botarell
    +#> 574                                     Cambrils
    +#> 575                                    Capafonts
    +#> 576                         Castellvell del Camp
    +#> 577                                    Colldejou
    +#> 578                                   Duesaigües
    +#> 579                                     l'Albiol
    +#> 580                                    l'Aleixar
    +#> 581                                  l'Argentera
    +#> 582                                     la Febró
    +#> 583                            la Selva del Camp
    +#> 584                          les Borges del Camp
    +#> 585                                    Maspujols
    +#> 586                           Mont-roig del Camp
    +#> 587                            Montbrió del Camp
    +#> 588                                       Prades
    +#> 589                                      Pratdip
    +#> 590                                         Reus
    +#> 591                                  Riudecanyes
    +#> 592                                    Riudecols
    +#> 593                                      Riudoms
    +#> 594         Vandellòs i l'Hospitalet de l'Infant
    +#> 595                       Vilanova d'Escornalbou
    +#> 596                                    Vilaplana
    +#> 597                           Vinyols i els Arcs
    +#> 598                                      Aldover
    +#> 599                             Alfara de Carles
    +#> 600                                   Benifallet
    +#> 601                                     Camarles
    +#> 602                                     Deltebre
    +#> 603                                   el Perelló
    +#> 604                                      l'Aldea
    +#> 605                             l'Ametlla de Mar
    +#> 606                                    l'Ampolla
    +#> 607                                        Paüls
    +#> 608                                     Roquetes
    +#> 609                                      Tivenys
    +#> 610                                      Tortosa
    +#> 611                                        Xerta
    +#> 612                                       Albons
    +#> 613                                        Begur
    +#> 614                          Bellcaire d'Empordà
    +#> 615                        Calonge i Sant Antoni
    +#> 616                       Castell i Platja d'Aro
    +#> 617                                     Colomers
    +#> 618                                        Corçà
    +#> 619  Cruïlles, Monells i Sant Sadurní de l'Heura
    +#> 620                                        Foixà
    +#> 621                                  Fontanilles
    +#> 622                                   Garrigoles
    +#> 623                                       Gualta
    +#> 624                                        Jafre
    +#> 625                          la Bisbal d'Empordà
    +#> 626                                      la Pera
    +#> 627                         la Tallada d'Empordà
    +#> 628                                     Mont-ras
    +#> 629                                  Palafrugell
    +#> 630                                      Palamós
    +#> 631                                  Palau-sator
    +#> 632                                         Pals
    +#> 633                                      Parlavà
    +#> 634                                     Regencós
    +#> 635                                        Rupià
    +#> 636                        Sant Feliu de Guíxols
    +#> 637                         Santa Cristina d'Aro
    +#> 638                                Serra de Daró
    +#> 639                                      Torrent
    +#> 640                         Torroella de Montgrí
    +#> 641                                         Ullà
    +#> 642                                    Ullastret
    +#> 643                                    Ultramort
    +#> 644                                Vall-llobrega
    +#> 645                                       Verges
    +#> 646                                     Vilopriu
    +#> 647             Vulpellac, Fonteta i Peratallada
    +#> 648                                       Abrera
    +#> 649                                       Begues
    +#> 650                                Castelldefels
    +#> 651                         Castellví de Rosanes
    +#> 652                                     Cervelló
    +#> 653                                     Collbató
    +#> 654                         Corbera de Llobregat
    +#> 655                        Cornellà de Llobregat
    +#> 656                                    el Papiol
    +#> 657                         el Prat de Llobregat
    +#> 658                                 Esparreguera
    +#> 659                       Esplugues de Llobregat
    +#> 660                                         Gavà
    +#> 661                         la Palma de Cervelló
    +#> 662                                    Martorell
    +#> 663                                Molins de Rei
    +#> 664                          Olesa de Montserrat
    +#> 665                                      Pallejà
    +#> 666                      Sant Andreu de la Barca
    +#> 667                        Sant Boi de Llobregat
    +#> 668                    Sant Climent de Llobregat
    +#> 669                       Sant Esteve Sesrovires
    +#> 670                      Sant Feliu de Llobregat
    +#> 671                              Sant Joan Despí
    +#> 672                            Sant Just Desvern
    +#> 673                       Sant Vicenç dels Horts
    +#> 674                     Santa Coloma de Cervelló
    +#> 675                       Torrelles de Llobregat
    +#> 676                                    Vallirana
    +#> 677                                   Viladecans
    +#> 678                                    Albinyana
    +#> 679                         Banyeres del Penedès
    +#> 680                                      Bellvei
    +#> 681                                     Bonastre
    +#> 682                                     Calafell
    +#> 683                                        Cunit
    +#> 684                                  el Montmell
    +#> 685                                  el Vendrell
    +#> 686                                      l'Arboç
    +#> 687                        la Bisbal del Penedès
    +#> 688                          Llorenç del Penedès
    +#> 689                                   Masllorenç
    +#> 690                      Sant Jaume dels Domenys
    +#> 691                                  Santa Oliva
    +#> 692                                     Badalona
    +#> 693                                    Barcelona
    +#> 694                    l'Hospitalet de Llobregat
    +#> 695                          Sant Adrià de Besòs
    +#> 696                     Santa Coloma de Gramenet
    +#> 697                                         Avià
    +#> 698                                         Bagà
    +#> 699                                        Berga
    +#> 700                                      Borredà
    +#> 701                                      Capolat
    +#> 702                                    Casserres
    +#> 703                           Castell de l'Areny
    +#> 704                           Castellar de n'Hug
    +#> 705                            Castellar del Riu
    +#> 706                                        Cercs
    +#> 707                                       Fígols
    +#> 708                                    Gironella
    +#> 709                                   Gisclareny
    +#> 710                                        Gósol
    +#> 711                        Guardiola de Berguedà
    +#> 712                                  l'Espunyola
    +#> 713                           la Nou de Berguedà
    +#> 714                           la Pobla de Lillet
    +#> 715                                      la Quar
    +#> 716                                     Montclar
    +#> 717                                    Montmajor
    +#> 718                                        Olvan
    +#> 719                                    Puig-reig
    +#> 720                                        Sagàs
    +#> 721                                       Saldes
    +#> 722                      Sant Jaume de Frontanyà
    +#> 723                     Sant Julià de Cerdanyola
    +#> 724                        Santa Maria de Merlès
    +#> 725                                    Vallcebre
    +#> 726                                       Vilada
    +#> 727                            Viver i Serrateix
    +#> 728                                          Alp
    +#> 729                          Bellver de Cerdanya
    +#> 730                                       Bolvir
    +#> 731                                          Das
    +#> 732                        Fontanals de Cerdanya
    +#> 733                                          Ger
    +#> 734                            Guils de Cerdanya
    +#> 735                                       Isòvol
    +#> 736                             Lles de Cerdanya
    +#> 737                                       Llívia
    +#> 738                                     Meranges
    +#> 739                          Montellà i Martinet
    +#> 740                               Prats i Sansor
    +#> 741                                     Prullans
    +#> 742                                    Puigcerdà
    +#> 743                              Riu de Cerdanya
    +#> 744                                         Urús
    +#> 745                          Barberà de la Conca
    +#> 746                                   Blancafort
    +#> 747                                       Conesa
    +#> 748                                        Forès
    +#> 749                        l'Espluga de Francolí
    +#> 750                                    les Piles
    +#> 751                                       Llorac
    +#> 752                                    Montblanc
    +#> 753                         Passanant i Belltall
    +#> 754                                         Pira
    +#> 755                                      Pontils
    +#> 756                          Rocafort de Queralt
    +#> 757                      Santa Coloma de Queralt
    +#> 758                                       Sarral
    +#> 759                           Savallà del Comtat
    +#> 760                                        Senan
    +#> 761                                    Solivella
    +#> 762                                    Vallclara
    +#> 763                        Vallfogona de Riucorb
    +#> 764                           Vilanova de Prades
    +#> 765                                     Vilaverd
    +#> 766                             Vimbodí i Poblet
    +#> 767                                    Canyelles
    +#> 768                                     Cubelles
    +#> 769                                     Olivella
    +#> 770                           Sant Pere de Ribes
    +#> 771                                       Sitges
    +#> 772                         Vilanova i la Geltrú
    +#> 773                                       Arbeca
    +#> 774                                  Bellaguarda
    +#> 775                                       Bovera
    +#> 776                                  Castelldans
    +#> 777                      Cervià de les Garrigues
    +#> 778                                     el Cogul
    +#> 779                                   el Soleràs
    +#> 780                                  el Vilosell
    +#> 781                                 els Omellons
    +#> 782                                    els Torms
    +#> 783                                      Fulleda
    +#> 784                    Granyena de les Garrigues
    +#> 785                                      Juncosa
    +#> 786                                       Juneda
    +#> 787                                    l'Albagés
    +#> 788                                       l'Albi
    +#> 789                              l'Espluga Calba
    +#> 790                                  la Floresta
    +#> 791                                la Granadella
    +#> 792                         la Pobla de Cérvoles
    +#> 793                          les Borges Blanques
    +#> 794                                     Puiggròs
    +#> 795                                       Tarrés
    +#> 796                                      Vinaixa
    +#> 797                                   Argelaguer
    +#> 798                                       Besalú
    +#> 799                                        Beuda
    +#> 800                     Castellfollit de la Roca
    +#> 801                             la Vall d'en Bas
    +#> 802                            la Vall de Bianya
    +#> 803                        les Planes d'Hostoles
    +#> 804                                   les Preses
    +#> 805                              Maià de Montcal
    +#> 806                                       Mieres
    +#> 807                               Montagut i Oix
    +#> 808                                         Olot
    +#> 809                                     Riudaura
    +#> 810                             Sales de Llierca
    +#> 811                      Sant Aniol de Finestres
    +#> 812                      Sant Feliu de Pallerols
    +#> 813                                 Sant Ferriol
    +#> 814                        Sant Jaume de Llierca
    +#> 815                          Sant Joan les Fonts
    +#> 816                                    Santa Pau
    +#> 817                                     Tortellà
    +#> 818                                    Aiguaviva
    +#> 819                                      Bescanó
    +#> 820                                      Bordils
    +#> 821                                    Campllong
    +#> 822                                 Canet d'Adri
    +#> 823                            Cassà de la Selva
    +#> 824                                        Celrà
    +#> 825                                Cervià de Ter
    +#> 826                                        Flaçà
    +#> 827                         Fornells de la Selva
    +#> 828                                       Girona
    +#> 829                                         Juià
    +#> 830                                   Llagostera
    +#> 831                                   Llambilles
    +#> 832                                   Madremanya
    +#> 833                                      Medinyà
    +#> 834                                        Quart
    +#> 835                                         Salt
    +#> 836                            Sant Andreu Salou
    +#> 837                                 Sant Gregori
    +#> 838                          Sant Joan de Mollet
    +#> 839                          Sant Jordi Desvalls
    +#> 840                          Sant Julià de Ramis
    +#> 841                        Sant Martí de Llémena
    +#> 842                              Sant Martí Vell
    +#> 843                                Sarrià de Ter
    +#> 844                                  Vilablareix
    +#> 845                                   Viladasens
    +#> 846                                       Alpens
    +#> 847                                        Lluçà
    +#> 848                                        Olost
    +#> 849                                       Oristà
    +#> 850                                     Perafita
    +#> 851                            Prats de Lluçanès
    +#> 852                          Sant Martí d'Albars
    +#> 853                                    Sobremunt
    +#> 854                                       Alella
    +#> 855                                Arenys de Mar
    +#> 856                               Arenys de Munt
    +#> 857                                    Argentona
    +#> 858                               Cabrera de Mar
    +#> 859                                      Cabrils
    +#> 860                              Caldes d'Estrac
    +#> 861                                      Calella
    +#> 862                                 Canet de Mar
    +#> 863                                      Dosrius
    +#> 864                                    el Masnou
    +#> 865                               Malgrat de Mar
    +#> 866                                       Mataró
    +#> 867                                      Montgat
    +#> 868                                       Òrrius
    +#> 869                                    Palafolls
    +#> 870                                Pineda de Mar
    +#> 871                               Premià de Dalt
    +#> 872                                Premià de Mar
    +#> 873                    Sant Andreu de Llavaneres
    +#> 874                      Sant Cebrià de Vallalta
    +#> 875                       Sant Iscle de Vallalta
    +#> 876                              Sant Pol de Mar
    +#> 877                       Sant Vicenç de Montalt
    +#> 878                                Santa Susanna
    +#> 879                                         Teià
    +#> 880                                        Tiana
    +#> 881                                      Tordera
    +#> 882                             Vilassar de Dalt
    +#> 883                              Vilassar de Mar
    +#> 884                                      Calders
    +#> 885                                   Castellcir
    +#> 886                                Castellterçol
    +#> 887                                  Collsuspina
    +#> 888                                      Granera
    +#> 889                                     l'Estany
    +#> 890                                         Moià
    +#> 891                         Monistrol de Calders
    +#> 892                           Sant Quirze Safaja
    +#> 893                            Santa Maria d'Oló
    +#> 894                                      Alcanar
    +#> 895                                      Amposta
    +#> 896                                    Freginals
    +#> 897                                       Godall
    +#> 898                                    la Galera
    +#> 899                                    la Ràpita
    +#> 900                                     la Sénia
    +#> 901                             Mas de Barberans
    +#> 902                                  Masdenverge
    +#> 903                          Sant Jaume d'Enveja
    +#> 904                                Santa Bàrbara
    +#> 905                                    Ulldecona
    +#> 906                                         Àger
    +#> 907                                       Albesa
    +#> 908                                      Algerri
    +#> 909                             Alòs de Balaguer
    +#> 910                              Artesa de Segre
    +#> 911                                     Balaguer
    +#> 912                           Bellcaire d'Urgell
    +#> 913                            Bellmunt d'Urgell
    +#> 914                                   Cabanabona
    +#> 915                                     Camarasa
    +#> 916                         Castelló de Farfanya
    +#> 917                                      Cubells
    +#> 918                                     Foradada
    +#> 919                             Ivars de Noguera
    +#> 920                          la Baronia de Rialb
    +#> 921                             la Sentiu de Sió
    +#> 922                  les Avellanes i Santa Linya
    +#> 923                                   Menàrguens
    +#> 924                                      Montgai
    +#> 925                                       Oliola
    +#> 926                               Os de Balaguer
    +#> 927                                     Penelles
    +#> 928                                        Ponts
    +#> 929                                     Preixens
    +#> 930                                      Térmens
    +#> 931                                      Tiurana
    +#> 932                                   Torrelameu
    +#> 933                       Vallfogona de Balaguer
    +#> 934                          Vilanova de l'Aguda
    +#> 935                             Vilanova de Meià
    +#> 936                                      Balenyà
    +#> 937                                  Calldetenes
    +#> 938                                    Centelles
    +#> 939                                     el Brull
    +#> 940                                   Espinelves
    +#> 941                                  Folgueroles
    +#> 942                                         Gurb
    +#> 943                                   l'Esquirol
    +#> 944                           les Masies de Roda
    +#> 945                       les Masies de Voltregà
    +#> 946                                        Malla
    +#> 947                                      Manlleu
    +#> 948                                   Montesquiu
    +#> 949                                   Muntanyola
    +#> 950                                         Orís
    +#> 951                                  Roda de Ter
    +#> 952                                Rupit i Pruit
    +#> 953                      Sant Agustí de Lluçanès
    +#> 954                       Sant Bartomeu del Grau
    +#> 955                         Sant Boi de Lluçanès
    +#> 956                     Sant Hipòlit de Voltregà
    +#> 957                      Sant Julià de Vilatorta
    +#> 958                      Sant Martí de Centelles
    +#> 959                         Sant Pere de Torelló
    +#> 960                        Sant Quirze de Besora
    +#> 961                      Sant Sadurní d'Osormort
    +#> 962                       Sant Vicenç de Torelló
    +#> 963                    Santa Cecília de Voltregà
    +#> 964                       Santa Eugènia de Berga
    +#> 965                   Santa Eulàlia de Riuprimer
    +#> 966                        Santa Maria de Besora
    +#> 967                                         Seva
    +#> 968                                         Sora
    +#> 969                                     Taradell
    +#> 970                                   Tavèrnoles
    +#> 971                                     Tavertet
    +#> 972                                         Tona
    +#> 973                                      Torelló
    +#> 974                                          Vic
    +#> 975                                        Vidrà
    +#> 976                                     Viladrau
    +#> 977                              Vilanova de Sau
    +#> 978                           Abella de la Conca
    +#> 979                               Castell de Mur
    +#> 980                                Conca de Dalt
    +#> 981                            Gavet de la Conca
    +#> 982                          Isona i Conca Dellà
    +#> 983                            la Pobla de Segur
    +#> 984                         la Torre de Cabdella
    +#> 985                                     Llimiana
    +#> 986                             Salàs de Pallars
    +#> 987                      Sant Esteve de la Sarga
    +#> 988                           Sarroca de Bellera
    +#> 989                                    Senterada
    +#> 990                                       Talarn
    +#> 991                                        Tremp
    +#> 992                                        Alins
    +#> 993                                     Alt Àneu
    +#> 994                                 Baix Pallars
    +#> 995                                        Espot
    +#> 996                               Esterri d'Àneu
    +#> 997                            Esterri de Cardós
    +#> 998                                      Farrera
    +#> 999                          la Guingueta d'Àneu
    +#> 1000                                    Lladorre
    +#> 1001                                    Llavorsí
    +#> 1002                                       Rialb
    +#> 1003                                   Soriguera
    +#> 1004                                        Sort
    +#> 1005                                      Tírvia
    +#> 1006                              Vall de Cardós
    +#> 1007                                     Barbens
    +#> 1008                          Bell-lloc d'Urgell
    +#> 1009                                     Bellvís
    +#> 1010                         Castellnou de Seana
    +#> 1011                        el Palau d'Anglesola
    +#> 1012                                     el Poal
    +#> 1013                                  Fondarella
    +#> 1014                                      Golmés
    +#> 1015                              Ivars d'Urgell
    +#> 1016                                     Linyola
    +#> 1017                                   Miralcamp
    +#> 1018                                  Mollerussa
    +#> 1019                                     Sidamon
    +#> 1020                                 Torregrossa
    +#> 1021                                   Vila-sana
    +#> 1022                        Vilanova de Bellpuig
    +#> 1023                                    Banyoles
    +#> 1024                                       Camós
    +#> 1025                          Cornellà del Terri
    +#> 1026                                     Crespià
    +#> 1027                                   Esponellà
    +#> 1028                                 Fontcoberta
    +#> 1029                           Palol de Revardit
    +#> 1030                                   Porqueres
    +#> 1031                    Sant Miquel de Campmajor
    +#> 1032                                     Serinyà
    +#> 1033                                  Vilademuls
    +#> 1034                        Bellmunt del Priorat
    +#> 1035                                   Cabassers
    +#> 1036                                    Capçanes
    +#> 1037                      Cornudella de Montsant
    +#> 1038                                    el Lloar
    +#> 1039                                  el Masroig
    +#> 1040                                    el Molar
    +#> 1041                                els Guiamets
    +#> 1042                                      Falset
    +#> 1043                                  Gratallops
    +#> 1044                       la Bisbal de Montsant
    +#> 1045                                  la Figuera
    +#> 1046                       la Morera de Montsant
    +#> 1047                     la Torre de Fontaubella
    +#> 1048                             la Vilella Alta
    +#> 1049                            la Vilella Baixa
    +#> 1050                                       Marçà
    +#> 1051                                    Margalef
    +#> 1052                                    Poboleda
    +#> 1053                                     Porrera
    +#> 1054                       Pradell de la Teixeta
    +#> 1055                         Torroja del Priorat
    +#> 1056                                 Ulldemolins
    +#> 1057                                        Ascó
    +#> 1058                                  Benissanet
    +#> 1059                                        Flix
    +#> 1060                                      Garcia
    +#> 1061                                    Ginestar
    +#> 1062                             la Palma d'Ebre
    +#> 1063                      la Torre de l'Espanyol
    +#> 1064                                     Miravet
    +#> 1065                                 Móra d'Ebre
    +#> 1066                                Móra la Nova
    +#> 1067                                    Rasquera
    +#> 1068                            Riba-roja d'Ebre
    +#> 1069                                     Tivissa
    +#> 1070                                     Vinebre
    +#> 1071                                 Campdevànol
    +#> 1072                                   Campelles
    +#> 1073                                   Camprodon
    +#> 1074                                     Gombrèn
    +#> 1075                                 les Llosses
    +#> 1076                                     Llanars
    +#> 1077                                       Molló
    +#> 1078                                      Ogassa
    +#> 1079                                    Pardines
    +#> 1080                                    Planoles
    +#> 1081                                    Queralbs
    +#> 1082                             Ribes de Freser
    +#> 1083                                      Ripoll
    +#> 1084                  Sant Joan de les Abadesses
    +#> 1085                        Sant Pau de Segúries
    +#> 1086                                    Setcases
    +#> 1087                                       Toses
    +#> 1088                      Vallfogona de Ripollès
    +#> 1089                           Vilallonga de Ter
    +#> 1090                                      Biosca
    +#> 1091                                     Cervera
    +#> 1092                            els Plans de Sió
    +#> 1093                                     Estaràs
    +#> 1094                                 Granyanella
    +#> 1095                         Granyena de Segarra
    +#> 1096                                    Guissona
    +#> 1097                                      Ivorra
    +#> 1098                                  les Oluges
    +#> 1099                                  Massoteres
    +#> 1100                         Montoliu de Segarra
    +#> 1101                        Montornès de Segarra
    +#> 1102                             Ribera d'Ondara
    +#> 1103                                     Sanaüja
    +#> 1104                      Sant Guim de Freixenet
    +#> 1105                       Sant Guim de la Plana
    +#> 1106                                  Sant Ramon
    +#> 1107                                    Talavera
    +#> 1108                          Tarroja de Segarra
    +#> 1109                                        Torà
    +#> 1110                       Torrefeta i Florejacs
    +#> 1111                                      Aitona
    +#> 1112                                  Albatàrrec
    +#> 1113                                      Alcanó
    +#> 1114                                    Alcarràs
    +#> 1115                                   Alcoletge
    +#> 1116                                    Alfarràs
    +#> 1117                                       Alfés
    +#> 1118                                    Alguaire
    +#> 1119                                  Almacelles
    +#> 1120                                    Almatret
    +#> 1121                                     Almenar
    +#> 1122                                     Alpicat
    +#> 1123                            Artesa de Lleida
    +#> 1124                                        Aspa
    +#> 1125                          Benavent de Segrià
    +#> 1126                                     Corbins
    +#> 1127                                  els Alamús
    +#> 1128               Gimenells i el Pla de la Font
    +#> 1129                          la Granja d'Escarp
    +#> 1130                                 la Portella
    +#> 1131                                  Llardecans
    +#> 1132                                      Lleida
    +#> 1133                                      Maials
    +#> 1134                                Massalcoreig
    +#> 1135                          Montoliu de Lleida
    +#> 1136                          Puigverd de Lleida
    +#> 1137                                    Rosselló
    +#> 1138                           Sarroca de Lleida
    +#> 1139                                       Seròs
    +#> 1140                                       Soses
    +#> 1141                                    Sudanell
    +#> 1142                                      Sunyer
    +#> 1143                                Torre-serona
    +#> 1144                                 Torrebesses
    +#> 1145                                Torrefarrera
    +#> 1146                             Torres de Segre
    +#> 1147                        Vilanova de la Barca
    +#> 1148                          Vilanova de Segrià
    +#> 1149                                        Amer
    +#> 1150                                      Anglès
    +#> 1151                                    Arbúcies
    +#> 1152                                      Blanes
    +#> 1153                                       Breda
    +#> 1154               Brunyola i Sant Martí Sapresa
    +#> 1155                         Caldes de Malavella
    +#> 1156                          Fogars de la Selva
    +#> 1157                                   Hostalric
    +#> 1158                           la Cellera de Ter
    +#> 1159                               Lloret de Mar
    +#> 1160                                     Maçanes
    +#> 1161                         Maçanet de la Selva
    +#> 1162                                        Osor
    +#> 1163                            Riells i Viabrea
    +#> 1164                                  Riudarenes
    +#> 1165                      Riudellots de la Selva
    +#> 1166                     Sant Feliu de Buixalleu
    +#> 1167                          Sant Hilari Sacalm
    +#> 1168               Sant Julià del Llor i Bonmatí
    +#> 1169                     Santa Coloma de Farners
    +#> 1170                                        Sils
    +#> 1171                                    Susqueda
    +#> 1172                                Tossa de Mar
    +#> 1173                                    Vidreres
    +#> 1174                              Vilobí d'Onyar
    +#> 1175                      Castellar de la Ribera
    +#> 1176                        Clariana de Cardener
    +#> 1177                                     Guixers
    +#> 1178                          la Coma i la Pedra
    +#> 1179                                  la Molsosa
    +#> 1180                                     Lladurs
    +#> 1181                                     Llobera
    +#> 1182                                       Navès
    +#> 1183                                        Odèn
    +#> 1184                                       Olius
    +#> 1185                          Pinell de Solsonès
    +#> 1186                                       Pinós
    +#> 1187                                       Riner
    +#> 1188                     Sant Llorenç de Morunys
    +#> 1189                                     Solsona
    +#> 1190                                   Altafulla
    +#> 1191                                   Constantí
    +#> 1192                                    Creixell
    +#> 1193                                  el Catllar
    +#> 1194                                   el Morell
    +#> 1195                              els Pallaresos
    +#> 1196                                  la Canonja
    +#> 1197                              la Nou de Gaià
    +#> 1198                         la Pobla de Mafumet
    +#> 1199                       la Pobla de Montornès
    +#> 1200                            la Riera de Gaià
    +#> 1201                                  la Secuita
    +#> 1202                                    Perafort
    +#> 1203                                       Renau
    +#> 1204                                Roda de Berà
    +#> 1205                                      Salomó
    +#> 1206                                       Salou
    +#> 1207                                   Tarragona
    +#> 1208                               Torredembarra
    +#> 1209                            Vespella de Gaià
    +#> 1210                                   Vila-seca
    +#> 1211                         Vilallonga del Camp
    +#> 1212                                       Arnes
    +#> 1213                                       Batea
    +#> 1214                                         Bot
    +#> 1215                                     Caseres
    +#> 1216                              Corbera d'Ebre
    +#> 1217                           el Pinell de Brai
    +#> 1218                                     Gandesa
    +#> 1219                          Horta de Sant Joan
    +#> 1220                                la Fatarella
    +#> 1221                       la Pobla de Massaluca
    +#> 1222                               Prat de Comte
    +#> 1223                           Vilalba dels Arcs
    +#> 1224                                    Agramunt
    +#> 1225                                   Anglesola
    +#> 1226                                    Belianes
    +#> 1227                                    Bellpuig
    +#> 1228                                 Castellserà
    +#> 1229                                  Ciutadilla
    +#> 1230                       els Omells de na Gaia
    +#> 1231                                     Guimerà
    +#> 1232                                  la Fuliola
    +#> 1233                                       Maldà
    +#> 1234                                       Nalec
    +#> 1235                                 Ossó de Sió
    +#> 1236                                    Preixana
    +#> 1237                         Puigverd d'Agramunt
    +#> 1238                       Sant Martí de Riucorb
    +#> 1239                                     Tàrrega
    +#> 1240                                   Tornabous
    +#> 1241                      Vallbona de les Monges
    +#> 1242                                       Verdú
    +#> 1243                                  Vilagrassa
    +#> 1244                            Badia del Vallès
    +#> 1245                          Barberà del Vallès
    +#> 1246                        Castellar del Vallès
    +#> 1247                               Castellbisbal
    +#> 1248                       Cerdanyola del Vallès
    +#> 1249                                     Gallifa
    +#> 1250                                  Matadepera
    +#> 1251                           Montcada i Reixac
    +#> 1252                    Palau-solità i Plegamans
    +#> 1253                                     Polinyà
    +#> 1254                                   Rellinars
    +#> 1255                                    Ripollet
    +#> 1256                                        Rubí
    +#> 1257                                    Sabadell
    +#> 1258                       Sant Cugat del Vallès
    +#> 1259                         Sant Llorenç Savall
    +#> 1260                      Sant Quirze del Vallès
    +#> 1261                    Santa Perpètua de Mogoda
    +#> 1262                                   Sentmenat
    +#> 1263                                    Terrassa
    +#> 1264                                  Ullastrell
    +#> 1265                                  Vacarisses
    +#> 1266                               Viladecavalls
    +#> 1267                                  Aiguafreda
    +#> 1268                     Bigues i Riells del Fai
    +#> 1269                           Caldes de Montbui
    +#> 1270                                     Campins
    +#> 1271                                  Canovelles
    +#> 1272                           Cànoves i Samalús
    +#> 1273                                    Cardedeu
    +#> 1274                       el Figueró i Montmany
    +#> 1275                          Fogars de Montclús
    +#> 1276                                  Granollers
    +#> 1277                                      Gualba
    +#> 1278                        l'Ametlla del Vallès
    +#> 1279                                  la Garriga
    +#> 1280                                 la Llagosta
    +#> 1281                          la Roca del Vallès
    +#> 1282                   les Franqueses del Vallès
    +#> 1283                               Lliçà d'Amunt
    +#> 1284                               Lliçà de Vall
    +#> 1285                          Llinars del Vallès
    +#> 1286                                 Martorelles
    +#> 1287                           Mollet del Vallès
    +#> 1288                                    Montmeló
    +#> 1289                        Montornès del Vallès
    +#> 1290                                    Montseny
    +#> 1291                           Parets del Vallès
    +#> 1292                    Sant Antoni de Vilamajor
    +#> 1293                                 Sant Celoni
    +#> 1294                 Sant Esteve de Palautordera
    +#> 1295                       Sant Feliu de Codines
    +#> 1296                  Sant Fost de Campsentelles
    +#> 1297                      Sant Pere de Vilamajor
    +#> 1298                    Santa Eulàlia de Ronçana
    +#> 1299                  Santa Maria de Martorelles
    +#> 1300                 Santa Maria de Palautordera
    +#> 1301                                  Tagamanent
    +#> 1302                                Vallgorguina
    +#> 1303                                 Vallromanes
    +#> 1304                            Vilalba Sasserra
    +#> 1305                         Vilanova del Vallès
    +#> 1306                                    València
    +#> 1307                            Alcalà de Xivert
    +#> 1308                                   Benicarló
    +#> 1309                                       Càlig
    +#> 1310                               Canet lo Roig
    +#> 1311                           Castell de Cabres
    +#> 1312                        Cervera del Maestrat
    +#> 1313                                     la Jana
    +#> 1314                       la Pobla de Benifassà
    +#> 1315                               la Salzadella
    +#> 1316                                   Peníscola
    +#> 1317                                     Rossell
    +#> 1318                                  Sant Jordi
    +#> 1319                                  Sant Mateu
    +#> 1320                          Sant Rafel del Riu
    +#> 1321                   Santa Magdalena de Polpís
    +#> 1322                                   Traiguera
    +#> 1323                                     Vinaròs
    +#> 1324                                        Xert
    +#> 1325                        Guardamar del Segura
    +#> 1326                                  Crevillent
    +#> 1327                                         Elx
    +#> 1328                                  Santa Pola
    +#> 1329                      Albalat dels Tarongers
    +#> 1330                        Alfara de la Baronia
    +#> 1331                           Algar de Palància
    +#> 1332                            Algímia d'Alfara
    +#> 1333                                   Benavites
    +#> 1334                      Benifairó de les Valls
    +#> 1335                        Canet d'en Berenguer
    +#> 1336                                   Estivella
    +#> 1337                                       Faura
    +#> 1338                                       Gilet
    +#> 1339                                      Petrés
    +#> 1340                          Quart de les Valls
    +#> 1341                                    Quartell
    +#> 1342                                      Sagunt
    +#> 1343                                      Segart
    +#> 1344                               Torres Torres
    +#> 1345                                  Benaguasil
    +#> 1346                                   Benissanó
    +#> 1347                                      Bétera
    +#> 1348                                     Casinos
    +#> 1349                                    l'Eliana
    +#> 1350                        la Pobla de Vallbona
    +#> 1351                                      Llíria
    +#> 1352                                     Nàquera
    +#> 1353                                      Olocau
    +#> 1354                          Riba-roja de Túria
    +#> 1355                                       Serra
    +#> 1356                                 Vilamarxant
    +#> 1357                                       Agres
    +#> 1358                                    Alcoleja
    +#> 1359                                    Alcosser
    +#> 1360                                    Alfafara
    +#> 1361                                   Almudaina
    +#> 1362                                     Balones
    +#> 1363                                     Benasau
    +#> 1364                                   Beniarrés
    +#> 1365                                   Benilloba
    +#> 1366                                    Benillup
    +#> 1367                                 Benimarfull
    +#> 1368                                  Benimassot
    +#> 1369                                  Cocentaina
    +#> 1370                                      Fageca
    +#> 1371                                     Famorca
    +#> 1372                                     Gaianes
    +#> 1373                                       Gorga
    +#> 1374                          l'Alqueria d'Asnar
    +#> 1375                                      l'Orxa
    +#> 1376                                     Millena
    +#> 1377                                Muro d'Alcoi
    +#> 1378                                      Planes
    +#> 1379                               Quatretondeta
    +#> 1380                                      Tollos
    +#> 1381                        el Fondó de les Neus
    +#> 1382                        el Fondó dels Frares
    +#> 1383                                    el Pinós
    +#> 1384                                  l'Alguenya
    +#> 1385                                   la Romana
    +#> 1386                                     Monòver
    +#> 1387                                     Novelda
    +#> 1388                                      Petrer
    +#> 1389                                 Castellfort
    +#> 1390                                  Cinctorres
    +#> 1391                                  el Forcall
    +#> 1392                                     Herbers
    +#> 1393                          la Mata de Morella
    +#> 1394                                la Todolella
    +#> 1395                                     Morella
    +#> 1396                                   Palanques
    +#> 1397                          Portell de Morella
    +#> 1398                                      Sorita
    +#> 1399                                   Vallibona
    +#> 1400                                  Vilafranca
    +#> 1401                                    Villores
    +#> 1402                                       Agost
    +#> 1403                                      Aigües
    +#> 1404                                     Alacant
    +#> 1405                                       Busot
    +#> 1406                                 el Campello
    +#> 1407                     la Torre de les Maçanes
    +#> 1408                                    Mutxamel
    +#> 1409                         Sant Joan d'Alacant
    +#> 1410                     Sant Vicent del Raspeig
    +#> 1411                                      Xixona
    +#> 1412                                      Costur
    +#> 1413                                  Figueroles
    +#> 1414                                    l'Alcora
    +#> 1415                                  les Useres
    +#> 1416                                     Llucena
    +#> 1417                     Vistabella del Maestrat
    +#> 1418                                       Xodos
    +#> 1419                                       Alcoi
    +#> 1420                         Banyeres de Mariola
    +#> 1421                                  Benifallim
    +#> 1422                                    Castalla
    +#> 1423                                         Ibi
    +#> 1424                                        Onil
    +#> 1425                                   Penàguila
    +#> 1426                                        Tibi
    +#> 1427                                  Albocàsser
    +#> 1428                           Ares del Maestrat
    +#> 1429                       Atzeneta del Maestrat
    +#> 1430                                   Benafigos
    +#> 1431                                    Benassal
    +#> 1432                                        Catí
    +#> 1433                                       Culla
    +#> 1434                               la Serratella
    +#> 1435                        la Torre d'en Besora
    +#> 1436                                       Tírig
    +#> 1437                              Vilar de Canes
    +#> 1438                                   Beneixama
    +#> 1439                                        Biar
    +#> 1440                            el Camp de Mirra
    +#> 1441                                  la Canyada
    +#> 1442                        Albalat dels Sorells
    +#> 1443                                    Alboraia
    +#> 1444                                    Albuixec
    +#> 1445                        Alfara del Patriarca
    +#> 1446                                   Almàssera
    +#> 1447                        Bonrepòs i Mirambell
    +#> 1448                                   Burjassot
    +#> 1449                      el Puig de Santa Maria
    +#> 1450                                   Emperador
    +#> 1451                                       Foios
    +#> 1452                                     Godella
    +#> 1453                         la Pobla de Farnals
    +#> 1454                                Massalfassar
    +#> 1455                                Massamagrell
    +#> 1456                                     Meliana
    +#> 1457                                    Montcada
    +#> 1458                                     Museros
    +#> 1459                                     Paterna
    +#> 1460                                       Puçol
    +#> 1461                                 Rafelbunyol
    +#> 1462                                    Rocafort
    +#> 1463                           Tavernes Blanques
    +#> 1464                                    Vinalesa
    +#> 1465                                     Alaquàs
    +#> 1466                                       Albal
    +#> 1467                                    Alcàsser
    +#> 1468                                      Aldaia
    +#> 1469                                     Alfafar
    +#> 1470                                  Benetússer
    +#> 1471                                 Beniparrell
    +#> 1472                                   Catarroja
    +#> 1473                        Llocnou de la Corona
    +#> 1474                                     Manises
    +#> 1475                                  Massanassa
    +#> 1476                                     Mislata
    +#> 1477                                    Paiporta
    +#> 1478                                     Picanya
    +#> 1479                                   Picassent
    +#> 1480                             Quart de Poblet
    +#> 1481                                      Sedaví
    +#> 1482                                       Silla
    +#> 1483                                     Torrent
    +#> 1484                                   Xirivella
    +#> 1485                                     Barxeta
    +#> 1486                                      Canals
    +#> 1487                                       Cerdà
    +#> 1488                                  el Genovés
    +#> 1489                                    Estubeny
    +#> 1490                       l'Alcúdia de Crespins
    +#> 1491                       la Font de la Figuera
    +#> 1492                     la Granja de la Costera
    +#> 1493                           la Llosa de Ranes
    +#> 1494                            Llanera de Ranes
    +#> 1495                       Llocnou d'en Fenollet
    +#> 1496                                     Moixent
    +#> 1497                                     Montesa
    +#> 1498                                     Novetlè
    +#> 1499                            Rotglà i Corberà
    +#> 1500                                    Torrella
    +#> 1501                                     Vallada
    +#> 1502                                      Vallés
    +#> 1503                                      Xàtiva
    +#> 1504                                    Alcalalí
    +#> 1505                                  Beniarbeig
    +#> 1506                                  Benidoleig
    +#> 1507                                  Benigembla
    +#> 1508                                    Benimeli
    +#> 1509                                     Benissa
    +#> 1510                                        Calp
    +#> 1511                         Castell de Castells
    +#> 1512                                       Dénia
    +#> 1513                 el Poble Nou de Benitatxell
    +#> 1514                          el Ràfol d'Almúnia
    +#> 1515                                   el Verger
    +#> 1516                                 els Poblets
    +#> 1517                              Gata de Gorgos
    +#> 1518                                   l'Atzúbia
    +#> 1519                            la Vall d'Alcalà
    +#> 1520                               la Vall d'Ebo
    +#> 1521                        la Vall de Gallinera
    +#> 1522                           la Vall de Laguar
    +#> 1523                                      Llíber
    +#> 1524                                       Murla
    +#> 1525                                      Ondara
    +#> 1526                                        Orba
    +#> 1527                                     Parcent
    +#> 1528                                   Pedreguer
    +#> 1529                                        Pego
    +#> 1530                                       Sagra
    +#> 1531                         Sanet i els Negrals
    +#> 1532                                      Senija
    +#> 1533                                     Teulada
    +#> 1534                                      Tormos
    +#> 1535                                       Xàbia
    +#> 1536                                        Xaló
    +#> 1537                                       Altea
    +#> 1538                                    Beniardà
    +#> 1539                                    Benidorm
    +#> 1540                                    Benifato
    +#> 1541                                 Benimantell
    +#> 1542                                     Bolulla
    +#> 1543                         Callosa d'en Sarrià
    +#> 1544                                   Confrides
    +#> 1545                     el Castell de Guadalest
    +#> 1546                                   Finestrat
    +#> 1547                              l'Alfàs del Pi
    +#> 1548                                    la Nucia
    +#> 1549                              la Vila Joiosa
    +#> 1550                                      Orxeta
    +#> 1551                                       Polop
    +#> 1552                                      Relleu
    +#> 1553                                       Sella
    +#> 1554                                     Tàrbena
    +#> 1555                                   Almassora
    +#> 1556                                  Benicàssim
    +#> 1557                                     Benlloc
    +#> 1558                                     Borriol
    +#> 1559                                     Cabanes
    +#> 1560                        Castelló de la Plana
    +#> 1561                            la Pobla Tornesa
    +#> 1562                      la Serra d'en Galceran
    +#> 1563                       la Torre d'en Doménec
    +#> 1564                              la Vall d'Alba
    +#> 1565                        les Coves de Vinromà
    +#> 1566                                      Orpesa
    +#> 1567                           Sant Joan de Moró
    +#> 1568                                 Torreblanca
    +#> 1569                                   Vilafamés
    +#> 1570                          Vilanova d'Alcolea
    +#> 1571                                         Aín
    +#> 1572                               Alfondeguilla
    +#> 1573                                    Almenara
    +#> 1574                                      Artana
    +#> 1575                                       Betxí
    +#> 1576                                    Borriana
    +#> 1577                                      Eslida
    +#> 1578                            l'Alcúdia de Veo
    +#> 1579                                    la Llosa
    +#> 1580                              la Vall d'Uixó
    +#> 1581                                la Vilavella
    +#> 1582                               les Alqueries
    +#> 1583                                     Moncofa
    +#> 1584                                       Nules
    +#> 1585                                        Onda
    +#> 1586                                  Ribesalbes
    +#> 1587                                       Suera
    +#> 1588                                       Tales
    +#> 1589                                   Vila-real
    +#> 1590                                      Xilxes
    +#> 1591                                     Alberic
    +#> 1592                         Alcàntera de Xúquer
    +#> 1593                                      Alfarb
    +#> 1594                                    Algemesí
    +#> 1595                                     Alginet
    +#> 1596                                      Alzira
    +#> 1597                                     Antella
    +#> 1598                                   Beneixida
    +#> 1599                                    Benifaió
    +#> 1600                                    Benimodo
    +#> 1601                                  Benimuslem
    +#> 1602                                  Carcaixent
    +#> 1603                                      Càrcer
    +#> 1604                                      Carlet
    +#> 1605                                    Castelló
    +#> 1606                                     Catadau
    +#> 1607                                       Cotes
    +#> 1608                                     Gavarda
    +#> 1609                                  Guadassuar
    +#> 1610                                   l'Alcúdia
    +#> 1611                                     l'Énova
    +#> 1612                             la Pobla Llarga
    +#> 1613                                     Llombai
    +#> 1614                                      Manuel
    +#> 1615                                  Massalavés
    +#> 1616                                     Montroi
    +#> 1617                                  Montserrat
    +#> 1618                                 Rafelguaraf
    +#> 1619                                        Real
    +#> 1620                                 Sant Joanet
    +#> 1621                                     Sellent
    +#> 1622                                     Senyera
    +#> 1623                                  Sumacàrcer
    +#> 1624                                       Torís
    +#> 1625                        Albalat de la Ribera
    +#> 1626                                  Almussafes
    +#> 1627                          Benicull de Xúquer
    +#> 1628                                     Corbera
    +#> 1629                                     Cullera
    +#> 1630                                      Favara
    +#> 1631                                   Fortaleny
    +#> 1632                                      Llaurí
    +#> 1633                           Polinyà de Xúquer
    +#> 1634                                       Riola
    +#> 1635                                     Sollana
    +#> 1636                                       Sueca
    +#> 1637                                        Ador
    +#> 1638                                     Alfauir
    +#> 1639                                    Almiserà
    +#> 1640                                    Almoines
    +#> 1641                                        Barx
    +#> 1642                                 Bellreguard
    +#> 1643                                    Beniarjó
    +#> 1644                   Benifairó de la Valldigna
    +#> 1645                                     Beniflà
    +#> 1646                                  Benirredrà
    +#> 1647                 Castellonet de la Conquesta
    +#> 1648                                      Daimús
    +#> 1649                           el Real de Gandia
    +#> 1650                                      Gandia
    +#> 1651                       Guardamar de la Safor
    +#> 1652                   l'Alqueria de la Comtessa
    +#> 1653                         la Font d'en Carròs
    +#> 1654                      Llocnou de Sant Jeroni
    +#> 1655                                     Miramar
    +#> 1656                                       Oliva
    +#> 1657                             Palma de Gandia
    +#> 1658                                     Palmera
    +#> 1659                                       Piles
    +#> 1660                                     Potries
    +#> 1661                                  Rafelcofer
    +#> 1662                                      Ròtova
    +#> 1663                       Simat de la Valldigna
    +#> 1664                    Tavernes de la Valldigna
    +#> 1665                                  Vilallonga
    +#> 1666                                      Xeraco
    +#> 1667                                      Xeresa
    +#> 1668                                    Agullent
    +#> 1669                           Aielo de Malferit
    +#> 1670                              Aielo de Rugat
    +#> 1671                                     Albaida
    +#> 1672                                   Alfarrasí
    +#> 1673                          Atzeneta d'Albaida
    +#> 1674                                     Bèlgida
    +#> 1675                                      Bellús
    +#> 1676                                   Beniatjar
    +#> 1677                                   Benicolet
    +#> 1678                                   Benigànim
    +#> 1679                                   Benissoda
    +#> 1680                                  Benissuera
    +#> 1681                                   Bocairent
    +#> 1682                                      Bufali
    +#> 1683                                   Carrícola
    +#> 1684                           Castelló de Rugat
    +#> 1685                                  el Palomar
    +#> 1686                           el Ràfol de Salem
    +#> 1687                     Fontanars dels Alforins
    +#> 1688                               Guadasséquies
    +#> 1689                                   l'Olleria
    +#> 1690                            la Pobla del Duc
    +#> 1691                                    Llutxent
    +#> 1692                                 Montaverner
    +#> 1693                                 Montitxelvo
    +#> 1694                                   Ontinyent
    +#> 1695                                        Otos
    +#> 1696                                       Pinet
    +#> 1697                                 Quatretonda
    +#> 1698                                       Rugat
    +#> 1699                                       Salem
    +#> 1700                                     Sempere
    +#> 1701                                   Terrateig
    +#> 1702                                    l'Alguer
    +#>                                                   name
    +#> 1                                              Salardú
    +#> 2                                         Arres de Jos
    +#> 3                                               Bausen
    +#> 4                                              Bossòst
    +#> 5                                              Canejan
    +#> 6                                            Es Bòrdes
    +#> 7                                                  Les
    +#> 8                                               Vielha
    +#> 9                                              Vilamòs
    +#> 10                 Angoustrine-Villeneuve-des-Escaldes
    +#> 11                                            Bolquère
    +#> 12                                              Dorres
    +#> 13                                                Égat
    +#> 14                                                Eyne
    +#> 15                                             Enveitg
    +#> 16                                                 Err
    +#> 17                                             Estavar
    +#> 18                              Font-Romeu-Odeillo-Via
    +#> 19                                        La Cabanasse
    +#> 20                                        Bourg-Madame
    +#> 21                                     Latour-de-Carol
    +#> 22                                                 Llo
    +#> 23                                          Mont-Louis
    +#> 24                                              Nahuja
    +#> 25                                              Osséja
    +#> 26                                   Palau-de-Cerdagne
    +#> 27                                               Porta
    +#> 28                                     Porté-Puymorens
    +#> 29                                         Saillagouse
    +#> 30                                     Sainte-Léocadie
    +#> 31                                          Targasonne
    +#> 32                                                  Ur
    +#> 33                                        Valcebollère
    +#> 34                                          Les Angles
    +#> 35                                        Fontrabiouse
    +#> 36                                         Formiguères
    +#> 37                                            Matemale
    +#> 38                                          Puyvalador
    +#> 39                                                Réal
    +#> 40                                          Ayguatébia
    +#> 41                                          Arboussols
    +#> 42                                             Campôme
    +#> 43                                         Canaveilles
    +#> 44                                             Casteil
    +#> 45                                             Catllar
    +#> 46                                 Caudiès-de-Conflent
    +#> 47                                               Sansa
    +#> 48                                               Clara
    +#> 49                                             Codalet
    +#> 50                                               Conat
    +#> 51                               Corneilla-de-Conflent
    +#> 52                                              Escaro
    +#> 53                                  Espira-de-Conflent
    +#> 54                                             Estoher
    +#> 55                                                 Eus
    +#> 56                                             Fillols
    +#> 57                                           Finestret
    +#> 58                                        Fontpédrouse
    +#> 59                                              Fuilla
    +#> 60                                           Glorianes
    +#> 61                                                Joch
    +#> 62                                              Jujols
    +#> 63                                          La Bastide
    +#> 64                                         La Llagonne
    +#> 65                                              Llonat
    +#> 66                                         Marquixanes
    +#> 67                                              Mantet
    +#> 68                                    Molitg-les-Bains
    +#> 69                                              Mosset
    +#> 70                                             Nohèdes
    +#> 71                                                Nyer
    +#> 72                                              Olette
    +#> 73                                             Urbanya
    +#> 74                                             Oreilla
    +#> 75                                                  Py
    +#> 76                                              Planès
    +#> 77                                              Prades
    +#> 78                                             Railleu
    +#> 79                                                 Ria
    +#> 80                                             Rigarda
    +#> 81                                               Rodès
    +#> 82                                        Saint-Marsal
    +#> 83                           Saint-Pierre-dels-Forcats
    +#> 84                                             Sahorre
    +#> 85                                               Sauto
    +#> 86                                            Serdinya
    +#> 87                                            Souanyas
    +#> 88                                            Tarerach
    +#> 89                                            Taurinya
    +#> 90                                   Thuès-Entre-Valls
    +#> 91                                         Baillestavy
    +#> 92                                            Valmanya
    +#> 93                                    Vernet-les-Bains
    +#> 94                            Villefranche-de-Conflent
    +#> 95                                               Vinça
    +#> 96                                            Ansignan
    +#> 97                                             Bélesta
    +#> 98                                           Campoussy
    +#> 99                                            Caramany
    +#> 100                                          Cassagnes
    +#> 101                            Caudiès-de-Fenouillèdes
    +#> 102                                        Saint-Arnac
    +#> 103                                          Le Vivier
    +#> 104                                           Feilluns
    +#> 105                                         Fenouillet
    +#> 106                                        Les Cabanes
    +#> 107                                          Lesquerde
    +#> 108                                   Latour-de-France
    +#> 109                                             Lansac
    +#> 110                                              Maury
    +#> 111                                Montalba-le-Château
    +#> 112                                Pézilla-de-Conflent
    +#> 113                                           Planèzes
    +#> 114                                   Prats-de-Sournia
    +#> 115                                          Prugnanes
    +#> 116                                         Rasiguères
    +#> 117                                         Rabouillet
    +#> 118                         Saint-Martin-de-Fenouillet
    +#> 119                           Saint-Paul-de-Fenouillet
    +#> 120                                            Sournia
    +#> 121                                         Trévillach
    +#> 122                                             Trilla
    +#> 123                                               Vira
    +#> 124                                             Alénya
    +#> 125                                    Argelès-sur-Mer
    +#> 126                                              Bages
    +#> 127                                             Baixas
    +#> 128                                    Banyuls-sur-Mer
    +#> 129                                Banyuls-dels-Aspres
    +#> 130                                               Baho
    +#> 131                                             Bompas
    +#> 132                                           Brouilla
    +#> 133                                      Boule-d'Amont
    +#> 134                                       Bouleternère
    +#> 135                                          Cabestany
    +#> 136                                              Calce
    +#> 137                                         Calmeilles
    +#> 138                                            Camélas
    +#> 139                                Canet-en-Roussillon
    +#> 140                                            Canohès
    +#> 141                                          Casefabre
    +#> 142                                      Cases-de-Pène
    +#> 143                                          Castelnou
    +#> 144                                            Cerbère
    +#> 145                                             Claira
    +#> 146                                            Corbère
    +#> 147                               Corneilla-la-Rivière
    +#> 148                               Corneilla-del-Vercol
    +#> 149                                          Collioure
    +#> 150                                        Le Barcarès
    +#> 151                                           Le Soler
    +#> 152                                          Le Boulou
    +#> 153                                               Elne
    +#> 154                                   Espira-de-l'Agly
    +#> 155                                            Estagel
    +#> 156                                           Fourques
    +#> 157                                       Ille-sur-Têt
    +#> 158                                Corbère-les-Cabanes
    +#> 159                                Laroque-des-Albères
    +#> 160                                    Latour-Bas-Elne
    +#> 161                                             Llauro
    +#> 162                                             Llupia
    +#> 163                                             Millas
    +#> 164                                          Montescot
    +#> 165                            Montesquieu-des-Albères
    +#> 166                                            Montner
    +#> 167                                         Montauriol
    +#> 168                                            Néfiach
    +#> 169                                                Oms
    +#> 170                                     Opoul-Périllos
    +#> 171                                            Ortaffa
    +#> 172                                              Passa
    +#> 173                                    Palau-del-Vidre
    +#> 174                                       Peyrestortes
    +#> 175                                          Perpignan
    +#> 176                                 Pézilla-la-Rivière
    +#> 177                                                Pia
    +#> 178                                         Pollestres
    +#> 179                                          Ponteilla
    +#> 180                                       Port-Vendres
    +#> 181                                         La Trinité
    +#> 182                                             Caixas
    +#> 183                                         Rivesaltes
    +#> 184                                          Saleilles
    +#> 185                                  Salses-le-Château
    +#> 186                                        Saint-André
    +#> 187                                      Saint-Cyprien
    +#> 188                                       Saint-Estève
    +#> 189                                Saint-Féliu-d'Amont
    +#> 190                                Saint-Féliu-d'Avall
    +#> 191                          Saint-Génis-des-Fontaines
    +#> 192                                    Saint-Hippolyte
    +#> 193                               Saint-Jean-Lasseille
    +#> 194                       Saint-Laurent-de-la-Salanque
    +#> 195                             Saint-Michel-de-Llotes
    +#> 196                                      Saint-Nazaire
    +#> 197                   Sainte-Colombe-de-la-Commanderie
    +#> 198                                Sainte-Marie-la-Mer
    +#> 199                                             Sorède
    +#> 200                                           Tautavel
    +#> 201                                            Terrats
    +#> 202                                              Théza
    +#> 203                                          Toulouges
    +#> 204                                           Tordères
    +#> 205                                         Torreilles
    +#> 206                                          Tresserre
    +#> 207                                          Trouillas
    +#> 208                                              Thuir
    +#> 209                         Villelongue-de-la-Salanque
    +#> 210                             Villelongue-dels-Monts
    +#> 211                                       Villemolaque
    +#> 212                              Villeneuve-la-Rivière
    +#> 213                              Villeneuve-de-la-Raho
    +#> 214                                            Vingrau
    +#> 215                                     Arles-sur-Tech
    +#> 216                                              Céret
    +#> 217                                            Corsavy
    +#> 218                                         Coustouges
    +#> 219                                         Le Perthus
    +#> 220                                            Le Tech
    +#> 221                           Amélie-les-Bains-Palalda
    +#> 222                                           L'Albère
    +#> 223                                           Lamanère
    +#> 224                                         Les Cluses
    +#> 225                                           Montbolo
    +#> 226                                         Montferrer
    +#> 227                               Maureillas-las-Illas
    +#> 228                           Prats-de-Mollo-la-Preste
    +#> 229                                             Reynès
    +#> 230                            Saint-Jean-Pla-de-Corts
    +#> 231                           Saint-Laurent-de-Cerdans
    +#> 232                                        Serralongue
    +#> 233                                            Taillet
    +#> 234                                             Taulis
    +#> 235                                              Vivès
    +#> 236                  Aguaviva / Aiguaviva de Bergantes
    +#> 237          Belmonte de San José / Bellmunt de Mesquí
    +#> 238          La Cañada de Verich / la Canyada de Beric
    +#> 239                         La Codoñera / la Codonyera
    +#> 240                                       La Ginebrosa
    +#> 241                        La Cerollera / la Sorollera
    +#> 242                 Torrevelilla / la Torre de Vilella
    +#> 243                                       Fayón / Faió
    +#> 244                                    Fabara / Favara
    +#> 245                                             Maella
    +#> 246                                   Nonaspe / Nonasp
    +#> 247                                              Fraga
    +#> 248                            Mequinenza / Mequinensa
    +#> 249                                     Zaidín / Saidí
    +#> 250               Torrente de Cinca / Torrent de Cinca
    +#> 251                                   Velilla de Cinca
    +#> 252                                            Albelda
    +#> 253                                             Baells
    +#> 254                                        Camporrells
    +#> 255                        Castillonroy / Castellonroi
    +#> 256                             Alcampell / el Campell
    +#> 257                            Altorricón / el Torricó
    +#> 258                                  Peralta de la Sal
    +#> 259                              San Esteban de Litera
    +#> 260                                             Azanuy
    +#> 261            Tamarite de Litera / Tamarit de Llitera
    +#> 262                              Baldellou / Valdellou
    +#> 263                               Vencillón / Vensilló
    +#> 264                   Arens de Lledó / Arenys de Lledó
    +#> 265                                   Beceite / Beseit
    +#> 266                               Calaceite / Calaceit
    +#> 267                        Fuentespalda / Fontdespatla
    +#> 268                                 Fórnoles / Fórnols
    +#> 269                         La Fresneda / la Freixneda
    +#> 270                                      La Portellada
    +#> 271              Torre del Compte / la Torre del Comte
    +#> 272                    Valdeltormo / la Vall del Tormo
    +#> 273                             Lledó / Lledó d'Algars
    +#> 274                                Mazaleón / Massalió
    +#> 275                                 Monroyo / Montroig
    +#> 276    Peñarroya de Tastavins / Pena-roja de Tastavins
    +#> 277                                  Cretas / Queretes
    +#> 278                                   Ràfels / Ráfales
    +#> 279                      Torre de Arcas / Torredarques
    +#> 280                      Valderrobres / Vall de Roures
    +#> 281                         Valjunquera / Valljunquera
    +#> 282                            Arén / Areny de Noguera
    +#> 283                              Benabarre / Benavarri
    +#> 284                                            Beranuy
    +#> 285                                            Bonansa
    +#> 286                                         Castigaleu
    +#> 287                 Estopiñán del Castillo / Estopanyà
    +#> 288                                  La Puebla de Roda
    +#> 289                              Lascuarre / Lasquarri
    +#> 290                              Laspaúles / Les Paüls
    +#> 291                                Cajigar / Queixigar
    +#> 292                                Montanuy / Montanui
    +#> 293           Puente de Montañana / Pont de Montanyana
    +#> 294                                            Sopeira
    +#> 295                                      Tolva / Tolba
    +#> 296                                    Torre la Ribera
    +#> 297                                            Viacamp
    +#> 298                                            Eivissa
    +#> 299                            Sant Antoni de Portmany
    +#> 300                              Sant Joan de Labritja
    +#> 301                            Sant Josep de sa Talaia
    +#> 302                              Santa Eulària des Riu
    +#> 303                        Sant Francesc de Formentera
    +#> 304                                               Artà
    +#> 305                                          Capdepera
    +#> 306                                            Manacor
    +#> 307                         Sant Llorenç des Cardassar
    +#> 308                                        Son Servera
    +#> 309                                             Alaior
    +#> 310                                         Ciutadella
    +#> 311                                         es Castell
    +#> 312                                        es Mercadal
    +#> 313                                    es Migjorn Gran
    +#> 314                                          Ferreries
    +#> 315                                                Maó
    +#> 316                                         Sant Lluís
    +#> 317                                             Campos
    +#> 318                                           Felanitx
    +#> 319                                          Llucmajor
    +#> 320                                           Santanyí
    +#> 321                                        ses Salines
    +#> 322                                              Palma
    +#> 323                                            Algaida
    +#> 324                                             Ariany
    +#> 325                                            Costitx
    +#> 326                               Lloret de Vistalegre
    +#> 327                                              Llubí
    +#> 328                                  Maria de la Salut
    +#> 329                                           Montuïri
    +#> 330                                               Muro
    +#> 331                                              Petra
    +#> 332                                           Porreres
    +#> 333                                          Sant Joan
    +#> 334                                      Santa Eugènia
    +#> 335                                    Santa Margalida
    +#> 336                                          Sencelles
    +#> 337                                              Sineu
    +#> 338                               Vilafranca de Bonany
    +#> 339                                              Alaró
    +#> 340                                            Alcúdia
    +#> 341                                         Binissalem
    +#> 342                                              Búger
    +#> 343                                           Campanet
    +#> 344                                            Consell
    +#> 345                                               Inca
    +#> 346                                            Lloseta
    +#> 347                                  Mancor de la Vall
    +#> 348                                        sa Cabaneta
    +#> 349                                           sa Pobla
    +#> 350                               Santa Maria del Camí
    +#> 351                                              Selva
    +#> 352                                            Andratx
    +#> 353                                        Banyalbufar
    +#> 354                                            Bunyola
    +#> 355                                             Calvià
    +#> 356                                               Deià
    +#> 357                                               Lluc
    +#> 358                                           Esporles
    +#> 359                                         Estellencs
    +#> 360                                          Fornalutx
    +#> 361                                           Pollença
    +#> 362                                        Puigpunyent
    +#> 363                                             Sóller
    +#> 364                                        Valldemossa
    +#> 365                                        Aiguamúrcia
    +#> 366                                            Alcover
    +#> 367                                               Alió
    +#> 368                                             Bràfim
    +#> 369                                     Cabra del Camp
    +#> 370                                            el Milà
    +#> 371                              el Pla de Santa Maria
    +#> 372                                el Pont d'Armentera
    +#> 373                                         el Rourell
    +#> 374                                      els Garidells
    +#> 375                                 Figuerola del Camp
    +#> 376                                            la Masó
    +#> 377                                            la Riba
    +#> 378                                           Mont-ral
    +#> 379                                          Montferri
    +#> 380                                             Nulles
    +#> 381                                          Puigpelat
    +#> 382                                             Querol
    +#> 383                                            Rodonyà
    +#> 384                                           Vallmoll
    +#> 385                                              Valls
    +#> 386                                        Vila-rodona
    +#> 387                                          Vilabella
    +#> 388                                           Agullana
    +#> 389                                            Albanyà
    +#> 390                            Avinyonet de Puigventós
    +#> 391                                            Bàscara
    +#> 392                                              Biure
    +#> 393                                 Boadella d'Empordà
    +#> 394                                           Borrassà
    +#> 395                                         Cabanelles
    +#> 396                                            Cabanes
    +#> 397                                           Cadaqués
    +#> 398                                            Capmany
    +#> 399                                         Cantallops
    +#> 400                                Castelló d'Empúries
    +#> 401                                Castelló d'Empúries
    +#> 402                                           Cistella
    +#> 403                                             Colera
    +#> 404                                            Darnius
    +#> 405                                   el Far d'Empordà
    +#> 406                                el Port de la Selva
    +#> 407                                            Espolla
    +#> 408                                           Figueres
    +#> 409                                             Fortià
    +#> 410                                           Garrigàs
    +#> 411                                        Garriguella
    +#> 412                                        l'Armentera
    +#> 413                                           l'Escala
    +#> 414                                        la Jonquera
    +#> 415                                    la Selva de Mar
    +#> 416                                           la Vajol
    +#> 417                                             Llançà
    +#> 418                                              Lladó
    +#> 419                                              Llers
    +#> 420                                Maçanet de Cabrenys
    +#> 421                                            Masarac
    +#> 422                                 Mollet de Peralada
    +#> 423                                             Navata
    +#> 424                                              Ordis
    +#> 425                                      Santa Eulàlia
    +#> 426                                    Palau-saverdera
    +#> 427                                                Pau
    +#> 428                                              Marzà
    +#> 429                                           Peralada
    +#> 430                                     Pont de Molins
    +#> 431                                             Pontós
    +#> 432                                            Portbou
    +#> 433                                              Rabós
    +#> 434                                            Riumors
    +#> 435                                              Roses
    +#> 436                              Sant Climent Sescebes
    +#> 437                            Sant Llorenç de la Muga
    +#> 438                              Sant Miquel de Fluvià
    +#> 439                                          Sant Mori
    +#> 440                                 Sant Pere Pescador
    +#> 441                            Santa Llogaia d'Àlguema
    +#> 442                                          Camallera
    +#> 443                                            Siurana
    +#> 444                                           Terrades
    +#> 445                                Torroella de Fluvià
    +#> 446                                           Ventalló
    +#> 447                                         Vila-sacra
    +#> 448                                        Vilabertran
    +#> 449                                          Viladamat
    +#> 450                                           Vilafant
    +#> 451                                          Vilajuïga
    +#> 452                                        Vilamacolum
    +#> 453                                          Vilamalla
    +#> 454                                       Vilamaniscle
    +#> 455                                           Vilanant
    +#> 456                                             Vilaür
    +#> 457                                         Avinyó Nou
    +#> 458                                          la Gornal
    +#> 459                                           la Múnia
    +#> 460                                 el Pla del Penedès
    +#> 461                                          Font-rubí
    +#> 462                                             Gelida
    +#> 463                                         la Granada
    +#> 464                                       les Cabanyes
    +#> 465                               Sant Joan de Mediona
    +#> 466                             Sant Miquel d'Olèrdola
    +#> 467                                Olesa de Bonesvalls
    +#> 468                                   Pacs del Penedès
    +#> 469                                            Pontons
    +#> 470                                         Puigdàlber
    +#> 471                            Sant Cugat Sesgarrigues
    +#> 472                             Sant Llorenç d'Hortons
    +#> 473                                 Sant Martí Sarroca
    +#> 474                          Sant Pere de Riudebitlles
    +#> 475                             Sant Quintí de Mediona
    +#> 476                               Sant Sadurní d'Anoia
    +#> 477                               Santa Fe del Penedès
    +#> 478                       Santa Margarida i els Monjos
    +#> 479                                   Sant Pau d'Ordal
    +#> 480                                         Torrelavit
    +#> 481                                  Torrelles de Foix
    +#> 482                             Vilafranca del Penedès
    +#> 483                                 Vilobí del Penedès
    +#> 484                                               Alàs
    +#> 485                                           Arsèguel
    +#> 486                                           Bassella
    +#> 487                                               Cabó
    +#> 488                                           Ansovell
    +#> 489                                      Coll de Nargó
    +#> 490                                                Bar
    +#> 491                                          Estamariu
    +#> 492                                             Fígols
    +#> 493                                            Tuixent
    +#> 494                                    la Seu d'Urgell
    +#> 495                                            Fórnols
    +#> 496                               Sorribes de la Vansa
    +#> 497                                     Noves de Segre
    +#> 498                                           Anserall
    +#> 499                                         Montferrer
    +#> 500                                             Oliana
    +#> 501                                            Organyà
    +#> 502                                           Peramola
    +#> 503                                el Pla de Sant Tirs
    +#> 504                                   el Pont de Suert
    +#> 505                                           Barruera
    +#> 506                                           Vilaller
    +#> 507                                          Argençola
    +#> 508                                           Bellprat
    +#> 509                                          Canaletes
    +#> 510                                              Calaf
    +#> 511                                            Dusfort
    +#> 512                                         Capellades
    +#> 513                                              Carme
    +#> 514                         Castellfollit de Riubregós
    +#> 515                                         Castellolí
    +#> 516                                             Copons
    +#> 517                                            el Bruc
    +#> 518                           els Hostalets de Pierola
    +#> 519                                   els Prats de Rei
    +#> 520                                           Igualada
    +#> 521                                              Jorba
    +#> 522                                         la Llacuna
    +#> 523                              la Pobla de Claramunt
    +#> 524                              la Torre de Claramunt
    +#> 525                                           Masquefa
    +#> 526                                          Montmaneu
    +#> 527                                              Òdena
    +#> 528                                               Orpí
    +#> 529                                              Piera
    +#> 530                                             Pujalt
    +#> 531                                              Rubió
    +#> 532                                 Sant Martí de Tous
    +#> 533                             Sant Martí Sesgueioles
    +#> 534                              Sant Pere Sallavinera
    +#> 535                         Santa Margarida de Montbui
    +#> 536                            Santa Maria de Miralles
    +#> 537                                   Vallbona d'Anoia
    +#> 538                                            Veciana
    +#> 539                                  Vilanova del Camí
    +#> 540                                 Aguilar de Segarra
    +#> 541                                              Artés
    +#> 542                                             Avinyó
    +#> 543                                          Balsareny
    +#> 544                                             Callús
    +#> 545                                            Cardona
    +#> 546                                          el Borràs
    +#> 547                             Castellfollit del Boix
    +#> 548                                        Castellgalí
    +#> 549                                Castellnou de Bages
    +#> 550                                el Pont de Vilomara
    +#> 551                                          Fonollosa
    +#> 552                                               Gaià
    +#> 553                                            Manresa
    +#> 554                                          Marganell
    +#> 555                            Monistrol de Montserrat
    +#> 556                                               Mura
    +#> 557                                          Navarcles
    +#> 558                                              Navàs
    +#> 559                                           Rajadell
    +#> 560                                            Sallent
    +#> 561                                Sant Feliu Sasserra
    +#> 562                              Sant Fruitós de Bages
    +#> 563                           Sant Joan de Vilatorrada
    +#> 564                                Sant Mateu de Bages
    +#> 565                         Sant Salvador de Guardiola
    +#> 566                           Sant Vicenç de Castellet
    +#> 567                                          Santpedor
    +#> 568                                              Súria
    +#> 569                                          Talamanca
    +#> 570                                            Alforja
    +#> 571                                           Almoster
    +#> 572                                             Arbolí
    +#> 573                                           Botarell
    +#> 574                                           Cambrils
    +#> 575                                          Capafonts
    +#> 576                               Castellvell del Camp
    +#> 577                                          Colldejou
    +#> 578                                         Duesaigües
    +#> 579                                           l'Albiol
    +#> 580                                          l'Aleixar
    +#> 581                                        l'Argentera
    +#> 582                                           la Febró
    +#> 583                                  la Selva del Camp
    +#> 584                                les Borges del Camp
    +#> 585                                          Maspujols
    +#> 586                                 Mont-roig del Camp
    +#> 587                                  Montbrió del Camp
    +#> 588                                             Prades
    +#> 589                                            Pratdip
    +#> 590                                               Reus
    +#> 591                                        Riudecanyes
    +#> 592                                          Riudecols
    +#> 593                                            Riudoms
    +#> 594                                          Vandellòs
    +#> 595                             Vilanova d'Escornalbou
    +#> 596                                          Vilaplana
    +#> 597                                 Vinyols i els Arcs
    +#> 598                                            Aldover
    +#> 599                                   Alfara de Carles
    +#> 600                                         Benifallet
    +#> 601                                           Camarles
    +#> 602                                           Deltebre
    +#> 603                                         el Perelló
    +#> 604                                            l'Aldea
    +#> 605                                   l'Ametlla de Mar
    +#> 606                                          l'Ampolla
    +#> 607                                              Paüls
    +#> 608                                           Roquetes
    +#> 609                                            Tivenys
    +#> 610                                            Tortosa
    +#> 611                                              Xerta
    +#> 612                                             Albons
    +#> 613                                              Begur
    +#> 614                                Bellcaire d'Empordà
    +#> 615                                            Calonge
    +#> 616                                       Platja d'Aro
    +#> 617                                           Colomers
    +#> 618                                              Corçà
    +#> 619                            Sant Sadurní de l'Heura
    +#> 620                                              Foixà
    +#> 621                                        Fontanilles
    +#> 622                                         Garrigoles
    +#> 623                                             Gualta
    +#> 624                                              Jafre
    +#> 625                                la Bisbal d'Empordà
    +#> 626                                            la Pera
    +#> 627                               la Tallada d'Empordà
    +#> 628                                           Mont-ras
    +#> 629                                        Palafrugell
    +#> 630                                            Palamós
    +#> 631                                        Palau-sator
    +#> 632                                               Pals
    +#> 633                                            Parlavà
    +#> 634                                           Regencós
    +#> 635                                              Rupià
    +#> 636                              Sant Feliu de Guíxols
    +#> 637                               Santa Cristina d'Aro
    +#> 638                                      Serra de Daró
    +#> 639                                            Torrent
    +#> 640                               Torroella de Montgrí
    +#> 641                                               Ullà
    +#> 642                                          Ullastret
    +#> 643                                          Ultramort
    +#> 644                                      Vall-llobrega
    +#> 645                                             Verges
    +#> 646                                           Vilopriu
    +#> 647                                          Vulpellac
    +#> 648                                             Abrera
    +#> 649                                             Begues
    +#> 650                                      Castelldefels
    +#> 651                               Castellví de Rosanes
    +#> 652                                           Cervelló
    +#> 653                                           Collbató
    +#> 654                               Corbera de Llobregat
    +#> 655                              Cornellà de Llobregat
    +#> 656                                          el Papiol
    +#> 657                               el Prat de Llobregat
    +#> 658                                       Esparreguera
    +#> 659                             Esplugues de Llobregat
    +#> 660                                               Gavà
    +#> 661                               la Palma de Cervelló
    +#> 662                                          Martorell
    +#> 663                                      Molins de Rei
    +#> 664                                Olesa de Montserrat
    +#> 665                                            Pallejà
    +#> 666                            Sant Andreu de la Barca
    +#> 667                              Sant Boi de Llobregat
    +#> 668                          Sant Climent de Llobregat
    +#> 669                             Sant Esteve Sesrovires
    +#> 670                            Sant Feliu de Llobregat
    +#> 671                                    Sant Joan Despí
    +#> 672                                  Sant Just Desvern
    +#> 673                             Sant Vicenç dels Horts
    +#> 674                           Santa Coloma de Cervelló
    +#> 675                             Torrelles de Llobregat
    +#> 676                                          Vallirana
    +#> 677                                         Viladecans
    +#> 678                                          Albinyana
    +#> 679                               Banyeres del Penedès
    +#> 680                                            Bellvei
    +#> 681                                           Bonastre
    +#> 682                                           Calafell
    +#> 683                                              Cunit
    +#> 684                            la Joncosa del Montmell
    +#> 685                                        el Vendrell
    +#> 686                                            l'Arboç
    +#> 687                              la Bisbal del Penedès
    +#> 688                                Llorenç del Penedès
    +#> 689                                         Masllorenç
    +#> 690                            Sant Jaume dels Domenys
    +#> 691                                        Santa Oliva
    +#> 692                                           Badalona
    +#> 693                                          Barcelona
    +#> 694                          l'Hospitalet de Llobregat
    +#> 695                                Sant Adrià de Besòs
    +#> 696                           Santa Coloma de Gramenet
    +#> 697                                               Avià
    +#> 698                                               Bagà
    +#> 699                                              Berga
    +#> 700                                            Borredà
    +#> 701                                            Capolat
    +#> 702                                          Casserres
    +#> 703                                 Castell de l'Areny
    +#> 704                                 Castellar de n'Hug
    +#> 705                                            Llinars
    +#> 706                                              Cercs
    +#> 707                                             Fígols
    +#> 708                                          Gironella
    +#> 709                                         Gisclareny
    +#> 710                                              Gósol
    +#> 711                              Guardiola de Berguedà
    +#> 712                                        l'Espunyola
    +#> 713                                 la Nou de Berguedà
    +#> 714                                 la Pobla de Lillet
    +#> 715                                            la Quar
    +#> 716                                           Montclar
    +#> 717                                          Montmajor
    +#> 718                                              Olvan
    +#> 719                                          Puig-reig
    +#> 720                                              Sagàs
    +#> 721                                             Saldes
    +#> 722                            Sant Jaume de Frontanyà
    +#> 723                           Sant Julià de Cerdanyola
    +#> 724                              Santa Maria de Merlès
    +#> 725                                          Vallcebre
    +#> 726                                             Vilada
    +#> 727                                          Serrateix
    +#> 728                                                Alp
    +#> 729                                Bellver de Cerdanya
    +#> 730                                             Bolvir
    +#> 731                                                Das
    +#> 732                                    el Vilar d'Urtx
    +#> 733                                                Ger
    +#> 734                                  Guils de Cerdanya
    +#> 735                                                All
    +#> 736                                   Lles de Cerdanya
    +#> 737                                             Llívia
    +#> 738                                           Meranges
    +#> 739                                           Martinet
    +#> 740                                              Prats
    +#> 741                                           Prullans
    +#> 742                                          Puigcerdà
    +#> 743                                    Riu de Cerdanya
    +#> 744                                               Urús
    +#> 745                                Barberà de la Conca
    +#> 746                                         Blancafort
    +#> 747                                             Conesa
    +#> 748                                              Forès
    +#> 749                              l'Espluga de Francolí
    +#> 750                                          les Piles
    +#> 751                                             Llorac
    +#> 752                                          Montblanc
    +#> 753                                          Passanant
    +#> 754                                               Pira
    +#> 755                                            Pontils
    +#> 756                                Rocafort de Queralt
    +#> 757                            Santa Coloma de Queralt
    +#> 758                                             Sarral
    +#> 759                                 Savallà del Comtat
    +#> 760                                              Senan
    +#> 761                                          Solivella
    +#> 762                                          Vallclara
    +#> 763                              Vallfogona de Riucorb
    +#> 764                                 Vilanova de Prades
    +#> 765                                           Vilaverd
    +#> 766                                            Vimbodí
    +#> 767                                          Canyelles
    +#> 768                                           Cubelles
    +#> 769                                           Olivella
    +#> 770                                 Sant Pere de Ribes
    +#> 771                                             Sitges
    +#> 772                               Vilanova i la Geltrú
    +#> 773                                             Arbeca
    +#> 774                                        Bellaguarda
    +#> 775                                             Bovera
    +#> 776                                        Castelldans
    +#> 777                            Cervià de les Garrigues
    +#> 778                                           el Cogul
    +#> 779                                         el Soleràs
    +#> 780                                        el Vilosell
    +#> 781                                       els Omellons
    +#> 782                                          els Torms
    +#> 783                                            Fulleda
    +#> 784                          Granyena de les Garrigues
    +#> 785                                            Juncosa
    +#> 786                                             Juneda
    +#> 787                                          l'Albagés
    +#> 788                                             l'Albi
    +#> 789                                    l'Espluga Calba
    +#> 790                                        la Floresta
    +#> 791                                      La Granadella
    +#> 792                               la Pobla de Cérvoles
    +#> 793                                les Borges Blanques
    +#> 794                                           Puiggròs
    +#> 795                                             Tarrés
    +#> 796                                            Vinaixa
    +#> 797                                         Argelaguer
    +#> 798                                             Besalú
    +#> 799                                              Beuda
    +#> 800                           Castellfollit de la Roca
    +#> 801                               Sant Esteve d'en Bas
    +#> 802                              l'Hostalnou de Bianya
    +#> 803                              les Planes d'Hostoles
    +#> 804                                         les Preses
    +#> 805                                    Maià de Montcal
    +#> 806                                             Mieres
    +#> 807                                           Montagut
    +#> 808                                               Olot
    +#> 809                                           Riudaura
    +#> 810                                   Sales de Llierca
    +#> 811                             Sant Esteve de Llémena
    +#> 812                            Sant Feliu de Pallerols
    +#> 813                                             Juïnyà
    +#> 814                              Sant Jaume de Llierca
    +#> 815                                Sant Joan les Fonts
    +#> 816                                          Santa Pau
    +#> 817                                           Tortellà
    +#> 818                                          Aiguaviva
    +#> 819                                            Bescanó
    +#> 820                                            Bordils
    +#> 821                                          Campllong
    +#> 822                                       Canet d'Adri
    +#> 823                                  Cassà de la Selva
    +#> 824                                              Celrà
    +#> 825                                      Cervià de Ter
    +#> 826                                              Flaçà
    +#> 827                               Fornells de la Selva
    +#> 828                                             Girona
    +#> 829                                               Juià
    +#> 830                                         Llagostera
    +#> 831                                         Llambilles
    +#> 832                                         Madremanya
    +#> 833                                            Medinyà
    +#> 834                                              Quart
    +#> 835                                               Salt
    +#> 836                                  Sant Andreu Salou
    +#> 837                                       Sant Gregori
    +#> 838                                Sant Joan de Mollet
    +#> 839                                Sant Jordi Desvalls
    +#> 840                                Sant Julià de Ramis
    +#> 841                              Sant Martí de Llémena
    +#> 842                                    Sant Martí Vell
    +#> 843                                      Sarrià de Ter
    +#> 844                                        Vilablareix
    +#> 845                                         Viladasens
    +#> 846                                             Alpens
    +#> 847                        Santa Eulàlia de Puig-oriol
    +#> 848                                              Olost
    +#> 849                                             Oristà
    +#> 850                                           Perafita
    +#> 851                                  Prats de Lluçanès
    +#> 852                                Sant Martí d'Albars
    +#> 853                                          Sobremunt
    +#> 854                                             Alella
    +#> 855                                      Arenys de Mar
    +#> 856                                     Arenys de Munt
    +#> 857                                          Argentona
    +#> 858                                     Cabrera de Mar
    +#> 859                                            Cabrils
    +#> 860                                    Caldes d'Estrac
    +#> 861                                            Calella
    +#> 862                                       Canet de Mar
    +#> 863                                            Dosrius
    +#> 864                                          el Masnou
    +#> 865                                     Malgrat de Mar
    +#> 866                                             Mataró
    +#> 867                                            Montgat
    +#> 868                                             Òrrius
    +#> 869                                          Palafolls
    +#> 870                                      Pineda de Mar
    +#> 871                                     Premià de Dalt
    +#> 872                                      Premià de Mar
    +#> 873                          Sant Andreu de Llavaneres
    +#> 874                            Sant Cebrià de Vallalta
    +#> 875                             Sant Iscle de Vallalta
    +#> 876                                    Sant Pol de Mar
    +#> 877                             Sant Vicenç de Montalt
    +#> 878                                      Santa Susanna
    +#> 879                                               Teià
    +#> 880                                              Tiana
    +#> 881                                            Tordera
    +#> 882                                   Vilassar de Dalt
    +#> 883                                    Vilassar de Mar
    +#> 884                                            Calders
    +#> 885                                         Castellcir
    +#> 886                                      Castellterçol
    +#> 887                                        Collsuspina
    +#> 888                                            Granera
    +#> 889                                           l'Estany
    +#> 890                                               Moià
    +#> 891                               Monistrol de Calders
    +#> 892                                 Sant Quirze Safaja
    +#> 893                                  Santa Maria d'Oló
    +#> 894                                            Alcanar
    +#> 895                                            Amposta
    +#> 896                                          Freginals
    +#> 897                                             Godall
    +#> 898                                          la Galera
    +#> 899                                          la Ràpita
    +#> 900                                           la Sénia
    +#> 901                                   Mas de Barberans
    +#> 902                                        Masdenverge
    +#> 903                                Sant Jaume d'Enveja
    +#> 904                                      Santa Bàrbara
    +#> 905                                          Ulldecona
    +#> 906                                               Àger
    +#> 907                                             Albesa
    +#> 908                                            Algerri
    +#> 909                                   Alòs de Balaguer
    +#> 910                                    Artesa de Segre
    +#> 911                                           Balaguer
    +#> 912                                 Bellcaire d'Urgell
    +#> 913                                  Bellmunt d'Urgell
    +#> 914                                         Cabanabona
    +#> 915                                           Camarasa
    +#> 916                               Castelló de Farfanya
    +#> 917                                            Cubells
    +#> 918                                           Foradada
    +#> 919                                   Ivars de Noguera
    +#> 920                                            Gualter
    +#> 921                                   la Sentiu de Sió
    +#> 922                                      les Avellanes
    +#> 923                                         Menàrguens
    +#> 924                                            Montgai
    +#> 925                                             Oliola
    +#> 926                                     Os de Balaguer
    +#> 927                                           Penelles
    +#> 928                                              Ponts
    +#> 929                                           Preixens
    +#> 930                                            Térmens
    +#> 931                                            Tiurana
    +#> 932                                         Torrelameu
    +#> 933                             Vallfogona de Balaguer
    +#> 934                                Vilanova de l'Aguda
    +#> 935                                   Vilanova de Meià
    +#> 936                           els Hostalets de Balenyà
    +#> 937                                        Calldetenes
    +#> 938                                          Centelles
    +#> 939                                           el Brull
    +#> 940                                         Espinelves
    +#> 941                                        Folgueroles
    +#> 942                                               Gurb
    +#> 943                                         l'Esquirol
    +#> 944                                 les Masies de Roda
    +#> 945                             les Masies de Voltregà
    +#> 946                                              Malla
    +#> 947                                            Manlleu
    +#> 948                                         Montesquiu
    +#> 949                                         Muntanyola
    +#> 950                                       Can Branques
    +#> 951                                        Roda de Ter
    +#> 952                                              Rupit
    +#> 953                                             l'Alou
    +#> 954                             Sant Bartomeu del Grau
    +#> 955                               Sant Boi de Lluçanès
    +#> 956                           Sant Hipòlit de Voltregà
    +#> 957                            Sant Julià de Vilatorta
    +#> 958                                           l'Abella
    +#> 959                               Sant Pere de Torelló
    +#> 960                              Sant Quirze de Besora
    +#> 961                            Sant Sadurní d'Osormort
    +#> 962                             Sant Vicenç de Torelló
    +#> 963                          Santa Cecília de Voltregà
    +#> 964                             Santa Eugènia de Berga
    +#> 965                         Santa Eulàlia de Riuprimer
    +#> 966                              Santa Maria de Besora
    +#> 967                                               Seva
    +#> 968                                               Sora
    +#> 969                                           Taradell
    +#> 970                                         Tavèrnoles
    +#> 971                                           Tavertet
    +#> 972                                               Tona
    +#> 973                                            Torelló
    +#> 974                                                Vic
    +#> 975                                              Vidrà
    +#> 976                                           Viladrau
    +#> 977                                    Vilanova de Sau
    +#> 978                                 Abella de la Conca
    +#> 979                                 Guàrdia de Noguera
    +#> 980                                el Pont de Claverol
    +#> 981                                  Gavet de la Conca
    +#> 982                                              Isona
    +#> 983                                  la Pobla de Segur
    +#> 984                               la Torre de Cabdella
    +#> 985                                           Llimiana
    +#> 986                                   Salàs de Pallars
    +#> 987                            Sant Esteve de la Sarga
    +#> 988                                 Sarroca de Bellera
    +#> 989                                          Senterada
    +#> 990                                             Talarn
    +#> 991                                              Tremp
    +#> 992                                              Alins
    +#> 993                                    València d'Àneu
    +#> 994                                    Gerri de la Sal
    +#> 995                                              Espot
    +#> 996                                     Esterri d'Àneu
    +#> 997                                  Esterri de Cardós
    +#> 998                                               Burg
    +#> 999                                la Guingueta d'Àneu
    +#> 1000                                          Lladorre
    +#> 1001                                          Llavorsí
    +#> 1002                                             Rialp
    +#> 1003                                           Vilamur
    +#> 1004                                              Sort
    +#> 1005                                            Tírvia
    +#> 1006                                  Ribera de Cardós
    +#> 1007                                           Barbens
    +#> 1008                                Bell-lloc d'Urgell
    +#> 1009                                           Bellvís
    +#> 1010                               Castellnou de Seana
    +#> 1011                              el Palau d'Anglesola
    +#> 1012                                           el Poal
    +#> 1013                                        Fondarella
    +#> 1014                                            Golmés
    +#> 1015                                    Ivars d'Urgell
    +#> 1016                                           Linyola
    +#> 1017                                         Miralcamp
    +#> 1018                                        Mollerussa
    +#> 1019                                           Sidamon
    +#> 1020                                       Torregrossa
    +#> 1021                                         Vila-sana
    +#> 1022                              Vilanova de Bellpuig
    +#> 1023                                          Banyoles
    +#> 1024                                             Camós
    +#> 1025                                Cornellà del Terri
    +#> 1026                                           Crespià
    +#> 1027                                         Esponellà
    +#> 1028                                       Fontcoberta
    +#> 1029                                 Palol de Revardit
    +#> 1030                                              Mata
    +#> 1031                          Sant Miquel de Campmajor
    +#> 1032                                           Serinyà
    +#> 1033                                        Vilademuls
    +#> 1034                              Bellmunt del Priorat
    +#> 1035                                           Cabacés
    +#> 1036                                          Capçanes
    +#> 1037                            Cornudella de Montsant
    +#> 1038                                          el Lloar
    +#> 1039                                        el Masroig
    +#> 1040                                          el Molar
    +#> 1041                                      els Guiamets
    +#> 1042                                            Falset
    +#> 1043                                        Gratallops
    +#> 1044                             la Bisbal de Montsant
    +#> 1045                                        la Figuera
    +#> 1046                             la Morera de Montsant
    +#> 1047                           la Torre de Fontaubella
    +#> 1048                                   la Vilella Alta
    +#> 1049                                  la Vilella Baixa
    +#> 1050                                             Marçà
    +#> 1051                                          Margalef
    +#> 1052                                          Poboleda
    +#> 1053                                           Porrera
    +#> 1054                             Pradell de la Teixeta
    +#> 1055                               Torroja del Priorat
    +#> 1056                                       Ulldemolins
    +#> 1057                                              Ascó
    +#> 1058                                        Benissanet
    +#> 1059                                              Flix
    +#> 1060                                            Garcia
    +#> 1061                                          Ginestar
    +#> 1062                                   la Palma d'Ebre
    +#> 1063                            la Torre de l'Espanyol
    +#> 1064                                           Miravet
    +#> 1065                                       Móra d'Ebre
    +#> 1066                                      Móra la Nova
    +#> 1067                                          Rasquera
    +#> 1068                                  Riba-roja d'Ebre
    +#> 1069                                           Tivissa
    +#> 1070                                           Vinebre
    +#> 1071                                       Campdevànol
    +#> 1072                                         Campelles
    +#> 1073                                         Camprodon
    +#> 1074                                           Gombrèn
    +#> 1075                                       les Llosses
    +#> 1076                                           Llanars
    +#> 1077                                             Molló
    +#> 1078                                            Ogassa
    +#> 1079                                          Pardines
    +#> 1080                                          Planoles
    +#> 1081                                          Queralbs
    +#> 1082                                   Ribes de Freser
    +#> 1083                                            Ripoll
    +#> 1084                        Sant Joan de les Abadesses
    +#> 1085                              Sant Pau de Segúries
    +#> 1086                                          Setcases
    +#> 1087                                             Toses
    +#> 1088                            Vallfogona de Ripollès
    +#> 1089                                 Vilallonga de Ter
    +#> 1090                                            Biosca
    +#> 1091                                           Cervera
    +#> 1092                                    les Pallargues
    +#> 1093                                           Estaràs
    +#> 1094                                       Granyanella
    +#> 1095                               Granyena de Segarra
    +#> 1096                                          Guissona
    +#> 1097                                            Ivorra
    +#> 1098                                        les Oluges
    +#> 1099                                        Massoteres
    +#> 1100                               Montoliu de Segarra
    +#> 1101                              Montornès de Segarra
    +#> 1102                            Sant Antolí i Vilanova
    +#> 1103                                           Sanaüja
    +#> 1104                            Sant Guim de Freixenet
    +#> 1105                             Sant Guim de la Plana
    +#> 1106                                        Sant Ramon
    +#> 1107                                          Talavera
    +#> 1108                                Tarroja de Segarra
    +#> 1109                                              Torà
    +#> 1110                                         Torrefeta
    +#> 1111                                            Aitona
    +#> 1112                                        Albatàrrec
    +#> 1113                                            Alcanó
    +#> 1114                                          Alcarràs
    +#> 1115                                         Alcoletge
    +#> 1116                                          Alfarràs
    +#> 1117                                             Alfés
    +#> 1118                                          Alguaire
    +#> 1119                                        Almacelles
    +#> 1120                                          Almatret
    +#> 1121                                           Almenar
    +#> 1122                                           Alpicat
    +#> 1123                                  Artesa de Lleida
    +#> 1124                                              Aspa
    +#> 1125                                Benavent de Segrià
    +#> 1126                                           Corbins
    +#> 1127                                        els Alamús
    +#> 1128                                         Gimenells
    +#> 1129                                la Granja d'Escarp
    +#> 1130                                       la Portella
    +#> 1131                                        Llardecans
    +#> 1132                                            Lleida
    +#> 1133                                            Maials
    +#> 1134                                      Massalcoreig
    +#> 1135                                Montoliu de Lleida
    +#> 1136                                Puigverd de Lleida
    +#> 1137                                          Rosselló
    +#> 1138                                 Sarroca de Lleida
    +#> 1139                                             Seròs
    +#> 1140                                             Soses
    +#> 1141                                          Sudanell
    +#> 1142                                            Sunyer
    +#> 1143                                      Torre-serona
    +#> 1144                                       Torrebesses
    +#> 1145                                      Torrefarrera
    +#> 1146                                   Torres de Segre
    +#> 1147                              Vilanova de la Barca
    +#> 1148                                Vilanova de Segrià
    +#> 1149                                              Amer
    +#> 1150                                            Anglès
    +#> 1151                                          Arbúcies
    +#> 1152                                            Blanes
    +#> 1153                                             Breda
    +#> 1154                                          Brunyola
    +#> 1155                               Caldes de Malavella
    +#> 1156                                Fogars de la Selva
    +#> 1157                                         Hostalric
    +#> 1158                                 la Cellera de Ter
    +#> 1159                                     Lloret de Mar
    +#> 1160                                          Massanes
    +#> 1161                               Maçanet de la Selva
    +#> 1162                                              Osor
    +#> 1163                                            Riells
    +#> 1164                                        Riudarenes
    +#> 1165                            Riudellots de la Selva
    +#> 1166                           Sant Feliu de Buixalleu
    +#> 1167                                Sant Hilari Sacalm
    +#> 1168                                           Bonmatí
    +#> 1169                           Santa Coloma de Farners
    +#> 1170                                              Sils
    +#> 1171                                 Sant Martí Sacalm
    +#> 1172                                      Tossa de Mar
    +#> 1173                                          Vidreres
    +#> 1174                                    Vilobí d'Onyar
    +#> 1175                            Castellar de la Ribera
    +#> 1176                              Clariana de Cardener
    +#> 1177                             la Casa Nova de Valls
    +#> 1178                                           la Coma
    +#> 1179                                        la Molsosa
    +#> 1180                                           Lladurs
    +#> 1181                                           Llobera
    +#> 1182                                             Navès
    +#> 1183                                          Cambrils
    +#> 1184                                el Pi de Sant Just
    +#> 1185                                      Sant Climenç
    +#> 1186                                             Pinós
    +#> 1187                                        el Miracle
    +#> 1188                           Sant Llorenç de Morunys
    +#> 1189                                           Solsona
    +#> 1190                                         Altafulla
    +#> 1191                                         Constantí
    +#> 1192                                          Creixell
    +#> 1193                                        el Catllar
    +#> 1194                                         el Morell
    +#> 1195                                    els Pallaresos
    +#> 1196                                        la Canonja
    +#> 1197                                    la Nou de Gaià
    +#> 1198                               la Pobla de Mafumet
    +#> 1199                             la Pobla de Montornès
    +#> 1200                                  la Riera de Gaià
    +#> 1201                                        la Secuita
    +#> 1202                                          Perafort
    +#> 1203                                             Renau
    +#> 1204                                      Roda de Berà
    +#> 1205                                            Salomó
    +#> 1206                                             Salou
    +#> 1207                                         Tarragona
    +#> 1208                                     Torredembarra
    +#> 1209                                  Vespella de Gaià
    +#> 1210                                         Vila-seca
    +#> 1211                               Vilallonga del Camp
    +#> 1212                                             Arnes
    +#> 1213                                             Batea
    +#> 1214                                               Bot
    +#> 1215                                           Caseres
    +#> 1216                                    Corbera d'Ebre
    +#> 1217                                 el Pinell de Brai
    +#> 1218                                           Gandesa
    +#> 1219                                Horta de Sant Joan
    +#> 1220                                      la Fatarella
    +#> 1221                             la Pobla de Massaluca
    +#> 1222                                     Prat de Comte
    +#> 1223                                 Vilalba dels Arcs
    +#> 1224                                          Agramunt
    +#> 1225                                         Anglesola
    +#> 1226                                          Belianes
    +#> 1227                                          Bellpuig
    +#> 1228                                       Castellserà
    +#> 1229                                        Ciutadilla
    +#> 1230                             els Omells de na Gaia
    +#> 1231                                           Guimerà
    +#> 1232                                        la Fuliola
    +#> 1233                                             Maldà
    +#> 1234                                             Nalec
    +#> 1235                                       Ossó de Sió
    +#> 1236                                          Preixana
    +#> 1237                               Puigverd d'Agramunt
    +#> 1238                               Sant Martí de Maldà
    +#> 1239                                           Tàrrega
    +#> 1240                                         Tornabous
    +#> 1241                            Vallbona de les Monges
    +#> 1242                                             Verdú
    +#> 1243                                        Vilagrassa
    +#> 1244                                  Badia del Vallès
    +#> 1245                                Barberà del Vallès
    +#> 1246                              Castellar del Vallès
    +#> 1247                                     Castellbisbal
    +#> 1248                             Cerdanyola del Vallès
    +#> 1249                                           Gallifa
    +#> 1250                                        Matadepera
    +#> 1251                                 Montcada i Reixac
    +#> 1252                          Palau-solità i Plegamans
    +#> 1253                                           Polinyà
    +#> 1254                                         Rellinars
    +#> 1255                                          Ripollet
    +#> 1256                                              Rubí
    +#> 1257                                          Sabadell
    +#> 1258                             Sant Cugat del Vallès
    +#> 1259                               Sant Llorenç Savall
    +#> 1260                            Sant Quirze del Vallès
    +#> 1261                          Santa Perpètua de Mogoda
    +#> 1262                                         Sentmenat
    +#> 1263                                          Terrassa
    +#> 1264                                        Ullastrell
    +#> 1265                                        Vacarisses
    +#> 1266                                     Viladecavalls
    +#> 1267                                        Aiguafreda
    +#> 1268                                            Bigues
    +#> 1269                                 Caldes de Montbui
    +#> 1270                                           Campins
    +#> 1271                                        Canovelles
    +#> 1272                                           Cànoves
    +#> 1273                                          Cardedeu
    +#> 1274                                         el Figaró
    +#> 1275                                       Mosqueroles
    +#> 1276                                        Granollers
    +#> 1277                                            Gualba
    +#> 1278                              l'Ametlla del Vallès
    +#> 1279                                        la Garriga
    +#> 1280                                       la Llagosta
    +#> 1281                                la Roca del Vallès
    +#> 1282                                     Corró d'Avall
    +#> 1283                                     Lliçà d'Amunt
    +#> 1284                                     Lliçà de Vall
    +#> 1285                                Llinars del Vallès
    +#> 1286                                       Martorelles
    +#> 1287                                 Mollet del Vallès
    +#> 1288                                          Montmeló
    +#> 1289                              Montornès del Vallès
    +#> 1290                                          Montseny
    +#> 1291                                 Parets del Vallès
    +#> 1292                          Sant Antoni de Vilamajor
    +#> 1293                                       Sant Celoni
    +#> 1294                       Sant Esteve de Palautordera
    +#> 1295                             Sant Feliu de Codines
    +#> 1296                        Sant Fost de Campsentelles
    +#> 1297                            Sant Pere de Vilamajor
    +#> 1298                          Santa Eulàlia de Ronçana
    +#> 1299                        Santa Maria de Martorelles
    +#> 1300                       Santa Maria de Palautordera
    +#> 1301                                        Tagamanent
    +#> 1302                                      Vallgorguina
    +#> 1303                                       Vallromanes
    +#> 1304                                  Vilalba Sasserra
    +#> 1305                               Vilanova del Vallès
    +#> 1306                                          València
    +#> 1307                                  Alcalà de Xivert
    +#> 1308                                         Benicarló
    +#> 1309                                             Càlig
    +#> 1310                                     Canet lo Roig
    +#> 1311                                 Castell de Cabres
    +#> 1312                               Cervera del Maestre
    +#> 1313                                           la Jana
    +#> 1314                             la Pobla de Benifassà
    +#> 1315                                     la Salzadella
    +#> 1316                             Peníscola / Peñíscola
    +#> 1317                                           Rossell
    +#> 1318                            Sant Jordi / San Jorge
    +#> 1319                                        Sant Mateu
    +#> 1320                                Sant Rafel del Riu
    +#> 1321                         Santa Magdalena de Pulpis
    +#> 1322                                         Traiguera
    +#> 1323                                           Vinaròs
    +#> 1324                                              Xert
    +#> 1325                              Guardamar del Segura
    +#> 1326                                        Crevillent
    +#> 1327                                       Elx / Elche
    +#> 1328                                        Santa Pola
    +#> 1329                            Albalat dels Tarongers
    +#> 1330                              Alfara de la Baronia
    +#> 1331                                 Algar de Palància
    +#> 1332                                  Algímia d'Alfara
    +#> 1333                                         Benavites
    +#> 1334                            Benifairó de les Valls
    +#> 1335                              Canet d'en Berenguer
    +#> 1336                                         Estivella
    +#> 1337                                             Faura
    +#> 1338                                             Gilet
    +#> 1339                                            Petrés
    +#> 1340                                Quart de les Valls
    +#> 1341                                          Quartell
    +#> 1342                                  Sagunt / Sagunto
    +#> 1343                                            Segart
    +#> 1344                                     Torres Torres
    +#> 1345                                        Benaguasil
    +#> 1346                                         Benissanó
    +#> 1347                                            Bétera
    +#> 1348                                           Casinos
    +#> 1349                                          l'Eliana
    +#> 1350                              la Pobla de Vallbona
    +#> 1351                                            Llíria
    +#> 1352                                 Nàquera / Náquera
    +#> 1353                                            Olocau
    +#> 1354                                Riba-roja de Túria
    +#> 1355                                             Serra
    +#> 1356                                       Vilamarxant
    +#> 1357                                             Agres
    +#> 1358                                          Alcoleja
    +#> 1359                                          Alcosser
    +#> 1360                                          Alfafara
    +#> 1361                                         Almudaina
    +#> 1362                                           Balones
    +#> 1363                                           Benasau
    +#> 1364                                         Beniarrés
    +#> 1365                                         Benilloba
    +#> 1366                                          Benillup
    +#> 1367                                       Benimarfull
    +#> 1368                                        Benimassot
    +#> 1369                                        Cocentaina
    +#> 1370                                            Fageca
    +#> 1371                                           Famorca
    +#> 1372                                           Gaianes
    +#> 1373                                             Gorga
    +#> 1374                                l'Alqueria d'Asnar
    +#> 1375                                   l'Orxa / Lorcha
    +#> 1376                                           Millena
    +#> 1377                                     Muro de Alcoy
    +#> 1378                                            Planes
    +#> 1379                                     Quatretondeta
    +#> 1380                                            Tollos
    +#> 1381       el Fondó de les Neus / Hondón de las Nieves
    +#> 1382                             Hondón de los Frailes
    +#> 1383                                 el Pinós / Pinoso
    +#> 1384                                           Algueña
    +#> 1385                                         la Romana
    +#> 1386                                 Monòver / Monóvar
    +#> 1387                                           Novelda
    +#> 1388                                            Petrer
    +#> 1389                                       Castellfort
    +#> 1390                                        Cinctorres
    +#> 1391                                           Forcall
    +#> 1392                                           Herbers
    +#> 1393                                la Mata de Morella
    +#> 1394                                         Todolella
    +#> 1395                                           Morella
    +#> 1396                                         Palanques
    +#> 1397                                Portell de Morella
    +#> 1398                                            Sorita
    +#> 1399                                         Vallibona
    +#> 1400                  Vilafranca / Villafranca del Cid
    +#> 1401                                          Villores
    +#> 1402                                             Agost
    +#> 1403                                            Aigües
    +#> 1404                                Alacant / Alicante
    +#> 1405                                             Busot
    +#> 1406                                       el Campello
    +#> 1407           la Torre de les Maçanes / Torremanzanas
    +#> 1408                                          Mutxamel
    +#> 1409                               Sant Joan d'Alacant
    +#> 1410 Sant Vicent del Raspeig / San Vicente del Raspeig
    +#> 1411                                   Xixona / Jijona
    +#> 1412                                            Costur
    +#> 1413                                        Figueroles
    +#> 1414                                          l'Alcora
    +#> 1415                               les Useres / Useras
    +#> 1416                          Llucena / Lucena del Cid
    +#> 1417                           Vistabella del Maestrat
    +#> 1418                                    Xodos / Chodos
    +#> 1419                                     Alcoi / Alcoy
    +#> 1420                               Banyeres de Mariola
    +#> 1421                                        Benifallim
    +#> 1422                                          Castalla
    +#> 1423                                               Ibi
    +#> 1424                                              Onil
    +#> 1425                                         Penàguila
    +#> 1426                                              Tibi
    +#> 1427                                        Albocàsser
    +#> 1428                                 Ares del Maestrat
    +#> 1429                             Atzeneta del Maestrat
    +#> 1430                                         Benafigos
    +#> 1431                                          Benassal
    +#> 1432                                              Catí
    +#> 1433                                             Culla
    +#> 1434                                     la Serratella
    +#> 1435                              la Torre d'en Besora
    +#> 1436                                             Tírig
    +#> 1437                                    Vilar de Canes
    +#> 1438                                         Beneixama
    +#> 1439                                              Biar
    +#> 1440                 el Camp de Mirra / Campo de Mirra
    +#> 1441                                            Cañada
    +#> 1442                              Albalat dels Sorells
    +#> 1443                               Alboraia / Alboraya
    +#> 1444                                         Albuixech
    +#> 1445                              Alfara del Patriarca
    +#> 1446                                         Almàssera
    +#> 1447                              Bonrepòs i Mirambell
    +#> 1448                                         Burjassot
    +#> 1449                            el Puig de Santa Maria
    +#> 1450                                         Emperador
    +#> 1451                                             Foios
    +#> 1452                                           Godella
    +#> 1453                               la Pobla de Farnals
    +#> 1454                                      Massalfassar
    +#> 1455                                      Massamagrell
    +#> 1456                                           Meliana
    +#> 1457                                Montcada / Moncada
    +#> 1458                                           Museros
    +#> 1459                                           Paterna
    +#> 1460                                             Puçol
    +#> 1461                                       Rafelbunyol
    +#> 1462                                          Rocafort
    +#> 1463                                 Tavernes Blanques
    +#> 1464                                          Vinalesa
    +#> 1465                                           Alaquàs
    +#> 1466                                             Albal
    +#> 1467                                          Alcàsser
    +#> 1468                                            Aldaia
    +#> 1469                                           Alfafar
    +#> 1470                                        Benetússer
    +#> 1471                                       Beniparrell
    +#> 1472                                         Catarroja
    +#> 1473                              Llocnou de la Corona
    +#> 1474                                           Manises
    +#> 1475                                        Massanassa
    +#> 1476                                           Mislata
    +#> 1477                                          Paiporta
    +#> 1478                                           Picanya
    +#> 1479                                         Picassent
    +#> 1480                                   Quart de Poblet
    +#> 1481                                            Sedaví
    +#> 1482                                             Silla
    +#> 1483                                           Torrent
    +#> 1484                                         Xirivella
    +#> 1485                                           Barxeta
    +#> 1486                                            Canals
    +#> 1487                                             Cerdà
    +#> 1488                                        el Genovés
    +#> 1489                                          Estubeny
    +#> 1490                             l'Alcúdia de Crespins
    +#> 1491                             la Font de la Figuera
    +#> 1492                           la Granja de la Costera
    +#> 1493                                 la Llosa de Ranes
    +#> 1494                                  Llanera de Ranes
    +#> 1495                             Llocnou d'en Fenollet
    +#> 1496                                 Moixent / Mogente
    +#> 1497                                           Montesa
    +#> 1498                                           Novetlè
    +#> 1499                                  Rotglà i Corberà
    +#> 1500                                          Torrella
    +#> 1501                                           Vallada
    +#> 1502                                            Vallés
    +#> 1503                                            Xàtiva
    +#> 1504                                          Alcalalí
    +#> 1505                                        Beniarbeig
    +#> 1506                                        Benidoleig
    +#> 1507                                        Benigembla
    +#> 1508                                          Benimeli
    +#> 1509                                           Benissa
    +#> 1510                                              Calp
    +#> 1511                               Castell de Castells
    +#> 1512                                             Dénia
    +#> 1513         el Poble Nou de Benitatxell / Benitachell
    +#> 1514                                el Ràfol d'Almúnia
    +#> 1515                                         el Verger
    +#> 1516                                       els Poblets
    +#> 1517                                    Gata de Gorgos
    +#> 1518                                         l'Atzúbia
    +#> 1519                               Alcalà de la Jovada
    +#> 1520                                     la Vall d'Ebo
    +#> 1521                                           Benialí
    +#> 1522                                             Fleix
    +#> 1523                                            Llíber
    +#> 1524                                             Murla
    +#> 1525                                            Ondara
    +#> 1526                                              Orba
    +#> 1527                                           Parcent
    +#> 1528                                         Pedreguer
    +#> 1529                                              Pego
    +#> 1530                                             Sagra
    +#> 1531                                   Sanet y Negrals
    +#> 1532                                            Senija
    +#> 1533                                           Teulada
    +#> 1534                                            Tormos
    +#> 1535                                     Xàbia / Jávea
    +#> 1536                                              Xaló
    +#> 1537                                             Altea
    +#> 1538                                          Beniardà
    +#> 1539                                          Benidorm
    +#> 1540                                          Benifato
    +#> 1541                                       Benimantell
    +#> 1542                                           Bolulla
    +#> 1543                               Callosa d'en Sarrià
    +#> 1544                                         Confrides
    +#> 1545                           el Castell de Guadalest
    +#> 1546                                         Finestrat
    +#> 1547                                    l'Alfàs del Pi
    +#> 1548                                          la Nucia
    +#> 1549                      la Vila Joiosa / Villajoyosa
    +#> 1550                                            Orxeta
    +#> 1551                                             Polop
    +#> 1552                                            Relleu
    +#> 1553                                             Sella
    +#> 1554                                           Tàrbena
    +#> 1555                                         Almassora
    +#> 1556                            Benicàssim / Benicasim
    +#> 1557                                           Benlloc
    +#> 1558                                           Borriol
    +#> 1559                                           Cabanes
    +#> 1560                              Castelló de la Plana
    +#> 1561                                  la Pobla Tornesa
    +#> 1562                                 Sierra Engarcerán
    +#> 1563                             la Torre d'en Doménec
    +#> 1564                                       Vall d'Alba
    +#> 1565                              les Coves de Vinromà
    +#> 1566                          Orpesa / Oropesa del Mar
    +#> 1567                                 Sant Joan de Moró
    +#> 1568                                       Torreblanca
    +#> 1569                                         Vilafamés
    +#> 1570                                Vilanova d'Alcolea
    +#> 1571                                               Aín
    +#> 1572                                     Alfondeguilla
    +#> 1573                                          Almenara
    +#> 1574                                            Artana
    +#> 1575                                             Betxí
    +#> 1576                               Borriana / Burriana
    +#> 1577                                            Eslida
    +#> 1578                                    Alcudia de Veo
    +#> 1579                                          la Llosa
    +#> 1580                                    la Vall d'Uixó
    +#> 1581                                      la Vilavella
    +#> 1582        les Alqueries / Alquerías del Niño Perdido
    +#> 1583                                           Moncofa
    +#> 1584                                             Nules
    +#> 1585                                              Onda
    +#> 1586                                        Ribesalbes
    +#> 1587                                    Suera / Sueras
    +#> 1588                                             Tales
    +#> 1589                                         Vila-real
    +#> 1590                                 Xilxes / Chilches
    +#> 1591                                           Alberic
    +#> 1592                               Alcàntera de Xúquer
    +#> 1593                                            Alfarb
    +#> 1594                                          Algemesí
    +#> 1595                                           Alginet
    +#> 1596                                            Alzira
    +#> 1597                                           Antella
    +#> 1598                                         Beneixida
    +#> 1599                                          Benifaió
    +#> 1600                                          Benimodo
    +#> 1601                                        Benimuslem
    +#> 1602                                        Carcaixent
    +#> 1603                                            Càrcer
    +#> 1604                                            Carlet
    +#> 1605                                          Castelló
    +#> 1606                                           Catadau
    +#> 1607                                             Cotes
    +#> 1608                                           Gavarda
    +#> 1609                                        Guadassuar
    +#> 1610                                         l'Alcúdia
    +#> 1611                                           l'Énova
    +#> 1612                                   la Pobla Llarga
    +#> 1613                                           Llombai
    +#> 1614                                            Manuel
    +#> 1615                                        Massalavés
    +#> 1616                                 Montroi / Montroy
    +#> 1617                                        Montserrat
    +#> 1618                                       Rafelguaraf
    +#> 1619                                              Real
    +#> 1620                                       Sant Joanet
    +#> 1621                                           Sellent
    +#> 1622                                           Senyera
    +#> 1623                                        Sumacàrcer
    +#> 1624                                             Turís
    +#> 1625                              Albalat de la Ribera
    +#> 1626                                        Almussafes
    +#> 1627                                Benicull de Xúquer
    +#> 1628                                           Corbera
    +#> 1629                                           Cullera
    +#> 1630                                            Favara
    +#> 1631                                         Fortaleny
    +#> 1632                                            Llaurí
    +#> 1633                                 Polinyà de Xúquer
    +#> 1634                                             Riola
    +#> 1635                                           Sollana
    +#> 1636                                             Sueca
    +#> 1637                                              Ador
    +#> 1638                                           Alfauir
    +#> 1639                                          Almiserà
    +#> 1640                                          Almoines
    +#> 1641                                              Barx
    +#> 1642                                       Bellreguard
    +#> 1643                                          Beniarjó
    +#> 1644                         Benifairó de la Valldigna
    +#> 1645                                           Beniflá
    +#> 1646                                        Benirredrà
    +#> 1647                       Castellonet de la Conquesta
    +#> 1648                                            Daimús
    +#> 1649                                 el Real de Gandia
    +#> 1650                                            Gandia
    +#> 1651                             Guardamar de la Safor
    +#> 1652                         l'Alqueria de la Comtessa
    +#> 1653                               la Font d'en Carròs
    +#> 1654                            Llocnou de Sant Jeroni
    +#> 1655                                           Miramar
    +#> 1656                                             Oliva
    +#> 1657                                   Palma de Gandía
    +#> 1658                                           Palmera
    +#> 1659                                             Piles
    +#> 1660                                           Potries
    +#> 1661                                        Rafelcofer
    +#> 1662                                            Ròtova
    +#> 1663                             Simat de la Valldigna
    +#> 1664                          Tavernes de la Valldigna
    +#> 1665                           Vilallonga / Villalonga
    +#> 1666                                            Xeraco
    +#> 1667                                            Xeresa
    +#> 1668                                          Agullent
    +#> 1669                                 Aielo de Malferit
    +#> 1670                                    Aielo de Rugat
    +#> 1671                                           Albaida
    +#> 1672                                         Alfarrasí
    +#> 1673                                Atzeneta d'Albaida
    +#> 1674                                           Bèlgida
    +#> 1675                                            Bellús
    +#> 1676                                         Beniatjar
    +#> 1677                                         Benicolet
    +#> 1678                                         Benigànim
    +#> 1679                                         Benissoda
    +#> 1680                                        Benissuera
    +#> 1681                                         Bocairent
    +#> 1682                                            Bufali
    +#> 1683                                         Carrícola
    +#> 1684                                 Castelló de Rugat
    +#> 1685                                        el Palomar
    +#> 1686                                    Ráfol de Salem
    +#> 1687                           Fontanars dels Alforins
    +#> 1688                                     Guadasséquies
    +#> 1689                                         l'Olleria
    +#> 1690                                  la Pobla del Duc
    +#> 1691                                          Llutxent
    +#> 1692                                       Montaverner
    +#> 1693                         Montitxelvo / Montichelvo
    +#> 1694                                         Ontinyent
    +#> 1695                                              Otos
    +#> 1696                                             Pinet
    +#> 1697                                       Quatretonda
    +#> 1698                                             Rugat
    +#> 1699                                             Salem
    +#> 1700                                           Sempere
    +#> 1701                                         Terrateig
    +#> 1702                                  l'Alguer/Alghero
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/mars.html b/docs/reference/mars.html new file mode 100644 index 0000000..e92bf5c --- /dev/null +++ b/docs/reference/mars.html @@ -0,0 +1,554 @@ + +Mars i oceans del mon — mars • monitorOSM + Skip to contents + + +
    +
    +
    + +
    +

    Dades dels mars i oceans del mon, objectes amb etiquetes `place = ocean` o `place = sea`.

    +
    + +
    +

    Usage

    +
    mars
    +
    + +
    +

    Format

    +

    Un data.frame amb dades dels 155 mars i oceans per les següents 8 variables.

    name:ca
    +

    Etiqueta name:ca.

    + +
    name
    +

    Etiqueta name.

    + +
    osm_id
    +

    Número identificador a OSM.

    + +
    osm_type
    +

    Tipus d'objecte d'OSM.

    + +
    alt_name
    +

    Etiqueta alt_name.

    + +
    alt_name:ca
    +

    Etiqueta name.

    + +
    place
    +

    Etiqueta place.

    + +
    wikidata
    +

    Etiqueta wikidata.

    + + +
    +
    +

    See also

    +

    Altres bases de dades d'exotopònims de referència: + estats, capitals.

    +
    + +
    +

    Examples

    +
    mars[, c("name:ca", "name", "wikidata")]
    +#>                        name:ca
    +#> 1                Oceà Antàrtic
    +#> 2                   Oceà Àrtic
    +#> 3                Oceà Atlàntic
    +#> 4                   Oceà Índic
    +#> 5                 Oceà Pacífic
    +#> 6                Atlàntic Nord
    +#> 7                 Atlàntic Sud
    +#> 8              Badia de Baffin
    +#> 9              Badia de Hudson
    +#> 10              Badia de James
    +#> 11          Estret de Macassar
    +#> 12                 Golf d'Aden
    +#> 13               Golf d'Alaska
    +#> 14                 Golf d'Oman
    +#> 15          Golf de Califòrnia
    +#> 16              Golf de Guinea
    +#> 17            Golf de Kalamita
    +#> 18               Golf de Mèxic
    +#> 19              Golf de Tomini
    +#> 20             Golf de Tribugà
    +#> 21                 Golf Pèrsic
    +#> 22                    Kattegat
    +#> 23               Mar Adriàtica
    +#> 24                  Mar Balear
    +#> 25                 Mar Bàltica
    +#> 26                  Mar Blanca
    +#> 27              Mar Cantàbrica
    +#> 28                   Mar Carib
    +#> 29                  Mar Càspia
    +#> 30                 Mar d'Åland
    +#> 31               Mar d'Alborán
    +#> 32              Mar d'Amundsen
    +#> 33               Mar d'Andaman
    +#> 34                Mar d'Aràbia
    +#> 35               Mar d'Arafura
    +#> 36                  Mar d'Azov
    +#> 37                Mar d'Icària
    +#> 38               Mar d'Irlanda
    +#> 39              Mar d'Irminger
    +#> 40               Mar d'Okhotsk
    +#> 41                 Mar de Bali
    +#> 42                Mar de Banda
    +#> 43              Mar de Barents
    +#> 44             Mar de Beaufort
    +#> 45       Mar de Bellingshausen
    +#> 46               Mar de Bering
    +#> 47             Mar de Bismarck
    +#> 48                Mar de Bohai
    +#> 49                Mar de Bohol
    +#> 50               Mar de Bòtnia
    +#> 51              Mar de Camotes
    +#> 52              Mar de Cèlebes
    +#> 53                Mar de Creta
    +#> 54                Mar de Davis
    +#> 55     Mar de Dumont d'Urville
    +#> 56                 Mar de Fiji
    +#> 57               Mar de Flores
    +#> 58          Mar de Groenlàndia
    +#> 59            Mar de Halmahera
    +#> 60                 Mar de Java
    +#> 61                 Mar de Kara
    +#> 62                 Mar de Koro
    +#> 63          Mar de l'Arxipèlag
    +#> 64        Mar de la Cooperació
    +#> 65  Mar de la Sibèria Oriental
    +#> 66  Mar de la Sibèria Oriental
    +#> 67   Mar de la Xina Meridional
    +#> 68     Mar de la Xina Oriental
    +#> 69             Mar de Labrador
    +#> 70               Mar de Làptev
    +#> 71              Mar de Lazarev
    +#> 72        Mar de les Filipines
    +#> 73         Mar de les Hèbrides
    +#> 74        Mar de les Lacadives
    +#> 75         Mar de les Moluques
    +#> 76                Mar de Líbia
    +#> 77              Mar de Lincoln
    +#> 78              Mar de Llevant
    +#> 79              Mar de Màrmara
    +#> 80               Mar de Mawson
    +#> 81               Mar de Mirtos
    +#> 82              Mar de Noruega
    +#> 83              Mar de Petxora
    +#> 84        Mar de Riiser-Larsen
    +#> 85                 Mar de Ross
    +#> 86               Mar de Salomó
    +#> 87                Mar de Samar
    +#> 88                 Mar de Savu
    +#> 89               Mar de Scotia
    +#> 90                Mar de Seram
    +#> 91              Mar de Sibuyan
    +#> 92                Mar de Somov
    +#> 93                 Mar de Sulu
    +#> 94             Mar de Tasmània
    +#> 95                Mar de Timor
    +#> 96               Mar de Tràcia
    +#> 97              Mar de Visayas
    +#> 98               Mar de Wadden
    +#> 99               Mar de Wandel
    +#> 100             Mar de Weddell
    +#> 101             Mar del Corall
    +#> 102               Mar del Japó
    +#> 103               Mar del Nord
    +#> 104                Mar del Sud
    +#> 105       Mar dels Cosmonautes
    +#> 106         Mar dels Sargassos
    +#> 107          Mar dels Txuktxis
    +#> 108          Mar dels Txuktxis
    +#> 109                   Mar Egea
    +#> 110                  Mar Groga
    +#> 111       Mar Interior de Seto
    +#> 112                 Mar Jònica
    +#> 113                  Mar Lígur
    +#> 114           Mar Mediterrània
    +#> 115                  Mar Negra
    +#> 116                   Mar Roig
    +#> 117                Mar Tirrena
    +#> 118          Oceà Pacífic Nord
    +#> 119           Oceà Pacífic Sud
    +#> 120          Passatge de Drake
    +#> 121            Riu de la Plata
    +#> 122                  Skagerrak
    +#> 123                       <NA>
    +#> 124                       <NA>
    +#> 125                       <NA>
    +#> 126                       <NA>
    +#> 127                       <NA>
    +#> 128                       <NA>
    +#> 129                       <NA>
    +#> 130                       <NA>
    +#> 131                       <NA>
    +#> 132                       <NA>
    +#> 133                       <NA>
    +#> 134                       <NA>
    +#> 135                       <NA>
    +#> 136                       <NA>
    +#> 137                       <NA>
    +#> 138                       <NA>
    +#> 139                       <NA>
    +#> 140                       <NA>
    +#> 141                       <NA>
    +#> 142                       <NA>
    +#> 143                       <NA>
    +#> 144                       <NA>
    +#> 145                       <NA>
    +#> 146                       <NA>
    +#> 147                       <NA>
    +#> 148                       <NA>
    +#> 149                       <NA>
    +#> 150                       <NA>
    +#>                                                                                                                           name
    +#> 1                                                                                                               Southern Ocean
    +#> 2                                                                                                                 Arctic Ocean
    +#> 3                                                                                                               Atlantic Ocean
    +#> 4                                                                                                                 Indian Ocean
    +#> 5                                                                                                                Pacific Ocean
    +#> 6                                                                                                         North Atlantic Ocean
    +#> 7                                                                                                         South Atlantic Ocean
    +#> 8                                                                                                                   Baffin Bay
    +#> 9                                                                                                                   Hudson Bay
    +#> 10                                                                                                      James Bay / Baie James
    +#> 11                                                                                                              Selat Makassar
    +#> 12                                                                                                                    خليج عدن
    +#> 13                                                                                                              Gulf of Alaska
    +#> 14                                                                                                                   خلیج عمان
    +#> 15                                                                                                          Gulf of California
    +#> 16                                                                                                              Gulf of Guinea
    +#> 17                                                                                                           Каламитский залив
    +#> 18                                                                                                             Golfo de México
    +#> 19                                                                                                                Teluk Tomini
    +#> 20                                                                                                            Golfo de Tribugá
    +#> 21                                                                                                               الخليج العربي
    +#> 22                                                                                                                    Kattegat
    +#> 23                                                                             Jadransko more / Mare Adriatico / Deti Adriatik
    +#> 24                                                                                                                  Mar Balear
    +#> 25  Morze Bałtyckie  - Baltijos jūra - Baltijas jūra -  Läänemeri - Itämeri - Östersjön - Østersøen - Ostsee - Балтийское море
    +#> 26                                                                                                                  Белое море
    +#> 27                                                                                                              Mar Cantábrico
    +#> 28                                                                                                               Caribbean Sea
    +#> 29                                  Каспий теңізі - Hazar deňizi - دریای خزر - Xəzər dənizi - Каспийское море - دریای مازندران
    +#> 30                                                                                                                 Ahvenanmeri
    +#> 31                                                                                                Mar de Alborán / بحر البحران
    +#> 32                                                                                                                Amundsen Sea
    +#> 33                                                                                                                 Andaman Sea
    +#> 34                                                                                                     Arabian Sea / بحر العرب
    +#> 35                                                                                                                 Arafura Sea
    +#> 36                                                                                               Азовське море - Азовское море
    +#> 37                                                                                                              Ικάριο πέλαγος
    +#> 38                                                                                                                   Irish Sea
    +#> 39                                                                                                                Irminger Sea
    +#> 40                                                                                                              Sea of Okhotsk
    +#> 41                                                                                                                   Laut Bali
    +#> 42                                                                                                                  Laut Banda
    +#> 43                                                                                                              Баренцево море
    +#> 44                                                                                                                Beaufort Sea
    +#> 45                                                                                                          Bellingshausen Sea
    +#> 46                                                                                                                  Bering Sea
    +#> 47                                                                                                                Bismarck Sea
    +#> 48                                                                                                                        渤海
    +#> 49                                                                                                                   Bohol Sea
    +#> 50                                                                                                     Selkämeri / Bottenhavet
    +#> 51                                                                                                                 Camotes Sea
    +#> 52                                                                                                                 Celebes Sea
    +#> 53                                                                                                             Κρητικό πέλαγος
    +#> 54                                                                                                                   Davis Sea
    +#> 55                                                                                                        Mer Dumont-d'Urville
    +#> 56                                                                                                                    Fiji Sea
    +#> 57                                                                                                                 Laut Flores
    +#> 58                                                                                                               Greenland Sea
    +#> 59                                                                                                              Laut Halmahera
    +#> 60                                                                                                                   Laut Jawa
    +#> 61                                                                                                                Карское море
    +#> 62                                                                                                                    Koro Sea
    +#> 63                                                                                                                Saaristomeri
    +#> 64                                                                                                           Maro de Kunlaboro
    +#> 65                                                                                                     Восточно-Сибирское море
    +#> 66                                                                                                     Восточно-Сибирское море
    +#> 67                                                                                                             South China Sea
    +#> 68                                                                                                              East China Sea
    +#> 69                                                                                                                Labrador Sea
    +#> 70                                                                                                               Море Лаптевых
    +#> 71                                                                                                             Maro de Lazarev
    +#> 72                                                                                                              Philippine Sea
    +#> 73                                                                                                         Sea of the Hebrides
    +#> 74                                                                                                               Laccadive Sea
    +#> 75                                                                                                                 Molucca Sea
    +#> 76                                                                                                                  Libyan Sea
    +#> 77                                                                                                                 Lincoln Sea
    +#> 78                                                                                                               Levantine Sea
    +#> 79                                                                                                              Marmara Denizi
    +#> 80                                                                                                              Maro de Mawson
    +#> 81                                                                                                              Μυρτώο Πέλαγος
    +#> 82                                                                                                               Norwegian Sea
    +#> 83                                                                                                              Печорское море
    +#> 84                                                                                                       Maro de Riiser-Larsen
    +#> 85                                                                                                                    Ross Sea
    +#> 86                                                                                                                 Solomon Sea
    +#> 87                                                                                                                   Samar Sea
    +#> 88                                                                                                                   Laut Sawu
    +#> 89                                                                                                                  Scotia Sea
    +#> 90                                                                                                                  Laut Seram
    +#> 91                                                                                                                 Sibuyan Sea
    +#> 92                                                                                                               Maro de Somov
    +#> 93                                                                                                                    Sulu Sea
    +#> 94                                                                                                 Te Tai-o-Rehua / Tasman Sea
    +#> 95                                                                                                                  Laut Timor
    +#> 96                                                                                                             Θρακικό Πέλαγος
    +#> 97                                                                                                                 Visayan Sea
    +#> 98                                                                                          Waddenzee / Wattenmeer / Vadehavet
    +#> 99                                                                                                                 Wandelhavet
    +#> 100                                                                                                                Weddell Sea
    +#> 101                                                                                                                  Coral Sea
    +#> 102                                                                                              日本海 / Японское море / 동해
    +#> 103                                                        North Sea / Nordsee / Noordzee / Nordsøen / Nordsjøen / Mer du Nord
    +#> 104                                                                                                                       남해
    +#> 105                                                                                                        Maro de Kosmonaŭtoj
    +#> 106                                                                                                               Sargasso Sea
    +#> 107                                                                                                             Чукотское море
    +#> 108                                                                                                                Chukchi Sea
    +#> 109                                                                                               Αιγαίον Πέλαγος / Ege Denizi
    +#> 110                                                                                                                 Yellow Sea
    +#> 111                                                                                                                   瀬戸内海
    +#> 112                                                                                                                 Ionian Sea
    +#> 113                                                                                                    Mar Ligure / Mer Ligure
    +#> 114                                                                                                          Mediterranean Sea
    +#> 115                                               Чорне море - Marea Neagră - Черно море – Karadeniz - შავი ზღვა - Чёрное море
    +#> 116                                                                                         Mer Rouge / ቀይሕ ባሕሪ / البحر الأحمر
    +#> 117                                                                                             Mar Tirreno / Mer Tyrrhénienne
    +#> 118                                                                                                        North Pacific Ocean
    +#> 119                                                                                                        South Pacific Ocean
    +#> 120                                                                                                              Drake Passage
    +#> 121                                                                                                            Río de la Plata
    +#> 122                                                                                                                  Skagerrak
    +#> 123                                                                                                                     八代海
    +#> 124                                                                                                                     天草灘
    +#> 125                                                                                                  Celtic Sea / Mer Celtique
    +#> 126                                                                                                                Laut Natuna
    +#> 127                                                                                                                 Teluk Bone
    +#> 128                                                                                                            Rogalandsfeltet
    +#> 129                                                                                                                 Brevikflua
    +#> 130                                                                                                                    Klatten
    +#> 131                                                                                                                       Bælt
    +#> 132                                                                                  Inner Seas off the West Coast of Scotland
    +#> 133                                                                                                                  Luzon Sea
    +#> 134                                                                                                                     五島灘
    +#> 135                                                                                                                The Red Sea
    +#> 136                                                                                                                     Sanden
    +#> 137                                                                                         Southeastern Limit of Labrador Sea
    +#> 138                                                                                                                       斎灘
    +#> 139                                                                                                                     安芸灘
    +#> 140                                                                                                           Gulf of Thailand
    +#> 141                                                                                                         Тендрівська затока
    +#> 142                                                                                                              Охотское море
    +#> 143                                                                                                            Pinochet Strait
    +#> 144                                                                                                                     海州湾
    +#> 145                                                                                                              Paso Oglander
    +#> 146                                                                                                                     函館湾
    +#> 147                                                                                                                     영흥만
    +#> 148                                                                                                                Lincoln Sea
    +#> 149                                                                                                    Prince Gustaf Adolf Sea
    +#> 150                                                                                                              Bay of Bengal
    +#>      wikidata
    +#> 1       Q7354
    +#> 2        Q788
    +#> 3         Q97
    +#> 4       Q1239
    +#> 5         Q98
    +#> 6     Q350134
    +#> 7    Q1482804
    +#> 8      Q37040
    +#> 9       Q3040
    +#> 10    Q223810
    +#> 11    Q194477
    +#> 12     Q41837
    +#> 13    Q180531
    +#> 14     Q79948
    +#> 15    Q132811
    +#> 16     Q41430
    +#> 17   Q2026815
    +#> 18     Q12630
    +#> 19   Q1507546
    +#> 20   Q3110256
    +#> 21     Q34675
    +#> 22    Q131716
    +#> 23     Q13924
    +#> 24    Q200712
    +#> 25       Q545
    +#> 26     Q44133
    +#> 27   Q2090594
    +#> 28      Q1247
    +#> 29      Q5484
    +#> 30    Q271043
    +#> 31    Q199408
    +#> 32     Q72154
    +#> 33     Q47632
    +#> 34     Q58705
    +#> 35    Q128880
    +#> 36     Q35000
    +#> 37   Q1640853
    +#> 38     Q41735
    +#> 39   Q1542675
    +#> 40     Q41602
    +#> 41    Q277014
    +#> 42    Q171510
    +#> 43     Q45823
    +#> 44    Q131274
    +#> 45    Q183455
    +#> 46     Q44725
    +#> 47    Q199436
    +#> 48    Q181969
    +#> 49    Q242326
    +#> 50   Q1649939
    +#> 51    Q540179
    +#> 52     Q19270
    +#> 53    Q193149
    +#> 54    Q509321
    +#> 55   Q1391243
    +#> 56   Q2355931
    +#> 57    Q150370
    +#> 58    Q132868
    +#> 59    Q212083
    +#> 60     Q49364
    +#> 61     Q33629
    +#> 62    Q315954
    +#> 63    Q650654
    +#> 64   Q2085564
    +#> 65    Q163434
    +#> 66    Q163434
    +#> 67     Q37660
    +#> 68     Q45341
    +#> 69    Q184189
    +#> 70      Q7988
    +#> 71   Q1576063
    +#> 72    Q159183
    +#> 73   Q1971856
    +#> 74    Q544914
    +#> 75    Q185291
    +#> 76    Q738028
    +#> 77    Q243125
    +#> 78    Q748696
    +#> 79     Q35367
    +#> 80   Q1902276
    +#> 81    Q840427
    +#> 82     Q47545
    +#> 83    Q217501
    +#> 84   Q1576011
    +#> 85    Q164466
    +#> 86    Q199479
    +#> 87    Q392623
    +#> 88    Q193465
    +#> 89    Q204703
    +#> 90    Q210855
    +#> 91    Q594834
    +#> 92   Q1404920
    +#> 93    Q160194
    +#> 94     Q33254
    +#> 95    Q131418
    +#> 96    Q379063
    +#> 97    Q474708
    +#> 98     Q26080
    +#> 99    Q259929
    +#> 100   Q173343
    +#> 101    Q82931
    +#> 102    Q27092
    +#> 103     Q1693
    +#> 104   Q624569
    +#> 105  Q1509546
    +#> 106   Q169274
    +#> 107   Q159252
    +#> 108   Q159252
    +#> 109    Q34575
    +#> 110    Q37960
    +#> 111   Q231312
    +#> 112    Q37495
    +#> 113    Q42820
    +#> 114     Q4918
    +#> 115      Q166
    +#> 116    Q23406
    +#> 117    Q38882
    +#> 118 Q12353254
    +#> 119 Q12355425
    +#> 120   Q143650
    +#> 121    Q35827
    +#> 122     Q1695
    +#> 123    Q49560
    +#> 124  Q3306188
    +#> 125    Q81499
    +#> 126 Q10829960
    +#> 127   Q641148
    +#> 128      <NA>
    +#> 129      <NA>
    +#> 130      <NA>
    +#> 131      <NA>
    +#> 132  Q5762423
    +#> 133      <NA>
    +#> 134 Q11372327
    +#> 135      <NA>
    +#> 136      <NA>
    +#> 137      <NA>
    +#> 138 Q11500419
    +#> 139  Q4302577
    +#> 140   Q131217
    +#> 141  Q2392966
    +#> 142    Q41602
    +#> 143  Q2783226
    +#> 144 Q15939411
    +#> 145  Q5716459
    +#> 146 Q11396019
    +#> 147 Q27245429
    +#> 148   Q243125
    +#> 149  Q2322479
    +#> 150    Q38684
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/missatge_telegram.html b/docs/reference/missatge_telegram.html new file mode 100644 index 0000000..f47edb7 --- /dev/null +++ b/docs/reference/missatge_telegram.html @@ -0,0 +1,78 @@ + +Envia un missatge a al grup de Telegram de la Comunitat en catal\u00E0 d'OpenStreetMap — missatge_telegram • monitorOSM + Skip to contents + + +
    +
    +
    + +
    +

    Envia un missatge a al grup de Telegram de la Comunitat en catal\u00E0 d'OpenStreetMap

    +
    + +
    +

    Usage

    +
    missatge_telegram(
    +  missatge = "Hi ha canvis a [monitorOSM](https://osm-catalan.github.io/monitorOSM).",
    +  parse_mode = "Markdown"
    +)
    +
    + +
    +

    Arguments

    + + +
    missatge
    +

    Text del missatge.

    + + +
    parse_mode
    +

    El missatge s'interpreta com a Markdown o HTML.

    + +
    + +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/modifica_etiquetes_osm.html b/docs/reference/modifica_etiquetes_osm.html new file mode 100644 index 0000000..72e2cb0 --- /dev/null +++ b/docs/reference/modifica_etiquetes_osm.html @@ -0,0 +1,114 @@ + +Modifica etiquetes a OSM — modifica_etiquetes_osm • monitorOSM + Skip to contents + + +
    +
    +
    + +
    +

    Obre un conjunt de canvis, edita les etiquetes i tanca el conjunt de canvis.

    +
    + +
    +

    Usage

    +
    modifica_etiquetes_osm(x, claus, comentari, ...)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    data.frame amb els valors de les etiquetes que s'actualitzaran i les columnes osm_type i osm_id o +(type i id) que identifiquen els objectes d'OSM.

    + + +
    claus
    +

    Claus de les etiquetes que es modificaran. Han de correspondre a columnes d'x.

    + + +
    comentari
    +

    Comentari descriptiu del conjunt de canvis.

    + + +
    ...
    +

    Etiquetes del conjunt de canvis com a paràmetres amb noms (clau = "valor").

    + +
    +
    +

    Value

    +

    Retorna l'identificador del conjunt de canvis.

    +
    +
    +

    Details

    +

    Cal identificar-se amb un usuari d'OSM i els canvis es faran amb aquest usuari i sota la seva responsabilitat.

    +

    Les etiquetes més habituals pels conjunts de canvis inclouen source i hashtags. En el marc del projecte, +monitorOSM, pot ser bona idea afegir el paràmetre hashtags = "monitorOSM" per poder fer un seguiment de les +edicions. Vegeu https://wiki.openstreetmap.org/wiki/Changeset per més detalls.

    +

    OSM és un projecte col·laboratiu on participen milers de persones. Reviseu bé els canvis, consensueu-los amb la +comunitat, afegiu comentaris informatius del conjunt de canvis i feu un bon ús d'aquesta funció.

    +
    +
    +

    Note

    +

    Modificar les claus osm_type, osm_id, id i type amb aquesta funció pot donar problemes per col·lisions de +noms de columnes d'x i no és recomanat.

    +
    + +
    +

    Examples

    +
    # Restaura els noms de les comarques dels Països Catalans segons `comarques`
    +if (FALSE) { # \dontrun{
    +modifica_etiquetes_osm(
    +  comarques,
    +  claus = "name",
    +  comentari = "Restaura els noms de les comarques dels Països Catalans", hashtags = "monitorOSM"
    +)
    +} # }
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/municipis.html b/docs/reference/municipis.html new file mode 100644 index 0000000..cfc8709 --- /dev/null +++ b/docs/reference/municipis.html @@ -0,0 +1,3516 @@ + +Municipis dels Països Catalans — municipis • monitorOSM + Skip to contents + + +
    +
    +
    + +
    +

    Dades dels municipis dels Països Catalans.

    +
    + +
    +

    Usage

    +
    municipis
    +
    + +
    +

    Details

    +

    Alguns noms de municipis tenen duplicats. Per construir noms únics (p. ex. per generar noms de fitxers), podeu usar +paste0(municipis$regio, "-", municipis$name).

    +
    +
    +

    Format

    +

    Un data.frame amb dades dels 1671 municipis per + les següents 9 variables.

    name:ca
    +

    Etiqueta name:ca.

    + +
    regio
    +

    Subdivisió ["Aran", "CatNord", "Franja", "Illes", "Principat", "PV", "Sardenya"].

    + +
    comarca
    +

    Etiqueta name:ca de la comarca on es troba el municipi.

    + +
    osm_id
    +

    Número identificador a OSM.

    + +
    osm_type
    +

    Tipus d'objecte d'OSM.

    + +
    name
    +

    Etiqueta name.

    + +
    wikipedia
    +

    Etiqueta wikipedia.

    + +
    wikidata
    +

    Etiqueta wikidata.

    + +
    admin_level
    +

    Etiqueta admin_level.

    + + +
    +
    +

    Note

    +

    Les parròquies d'Andorra corresponen a comarques (admin_level = "7") i els pobles no tenen relacions, només +nodes. Els pobles no s'inclouen.

    +
    +
    +

    See also

    +

    Altres bases de dades de referència: + PPCC, comarques, territoris, + loc_admin_centre_municipis.

    +
    + +
    +

    Examples

    +
    municipis[, c("name:ca", "regio", "name")]
    +#>                                          name:ca     regio
    +#> 1                                       Alt Aran      Aran
    +#> 2                                          Arres      Aran
    +#> 3                                         Bausén      Aran
    +#> 4                                        Bossòst      Aran
    +#> 5                                        Canejan      Aran
    +#> 6                                      es Bordes      Aran
    +#> 7                                            Lés      Aran
    +#> 8                              Viella i Mitjaran      Aran
    +#> 9                                        Vilamòs      Aran
    +#> 10         Angostrina i Vilanova de les Escaldes   CatNord
    +#> 11                                      Bolquera   CatNord
    +#> 12                                        Dorres   CatNord
    +#> 13                                         Èguet   CatNord
    +#> 14                                          Eina   CatNord
    +#> 15                                        Enveig   CatNord
    +#> 16                                            Er   CatNord
    +#> 17                                       Estavar   CatNord
    +#> 18                      Font-romeu, Odelló i Vià   CatNord
    +#> 19                                  la Cabanassa   CatNord
    +#> 20                             la Guingueta d'Ix   CatNord
    +#> 21                              la Tor de Querol   CatNord
    +#> 22                                           Llo   CatNord
    +#> 23                                     Montlluís   CatNord
    +#> 24                                         Naüja   CatNord
    +#> 25                                         Oceja   CatNord
    +#> 26                             Palau de Cerdanya   CatNord
    +#> 27                                         Porta   CatNord
    +#> 28                                         Portè   CatNord
    +#> 29                                     Sallagosa   CatNord
    +#> 30                                 Santa Llocaia   CatNord
    +#> 31                                     Targasona   CatNord
    +#> 32                                            Ur   CatNord
    +#> 33                                 Vallcebollera   CatNord
    +#> 34                                    els Angles   CatNord
    +#> 35                                  Font-rabiosa   CatNord
    +#> 36                                    Formiguera   CatNord
    +#> 37                                      Matamala   CatNord
    +#> 38                                   Puigbalador   CatNord
    +#> 39                                          Real   CatNord
    +#> 40                            Aiguatèbia i Talau   CatNord
    +#> 41                                      Arboçols   CatNord
    +#> 42                                       Campome   CatNord
    +#> 43                                    Canavelles   CatNord
    +#> 44                             Castell de Vernet   CatNord
    +#> 45                                        Catllà   CatNord
    +#> 46                          Caudiers de Conflent   CatNord
    +#> 47                                         Censà   CatNord
    +#> 48                              Clarà i Villerac   CatNord
    +#> 49                                       Codalet   CatNord
    +#> 50                                         Conat   CatNord
    +#> 51                          Cornellà de Conflent   CatNord
    +#> 52                                        Escaró   CatNord
    +#> 53                            Espirà de Conflent   CatNord
    +#> 54                                        Estoer   CatNord
    +#> 55                                           Eus   CatNord
    +#> 56                                       Fillols   CatNord
    +#> 57                                     Finestret   CatNord
    +#> 58                                   Fontpedrosa   CatNord
    +#> 59                                         Fullà   CatNord
    +#> 60                                     Glorianes   CatNord
    +#> 61                                           Jóc   CatNord
    +#> 62                                        Jújols   CatNord
    +#> 63                                    la Bastida   CatNord
    +#> 64                                    la Llaguna   CatNord
    +#> 65                                     Los Masos   CatNord
    +#> 66                                  Marqueixanes   CatNord
    +#> 67                                        Mentet   CatNord
    +#> 68                                         Molig   CatNord
    +#> 69                                        Mosset   CatNord
    +#> 70                                        Noedes   CatNord
    +#> 71                                          Nyer   CatNord
    +#> 72                                  Oleta i Èvol   CatNord
    +#> 73                                       Orbanyà   CatNord
    +#> 74                                        Orellà   CatNord
    +#> 75                                Pi de Conflent   CatNord
    +#> 76                                        Planès   CatNord
    +#> 77                                         Prada   CatNord
    +#> 78                                        Ralleu   CatNord
    +#> 79                                   Rià i Cirac   CatNord
    +#> 80                                       Rigardà   CatNord
    +#> 81                                         Rodés   CatNord
    +#> 82                                   Sant Marçal   CatNord
    +#> 83                        Sant Pere dels Forcats   CatNord
    +#> 84                                        Saorra   CatNord
    +#> 85                                         Sautó   CatNord
    +#> 86                                      Serdinyà   CatNord
    +#> 87                                       Soanyes   CatNord
    +#> 88                                       Tarerac   CatNord
    +#> 89                                      Taurinyà   CatNord
    +#> 90                             Toès i Entrevalls   CatNord
    +#> 91                                   Vallestàvia   CatNord
    +#> 92                                     Vallmanya   CatNord
    +#> 93                                        Vernet   CatNord
    +#> 94                        Vilafranca de Conflent   CatNord
    +#> 95                                         Vinçà   CatNord
    +#> 96                                       Ansinyà   CatNord
    +#> 97                                     Bellestar   CatNord
    +#> 98                                      Campossí   CatNord
    +#> 99                                      Caramany   CatNord
    +#> 100                                    Cassanyes   CatNord
    +#> 101                         Caudiers de Fenollet   CatNord
    +#> 102                                    Centernac   CatNord
    +#> 103                                     El Viver   CatNord
    +#> 104                                      Felluns   CatNord
    +#> 105                                     Fenollet   CatNord
    +#> 106                                        Fossa   CatNord
    +#> 107                                   l'Esquerda   CatNord
    +#> 108                             la Tor de França   CatNord
    +#> 109                                       lançac   CatNord
    +#> 110                                        Maurí   CatNord
    +#> 111                          Montalban lo Castèl   CatNord
    +#> 112                          Pesillà de Conflent   CatNord
    +#> 113                                     Planeses   CatNord
    +#> 114                              Prats de Sornià   CatNord
    +#> 115                                    Prunyanes   CatNord
    +#> 116                                   Rasigueres   CatNord
    +#> 117                                     Rebollet   CatNord
    +#> 118                       Sant Martí de Fenollet   CatNord
    +#> 119                         Sant Pau de Fenollet   CatNord
    +#> 120                                       Sornià   CatNord
    +#> 121                                    Trevillac   CatNord
    +#> 122                                       Trillà   CatNord
    +#> 123                                         Virà   CatNord
    +#> 124                                       Alenyà   CatNord
    +#> 125                                     Argelers   CatNord
    +#> 126                            Bages de Rosselló   CatNord
    +#> 127                                       Baixàs   CatNord
    +#> 128                        Banyuls de la Marenda   CatNord
    +#> 129                          Banyuls dels Aspres   CatNord
    +#> 130                                          Bao   CatNord
    +#> 131                                       Bompàs   CatNord
    +#> 132                                       Brullà   CatNord
    +#> 133                                 Bula d'Amunt   CatNord
    +#> 134                                  Bulaternera   CatNord
    +#> 135                                    Cabestany   CatNord
    +#> 136                                        Calce   CatNord
    +#> 137                                     Calmella   CatNord
    +#> 138                                      Cameles   CatNord
    +#> 139                            Canet de Rosselló   CatNord
    +#> 140                                       Cànoes   CatNord
    +#> 141                                    Casafabre   CatNord
    +#> 142                                Cases de Pena   CatNord
    +#> 143                                   Castellnou   CatNord
    +#> 144                        Cervera de la Marenda   CatNord
    +#> 145                                       Clairà   CatNord
    +#> 146                          Corbera de Rosselló   CatNord
    +#> 147                        Cornellà de la Ribera   CatNord
    +#> 148                          Cornellà del Bercol   CatNord
    +#> 149                                    Cotlliure   CatNord
    +#> 150                                  el Barcarès   CatNord
    +#> 151                                     el Soler   CatNord
    +#> 152                                      el Voló   CatNord
    +#> 153                                         Elna   CatNord
    +#> 154                             Espirà de l'Aglí   CatNord
    +#> 155                                     Estagell   CatNord
    +#> 156                                      Forques   CatNord
    +#> 157                                         Illa   CatNord
    +#> 158                         la Cabana de Corbera   CatNord
    +#> 159                             la Roca d'Albera   CatNord
    +#> 160                              la Torre d'Elna   CatNord
    +#> 161                                       Llauró   CatNord
    +#> 162                                       Llupià   CatNord
    +#> 163                                      Millars   CatNord
    +#> 164                                    Montescot   CatNord
    +#> 165                          Montesquiu d'Albera   CatNord
    +#> 166                                      Montner   CatNord
    +#> 167                                    Montoriol   CatNord
    +#> 168                                       Nefiac   CatNord
    +#> 169                                          Oms   CatNord
    +#> 170                              Òpol i Perellós   CatNord
    +#> 171                                       Ortafà   CatNord
    +#> 172                                         Paçà   CatNord
    +#> 173                              Palau del Vidre   CatNord
    +#> 174                                 Paretstortes   CatNord
    +#> 175                                     Perpinyà   CatNord
    +#> 176                         Pesillà de la Ribera   CatNord
    +#> 177                                          Pià   CatNord
    +#> 178                                   Pollestres   CatNord
    +#> 179                                     Pontellà   CatNord
    +#> 180                                  Portvendres   CatNord
    +#> 181                             Prunet i Belpuig   CatNord
    +#> 182                                      Queixàs   CatNord
    +#> 183                                   Ribesaltes   CatNord
    +#> 184                                     Salelles   CatNord
    +#> 185                                       Salses   CatNord
    +#> 186                        Sant Andreu de Sureda   CatNord
    +#> 187                      Sant Cebrià de Rosselló   CatNord
    +#> 188                     Sant Esteve del Monestir   CatNord
    +#> 189                           Sant Feliu d'Amunt   CatNord
    +#> 190                           Sant Feliu d'Avall   CatNord
    +#> 191                       Sant Genís de Fontanes   CatNord
    +#> 192                   Sant Hipòlit de la Salanca   CatNord
    +#> 193                           Sant Joan la Cella   CatNord
    +#> 194                   Sant Llorenç de la Salanca   CatNord
    +#> 195                        Sant Miquel de Llotes   CatNord
    +#> 196                      Sant Nazari de Rosselló   CatNord
    +#> 197                         Santa Coloma de Tuïr   CatNord
    +#> 198                           Santa Maria la Mar   CatNord
    +#> 199                                       Sureda   CatNord
    +#> 200                                     Talteüll   CatNord
    +#> 201                                      Terrats   CatNord
    +#> 202                                         Tesà   CatNord
    +#> 203                                      Toluges   CatNord
    +#> 204                                     Torderes   CatNord
    +#> 205                      Torrelles de la Salanca   CatNord
    +#> 206                                    Trasserra   CatNord
    +#> 207                                     Trullars   CatNord
    +#> 208                                         Tuïr   CatNord
    +#> 209                     Vilallonga de la Salanca   CatNord
    +#> 210                        Vilallonga dels Monts   CatNord
    +#> 211                                   Vilamulaca   CatNord
    +#> 212                        Vilanova de la Ribera   CatNord
    +#> 213                              Vilanova de Raò   CatNord
    +#> 214                                      Vingrau   CatNord
    +#> 215                                        Arles   CatNord
    +#> 216                                        Ceret   CatNord
    +#> 217                                     Cortsaví   CatNord
    +#> 218                                      Costoja   CatNord
    +#> 219                                    el Pertús   CatNord
    +#> 220                                       el Tec   CatNord
    +#> 221                  els Banys d'Arles i Palaldà   CatNord
    +#> 222                                     L'Albera   CatNord
    +#> 223                                    la Menera   CatNord
    +#> 224                                   les Cluses   CatNord
    +#> 225                                     Montboló   CatNord
    +#> 226                                   Montferrer   CatNord
    +#> 227                         Morellàs i les Illes   CatNord
    +#> 228                   Prats de Molló i la Presta   CatNord
    +#> 229                                      Reiners   CatNord
    +#> 230                      Sant Joan de Pladecorts   CatNord
    +#> 231                      Sant Llorenç de Cerdans   CatNord
    +#> 232                                  Serrallonga   CatNord
    +#> 233                                       Tellet   CatNord
    +#> 234                                       Teulís   CatNord
    +#> 235                                       Vivers   CatNord
    +#> 236                       Aiguaviva de Bergantes    Franja
    +#> 237                           Bellmunt de Mesquí    Franja
    +#> 238                          la Canyada de Beric    Franja
    +#> 239                                 la Codonyera    Franja
    +#> 240                                 la Ginebrosa    Franja
    +#> 241                                 la Sorollera    Franja
    +#> 242                          la Torre de Vilella    Franja
    +#> 243                                         Faió    Franja
    +#> 244                                       Favara    Franja
    +#> 245                                       Maella    Franja
    +#> 246                                       Nonasp    Franja
    +#> 247                                        Fraga    Franja
    +#> 248                                   Mequinensa    Franja
    +#> 249                                        Saidí    Franja
    +#> 250                             Torrent de Cinca    Franja
    +#> 251                             Vilella de Cinca    Franja
    +#> 252                                      Albelda    Franja
    +#> 253                                       Baells    Franja
    +#> 254                                  Camporrells    Franja
    +#> 255                                 Castellonroi    Franja
    +#> 256                                   el Campell    Franja
    +#> 257                                   el Torricó    Franja
    +#> 258                          Peralta i Calassanç    Franja
    +#> 259                       Sant Esteve de Llitera    Franja
    +#> 260                                Sanui i Alins    Franja
    +#> 261                           Tamarit de Llitera    Franja
    +#> 262                                   Valldellou    Franja
    +#> 263                                     Vensilló    Franja
    +#> 264                              Arenys de Lledó    Franja
    +#> 265                                       Beseit    Franja
    +#> 266                                     Calaceit    Franja
    +#> 267                                 Fontdespatla    Franja
    +#> 268                                      Fórnols    Franja
    +#> 269                                 la Freixneda    Franja
    +#> 270                                la Portellada    Franja
    +#> 271                           la Torre del Comte    Franja
    +#> 272                            la Vall del Tormo    Franja
    +#> 273                               Lledó d'Algars    Franja
    +#> 274                                     Massalió    Franja
    +#> 275                                     Montroig    Franja
    +#> 276                       Pena-roja de Tastavins    Franja
    +#> 277                                     Queretes    Franja
    +#> 278                                       Ràfels    Franja
    +#> 279                                 Torredarques    Franja
    +#> 280                               Vall-de-roures    Franja
    +#> 281                                 Valljunquera    Franja
    +#> 282                             Areny de Noguera    Franja
    +#> 283                                    Benavarri    Franja
    +#> 284                                      Beranui    Franja
    +#> 285                                      Bonansa    Franja
    +#> 286                                   Castigaleu    Franja
    +#> 287                                    Estopanyà    Franja
    +#> 288                                      Isàvena    Franja
    +#> 289                                    Lasquarri    Franja
    +#> 290                                    Les Paüls    Franja
    +#> 291                          Monesma i Queixigar    Franja
    +#> 292                                     Montanui    Franja
    +#> 293                           Pont de Montanyana    Franja
    +#> 294                                      Sopeira    Franja
    +#> 295                                        Tolba    Franja
    +#> 296                                Tor-la-ribera    Franja
    +#> 297                            Viacamp i Lliterà    Franja
    +#> 298                                      Eivissa     Illes
    +#> 299                      Sant Antoni de Portmany     Illes
    +#> 300                        Sant Joan de Labritja     Illes
    +#> 301                      Sant Josep de sa Talaia     Illes
    +#> 302                        Santa Eulària des Riu     Illes
    +#> 303                                   Formentera     Illes
    +#> 304                                         Artà     Illes
    +#> 305                                    Capdepera     Illes
    +#> 306                                      Manacor     Illes
    +#> 307                   Sant Llorenç des Cardassar     Illes
    +#> 308                                  Son Servera     Illes
    +#> 309                                       Alaior     Illes
    +#> 310                                   Ciutadella     Illes
    +#> 311                                   es Castell     Illes
    +#> 312                                  es Mercadal     Illes
    +#> 313                              es Migjorn Gran     Illes
    +#> 314                                    Ferreries     Illes
    +#> 315                                          Maó     Illes
    +#> 316                                   Sant Lluís     Illes
    +#> 317                                       Campos     Illes
    +#> 318                                     Felanitx     Illes
    +#> 319                                    Llucmajor     Illes
    +#> 320                                     Santanyí     Illes
    +#> 321                                  ses Salines     Illes
    +#> 322                                        Palma     Illes
    +#> 323                                      Algaida     Illes
    +#> 324                                       Ariany     Illes
    +#> 325                                      Costitx     Illes
    +#> 326                         Lloret de Vistalegre     Illes
    +#> 327                                        Llubí     Illes
    +#> 328                            Maria de la Salut     Illes
    +#> 329                                     Montuïri     Illes
    +#> 330                                         Muro     Illes
    +#> 331                                        Petra     Illes
    +#> 332                                     Porreres     Illes
    +#> 333                                    Sant Joan     Illes
    +#> 334                                Santa Eugènia     Illes
    +#> 335                              Santa Margalida     Illes
    +#> 336                                    Sencelles     Illes
    +#> 337                                        Sineu     Illes
    +#> 338                         Vilafranca de Bonany     Illes
    +#> 339                                        Alaró     Illes
    +#> 340                                      Alcúdia     Illes
    +#> 341                                   Binissalem     Illes
    +#> 342                                        Búger     Illes
    +#> 343                                     Campanet     Illes
    +#> 344                                      Consell     Illes
    +#> 345                                         Inca     Illes
    +#> 346                                      Lloseta     Illes
    +#> 347                            Mancor de la Vall     Illes
    +#> 348                                     Marratxí     Illes
    +#> 349                                     sa Pobla     Illes
    +#> 350                         Santa Maria del Camí     Illes
    +#> 351                                        Selva     Illes
    +#> 352                                      Andratx     Illes
    +#> 353                                  Banyalbufar     Illes
    +#> 354                                      Bunyola     Illes
    +#> 355                                       Calvià     Illes
    +#> 356                                         Deià     Illes
    +#> 357                                      Escorca     Illes
    +#> 358                                     Esporles     Illes
    +#> 359                                   Estellencs     Illes
    +#> 360                                    Fornalutx     Illes
    +#> 361                                     Pollença     Illes
    +#> 362                                  Puigpunyent     Illes
    +#> 363                                       Sóller     Illes
    +#> 364                                  Valldemossa     Illes
    +#> 365                                  Aiguamúrcia Principat
    +#> 366                                      Alcover Principat
    +#> 367                                         Alió Principat
    +#> 368                                       Bràfim Principat
    +#> 369                               Cabra del Camp Principat
    +#> 370                                      el Milà Principat
    +#> 371                        el Pla de Santa Maria Principat
    +#> 372                          el Pont d'Armentera Principat
    +#> 373                                   el Rourell Principat
    +#> 374                                els Garidells Principat
    +#> 375                           Figuerola del Camp Principat
    +#> 376                                      la Masó Principat
    +#> 377                                      la Riba Principat
    +#> 378                                     Mont-ral Principat
    +#> 379                                    Montferri Principat
    +#> 380                                       Nulles Principat
    +#> 381                                    Puigpelat Principat
    +#> 382                                       Querol Principat
    +#> 383                                      Rodonyà Principat
    +#> 384                                     Vallmoll Principat
    +#> 385                                        Valls Principat
    +#> 386                                  Vila-rodona Principat
    +#> 387                                    Vilabella Principat
    +#> 388                                     Agullana Principat
    +#> 389                                      Albanyà Principat
    +#> 390                      Avinyonet de Puigventós Principat
    +#> 391                                      Bàscara Principat
    +#> 392                                        Biure Principat
    +#> 393                      Boadella i les Escaules Principat
    +#> 394                                     Borrassà Principat
    +#> 395                                   Cabanelles Principat
    +#> 396                                      Cabanes Principat
    +#> 397                                     Cadaqués Principat
    +#> 398                                     Campmany Principat
    +#> 399                                   Cantallops Principat
    +#> 400                          Castelló d'Empúries Principat
    +#> 401                                     Cistella Principat
    +#> 402                                       Colera Principat
    +#> 403                                      Darnius Principat
    +#> 404                             el Far d'Empordà Principat
    +#> 405                          el Port de la Selva Principat
    +#> 406                                      Espolla Principat
    +#> 407                                     Figueres Principat
    +#> 408                                       Fortià Principat
    +#> 409                                     Garrigàs Principat
    +#> 410                                  Garriguella Principat
    +#> 411                                  l'Armentera Principat
    +#> 412                                     l'Escala Principat
    +#> 413                                  la Jonquera Principat
    +#> 414                              la Selva de Mar Principat
    +#> 415                                     la Vajol Principat
    +#> 416                                       Llançà Principat
    +#> 417                              Lledó d'Empordà Principat
    +#> 418                                        Llers Principat
    +#> 419                          Maçanet de Cabrenys Principat
    +#> 420                         Masarac i Vilarnadal Principat
    +#> 421                           Mollet de Peralada Principat
    +#> 422                                       Navata Principat
    +#> 423                                        Ordis Principat
    +#> 424                       Palau de Santa Eulàlia Principat
    +#> 425                              Palau-saverdera Principat
    +#> 426                                          Pau Principat
    +#> 427                               Pedret i Marzà Principat
    +#> 428                                     Peralada Principat
    +#> 429                               Pont de Molins Principat
    +#> 430                                       Pontós Principat
    +#> 431                                      Portbou Principat
    +#> 432                                        Rabós Principat
    +#> 433                                      Riumors Principat
    +#> 434                                        Roses Principat
    +#> 435                        Sant Climent Sescebes Principat
    +#> 436                      Sant Llorenç de la Muga Principat
    +#> 437                        Sant Miquel de Fluvià Principat
    +#> 438                                    Sant Mori Principat
    +#> 439                           Sant Pere Pescador Principat
    +#> 440                      Santa Llogaia d'Àlguema Principat
    +#> 441                  Saus, Camallera i Llampaies Principat
    +#> 442                                      Siurana Principat
    +#> 443                                     Terrades Principat
    +#> 444                          Torroella de Fluvià Principat
    +#> 445                                     Ventalló Principat
    +#> 446                                   Vila-sacra Principat
    +#> 447                                  Vilabertran Principat
    +#> 448                                    Viladamat Principat
    +#> 449                                     Vilafant Principat
    +#> 450                                    Vilajuïga Principat
    +#> 451                                  Vilamacolum Principat
    +#> 452                                    Vilamalla Principat
    +#> 453                                 Vilamaniscle Principat
    +#> 454                                     Vilanant Principat
    +#> 455                                       Vilaür Principat
    +#> 456                        Avinyonet del Penedès Principat
    +#> 457                        Castellet i la Gornal Principat
    +#> 458                        Castellví de la Marca Principat
    +#> 459                           el Pla del Penedès Principat
    +#> 460                                    Font-rubí Principat
    +#> 461                                       Gelida Principat
    +#> 462                                   la Granada Principat
    +#> 463                                 les Cabanyes Principat
    +#> 464                                      Mediona Principat
    +#> 465                                     Olèrdola Principat
    +#> 466                          Olesa de Bonesvalls Principat
    +#> 467                             Pacs del Penedès Principat
    +#> 468                                      Pontons Principat
    +#> 469                                   Puigdàlber Principat
    +#> 470                      Sant Cugat Sesgarrigues Principat
    +#> 471                       Sant Llorenç d'Hortons Principat
    +#> 472                           Sant Martí Sarroca Principat
    +#> 473                    Sant Pere de Riudebitlles Principat
    +#> 474                       Sant Quintí de Mediona Principat
    +#> 475                         Sant Sadurní d'Anoia Principat
    +#> 476                         Santa Fe del Penedès Principat
    +#> 477                 Santa Margarida i els Monjos Principat
    +#> 478                                     Subirats Principat
    +#> 479                           Terrassola i Lavit Principat
    +#> 480                            Torrelles de Foix Principat
    +#> 481                       Vilafranca del Penedès Principat
    +#> 482                           Vilobí del Penedès Principat
    +#> 483                                  Alàs i Cerc Principat
    +#> 484                                     Arsèguel Principat
    +#> 485                                     Bassella Principat
    +#> 486                                         Cabó Principat
    +#> 487                                         Cava Principat
    +#> 488                                Coll de Nargó Principat
    +#> 489                               el Pont de Bar Principat
    +#> 490                                    Estamariu Principat
    +#> 491                              Fígols i Alinyà Principat
    +#> 492                                Josa i Tuixén Principat
    +#> 493                              la Seu d'Urgell Principat
    +#> 494                           la Vansa i Fórnols Principat
    +#> 495                          les Valls d'Aguilar Principat
    +#> 496                          les Valls de Valira Principat
    +#> 497                       Montferrer i Castellbò Principat
    +#> 498                                       Oliana Principat
    +#> 499                                      Organyà Principat
    +#> 500                                     Peramola Principat
    +#> 501                            Ribera d'Urgellet Principat
    +#> 502                             el Pont de Suert Principat
    +#> 503                               la Vall de Boí Principat
    +#> 504                                     Vilaller Principat
    +#> 505                                    Argençola Principat
    +#> 506                                     Bellprat Principat
    +#> 507                              Cabrera d'Anoia Principat
    +#> 508                                        Calaf Principat
    +#> 509                           Calonge de Segarra Principat
    +#> 510                                   Capellades Principat
    +#> 511                                        Carme Principat
    +#> 512                   Castellfollit de Riubregós Principat
    +#> 513                                   Castellolí Principat
    +#> 514                                       Copons Principat
    +#> 515                                      el Bruc Principat
    +#> 516                     els Hostalets de Pierola Principat
    +#> 517                             els Prats de Rei Principat
    +#> 518                                     Igualada Principat
    +#> 519                                        Jorba Principat
    +#> 520                                   la Llacuna Principat
    +#> 521                        la Pobla de Claramunt Principat
    +#> 522                        la Torre de Claramunt Principat
    +#> 523                                     Masquefa Principat
    +#> 524                                    Montmaneu Principat
    +#> 525                                        Òdena Principat
    +#> 526                                         Orpí Principat
    +#> 527                                        Piera Principat
    +#> 528                                       Pujalt Principat
    +#> 529                                        Rubió Principat
    +#> 530                           Sant Martí de Tous Principat
    +#> 531                       Sant Martí Sesgueioles Principat
    +#> 532                        Sant Pere Sallavinera Principat
    +#> 533                   Santa Margarida de Montbui Principat
    +#> 534                      Santa Maria de Miralles Principat
    +#> 535                             Vallbona d'Anoia Principat
    +#> 536                                      Veciana Principat
    +#> 537                            Vilanova del Camí Principat
    +#> 538                           Aguilar de Segarra Principat
    +#> 539                                        Artés Principat
    +#> 540                                       Avinyó Principat
    +#> 541                                    Balsareny Principat
    +#> 542                                       Callús Principat
    +#> 543                                      Cardona Principat
    +#> 544                       Castellbell i el Vilar Principat
    +#> 545                       Castellfollit del Boix Principat
    +#> 546                                  Castellgalí Principat
    +#> 547                          Castellnou de Bages Principat
    +#> 548               el Pont de Vilomara i Rocafort Principat
    +#> 549                                    Fonollosa Principat
    +#> 550                                         Gaià Principat
    +#> 551                                      Manresa Principat
    +#> 552                                    Marganell Principat
    +#> 553                      Monistrol de Montserrat Principat
    +#> 554                                         Mura Principat
    +#> 555                                    Navarcles Principat
    +#> 556                                       Navars Principat
    +#> 557                                     Rajadell Principat
    +#> 558                                      Sallent Principat
    +#> 559                          Sant Feliu Sasserra Principat
    +#> 560                        Sant Fruitós de Bages Principat
    +#> 561                     Sant Joan de Vilatorrada Principat
    +#> 562                          Sant Mateu de Bages Principat
    +#> 563                   Sant Salvador de Guardiola Principat
    +#> 564                     Sant Vicenç de Castellet Principat
    +#> 565                                    Santpedor Principat
    +#> 566                                        Súria Principat
    +#> 567                                    Talamanca Principat
    +#> 568                                      Alforja Principat
    +#> 569                                     Almoster Principat
    +#> 570                                       Arbolí Principat
    +#> 571                                     Botarell Principat
    +#> 572                                     Cambrils Principat
    +#> 573                                    Capafonts Principat
    +#> 574                         Castellvell del Camp Principat
    +#> 575                                    Colldejou Principat
    +#> 576                                   Duesaigües Principat
    +#> 577                                     l'Albiol Principat
    +#> 578                                    l'Aleixar Principat
    +#> 579                                  l'Argentera Principat
    +#> 580                                     la Febró Principat
    +#> 581                            la Selva del Camp Principat
    +#> 582                          les Borges del Camp Principat
    +#> 583                                    Maspujols Principat
    +#> 584                           Mont-roig del Camp Principat
    +#> 585                            Montbrió del Camp Principat
    +#> 586                                       Prades Principat
    +#> 587                                      Pratdip Principat
    +#> 588                                         Reus Principat
    +#> 589                                  Riudecanyes Principat
    +#> 590                                    Riudecols Principat
    +#> 591                                      Riudoms Principat
    +#> 592         Vandellòs i l'Hospitalet de l'Infant Principat
    +#> 593                       Vilanova d'Escornalbou Principat
    +#> 594                                    Vilaplana Principat
    +#> 595                           Vinyols i els Arcs Principat
    +#> 596                                      Aldover Principat
    +#> 597                             Alfara de Carles Principat
    +#> 598                                   Benifallet Principat
    +#> 599                                     Camarles Principat
    +#> 600                                     Deltebre Principat
    +#> 601                                   el Perelló Principat
    +#> 602                                      l'Aldea Principat
    +#> 603                             l'Ametlla de Mar Principat
    +#> 604                                    l'Ampolla Principat
    +#> 605                                        Paüls Principat
    +#> 606                                     Roquetes Principat
    +#> 607                                      Tivenys Principat
    +#> 608                                      Tortosa Principat
    +#> 609                                        Xerta Principat
    +#> 610                                       Albons Principat
    +#> 611                                        Begur Principat
    +#> 612                          Bellcaire d'Empordà Principat
    +#> 613                        Calonge i Sant Antoni Principat
    +#> 614        Castell d'Aro, Platja d'Aro i s'Agaró Principat
    +#> 615                                     Colomers Principat
    +#> 616                                        Corçà Principat
    +#> 617  Cruïlles, Monells i Sant Sadurní de l'Heura Principat
    +#> 618                                        Foixà Principat
    +#> 619                                  Fontanilles Principat
    +#> 620                                   Garrigoles Principat
    +#> 621                                       Gualta Principat
    +#> 622                                        Jafre Principat
    +#> 623                          la Bisbal d'Empordà Principat
    +#> 624                                      la Pera Principat
    +#> 625                         la Tallada d'Empordà Principat
    +#> 626                                     Mont-ras Principat
    +#> 627                                  Palafrugell Principat
    +#> 628                                      Palamós Principat
    +#> 629                                  Palau-sator Principat
    +#> 630                                         Pals Principat
    +#> 631                                      Parlavà Principat
    +#> 632                                     Regencós Principat
    +#> 633                                        Rupià Principat
    +#> 634                        Sant Feliu de Guíxols Principat
    +#> 635                         Santa Cristina d'Aro Principat
    +#> 636                                Serra de Daró Principat
    +#> 637                                      Torrent Principat
    +#> 638                         Torroella de Montgrí Principat
    +#> 639                                         Ullà Principat
    +#> 640                                    Ullastret Principat
    +#> 641                                    Ultramort Principat
    +#> 642                                Vall-llobrega Principat
    +#> 643                                       Verges Principat
    +#> 644                                     Vilopriu Principat
    +#> 645             Vulpellac, Fonteta i Peratallada Principat
    +#> 646                                       Abrera Principat
    +#> 647                                       Begues Principat
    +#> 648                                Castelldefels Principat
    +#> 649                         Castellví de Rosanes Principat
    +#> 650                                     Cervelló Principat
    +#> 651                                     Collbató Principat
    +#> 652                         Corbera de Llobregat Principat
    +#> 653                        Cornellà de Llobregat Principat
    +#> 654                                    el Papiol Principat
    +#> 655                         el Prat de Llobregat Principat
    +#> 656                                 Esparreguera Principat
    +#> 657                       Esplugues de Llobregat Principat
    +#> 658                                         Gavà Principat
    +#> 659                         la Palma de Cervelló Principat
    +#> 660                                    Martorell Principat
    +#> 661                                Molins de Rei Principat
    +#> 662                          Olesa de Montserrat Principat
    +#> 663                                      Pallejà Principat
    +#> 664                      Sant Andreu de la Barca Principat
    +#> 665                        Sant Boi de Llobregat Principat
    +#> 666                    Sant Climent de Llobregat Principat
    +#> 667                       Sant Esteve Sesrovires Principat
    +#> 668                      Sant Feliu de Llobregat Principat
    +#> 669                              Sant Joan Despí Principat
    +#> 670                            Sant Just Desvern Principat
    +#> 671                       Sant Vicenç dels Horts Principat
    +#> 672                     Santa Coloma de Cervelló Principat
    +#> 673                       Torrelles de Llobregat Principat
    +#> 674                                    Vallirana Principat
    +#> 675                                   Viladecans Principat
    +#> 676                                    Albinyana Principat
    +#> 677                         Banyeres del Penedès Principat
    +#> 678                                      Bellvei Principat
    +#> 679                                     Bonastre Principat
    +#> 680                                     Calafell Principat
    +#> 681                                        Cunit Principat
    +#> 682                                  el Montmell Principat
    +#> 683                                  el Vendrell Principat
    +#> 684                                      l'Arboç Principat
    +#> 685                        la Bisbal del Penedès Principat
    +#> 686                          Llorenç del Penedès Principat
    +#> 687                                   Masllorenç Principat
    +#> 688                      Sant Jaume dels Domenys Principat
    +#> 689                                  Santa Oliva Principat
    +#> 690                                     Badalona Principat
    +#> 691                                    Barcelona Principat
    +#> 692                    l'Hospitalet de Llobregat Principat
    +#> 693                          Sant Adrià de Besòs Principat
    +#> 694                     Santa Coloma de Gramenet Principat
    +#> 695                                         Avià Principat
    +#> 696                                         Bagà Principat
    +#> 697                                        Berga Principat
    +#> 698                                      Borredà Principat
    +#> 699                                      Capolat Principat
    +#> 700                                    Casserres Principat
    +#> 701                           Castell de l'Areny Principat
    +#> 702                           Castellar de n'Hug Principat
    +#> 703                            Castellar del Riu Principat
    +#> 704                                        Cercs Principat
    +#> 705                                       Fígols Principat
    +#> 706                                    Gironella Principat
    +#> 707                                   Gisclareny Principat
    +#> 708                                        Gósol Principat
    +#> 709                        Guardiola de Berguedà Principat
    +#> 710                                  l'Espunyola Principat
    +#> 711                           la Nou de Berguedà Principat
    +#> 712                           la Pobla de Lillet Principat
    +#> 713                                      la Quar Principat
    +#> 714                                     Montclar Principat
    +#> 715                                    Montmajor Principat
    +#> 716                                        Olvan Principat
    +#> 717                                    Puig-reig Principat
    +#> 718                                        Sagàs Principat
    +#> 719                                       Saldes Principat
    +#> 720                      Sant Jaume de Frontanyà Principat
    +#> 721                     Sant Julià de Cerdanyola Principat
    +#> 722                        Santa Maria de Merlès Principat
    +#> 723                                    Vallcebre Principat
    +#> 724                                       Vilada Principat
    +#> 725                            Viver i Serrateix Principat
    +#> 726                                          Alp Principat
    +#> 727                          Bellver de Cerdanya Principat
    +#> 728                                       Bolvir Principat
    +#> 729                                          Das Principat
    +#> 730                        Fontanals de Cerdanya Principat
    +#> 731                                          Ger Principat
    +#> 732                            Guils de Cerdanya Principat
    +#> 733                                       Isòvol Principat
    +#> 734                             Lles de Cerdanya Principat
    +#> 735                                       Llívia Principat
    +#> 736                                     Meranges Principat
    +#> 737                          Montellà i Martinet Principat
    +#> 738                               Prats i Sansor Principat
    +#> 739                                     Prullans Principat
    +#> 740                                    Puigcerdà Principat
    +#> 741                              Riu de Cerdanya Principat
    +#> 742                                         Urús Principat
    +#> 743                          Barberà de la Conca Principat
    +#> 744                                   Blancafort Principat
    +#> 745                                       Conesa Principat
    +#> 746                                        Forès Principat
    +#> 747                        l'Espluga de Francolí Principat
    +#> 748                                    les Piles Principat
    +#> 749                                       Llorac Principat
    +#> 750                                    Montblanc Principat
    +#> 751                         Passanant i Belltall Principat
    +#> 752                                         Pira Principat
    +#> 753                                      Pontils Principat
    +#> 754                          Rocafort de Queralt Principat
    +#> 755                      Santa Coloma de Queralt Principat
    +#> 756                                       Sarral Principat
    +#> 757                           Savallà del Comtat Principat
    +#> 758                                        Senan Principat
    +#> 759                                    Solivella Principat
    +#> 760                                    Vallclara Principat
    +#> 761                        Vallfogona de Riucorb Principat
    +#> 762                           Vilanova de Prades Principat
    +#> 763                                     Vilaverd Principat
    +#> 764                             Vimbodí i Poblet Principat
    +#> 765                                    Canyelles Principat
    +#> 766                                     Cubelles Principat
    +#> 767                                     Olivella Principat
    +#> 768                           Sant Pere de Ribes Principat
    +#> 769                                       Sitges Principat
    +#> 770                         Vilanova i la Geltrú Principat
    +#> 771                                       Arbeca Principat
    +#> 772                                  Bellaguarda Principat
    +#> 773                                       Bovera Principat
    +#> 774                                  Castelldans Principat
    +#> 775                      Cervià de les Garrigues Principat
    +#> 776                                     el Cogul Principat
    +#> 777                                   el Soleràs Principat
    +#> 778                                  el Vilosell Principat
    +#> 779                                 els Omellons Principat
    +#> 780                                    els Torms Principat
    +#> 781                                      Fulleda Principat
    +#> 782                    Granyena de les Garrigues Principat
    +#> 783                                      Juncosa Principat
    +#> 784                                       Juneda Principat
    +#> 785                                    l'Albagés Principat
    +#> 786                                       l'Albi Principat
    +#> 787                              l'Espluga Calba Principat
    +#> 788                                  la Floresta Principat
    +#> 789                                la Granadella Principat
    +#> 790                         la Pobla de Cérvoles Principat
    +#> 791                          les Borges Blanques Principat
    +#> 792                                     Puiggròs Principat
    +#> 793                                       Tarrés Principat
    +#> 794                                      Vinaixa Principat
    +#> 795                                   Argelaguer Principat
    +#> 796                                       Besalú Principat
    +#> 797                                        Beuda Principat
    +#> 798                     Castellfollit de la Roca Principat
    +#> 799                             la Vall d'en Bas Principat
    +#> 800                            la Vall de Bianya Principat
    +#> 801                        les Planes d'Hostoles Principat
    +#> 802                                   les Preses Principat
    +#> 803                              Maià de Montcal Principat
    +#> 804                                       Mieres Principat
    +#> 805                               Montagut i Oix Principat
    +#> 806                                         Olot Principat
    +#> 807                                     Riudaura Principat
    +#> 808                             Sales de Llierca Principat
    +#> 809                      Sant Aniol de Finestres Principat
    +#> 810                      Sant Feliu de Pallerols Principat
    +#> 811                                 Sant Ferriol Principat
    +#> 812                        Sant Jaume de Llierca Principat
    +#> 813                          Sant Joan les Fonts Principat
    +#> 814                                    Santa Pau Principat
    +#> 815                                     Tortellà Principat
    +#> 816                                    Aiguaviva Principat
    +#> 817                                      Bescanó Principat
    +#> 818                                      Bordils Principat
    +#> 819                                    Campllong Principat
    +#> 820                                 Canet d'Adri Principat
    +#> 821                            Cassà de la Selva Principat
    +#> 822                                        Celrà Principat
    +#> 823                                Cervià de Ter Principat
    +#> 824                                        Flaçà Principat
    +#> 825                         Fornells de la Selva Principat
    +#> 826                                       Girona Principat
    +#> 827                                         Juià Principat
    +#> 828                                   Llagostera Principat
    +#> 829                                   Llambilles Principat
    +#> 830                                   Madremanya Principat
    +#> 831                                        Quart Principat
    +#> 832                                         Salt Principat
    +#> 833                            Sant Andreu Salou Principat
    +#> 834                                 Sant Gregori Principat
    +#> 835                          Sant Joan de Mollet Principat
    +#> 836                          Sant Jordi Desvalls Principat
    +#> 837                          Sant Julià de Ramis Principat
    +#> 838                        Sant Martí de Llémena Principat
    +#> 839                              Sant Martí Vell Principat
    +#> 840                                Sarrià de Ter Principat
    +#> 841                                  Vilablareix Principat
    +#> 842                                   Viladasens Principat
    +#> 843                                       Alpens Principat
    +#> 844                                        Lluçà Principat
    +#> 845                                        Olost Principat
    +#> 846                                       Oristà Principat
    +#> 847                                     Perafita Principat
    +#> 848                            Prats de Lluçanès Principat
    +#> 849                          Sant Martí d'Albars Principat
    +#> 850                                    Sobremunt Principat
    +#> 851                                       Alella Principat
    +#> 852                                Arenys de Mar Principat
    +#> 853                               Arenys de Munt Principat
    +#> 854                                    Argentona Principat
    +#> 855                               Cabrera de Mar Principat
    +#> 856                                      Cabrils Principat
    +#> 857                              Caldes d'Estrac Principat
    +#> 858                                      Calella Principat
    +#> 859                                 Canet de Mar Principat
    +#> 860                                      Dosrius Principat
    +#> 861                                    el Masnou Principat
    +#> 862                               Malgrat de Mar Principat
    +#> 863                                       Mataró Principat
    +#> 864                                      Montgat Principat
    +#> 865                                       Òrrius Principat
    +#> 866                                    Palafolls Principat
    +#> 867                                Pineda de Mar Principat
    +#> 868                               Premià de Dalt Principat
    +#> 869                                Premià de Mar Principat
    +#> 870                    Sant Andreu de Llavaneres Principat
    +#> 871                      Sant Cebrià de Vallalta Principat
    +#> 872                       Sant Iscle de Vallalta Principat
    +#> 873                              Sant Pol de Mar Principat
    +#> 874                       Sant Vicenç de Montalt Principat
    +#> 875                                Santa Susanna Principat
    +#> 876                                         Teià Principat
    +#> 877                                        Tiana Principat
    +#> 878                                      Tordera Principat
    +#> 879                             Vilassar de Dalt Principat
    +#> 880                              Vilassar de Mar Principat
    +#> 881                                      Calders Principat
    +#> 882                                   Castellcir Principat
    +#> 883                                Castellterçol Principat
    +#> 884                                  Collsuspina Principat
    +#> 885                                      Granera Principat
    +#> 886                                     l'Estany Principat
    +#> 887                                         Moià Principat
    +#> 888                         Monistrol de Calders Principat
    +#> 889                           Sant Quirze Safaja Principat
    +#> 890                            Santa Maria d'Oló Principat
    +#> 891                                      Alcanar Principat
    +#> 892                                      Amposta Principat
    +#> 893                                    Freginals Principat
    +#> 894                                       Godall Principat
    +#> 895                                    la Galera Principat
    +#> 896                                    la Ràpita Principat
    +#> 897                                     la Sénia Principat
    +#> 898                             Mas de Barberans Principat
    +#> 899                                  Masdenverge Principat
    +#> 900                          Sant Jaume d'Enveja Principat
    +#> 901                                Santa Bàrbara Principat
    +#> 902                                    Ulldecona Principat
    +#> 903                                         Àger Principat
    +#> 904                                       Albesa Principat
    +#> 905                                      Algerri Principat
    +#> 906                             Alòs de Balaguer Principat
    +#> 907                              Artesa de Segre Principat
    +#> 908                                     Balaguer Principat
    +#> 909                           Bellcaire d'Urgell Principat
    +#> 910                            Bellmunt d'Urgell Principat
    +#> 911                                   Cabanabona Principat
    +#> 912                                     Camarasa Principat
    +#> 913                         Castelló de Farfanya Principat
    +#> 914                                      Cubells Principat
    +#> 915                                     Foradada Principat
    +#> 916                             Ivars de Noguera Principat
    +#> 917                          la Baronia de Rialb Principat
    +#> 918                             la Sentiu de Sió Principat
    +#> 919                  les Avellanes i Santa Linya Principat
    +#> 920                                   Menàrguens Principat
    +#> 921                                      Montgai Principat
    +#> 922                                       Oliola Principat
    +#> 923                               Os de Balaguer Principat
    +#> 924                                     Penelles Principat
    +#> 925                                        Ponts Principat
    +#> 926                                     Preixens Principat
    +#> 927                                      Térmens Principat
    +#> 928                                      Tiurana Principat
    +#> 929                                   Torrelameu Principat
    +#> 930                       Vallfogona de Balaguer Principat
    +#> 931                          Vilanova de l'Aguda Principat
    +#> 932                             Vilanova de Meià Principat
    +#> 933                                      Balenyà Principat
    +#> 934                                  Calldetenes Principat
    +#> 935                                    Centelles Principat
    +#> 936                                     el Brull Principat
    +#> 937                                   Espinelves Principat
    +#> 938                                  Folgueroles Principat
    +#> 939                                         Gurb Principat
    +#> 940                                   l'Esquirol Principat
    +#> 941                           les Masies de Roda Principat
    +#> 942                       les Masies de Voltregà Principat
    +#> 943                                        Malla Principat
    +#> 944                                      Manlleu Principat
    +#> 945                                   Montesquiu Principat
    +#> 946                                   Muntanyola Principat
    +#> 947                                         Orís Principat
    +#> 948                                  Roda de Ter Principat
    +#> 949                                Rupit i Pruit Principat
    +#> 950                      Sant Agustí de Lluçanès Principat
    +#> 951                       Sant Bartomeu del Grau Principat
    +#> 952                         Sant Boi de Lluçanès Principat
    +#> 953                     Sant Hipòlit de Voltregà Principat
    +#> 954                      Sant Julià de Vilatorta Principat
    +#> 955                      Sant Martí de Centelles Principat
    +#> 956                         Sant Pere de Torelló Principat
    +#> 957                        Sant Quirze de Besora Principat
    +#> 958                      Sant Sadurní d'Osormort Principat
    +#> 959                       Sant Vicenç de Torelló Principat
    +#> 960                    Santa Cecília de Voltregà Principat
    +#> 961                       Santa Eugènia de Berga Principat
    +#> 962                   Santa Eulàlia de Riuprimer Principat
    +#> 963                        Santa Maria de Besora Principat
    +#> 964                                         Seva Principat
    +#> 965                                         Sora Principat
    +#> 966                                     Taradell Principat
    +#> 967                                   Tavèrnoles Principat
    +#> 968                                     Tavertet Principat
    +#> 969                                         Tona Principat
    +#> 970                                      Torelló Principat
    +#> 971                                          Vic Principat
    +#> 972                                        Vidrà Principat
    +#> 973                                     Viladrau Principat
    +#> 974                              Vilanova de Sau Principat
    +#> 975                           Abella de la Conca Principat
    +#> 976                               Castell de Mur Principat
    +#> 977                                Conca de Dalt Principat
    +#> 978                            Gavet de la Conca Principat
    +#> 979                          Isona i Conca Dellà Principat
    +#> 980                            la Pobla de Segur Principat
    +#> 981                         la Torre de Cabdella Principat
    +#> 982                                     Llimiana Principat
    +#> 983                             Salàs de Pallars Principat
    +#> 984                      Sant Esteve de la Sarga Principat
    +#> 985                           Sarroca de Bellera Principat
    +#> 986                                    Senterada Principat
    +#> 987                                       Talarn Principat
    +#> 988                                        Tremp Principat
    +#> 989                                        Alins Principat
    +#> 990                                     Alt Àneu Principat
    +#> 991                                 Baix Pallars Principat
    +#> 992                                        Espot Principat
    +#> 993                               Esterri d'Àneu Principat
    +#> 994                            Esterri de Cardós Principat
    +#> 995                                      Farrera Principat
    +#> 996                          la Guingueta d'Àneu Principat
    +#> 997                                     Lladorre Principat
    +#> 998                                     Llavorsí Principat
    +#> 999                                        Rialb Principat
    +#> 1000                                   Soriguera Principat
    +#> 1001                                        Sort Principat
    +#> 1002                                      Tírvia Principat
    +#> 1003                              Vall de Cardós Principat
    +#> 1004                                     Barbens Principat
    +#> 1005                          Bell-lloc d'Urgell Principat
    +#> 1006                                     Bellvís Principat
    +#> 1007                         Castellnou de Seana Principat
    +#> 1008                        el Palau d'Anglesola Principat
    +#> 1009                                     el Poal Principat
    +#> 1010                                  Fondarella Principat
    +#> 1011                                      Golmés Principat
    +#> 1012                              Ivars d'Urgell Principat
    +#> 1013                                     Linyola Principat
    +#> 1014                                   Miralcamp Principat
    +#> 1015                                  Mollerussa Principat
    +#> 1016                                     Sidamon Principat
    +#> 1017                                 Torregrossa Principat
    +#> 1018                                   Vila-sana Principat
    +#> 1019                        Vilanova de Bellpuig Principat
    +#> 1020                                    Banyoles Principat
    +#> 1021                                       Camós Principat
    +#> 1022                          Cornellà del Terri Principat
    +#> 1023                                     Crespià Principat
    +#> 1024                                   Esponellà Principat
    +#> 1025                                 Fontcoberta Principat
    +#> 1026                           Palol de Revardit Principat
    +#> 1027                                   Porqueres Principat
    +#> 1028                    Sant Miquel de Campmajor Principat
    +#> 1029                                     Serinyà Principat
    +#> 1030                                  Vilademuls Principat
    +#> 1031                        Bellmunt del Priorat Principat
    +#> 1032                                   Cabassers Principat
    +#> 1033                                    Capçanes Principat
    +#> 1034                      Cornudella de Montsant Principat
    +#> 1035                                    el Lloar Principat
    +#> 1036                                  el Masroig Principat
    +#> 1037                                    el Molar Principat
    +#> 1038                                els Guiamets Principat
    +#> 1039                                      Falset Principat
    +#> 1040                                  Gratallops Principat
    +#> 1041                       la Bisbal de Montsant Principat
    +#> 1042                                  la Figuera Principat
    +#> 1043                       la Morera de Montsant Principat
    +#> 1044                     la Torre de Fontaubella Principat
    +#> 1045                             la Vilella Alta Principat
    +#> 1046                            la Vilella Baixa Principat
    +#> 1047                                       Marçà Principat
    +#> 1048                                    Margalef Principat
    +#> 1049                                    Poboleda Principat
    +#> 1050                                     Porrera Principat
    +#> 1051                       Pradell de la Teixeta Principat
    +#> 1052                         Torroja del Priorat Principat
    +#> 1053                                 Ulldemolins Principat
    +#> 1054                                        Ascó Principat
    +#> 1055                                  Benissanet Principat
    +#> 1056                                        Flix Principat
    +#> 1057                                      Garcia Principat
    +#> 1058                                    Ginestar Principat
    +#> 1059                             la Palma d'Ebre Principat
    +#> 1060                      la Torre de l'Espanyol Principat
    +#> 1061                                     Miravet Principat
    +#> 1062                                 Móra d'Ebre Principat
    +#> 1063                                Móra la Nova Principat
    +#> 1064                                    Rasquera Principat
    +#> 1065                            Riba-roja d'Ebre Principat
    +#> 1066                                     Tivissa Principat
    +#> 1067                                     Vinebre Principat
    +#> 1068                                 Campdevànol Principat
    +#> 1069                                   Campelles Principat
    +#> 1070                                   Camprodon Principat
    +#> 1071                                     Gombrèn Principat
    +#> 1072                                 les Llosses Principat
    +#> 1073                                     Llanars Principat
    +#> 1074                                       Molló Principat
    +#> 1075                                      Ogassa Principat
    +#> 1076                                    Pardines Principat
    +#> 1077                                    Planoles Principat
    +#> 1078                                    Queralbs Principat
    +#> 1079                             Ribes de Freser Principat
    +#> 1080                                      Ripoll Principat
    +#> 1081                  Sant Joan de les Abadesses Principat
    +#> 1082                        Sant Pau de Segúries Principat
    +#> 1083                                    Setcases Principat
    +#> 1084                                       Toses Principat
    +#> 1085                      Vallfogona de Ripollès Principat
    +#> 1086                           Vilallonga de Ter Principat
    +#> 1087                                      Biosca Principat
    +#> 1088                                     Cervera Principat
    +#> 1089                            els Plans de Sió Principat
    +#> 1090                                     Estaràs Principat
    +#> 1091                                 Granyanella Principat
    +#> 1092                         Granyena de Segarra Principat
    +#> 1093                                    Guissona Principat
    +#> 1094                                      Ivorra Principat
    +#> 1095                                  les Oluges Principat
    +#> 1096                                  Massoteres Principat
    +#> 1097                         Montoliu de Segarra Principat
    +#> 1098                        Montornès de Segarra Principat
    +#> 1099                             Ribera d'Ondara Principat
    +#> 1100                                     Sanaüja Principat
    +#> 1101                      Sant Guim de Freixenet Principat
    +#> 1102                       Sant Guim de la Plana Principat
    +#> 1103                                  Sant Ramon Principat
    +#> 1104                                    Talavera Principat
    +#> 1105                          Tarroja de Segarra Principat
    +#> 1106                                        Torà Principat
    +#> 1107                       Torrefeta i Florejacs Principat
    +#> 1108                                      Aitona Principat
    +#> 1109                                  Albatàrrec Principat
    +#> 1110                                      Alcanó Principat
    +#> 1111                                    Alcarràs Principat
    +#> 1112                                   Alcoletge Principat
    +#> 1113                                    Alfarràs Principat
    +#> 1114                                       Alfés Principat
    +#> 1115                                    Alguaire Principat
    +#> 1116                                  Almacelles Principat
    +#> 1117                                    Almatret Principat
    +#> 1118                                     Almenar Principat
    +#> 1119                                     Alpicat Principat
    +#> 1120                            Artesa de Lleida Principat
    +#> 1121                                        Aspa Principat
    +#> 1122                          Benavent de Segrià Principat
    +#> 1123                                     Corbins Principat
    +#> 1124                                  els Alamús Principat
    +#> 1125               Gimenells i el Pla de la Font Principat
    +#> 1126                          la Granja d'Escarp Principat
    +#> 1127                                 la Portella Principat
    +#> 1128                                  Llardecans Principat
    +#> 1129                                      Lleida Principat
    +#> 1130                                      Maials Principat
    +#> 1131                                Massalcoreig Principat
    +#> 1132                          Montoliu de Lleida Principat
    +#> 1133                          Puigverd de Lleida Principat
    +#> 1134                                    Rosselló Principat
    +#> 1135                           Sarroca de Lleida Principat
    +#> 1136                                       Seròs Principat
    +#> 1137                                       Soses Principat
    +#> 1138                                    Sudanell Principat
    +#> 1139                                      Sunyer Principat
    +#> 1140                                Torre-serona Principat
    +#> 1141                                 Torrebesses Principat
    +#> 1142                                Torrefarrera Principat
    +#> 1143                             Torres de Segre Principat
    +#> 1144                        Vilanova de la Barca Principat
    +#> 1145                          Vilanova de Segrià Principat
    +#> 1146                                        Amer Principat
    +#> 1147                                      Anglès Principat
    +#> 1148                                    Arbúcies Principat
    +#> 1149                                      Blanes Principat
    +#> 1150                                       Breda Principat
    +#> 1151               Brunyola i Sant Martí Sapresa Principat
    +#> 1152                         Caldes de Malavella Principat
    +#> 1153                          Fogars de la Selva Principat
    +#> 1154                                   Hostalric Principat
    +#> 1155                           la Cellera de Ter Principat
    +#> 1156                               Lloret de Mar Principat
    +#> 1157                                     Maçanes Principat
    +#> 1158                         Maçanet de la Selva Principat
    +#> 1159                                        Osor Principat
    +#> 1160                            Riells i Viabrea Principat
    +#> 1161                                  Riudarenes Principat
    +#> 1162                      Riudellots de la Selva Principat
    +#> 1163                     Sant Feliu de Buixalleu Principat
    +#> 1164                          Sant Hilari Sacalm Principat
    +#> 1165               Sant Julià del Llor i Bonmatí Principat
    +#> 1166                     Santa Coloma de Farners Principat
    +#> 1167                                        Sils Principat
    +#> 1168                                    Susqueda Principat
    +#> 1169                                Tossa de Mar Principat
    +#> 1170                                    Vidreres Principat
    +#> 1171                              Vilobí d'Onyar Principat
    +#> 1172                      Castellar de la Ribera Principat
    +#> 1173                        Clariana de Cardener Principat
    +#> 1174                                     Guixers Principat
    +#> 1175                          la Coma i la Pedra Principat
    +#> 1176                                  la Molsosa Principat
    +#> 1177                                     Lladurs Principat
    +#> 1178                                     Llobera Principat
    +#> 1179                                       Navès Principat
    +#> 1180                                        Odèn Principat
    +#> 1181                                       Olius Principat
    +#> 1182                          Pinell de Solsonès Principat
    +#> 1183                                       Pinós Principat
    +#> 1184                                       Riner Principat
    +#> 1185                     Sant Llorenç de Morunys Principat
    +#> 1186                                     Solsona Principat
    +#> 1187                                   Altafulla Principat
    +#> 1188                                   Constantí Principat
    +#> 1189                                    Creixell Principat
    +#> 1190                                  el Catllar Principat
    +#> 1191                                   el Morell Principat
    +#> 1192                              els Pallaresos Principat
    +#> 1193                                  la Canonja Principat
    +#> 1194                              la Nou de Gaià Principat
    +#> 1195                         la Pobla de Mafumet Principat
    +#> 1196                       la Pobla de Montornès Principat
    +#> 1197                            la Riera de Gaià Principat
    +#> 1198                                  la Secuita Principat
    +#> 1199                                    Perafort Principat
    +#> 1200                                       Renau Principat
    +#> 1201                                Roda de Berà Principat
    +#> 1202                                      Salomó Principat
    +#> 1203                                       Salou Principat
    +#> 1204                                   Tarragona Principat
    +#> 1205                               Torredembarra Principat
    +#> 1206                            Vespella de Gaià Principat
    +#> 1207                                   Vila-seca Principat
    +#> 1208                         Vilallonga del Camp Principat
    +#> 1209                                       Arnes Principat
    +#> 1210                                       Batea Principat
    +#> 1211                                         Bot Principat
    +#> 1212                                     Caseres Principat
    +#> 1213                              Corbera d'Ebre Principat
    +#> 1214                           el Pinell de Brai Principat
    +#> 1215                                     Gandesa Principat
    +#> 1216                          Horta de Sant Joan Principat
    +#> 1217                                la Fatarella Principat
    +#> 1218                       la Pobla de Massaluca Principat
    +#> 1219                               Prat de Comte Principat
    +#> 1220                           Vilalba dels Arcs Principat
    +#> 1221                                    Agramunt Principat
    +#> 1222                                   Anglesola Principat
    +#> 1223                                    Belianes Principat
    +#> 1224                                    Bellpuig Principat
    +#> 1225                                 Castellserà Principat
    +#> 1226                                  Ciutadilla Principat
    +#> 1227                       els Omells de na Gaia Principat
    +#> 1228                                     Guimerà Principat
    +#> 1229                                  la Fuliola Principat
    +#> 1230                                       Maldà Principat
    +#> 1231                                       Nalec Principat
    +#> 1232                                 Ossó de Sió Principat
    +#> 1233                                    Preixana Principat
    +#> 1234                         Puigverd d'Agramunt Principat
    +#> 1235                       Sant Martí de Riucorb Principat
    +#> 1236                                     Tàrrega Principat
    +#> 1237                                   Tornabous Principat
    +#> 1238                      Vallbona de les Monges Principat
    +#> 1239                                       Verdú Principat
    +#> 1240                                  Vilagrassa Principat
    +#> 1241                            Badia del Vallès Principat
    +#> 1242                          Barberà del Vallès Principat
    +#> 1243                        Castellar del Vallès Principat
    +#> 1244                               Castellbisbal Principat
    +#> 1245                       Cerdanyola del Vallès Principat
    +#> 1246                                     Gallifa Principat
    +#> 1247                                  Matadepera Principat
    +#> 1248                           Montcada i Reixac Principat
    +#> 1249                    Palau-solità i Plegamans Principat
    +#> 1250                                     Polinyà Principat
    +#> 1251                                   Rellinars Principat
    +#> 1252                                    Ripollet Principat
    +#> 1253                                        Rubí Principat
    +#> 1254                                    Sabadell Principat
    +#> 1255                       Sant Cugat del Vallès Principat
    +#> 1256                         Sant Llorenç Savall Principat
    +#> 1257                      Sant Quirze del Vallès Principat
    +#> 1258                    Santa Perpètua de Mogoda Principat
    +#> 1259                                   Sentmenat Principat
    +#> 1260                                    Terrassa Principat
    +#> 1261                                  Ullastrell Principat
    +#> 1262                                  Vacarisses Principat
    +#> 1263                               Viladecavalls Principat
    +#> 1264                                  Aiguafreda Principat
    +#> 1265                     Bigues i Riells del Fai Principat
    +#> 1266                           Caldes de Montbui Principat
    +#> 1267                                     Campins Principat
    +#> 1268                                  Canovelles Principat
    +#> 1269                           Cànoves i Samalús Principat
    +#> 1270                                    Cardedeu Principat
    +#> 1271                       el Figueró i Montmany Principat
    +#> 1272                          Fogars de Montclús Principat
    +#> 1273                                  Granollers Principat
    +#> 1274                                      Gualba Principat
    +#> 1275                        l'Ametlla del Vallès Principat
    +#> 1276                                  la Garriga Principat
    +#> 1277                                 la Llagosta Principat
    +#> 1278                          la Roca del Vallès Principat
    +#> 1279                   les Franqueses del Vallès Principat
    +#> 1280                               Lliçà d'Amunt Principat
    +#> 1281                               Lliçà de Vall Principat
    +#> 1282                          Llinars del Vallès Principat
    +#> 1283                                 Martorelles Principat
    +#> 1284                           Mollet del Vallès Principat
    +#> 1285                                    Montmeló Principat
    +#> 1286                        Montornès del Vallès Principat
    +#> 1287                                    Montseny Principat
    +#> 1288                           Parets del Vallès Principat
    +#> 1289                    Sant Antoni de Vilamajor Principat
    +#> 1290                                 Sant Celoni Principat
    +#> 1291                 Sant Esteve de Palautordera Principat
    +#> 1292                       Sant Feliu de Codines Principat
    +#> 1293                  Sant Fost de Campsentelles Principat
    +#> 1294                      Sant Pere de Vilamajor Principat
    +#> 1295                    Santa Eulàlia de Ronçana Principat
    +#> 1296                  Santa Maria de Martorelles Principat
    +#> 1297                 Santa Maria de Palautordera Principat
    +#> 1298                                  Tagamanent Principat
    +#> 1299                                Vallgorguina Principat
    +#> 1300                                 Vallromanes Principat
    +#> 1301                            Vilalba Sasserra Principat
    +#> 1302                         Vilanova del Vallès Principat
    +#> 1303                                    València        PV
    +#> 1304                            Alcalà de Xivert        PV
    +#> 1305                                   Benicarló        PV
    +#> 1306                                       Càlig        PV
    +#> 1307                               Canet lo Roig        PV
    +#> 1308                           Castell de Cabres        PV
    +#> 1309                        Cervera del Maestrat        PV
    +#> 1310                                     la Jana        PV
    +#> 1311                       la Pobla de Benifassà        PV
    +#> 1312                               la Salzadella        PV
    +#> 1313                                   Peníscola        PV
    +#> 1314                                     Rossell        PV
    +#> 1315                                  Sant Jordi        PV
    +#> 1316                                  Sant Mateu        PV
    +#> 1317                          Sant Rafel del Riu        PV
    +#> 1318                   Santa Magdalena de Polpís        PV
    +#> 1319                                   Traiguera        PV
    +#> 1320                                     Vinaròs        PV
    +#> 1321                                        Xert        PV
    +#> 1322                        Guardamar del Segura        PV
    +#> 1323                                  Crevillent        PV
    +#> 1324                                         Elx        PV
    +#> 1325                                  Santa Pola        PV
    +#> 1326                      Albalat dels Tarongers        PV
    +#> 1327                        Alfara de la Baronia        PV
    +#> 1328                           Algar de Palància        PV
    +#> 1329                            Algímia d'Alfara        PV
    +#> 1330                                   Benavites        PV
    +#> 1331                      Benifairó de les Valls        PV
    +#> 1332                        Canet d'en Berenguer        PV
    +#> 1333                                   Estivella        PV
    +#> 1334                                       Faura        PV
    +#> 1335                                       Gilet        PV
    +#> 1336                                      Petrés        PV
    +#> 1337                          Quart de les Valls        PV
    +#> 1338                                    Quartell        PV
    +#> 1339                                      Sagunt        PV
    +#> 1340                                      Segart        PV
    +#> 1341                               Torres Torres        PV
    +#> 1342                                  Benaguasil        PV
    +#> 1343                                   Benissanó        PV
    +#> 1344                                      Bétera        PV
    +#> 1345                                     Casinos        PV
    +#> 1346                                    l'Eliana        PV
    +#> 1347                        la Pobla de Vallbona        PV
    +#> 1348                                      Llíria        PV
    +#> 1349                                     Nàquera        PV
    +#> 1350                                      Olocau        PV
    +#> 1351                          Riba-roja de Túria        PV
    +#> 1352                                       Serra        PV
    +#> 1353                                 Vilamarxant        PV
    +#> 1354                                       Agres        PV
    +#> 1355                                    Alcoleja        PV
    +#> 1356                                    Alcosser        PV
    +#> 1357                                    Alfafara        PV
    +#> 1358                                   Almudaina        PV
    +#> 1359                                     Balones        PV
    +#> 1360                                     Benasau        PV
    +#> 1361                                   Beniarrés        PV
    +#> 1362                                   Benilloba        PV
    +#> 1363                                    Benillup        PV
    +#> 1364                                 Benimarfull        PV
    +#> 1365                                  Benimassot        PV
    +#> 1366                                  Cocentaina        PV
    +#> 1367                                      Fageca        PV
    +#> 1368                                     Famorca        PV
    +#> 1369                                     Gaianes        PV
    +#> 1370                                       Gorga        PV
    +#> 1371                          l'Alqueria d'Asnar        PV
    +#> 1372                                      l'Orxa        PV
    +#> 1373                                     Millena        PV
    +#> 1374                                Muro d'Alcoi        PV
    +#> 1375                                      Planes        PV
    +#> 1376                               Quatretondeta        PV
    +#> 1377                                      Tollos        PV
    +#> 1378                        el Fondó de les Neus        PV
    +#> 1379                        el Fondó dels Frares        PV
    +#> 1380                                    el Pinós        PV
    +#> 1381                                  l'Alguenya        PV
    +#> 1382                                   la Romana        PV
    +#> 1383                                     Monòver        PV
    +#> 1384                                     Novelda        PV
    +#> 1385                                      Petrer        PV
    +#> 1386                                 Castellfort        PV
    +#> 1387                                  Cinctorres        PV
    +#> 1388                                  el Forcall        PV
    +#> 1389                                     Herbers        PV
    +#> 1390                          la Mata de Morella        PV
    +#> 1391                                la Todolella        PV
    +#> 1392                                     Morella        PV
    +#> 1393                                   Palanques        PV
    +#> 1394                          Portell de Morella        PV
    +#> 1395                                      Sorita        PV
    +#> 1396                                   Vallibona        PV
    +#> 1397                                  Vilafranca        PV
    +#> 1398                                    Villores        PV
    +#> 1399                                       Agost        PV
    +#> 1400                                      Aigües        PV
    +#> 1401                                     Alacant        PV
    +#> 1402                                       Busot        PV
    +#> 1403                                 el Campello        PV
    +#> 1404                     la Torre de les Maçanes        PV
    +#> 1405                                    Mutxamel        PV
    +#> 1406                         Sant Joan d'Alacant        PV
    +#> 1407                     Sant Vicent del Raspeig        PV
    +#> 1408                                      Xixona        PV
    +#> 1409                                      Costur        PV
    +#> 1410                                  Figueroles        PV
    +#> 1411                                    l'Alcora        PV
    +#> 1412                                  les Useres        PV
    +#> 1413                                     Llucena        PV
    +#> 1414                     Vistabella del Maestrat        PV
    +#> 1415                                       Xodos        PV
    +#> 1416                                       Alcoi        PV
    +#> 1417                         Banyeres de Mariola        PV
    +#> 1418                                  Benifallim        PV
    +#> 1419                                    Castalla        PV
    +#> 1420                                         Ibi        PV
    +#> 1421                                        Onil        PV
    +#> 1422                                   Penàguila        PV
    +#> 1423                                        Tibi        PV
    +#> 1424                                  Albocàsser        PV
    +#> 1425                           Ares del Maestrat        PV
    +#> 1426                       Atzeneta del Maestrat        PV
    +#> 1427                                   Benafigos        PV
    +#> 1428                                    Benassal        PV
    +#> 1429                                        Catí        PV
    +#> 1430                                       Culla        PV
    +#> 1431                               la Serratella        PV
    +#> 1432                        la Torre d'en Besora        PV
    +#> 1433                                       Tírig        PV
    +#> 1434                              Vilar de Canes        PV
    +#> 1435                                   Beneixama        PV
    +#> 1436                                        Biar        PV
    +#> 1437                            el Camp de Mirra        PV
    +#> 1438                                  la Canyada        PV
    +#> 1439                        Albalat dels Sorells        PV
    +#> 1440                                    Alboraia        PV
    +#> 1441                                    Albuixec        PV
    +#> 1442                        Alfara del Patriarca        PV
    +#> 1443                                   Almàssera        PV
    +#> 1444                        Bonrepòs i Mirambell        PV
    +#> 1445                                   Burjassot        PV
    +#> 1446                      el Puig de Santa Maria        PV
    +#> 1447                                   Emperador        PV
    +#> 1448                                       Foios        PV
    +#> 1449                                     Godella        PV
    +#> 1450                         la Pobla de Farnals        PV
    +#> 1451                                Massalfassar        PV
    +#> 1452                                Massamagrell        PV
    +#> 1453                                     Meliana        PV
    +#> 1454                                    Montcada        PV
    +#> 1455                                     Museros        PV
    +#> 1456                                     Paterna        PV
    +#> 1457                                       Puçol        PV
    +#> 1458                                 Rafelbunyol        PV
    +#> 1459                                    Rocafort        PV
    +#> 1460                           Tavernes Blanques        PV
    +#> 1461                                    Vinalesa        PV
    +#> 1462                                     Alaquàs        PV
    +#> 1463                                       Albal        PV
    +#> 1464                                    Alcàsser        PV
    +#> 1465                                      Aldaia        PV
    +#> 1466                                     Alfafar        PV
    +#> 1467                                  Benetússer        PV
    +#> 1468                                 Beniparrell        PV
    +#> 1469                                   Catarroja        PV
    +#> 1470                        Llocnou de la Corona        PV
    +#> 1471                                     Manises        PV
    +#> 1472                                  Massanassa        PV
    +#> 1473                                     Mislata        PV
    +#> 1474                                    Paiporta        PV
    +#> 1475                                     Picanya        PV
    +#> 1476                                   Picassent        PV
    +#> 1477                             Quart de Poblet        PV
    +#> 1478                                      Sedaví        PV
    +#> 1479                                       Silla        PV
    +#> 1480                                     Torrent        PV
    +#> 1481                                   Xirivella        PV
    +#> 1482                                     Barxeta        PV
    +#> 1483                                      Canals        PV
    +#> 1484                                       Cerdà        PV
    +#> 1485                                  el Genovés        PV
    +#> 1486                                    Estubeny        PV
    +#> 1487                       l'Alcúdia de Crespins        PV
    +#> 1488                       la Font de la Figuera        PV
    +#> 1489                     la Granja de la Costera        PV
    +#> 1490                           la Llosa de Ranes        PV
    +#> 1491                            Llanera de Ranes        PV
    +#> 1492                       Llocnou d'en Fenollet        PV
    +#> 1493                                     Moixent        PV
    +#> 1494                                     Montesa        PV
    +#> 1495                                     Novetlè        PV
    +#> 1496                            Rotglà i Corberà        PV
    +#> 1497                                    Torrella        PV
    +#> 1498                                     Vallada        PV
    +#> 1499                                      Vallés        PV
    +#> 1500                                      Xàtiva        PV
    +#> 1501                                    Alcalalí        PV
    +#> 1502                                  Beniarbeig        PV
    +#> 1503                                  Benidoleig        PV
    +#> 1504                                  Benigembla        PV
    +#> 1505                                    Benimeli        PV
    +#> 1506                                     Benissa        PV
    +#> 1507                                        Calp        PV
    +#> 1508                         Castell de Castells        PV
    +#> 1509                                       Dénia        PV
    +#> 1510                 el Poble Nou de Benitatxell        PV
    +#> 1511                          el Ràfol d'Almúnia        PV
    +#> 1512                                   el Verger        PV
    +#> 1513                                 els Poblets        PV
    +#> 1514                              Gata de Gorgos        PV
    +#> 1515                                   l'Atzúbia        PV
    +#> 1516                            la Vall d'Alcalà        PV
    +#> 1517                               la Vall d'Ebo        PV
    +#> 1518                        la Vall de Gallinera        PV
    +#> 1519                           la Vall de Laguar        PV
    +#> 1520                                      Llíber        PV
    +#> 1521                                       Murla        PV
    +#> 1522                                      Ondara        PV
    +#> 1523                                        Orba        PV
    +#> 1524                                     Parcent        PV
    +#> 1525                                   Pedreguer        PV
    +#> 1526                                        Pego        PV
    +#> 1527                                       Sagra        PV
    +#> 1528                         Sanet i els Negrals        PV
    +#> 1529                                      Senija        PV
    +#> 1530                                     Teulada        PV
    +#> 1531                                      Tormos        PV
    +#> 1532                                       Xàbia        PV
    +#> 1533                                        Xaló        PV
    +#> 1534                                       Altea        PV
    +#> 1535                                    Beniardà        PV
    +#> 1536                                    Benidorm        PV
    +#> 1537                                    Benifato        PV
    +#> 1538                                 Benimantell        PV
    +#> 1539                                     Bolulla        PV
    +#> 1540                         Callosa d'en Sarrià        PV
    +#> 1541                                   Confrides        PV
    +#> 1542                     el Castell de Guadalest        PV
    +#> 1543                                   Finestrat        PV
    +#> 1544                              l'Alfàs del Pi        PV
    +#> 1545                                    la Nucia        PV
    +#> 1546                              la Vila Joiosa        PV
    +#> 1547                                      Orxeta        PV
    +#> 1548                                       Polop        PV
    +#> 1549                                      Relleu        PV
    +#> 1550                                       Sella        PV
    +#> 1551                                     Tàrbena        PV
    +#> 1552                                   Almassora        PV
    +#> 1553                                  Benicàssim        PV
    +#> 1554                                     Benlloc        PV
    +#> 1555                                     Borriol        PV
    +#> 1556                                     Cabanes        PV
    +#> 1557                        Castelló de la Plana        PV
    +#> 1558                            la Pobla Tornesa        PV
    +#> 1559                      la Serra d'en Galceran        PV
    +#> 1560                       la Torre d'en Doménec        PV
    +#> 1561                              la Vall d'Alba        PV
    +#> 1562                        les Coves de Vinromà        PV
    +#> 1563                                      Orpesa        PV
    +#> 1564                           Sant Joan de Moró        PV
    +#> 1565                                 Torreblanca        PV
    +#> 1566                                   Vilafamés        PV
    +#> 1567                          Vilanova d'Alcolea        PV
    +#> 1568                                         Aín        PV
    +#> 1569                               Alfondeguilla        PV
    +#> 1570                                    Almenara        PV
    +#> 1571                                      Artana        PV
    +#> 1572                                       Betxí        PV
    +#> 1573                                    Borriana        PV
    +#> 1574                                      Eslida        PV
    +#> 1575                            l'Alcúdia de Veo        PV
    +#> 1576                                    la Llosa        PV
    +#> 1577                              la Vall d'Uixó        PV
    +#> 1578                                la Vilavella        PV
    +#> 1579                               les Alqueries        PV
    +#> 1580                                     Moncofa        PV
    +#> 1581                                       Nules        PV
    +#> 1582                                        Onda        PV
    +#> 1583                                  Ribesalbes        PV
    +#> 1584                                       Suera        PV
    +#> 1585                                       Tales        PV
    +#> 1586                                   Vila-real        PV
    +#> 1587                                      Xilxes        PV
    +#> 1588                                     Alberic        PV
    +#> 1589                         Alcàntera de Xúquer        PV
    +#> 1590                                      Alfarb        PV
    +#> 1591                                    Algemesí        PV
    +#> 1592                                     Alginet        PV
    +#> 1593                                      Alzira        PV
    +#> 1594                                     Antella        PV
    +#> 1595                                   Beneixida        PV
    +#> 1596                                    Benifaió        PV
    +#> 1597                                    Benimodo        PV
    +#> 1598                                  Benimuslem        PV
    +#> 1599                                  Carcaixent        PV
    +#> 1600                                      Càrcer        PV
    +#> 1601                                      Carlet        PV
    +#> 1602                                    Castelló        PV
    +#> 1603                                     Catadau        PV
    +#> 1604                                       Cotes        PV
    +#> 1605                                     Gavarda        PV
    +#> 1606                                  Guadassuar        PV
    +#> 1607                                   l'Alcúdia        PV
    +#> 1608                                     l'Énova        PV
    +#> 1609                             la Pobla Llarga        PV
    +#> 1610                                     Llombai        PV
    +#> 1611                                      Manuel        PV
    +#> 1612                                  Massalavés        PV
    +#> 1613                                     Montroi        PV
    +#> 1614                                  Montserrat        PV
    +#> 1615                                 Rafelguaraf        PV
    +#> 1616                                        Real        PV
    +#> 1617                                 Sant Joanet        PV
    +#> 1618                                     Sellent        PV
    +#> 1619                                     Senyera        PV
    +#> 1620                                  Sumacàrcer        PV
    +#> 1621                                       Torís        PV
    +#> 1622                        Albalat de la Ribera        PV
    +#> 1623                                  Almussafes        PV
    +#> 1624                          Benicull de Xúquer        PV
    +#> 1625                                     Corbera        PV
    +#> 1626                                     Cullera        PV
    +#> 1627                                      Favara        PV
    +#> 1628                                   Fortaleny        PV
    +#> 1629                                      Llaurí        PV
    +#> 1630                           Polinyà de Xúquer        PV
    +#> 1631                                       Riola        PV
    +#> 1632                                     Sollana        PV
    +#> 1633                                       Sueca        PV
    +#> 1634                                        Ador        PV
    +#> 1635                                     Alfauir        PV
    +#> 1636                                    Almiserà        PV
    +#> 1637                                    Almoines        PV
    +#> 1638                                        Barx        PV
    +#> 1639                                 Bellreguard        PV
    +#> 1640                                    Beniarjó        PV
    +#> 1641                   Benifairó de la Valldigna        PV
    +#> 1642                                     Beniflà        PV
    +#> 1643                                  Benirredrà        PV
    +#> 1644                 Castellonet de la Conquesta        PV
    +#> 1645                                      Daimús        PV
    +#> 1646                           el Real de Gandia        PV
    +#> 1647                                      Gandia        PV
    +#> 1648                       Guardamar de la Safor        PV
    +#> 1649                   l'Alqueria de la Comtessa        PV
    +#> 1650                         la Font d'en Carròs        PV
    +#> 1651                      Llocnou de Sant Jeroni        PV
    +#> 1652                                     Miramar        PV
    +#> 1653                                       Oliva        PV
    +#> 1654                             Palma de Gandia        PV
    +#> 1655                                     Palmera        PV
    +#> 1656                                       Piles        PV
    +#> 1657                                     Potries        PV
    +#> 1658                                  Rafelcofer        PV
    +#> 1659                                      Ròtova        PV
    +#> 1660                       Simat de la Valldigna        PV
    +#> 1661                    Tavernes de la Valldigna        PV
    +#> 1662                                  Vilallonga        PV
    +#> 1663                                      Xeraco        PV
    +#> 1664                                      Xeresa        PV
    +#> 1665                                    Agullent        PV
    +#> 1666                           Aielo de Malferit        PV
    +#> 1667                              Aielo de Rugat        PV
    +#> 1668                                     Albaida        PV
    +#> 1669                                   Alfarrasí        PV
    +#> 1670                          Atzeneta d'Albaida        PV
    +#> 1671                                     Bèlgida        PV
    +#> 1672                                      Bellús        PV
    +#> 1673                                   Beniatjar        PV
    +#> 1674                                   Benicolet        PV
    +#> 1675                                   Benigànim        PV
    +#> 1676                                   Benissoda        PV
    +#> 1677                                  Benissuera        PV
    +#> 1678                                   Bocairent        PV
    +#> 1679                                      Bufali        PV
    +#> 1680                                   Carrícola        PV
    +#> 1681                           Castelló de Rugat        PV
    +#> 1682                                  el Palomar        PV
    +#> 1683                           el Ràfol de Salem        PV
    +#> 1684                     Fontanars dels Alforins        PV
    +#> 1685                               Guadasséquies        PV
    +#> 1686                                   l'Olleria        PV
    +#> 1687                            la Pobla del Duc        PV
    +#> 1688                                    Llutxent        PV
    +#> 1689                                 Montaverner        PV
    +#> 1690                                 Montitxelvo        PV
    +#> 1691                                   Ontinyent        PV
    +#> 1692                                        Otos        PV
    +#> 1693                                       Pinet        PV
    +#> 1694                                 Quatretonda        PV
    +#> 1695                                       Rugat        PV
    +#> 1696                                       Salem        PV
    +#> 1697                                     Sempere        PV
    +#> 1698                                   Terrateig        PV
    +#> 1699                                    l'Alguer  Sardenya
    +#>                                                   name
    +#> 1                                            Naut Aran
    +#> 2                                                Arres
    +#> 3                                               Bausen
    +#> 4                                              Bossòst
    +#> 5                                              Canejan
    +#> 6                                            Es Bòrdes
    +#> 7                                                  Les
    +#> 8                                     Vielha e Mijaran
    +#> 9                                              Vilamòs
    +#> 10                 Angoustrine-Villeneuve-des-Escaldes
    +#> 11                                            Bolquère
    +#> 12                                              Dorres
    +#> 13                                                Égat
    +#> 14                                                Eyne
    +#> 15                                             Enveitg
    +#> 16                                                 Err
    +#> 17                                             Estavar
    +#> 18                              Font-Romeu-Odeillo-Via
    +#> 19                                        La Cabanasse
    +#> 20                                        Bourg-Madame
    +#> 21                                     Latour-de-Carol
    +#> 22                                                 Llo
    +#> 23                                          Mont-Louis
    +#> 24                                              Nahuja
    +#> 25                                              Osséja
    +#> 26                                   Palau-de-Cerdagne
    +#> 27                                               Porta
    +#> 28                                     Porté-Puymorens
    +#> 29                                         Saillagouse
    +#> 30                                     Sainte-Léocadie
    +#> 31                                          Targasonne
    +#> 32                                                  Ur
    +#> 33                                        Valcebollère
    +#> 34                                          Les Angles
    +#> 35                                        Fontrabiouse
    +#> 36                                         Formiguères
    +#> 37                                            Matemale
    +#> 38                                          Puyvalador
    +#> 39                                                Réal
    +#> 40                                    Ayguatébia-Talau
    +#> 41                                          Arboussols
    +#> 42                                             Campôme
    +#> 43                                         Canaveilles
    +#> 44                                             Casteil
    +#> 45                                             Catllar
    +#> 46                                 Caudiès-de-Conflent
    +#> 47                                               Sansa
    +#> 48                                     Clara-Villerach
    +#> 49                                             Codalet
    +#> 50                                               Conat
    +#> 51                               Corneilla-de-Conflent
    +#> 52                                              Escaro
    +#> 53                                  Espira-de-Conflent
    +#> 54                                             Estoher
    +#> 55                                                 Eus
    +#> 56                                             Fillols
    +#> 57                                           Finestret
    +#> 58                                        Fontpédrouse
    +#> 59                                              Fuilla
    +#> 60                                           Glorianes
    +#> 61                                                Joch
    +#> 62                                              Jujols
    +#> 63                                          La Bastide
    +#> 64                                         La Llagonne
    +#> 65                                           Los Masos
    +#> 66                                         Marquixanes
    +#> 67                                              Mantet
    +#> 68                                    Molitg-les-Bains
    +#> 69                                              Mosset
    +#> 70                                             Nohèdes
    +#> 71                                                Nyer
    +#> 72                                              Olette
    +#> 73                                             Urbanya
    +#> 74                                             Oreilla
    +#> 75                                                  Py
    +#> 76                                              Planès
    +#> 77                                              Prades
    +#> 78                                             Railleu
    +#> 79                                          Ria-Sirach
    +#> 80                                             Rigarda
    +#> 81                                               Rodès
    +#> 82                                        Saint-Marsal
    +#> 83                           Saint-Pierre-dels-Forcats
    +#> 84                                             Sahorre
    +#> 85                                               Sauto
    +#> 86                                            Serdinya
    +#> 87                                            Souanyas
    +#> 88                                            Tarerach
    +#> 89                                            Taurinya
    +#> 90                                   Thuès-Entre-Valls
    +#> 91                                         Baillestavy
    +#> 92                                            Valmanya
    +#> 93                                    Vernet-les-Bains
    +#> 94                            Villefranche-de-Conflent
    +#> 95                                               Vinça
    +#> 96                                            Ansignan
    +#> 97                                             Bélesta
    +#> 98                                           Campoussy
    +#> 99                                            Caramany
    +#> 100                                          Cassagnes
    +#> 101                            Caudiès-de-Fenouillèdes
    +#> 102                                        Saint-Arnac
    +#> 103                                          Le Vivier
    +#> 104                                           Feilluns
    +#> 105                                         Fenouillet
    +#> 106                                              Fosse
    +#> 107                                          Lesquerde
    +#> 108                                   Latour-de-France
    +#> 109                                             Lansac
    +#> 110                                              Maury
    +#> 111                                Montalba-le-Château
    +#> 112                                Pézilla-de-Conflent
    +#> 113                                           Planèzes
    +#> 114                                   Prats-de-Sournia
    +#> 115                                          Prugnanes
    +#> 116                                         Rasiguères
    +#> 117                                         Rabouillet
    +#> 118                         Saint-Martin-de-Fenouillet
    +#> 119                           Saint-Paul-de-Fenouillet
    +#> 120                                            Sournia
    +#> 121                                         Trévillach
    +#> 122                                             Trilla
    +#> 123                                               Vira
    +#> 124                                             Alénya
    +#> 125                                    Argelès-sur-Mer
    +#> 126                                              Bages
    +#> 127                                             Baixas
    +#> 128                                    Banyuls-sur-Mer
    +#> 129                                Banyuls-dels-Aspres
    +#> 130                                               Baho
    +#> 131                                             Bompas
    +#> 132                                           Brouilla
    +#> 133                                      Boule-d'Amont
    +#> 134                                       Bouleternère
    +#> 135                                          Cabestany
    +#> 136                                              Calce
    +#> 137                                         Calmeilles
    +#> 138                                            Camélas
    +#> 139                                Canet-en-Roussillon
    +#> 140                                            Canohès
    +#> 141                                          Casefabre
    +#> 142                                      Cases-de-Pène
    +#> 143                                          Castelnou
    +#> 144                                            Cerbère
    +#> 145                                             Claira
    +#> 146                                            Corbère
    +#> 147                               Corneilla-la-Rivière
    +#> 148                               Corneilla-del-Vercol
    +#> 149                                          Collioure
    +#> 150                                        Le Barcarès
    +#> 151                                           Le Soler
    +#> 152                                          Le Boulou
    +#> 153                                               Elne
    +#> 154                                   Espira-de-l'Agly
    +#> 155                                            Estagel
    +#> 156                                           Fourques
    +#> 157                                       Ille-sur-Têt
    +#> 158                                Corbère-les-Cabanes
    +#> 159                                Laroque-des-Albères
    +#> 160                                    Latour-Bas-Elne
    +#> 161                                             Llauro
    +#> 162                                             Llupia
    +#> 163                                             Millas
    +#> 164                                          Montescot
    +#> 165                            Montesquieu-des-Albères
    +#> 166                                            Montner
    +#> 167                                         Montauriol
    +#> 168                                            Néfiach
    +#> 169                                                Oms
    +#> 170                                     Opoul-Périllos
    +#> 171                                            Ortaffa
    +#> 172                                              Passa
    +#> 173                                    Palau-del-Vidre
    +#> 174                                       Peyrestortes
    +#> 175                                          Perpignan
    +#> 176                                 Pézilla-la-Rivière
    +#> 177                                                Pia
    +#> 178                                         Pollestres
    +#> 179                                          Ponteilla
    +#> 180                                       Port-Vendres
    +#> 181                                  Prunet-et-Belpuig
    +#> 182                                             Caixas
    +#> 183                                         Rivesaltes
    +#> 184                                          Saleilles
    +#> 185                                  Salses-le-Château
    +#> 186                                        Saint-André
    +#> 187                                      Saint-Cyprien
    +#> 188                                       Saint-Estève
    +#> 189                                Saint-Féliu-d'Amont
    +#> 190                                Saint-Féliu-d'Avall
    +#> 191                          Saint-Génis-des-Fontaines
    +#> 192                                    Saint-Hippolyte
    +#> 193                               Saint-Jean-Lasseille
    +#> 194                       Saint-Laurent-de-la-Salanque
    +#> 195                             Saint-Michel-de-Llotes
    +#> 196                                      Saint-Nazaire
    +#> 197                   Sainte-Colombe-de-la-Commanderie
    +#> 198                                Sainte-Marie-la-Mer
    +#> 199                                             Sorède
    +#> 200                                           Tautavel
    +#> 201                                            Terrats
    +#> 202                                              Théza
    +#> 203                                          Toulouges
    +#> 204                                           Tordères
    +#> 205                                         Torreilles
    +#> 206                                          Tresserre
    +#> 207                                          Trouillas
    +#> 208                                              Thuir
    +#> 209                         Villelongue-de-la-Salanque
    +#> 210                             Villelongue-dels-Monts
    +#> 211                                       Villemolaque
    +#> 212                              Villeneuve-la-Rivière
    +#> 213                              Villeneuve-de-la-Raho
    +#> 214                                            Vingrau
    +#> 215                                     Arles-sur-Tech
    +#> 216                                              Céret
    +#> 217                                            Corsavy
    +#> 218                                         Coustouges
    +#> 219                                         Le Perthus
    +#> 220                                            Le Tech
    +#> 221                           Amélie-les-Bains-Palalda
    +#> 222                                           L'Albère
    +#> 223                                           Lamanère
    +#> 224                                         Les Cluses
    +#> 225                                           Montbolo
    +#> 226                                         Montferrer
    +#> 227                               Maureillas-las-Illas
    +#> 228                           Prats-de-Mollo-la-Preste
    +#> 229                                             Reynès
    +#> 230                            Saint-Jean-Pla-de-Corts
    +#> 231                           Saint-Laurent-de-Cerdans
    +#> 232                                        Serralongue
    +#> 233                                            Taillet
    +#> 234                                             Taulis
    +#> 235                                              Vivès
    +#> 236                  Aguaviva / Aiguaviva de Bergantes
    +#> 237          Belmonte de San José / Bellmunt de Mesquí
    +#> 238          La Cañada de Verich / la Canyada de Beric
    +#> 239                         La Codoñera / la Codonyera
    +#> 240                        La Ginebrosa / la Ginebrosa
    +#> 241                        La Cerollera / la Sorollera
    +#> 242                    Torrevelilla / Torre de Vilella
    +#> 243                                       Fayón / Faió
    +#> 244                                    Fabara / Favara
    +#> 245                                             Maella
    +#> 246                                   Nonaspe / Nonasp
    +#> 247                                              Fraga
    +#> 248                            Mequinenza / Mequinensa
    +#> 249                                     Zaidín / Saidí
    +#> 250               Torrente de Cinca / Torrent de Cinca
    +#> 251                                   Velilla de Cinca
    +#> 252                                            Albelda
    +#> 253                                             Baells
    +#> 254                                        Camporrells
    +#> 255                        Castillonroy / Castellonroi
    +#> 256                             Alcampell / el Campell
    +#> 257                            Altorricón / el Torricó
    +#> 258                                Peralta de Calasanz
    +#> 259     San Esteban de Litera / Sant Esteve de Llitera
    +#> 260                                       Azanuy-Alins
    +#> 261            Tamarite de Litera / Tamarit de Llitera
    +#> 262                              Baldellou / Valdellou
    +#> 263                               Vencillón / Vensilló
    +#> 264                   Arens de Lledó / Arenys de Lledó
    +#> 265                                   Beceite / Beseit
    +#> 266                               Calaceite / Calaceit
    +#> 267                        Fuentespalda / Fontdespatla
    +#> 268                                 Fórnoles / Fórnols
    +#> 269                         La Fresneda / la Freixneda
    +#> 270                                      La Portellada
    +#> 271              Torre del Compte / la Torre del Comte
    +#> 272                    Valdeltormo / la Vall del Tormo
    +#> 273                             Lledó / Lledó d'Algars
    +#> 274                                Mazaleón / Massalió
    +#> 275                                 Monroyo / Montroig
    +#> 276    Peñarroya de Tastavins / Pena-roja de Tastavins
    +#> 277                                  Cretas / Queretes
    +#> 278                                   Ráfales / Ràfels
    +#> 279                      Torre de Arcas / Torredarques
    +#> 280                      Valderrobres / Vall de Roures
    +#> 281                         Valjunquera / Valljunquera
    +#> 282                            Arén / Areny de Noguera
    +#> 283                              Benabarre / Benavarri
    +#> 284                                            Beranuy
    +#> 285                                            Bonansa
    +#> 286                                         Castigaleu
    +#> 287                 Estopiñán del Castillo / Estopanyà
    +#> 288                                            Isábena
    +#> 289                              Lascuarre / Lasquarri
    +#> 290                              Laspaúles / Les Paüls
    +#> 291             Monesma y Cajigar / Monesma i Caixigar
    +#> 292                                Montanuy / Montanui
    +#> 293           Puente de Montañana / Pont de Montanyana
    +#> 294                                            Sopeira
    +#> 295                                      Tolva / Tolba
    +#> 296                                    Torre la Ribera
    +#> 297                 Viacamp y Litera/Viacamp i Lliterà
    +#> 298                                            Eivissa
    +#> 299                            Sant Antoni de Portmany
    +#> 300                              Sant Joan de Labritja
    +#> 301                            Sant Josep de sa Talaia
    +#> 302                              Santa Eulària des Riu
    +#> 303                                         Formentera
    +#> 304                                               Artà
    +#> 305                                          Capdepera
    +#> 306                                            Manacor
    +#> 307                         Sant Llorenç des Cardassar
    +#> 308                                        Son Servera
    +#> 309                                             Alaior
    +#> 310                                         Ciutadella
    +#> 311                                         es Castell
    +#> 312                                        es Mercadal
    +#> 313                                    es Migjorn Gran
    +#> 314                                          Ferreries
    +#> 315                                                Maó
    +#> 316                                         Sant Lluís
    +#> 317                                             Campos
    +#> 318                                           Felanitx
    +#> 319                                          Llucmajor
    +#> 320                                           Santanyí
    +#> 321                                        ses Salines
    +#> 322                                              Palma
    +#> 323                                            Algaida
    +#> 324                                             Ariany
    +#> 325                                            Costitx
    +#> 326                               Lloret de Vistalegre
    +#> 327                                              Llubí
    +#> 328                                  Maria de la Salut
    +#> 329                                           Montuïri
    +#> 330                                               Muro
    +#> 331                                              Petra
    +#> 332                                           Porreres
    +#> 333                                          Sant Joan
    +#> 334                                      Santa Eugènia
    +#> 335                                    Santa Margalida
    +#> 336                                          Sencelles
    +#> 337                                              Sineu
    +#> 338                               Vilafranca de Bonany
    +#> 339                                              Alaró
    +#> 340                                            Alcúdia
    +#> 341                                         Binissalem
    +#> 342                                              Búger
    +#> 343                                           Campanet
    +#> 344                                            Consell
    +#> 345                                               Inca
    +#> 346                                            Lloseta
    +#> 347                                  Mancor de la Vall
    +#> 348                                           Marratxí
    +#> 349                                           sa Pobla
    +#> 350                               Santa Maria del Camí
    +#> 351                                              Selva
    +#> 352                                            Andratx
    +#> 353                                        Banyalbufar
    +#> 354                                            Bunyola
    +#> 355                                             Calvià
    +#> 356                                               Deià
    +#> 357                                            Escorca
    +#> 358                                           Esporles
    +#> 359                                         Estellencs
    +#> 360                                          Fornalutx
    +#> 361                                           Pollença
    +#> 362                                        Puigpunyent
    +#> 363                                             Sóller
    +#> 364                                        Valldemossa
    +#> 365                                        Aiguamúrcia
    +#> 366                                            Alcover
    +#> 367                                               Alió
    +#> 368                                             Bràfim
    +#> 369                                     Cabra del Camp
    +#> 370                                            el Milà
    +#> 371                              el Pla de Santa Maria
    +#> 372                                el Pont d'Armentera
    +#> 373                                         el Rourell
    +#> 374                                      els Garidells
    +#> 375                                 Figuerola del Camp
    +#> 376                                            la Masó
    +#> 377                                            la Riba
    +#> 378                                           Mont-ral
    +#> 379                                          Montferri
    +#> 380                                             Nulles
    +#> 381                                          Puigpelat
    +#> 382                                             Querol
    +#> 383                                            Rodonyà
    +#> 384                                           Vallmoll
    +#> 385                                              Valls
    +#> 386                                        Vila-rodona
    +#> 387                                          Vilabella
    +#> 388                                           Agullana
    +#> 389                                            Albanyà
    +#> 390                            Avinyonet de Puigventós
    +#> 391                                            Bàscara
    +#> 392                                              Biure
    +#> 393                            Boadella i les Escaules
    +#> 394                                           Borrassà
    +#> 395                                         Cabanelles
    +#> 396                                            Cabanes
    +#> 397                                           Cadaqués
    +#> 398                                            Capmany
    +#> 399                                         Cantallops
    +#> 400                                Castelló d'Empúries
    +#> 401                                           Cistella
    +#> 402                                             Colera
    +#> 403                                            Darnius
    +#> 404                                   el Far d'Empordà
    +#> 405                                el Port de la Selva
    +#> 406                                            Espolla
    +#> 407                                           Figueres
    +#> 408                                             Fortià
    +#> 409                                           Garrigàs
    +#> 410                                        Garriguella
    +#> 411                                        l'Armentera
    +#> 412                                           l'Escala
    +#> 413                                        la Jonquera
    +#> 414                                    la Selva de Mar
    +#> 415                                           la Vajol
    +#> 416                                             Llançà
    +#> 417                                              Lladó
    +#> 418                                              Llers
    +#> 419                                Maçanet de Cabrenys
    +#> 420                               Masarac i Vilarnadal
    +#> 421                                 Mollet de Peralada
    +#> 422                                             Navata
    +#> 423                                              Ordis
    +#> 424                             Palau de Santa Eulàlia
    +#> 425                                    Palau-saverdera
    +#> 426                                                Pau
    +#> 427                                     Pedret i Marzà
    +#> 428                                           Peralada
    +#> 429                                     Pont de Molins
    +#> 430                                             Pontós
    +#> 431                                            Portbou
    +#> 432                                              Rabós
    +#> 433                                            Riumors
    +#> 434                                              Roses
    +#> 435                              Sant Climent Sescebes
    +#> 436                            Sant Llorenç de la Muga
    +#> 437                              Sant Miquel de Fluvià
    +#> 438                                          Sant Mori
    +#> 439                                 Sant Pere Pescador
    +#> 440                            Santa Llogaia d'Àlguema
    +#> 441                        Saus, Camallera i Llampaies
    +#> 442                                            Siurana
    +#> 443                                           Terrades
    +#> 444                                Torroella de Fluvià
    +#> 445                                           Ventalló
    +#> 446                                         Vila-sacra
    +#> 447                                        Vilabertran
    +#> 448                                          Viladamat
    +#> 449                                           Vilafant
    +#> 450                                          Vilajuïga
    +#> 451                                        Vilamacolum
    +#> 452                                          Vilamalla
    +#> 453                                       Vilamaniscle
    +#> 454                                           Vilanant
    +#> 455                                             Vilaür
    +#> 456                              Avinyonet del Penedès
    +#> 457                              Castellet i la Gornal
    +#> 458                              Castellví de la Marca
    +#> 459                                 el Pla del Penedès
    +#> 460                                          Font-rubí
    +#> 461                                             Gelida
    +#> 462                                         la Granada
    +#> 463                                       les Cabanyes
    +#> 464                                            Mediona
    +#> 465                                           Olèrdola
    +#> 466                                Olesa de Bonesvalls
    +#> 467                                   Pacs del Penedès
    +#> 468                                            Pontons
    +#> 469                                         Puigdàlber
    +#> 470                            Sant Cugat Sesgarrigues
    +#> 471                             Sant Llorenç d'Hortons
    +#> 472                                 Sant Martí Sarroca
    +#> 473                          Sant Pere de Riudebitlles
    +#> 474                             Sant Quintí de Mediona
    +#> 475                               Sant Sadurní d'Anoia
    +#> 476                               Santa Fe del Penedès
    +#> 477                       Santa Margarida i els Monjos
    +#> 478                                           Subirats
    +#> 479                                         Torrelavit
    +#> 480                                  Torrelles de Foix
    +#> 481                             Vilafranca del Penedès
    +#> 482                                 Vilobí del Penedès
    +#> 483                                        Alàs i Cerc
    +#> 484                                           Arsèguel
    +#> 485                                           Bassella
    +#> 486                                               Cabó
    +#> 487                                               Cava
    +#> 488                                      Coll de Nargó
    +#> 489                                     el Pont de Bar
    +#> 490                                          Estamariu
    +#> 491                                    Fígols i Alinyà
    +#> 492                                      Josa i Tuixén
    +#> 493                                    la Seu d'Urgell
    +#> 494                                 la Vansa i Fórnols
    +#> 495                                les Valls d'Aguilar
    +#> 496                                les Valls de Valira
    +#> 497                             Montferrer i Castellbò
    +#> 498                                             Oliana
    +#> 499                                            Organyà
    +#> 500                                           Peramola
    +#> 501                                  Ribera d'Urgellet
    +#> 502                                   el Pont de Suert
    +#> 503                                     la Vall de Boí
    +#> 504                                           Vilaller
    +#> 505                                          Argençola
    +#> 506                                           Bellprat
    +#> 507                                    Cabrera d'Anoia
    +#> 508                                              Calaf
    +#> 509                                 Calonge de Segarra
    +#> 510                                         Capellades
    +#> 511                                              Carme
    +#> 512                         Castellfollit de Riubregós
    +#> 513                                         Castellolí
    +#> 514                                             Copons
    +#> 515                                            el Bruc
    +#> 516                           els Hostalets de Pierola
    +#> 517                                   els Prats de Rei
    +#> 518                                           Igualada
    +#> 519                                              Jorba
    +#> 520                                         la Llacuna
    +#> 521                              la Pobla de Claramunt
    +#> 522                              la Torre de Claramunt
    +#> 523                                           Masquefa
    +#> 524                                          Montmaneu
    +#> 525                                              Òdena
    +#> 526                                               Orpí
    +#> 527                                              Piera
    +#> 528                                             Pujalt
    +#> 529                                              Rubió
    +#> 530                                 Sant Martí de Tous
    +#> 531                             Sant Martí Sesgueioles
    +#> 532                              Sant Pere Sallavinera
    +#> 533                         Santa Margarida de Montbui
    +#> 534                            Santa Maria de Miralles
    +#> 535                                   Vallbona d'Anoia
    +#> 536                                            Veciana
    +#> 537                                  Vilanova del Camí
    +#> 538                                 Aguilar de Segarra
    +#> 539                                              Artés
    +#> 540                                             Avinyó
    +#> 541                                          Balsareny
    +#> 542                                             Callús
    +#> 543                                            Cardona
    +#> 544                             Castellbell i el Vilar
    +#> 545                             Castellfollit del Boix
    +#> 546                                        Castellgalí
    +#> 547                                Castellnou de Bages
    +#> 548                     el Pont de Vilomara i Rocafort
    +#> 549                                          Fonollosa
    +#> 550                                               Gaià
    +#> 551                                            Manresa
    +#> 552                                          Marganell
    +#> 553                            Monistrol de Montserrat
    +#> 554                                               Mura
    +#> 555                                          Navarcles
    +#> 556                                              Navàs
    +#> 557                                           Rajadell
    +#> 558                                            Sallent
    +#> 559                                Sant Feliu Sasserra
    +#> 560                              Sant Fruitós de Bages
    +#> 561                           Sant Joan de Vilatorrada
    +#> 562                                Sant Mateu de Bages
    +#> 563                         Sant Salvador de Guardiola
    +#> 564                           Sant Vicenç de Castellet
    +#> 565                                          Santpedor
    +#> 566                                              Súria
    +#> 567                                          Talamanca
    +#> 568                                            Alforja
    +#> 569                                           Almoster
    +#> 570                                             Arbolí
    +#> 571                                           Botarell
    +#> 572                                           Cambrils
    +#> 573                                          Capafonts
    +#> 574                               Castellvell del Camp
    +#> 575                                          Colldejou
    +#> 576                                         Duesaigües
    +#> 577                                           l'Albiol
    +#> 578                                          l'Aleixar
    +#> 579                                        l'Argentera
    +#> 580                                           la Febró
    +#> 581                                  la Selva del Camp
    +#> 582                                les Borges del Camp
    +#> 583                                          Maspujols
    +#> 584                                 Mont-roig del Camp
    +#> 585                                  Montbrió del Camp
    +#> 586                                             Prades
    +#> 587                                            Pratdip
    +#> 588                                               Reus
    +#> 589                                        Riudecanyes
    +#> 590                                          Riudecols
    +#> 591                                            Riudoms
    +#> 592               Vandellòs i l'Hospitalet de l'Infant
    +#> 593                             Vilanova d'Escornalbou
    +#> 594                                          Vilaplana
    +#> 595                                 Vinyols i els Arcs
    +#> 596                                            Aldover
    +#> 597                                   Alfara de Carles
    +#> 598                                         Benifallet
    +#> 599                                           Camarles
    +#> 600                                           Deltebre
    +#> 601                                         el Perelló
    +#> 602                                            l'Aldea
    +#> 603                                   l'Ametlla de Mar
    +#> 604                                          l'Ampolla
    +#> 605                                              Paüls
    +#> 606                                           Roquetes
    +#> 607                                            Tivenys
    +#> 608                                            Tortosa
    +#> 609                                              Xerta
    +#> 610                                             Albons
    +#> 611                                              Begur
    +#> 612                                Bellcaire d'Empordà
    +#> 613                              Calonge i Sant Antoni
    +#> 614              Castell d'Aro, Platja d'Aro i s'Agaró
    +#> 615                                           Colomers
    +#> 616                                              Corçà
    +#> 617        Cruïlles, Monells i Sant Sadurní de l'Heura
    +#> 618                                              Foixà
    +#> 619                                        Fontanilles
    +#> 620                                         Garrigoles
    +#> 621                                             Gualta
    +#> 622                                              Jafre
    +#> 623                                la Bisbal d'Empordà
    +#> 624                                            la Pera
    +#> 625                               la Tallada d'Empordà
    +#> 626                                           Mont-ras
    +#> 627                                        Palafrugell
    +#> 628                                            Palamós
    +#> 629                                        Palau-sator
    +#> 630                                               Pals
    +#> 631                                            Parlavà
    +#> 632                                           Regencós
    +#> 633                                              Rupià
    +#> 634                              Sant Feliu de Guíxols
    +#> 635                               Santa Cristina d'Aro
    +#> 636                                      Serra de Daró
    +#> 637                                            Torrent
    +#> 638                               Torroella de Montgrí
    +#> 639                                               Ullà
    +#> 640                                          Ullastret
    +#> 641                                          Ultramort
    +#> 642                                      Vall-llobrega
    +#> 643                                             Verges
    +#> 644                                           Vilopriu
    +#> 645                                           Forallac
    +#> 646                                             Abrera
    +#> 647                                             Begues
    +#> 648                                      Castelldefels
    +#> 649                               Castellví de Rosanes
    +#> 650                                           Cervelló
    +#> 651                                           Collbató
    +#> 652                               Corbera de Llobregat
    +#> 653                              Cornellà de Llobregat
    +#> 654                                          el Papiol
    +#> 655                               el Prat de Llobregat
    +#> 656                                       Esparreguera
    +#> 657                             Esplugues de Llobregat
    +#> 658                                               Gavà
    +#> 659                               la Palma de Cervelló
    +#> 660                                          Martorell
    +#> 661                                      Molins de Rei
    +#> 662                                Olesa de Montserrat
    +#> 663                                            Pallejà
    +#> 664                            Sant Andreu de la Barca
    +#> 665                              Sant Boi de Llobregat
    +#> 666                          Sant Climent de Llobregat
    +#> 667                             Sant Esteve Sesrovires
    +#> 668                            Sant Feliu de Llobregat
    +#> 669                                    Sant Joan Despí
    +#> 670                                  Sant Just Desvern
    +#> 671                             Sant Vicenç dels Horts
    +#> 672                           Santa Coloma de Cervelló
    +#> 673                             Torrelles de Llobregat
    +#> 674                                          Vallirana
    +#> 675                                         Viladecans
    +#> 676                                          Albinyana
    +#> 677                               Banyeres del Penedès
    +#> 678                                            Bellvei
    +#> 679                                           Bonastre
    +#> 680                                           Calafell
    +#> 681                                              Cunit
    +#> 682                                        el Montmell
    +#> 683                                        el Vendrell
    +#> 684                                            l'Arboç
    +#> 685                              la Bisbal del Penedès
    +#> 686                                Llorenç del Penedès
    +#> 687                                         Masllorenç
    +#> 688                            Sant Jaume dels Domenys
    +#> 689                                        Santa Oliva
    +#> 690                                           Badalona
    +#> 691                                          Barcelona
    +#> 692                          l'Hospitalet de Llobregat
    +#> 693                                Sant Adrià de Besòs
    +#> 694                           Santa Coloma de Gramenet
    +#> 695                                               Avià
    +#> 696                                               Bagà
    +#> 697                                              Berga
    +#> 698                                            Borredà
    +#> 699                                            Capolat
    +#> 700                                          Casserres
    +#> 701                                 Castell de l'Areny
    +#> 702                                 Castellar de n'Hug
    +#> 703                                  Castellar del Riu
    +#> 704                                              Cercs
    +#> 705                                             Fígols
    +#> 706                                          Gironella
    +#> 707                                         Gisclareny
    +#> 708                                              Gósol
    +#> 709                              Guardiola de Berguedà
    +#> 710                                        l'Espunyola
    +#> 711                                 la Nou de Berguedà
    +#> 712                                 la Pobla de Lillet
    +#> 713                                            la Quar
    +#> 714                                           Montclar
    +#> 715                                          Montmajor
    +#> 716                                              Olvan
    +#> 717                                          Puig-reig
    +#> 718                                              Sagàs
    +#> 719                                             Saldes
    +#> 720                            Sant Jaume de Frontanyà
    +#> 721                           Sant Julià de Cerdanyola
    +#> 722                              Santa Maria de Merlès
    +#> 723                                          Vallcebre
    +#> 724                                             Vilada
    +#> 725                                  Viver i Serrateix
    +#> 726                                                Alp
    +#> 727                                Bellver de Cerdanya
    +#> 728                                             Bolvir
    +#> 729                                                Das
    +#> 730                              Fontanals de Cerdanya
    +#> 731                                                Ger
    +#> 732                                  Guils de Cerdanya
    +#> 733                                             Isòvol
    +#> 734                                   Lles de Cerdanya
    +#> 735                                             Llívia
    +#> 736                                           Meranges
    +#> 737                                Montellà i Martinet
    +#> 738                                     Prats i Sansor
    +#> 739                                           Prullans
    +#> 740                                          Puigcerdà
    +#> 741                                    Riu de Cerdanya
    +#> 742                                               Urús
    +#> 743                                Barberà de la Conca
    +#> 744                                         Blancafort
    +#> 745                                             Conesa
    +#> 746                                              Forès
    +#> 747                              l'Espluga de Francolí
    +#> 748                                          les Piles
    +#> 749                                             Llorac
    +#> 750                                          Montblanc
    +#> 751                               Passanant i Belltall
    +#> 752                                               Pira
    +#> 753                                            Pontils
    +#> 754                                Rocafort de Queralt
    +#> 755                            Santa Coloma de Queralt
    +#> 756                                             Sarral
    +#> 757                                 Savallà del Comtat
    +#> 758                                              Senan
    +#> 759                                          Solivella
    +#> 760                                          Vallclara
    +#> 761                              Vallfogona de Riucorb
    +#> 762                                 Vilanova de Prades
    +#> 763                                           Vilaverd
    +#> 764                                   Vimbodí i Poblet
    +#> 765                                          Canyelles
    +#> 766                                           Cubelles
    +#> 767                                           Olivella
    +#> 768                                 Sant Pere de Ribes
    +#> 769                                             Sitges
    +#> 770                               Vilanova i la Geltrú
    +#> 771                                             Arbeca
    +#> 772                                        Bellaguarda
    +#> 773                                             Bovera
    +#> 774                                        Castelldans
    +#> 775                            Cervià de les Garrigues
    +#> 776                                           el Cogul
    +#> 777                                         el Soleràs
    +#> 778                                        el Vilosell
    +#> 779                                       els Omellons
    +#> 780                                          els Torms
    +#> 781                                            Fulleda
    +#> 782                          Granyena de les Garrigues
    +#> 783                                            Juncosa
    +#> 784                                             Juneda
    +#> 785                                          l'Albagés
    +#> 786                                             l'Albi
    +#> 787                                    l'Espluga Calba
    +#> 788                                        la Floresta
    +#> 789                                      la Granadella
    +#> 790                               la Pobla de Cérvoles
    +#> 791                                les Borges Blanques
    +#> 792                                           Puiggròs
    +#> 793                                             Tarrés
    +#> 794                                            Vinaixa
    +#> 795                                         Argelaguer
    +#> 796                                             Besalú
    +#> 797                                              Beuda
    +#> 798                           Castellfollit de la Roca
    +#> 799                                   la Vall d'en Bas
    +#> 800                                  la Vall de Bianya
    +#> 801                              les Planes d'Hostoles
    +#> 802                                         les Preses
    +#> 803                                    Maià de Montcal
    +#> 804                                             Mieres
    +#> 805                                     Montagut i Oix
    +#> 806                                               Olot
    +#> 807                                           Riudaura
    +#> 808                                   Sales de Llierca
    +#> 809                            Sant Aniol de Finestres
    +#> 810                            Sant Feliu de Pallerols
    +#> 811                                       Sant Ferriol
    +#> 812                              Sant Jaume de Llierca
    +#> 813                                Sant Joan les Fonts
    +#> 814                                          Santa Pau
    +#> 815                                           Tortellà
    +#> 816                                          Aiguaviva
    +#> 817                                            Bescanó
    +#> 818                                            Bordils
    +#> 819                                          Campllong
    +#> 820                                       Canet d'Adri
    +#> 821                                  Cassà de la Selva
    +#> 822                                              Celrà
    +#> 823                                      Cervià de Ter
    +#> 824                                              Flaçà
    +#> 825                               Fornells de la Selva
    +#> 826                                             Girona
    +#> 827                                               Juià
    +#> 828                                         Llagostera
    +#> 829                                         Llambilles
    +#> 830                                         Madremanya
    +#> 831                                              Quart
    +#> 832                                               Salt
    +#> 833                                  Sant Andreu Salou
    +#> 834                                       Sant Gregori
    +#> 835                                Sant Joan de Mollet
    +#> 836                                Sant Jordi Desvalls
    +#> 837                                Sant Julià de Ramis
    +#> 838                              Sant Martí de Llémena
    +#> 839                                    Sant Martí Vell
    +#> 840                                      Sarrià de Ter
    +#> 841                                        Vilablareix
    +#> 842                                         Viladasens
    +#> 843                                             Alpens
    +#> 844                                              Lluçà
    +#> 845                                              Olost
    +#> 846                                             Oristà
    +#> 847                                           Perafita
    +#> 848                                  Prats de Lluçanès
    +#> 849                                Sant Martí d'Albars
    +#> 850                                          Sobremunt
    +#> 851                                             Alella
    +#> 852                                      Arenys de Mar
    +#> 853                                     Arenys de Munt
    +#> 854                                          Argentona
    +#> 855                                     Cabrera de Mar
    +#> 856                                            Cabrils
    +#> 857                                    Caldes d'Estrac
    +#> 858                                            Calella
    +#> 859                                       Canet de Mar
    +#> 860                                            Dosrius
    +#> 861                                          el Masnou
    +#> 862                                     Malgrat de Mar
    +#> 863                                             Mataró
    +#> 864                                            Montgat
    +#> 865                                             Òrrius
    +#> 866                                          Palafolls
    +#> 867                                      Pineda de Mar
    +#> 868                                     Premià de Dalt
    +#> 869                                      Premià de Mar
    +#> 870                          Sant Andreu de Llavaneres
    +#> 871                            Sant Cebrià de Vallalta
    +#> 872                             Sant Iscle de Vallalta
    +#> 873                                    Sant Pol de Mar
    +#> 874                             Sant Vicenç de Montalt
    +#> 875                                      Santa Susanna
    +#> 876                                               Teià
    +#> 877                                              Tiana
    +#> 878                                            Tordera
    +#> 879                                   Vilassar de Dalt
    +#> 880                                    Vilassar de Mar
    +#> 881                                            Calders
    +#> 882                                         Castellcir
    +#> 883                                      Castellterçol
    +#> 884                                        Collsuspina
    +#> 885                                            Granera
    +#> 886                                           l'Estany
    +#> 887                                               Moià
    +#> 888                               Monistrol de Calders
    +#> 889                                 Sant Quirze Safaja
    +#> 890                                  Santa Maria d'Oló
    +#> 891                                            Alcanar
    +#> 892                                            Amposta
    +#> 893                                          Freginals
    +#> 894                                             Godall
    +#> 895                                          la Galera
    +#> 896                                          la Ràpita
    +#> 897                                           la Sénia
    +#> 898                                   Mas de Barberans
    +#> 899                                        Masdenverge
    +#> 900                                Sant Jaume d'Enveja
    +#> 901                                      Santa Bàrbara
    +#> 902                                          Ulldecona
    +#> 903                                               Àger
    +#> 904                                             Albesa
    +#> 905                                            Algerri
    +#> 906                                   Alòs de Balaguer
    +#> 907                                    Artesa de Segre
    +#> 908                                           Balaguer
    +#> 909                                 Bellcaire d'Urgell
    +#> 910                                  Bellmunt d'Urgell
    +#> 911                                         Cabanabona
    +#> 912                                           Camarasa
    +#> 913                               Castelló de Farfanya
    +#> 914                                            Cubells
    +#> 915                                           Foradada
    +#> 916                                   Ivars de Noguera
    +#> 917                                la Baronia de Rialb
    +#> 918                                   la Sentiu de Sió
    +#> 919                        les Avellanes i Santa Linya
    +#> 920                                         Menàrguens
    +#> 921                                            Montgai
    +#> 922                                             Oliola
    +#> 923                                     Os de Balaguer
    +#> 924                                           Penelles
    +#> 925                                              Ponts
    +#> 926                                           Preixens
    +#> 927                                            Térmens
    +#> 928                                            Tiurana
    +#> 929                                         Torrelameu
    +#> 930                             Vallfogona de Balaguer
    +#> 931                                Vilanova de l'Aguda
    +#> 932                                   Vilanova de Meià
    +#> 933                                            Balenyà
    +#> 934                                        Calldetenes
    +#> 935                                          Centelles
    +#> 936                                           el Brull
    +#> 937                                         Espinelves
    +#> 938                                        Folgueroles
    +#> 939                                               Gurb
    +#> 940                                         l'Esquirol
    +#> 941                                 les Masies de Roda
    +#> 942                             les Masies de Voltregà
    +#> 943                                              Malla
    +#> 944                                            Manlleu
    +#> 945                                         Montesquiu
    +#> 946                                         Muntanyola
    +#> 947                                               Orís
    +#> 948                                        Roda de Ter
    +#> 949                                      Rupit i Pruit
    +#> 950                            Sant Agustí de Lluçanès
    +#> 951                             Sant Bartomeu del Grau
    +#> 952                               Sant Boi de Lluçanès
    +#> 953                           Sant Hipòlit de Voltregà
    +#> 954                            Sant Julià de Vilatorta
    +#> 955                            Sant Martí de Centelles
    +#> 956                               Sant Pere de Torelló
    +#> 957                              Sant Quirze de Besora
    +#> 958                            Sant Sadurní d'Osormort
    +#> 959                             Sant Vicenç de Torelló
    +#> 960                          Santa Cecília de Voltregà
    +#> 961                             Santa Eugènia de Berga
    +#> 962                         Santa Eulàlia de Riuprimer
    +#> 963                              Santa Maria de Besora
    +#> 964                                               Seva
    +#> 965                                               Sora
    +#> 966                                           Taradell
    +#> 967                                         Tavèrnoles
    +#> 968                                           Tavertet
    +#> 969                                               Tona
    +#> 970                                            Torelló
    +#> 971                                                Vic
    +#> 972                                              Vidrà
    +#> 973                                           Viladrau
    +#> 974                                    Vilanova de Sau
    +#> 975                                 Abella de la Conca
    +#> 976                                     Castell de Mur
    +#> 977                                      Conca de Dalt
    +#> 978                                  Gavet de la Conca
    +#> 979                                Isona i Conca Dellà
    +#> 980                                  la Pobla de Segur
    +#> 981                               la Torre de Cabdella
    +#> 982                                           Llimiana
    +#> 983                                   Salàs de Pallars
    +#> 984                            Sant Esteve de la Sarga
    +#> 985                                 Sarroca de Bellera
    +#> 986                                          Senterada
    +#> 987                                             Talarn
    +#> 988                                              Tremp
    +#> 989                                              Alins
    +#> 990                                           Alt Àneu
    +#> 991                                       Baix Pallars
    +#> 992                                              Espot
    +#> 993                                     Esterri d'Àneu
    +#> 994                                  Esterri de Cardós
    +#> 995                                            Farrera
    +#> 996                                la Guingueta d'Àneu
    +#> 997                                           Lladorre
    +#> 998                                           Llavorsí
    +#> 999                                              Rialp
    +#> 1000                                         Soriguera
    +#> 1001                                              Sort
    +#> 1002                                            Tírvia
    +#> 1003                                    Vall de Cardós
    +#> 1004                                           Barbens
    +#> 1005                                Bell-lloc d'Urgell
    +#> 1006                                           Bellvís
    +#> 1007                               Castellnou de Seana
    +#> 1008                              el Palau d'Anglesola
    +#> 1009                                           el Poal
    +#> 1010                                        Fondarella
    +#> 1011                                            Golmés
    +#> 1012                                    Ivars d'Urgell
    +#> 1013                                           Linyola
    +#> 1014                                         Miralcamp
    +#> 1015                                        Mollerussa
    +#> 1016                                           Sidamon
    +#> 1017                                       Torregrossa
    +#> 1018                                         Vila-sana
    +#> 1019                              Vilanova de Bellpuig
    +#> 1020                                          Banyoles
    +#> 1021                                             Camós
    +#> 1022                                Cornellà del Terri
    +#> 1023                                           Crespià
    +#> 1024                                         Esponellà
    +#> 1025                                       Fontcoberta
    +#> 1026                                 Palol de Revardit
    +#> 1027                                         Porqueres
    +#> 1028                          Sant Miquel de Campmajor
    +#> 1029                                           Serinyà
    +#> 1030                                        Vilademuls
    +#> 1031                              Bellmunt del Priorat
    +#> 1032                                           Cabacés
    +#> 1033                                          Capçanes
    +#> 1034                            Cornudella de Montsant
    +#> 1035                                          el Lloar
    +#> 1036                                        el Masroig
    +#> 1037                                          el Molar
    +#> 1038                                      els Guiamets
    +#> 1039                                            Falset
    +#> 1040                                        Gratallops
    +#> 1041                             la Bisbal de Montsant
    +#> 1042                                        la Figuera
    +#> 1043                             la Morera de Montsant
    +#> 1044                           la Torre de Fontaubella
    +#> 1045                                   la Vilella Alta
    +#> 1046                                  la Vilella Baixa
    +#> 1047                                             Marçà
    +#> 1048                                          Margalef
    +#> 1049                                          Poboleda
    +#> 1050                                           Porrera
    +#> 1051                             Pradell de la Teixeta
    +#> 1052                               Torroja del Priorat
    +#> 1053                                       Ulldemolins
    +#> 1054                                              Ascó
    +#> 1055                                        Benissanet
    +#> 1056                                              Flix
    +#> 1057                                            Garcia
    +#> 1058                                          Ginestar
    +#> 1059                                   la Palma d'Ebre
    +#> 1060                            la Torre de l'Espanyol
    +#> 1061                                           Miravet
    +#> 1062                                       Móra d'Ebre
    +#> 1063                                      Móra la Nova
    +#> 1064                                          Rasquera
    +#> 1065                                  Riba-roja d'Ebre
    +#> 1066                                           Tivissa
    +#> 1067                                           Vinebre
    +#> 1068                                       Campdevànol
    +#> 1069                                         Campelles
    +#> 1070                                         Camprodon
    +#> 1071                                           Gombrèn
    +#> 1072                                       les Llosses
    +#> 1073                                           Llanars
    +#> 1074                                             Molló
    +#> 1075                                            Ogassa
    +#> 1076                                          Pardines
    +#> 1077                                          Planoles
    +#> 1078                                          Queralbs
    +#> 1079                                   Ribes de Freser
    +#> 1080                                            Ripoll
    +#> 1081                        Sant Joan de les Abadesses
    +#> 1082                              Sant Pau de Segúries
    +#> 1083                                          Setcases
    +#> 1084                                             Toses
    +#> 1085                            Vallfogona de Ripollès
    +#> 1086                                 Vilallonga de Ter
    +#> 1087                                            Biosca
    +#> 1088                                           Cervera
    +#> 1089                                  els Plans de Sió
    +#> 1090                                           Estaràs
    +#> 1091                                       Granyanella
    +#> 1092                               Granyena de Segarra
    +#> 1093                                          Guissona
    +#> 1094                                            Ivorra
    +#> 1095                                        les Oluges
    +#> 1096                                        Massoteres
    +#> 1097                               Montoliu de Segarra
    +#> 1098                              Montornès de Segarra
    +#> 1099                                   Ribera d'Ondara
    +#> 1100                                           Sanaüja
    +#> 1101                            Sant Guim de Freixenet
    +#> 1102                             Sant Guim de la Plana
    +#> 1103                                        Sant Ramon
    +#> 1104                                          Talavera
    +#> 1105                                Tarroja de Segarra
    +#> 1106                                              Torà
    +#> 1107                             Torrefeta i Florejacs
    +#> 1108                                            Aitona
    +#> 1109                                        Albatàrrec
    +#> 1110                                            Alcanó
    +#> 1111                                          Alcarràs
    +#> 1112                                         Alcoletge
    +#> 1113                                          Alfarràs
    +#> 1114                                             Alfés
    +#> 1115                                          Alguaire
    +#> 1116                                        Almacelles
    +#> 1117                                          Almatret
    +#> 1118                                           Almenar
    +#> 1119                                           Alpicat
    +#> 1120                                  Artesa de Lleida
    +#> 1121                                              Aspa
    +#> 1122                                Benavent de Segrià
    +#> 1123                                           Corbins
    +#> 1124                                        els Alamús
    +#> 1125                     Gimenells i el Pla de la Font
    +#> 1126                                la Granja d'Escarp
    +#> 1127                                       la Portella
    +#> 1128                                        Llardecans
    +#> 1129                                            Lleida
    +#> 1130                                            Maials
    +#> 1131                                      Massalcoreig
    +#> 1132                                Montoliu de Lleida
    +#> 1133                                Puigverd de Lleida
    +#> 1134                                          Rosselló
    +#> 1135                                 Sarroca de Lleida
    +#> 1136                                             Seròs
    +#> 1137                                             Soses
    +#> 1138                                          Sudanell
    +#> 1139                                            Sunyer
    +#> 1140                                      Torre-serona
    +#> 1141                                       Torrebesses
    +#> 1142                                      Torrefarrera
    +#> 1143                                   Torres de Segre
    +#> 1144                              Vilanova de la Barca
    +#> 1145                                Vilanova de Segrià
    +#> 1146                                              Amer
    +#> 1147                                            Anglès
    +#> 1148                                          Arbúcies
    +#> 1149                                            Blanes
    +#> 1150                                             Breda
    +#> 1151                     Brunyola i Sant Martí Sapresa
    +#> 1152                               Caldes de Malavella
    +#> 1153                                Fogars de la Selva
    +#> 1154                                         Hostalric
    +#> 1155                                 la Cellera de Ter
    +#> 1156                                     Lloret de Mar
    +#> 1157                                          Massanes
    +#> 1158                               Maçanet de la Selva
    +#> 1159                                              Osor
    +#> 1160                                  Riells i Viabrea
    +#> 1161                                        Riudarenes
    +#> 1162                            Riudellots de la Selva
    +#> 1163                           Sant Feliu de Buixalleu
    +#> 1164                                Sant Hilari Sacalm
    +#> 1165                     Sant Julià del Llor i Bonmatí
    +#> 1166                           Santa Coloma de Farners
    +#> 1167                                              Sils
    +#> 1168                                          Susqueda
    +#> 1169                                      Tossa de Mar
    +#> 1170                                          Vidreres
    +#> 1171                                    Vilobí d'Onyar
    +#> 1172                            Castellar de la Ribera
    +#> 1173                              Clariana de Cardener
    +#> 1174                                           Guixers
    +#> 1175                                la Coma i la Pedra
    +#> 1176                                        la Molsosa
    +#> 1177                                           Lladurs
    +#> 1178                                           Llobera
    +#> 1179                                             Navès
    +#> 1180                                              Odèn
    +#> 1181                                             Olius
    +#> 1182                                Pinell de Solsonès
    +#> 1183                                             Pinós
    +#> 1184                                             Riner
    +#> 1185                           Sant Llorenç de Morunys
    +#> 1186                                           Solsona
    +#> 1187                                         Altafulla
    +#> 1188                                         Constantí
    +#> 1189                                          Creixell
    +#> 1190                                        el Catllar
    +#> 1191                                         el Morell
    +#> 1192                                    els Pallaresos
    +#> 1193                                        la Canonja
    +#> 1194                                    la Nou de Gaià
    +#> 1195                               la Pobla de Mafumet
    +#> 1196                             la Pobla de Montornès
    +#> 1197                                  la Riera de Gaià
    +#> 1198                                        la Secuita
    +#> 1199                                          Perafort
    +#> 1200                                             Renau
    +#> 1201                                      Roda de Berà
    +#> 1202                                            Salomó
    +#> 1203                                             Salou
    +#> 1204                                         Tarragona
    +#> 1205                                     Torredembarra
    +#> 1206                                  Vespella de Gaià
    +#> 1207                                         Vila-seca
    +#> 1208                               Vilallonga del Camp
    +#> 1209                                             Arnes
    +#> 1210                                             Batea
    +#> 1211                                               Bot
    +#> 1212                                           Caseres
    +#> 1213                                    Corbera d'Ebre
    +#> 1214                                 el Pinell de Brai
    +#> 1215                                           Gandesa
    +#> 1216                                Horta de Sant Joan
    +#> 1217                                      la Fatarella
    +#> 1218                             la Pobla de Massaluca
    +#> 1219                                     Prat de Comte
    +#> 1220                                 Vilalba dels Arcs
    +#> 1221                                          Agramunt
    +#> 1222                                         Anglesola
    +#> 1223                                          Belianes
    +#> 1224                                          Bellpuig
    +#> 1225                                       Castellserà
    +#> 1226                                        Ciutadilla
    +#> 1227                             els Omells de na Gaia
    +#> 1228                                           Guimerà
    +#> 1229                                        la Fuliola
    +#> 1230                                             Maldà
    +#> 1231                                             Nalec
    +#> 1232                                       Ossó de Sió
    +#> 1233                                          Preixana
    +#> 1234                               Puigverd d'Agramunt
    +#> 1235                             Sant Martí de Riucorb
    +#> 1236                                           Tàrrega
    +#> 1237                                         Tornabous
    +#> 1238                            Vallbona de les Monges
    +#> 1239                                             Verdú
    +#> 1240                                        Vilagrassa
    +#> 1241                                  Badia del Vallès
    +#> 1242                                Barberà del Vallès
    +#> 1243                              Castellar del Vallès
    +#> 1244                                     Castellbisbal
    +#> 1245                             Cerdanyola del Vallès
    +#> 1246                                           Gallifa
    +#> 1247                                        Matadepera
    +#> 1248                                 Montcada i Reixac
    +#> 1249                          Palau-solità i Plegamans
    +#> 1250                                           Polinyà
    +#> 1251                                         Rellinars
    +#> 1252                                          Ripollet
    +#> 1253                                              Rubí
    +#> 1254                                          Sabadell
    +#> 1255                             Sant Cugat del Vallès
    +#> 1256                               Sant Llorenç Savall
    +#> 1257                            Sant Quirze del Vallès
    +#> 1258                          Santa Perpètua de Mogoda
    +#> 1259                                         Sentmenat
    +#> 1260                                          Terrassa
    +#> 1261                                        Ullastrell
    +#> 1262                                        Vacarisses
    +#> 1263                                     Viladecavalls
    +#> 1264                                        Aiguafreda
    +#> 1265                           Bigues i Riells del Fai
    +#> 1266                                 Caldes de Montbui
    +#> 1267                                           Campins
    +#> 1268                                        Canovelles
    +#> 1269                                 Cànoves i Samalús
    +#> 1270                                          Cardedeu
    +#> 1271                                   Figaró-Montmany
    +#> 1272                                Fogars de Montclús
    +#> 1273                                        Granollers
    +#> 1274                                            Gualba
    +#> 1275                              l'Ametlla del Vallès
    +#> 1276                                        la Garriga
    +#> 1277                                       la Llagosta
    +#> 1278                                la Roca del Vallès
    +#> 1279                         les Franqueses del Vallès
    +#> 1280                                     Lliçà d'Amunt
    +#> 1281                                     Lliçà de Vall
    +#> 1282                                Llinars del Vallès
    +#> 1283                                       Martorelles
    +#> 1284                                 Mollet del Vallès
    +#> 1285                                          Montmeló
    +#> 1286                              Montornès del Vallès
    +#> 1287                                          Montseny
    +#> 1288                                 Parets del Vallès
    +#> 1289                          Sant Antoni de Vilamajor
    +#> 1290                                       Sant Celoni
    +#> 1291                       Sant Esteve de Palautordera
    +#> 1292                             Sant Feliu de Codines
    +#> 1293                        Sant Fost de Campsentelles
    +#> 1294                            Sant Pere de Vilamajor
    +#> 1295                          Santa Eulàlia de Ronçana
    +#> 1296                        Santa Maria de Martorelles
    +#> 1297                       Santa Maria de Palautordera
    +#> 1298                                        Tagamanent
    +#> 1299                                      Vallgorguina
    +#> 1300                                       Vallromanes
    +#> 1301                                  Vilalba Sasserra
    +#> 1302                               Vilanova del Vallès
    +#> 1303                                          València
    +#> 1304                                  Alcalà de Xivert
    +#> 1305                                         Benicarló
    +#> 1306                                             Càlig
    +#> 1307                                     Canet lo Roig
    +#> 1308                                 Castell de Cabres
    +#> 1309                               Cervera del Maestre
    +#> 1310                                           la Jana
    +#> 1311                             la Pobla de Benifassà
    +#> 1312                                     la Salzadella
    +#> 1313                             Peníscola / Peñíscola
    +#> 1314                                           Rossell
    +#> 1315                            Sant Jordi / San Jorge
    +#> 1316                                        Sant Mateu
    +#> 1317                                Sant Rafel del Riu
    +#> 1318                         Santa Magdalena de Pulpis
    +#> 1319                                         Traiguera
    +#> 1320                                           Vinaròs
    +#> 1321                                              Xert
    +#> 1322                              Guardamar del Segura
    +#> 1323                                        Crevillent
    +#> 1324                                       Elx / Elche
    +#> 1325                                        Santa Pola
    +#> 1326                            Albalat dels Tarongers
    +#> 1327                              Alfara de la Baronia
    +#> 1328                                 Algar de Palància
    +#> 1329                                  Algímia d'Alfara
    +#> 1330                                         Benavites
    +#> 1331                            Benifairó de les Valls
    +#> 1332                              Canet d'en Berenguer
    +#> 1333                                         Estivella
    +#> 1334                                             Faura
    +#> 1335                                             Gilet
    +#> 1336                                            Petrés
    +#> 1337                                Quart de les Valls
    +#> 1338                                          Quartell
    +#> 1339                                  Sagunt / Sagunto
    +#> 1340                                            Segart
    +#> 1341                                     Torres Torres
    +#> 1342                                        Benaguasil
    +#> 1343                                         Benissanó
    +#> 1344                                            Bétera
    +#> 1345                                           Casinos
    +#> 1346                                          l'Eliana
    +#> 1347                              la Pobla de Vallbona
    +#> 1348                                            Llíria
    +#> 1349                                 Nàquera / Náquera
    +#> 1350                                            Olocau
    +#> 1351                                Riba-roja de Túria
    +#> 1352                                             Serra
    +#> 1353                                       Vilamarxant
    +#> 1354                                             Agres
    +#> 1355                                          Alcoleja
    +#> 1356                                          Alcosser
    +#> 1357                                          Alfafara
    +#> 1358                                         Almudaina
    +#> 1359                                           Balones
    +#> 1360                                           Benasau
    +#> 1361                                         Beniarrés
    +#> 1362                                         Benilloba
    +#> 1363                                          Benillup
    +#> 1364                                       Benimarfull
    +#> 1365                                        Benimassot
    +#> 1366                                        Cocentaina
    +#> 1367                                            Fageca
    +#> 1368                                           Famorca
    +#> 1369                                           Gaianes
    +#> 1370                                             Gorga
    +#> 1371                                l'Alqueria d'Asnar
    +#> 1372                                   l'Orxa / Lorcha
    +#> 1373                                           Millena
    +#> 1374                                     Muro de Alcoy
    +#> 1375                                            Planes
    +#> 1376                                     Quatretondeta
    +#> 1377                                            Tollos
    +#> 1378       el Fondó de les Neus / Hondón de las Nieves
    +#> 1379                             Hondón de los Frailes
    +#> 1380                                 el Pinós / Pinoso
    +#> 1381                                           Algueña
    +#> 1382                                         la Romana
    +#> 1383                                 Monòver / Monóvar
    +#> 1384                                           Novelda
    +#> 1385                                            Petrer
    +#> 1386                                       Castellfort
    +#> 1387                                        Cinctorres
    +#> 1388                                           Forcall
    +#> 1389                                           Herbers
    +#> 1390                                la Mata de Morella
    +#> 1391                                         Todolella
    +#> 1392                                           Morella
    +#> 1393                                         Palanques
    +#> 1394                                Portell de Morella
    +#> 1395                             Zorita del Maestrazgo
    +#> 1396                                         Vallibona
    +#> 1397                  Vilafranca / Villafranca del Cid
    +#> 1398                                          Villores
    +#> 1399                                             Agost
    +#> 1400                                            Aigües
    +#> 1401                                Alacant / Alicante
    +#> 1402                                             Busot
    +#> 1403                                       el Campello
    +#> 1404           la Torre de les Maçanes / Torremanzanas
    +#> 1405                                          Mutxamel
    +#> 1406                               Sant Joan d'Alacant
    +#> 1407 Sant Vicent del Raspeig / San Vicente del Raspeig
    +#> 1408                                   Xixona / Jijona
    +#> 1409                                            Costur
    +#> 1410                                        Figueroles
    +#> 1411                                          l'Alcora
    +#> 1412                               les Useres / Useras
    +#> 1413                          Llucena / Lucena del Cid
    +#> 1414                           Vistabella del Maestrat
    +#> 1415                                    Xodos / Chodos
    +#> 1416                                     Alcoi / Alcoy
    +#> 1417                               Banyeres de Mariola
    +#> 1418                                        Benifallim
    +#> 1419                                          Castalla
    +#> 1420                                               Ibi
    +#> 1421                                              Onil
    +#> 1422                                         Penàguila
    +#> 1423                                              Tibi
    +#> 1424                                        Albocàsser
    +#> 1425                                 Ares del Maestrat
    +#> 1426                             Atzeneta del Maestrat
    +#> 1427                                         Benafigos
    +#> 1428                                          Benassal
    +#> 1429                                              Catí
    +#> 1430                                             Culla
    +#> 1431                                     la Serratella
    +#> 1432                              la Torre d'en Besora
    +#> 1433                                             Tírig
    +#> 1434                                    Vilar de Canes
    +#> 1435                                         Beneixama
    +#> 1436                                              Biar
    +#> 1437                 el Camp de Mirra / Campo de Mirra
    +#> 1438                                            Cañada
    +#> 1439                              Albalat dels Sorells
    +#> 1440                               Alboraia / Alboraya
    +#> 1441                                         Albuixech
    +#> 1442                              Alfara del Patriarca
    +#> 1443                                         Almàssera
    +#> 1444                              Bonrepòs i Mirambell
    +#> 1445                                         Burjassot
    +#> 1446                            el Puig de Santa Maria
    +#> 1447                                         Emperador
    +#> 1448                                             Foios
    +#> 1449                                           Godella
    +#> 1450                               la Pobla de Farnals
    +#> 1451                                      Massalfassar
    +#> 1452                                      Massamagrell
    +#> 1453                                           Meliana
    +#> 1454                                Montcada / Moncada
    +#> 1455                                           Museros
    +#> 1456                                           Paterna
    +#> 1457                                             Puçol
    +#> 1458                                       Rafelbunyol
    +#> 1459                                          Rocafort
    +#> 1460                                 Tavernes Blanques
    +#> 1461                                          Vinalesa
    +#> 1462                                           Alaquàs
    +#> 1463                                             Albal
    +#> 1464                                          Alcàsser
    +#> 1465                                            Aldaia
    +#> 1466                                           Alfafar
    +#> 1467                                        Benetússer
    +#> 1468                                       Beniparrell
    +#> 1469                                         Catarroja
    +#> 1470                              Llocnou de la Corona
    +#> 1471                                           Manises
    +#> 1472                                        Massanassa
    +#> 1473                                           Mislata
    +#> 1474                                          Paiporta
    +#> 1475                                           Picanya
    +#> 1476                                         Picassent
    +#> 1477                                   Quart de Poblet
    +#> 1478                                            Sedaví
    +#> 1479                                             Silla
    +#> 1480                                           Torrent
    +#> 1481                                         Xirivella
    +#> 1482                                           Barxeta
    +#> 1483                                            Canals
    +#> 1484                                             Cerdà
    +#> 1485                                        el Genovés
    +#> 1486                                          Estubeny
    +#> 1487                             l'Alcúdia de Crespins
    +#> 1488                             la Font de la Figuera
    +#> 1489                           la Granja de la Costera
    +#> 1490                                 la Llosa de Ranes
    +#> 1491                                  Llanera de Ranes
    +#> 1492                             Llocnou d'en Fenollet
    +#> 1493                                 Moixent / Mogente
    +#> 1494                                           Montesa
    +#> 1495                                           Novetlè
    +#> 1496                                  Rotglà i Corberà
    +#> 1497                                          Torrella
    +#> 1498                                           Vallada
    +#> 1499                                            Vallés
    +#> 1500                                            Xàtiva
    +#> 1501                                          Alcalalí
    +#> 1502                                        Beniarbeig
    +#> 1503                                        Benidoleig
    +#> 1504                                        Benigembla
    +#> 1505                                          Benimeli
    +#> 1506                                           Benissa
    +#> 1507                                              Calp
    +#> 1508                               Castell de Castells
    +#> 1509                                             Dénia
    +#> 1510         el Poble Nou de Benitatxell / Benitachell
    +#> 1511                                el Ràfol d'Almúnia
    +#> 1512                                         el Verger
    +#> 1513                                       els Poblets
    +#> 1514                                    Gata de Gorgos
    +#> 1515                                         l'Atzúbia
    +#> 1516                                  la Vall d'Alcalà
    +#> 1517                                     la Vall d'Ebo
    +#> 1518                              la Vall de Gallinera
    +#> 1519                                 la Vall de Laguar
    +#> 1520                                            Llíber
    +#> 1521                                             Murla
    +#> 1522                                            Ondara
    +#> 1523                                              Orba
    +#> 1524                                           Parcent
    +#> 1525                                         Pedreguer
    +#> 1526                                              Pego
    +#> 1527                                             Sagra
    +#> 1528                                   Sanet y Negrals
    +#> 1529                                            Senija
    +#> 1530                                           Teulada
    +#> 1531                                            Tormos
    +#> 1532                                     Xàbia / Jávea
    +#> 1533                                              Xaló
    +#> 1534                                             Altea
    +#> 1535                                          Beniardà
    +#> 1536                                          Benidorm
    +#> 1537                                          Benifato
    +#> 1538                                       Benimantell
    +#> 1539                                           Bolulla
    +#> 1540                               Callosa d'en Sarrià
    +#> 1541                                         Confrides
    +#> 1542                           el Castell de Guadalest
    +#> 1543                                         Finestrat
    +#> 1544                                    l'Alfàs del Pi
    +#> 1545                                          la Nucia
    +#> 1546                      la Vila Joiosa / Villajoyosa
    +#> 1547                                            Orxeta
    +#> 1548                                             Polop
    +#> 1549                                            Relleu
    +#> 1550                                             Sella
    +#> 1551                                           Tàrbena
    +#> 1552                                         Almassora
    +#> 1553                            Benicàssim / Benicasim
    +#> 1554                                           Benlloc
    +#> 1555                                           Borriol
    +#> 1556                                           Cabanes
    +#> 1557                              Castelló de la Plana
    +#> 1558                                  la Pobla Tornesa
    +#> 1559                                 Sierra Engarcerán
    +#> 1560                             la Torre d'en Doménec
    +#> 1561                                       Vall d'Alba
    +#> 1562                              les Coves de Vinromà
    +#> 1563                          Orpesa / Oropesa del Mar
    +#> 1564                                 Sant Joan de Moró
    +#> 1565                                       Torreblanca
    +#> 1566                                         Vilafamés
    +#> 1567                                Vilanova d'Alcolea
    +#> 1568                                               Aín
    +#> 1569                                     Alfondeguilla
    +#> 1570                                          Almenara
    +#> 1571                                            Artana
    +#> 1572                                             Betxí
    +#> 1573                               Borriana / Burriana
    +#> 1574                                            Eslida
    +#> 1575                                    Alcudia de Veo
    +#> 1576                                          la Llosa
    +#> 1577                                    la Vall d'Uixó
    +#> 1578                                      la Vilavella
    +#> 1579        les Alqueries / Alquerías del Niño Perdido
    +#> 1580                                           Moncofa
    +#> 1581                                             Nules
    +#> 1582                                              Onda
    +#> 1583                                        Ribesalbes
    +#> 1584                                    Suera / Sueras
    +#> 1585                                             Tales
    +#> 1586                                         Vila-real
    +#> 1587                                 Xilxes / Chilches
    +#> 1588                                           Alberic
    +#> 1589                               Alcàntera de Xúquer
    +#> 1590                                            Alfarb
    +#> 1591                                          Algemesí
    +#> 1592                                           Alginet
    +#> 1593                                            Alzira
    +#> 1594                                           Antella
    +#> 1595                                         Beneixida
    +#> 1596                                          Benifaió
    +#> 1597                                          Benimodo
    +#> 1598                                        Benimuslem
    +#> 1599                                        Carcaixent
    +#> 1600                                            Càrcer
    +#> 1601                                            Carlet
    +#> 1602                                          Castelló
    +#> 1603                                           Catadau
    +#> 1604                                             Cotes
    +#> 1605                                           Gavarda
    +#> 1606                                        Guadassuar
    +#> 1607                                         l'Alcúdia
    +#> 1608                                           l'Énova
    +#> 1609                                   la Pobla Llarga
    +#> 1610                                           Llombai
    +#> 1611                                            Manuel
    +#> 1612                                        Massalavés
    +#> 1613                                 Montroi / Montroy
    +#> 1614                                        Montserrat
    +#> 1615                                       Rafelguaraf
    +#> 1616                                              Real
    +#> 1617                                       Sant Joanet
    +#> 1618                                           Sellent
    +#> 1619                                           Senyera
    +#> 1620                                        Sumacàrcer
    +#> 1621                                             Turís
    +#> 1622                              Albalat de la Ribera
    +#> 1623                                        Almussafes
    +#> 1624                                Benicull de Xúquer
    +#> 1625                                           Corbera
    +#> 1626                                           Cullera
    +#> 1627                                            Favara
    +#> 1628                                         Fortaleny
    +#> 1629                                            Llaurí
    +#> 1630                                 Polinyà de Xúquer
    +#> 1631                                             Riola
    +#> 1632                                           Sollana
    +#> 1633                                             Sueca
    +#> 1634                                              Ador
    +#> 1635                                           Alfauir
    +#> 1636                                          Almiserà
    +#> 1637                                          Almoines
    +#> 1638                                              Barx
    +#> 1639                                       Bellreguard
    +#> 1640                                          Beniarjó
    +#> 1641                         Benifairó de la Valldigna
    +#> 1642                                           Beniflà
    +#> 1643                                        Benirredrà
    +#> 1644                       Castellonet de la Conquesta
    +#> 1645                                            Daimús
    +#> 1646                                 el Real de Gandia
    +#> 1647                                            Gandia
    +#> 1648                             Guardamar de la Safor
    +#> 1649                         l'Alqueria de la Comtessa
    +#> 1650                               la Font d'en Carròs
    +#> 1651                            Llocnou de Sant Jeroni
    +#> 1652                                           Miramar
    +#> 1653                                             Oliva
    +#> 1654                                   Palma de Gandía
    +#> 1655                                           Palmera
    +#> 1656                                             Piles
    +#> 1657                                           Potries
    +#> 1658                                        Rafelcofer
    +#> 1659                                            Ròtova
    +#> 1660                             Simat de la Valldigna
    +#> 1661                          Tavernes de la Valldigna
    +#> 1662                           Vilallonga / Villalonga
    +#> 1663                                            Xeraco
    +#> 1664                                            Xeresa
    +#> 1665                                          Agullent
    +#> 1666                                 Aielo de Malferit
    +#> 1667                                    Aielo de Rugat
    +#> 1668                                           Albaida
    +#> 1669                                         Alfarrasí
    +#> 1670                                Atzeneta d'Albaida
    +#> 1671                                           Bèlgida
    +#> 1672                                            Bellús
    +#> 1673                                         Beniatjar
    +#> 1674                                         Benicolet
    +#> 1675                                         Benigànim
    +#> 1676                                         Benissoda
    +#> 1677                                        Benissuera
    +#> 1678                                         Bocairent
    +#> 1679                                            Bufali
    +#> 1680                                         Carrícola
    +#> 1681                                 Castelló de Rugat
    +#> 1682                                        el Palomar
    +#> 1683                                    Ráfol de Salem
    +#> 1684                           Fontanars dels Alforins
    +#> 1685                                     Guadasséquies
    +#> 1686                                         l'Olleria
    +#> 1687                                  la Pobla del Duc
    +#> 1688                                          Llutxent
    +#> 1689                                       Montaverner
    +#> 1690                         Montitxelvo / Montichelvo
    +#> 1691                                         Ontinyent
    +#> 1692                                              Otos
    +#> 1693                                             Pinet
    +#> 1694                                       Quatretonda
    +#> 1695                                             Rugat
    +#> 1696                                             Salem
    +#> 1697                                           Sempere
    +#> 1698                                         Terrateig
    +#> 1699                                  l'Alguer/Alghero
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/territoris.html b/docs/reference/territoris.html new file mode 100644 index 0000000..b7dde3a --- /dev/null +++ b/docs/reference/territoris.html @@ -0,0 +1,112 @@ + +Territoris dels Països Catalans — territoris • monitorOSM + Skip to contents + + +
    +
    +
    + +
    +

    Dades dels territoris dels Països Catalans.

    +
    + +
    +

    Usage

    +
    territoris
    +
    + +
    +

    Format

    +

    Un data.frame amb dades dels 10 territoris per les següents 7 variables.

    name:ca
    +

    Etiqueta name:ca.

    + +
    regio
    +

    Nom de la regió ["Andorra", "Aran", "CatNord", "Franja", "Illes", "Múrcia", "Principat", "PV"].

    + +
    osm_id
    +

    Número identificador a OSM.

    + +
    osm_type
    +

    Tipus d'objecte d'OSM.

    + +
    name
    +

    Etiqueta name.

    + +
    wikipedia
    +

    Etiqueta wikipedia.

    + +
    wikidata
    +

    Etiqueta wikidata.

    + + +
    +
    +

    See also

    +

    Altres bases de dades de referència: + municipis, comarques, PPCC, loc_admin_centre_municipis.

    +
    + +
    +

    Examples

    +
    territoris[, c("regio", "name")]
    +#>        regio                                       name
    +#> 1    Andorra                                    Andorra
    +#> 2       Aran                                 Val d'Aran
    +#> 3    CatNord                         Catalunya del Nord
    +#> 4     Franja                           Franja de Ponent
    +#> 5      Illes                              Illes Balears
    +#> 6      Illes                                   Pitiüses
    +#> 7      Illes                                   Mallorca
    +#> 8      Illes                                    Menorca
    +#> 9     Múrcia                                  El Carche
    +#> 10 Principat    Català com a llengua pròpia a Catalunya
    +#> 11 Principat                                  Catalunya
    +#> 12        PV                       Comunitat Valenciana
    +#> 13        PV Municipis de Predomini Lingüístic Valencià
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/versio_canvis_html.html b/docs/reference/versio_canvis_html.html new file mode 100644 index 0000000..325c074 --- /dev/null +++ b/docs/reference/versio_canvis_html.html @@ -0,0 +1,75 @@ + +Mostra les versions que introdueixen canvis en html — versio_canvis_html • monitorOSM + Skip to contents + + +
    +
    +
    + +
    +

    Funció pensada per usar en fitxers .qmd o .Rmd.

    +
    + +
    +

    Usage

    +
    versio_canvis_html(x)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    Una llista de canvis retornada per cerca_versio_canvis().

    + +
    +
    +

    Value

    +

    Mostra les taules html amb informació del conjunt de canvis que ha modificat etiquetes.

    +
    + +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/search.json b/docs/search.json new file mode 100644 index 0000000..e84613e --- /dev/null +++ b/docs/search.json @@ -0,0 +1 @@ +[{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"GNU General Public License","title":"GNU General Public License","text":"Version 3, 29 June 2007Copyright © 2007 Free Software Foundation, Inc.  Everyone permitted copy distribute verbatim copies license document, changing allowed.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"preamble","dir":"","previous_headings":"","what":"Preamble","title":"GNU General Public License","text":"GNU General Public License free, copyleft license software kinds works. licenses software practical works designed take away freedom share change works. contrast, GNU General Public License intended guarantee freedom share change versions program–make sure remains free software users. , Free Software Foundation, use GNU General Public License software; applies also work released way authors. can apply programs, . speak free software, referring freedom, price. General Public Licenses designed make sure freedom distribute copies free software (charge wish), receive source code can get want , can change software use pieces new free programs, know can things. protect rights, need prevent others denying rights asking surrender rights. Therefore, certain responsibilities distribute copies software, modify : responsibilities respect freedom others. example, distribute copies program, whether gratis fee, must pass recipients freedoms received. must make sure , , receive can get source code. must show terms know rights. Developers use GNU GPL protect rights two steps: (1) assert copyright software, (2) offer License giving legal permission copy, distribute /modify . developers’ authors’ protection, GPL clearly explains warranty free software. users’ authors’ sake, GPL requires modified versions marked changed, problems attributed erroneously authors previous versions. devices designed deny users access install run modified versions software inside , although manufacturer can . fundamentally incompatible aim protecting users’ freedom change software. systematic pattern abuse occurs area products individuals use, precisely unacceptable. Therefore, designed version GPL prohibit practice products. problems arise substantially domains, stand ready extend provision domains future versions GPL, needed protect freedom users. Finally, every program threatened constantly software patents. States allow patents restrict development use software general-purpose computers, , wish avoid special danger patents applied free program make effectively proprietary. prevent , GPL assures patents used render program non-free. precise terms conditions copying, distribution modification follow.","code":""},{"path":[]},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_0-definitions","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"0. Definitions","title":"GNU General Public License","text":"“License” refers version 3 GNU General Public License. “Copyright” also means copyright-like laws apply kinds works, semiconductor masks. “Program” refers copyrightable work licensed License. licensee addressed “”. “Licensees” “recipients” may individuals organizations. “modify” work means copy adapt part work fashion requiring copyright permission, making exact copy. resulting work called “modified version” earlier work work “based ” earlier work. “covered work” means either unmodified Program work based Program. “propagate” work means anything , without permission, make directly secondarily liable infringement applicable copyright law, except executing computer modifying private copy. Propagation includes copying, distribution (without modification), making available public, countries activities well. “convey” work means kind propagation enables parties make receive copies. Mere interaction user computer network, transfer copy, conveying. interactive user interface displays “Appropriate Legal Notices” extent includes convenient prominently visible feature (1) displays appropriate copyright notice, (2) tells user warranty work (except extent warranties provided), licensees may convey work License, view copy License. interface presents list user commands options, menu, prominent item list meets criterion.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_1-source-code","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"1. Source Code","title":"GNU General Public License","text":"“source code” work means preferred form work making modifications . “Object code” means non-source form work. “Standard Interface” means interface either official standard defined recognized standards body, , case interfaces specified particular programming language, one widely used among developers working language. “System Libraries” executable work include anything, work whole, () included normal form packaging Major Component, part Major Component, (b) serves enable use work Major Component, implement Standard Interface implementation available public source code form. “Major Component”, context, means major essential component (kernel, window system, ) specific operating system () executable work runs, compiler used produce work, object code interpreter used run . “Corresponding Source” work object code form means source code needed generate, install, (executable work) run object code modify work, including scripts control activities. However, include work’s System Libraries, general-purpose tools generally available free programs used unmodified performing activities part work. example, Corresponding Source includes interface definition files associated source files work, source code shared libraries dynamically linked subprograms work specifically designed require, intimate data communication control flow subprograms parts work. Corresponding Source need include anything users can regenerate automatically parts Corresponding Source. Corresponding Source work source code form work.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_2-basic-permissions","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"2. Basic Permissions","title":"GNU General Public License","text":"rights granted License granted term copyright Program, irrevocable provided stated conditions met. License explicitly affirms unlimited permission run unmodified Program. output running covered work covered License output, given content, constitutes covered work. License acknowledges rights fair use equivalent, provided copyright law. may make, run propagate covered works convey, without conditions long license otherwise remains force. may convey covered works others sole purpose make modifications exclusively , provide facilities running works, provided comply terms License conveying material control copyright. thus making running covered works must exclusively behalf, direction control, terms prohibit making copies copyrighted material outside relationship . Conveying circumstances permitted solely conditions stated . Sublicensing allowed; section 10 makes unnecessary.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_3-protecting-users-legal-rights-from-anti-circumvention-law","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"3. Protecting Users’ Legal Rights From Anti-Circumvention Law","title":"GNU General Public License","text":"covered work shall deemed part effective technological measure applicable law fulfilling obligations article 11 WIPO copyright treaty adopted 20 December 1996, similar laws prohibiting restricting circumvention measures. convey covered work, waive legal power forbid circumvention technological measures extent circumvention effected exercising rights License respect covered work, disclaim intention limit operation modification work means enforcing, work’s users, third parties’ legal rights forbid circumvention technological measures.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_4-conveying-verbatim-copies","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"4. Conveying Verbatim Copies","title":"GNU General Public License","text":"may convey verbatim copies Program’s source code receive , medium, provided conspicuously appropriately publish copy appropriate copyright notice; keep intact notices stating License non-permissive terms added accord section 7 apply code; keep intact notices absence warranty; give recipients copy License along Program. may charge price price copy convey, may offer support warranty protection fee.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_5-conveying-modified-source-versions","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"5. Conveying Modified Source Versions","title":"GNU General Public License","text":"may convey work based Program, modifications produce Program, form source code terms section 4, provided also meet conditions: ) work must carry prominent notices stating modified , giving relevant date. b) work must carry prominent notices stating released License conditions added section 7. requirement modifies requirement section 4 “keep intact notices”. c) must license entire work, whole, License anyone comes possession copy. License therefore apply, along applicable section 7 additional terms, whole work, parts, regardless packaged. License gives permission license work way, invalidate permission separately received . d) work interactive user interfaces, must display Appropriate Legal Notices; however, Program interactive interfaces display Appropriate Legal Notices, work need make . compilation covered work separate independent works, nature extensions covered work, combined form larger program, volume storage distribution medium, called “aggregate” compilation resulting copyright used limit access legal rights compilation’s users beyond individual works permit. Inclusion covered work aggregate cause License apply parts aggregate.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_6-conveying-non-source-forms","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"6. Conveying Non-Source Forms","title":"GNU General Public License","text":"may convey covered work object code form terms sections 4 5, provided also convey machine-readable Corresponding Source terms License, one ways: ) Convey object code , embodied , physical product (including physical distribution medium), accompanied Corresponding Source fixed durable physical medium customarily used software interchange. b) Convey object code , embodied , physical product (including physical distribution medium), accompanied written offer, valid least three years valid long offer spare parts customer support product model, give anyone possesses object code either (1) copy Corresponding Source software product covered License, durable physical medium customarily used software interchange, price reasonable cost physically performing conveying source, (2) access copy Corresponding Source network server charge. c) Convey individual copies object code copy written offer provide Corresponding Source. alternative allowed occasionally noncommercially, received object code offer, accord subsection 6b. d) Convey object code offering access designated place (gratis charge), offer equivalent access Corresponding Source way place charge. need require recipients copy Corresponding Source along object code. place copy object code network server, Corresponding Source may different server (operated third party) supports equivalent copying facilities, provided maintain clear directions next object code saying find Corresponding Source. Regardless server hosts Corresponding Source, remain obligated ensure available long needed satisfy requirements. e) Convey object code using peer--peer transmission, provided inform peers object code Corresponding Source work offered general public charge subsection 6d. separable portion object code, whose source code excluded Corresponding Source System Library, need included conveying object code work. “User Product” either (1) “consumer product”, means tangible personal property normally used personal, family, household purposes, (2) anything designed sold incorporation dwelling. determining whether product consumer product, doubtful cases shall resolved favor coverage. particular product received particular user, “normally used” refers typical common use class product, regardless status particular user way particular user actually uses, expects expected use, product. product consumer product regardless whether product substantial commercial, industrial non-consumer uses, unless uses represent significant mode use product. “Installation Information” User Product means methods, procedures, authorization keys, information required install execute modified versions covered work User Product modified version Corresponding Source. information must suffice ensure continued functioning modified object code case prevented interfered solely modification made. convey object code work section , , specifically use , User Product, conveying occurs part transaction right possession use User Product transferred recipient perpetuity fixed term (regardless transaction characterized), Corresponding Source conveyed section must accompanied Installation Information. requirement apply neither third party retains ability install modified object code User Product (example, work installed ROM). requirement provide Installation Information include requirement continue provide support service, warranty, updates work modified installed recipient, User Product modified installed. Access network may denied modification materially adversely affects operation network violates rules protocols communication across network. Corresponding Source conveyed, Installation Information provided, accord section must format publicly documented (implementation available public source code form), must require special password key unpacking, reading copying.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_7-additional-terms","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"7. Additional Terms","title":"GNU General Public License","text":"“Additional permissions” terms supplement terms License making exceptions one conditions. Additional permissions applicable entire Program shall treated though included License, extent valid applicable law. additional permissions apply part Program, part may used separately permissions, entire Program remains governed License without regard additional permissions. convey copy covered work, may option remove additional permissions copy, part . (Additional permissions may written require removal certain cases modify work.) may place additional permissions material, added covered work, can give appropriate copyright permission. Notwithstanding provision License, material add covered work, may (authorized copyright holders material) supplement terms License terms: ) Disclaiming warranty limiting liability differently terms sections 15 16 License; b) Requiring preservation specified reasonable legal notices author attributions material Appropriate Legal Notices displayed works containing ; c) Prohibiting misrepresentation origin material, requiring modified versions material marked reasonable ways different original version; d) Limiting use publicity purposes names licensors authors material; e) Declining grant rights trademark law use trade names, trademarks, service marks; f) Requiring indemnification licensors authors material anyone conveys material (modified versions ) contractual assumptions liability recipient, liability contractual assumptions directly impose licensors authors. non-permissive additional terms considered “restrictions” within meaning section 10. Program received , part , contains notice stating governed License along term restriction, may remove term. license document contains restriction permits relicensing conveying License, may add covered work material governed terms license document, provided restriction survive relicensing conveying. add terms covered work accord section, must place, relevant source files, statement additional terms apply files, notice indicating find applicable terms. Additional terms, permissive non-permissive, may stated form separately written license, stated exceptions; requirements apply either way.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_8-termination","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"8. Termination","title":"GNU General Public License","text":"may propagate modify covered work except expressly provided License. attempt otherwise propagate modify void, automatically terminate rights License (including patent licenses granted third paragraph section 11). However, cease violation License, license particular copyright holder reinstated () provisionally, unless copyright holder explicitly finally terminates license, (b) permanently, copyright holder fails notify violation reasonable means prior 60 days cessation. Moreover, license particular copyright holder reinstated permanently copyright holder notifies violation reasonable means, first time received notice violation License (work) copyright holder, cure violation prior 30 days receipt notice. Termination rights section terminate licenses parties received copies rights License. rights terminated permanently reinstated, qualify receive new licenses material section 10.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_9-acceptance-not-required-for-having-copies","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"9. Acceptance Not Required for Having Copies","title":"GNU General Public License","text":"required accept License order receive run copy Program. Ancillary propagation covered work occurring solely consequence using peer--peer transmission receive copy likewise require acceptance. However, nothing License grants permission propagate modify covered work. actions infringe copyright accept License. Therefore, modifying propagating covered work, indicate acceptance License .","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_10-automatic-licensing-of-downstream-recipients","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"10. Automatic Licensing of Downstream Recipients","title":"GNU General Public License","text":"time convey covered work, recipient automatically receives license original licensors, run, modify propagate work, subject License. responsible enforcing compliance third parties License. “entity transaction” transaction transferring control organization, substantially assets one, subdividing organization, merging organizations. propagation covered work results entity transaction, party transaction receives copy work also receives whatever licenses work party’s predecessor interest give previous paragraph, plus right possession Corresponding Source work predecessor interest, predecessor can get reasonable efforts. may impose restrictions exercise rights granted affirmed License. example, may impose license fee, royalty, charge exercise rights granted License, may initiate litigation (including cross-claim counterclaim lawsuit) alleging patent claim infringed making, using, selling, offering sale, importing Program portion .","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_11-patents","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"11. Patents","title":"GNU General Public License","text":"“contributor” copyright holder authorizes use License Program work Program based. work thus licensed called contributor’s “contributor version”. contributor’s “essential patent claims” patent claims owned controlled contributor, whether already acquired hereafter acquired, infringed manner, permitted License, making, using, selling contributor version, include claims infringed consequence modification contributor version. purposes definition, “control” includes right grant patent sublicenses manner consistent requirements License. contributor grants non-exclusive, worldwide, royalty-free patent license contributor’s essential patent claims, make, use, sell, offer sale, import otherwise run, modify propagate contents contributor version. following three paragraphs, “patent license” express agreement commitment, however denominated, enforce patent (express permission practice patent covenant sue patent infringement). “grant” patent license party means make agreement commitment enforce patent party. convey covered work, knowingly relying patent license, Corresponding Source work available anyone copy, free charge terms License, publicly available network server readily accessible means, must either (1) cause Corresponding Source available, (2) arrange deprive benefit patent license particular work, (3) arrange, manner consistent requirements License, extend patent license downstream recipients. “Knowingly relying” means actual knowledge , patent license, conveying covered work country, recipient’s use covered work country, infringe one identifiable patents country reason believe valid. , pursuant connection single transaction arrangement, convey, propagate procuring conveyance , covered work, grant patent license parties receiving covered work authorizing use, propagate, modify convey specific copy covered work, patent license grant automatically extended recipients covered work works based . patent license “discriminatory” include within scope coverage, prohibits exercise , conditioned non-exercise one rights specifically granted License. may convey covered work party arrangement third party business distributing software, make payment third party based extent activity conveying work, third party grants, parties receive covered work , discriminatory patent license () connection copies covered work conveyed (copies made copies), (b) primarily connection specific products compilations contain covered work, unless entered arrangement, patent license granted, prior 28 March 2007. Nothing License shall construed excluding limiting implied license defenses infringement may otherwise available applicable patent law.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_12-no-surrender-of-others-freedom","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"12. No Surrender of Others’ Freedom","title":"GNU General Public License","text":"conditions imposed (whether court order, agreement otherwise) contradict conditions License, excuse conditions License. convey covered work satisfy simultaneously obligations License pertinent obligations, consequence may convey . example, agree terms obligate collect royalty conveying convey Program, way satisfy terms License refrain entirely conveying Program.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_13-use-with-the-gnu-affero-general-public-license","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"13. Use with the GNU Affero General Public License","title":"GNU General Public License","text":"Notwithstanding provision License, permission link combine covered work work licensed version 3 GNU Affero General Public License single combined work, convey resulting work. terms License continue apply part covered work, special requirements GNU Affero General Public License, section 13, concerning interaction network apply combination .","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_14-revised-versions-of-this-license","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"14. Revised Versions of this License","title":"GNU General Public License","text":"Free Software Foundation may publish revised /new versions GNU General Public License time time. new versions similar spirit present version, may differ detail address new problems concerns. version given distinguishing version number. Program specifies certain numbered version GNU General Public License “later version” applies , option following terms conditions either numbered version later version published Free Software Foundation. Program specify version number GNU General Public License, may choose version ever published Free Software Foundation. Program specifies proxy can decide future versions GNU General Public License can used, proxy’s public statement acceptance version permanently authorizes choose version Program. Later license versions may give additional different permissions. However, additional obligations imposed author copyright holder result choosing follow later version.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_15-disclaimer-of-warranty","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"15. Disclaimer of Warranty","title":"GNU General Public License","text":"WARRANTY PROGRAM, EXTENT PERMITTED APPLICABLE LAW. EXCEPT OTHERWISE STATED WRITING COPYRIGHT HOLDERS /PARTIES PROVIDE PROGRAM “” WITHOUT WARRANTY KIND, EITHER EXPRESSED IMPLIED, INCLUDING, LIMITED , IMPLIED WARRANTIES MERCHANTABILITY FITNESS PARTICULAR PURPOSE. ENTIRE RISK QUALITY PERFORMANCE PROGRAM . PROGRAM PROVE DEFECTIVE, ASSUME COST NECESSARY SERVICING, REPAIR CORRECTION.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_16-limitation-of-liability","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"16. Limitation of Liability","title":"GNU General Public License","text":"EVENT UNLESS REQUIRED APPLICABLE LAW AGREED WRITING COPYRIGHT HOLDER, PARTY MODIFIES /CONVEYS PROGRAM PERMITTED , LIABLE DAMAGES, INCLUDING GENERAL, SPECIAL, INCIDENTAL CONSEQUENTIAL DAMAGES ARISING USE INABILITY USE PROGRAM (INCLUDING LIMITED LOSS DATA DATA RENDERED INACCURATE LOSSES SUSTAINED THIRD PARTIES FAILURE PROGRAM OPERATE PROGRAMS), EVEN HOLDER PARTY ADVISED POSSIBILITY DAMAGES.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_17-interpretation-of-sections-15-and-16","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"17. Interpretation of Sections 15 and 16","title":"GNU General Public License","text":"disclaimer warranty limitation liability provided given local legal effect according terms, reviewing courts shall apply local law closely approximates absolute waiver civil liability connection Program, unless warranty assumption liability accompanies copy Program return fee. END TERMS CONDITIONS","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"how-to-apply-these-terms-to-your-new-programs","dir":"","previous_headings":"","what":"How to Apply These Terms to Your New Programs","title":"GNU General Public License","text":"develop new program, want greatest possible use public, best way achieve make free software everyone can redistribute change terms. , attach following notices program. safest attach start source file effectively state exclusion warranty; file least “copyright” line pointer full notice found. Also add information contact electronic paper mail. program terminal interaction, make output short notice like starts interactive mode: hypothetical commands show w show c show appropriate parts General Public License. course, program’s commands might different; GUI interface, use “box”. also get employer (work programmer) school, , sign “copyright disclaimer” program, necessary. information , apply follow GNU GPL, see . GNU General Public License permit incorporating program proprietary programs. program subroutine library, may consider useful permit linking proprietary applications library. want , use GNU Lesser General Public License instead License. first, please read .","code":" Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free software, and you are welcome to redistribute it under certain conditions; type 'show c' for details."},{"path":"https://osm-catalan.github.io/monitorOSM/docs/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Joan Maspons. Author, maintainer.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Maspons J (2024). monitorOSM: Monitor d'OSM. R package version 0.0.4, https://osm-catalan.github.io/monitorOSM/, https://github.com/OSM-Catalan/monitorOSM.","code":"@Manual{, title = {monitorOSM: Monitor d'OSM}, author = {Joan Maspons}, year = {2024}, note = {R package version 0.0.4, https://osm-catalan.github.io/monitorOSM/}, url = {https://github.com/OSM-Catalan/monitorOSM}, }"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/index.html","id":"monitorosm-","dir":"","previous_headings":"","what":"Monitor d'OSM","title":"Monitor d'OSM","text":"monitorOSM és un repositori que serveix per monitoritzar canvis OpenStreetMap comparant els objectes amb bases de dades de referència. Podeu veure els informes que s’actualitzen diàriament https://osm-catalan.github.io/monitorOSM. Els informes de canvis mostren taules amb l’estat de les etiquetes OSM les bases de dades de referència: També es mostra quins conjunts de canvis han trencat les etiquetes amb enllaços per si es vol deixar comentaris.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/index.html","id":"afegir-nous-objectes-a-les-bases-de-dades","dir":"","previous_headings":"","what":"Afegir nous objectes a les bases de dades","title":"Monitor d'OSM","text":"Si voleu afegir objectes amb les seves etiquetes les bases de dades, podeu obrir un tiquet o podeu provar de fer un PR amb les instruccions que trobareu aquí. Fora bo que els estats de referència dels objectes siguin consensuats amb la Comunitat d’OpenStreetmap en català.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/index.html","id":"paquet-dr","dir":"","previous_headings":"","what":"Paquet d’R","title":"Monitor d'OSM","text":"La consulta, comparació amb bases de dades de referència renderització de la web es fan amb un paquet d’R accions de github. El paquet també inclou funcions per restaurar els objectes de manera ràpida, però com projecte comunitari, és important intentar parlar amb els usuaris que discrepen de les bases de dades de referència. Vegeu la documentació del paquet d’R per més detalls.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/index.html","id":"exemples-dús-del-paquet","dir":"","previous_headings":"Paquet d’R","what":"Exemples d’ús del paquet","title":"Monitor d'OSM","text":"Instal·leu el paquet d’R:","code":"# install.packages(\"remotes\") remotes::install_github(\"OSM-Catalan/monitorOSM\")"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/index.html","id":"generació-dels-informes-locals","dir":"","previous_headings":"Paquet d’R","what":"Generació dels informes locals","title":"Monitor d'OSM","text":"Per refrescar els informes localment veure la web, podeu clonar el repositori des d’R situat la carpeta del projecte:","code":"# install.packages(\"quarto\") library(quarto) quarto_render()"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/index.html","id":"exemple-de-restauració","dir":"","previous_headings":"Paquet d’R > Generació dels informes locals","what":"Exemple de restauració","title":"Monitor d'OSM","text":"Restauració de les etiquetes name wikipedia de les comarques del País Valencià: Retorna l’identificador del conjunt de canvis.","code":"library(monitorOSM) id <- modifica_etiquetes_osm( comarques[comarques$regio == \"PV\", ], claus = c(\"name\", \"wikipedia\"), comentari = \"Restaura els noms de les comarques dels País Valencià\", hashtags = \"monitorOSM\" )"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/PPCC.html","id":null,"dir":"Reference","previous_headings":"","what":"Països Catalans — PPCC","title":"Països Catalans — PPCC","text":"Dades dels Països Catalans OSM.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/PPCC.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Països Catalans — PPCC","text":"","code":"PPCC"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/PPCC.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Països Catalans — PPCC","text":"Un data.frame amb les dades de la relació «Països Catalans» per les següents 6 variables. name:ca Etiqueta name:ca. osm_id Número identificador OSM. osm_type Tipus d'objecte d'OSM. name Etiqueta name. wikipedia Etiqueta wikipedia. wikidata Etiqueta wikidata.","code":""},{"path":[]},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/PPCC.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Països Catalans — PPCC","text":"","code":"PPCC[, 1:3] #> name:ca osm_id osm_type #> 1 Països Catalans 11747082 relation"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/canvis_html.html","id":null,"dir":"Reference","previous_headings":"","what":"Canvis en html — canvis_html","title":"Canvis en html — canvis_html","text":"Mostra diferències de taules en html si n'hi ha. Funció pensada per usar en fitxers .qmd o .Rmd.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/canvis_html.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Canvis en html — canvis_html","text":"","code":"canvis_html(x)"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/canvis_html.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Canvis en html — canvis_html","text":"x un objecte de compareDF::compare_df().","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/canvis_html.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Canvis en html — canvis_html","text":"La taula html amb les diferències o una cadena de text indicant que hi ha diferències.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/capitals.html","id":null,"dir":"Reference","previous_headings":"","what":"Capitals d'estats del mon — capitals","title":"Capitals d'estats del mon — capitals","text":"Dades de les capitals d'estats del mon, objectes amb etiquetes `capital = 2`, `capital = yes` o nodes amb el rol d'`admin_centre` de de relacions d'estats.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/capitals.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Capitals d'estats del mon — capitals","text":"","code":"capitals"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/capitals.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Capitals d'estats del mon — capitals","text":"Un data.frame amb dades de les 155 capitals per les següents 8 variables. name:ca Etiqueta name:ca. name Etiqueta name. osm_id Número identificador OSM. osm_type Tipus d'objecte d'OSM. alt_name Etiqueta alt_name. alt_name:ca Etiqueta name. place Etiqueta place. wikidata Etiqueta wikidata.","code":""},{"path":[]},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/capitals.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Capitals d'estats del mon — capitals","text":"","code":"capitals[, c(\"name:ca\", \"name\", \"wikidata\")] #> name:ca name wikidata #> 1 کابل Q5838 #> 2 Episkopi Cantonment #> 3 Tirana Tiranë Q19689 #> 4 Berlín Berlin Q64 #> 5 Alger Alger ⴷⵣⴰⵢⴻⵔ الجزائر Q3561 #> 6 Andorra la Vella Andorra la Vella Q1863 #> 7 Luanda Q3897 #> 8 The Valley Q30994 #> 9 St. John's Q36262 #> 10 Al-Riyad الرياض Q3692 #> 11 Buenos Aires Q1486 #> 12 Erevan Երևան Q1953 #> 13 Canberra Q3114 #> 14 Viena Wien Q1741 #> 15 Bakú Bakı Q9248 #> 16 Nassau Q2467 #> 17 Al-Manama المنامة Q3882 #> 18 ঢাকা Q1354 #> 19 Bridgetown Q36168 #> 20 Brussel·les Bruxelles - Brussel Q239 #> 21 Belmopan Q3043 #> 22 Porto-Novo Porto-Novo Q3799 #> 23 Hamilton Hamilton Q30985 #> 24 ཐིམ་ཕུ Q9270 #> 25 Мінск Q2280 #> 26 Sucre Q2907 #> 27 La Paz Q1491 #> 28 Sarajevo Q11194 #> 29 Gaborone Q3919 #> 30 Brasília Q2844 #> 31 Bandar Seri Begawan Q9279 #> 32 Sofia София Q472 #> 33 Ouagadougou Ouagadougou Q3777 #> 34 Gitega Q167551 #> 35 រាជធានីភ្នំពេញ Q1850 #> 36 Yaoundé Q3808 #> 37 Ottawa Q1930 #> 38 Praia Q3751 #> 39 Ciutat del Vaticà Civitas Vaticana - Città del Vaticano Q237 #> 40 Bogotà Bogotá Q2841 #> 41 Moroni موروني Q3901 #> 42 Brazzaville Q3844 #> 43 Pyongyang 평양시 Q18808 #> 44 Seül 서울 Q8684 #> 45 Yamoussoukro Q3768 #> 46 San José Q3070 #> 47 Zagreb Zagreb Q1435 #> 48 l'Havana La Habana Q1563 #> 49 Copenhaguen København Q1748 #> 50 Djibouti Djibouti جيبوتي Q3604 #> 51 Roseau Roseau Q36281 #> 52 el Caire القاهرة Q85 #> 53 San Salvador Q3110 #> 54 أبو ظبي Q1519 #> 55 Quito Q2900 #> 56 ኣስመራ Asmara أسمرة Q3642 #> 57 Bratislava Q1780 #> 58 Ljubljana Q437 #> 59 Madrid Madrid Q2807 #> 60 Washington DC Washington Q61 #> 61 Tallinn Q1770 #> 62 Addis Abeba አዲስ አበባ / Addis Ababa Q3624 #> 63 Suva Q38807 #> 64 Manila Manila Q1461 #> 65 Hèlsinki Helsinki Q1757 #> 66 París Paris Q90 #> 67 Libreville Q3825 #> 68 Banjul Q3726 #> 69 Tbilissi თბილისი Q994 #> 70 Accra Q3761 #> 71 Gibraltar Q1410 #> 72 Atenes Αθήνα Q1524 #> 73 St. George's Q41547 #> 74 Nuuk Q226 #> 75 Ciutat de Guatemala Ciudad de Guatemala Q1555 #> 76 St Peter Port Q174262 #> 77 Conakry Q3733 #> 78 Bissau Q3739 #> 79 Malabo Q3818 #> 80 Georgetown Q10717 #> 81 Port-au-Prince Q34261 #> 82 Tegucigalpa Q3238 #> 83 Budapest Budapest Q1781 #> 84 Sanà صنعاء Q2471 #> 85 Douglas Q18569 #> 86 Brades Q31006 #> 87 George Town Q172996 #> 88 Avarua Avarua Q170482 #> 89 Tórshavn Q10704 #> 90 King Edward Point Q393878 #> 91 Stanley Q12245 #> 92 Adamstown Q48273 #> 93 Cockburn Town Q34205 #> 94 Road Town Q179431 #> 95 Nova Delhi New Delhi Q987 #> 96 Jakarta Q3630 #> 97 Teheran تهران Q3616 #> 98 Bagdad بغداد Q1530 #> 99 Dublín Dublin Q1761 #> 100 Reykjavík Q1764 #> 101 Jerusalem ירושלים Q1218 #> 102 Roma Roma Q220 #> 103 Kingston Q34692 #> 104 Tòquio 東京都 Q1490 #> 105 St Helier Q147738 #> 106 عمان Q3805 #> 107 Astana Астана Q1520 #> 108 Nairobi Q3870 #> 109 Bixkek Бишкек Q9361 #> 110 Prishtinë Q25270 #> 111 Al-Kuwait مدينة الكويت Q35178 #> 112 ວຽງຈັນ Q9326 #> 113 Maseru Q3909 #> 114 Riga Rīga Q1773 #> 115 بيروت Q3820 #> 116 Monròvia Monrovia Q3748 #> 117 Trípoli طرابلس Q3579 #> 118 Vaduz Q1844 #> 119 Vílnius Vilnius Q216 #> 120 Ciutat de Luxemburg Luxembourg Q1842 #> 121 Скопје Q384 #> 122 Antananarivo Antananarivo #> 123 Kuala Lumpur Q1865 #> 124 Lilongwe Q3876 #> 125 މާލެ Q9347 #> 126 Bamako Q3703 #> 127 La Valletta Valletta Q23800 #> 128 Rabat ⵔⴱⴰⵟ الرباط Q3551 #> 129 Port Louis Port Louis Q3929 #> 130 نواكشوط Q3688 #> 131 Ciutat de Mèxic Ciudad de México Q1489 #> 132 Palikir Palikir Q42751 #> 133 Maputo Maputo Q3889 #> 134 Chișinău Q21197 #> 135 Mònaco Monaco Q235 #> 136 Ulan Bator Улаанбаатар ᠤᠯᠠᠭᠠᠨᠪᠠᠭᠠᠲᠤᠷ Q23430 #> 137 Podgorica Q23564 #> 138 နေပြည်တော် Q37400 #> 139 Windhoek Windhoek Q3935 #> 140 Yaren Yaren Q31026 #> 141 Katmandú काठमाडौं Q3037 #> 142 Managua Q3274 #> 143 Niamey Q3674 #> 144 Abuja Q3787 #> 145 Alofi Alofi Q30966 #> 146 Oslo Oslo Q585 #> 147 Wellington Q23661 #> 148 Masqat مسقط Q3826 #> 149 Amsterdam Q727 #> 150 اسلام آباد Q1362 #> 151 Ngerulmud Q515229 #> 152 Panamà Panamá Q3306 #> 153 Port Moresby Q36526 #> 154 Asunción Q2933 #> 155 Lima Q2868 #> 156 Varsòvia Warszawa Q270 #> 157 Lisboa Q597 #> 158 Doha الدوحة Q3861 #> 159 Londres London Q84 #> 160 Bangui Bangui Q3832 #> 161 Kinshasa Q3838 #> 162 Santo Domingo Q34820 #> 163 Bucarest București Q19660 #> 164 Moscou Москва Q649 #> 165 Kigali Q3859 #> 166 Basseterre Q41295 #> 167 Castries Q41699 #> 168 Kingstown Q41474 #> 169 Honiara Q40921 #> 170 Apia Q36260 #> 171 Ciutat de San Marino Città di San Marino Q1848 #> 172 São Tomé Q3932 #> 173 Dakar Q3718 #> 174 Belgrad Београд Q3711 #> 175 Victòria Victoria Q3940 #> 176 Freetown Q3780 #> 177 Singapur Singapore Q334 #> 178 Damasc دمشق Q3766 #> 179 Mogadixo Muqdisho مقديشو Q2449 #> 180 Colombo Q35381 #> 181 Pretòria Pretoria Q3926 #> 182 Khartum الخرطوم Q1963 #> 183 Juba Juba Q1947 #> 184 Estocolm Stockholm Q1754 #> 185 Berna Bern Q70 #> 186 Paramaribo Q3001 #> 187 Mbabane Mbabane Q3904 #> 188 Duixanbe Душанбе Q9365 #> 189 กรุงเทพมหานคร Q1861 #> 190 Taipei 臺北市 Q1867 #> 191 Dodoma Q3866 #> 192 Camp Thunder Cove Q5027293 #> 193 Dili Q9310 #> 194 Lomé Q3792 #> 195 Fakaofo Q2140263 #> 196 Nuku'alofa Nukuʻalofa Q38834 #> 197 Port of Spain Q39178 #> 198 Tunísia تونس Q3572 #> 199 Aşgabat Q23438 #> 200 Ankara Q3640 #> 201 Funafuti Q34126 #> 202 N'Djamena N'Djaména انجمينا Q3659 #> 203 Praga Praha Q1085 #> 204 Kíiv Київ Q1899 #> 205 Kampala Q3894 #> 206 Montevideo Q1335 #> 207 Taixkent Toshkent Q269 #> 208 Port Vila Port Vila Q37806 #> 209 Caracas Q1533 #> 210 Hanoi Hà Nội Q1858 #> 211 Santiago Q2887 #> 212 Pequín 北京市 Q956 #> 213 Nicòsia Λευκωσία - Lefkoşa Q3856 #> 214 Lusaka Q3881 #> 215 Harare Q3921 #> 216 Alger Alger Q141026 #> 217 Astana Астана Q1520 #> 218 Ciutat del Cap Cape Town Q5465 #> 219 Erevan Երևան Q1953 #> 220 Hèlsinki Helsinki Q1757 #> 221 l'Havana La Habana Q12588 #> 222 Lomé Lomé Q3792 #> 223 Majuro Mājro Q12919 #> 224 París Paris Q90 #> 225 Taipei 臺北市 Q1867 #> 226 Taixkent Toshkent Q269 #> 227 Tallinn Tallinn Q1770 #> 228 Tarawa Sud South Tarawa Q131233 #> 229 Teheran شهر تهران Q3616 #> 230 Varsòvia Warszawa Q270 #> 231 Viena Wien Q1741 #> 232 Jamestown Q30970 #> 233 تفاريتي Q2360337 #> 234 Bloemfontein Q37701 #> 235 رام الله Q158119 #> 236 Sri Jayawardenepura Kotte Q41963 #> 237 Ciudad de la Paz Q1140136 #> 238 Hargeysa هرجيسا Q168652 #> 239 Мінск Q2280 #> 240 Saint-Denis Q47045 #> 241 Pago Pago Q51678 #> 242 Hagåtña Q30988 #> 243 Charlotte Amalie Q51681 #> 244 Basse-Terre Q167024 #> 245 Fort-de-France Q81621 #> 246 Saint-Pierre Q249884 #> 247 Nouméa Q9733 #> 248 Douglas Q18569 #> 249 Cayenne Q44401 #> 250 Chișinău Q21197 #> 251 Mariehamn Q48329 #> 252 Bakı #> 253 Reykjavíkurborg Q1764 #> 254 Zagreb Q1435 #> 255 Mamoudzou Q132676 #> 256 Bratislava Q1780 #> 257 Cantón de San José Q2536213 #> 258 София Q472 #> 259 Prishtinë Q25270 #> 260 شهر بوکان #> 261 Port-aux-Français Q839559 #> 262 Belmopan Q3043"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/cerca_versio_canvis.html","id":null,"dir":"Reference","previous_headings":"","what":"Cerca les versions que introdueixen canvis — cerca_versio_canvis","title":"Cerca les versions que introdueixen canvis — cerca_versio_canvis","text":"Cerca les versions que introdueixen canvis","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/cerca_versio_canvis.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Cerca les versions que introdueixen canvis — cerca_versio_canvis","text":"","code":"cerca_versio_canvis(x)"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/cerca_versio_canvis.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Cerca les versions que introdueixen canvis — cerca_versio_canvis","text":"x El resultat de comprova_canvis_osm() o similar.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/cerca_versio_canvis.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Cerca les versions que introdueixen canvis — cerca_versio_canvis","text":"Retorna una llista de les versions que introdueixen canvis per cada etiqueta.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/cerca_versio_canvis.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Cerca les versions que introdueixen canvis — cerca_versio_canvis","text":"","code":"if (FALSE) { # \\dontrun{ comarques_canviades <- comarques[, setdiff(names(comarques), \"regio\")] comarques_canviades$name[1] <- \"Malnom\" canvis <- comprova_canvis_osm(comarques_canviades) versions_canvi <- cerca_versio_canvis(canvis) versions_canvi } # }"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comarques.html","id":null,"dir":"Reference","previous_headings":"","what":"Comarques dels Països Catalans — comarques","title":"Comarques dels Països Catalans — comarques","text":"Dades de les Comarques dels Països Catalans.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comarques.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Comarques dels Països Catalans — comarques","text":"","code":"comarques"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comarques.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Comarques dels Països Catalans — comarques","text":"Un data.frame amb dades de les 95 comarques per les següents 9 variables. name:ca Etiqueta name:ca. regio Subdivisió [\"Andorra\", \"CatNord\", \"Franja\", \"Illes\", \"Múrcia\", \"Principat\", \"PV\"]. osm_id Número identificador OSM. osm_type Tipus d'objecte d'OSM. name Etiqueta name. wikipedia Etiqueta wikipedia. wikidata Etiqueta wikidata. admin_level Etiqueta admin_level. historic:admin_level Etiqueta historic:admin_level.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comarques.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Comarques dels Països Catalans — comarques","text":"Les parròquies d'Andorra corresponen comarques (admin_level = \"7\") s'inclouen comarques.","code":""},{"path":[]},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comarques.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Comarques dels Països Catalans — comarques","text":"","code":"comarques[, c(\"name:ca\", \"regio\", \"name\")] #> name:ca regio name #> 1 Andorra la Vella Andorra Andorra la Vella #> 2 Canillo Andorra Canillo #> 3 Encamp Andorra Encamp #> 4 Escaldes-Engordany Andorra Escaldes-Engordany #> 5 La Massana Andorra La Massana #> 6 Ordino Andorra Ordino #> 7 Sant Julià de Lòria Andorra Sant Julià de Lòria #> 8 Alta Cerdanya CatNord Alta Cerdanya #> 9 Capcir CatNord Capcir #> 10 Conflent CatNord Conflent #> 11 Fenolledès CatNord Fenolhedés #> 12 Rosselló CatNord Rosselló #> 13 Vallespir CatNord Vallespir #> 14 Baix Aragó Franja Bajo Aragón #> 15 Baix Aragó-Casp Franja Bajo Aragón-Caspe / Baix Aragó-Casp #> 16 Baix Cinca Franja Bajo Cinca / Baix Cinca #> 17 La Llitera Franja La Litera / La Llitera #> 18 Matarranya Franja Matarraña / Matarranya #> 19 Ribagorça Franja Ribagorza #> 20 Eivissa Illes Eivissa #> 21 Formentera Illes Formentera #> 22 Llevant Illes Llevant #> 23 Menorca Illes Menorca #> 24 Migjorn Illes Migjorn #> 25 Palma Illes Palma #> 26 Pla de Mallorca Illes Pla de Mallorca #> 27 Raiguer Illes Raiguer #> 28 Serra de Tramuntana Illes Serra de Tramuntana #> 29 el Carxe Múrcia El Carche #> 30 Alt Camp Principat Alt Camp #> 31 Alt Empordà Principat Alt Empordà #> 32 Alt Penedès Principat Alt Penedès #> 33 Alt Urgell Principat Alt Urgell #> 34 Alta Ribagorça Principat Alta Ribagorça #> 35 Anoia Principat Anoia #> 36 Bages Principat Bages #> 37 Baix Camp Principat Baix Camp #> 38 Baix Ebre Principat Baix Ebre #> 39 Baix Empordà Principat Baix Empordà #> 40 Baix Llobregat Principat Baix Llobregat #> 41 Baix Penedès Principat Baix Penedès #> 42 Barcelonès Principat Barcelonès #> 43 Berguedà Principat Berguedà #> 44 Cerdanya Principat Cerdanya #> 45 Conca de Barberà Principat Conca de Barberà #> 46 Garraf Principat Garraf #> 47 Garrigues Principat Garrigues #> 48 Garrotxa Principat Garrotxa #> 49 Gironès Principat Gironès #> 50 la Selva Principat la Selva #> 51 Lluçanès Principat Lluçanès #> 52 Maresme Principat Maresme #> 53 Moianès Principat Moianès #> 54 Montsià Principat Montsià #> 55 Noguera Principat Noguera #> 56 Osona Principat Osona #> 57 Pallars Jussà Principat Pallars Jussà #> 58 Pallars Sobirà Principat Pallars Sobirà #> 59 Pla d'Urgell Principat Pla d'Urgell #> 60 Pla de l'Estany Principat Pla de l'Estany #> 61 Priorat Principat Priorat #> 62 Ribera d'Ebre Principat Ribera d'Ebre #> 63 Ripollès Principat Ripollès #> 64 Segarra Principat Segarra #> 65 Segrià Principat Segrià #> 66 Solsonès Principat Solsonès #> 67 Tarragonès Principat Tarragonès #> 68 Terra Alta Principat Terra Alta #> 69 Urgell Principat Urgell #> 70 Vallès Occidental Principat Vallès Occidental #> 71 Vallès Oriental Principat Vallès Oriental #> 72 Comarca de València PV Comarca de València #> 73 el Baix Maestrat PV el Baix Maestrat #> 74 el Baix Segura PV el Baix Segura / La Vega Baja del Segura #> 75 el Baix Vinalopó PV el Baix Vinalopó #> 76 el Camp de Morvedre PV el Camp de Morvedre #> 77 el Camp de Túria PV el Camp de Túria #> 78 el Comtat PV el Comtat #> 79 el Vinalopó Mitjà PV el Vinalopó Mitjà / El Vinalopó Medio #> 80 els Ports PV els Ports #> 81 l'Alacantí PV l'Alacantí #> 82 l'Alcalatén PV l'Alcalatén #> 83 l'Alcoià PV l'Alcoià #> 84 l'Alt Maestrat PV l'Alt Maestrat #> 85 l'Alt Vinalopó PV l'Alt Vinalopó / El Alto Vinalopó #> 86 l'Horta Nord PV l'Horta Nord #> 87 l'Horta Sud PV l'Horta Sud #> 88 la Costera PV la Costera #> 89 la Marina Alta PV la Marina Alta #> 90 la Marina Baixa PV la Marina Baixa #> 91 la Plana Alta PV la Plana Alta #> 92 la Plana Baixa PV la Plana Baixa #> 93 la Ribera Alta PV la Ribera Alta #> 94 la Ribera Baixa PV la Ribera Baixa #> 95 la Safor PV la Safor #> 96 la Vall d'Albaida PV la Vall d'Albaida"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comprova_canvis_osm.html","id":null,"dir":"Reference","previous_headings":"","what":"Comprova canvis a OSM — comprova_canvis_osm","title":"Comprova canvis a OSM — comprova_canvis_osm","text":"Compara l'estat actual d'objectes d'OSM respecte una taula de referència.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comprova_canvis_osm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Comprova canvis a OSM — comprova_canvis_osm","text":"","code":"comprova_canvis_osm(x, centre = FALSE)"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comprova_canvis_osm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Comprova canvis a OSM — comprova_canvis_osm","text":"x un data.frame amb les columnes osm_type, osm_id etiquetes que vulguem comprovar. centre si és TRUE, afegeix les coordenades del centre de l'objecte les columnes osm_center_lon osm_center_lat.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comprova_canvis_osm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Comprova canvis a OSM — comprova_canvis_osm","text":"Retorna una comparació amb compareDF::compare_df() de les diferències d'etiquetes dels objectes d'OSM d'x respecte les etiquetes actuals OSM.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comprova_canvis_osm.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Comprova canvis a OSM — comprova_canvis_osm","text":"Només es comparen les etiquetes presents com columnes d'x la resta s'ometen.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comprova_canvis_osm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Comprova canvis a OSM — comprova_canvis_osm","text":"","code":"if (FALSE) { # \\dontrun{ comarques_canviades <- comarques[, setdiff(names(comarques), \"regio\")] comarques_canviades$name[1] <- \"Malnom\" canvis <- comprova_canvis_osm(comarques_canviades) canvis_html(canvis) } # }"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/consulta_etiquetes_osm.html","id":null,"dir":"Reference","previous_headings":"","what":"Consulta etiquetes d'OSM — consulta_etiquetes_osm","title":"Consulta etiquetes d'OSM — consulta_etiquetes_osm","text":"Consulta etiquetes d'OSM","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/consulta_etiquetes_osm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Consulta etiquetes d'OSM — consulta_etiquetes_osm","text":"","code":"consulta_etiquetes_osm(x, etiquetes, centre = FALSE)"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/consulta_etiquetes_osm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Consulta etiquetes d'OSM — consulta_etiquetes_osm","text":"x un data.frame o matrix amb les columnes osm_type osm_id. etiquetes noms de les claus de les etiquetes consultar. Si s'especifica, s'afegeixen totes les etiquetes dels objectes. centre si és TRUE, afegeix les coordenades del centre de l'objecte les columnes osm_center_lon osm_center_lat.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/consulta_etiquetes_osm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Consulta etiquetes d'OSM — consulta_etiquetes_osm","text":"Retorna x amb les etiquetes dels objectes com columnes. Si les columnes ja existien, actualitza els valors de les etiquetes conserva l'ordre de les columnes originals afegint les noves al final.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/consulta_etiquetes_osm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Consulta etiquetes d'OSM — consulta_etiquetes_osm","text":"","code":"if (FALSE) { # \\dontrun{ territoris_etiquetes_completes <- consulta_etiquetes_osm(territoris) } # }"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/estats.html","id":null,"dir":"Reference","previous_headings":"","what":"Estats del mon — estats","title":"Estats del mon — estats","text":"Dades dels estats del mon, relacions amb etiquetes `admin_centre = 2` `boundary = administrative`.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/estats.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Estats del mon — estats","text":"","code":"estats"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/estats.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Estats del mon — estats","text":"Un data.frame amb dades dels 243 estats per les següents 9 variables. name:ca Etiqueta name:ca. name Etiqueta name. osm_id Número identificador OSM. osm_type Tipus d'objecte d'OSM. alt_name Etiqueta alt_name. alt_name:ca Etiqueta name. long_name Etiqueta alt_name:ca. native_name Etiqueta native_name. official_name Etiqueta official_name. official_name:ca Etiqueta official_name:ca. old_name Etiqueta old_name. old_name:ca Etiqueta old_name:ca. old_official_name Etiqueta old_official_name. old_official_name:ca Etiqueta old_official_name:ca. short_name Etiqueta short_name. short_name:ca Etiqueta short_name:ca. wikidata Etiqueta wikidata.","code":""},{"path":[]},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/estats.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Estats del mon — estats","text":"","code":"estats[, c(\"name:ca\", \"name\", \"wikidata\")] #> name:ca #> 1 Afganistan #> 2 Akrotiri i Dekélia #> 3 Albània #> 4 Alemanya #> 5 Algèria #> 6 Andorra #> 7 Angola #> 8 Anguilla #> 9 Antigua i Barbuda #> 10 Aràbia Saudita #> 11 Argentina #> 12 Armènia #> 13 Austràlia #> 14 Àustria #> 15 Azerbaidjan #> 16 Bahames #> 17 Bahrain #> 18 Bangla Desh #> 19 Barbados #> 20 Bèlgica #> 21 Belize #> 22 Benín #> 23 Bermudes #> 24 Bhutan #> 25 Bielorússia #> 26 Bolívia #> 27 Bòsnia i Hercegovina #> 28 Botswana #> 29 Brasil #> 30 Brunei #> 31 Bulgària #> 32 Burkina Faso #> 33 Burundi #> 34 Cambodja #> 35 Camerun #> 36 Canadà #> 37 Cap Verd #> 38 Ciutat del Vaticà #> 39 Colòmbia #> 40 Comores #> 41 Congo #> 42 Corea del Nord #> 43 Corea del Sud #> 44 Costa d'Ivori #> 45 Costa Rica #> 46 Croàcia #> 47 Cuba #> 48 Dinamarca #> 49 Djibouti #> 50 Dominica #> 51 Egipte #> 52 El Salvador #> 53 Emirats Àrabs Units #> 54 Equador #> 55 Eritrea #> 56 Eslovàquia #> 57 Eslovènia #> 58 Espanya #> 59 Estats Units d'Amèrica #> 60 Estònia #> 61 Eswatini #> 62 Etiòpia #> 63 Fiji #> 64 Filipines #> 65 Finlàndia #> 66 França #> 67 França - Andorra #> 68 França - Espanya #> 69 Gabon #> 70 Gàmbia #> 71 Geòrgia #> 72 Ghana #> 73 Gibraltar #> 74 Grècia #> 75 Grenada #> 76 Groenlàndia #> 77 Guatemala #> 78 Guernsey #> 79 Guinea #> 80 Guinea Bissau #> 81 Guinea Equatorial #> 82 Guyana #> 83 Haití #> 84 Hondures #> 85 Hongria #> 86 Iemen #> 87 Illa de Man #> 88 Illa de Montserrat #> 89 Illes Caiman #> 90 Illes Cook #> 91 Illes Fèroe #> 92 Illes Geòrgia del Sud i Sandwich del Sud #> 93 Illes Malvines #> 94 Illes Marshall #> 95 Illes Pitcairn #> 96 Illes Turks i Caicos #> 97 Illes Verges Britàniques #> 98 Índia #> 99 Indonèsia #> 100 Iran #> 101 Iraq #> 102 Irlanda #> 103 Islàndia #> 104 Israel #> 105 Itàlia #> 106 Jamaica #> 107 Japó #> 108 Jersey #> 109 Jordània #> 110 Kazakhstan #> 111 Kenya #> 112 Kirguizistan #> 113 Kiribati #> 114 Kosovo #> 115 Kuwait #> 116 Laos #> 117 Lesotho #> 118 Letònia #> 119 Líban #> 120 Libèria #> 121 Líbia #> 122 Liechtenstein #> 123 Lituània #> 124 Luxemburg #> 125 Macedònia del Nord #> 126 Madagascar #> 127 Malàisia #> 128 Malawi #> 129 Maldives #> 130 Mali #> 131 Malta #> 132 Marroc #> 133 Maurici #> 134 Mauritània #> 135 Mèxic #> 136 Micronèsia #> 137 Moçambic #> 138 Moldàvia #> 139 Mònaco #> 140 Mongòlia #> 141 Montenegro #> 142 Myanmar #> 143 Namíbia #> 144 Nauru #> 145 Nepal #> 146 Nicaragua #> 147 Níger #> 148 Nigèria #> 149 Niue #> 150 Noruega #> 151 Nova Zelanda #> 152 Oman #> 153 Països Baixos #> 154 Pakistan #> 155 Palau #> 156 Panamà #> 157 Papua Nova Guinea #> 158 Paraguai #> 159 Perú #> 160 Polònia #> 161 Portugal #> 162 Qatar #> 163 Regne Unit #> 164 República Àrab Sahrauí Democràtica #> 165 República Centreafricana #> 166 República Democràtica del Congo #> 167 República Dominicana #> 168 Romania #> 169 Rússia #> 170 Rwanda #> 171 Saint Kitts i Nevis #> 172 Saint Lucia #> 173 Saint Vincent i les Grenadines #> 174 Salomó #> 175 Samoa #> 176 San Marino #> 177 Santa Helena, Ascensió i Tristan da Cunha #> 178 São Tomé i Príncipe #> 179 Senegal #> 180 Sèrbia #> 181 Seychelles #> 182 Sierra Leone #> 183 Singapur #> 184 Síria #> 185 Somàlia #> 186 Sri Lanka #> 187 Sud-àfrica #> 188 Sudan #> 189 Sudan del Sud #> 190 Suècia #> 191 Suïssa #> 192 Surinam #> 193 Tadjikistan #> 194 Tailàndia #> 195 Taiwan #> 196 Tanzània #> 197 Territori Britànic de l'Oceà Índic #> 198 Timor Oriental #> 199 Togo #> 200 Tokelau #> 201 Tonga #> 202 Trinitat i Tobago #> 203 Tunísia #> 204 Turkmenistan #> 205 Turquia #> 206 Tuvalu #> 207 Txad #> 208 Txèquia #> 209 Ucraïna #> 210 Uganda #> 211 Uruguai #> 212 Uzbekistan #> 213 Vanuatu #> 214 Veneçuela #> 215 Vietnam #> 216 Xile #> 217 Xina #> 218 Xipre #> 219 Zàmbia #> 220 Zimbabwe #> 221 #> 222 #> 223 #> 224 #> 225 #> 226 #> 227 #> 228 #> 229 #> 230 #> 231 #> 232 #> 233 #> 234 #> 235 #> 236 #> 237 #> 238 #> 239 #> 240 #> 241 #> 242 #> 243 #> name #> 1 افغانستان #> 2 Akrotiri and Dhekelia #> 3 Shqipëria #> 4 Deutschland #> 5 Algérie ⵍⵣⵣⴰⵢⴻⵔ الجزائر #> 6 Andorra #> 7 Angola #> 8 Anguilla #> 9 Antigua and Barbuda #> 10 السعودية #> 11 Argentina #> 12 Հայաստան #> 13 Australia #> 14 Österreich #> 15 Azərbaycan #> 16 The Bahamas #> 17 البحرين #> 18 বাংলাদেশ #> 19 Barbados #> 20 België / Belgique / Belgien #> 21 Belize #> 22 Bénin #> 23 Bermuda #> 24 འབྲུགཡུལ་ #> 25 Беларусь #> 26 Bolivia #> 27 Bosna i Hercegovina / Босна и Херцеговина #> 28 Botswana #> 29 Brasil #> 30 Brunei #> 31 България #> 32 Burkina Faso #> 33 Burundi #> 34 ព្រះរាជាណាចក្រ​កម្ពុជា #> 35 Cameroun #> 36 Canada #> 37 Cabo Verde #> 38 Civitas Vaticana - Città del Vaticano #> 39 Colombia #> 40 Comores Komori جزر القمر #> 41 Congo #> 42 조선민주주의인민공화국 #> 43 대한민국 #> 44 Côte d’Ivoire #> 45 Costa Rica #> 46 Hrvatska #> 47 Cuba #> 48 Danmark #> 49 Djibouti جيبوتي #> 50 Dominica #> 51 مصر #> 52 El Salvador #> 53 الإمارات العربية المتحدة #> 54 Ecuador #> 55 ኤርትራ Eritrea إرتريا #> 56 Slovensko #> 57 Slovenija #> 58 España #> 59 United States #> 60 Eesti #> 61 eSwatini #> 62 ኢትዮጵያ #> 63 Viti #> 64 Pilipinas #> 65 Suomi / Finland #> 66 France #> 67 France - Andorra #> 68 France - España #> 69 Gabon #> 70 Gambia #> 71 საქართველო #> 72 Ghana #> 73 Gibraltar #> 74 Ελλάς #> 75 Grenada #> 76 Kalaallit Nunaat #> 77 Guatemala #> 78 Guernsey #> 79 Guinée #> 80 Guiné-Bissau #> 81 Guinea Ecuatorial #> 82 Guyana #> 83 Ayiti #> 84 Honduras #> 85 Magyarország #> 86 اليمن #> 87 Isle of Man #> 88 Montserrat #> 89 Cayman Islands #> 90 Kūki ʻĀirani #> 91 Føroyar #> 92 South Georgia and the South Sandwich Islands #> 93 Falkland Islands #> 94 Ṃajeḷ #> 95 Pitcairn Islands #> 96 Turks and Caicos Islands #> 97 British Virgin Islands #> 98 India #> 99 Indonesia #> 100 ایران #> 101 العراق #> 102 Éire / Ireland #> 103 Ísland #> 104 ישראל #> 105 Italia #> 106 Jamaica #> 107 日本 #> 108 Jersey #> 109 الأردن #> 110 Қазақстан #> 111 Kenya #> 112 Кыргызстан #> 113 Kiribati #> 114 Kosova / Kosovo #> 115 الكويت #> 116 ປະເທດລາວ #> 117 Lesotho #> 118 Latvija #> 119 لبنان #> 120 Liberia #> 121 ليبيا #> 122 Liechtenstein #> 123 Lietuva #> 124 Lëtzebuerg #> 125 Северна Македонија #> 126 Madagasikara / Madagascar #> 127 Malaysia #> 128 Malawi #> 129 ދިވެހިރާއްޖެ #> 130 Mali #> 131 Malta #> 132 Maroc ⵍⵎⵖⵔⵉⴱ المغرب #> 133 Mauritius / Maurice #> 134 موريتانيا #> 135 México #> 136 Micronesia #> 137 Moçambique #> 138 Moldova #> 139 Monaco #> 140 Монгол улс ᠮᠤᠩᠭᠤᠯ ᠤᠯᠤᠰ #> 141 Crna Gora / Црна Гора #> 142 မြန်မာ #> 143 Namibia #> 144 Naoero #> 145 नेपाल #> 146 Nicaragua #> 147 Niger #> 148 Nigeria #> 149 Niuē #> 150 Norge #> 151 New Zealand / Aotearoa #> 152 عمان #> 153 Nederland #> 154 پاکستان #> 155 Belau #> 156 Panamá #> 157 Papua Niugini #> 158 Paraguay / Paraguái #> 159 Perú #> 160 Polska #> 161 Portugal #> 162 قطر #> 163 United Kingdom #> 164 República Árabe Saharaui Democrática الجمهورية العربية الصحراوية الديمقراطية #> 165 Ködörösêse tî Bêafrîka / République centrafricaine #> 166 République démocratique du Congo #> 167 República Dominicana #> 168 România #> 169 Россия #> 170 Rwanda #> 171 Saint Kitts and Nevis #> 172 Saint Lucia #> 173 Saint Vincent and the Grenadines #> 174 Solomon Islands #> 175 Sāmoa #> 176 San Marino #> 177 Saint Helena, Ascension and Tristan da Cunha #> 178 São Tomé e Príncipe #> 179 Sénégal #> 180 Србија #> 181 Sesel #> 182 Sierra Leone #> 183 Singapore #> 184 سوريا #> 185 Soomaaliya الصومال #> 186 Sri Lanka #> 187 South Africa #> 188 السودان #> 189 South Sudan جنوب السودان #> 190 Sverige #> 191 Schweiz/Suisse/Svizzera/Svizra #> 192 Suriname #> 193 Тоҷикистон #> 194 ประเทศไทย #> 195 臺灣 #> 196 Tanzania #> 197 British Indian Ocean Territory #> 198 Timor-Leste #> 199 Togo #> 200 Tokelau #> 201 Tonga #> 202 Trinidad and Tobago #> 203 تونس #> 204 Türkmenistan #> 205 Türkiye #> 206 Tuvalu #> 207 Tchad تشاد #> 208 Česko #> 209 Україна #> 210 Uganda #> 211 Uruguay #> 212 Oʻzbekiston #> 213 Vanuatu #> 214 Venezuela #> 215 Việt Nam #> 216 Chile #> 217 中国 #> 218 Κύπρος - Kıbrıs #> 219 Zambia #> 220 Zimbabwe #> 221 Deutschland - Österreich #> 222 Deutschland — Schweiz / Suisse / Svizerra #> 223 France - Italy (section sud) #> 224 France - Schweiz/Suisse/Svizzera/Svizra #> 225 France - Deutschland #> 226 France - Luxembourg / Luxemburg / Lëtzebuerg #> 227 France - Belgique / België / Belgien #> 228 France - Monaco #> 229 Österreich - Schweiz #> 230 Österreich — Liechtenstein #> 231 Österreich — Schweiz / Suisse / Svizzera #> 232 Deutschland - Luxembourg / Luxemburg / Lëtzebuerg #> 233 Italia - Slovenija #> 234 Magyarország - Slovenija #> 235 Hrvatska - Slovenija #> 236 Nederland — Belgique / België / Belgien #> 237 France - Italy (section nord) #> 238 France / Suriname border #> 239 #> 240 Isla Tres Cruces #> 241 Isla Bassi #> 242 Isla Filomena Grande #> 243 Isla Verde #> wikidata #> 1 Q889 #> 2 Q37362 #> 3 Q222 #> 4 Q183 #> 5 Q262 #> 6 Q228 #> 7 Q916 #> 8 Q25228 #> 9 Q781 #> 10 Q851 #> 11 Q414 #> 12 Q399 #> 13 Q408 #> 14 Q40 #> 15 Q227 #> 16 Q778 #> 17 Q398 #> 18 Q902 #> 19 Q244 #> 20 Q31 #> 21 Q242 #> 22 Q962 #> 23 Q23635 #> 24 Q917 #> 25 Q184 #> 26 Q750 #> 27 Q225 #> 28 Q963 #> 29 Q155 #> 30 Q921 #> 31 Q219 #> 32 Q965 #> 33 Q967 #> 34 Q424 #> 35 Q1009 #> 36 Q16 #> 37 Q1011 #> 38 Q237 #> 39 Q739 #> 40 Q970 #> 41 Q971 #> 42 Q423 #> 43 Q884 #> 44 Q1008 #> 45 Q800 #> 46 Q224 #> 47 Q241 #> 48 Q35 #> 49 Q977 #> 50 Q784 #> 51 Q79 #> 52 Q792 #> 53 Q878 #> 54 Q736 #> 55 Q986 #> 56 Q214 #> 57 Q215 #> 58 Q29 #> 59 Q30 #> 60 Q191 #> 61 Q1050 #> 62 Q115 #> 63 Q712 #> 64 Q928 #> 65 Q33 #> 66 Q142 #> 67 Q2009420 #> 68 Q2637319 #> 69 Q1000 #> 70 Q1005 #> 71 Q230 #> 72 Q117 #> 73 Q1410 #> 74 Q41 #> 75 Q769 #> 76 Q223 #> 77 Q774 #> 78 Q25230 #> 79 Q1006 #> 80 Q1007 #> 81 Q983 #> 82 Q734 #> 83 Q790 #> 84 Q783 #> 85 Q28 #> 86 Q805 #> 87 Q9676 #> 88 Q13353 #> 89 Q5785 #> 90 Q26988 #> 91 Q4628 #> 92 Q35086 #> 93 Q9648 #> 94 Q709 #> 95 Q35672 #> 96 Q18221 #> 97 Q25305 #> 98 Q668 #> 99 Q252 #> 100 Q794 #> 101 Q796 #> 102 Q27 #> 103 Q189 #> 104 Q801 #> 105 Q38 #> 106 Q766 #> 107 Q17 #> 108 Q785 #> 109 Q810 #> 110 Q232 #> 111 Q114 #> 112 Q813 #> 113 Q710 #> 114 Q1246 #> 115 Q817 #> 116 Q819 #> 117 Q1013 #> 118 Q211 #> 119 Q822 #> 120 Q1014 #> 121 Q1016 #> 122 Q347 #> 123 Q37 #> 124 Q32 #> 125 Q221 #> 126 Q1019 #> 127 Q833 #> 128 Q1020 #> 129 Q826 #> 130 Q912 #> 131 Q233 #> 132 Q1028 #> 133 Q1027 #> 134 Q1025 #> 135 Q96 #> 136 Q702 #> 137 Q1029 #> 138 Q217 #> 139 Q235 #> 140 Q711 #> 141 Q236 #> 142 Q836 #> 143 Q1030 #> 144 Q697 #> 145 Q837 #> 146 Q811 #> 147 Q1032 #> 148 Q1033 #> 149 Q34020 #> 150 Q20 #> 151 Q664 #> 152 Q842 #> 153 Q29999 #> 154 Q843 #> 155 Q695 #> 156 Q804 #> 157 Q691 #> 158 Q733 #> 159 Q419 #> 160 Q36 #> 161 Q45 #> 162 Q846 #> 163 Q145 #> 164 Q40362 #> 165 Q929 #> 166 Q974 #> 167 Q786 #> 168 Q218 #> 169 Q159 #> 170 Q1037 #> 171 Q763 #> 172 Q760 #> 173 Q757 #> 174 Q685 #> 175 Q683 #> 176 Q238 #> 177 Q192184 #> 178 Q1039 #> 179 Q1041 #> 180 Q403 #> 181 Q1042 #> 182 Q1044 #> 183 Q334 #> 184 Q858 #> 185 Q1045 #> 186 Q854 #> 187 Q258 #> 188 Q1049 #> 189 Q958 #> 190 Q34 #> 191 Q39 #> 192 Q730 #> 193 Q863 #> 194 Q869 #> 195 Q865 #> 196 Q924 #> 197 Q43448 #> 198 Q574 #> 199 Q945 #> 200 Q36823 #> 201 Q678 #> 202 Q754 #> 203 Q948 #> 204 Q874 #> 205 Q43 #> 206 Q672 #> 207 Q657 #> 208 Q213 #> 209 Q212 #> 210 Q1036 #> 211 Q77 #> 212 Q265 #> 213 Q686 #> 214 Q717 #> 215 Q881 #> 216 Q298 #> 217 Q148 #> 218 Q229 #> 219 Q953 #> 220 Q954 #> 221 Q1991986 #> 222 Q1991810 #> 223 Q1991288 #> 224 Q1991697 #> 225 Q1991225 #> 226 Q3088912 #> 227 Q2052849 #> 228 Q1996372 #> 229 Q1991486 #> 230 Q1991324 #> 231 Q1991486 #> 232 Q3088708 #> 233 Q572463 #> 234 Q3088945 #> 235 Q1991311 #> 236 Q3088843 #> 237 Q1991288 #> 238 Q3088913 #> 239 #> 240 #> 241 Q31923393 #> 242 Q5921615 #> 243 Q18285634"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/loc_admin_centre_municipis.html","id":null,"dir":"Reference","previous_headings":"","what":"Centres administratius de les relacions dels municipis dels Països Catalans — loc_admin_centre_municipis","title":"Centres administratius de les relacions dels municipis dels Països Catalans — loc_admin_centre_municipis","text":"Dades de les localitats que fan d'admin_centre dels municipis dels Països Catalans.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/loc_admin_centre_municipis.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Centres administratius de les relacions dels municipis dels Països Catalans — loc_admin_centre_municipis","text":"","code":"loc_admin_centre_municipis"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/loc_admin_centre_municipis.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Centres administratius de les relacions dels municipis dels Països Catalans — loc_admin_centre_municipis","text":"Un data.frame amb dades de les 1673 localitats establertes com admin_centre de les relacions dels municipis per les següents 10 variables. name:ca Etiqueta name:ca. regio Subdivisió [\"Aran\", \"CatNord\", \"Franja\", \"Illes\", \"Principat\", \"PV\", \"Sardenya\"]. comarca Etiqueta name:ca de la comarca es troba el municipi. municipi Etiqueta name:ca del municipi en què l'element fa d'admin_centre. osm_id Número identificador OSM. osm_type Tipus d'objecte d'OSM. name Etiqueta name. wikipedia Etiqueta wikipedia. wikidata Etiqueta wikidata. place Etiqueta place.","code":""},{"path":[]},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/loc_admin_centre_municipis.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Centres administratius de les relacions dels municipis dels Països Catalans — loc_admin_centre_municipis","text":"","code":"loc_admin_centre_municipis[, c(\"name:ca\", \"regio\", \"municipi\", \"name\")] #> name:ca regio #> 1 Salardú Aran #> 2 Arres de Jos Aran #> 3 Bausén Aran #> 4 Bossòst Aran #> 5 Canejan Aran #> 6 es Bordes Aran #> 7 Lés Aran #> 8 Viella Aran #> 9 Vilamòs Aran #> 10 Angostrina i Vilanova de les Escaldes CatNord #> 11 Bolquera CatNord #> 12 Dorres CatNord #> 13 Èguet CatNord #> 14 Eina CatNord #> 15 Enveig CatNord #> 16 Er CatNord #> 17 Estavar CatNord #> 18 Font-romeu, Odelló i Vià CatNord #> 19 la Cabanassa CatNord #> 20 la Guingueta d'Ix CatNord #> 21 la Tor de Querol CatNord #> 22 Llo CatNord #> 23 Montlluís CatNord #> 24 Naüja CatNord #> 25 Oceja CatNord #> 26 Palau de Cerdanya CatNord #> 27 Porta CatNord #> 28 Portè CatNord #> 29 Sallagosa CatNord #> 30 Santa Llocaia CatNord #> 31 Targasona CatNord #> 32 Ur CatNord #> 33 Vallcebollera CatNord #> 34 els Angles CatNord #> 35 Font-rabiosa CatNord #> 36 Formiguera CatNord #> 37 Matamala CatNord #> 38 Puigbalador CatNord #> 39 Real CatNord #> 40 Aiguatèbia CatNord #> 41 Arboçols CatNord #> 42 Campome CatNord #> 43 Canavelles CatNord #> 44 Castell de Vernet CatNord #> 45 Catllà CatNord #> 46 Caudiers de Conflent CatNord #> 47 Sançà CatNord #> 48 Clarà CatNord #> 49 Codalet CatNord #> 50 Conat CatNord #> 51 Cornellà de Conflent CatNord #> 52 Escaró CatNord #> 53 Espirà de Conflent CatNord #> 54 Estoer CatNord #> 55 Eus CatNord #> 56 Fillols CatNord #> 57 Finestret CatNord #> 58 Fontpedrosa CatNord #> 59 Fullà CatNord #> 60 Glorianes CatNord #> 61 Jóc CatNord #> 62 Jújols CatNord #> 63 la Bastida CatNord #> 64 la Llaguna CatNord #> 65 Llonat CatNord #> 66 Marqueixanes CatNord #> 67 Mentet CatNord #> 68 Molig CatNord #> 69 Mosset CatNord #> 70 Noedes CatNord #> 71 Nyer CatNord #> 72 Oleta CatNord #> 73 Orbanyà CatNord #> 74 Orellà CatNord #> 75 Pi CatNord #> 76 Planès CatNord #> 77 Prada CatNord #> 78 Ralleu CatNord #> 79 Rià CatNord #> 80 Rigardà CatNord #> 81 Rodés CatNord #> 82 Sant Marçal CatNord #> 83 Sant Pere dels Forcats CatNord #> 84 Saorra CatNord #> 85 Sautó CatNord #> 86 Serdinyà CatNord #> 87 Soanyes CatNord #> 88 Tarerac CatNord #> 89 Taurinyà CatNord #> 90 Toès CatNord #> 91 Vallestàvia CatNord #> 92 Vallmanya CatNord #> 93 Vernet CatNord #> 94 Vilafranca de Conflent CatNord #> 95 Vinçà CatNord #> 96 Ansinyà CatNord #> 97 Bellestar CatNord #> 98 Campossí CatNord #> 99 Caramany CatNord #> 100 Cassanyes CatNord #> 101 Caudiers de Fenollet CatNord #> 102 Centernac CatNord #> 103 El Viver CatNord #> 104 Felluns CatNord #> 105 Fenollet CatNord #> 106 les Cabanes CatNord #> 107 L'Esquerda CatNord #> 108 La Tor de França CatNord #> 109 Lançac CatNord #> 110 Maurí CatNord #> 111 Montalbà del Castell CatNord #> 112 Pézillà de Conflent CatNord #> 113 Planeses CatNord #> 114 Prats de Sornià CatNord #> 115 Prunyanes CatNord #> 116 Rasigueres CatNord #> 117 Rebollet CatNord #> 118 Sant Martí de Fenollet CatNord #> 119 Sant Pau de Fenollet CatNord #> 120 Sornià CatNord #> 121 Trevillac CatNord #> 122 Trillà CatNord #> 123 Virà CatNord #> 124 Alenyà CatNord #> 125 Argelers CatNord #> 126 Bages CatNord #> 127 Baixàs CatNord #> 128 Banyuls de la Marenda CatNord #> 129 Banyuls dels Aspres CatNord #> 130 Bao CatNord #> 131 Bompàs CatNord #> 132 Brullà CatNord #> 133 Bula d'Amunt CatNord #> 134 Bulaternera CatNord #> 135 Cabestany CatNord #> 136 Calce CatNord #> 137 Calmella CatNord #> 138 Cameles CatNord #> 139 Canet de Rosselló CatNord #> 140 Cànoes CatNord #> 141 Casafabre CatNord #> 142 Cases de Pena CatNord #> 143 Castellnou dels Aspres CatNord #> 144 Cervera de la Marenda CatNord #> 145 Clairà CatNord #> 146 Corbera de Rosselló CatNord #> 147 Cornellà de la Ribera CatNord #> 148 Cornellà del Bèrcol CatNord #> 149 Cotlliure CatNord #> 150 el Barcarès CatNord #> 151 el Soler CatNord #> 152 el Voló CatNord #> 153 Elna CatNord #> 154 Espirà de l'Aglí CatNord #> 155 Estagell CatNord #> 156 Forques CatNord #> 157 Illa CatNord #> 158 la Cabana de Corbera CatNord #> 159 la Roca d'Albera CatNord #> 160 la Torre d'Elna CatNord #> 161 Llauró CatNord #> 162 Llupià CatNord #> 163 Millars CatNord #> 164 Montescot CatNord #> 165 Montesquiu d'Albera CatNord #> 166 Montner CatNord #> 167 Montoriol CatNord #> 168 Nefiac CatNord #> 169 Oms CatNord #> 170 Òpol CatNord #> 171 Ortafà CatNord #> 172 Paçà CatNord #> 173 Palau del Vidre CatNord #> 174 Paretstortes CatNord #> 175 Perpinyà CatNord #> 176 Pesillà de la Ribera CatNord #> 177 Pià CatNord #> 178 Pollestres CatNord #> 179 Pontellà CatNord #> 180 Portvendres CatNord #> 181 la Trinitat CatNord #> 182 Queixàs CatNord #> 183 Ribesaltes CatNord #> 184 Salelles CatNord #> 185 Salses CatNord #> 186 Sant Andreu de Sureda CatNord #> 187 Sant Cebrià de Rosselló CatNord #> 188 Sant Esteve del Monestir CatNord #> 189 Sant Feliu d'Amunt CatNord #> 190 Sant Feliu d'Avall CatNord #> 191 Sant Genís de Fontanes CatNord #> 192 Sant Hipòlit CatNord #> 193 Sant Joan la Cella CatNord #> 194 Sant Llorenç de la Salanca CatNord #> 195 Sant Miquel de Llotes CatNord #> 196 Sant Nazari CatNord #> 197 Santa Coloma de la Comanda CatNord #> 198 Santa Maria la Mar CatNord #> 199 Sureda CatNord #> 200 Talteüll CatNord #> 201 Terrats CatNord #> 202 Tesà CatNord #> 203 Toluges CatNord #> 204 Torderes CatNord #> 205 Torrelles de la Salanca CatNord #> 206 Trasserra CatNord #> 207 Trullars CatNord #> 208 Tuïr CatNord #> 209 Vilallonga de la Salanca CatNord #> 210 Vilallonga dels Monts CatNord #> 211 Vilamulaca CatNord #> 212 Vilanova de la Ribera CatNord #> 213 Vilanova de Raò CatNord #> 214 Vingrau CatNord #> 215 Arles CatNord #> 216 Ceret CatNord #> 217 Cortsaví CatNord #> 218 Costoja CatNord #> 219 el Pertús CatNord #> 220 el Tec CatNord #> 221 els Banys d'Arles CatNord #> 222 L'Albera CatNord #> 223 la Menera CatNord #> 224 les Cluses CatNord #> 225 Montboló CatNord #> 226 Montferrer CatNord #> 227 Morellàs i les Illes CatNord #> 228 Prats de Molló i la Presta CatNord #> 229 Reiners CatNord #> 230 Sant Joan de Pladecorts CatNord #> 231 Sant Llorenç de Cerdans CatNord #> 232 Serrallonga CatNord #> 233 Tellet CatNord #> 234 Teulís CatNord #> 235 Vivers CatNord #> 236 Aiguaviva de Bergantes Franja #> 237 Bellmunt de Mesquí Franja #> 238 la Canyada de Beric Franja #> 239 la Codonyera Franja #> 240 la Ginebrosa Franja #> 241 la Sorollera Franja #> 242 la Torre de Vilella Franja #> 243 Faió Franja #> 244 Favara de Matarranya Franja #> 245 Maella Franja #> 246 Nonasp Franja #> 247 Fraga Franja #> 248 Mequinensa Franja #> 249 Saidí Franja #> 250 Torrent de Cinca Franja #> 251 Vilella de Cinca Franja #> 252 Albelda Franja #> 253 Baells Franja #> 254 Camporrells Franja #> 255 Castillonroi Franja #> 256 el Campell Franja #> 257 el Torricó Franja #> 258 Peralta de la Sal Franja #> 259 Sant Esteve de Llitera Franja #> 260 Sanui Franja #> 261 Tamarit de Llitera Franja #> 262 Valldellou Franja #> 263 Vensilló Franja #> 264 Arenys de Lledó Franja #> 265 Beseit Franja #> 266 Calaceit Franja #> 267 Fontdespatla Franja #> 268 Fórnols Franja #> 269 la Freixneda Franja #> 270 la Portellada Franja #> 271 la Torre del Comte Franja #> 272 la Vall del Tormo Franja #> 273 Lledó d'Algars Franja #> 274 Massalió Franja #> 275 Montroig Franja #> 276 Pena-roja de Tastavins Franja #> 277 Queretes Franja #> 278 Ràfels Franja #> 279 Torredarques Franja #> 280 Vall-de-roures Franja #> 281 Valljunquera Franja #> 282 Areny de Noguera Franja #> 283 Benavarri Franja #> 284 Beranui Franja #> 285 Bonansa Franja #> 286 Castigaleu Franja #> 287 Estopanyà Franja #> 288 la Pobla de Roda Franja #> 289 Lasquarri Franja #> 290 Les Paüls Franja #> 291 Queixigar Franja #> 292 Montanui Franja #> 293 Pont de Montanyana Franja #> 294 Sopeira Franja #> 295 Tolba Franja #> 296 Tor-la-ribera Franja #> 297 Viacamp Franja #> 298 Eivissa Illes #> 299 Sant Antoni de Portmany Illes #> 300 Sant Joan de Labritja Illes #> 301 Sant Josep de sa Talaia Illes #> 302 Santa Eulària des Riu Illes #> 303 Sant Francesc de Formentera Illes #> 304 Artà Illes #> 305 Capdepera Illes #> 306 Manacor Illes #> 307 Sant Llorenç des Cardassar Illes #> 308 Son Servera Illes #> 309 Alaior Illes #> 310 Ciutadella Illes #> 311 es Castell Illes #> 312 es Mercadal Illes #> 313 es Migjorn Gran Illes #> 314 Ferreries Illes #> 315 Maó Illes #> 316 Sant Lluís Illes #> 317 Campos Illes #> 318 Felanitx Illes #> 319 Llucmajor Illes #> 320 Santanyí Illes #> 321 ses Salines Illes #> 322 Palma Illes #> 323 Algaida Illes #> 324 Ariany Illes #> 325 Costitx Illes #> 326 Lloret de Vistalegre Illes #> 327 Llubí Illes #> 328 Maria de la Salut Illes #> 329 Montuïri Illes #> 330 Muro Illes #> 331 Petra Illes #> 332 Porreres Illes #> 333 Sant Joan Illes #> 334 Santa Eugènia Illes #> 335 Santa Margalida Illes #> 336 Sencelles Illes #> 337 Sineu Illes #> 338 Vilafranca de Bonany Illes #> 339 Alaró Illes #> 340 Alcúdia Illes #> 341 Binissalem Illes #> 342 Búger Illes #> 343 Campanet Illes #> 344 Consell Illes #> 345 Inca Illes #> 346 Lloseta Illes #> 347 Mancor de la Vall Illes #> 348 sa Cabaneta Illes #> 349 sa Pobla Illes #> 350 Santa Maria del Camí Illes #> 351 Selva Illes #> 352 Andratx Illes #> 353 Banyalbufar Illes #> 354 Bunyola Illes #> 355 Calvià Illes #> 356 Deià Illes #> 357 Lluc Illes #> 358 Esporles Illes #> 359 Estellencs Illes #> 360 Fornalutx Illes #> 361 Pollença Illes #> 362 Puigpunyent Illes #> 363 Sóller Illes #> 364 Valldemossa Illes #> 365 Aiguamúrcia Principat #> 366 Alcover Principat #> 367 Alió Principat #> 368 Bràfim Principat #> 369 Cabra del Camp Principat #> 370 el Milà Principat #> 371 el Pla de Santa Maria Principat #> 372 el Pont d'Armentera Principat #> 373 el Rourell Principat #> 374 els Garidells Principat #> 375 Figuerola del Camp Principat #> 376 la Masó Principat #> 377 la Riba Principat #> 378 Mont-ral Principat #> 379 Montferri Principat #> 380 Nulles Principat #> 381 Puigpelat Principat #> 382 Querol Principat #> 383 Rodonyà Principat #> 384 Vallmoll Principat #> 385 Valls Principat #> 386 Vila-rodona Principat #> 387 Vilabella Principat #> 388 Agullana Principat #> 389 Albanyà Principat #> 390 Avinyonet de Puigventós Principat #> 391 Bàscara Principat #> 392 Biure Principat #> 393 Boadella d'Empordà Principat #> 394 Borrassà Principat #> 395 Cabanelles Principat #> 396 Cabanes Principat #> 397 Cadaqués Principat #> 398 Campmany Principat #> 399 Cantallops Principat #> 400 Castelló d'Empúries Principat #> 401 Castelló d'Empúries Principat #> 402 Cistella Principat #> 403 Colera Principat #> 404 Darnius Principat #> 405 el Far d'Empordà Principat #> 406 el Port de la Selva Principat #> 407 Espolla Principat #> 408 Figueres Principat #> 409 Fortià Principat #> 410 Garrigàs Principat #> 411 Garriguella Principat #> 412 l'Armentera Principat #> 413 l'Escala Principat #> 414 la Jonquera Principat #> 415 la Selva de Mar Principat #> 416 la Vajol Principat #> 417 Llançà Principat #> 418 Lledó d'Empordà Principat #> 419 Llers Principat #> 420 Maçanet de Cabrenys Principat #> 421 Masarac Principat #> 422 Mollet de Peralada Principat #> 423 Navata Principat #> 424 Ordis Principat #> 425 Santa Eulàlia Principat #> 426 Palau-saverdera Principat #> 427 Pau Principat #> 428 Marzà Principat #> 429 Peralada Principat #> 430 Pont de Molins Principat #> 431 Pontós Principat #> 432 Portbou Principat #> 433 Rabós Principat #> 434 Riumors Principat #> 435 Roses Principat #> 436 Sant Climent Sescebes Principat #> 437 Sant Llorenç de la Muga Principat #> 438 Sant Miquel de Fluvià Principat #> 439 Sant Mori Principat #> 440 Sant Pere Pescador Principat #> 441 Santa Llogaia d'Àlguema Principat #> 442 Camallera Principat #> 443 Siurana Principat #> 444 Terrades Principat #> 445 Torroella de Fluvià Principat #> 446 Ventalló Principat #> 447 Vila-sacra Principat #> 448 Vilabertran Principat #> 449 Viladamat Principat #> 450 Vilafant Principat #> 451 Vilajuïga Principat #> 452 Vilamacolum Principat #> 453 Vilamalla Principat #> 454 Vilamaniscle Principat #> 455 Vilanant Principat #> 456 Vilaür Principat #> 457 Avinyó Nou Principat #> 458 la Gornal Principat #> 459 la Múnia Principat #> 460 el Pla del Penedès Principat #> 461 Font-rubí Principat #> 462 Gelida Principat #> 463 la Granada Principat #> 464 les Cabanyes Principat #> 465 Sant Joan de Mediona Principat #> 466 Sant Miquel d'Olèrdola Principat #> 467 Olesa de Bonesvalls Principat #> 468 Pacs del Penedès Principat #> 469 Pontons Principat #> 470 Puigdàlber Principat #> 471 Sant Cugat Sesgarrigues Principat #> 472 Sant Llorenç d'Hortons Principat #> 473 Sant Martí Sarroca Principat #> 474 Sant Pere de Riudebitlles Principat #> 475 Sant Quintí de Mediona Principat #> 476 Sant Sadurní d'Anoia Principat #> 477 Santa Fe del Penedès Principat #> 478 Santa Margarida i els Monjos Principat #> 479 Sant Pau d'Ordal Principat #> 480 Terrassola i Lavit Principat #> 481 Torrelles de Foix Principat #> 482 Vilafranca del Penedès Principat #> 483 Vilobí del Penedès Principat #> 484 Alàs Principat #> 485 Arsèguel Principat #> 486 Bassella Principat #> 487 Cabó Principat #> 488 Ansovell Principat #> 489 Coll de Nargó Principat #> 490 Bar Principat #> 491 Estamariu Principat #> 492 Fígols Principat #> 493 Tuixent Principat #> 494 la Seu d'Urgell Principat #> 495 Fórnols Principat #> 496 Sorribes de la Vansa Principat #> 497 Noves de Segre Principat #> 498 Anserall Principat #> 499 Montferrer Principat #> 500 Oliana Principat #> 501 Organyà Principat #> 502 Peramola Principat #> 503 el Pla de Sant Tirs Principat #> 504 el Pont de Suert Principat #> 505 Barruera Principat #> 506 Vilaller Principat #> 507 Argençola Principat #> 508 Bellprat Principat #> 509 Canaletes Principat #> 510 Calaf Principat #> 511 Dusfort Principat #> 512 Capellades Principat #> 513 Carme Principat #> 514 Castellfollit de Riubregós Principat #> 515 Castellolí Principat #> 516 Copons Principat #> 517 el Bruc Principat #> 518 els Hostalets de Pierola Principat #> 519 els Prats de Rei Principat #> 520 Igualada Principat #> 521 Jorba Principat #> 522 la Llacuna Principat #> 523 la Pobla de Claramunt Principat #> 524 la Torre de Claramunt Principat #> 525 Masquefa Principat #> 526 Montmaneu Principat #> 527 Òdena Principat #> 528 Orpí Principat #> 529 Piera Principat #> 530 Pujalt Principat #> 531 Rubió Principat #> 532 Sant Martí de Tous Principat #> 533 Sant Martí Sesgueioles Principat #> 534 Sant Pere Sallavinera Principat #> 535 Santa Margarida de Montbui Principat #> 536 Santa Maria de Miralles Principat #> 537 Vallbona d'Anoia Principat #> 538 Veciana Principat #> 539 Vilanova del Camí Principat #> 540 Aguilar de Segarra Principat #> 541 Artés Principat #> 542 Avinyó Principat #> 543 Balsareny Principat #> 544 Callús Principat #> 545 Cardona Principat #> 546 el Borràs Principat #> 547 Castellfollit del Boix Principat #> 548 Castellgalí Principat #> 549 Castellnou de Bages Principat #> 550 el Pont de Vilomara Principat #> 551 Fonollosa Principat #> 552 Gaià Principat #> 553 Manresa Principat #> 554 Marganell Principat #> 555 Monistrol de Montserrat Principat #> 556 Mura Principat #> 557 Navarcles Principat #> 558 Navars Principat #> 559 Rajadell Principat #> 560 Sallent Principat #> 561 Sant Feliu Sasserra Principat #> 562 Sant Fruitós de Bages Principat #> 563 Sant Joan de Vilatorrada Principat #> 564 Sant Mateu de Bages Principat #> 565 Sant Salvador de Guardiola Principat #> 566 Sant Vicenç de Castellet Principat #> 567 Santpedor Principat #> 568 Súria Principat #> 569 Talamanca Principat #> 570 Alforja Principat #> 571 Almoster Principat #> 572 Arbolí Principat #> 573 Botarell Principat #> 574 Cambrils Principat #> 575 Capafonts Principat #> 576 Castellvell del Camp Principat #> 577 Colldejou Principat #> 578 Duesaigües Principat #> 579 l'Albiol Principat #> 580 l'Aleixar Principat #> 581 l'Argentera Principat #> 582 la Febró Principat #> 583 la Selva del Camp Principat #> 584 les Borges del Camp Principat #> 585 Maspujols Principat #> 586 Mont-roig del Camp Principat #> 587 Montbrió del Camp Principat #> 588 Prades Principat #> 589 Pratdip Principat #> 590 Reus Principat #> 591 Riudecanyes Principat #> 592 Riudecols Principat #> 593 Riudoms Principat #> 594 Vandellòs Principat #> 595 Vilanova d'Escornalbou Principat #> 596 Vilaplana Principat #> 597 Vinyols i els Arcs Principat #> 598 Aldover Principat #> 599 Alfara de Carles Principat #> 600 Benifallet Principat #> 601 Camarles Principat #> 602 Deltebre Principat #> 603 el Perelló Principat #> 604 l'Aldea Principat #> 605 l'Ametlla de Mar Principat #> 606 l'Ampolla Principat #> 607 Paüls Principat #> 608 Roquetes Principat #> 609 Tivenys Principat #> 610 Tortosa Principat #> 611 Xerta Principat #> 612 Albons Principat #> 613 Begur Principat #> 614 Bellcaire d'Empordà Principat #> 615 Calonge Principat #> 616 Platja d'Aro Principat #> 617 Colomers Principat #> 618 Corçà Principat #> 619 Sant Sadurní de l'Heura Principat #> 620 Foixà Principat #> 621 Fontanilles Principat #> 622 Garrigoles Principat #> 623 Gualta Principat #> 624 Jafre Principat #> 625 la Bisbal d'Empordà Principat #> 626 la Pera Principat #> 627 la Tallada d'Empordà Principat #> 628 Mont-ras Principat #> 629 Palafrugell Principat #> 630 Palamós Principat #> 631 Palau-sator Principat #> 632 Pals Principat #> 633 Parlavà Principat #> 634 Regencós Principat #> 635 Rupià Principat #> 636 Sant Feliu de Guíxols Principat #> 637 Santa Cristina d'Aro Principat #> 638 Serra de Daró Principat #> 639 Torrent Principat #> 640 Torroella de Montgrí Principat #> 641 Ullà Principat #> 642 Ullastret Principat #> 643 Ultramort Principat #> 644 Vall-llobrega Principat #> 645 Verges Principat #> 646 Vilopriu Principat #> 647 Vulpellac Principat #> 648 Abrera Principat #> 649 Begues Principat #> 650 Castelldefels Principat #> 651 Castellví de Rosanes Principat #> 652 Cervelló Principat #> 653 Collbató Principat #> 654 Corbera de Llobregat Principat #> 655 Cornellà de Llobregat Principat #> 656 el Papiol Principat #> 657 el Prat de Llobregat Principat #> 658 Esparreguera Principat #> 659 Esplugues de Llobregat Principat #> 660 Gavà Principat #> 661 la Palma de Cervelló Principat #> 662 Martorell Principat #> 663 Molins de Rei Principat #> 664 Olesa de Montserrat Principat #> 665 Pallejà Principat #> 666 Sant Andreu de la Barca Principat #> 667 Sant Boi de Llobregat Principat #> 668 Sant Climent de Llobregat Principat #> 669 Sant Esteve Sesrovires Principat #> 670 Sant Feliu de Llobregat Principat #> 671 Sant Joan Despí Principat #> 672 Sant Just Desvern Principat #> 673 Sant Vicenç dels Horts Principat #> 674 Santa Coloma de Cervelló Principat #> 675 Torrelles de Llobregat Principat #> 676 Vallirana Principat #> 677 Viladecans Principat #> 678 Albinyana Principat #> 679 Banyeres del Penedès Principat #> 680 Bellvei Principat #> 681 Bonastre Principat #> 682 Calafell Principat #> 683 Cunit Principat #> 684 la Joncosa del Montmell Principat #> 685 el Vendrell Principat #> 686 l'Arboç Principat #> 687 La Bisbal del Penedès Principat #> 688 Llorenç del Penedès Principat #> 689 Masllorenç Principat #> 690 Sant Jaume dels Domenys Principat #> 691 Santa Oliva Principat #> 692 Badalona Principat #> 693 Barcelona Principat #> 694 l'Hospitalet de Llobregat Principat #> 695 Sant Adrià de Besòs Principat #> 696 Santa Coloma de Gramenet Principat #> 697 Avià Principat #> 698 Bagà Principat #> 699 Berga Principat #> 700 Borredà Principat #> 701 Capolat Principat #> 702 Casserres Principat #> 703 Castell de l'Areny Principat #> 704 Castellar de n'Hug Principat #> 705 Llinars Principat #> 706 Cercs Principat #> 707 Fígols Principat #> 708 Gironella Principat #> 709 Gisclareny Principat #> 710 Gósol Principat #> 711 Guardiola de Berguedà Principat #> 712 l'Espunyola Principat #> 713 la Nou de Berguedà Principat #> 714 la Pobla de Lillet Principat #> 715 la Quar Principat #> 716 Montclar Principat #> 717 Montmajor Principat #> 718 Olvan Principat #> 719 Puig-reig Principat #> 720 Sagàs Principat #> 721 Saldes Principat #> 722 Sant Jaume de Frontanyà Principat #> 723 Sant Julià de Cerdanyola Principat #> 724 Santa Maria de Merlès Principat #> 725 Vallcebre Principat #> 726 Vilada Principat #> 727 Serrateix Principat #> 728 Alp Principat #> 729 Bellver de Cerdanya Principat #> 730 Bolvir Principat #> 731 Das Principat #> 732 el Vilar d'Urtx Principat #> 733 Ger Principat #> 734 Guils de Cerdanya Principat #> 735 All Principat #> 736 Lles de Cerdanya Principat #> 737 Llívia Principat #> 738 Meranges Principat #> 739 Martinet Principat #> 740 Prats Principat #> 741 Prullans Principat #> 742 Puigcerdà Principat #> 743 Riu de Cerdanya Principat #> 744 Urús Principat #> 745 Barberà de la Conca Principat #> 746 Blancafort Principat #> 747 Conesa Principat #> 748 Forès Principat #> 749 l'Espluga de Francolí Principat #> 750 les Piles Principat #> 751 Llorac Principat #> 752 Montblanc Principat #> 753 Passanant Principat #> 754 Pira Principat #> 755 Pontils Principat #> 756 Rocafort de Queralt Principat #> 757 Santa Coloma de Queralt Principat #> 758 Sarral Principat #> 759 Savallà del Comtat Principat #> 760 Senan Principat #> 761 Solivella Principat #> 762 Vallclara Principat #> 763 Vallfogona de Riucorb Principat #> 764 Vilanova de Prades Principat #> 765 Vilaverd Principat #> 766 Vimbodí Principat #> 767 Canyelles Principat #> 768 Cubelles Principat #> 769 Olivella Principat #> 770 Sant Pere de Ribes Principat #> 771 Sitges Principat #> 772 Vilanova i la Geltrú Principat #> 773 Arbeca Principat #> 774 Bellaguarda Principat #> 775 Bovera Principat #> 776 Castelldans Principat #> 777 Cervià de les Garrigues Principat #> 778 el Cogul Principat #> 779 el Soleràs Principat #> 780 el Vilosell Principat #> 781 els Omellons Principat #> 782 els Torms Principat #> 783 Fulleda Principat #> 784 Granyena de les Garrigues Principat #> 785 Juncosa Principat #> 786 Juneda Principat #> 787 l'Albagés Principat #> 788 l'Albi Principat #> 789 l'Espluga Calba Principat #> 790 la Floresta Principat #> 791 la Granadella Principat #> 792 la Pobla de Cérvoles Principat #> 793 les Borges Blanques Principat #> 794 Puiggròs Principat #> 795 Tarrés Principat #> 796 Vinaixa Principat #> 797 Argelaguer Principat #> 798 Besalú Principat #> 799 Beuda Principat #> 800 Castellfollit de la Roca Principat #> 801 Sant Esteve d'en Bas Principat #> 802 l'Hostalnou de Bianya Principat #> 803 les Planes d'Hostoles Principat #> 804 les Preses Principat #> 805 Maià de Montcal Principat #> 806 Mieres Principat #> 807 Montagut Principat #> 808 Olot Principat #> 809 Riudaura Principat #> 810 Sales de Llierca Principat #> 811 Sant Esteve de Llémena Principat #> 812 Sant Feliu de Pallerols Principat #> 813 Juïnyà Principat #> 814 Sant Jaume de Llierca Principat #> 815 Sant Joan les Fonts Principat #> 816 Santa Pau Principat #> 817 Tortellà Principat #> 818 Aiguaviva Principat #> 819 Bescanó Principat #> 820 Bordils Principat #> 821 Campllong Principat #> 822 Canet d'Adri Principat #> 823 Cassà de la Selva Principat #> 824 Celrà Principat #> 825 Cervià de Ter Principat #> 826 Flaçà Principat #> 827 Fornells de la Selva Principat #> 828 Girona Principat #> 829 Juià Principat #> 830 Llagostera Principat #> 831 Llambilles Principat #> 832 Madremanya Principat #> 833 Medinyà Principat #> 834 Quart Principat #> 835 Salt Principat #> 836 Sant Andreu Salou Principat #> 837 Sant Gregori Principat #> 838 Sant Joan de Mollet Principat #> 839 Sant Jordi Desvalls Principat #> 840 Sant Julià de Ramis Principat #> 841 Sant Martí de Llémena Principat #> 842 Sant Martí Vell Principat #> 843 Sarrià de Ter Principat #> 844 Vilablareix Principat #> 845 Viladasens Principat #> 846 Alpens Principat #> 847 Santa Eulàlia de Puig-oriol Principat #> 848 Olost Principat #> 849 Oristà Principat #> 850 Perafita Principat #> 851 Prats de Lluçanès Principat #> 852 Sant Martí d'Albars Principat #> 853 Sobremunt Principat #> 854 Alella Principat #> 855 Arenys de Mar Principat #> 856 Arenys de Munt Principat #> 857 Argentona Principat #> 858 Cabrera de Mar Principat #> 859 Cabrils Principat #> 860 Caldes d'Estrac Principat #> 861 Calella Principat #> 862 Canet de Mar Principat #> 863 Dosrius Principat #> 864 el Masnou Principat #> 865 Malgrat de Mar Principat #> 866 Mataró Principat #> 867 Montgat Principat #> 868 Òrrius Principat #> 869 Palafolls Principat #> 870 Pineda de Mar Principat #> 871 Premià de Dalt Principat #> 872 Premià de Mar Principat #> 873 Sant Andreu de Llavaneres Principat #> 874 Sant Cebrià de Vallalta Principat #> 875 Sant Iscle de Vallalta Principat #> 876 Sant Pol de Mar Principat #> 877 Sant Vicenç de Montalt Principat #> 878 Santa Susanna Principat #> 879 Teià Principat #> 880 Tiana Principat #> 881 Tordera Principat #> 882 Vilassar de Dalt Principat #> 883 Vilassar de Mar Principat #> 884 Calders Principat #> 885 Castellcir Principat #> 886 Castellterçol Principat #> 887 Collsuspina Principat #> 888 Granera Principat #> 889 l'Estany Principat #> 890 Moià Principat #> 891 Monistrol de Calders Principat #> 892 Sant Quirze Safaja Principat #> 893 Santa Maria d'Oló Principat #> 894 Alcanar Principat #> 895 Amposta Principat #> 896 Freginals Principat #> 897 Godall Principat #> 898 la Galera Principat #> 899 la Ràpita Principat #> 900 la Sénia Principat #> 901 Mas de Barberans Principat #> 902 Masdenverge Principat #> 903 Sant Jaume d'Enveja Principat #> 904 Santa Bàrbara Principat #> 905 Ulldecona Principat #> 906 Àger Principat #> 907 Albesa Principat #> 908 Algerri Principat #> 909 Alòs de Balaguer Principat #> 910 Artesa de Segre Principat #> 911 Balaguer Principat #> 912 Bellcaire d'Urgell Principat #> 913 Bellmunt d'Urgell Principat #> 914 Cabanabona Principat #> 915 Camarasa Principat #> 916 Castelló de Farfanya Principat #> 917 Cubells Principat #> 918 Foradada Principat #> 919 Ivars de Noguera Principat #> 920 Gualter Principat #> 921 la Sentiu de Sió Principat #> 922 les Avellanes Principat #> 923 Menàrguens Principat #> 924 Montgai Principat #> 925 Oliola Principat #> 926 Os de Balaguer Principat #> 927 Penelles Principat #> 928 Ponts Principat #> 929 Preixens Principat #> 930 Térmens Principat #> 931 Tiurana Principat #> 932 Torrelameu Principat #> 933 Vallfogona de Balaguer Principat #> 934 Vilanova de l'Aguda Principat #> 935 Vilanova de Meià Principat #> 936 els Hostalets de Balenyà Principat #> 937 Calldetenes Principat #> 938 Centelles Principat #> 939 el Brull Principat #> 940 Espinelves Principat #> 941 Folgueroles Principat #> 942 Gurb Principat #> 943 l'Esquirol Principat #> 944 les Masies de Roda Principat #> 945 les Masies de Voltregà Principat #> 946 Malla Principat #> 947 Manlleu Principat #> 948 Montesquiu Principat #> 949 Muntanyola Principat #> 950 Can Branques Principat #> 951 Roda de Ter Principat #> 952 Rupit Principat #> 953 l'Alou Principat #> 954 Sant Bartomeu del Grau Principat #> 955 Sant Boi de Lluçanès Principat #> 956 Sant Hipòlit de Voltregà Principat #> 957 Sant Julià de Vilatorta Principat #> 958 l'Abella Principat #> 959 Sant Pere de Torelló Principat #> 960 Sant Quirze de Besora Principat #> 961 Sant Sadurní d'Osormort Principat #> 962 Sant Vicenç de Torelló Principat #> 963 Santa Cecília de Voltregà Principat #> 964 Santa Eugènia de Berga Principat #> 965 Santa Eulàlia de Riuprimer Principat #> 966 Santa Maria de Besora Principat #> 967 Seva Principat #> 968 Sora Principat #> 969 Taradell Principat #> 970 Tavèrnoles Principat #> 971 Tavertet Principat #> 972 Tona Principat #> 973 Torelló Principat #> 974 Vic Principat #> 975 Vidrà Principat #> 976 Viladrau Principat #> 977 Vilanova de Sau Principat #> 978 Abella de la Conca Principat #> 979 Guàrdia de Noguera Principat #> 980 el Pont de Claverol Principat #> 981 Gavet de la Conca Principat #> 982 Isona Principat #> 983 la Pobla de Segur Principat #> 984 la Torre de Cabdella Principat #> 985 Llimiana Principat #> 986 Salàs de Pallars Principat #> 987 Sant Esteve de la Sarga Principat #> 988 Sarroca de Bellera Principat #> 989 Senterada Principat #> 990 Talarn Principat #> 991 Tremp Principat #> 992 Alins Principat #> 993 València d'Àneu Principat #> 994 Gerri de la Sal Principat #> 995 Espot Principat #> 996 Esterri d'Àneu Principat #> 997 Esterri de Cardós Principat #> 998 Burg Principat #> 999 la Guingueta d'Àneu Principat #> 1000 Lladorre Principat #> 1001 Llavorsí Principat #> 1002 Rialb Principat #> 1003 Vilamur Principat #> 1004 Sort Principat #> 1005 Tírvia Principat #> 1006 Ribera de Cardós Principat #> 1007 Barbens Principat #> 1008 Bell-lloc d'Urgell Principat #> 1009 Bellvís Principat #> 1010 Castellnou de Seana Principat #> 1011 el Palau d'Anglesola Principat #> 1012 el Poal Principat #> 1013 Fondarella Principat #> 1014 Golmés Principat #> 1015 Ivars d'Urgell Principat #> 1016 Linyola Principat #> 1017 Miralcamp Principat #> 1018 Mollerussa Principat #> 1019 Sidamon Principat #> 1020 Torregrossa Principat #> 1021 Vila-sana Principat #> 1022 Vilanova de Bellpuig Principat #> 1023 Banyoles Principat #> 1024 Camós Principat #> 1025 Cornellà del Terri Principat #> 1026 Crespià Principat #> 1027 Esponellà Principat #> 1028 Fontcoberta Principat #> 1029 Palol de Revardit Principat #> 1030 Mata Principat #> 1031 Sant Miquel de Campmajor Principat #> 1032 Serinyà Principat #> 1033 Vilademuls Principat #> 1034 Bellmunt del Priorat Principat #> 1035 Cabassers Principat #> 1036 Capçanes Principat #> 1037 Cornudella de Montsant Principat #> 1038 el Lloar Principat #> 1039 el Masroig Principat #> 1040 el Molar Principat #> 1041 els Guiamets Principat #> 1042 Falset Principat #> 1043 Gratallops Principat #> 1044 la Bisbal de Montsant Principat #> 1045 la Figuera Principat #> 1046 la Morera de Montsant Principat #> 1047 la Torre de Fontaubella Principat #> 1048 la Vilella Alta Principat #> 1049 la Vilella Baixa Principat #> 1050 Marçà Principat #> 1051 Margalef Principat #> 1052 Poboleda Principat #> 1053 Porrera Principat #> 1054 Pradell de la Teixeta Principat #> 1055 Torroja del Priorat Principat #> 1056 Ulldemolins Principat #> 1057 Ascó Principat #> 1058 Benissanet Principat #> 1059 Flix Principat #> 1060 Garcia Principat #> 1061 Ginestar Principat #> 1062 la Palma d'Ebre Principat #> 1063 la Torre de l'Espanyol Principat #> 1064 Miravet Principat #> 1065 Móra d'Ebre Principat #> 1066 Móra la Nova Principat #> 1067 Rasquera Principat #> 1068 Riba-roja d'Ebre Principat #> 1069 Tivissa Principat #> 1070 Vinebre Principat #> 1071 Campdevànol Principat #> 1072 Campelles Principat #> 1073 Camprodon Principat #> 1074 Gombrèn Principat #> 1075 les Llosses Principat #> 1076 Llanars Principat #> 1077 Molló Principat #> 1078 Ogassa Principat #> 1079 Pardines Principat #> 1080 Planoles Principat #> 1081 Queralbs Principat #> 1082 Ribes de Freser Principat #> 1083 Ripoll Principat #> 1084 Sant Joan de les Abadesses Principat #> 1085 Sant Pau de Segúries Principat #> 1086 Setcases Principat #> 1087 Toses Principat #> 1088 Vallfogona de Ripollès Principat #> 1089 Vilallonga de Ter Principat #> 1090 Biosca Principat #> 1091 Cervera Principat #> 1092 les Pallargues Principat #> 1093 Estaràs Principat #> 1094 Granyanella Principat #> 1095 Granyena de Segarra Principat #> 1096 Guissona Principat #> 1097 Ivorra Principat #> 1098 les Oluges Principat #> 1099 Massoteres Principat #> 1100 Montoliu de Segarra Principat #> 1101 Montornès de Segarra Principat #> 1102 Sant Antolí i Vilanova Principat #> 1103 Sanaüja Principat #> 1104 Sant Guim de Freixenet Principat #> 1105 Sant Guim de la Plana Principat #> 1106 Sant Ramon Principat #> 1107 Talavera Principat #> 1108 Tarroja de Segarra Principat #> 1109 Torà Principat #> 1110 Torrefeta Principat #> 1111 Aitona Principat #> 1112 Albatàrrec Principat #> 1113 Alcanó Principat #> 1114 Alcarràs Principat #> 1115 Alcoletge Principat #> 1116 Alfarràs Principat #> 1117 Alfés Principat #> 1118 Alguaire Principat #> 1119 Almacelles Principat #> 1120 Almatret Principat #> 1121 Almenar Principat #> 1122 Alpicat Principat #> 1123 Artesa de Lleida Principat #> 1124 Aspa Principat #> 1125 Benavent de Segrià Principat #> 1126 Corbins Principat #> 1127 els Alamús Principat #> 1128 Gimenells Principat #> 1129 la Granja d'Escarp Principat #> 1130 la Portella Principat #> 1131 Llardecans Principat #> 1132 Lleida Principat #> 1133 Maials Principat #> 1134 Massalcoreig Principat #> 1135 Montoliu de Lleida Principat #> 1136 Puigverd de Lleida Principat #> 1137 Rosselló Principat #> 1138 Sarroca de Lleida Principat #> 1139 Seròs Principat #> 1140 Soses Principat #> 1141 Sudanell Principat #> 1142 Sunyer Principat #> 1143 Torre-serona Principat #> 1144 Torrebesses Principat #> 1145 Torrefarrera Principat #> 1146 Torres de Segre Principat #> 1147 Vilanova de la Barca Principat #> 1148 Vilanova de Segrià Principat #> 1149 Amer Principat #> 1150 Anglès Principat #> 1151 Arbúcies Principat #> 1152 Blanes Principat #> 1153 Breda Principat #> 1154 Brunyola Principat #> 1155 Caldes de Malavella Principat #> 1156 Fogars de la Selva Principat #> 1157 Hostalric Principat #> 1158 la Cellera de Ter Principat #> 1159 Lloret de Mar Principat #> 1160 Maçanes Principat #> 1161 Maçanet de la Selva Principat #> 1162 Osor Principat #> 1163 Riells Principat #> 1164 Riudarenes Principat #> 1165 Riudellots de la Selva Principat #> 1166 Sant Feliu de Buixalleu Principat #> 1167 Sant Hilari Sacalm Principat #> 1168 Bonmatí Principat #> 1169 Santa Coloma de Farners Principat #> 1170 Sils Principat #> 1171 Sant Martí Sacalm Principat #> 1172 Tossa de Mar Principat #> 1173 Vidreres Principat #> 1174 Vilobí d'Onyar Principat #> 1175 Castellar de la Ribera Principat #> 1176 Clariana de Cardener Principat #> 1177 la Casa Nova de Valls Principat #> 1178 la Coma Principat #> 1179 la Molsosa Principat #> 1180 Lladurs Principat #> 1181 Llobera Principat #> 1182 Navès Principat #> 1183 Cambrils Principat #> 1184 el Pi de Sant Just Principat #> 1185 Sant Climenç Principat #> 1186 Pinós Principat #> 1187 el Miracle Principat #> 1188 Sant Llorenç de Morunys Principat #> 1189 Solsona Principat #> 1190 Altafulla Principat #> 1191 Constantí Principat #> 1192 Creixell Principat #> 1193 el Catllar Principat #> 1194 el Morell Principat #> 1195 els Pallaresos Principat #> 1196 la Canonja Principat #> 1197 la Nou de Gaià Principat #> 1198 la Pobla de Mafumet Principat #> 1199 la Pobla de Montornès Principat #> 1200 la Riera de Gaià Principat #> 1201 la Secuita Principat #> 1202 Perafort Principat #> 1203 Renau Principat #> 1204 Roda de Berà Principat #> 1205 Salomó Principat #> 1206 Salou Principat #> 1207 Tarragona Principat #> 1208 Torredembarra Principat #> 1209 Vespella de Gaià Principat #> 1210 Vila-seca Principat #> 1211 Vilallonga del Camp Principat #> 1212 Arnes Principat #> 1213 Batea Principat #> 1214 Bot Principat #> 1215 Caseres Principat #> 1216 Corbera d'Ebre Principat #> 1217 el Pinell de Brai Principat #> 1218 Gandesa Principat #> 1219 Horta de Sant Joan Principat #> 1220 la Fatarella Principat #> 1221 la Pobla de Massaluca Principat #> 1222 Prat de Comte Principat #> 1223 Vilalba dels Arcs Principat #> 1224 Agramunt Principat #> 1225 Anglesola Principat #> 1226 Belianes Principat #> 1227 Bellpuig Principat #> 1228 Castellserà Principat #> 1229 Ciutadilla Principat #> 1230 els Omells de na Gaia Principat #> 1231 Guimerà Principat #> 1232 la Fuliola Principat #> 1233 Maldà Principat #> 1234 Nalec Principat #> 1235 Ossó de Sió Principat #> 1236 Preixana Principat #> 1237 Puigverd d'Agramunt Principat #> 1238 Sant Martí de Maldà Principat #> 1239 Tàrrega Principat #> 1240 Tornabous Principat #> 1241 Vallbona de les Monges Principat #> 1242 Verdú Principat #> 1243 Vilagrassa Principat #> 1244 Badia del Vallès Principat #> 1245 Barberà del Vallès Principat #> 1246 Castellar del Vallès Principat #> 1247 Castellbisbal Principat #> 1248 Cerdanyola del Vallès Principat #> 1249 Gallifa Principat #> 1250 Matadepera Principat #> 1251 Montcada i Reixac Principat #> 1252 Palau-solità i Plegamans Principat #> 1253 Polinyà Principat #> 1254 Rellinars Principat #> 1255 Ripollet Principat #> 1256 Rubí Principat #> 1257 Sabadell Principat #> 1258 Sant Cugat del Vallès Principat #> 1259 Sant Llorenç Savall Principat #> 1260 Sant Quirze del Vallès Principat #> 1261 Santa Perpètua de Mogoda Principat #> 1262 Sentmenat Principat #> 1263 Terrassa Principat #> 1264 Ullastrell Principat #> 1265 Vacarisses Principat #> 1266 Viladecavalls Principat #> 1267 Aiguafreda Principat #> 1268 Bigues Principat #> 1269 Caldes de Montbui Principat #> 1270 Campins Principat #> 1271 Canovelles Principat #> 1272 Cànoves Principat #> 1273 Cardedeu Principat #> 1274 el Figueró Principat #> 1275 Mosqueroles Principat #> 1276 Granollers Principat #> 1277 Gualba Principat #> 1278 l'Ametlla del Vallès Principat #> 1279 la Garriga Principat #> 1280 la Llagosta Principat #> 1281 la Roca del Vallès Principat #> 1282 Corró d'Avall Principat #> 1283 Lliçà d'Amunt Principat #> 1284 Lliçà de Vall Principat #> 1285 Llinars del Vallès Principat #> 1286 Martorelles Principat #> 1287 Mollet del Vallès Principat #> 1288 Montmeló Principat #> 1289 Montornès del Vallès Principat #> 1290 Montseny Principat #> 1291 Parets del Vallès Principat #> 1292 Sant Antoni de Vilamajor Principat #> 1293 Sant Celoni Principat #> 1294 Sant Esteve de Palautordera Principat #> 1295 Sant Feliu de Codines Principat #> 1296 Sant Fost de Campsentelles Principat #> 1297 Sant Pere de Vilamajor Principat #> 1298 Santa Eulàlia de Ronçana Principat #> 1299 Santa Maria de Martorelles Principat #> 1300 Santa Maria de Palautordera Principat #> 1301 Tagamanent Principat #> 1302 Vallgorguina Principat #> 1303 Vallromanes Principat #> 1304 Vilalba Sasserra Principat #> 1305 Vilanova del Vallès Principat #> 1306 València PV #> 1307 Alcalà de Xivert PV #> 1308 Benicarló PV #> 1309 Càlig PV #> 1310 Canet lo Roig PV #> 1311 Castell de Cabres PV #> 1312 Cervera del Maestrat PV #> 1313 la Jana PV #> 1314 la Pobla de Benifassà PV #> 1315 la Salzadella PV #> 1316 Peníscola PV #> 1317 Rossell PV #> 1318 Sant Jordi PV #> 1319 Sant Mateu PV #> 1320 Sant Rafel del Riu PV #> 1321 Santa Magdalena de Polpís PV #> 1322 Traiguera PV #> 1323 Vinaròs PV #> 1324 Xert PV #> 1325 Guardamar del Segura PV #> 1326 Crevillent PV #> 1327 Elx PV #> 1328 Santa Pola PV #> 1329 Albalat dels Tarongers PV #> 1330 Alfara de la Baronia PV #> 1331 Algar de Palància PV #> 1332 Algímia d'Alfara PV #> 1333 Benavites PV #> 1334 Benifairó de les Valls PV #> 1335 Canet d'en Berenguer PV #> 1336 Estivella PV #> 1337 Faura PV #> 1338 Gilet PV #> 1339 Petrés PV #> 1340 Quart de les Valls PV #> 1341 Quartell PV #> 1342 Sagunt PV #> 1343 Segart PV #> 1344 Torres Torres PV #> 1345 Benaguasil PV #> 1346 Benissanó PV #> 1347 Bétera PV #> 1348 Casinos PV #> 1349 l'Eliana PV #> 1350 la Pobla de Vallbona PV #> 1351 Llíria PV #> 1352 Nàquera PV #> 1353 Olocau PV #> 1354 Riba-roja de Túria PV #> 1355 Serra PV #> 1356 Vilamarxant PV #> 1357 Agres PV #> 1358 Alcoleja PV #> 1359 Alcosser PV #> 1360 Alfafara PV #> 1361 Almudaina PV #> 1362 Balones PV #> 1363 Benasau PV #> 1364 Beniarrés PV #> 1365 Benilloba PV #> 1366 Benillup PV #> 1367 Benimarfull PV #> 1368 Benimassot PV #> 1369 Cocentaina PV #> 1370 Fageca PV #> 1371 Famorca PV #> 1372 Gaianes PV #> 1373 Gorga PV #> 1374 l'Alqueria d'Asnar PV #> 1375 l'Orxa PV #> 1376 Millena PV #> 1377 Muro d'Alcoi PV #> 1378 Planes PV #> 1379 Quatretondeta PV #> 1380 Tollos PV #> 1381 el Fondó de les Neus PV #> 1382 el Fondó dels Frares PV #> 1383 el Pinós PV #> 1384 l'Alguenya PV #> 1385 la Romana PV #> 1386 Monòver PV #> 1387 Novelda PV #> 1388 Petrer PV #> 1389 Castellfort PV #> 1390 Cinctorres PV #> 1391 el Forcall PV #> 1392 Herbers PV #> 1393 la Mata de Morella PV #> 1394 la Todolella PV #> 1395 Morella PV #> 1396 Palanques PV #> 1397 Portell de Morella PV #> 1398 Sorita PV #> 1399 Vallibona PV #> 1400 Vilafranca PV #> 1401 Villores PV #> 1402 Agost PV #> 1403 Aigües PV #> 1404 Alacant PV #> 1405 Busot PV #> 1406 el Campello PV #> 1407 la Torre de les Maçanes PV #> 1408 Mutxamel PV #> 1409 Sant Joan d'Alacant PV #> 1410 Sant Vicent del Raspeig PV #> 1411 Xixona PV #> 1412 Costur PV #> 1413 Figueroles PV #> 1414 l'Alcora PV #> 1415 les Useres PV #> 1416 Llucena PV #> 1417 Vistabella del Maestrat PV #> 1418 Xodos PV #> 1419 Alcoi PV #> 1420 Banyeres de Mariola PV #> 1421 Benifallim PV #> 1422 Castalla PV #> 1423 Ibi PV #> 1424 Onil PV #> 1425 Penàguila PV #> 1426 Tibi PV #> 1427 Albocàsser PV #> 1428 Ares del Maestrat PV #> 1429 Atzeneta del Maestrat PV #> 1430 Benafigos PV #> 1431 Benassal PV #> 1432 Catí PV #> 1433 Culla PV #> 1434 la Serratella PV #> 1435 la Torre d'en Besora PV #> 1436 Tírig PV #> 1437 Vilar de Canes PV #> 1438 Beneixama PV #> 1439 Biar PV #> 1440 el Camp de Mirra PV #> 1441 la Canyada PV #> 1442 Albalat dels Sorells PV #> 1443 Alboraia PV #> 1444 Albuixec PV #> 1445 Alfara del Patriarca PV #> 1446 Almàssera PV #> 1447 Bonrepòs i Mirambell PV #> 1448 Burjassot PV #> 1449 el Puig de Santa Maria PV #> 1450 Emperador PV #> 1451 Foios PV #> 1452 Godella PV #> 1453 la Pobla de Farnals PV #> 1454 Massalfassar PV #> 1455 Massamagrell PV #> 1456 Meliana PV #> 1457 Montcada PV #> 1458 Museros PV #> 1459 Paterna PV #> 1460 Puçol PV #> 1461 Rafelbunyol PV #> 1462 Rocafort PV #> 1463 Tavernes Blanques PV #> 1464 Vinalesa PV #> 1465 Alaquàs PV #> 1466 Albal PV #> 1467 Alcàsser PV #> 1468 Aldaia PV #> 1469 Alfafar PV #> 1470 Benetússer PV #> 1471 Beniparrell PV #> 1472 Catarroja PV #> 1473 Llocnou de la Corona PV #> 1474 Manises PV #> 1475 Massanassa PV #> 1476 Mislata PV #> 1477 Paiporta PV #> 1478 Picanya PV #> 1479 Picassent PV #> 1480 Quart de Poblet PV #> 1481 Sedaví PV #> 1482 Silla PV #> 1483 Torrent PV #> 1484 Xirivella PV #> 1485 Barxeta PV #> 1486 Canals PV #> 1487 Cerdà PV #> 1488 el Genovés PV #> 1489 Estubeny PV #> 1490 l'Alcúdia de Crespins PV #> 1491 la Font de la Figuera PV #> 1492 la Granja de la Costera PV #> 1493 la Llosa de Ranes PV #> 1494 Llanera de Ranes PV #> 1495 Llocnou d'en Fenollet PV #> 1496 Moixent PV #> 1497 Montesa PV #> 1498 Novetlè PV #> 1499 Rotglà i Corberà PV #> 1500 Torrella PV #> 1501 Vallada PV #> 1502 Vallés PV #> 1503 Xàtiva PV #> 1504 Alcalalí PV #> 1505 Beniarbeig PV #> 1506 Benidoleig PV #> 1507 Benigembla PV #> 1508 Benimeli PV #> 1509 Benissa PV #> 1510 Calp PV #> 1511 Castell de Castells PV #> 1512 Dénia PV #> 1513 el Poble Nou de Benitatxell PV #> 1514 el Ràfol d'Almúnia PV #> 1515 el Verger PV #> 1516 els Poblets PV #> 1517 Gata de Gorgos PV #> 1518 l'Atzúbia PV #> 1519 Alcalà de la Jovada PV #> 1520 la Vall d'Ebo PV #> 1521 Benialí PV #> 1522 Fleix PV #> 1523 Llíber PV #> 1524 Murla PV #> 1525 Ondara PV #> 1526 Orba PV #> 1527 Parcent PV #> 1528 Pedreguer PV #> 1529 Pego PV #> 1530 Sagra PV #> 1531 Sanet i els Negrals PV #> 1532 Senija PV #> 1533 Teulada PV #> 1534 Tormos PV #> 1535 Xàbia PV #> 1536 Xaló PV #> 1537 Altea PV #> 1538 Beniardà PV #> 1539 Benidorm PV #> 1540 Benifato PV #> 1541 Benimantell PV #> 1542 Bolulla PV #> 1543 Callosa d'en Sarrià PV #> 1544 Confrides PV #> 1545 el Castell de Guadalest PV #> 1546 Finestrat PV #> 1547 l'Alfàs del Pi PV #> 1548 la Nucia PV #> 1549 la Vila Joiosa PV #> 1550 Orxeta PV #> 1551 Polop PV #> 1552 Relleu PV #> 1553 Sella PV #> 1554 Tàrbena PV #> 1555 Almassora PV #> 1556 Benicàssim PV #> 1557 Benlloc PV #> 1558 Borriol PV #> 1559 Cabanes PV #> 1560 Castelló de la Plana PV #> 1561 la Pobla Tornesa PV #> 1562 la Serra d'en Galceran PV #> 1563 la Torre d'en Doménec PV #> 1564 la Vall d'Alba PV #> 1565 les Coves de Vinromà PV #> 1566 Orpesa PV #> 1567 Sant Joan de Moró PV #> 1568 Torreblanca PV #> 1569 Vilafamés PV #> 1570 Vilanova d'Alcolea PV #> 1571 Aín PV #> 1572 Alfondeguilla PV #> 1573 Almenara PV #> 1574 Artana PV #> 1575 Betxí PV #> 1576 Borriana PV #> 1577 Eslida PV #> 1578 l'Alcúdia de Veo PV #> 1579 la Llosa PV #> 1580 la Vall d'Uixó PV #> 1581 la Vilavella PV #> 1582 les Alqueries PV #> 1583 Moncofa PV #> 1584 Nules PV #> 1585 Onda PV #> 1586 Ribesalbes PV #> 1587 Suera PV #> 1588 Tales PV #> 1589 Vila-real PV #> 1590 Xilxes PV #> 1591 Alberic PV #> 1592 Alcàntera de Xúquer PV #> 1593 Alfarb PV #> 1594 Algemesí PV #> 1595 Alginet PV #> 1596 Alzira PV #> 1597 Antella PV #> 1598 Beneixida PV #> 1599 Benifaió PV #> 1600 Benimodo PV #> 1601 Benimuslem PV #> 1602 Carcaixent PV #> 1603 Càrcer PV #> 1604 Carlet PV #> 1605 Castelló PV #> 1606 Catadau PV #> 1607 Cotes PV #> 1608 Gavarda PV #> 1609 Guadassuar PV #> 1610 l'Alcúdia PV #> 1611 l'Énova PV #> 1612 la Pobla Llarga PV #> 1613 Llombai PV #> 1614 Manuel PV #> 1615 Massalavés PV #> 1616 Montroi PV #> 1617 Montserrat PV #> 1618 Rafelguaraf PV #> 1619 Real PV #> 1620 Sant Joanet PV #> 1621 Sellent PV #> 1622 Senyera PV #> 1623 Sumacàrcer PV #> 1624 Torís PV #> 1625 Albalat de la Ribera PV #> 1626 Almussafes PV #> 1627 Benicull de Xúquer PV #> 1628 Corbera PV #> 1629 Cullera PV #> 1630 Favara PV #> 1631 Fortaleny PV #> 1632 Llaurí PV #> 1633 Polinyà de Xúquer PV #> 1634 Riola PV #> 1635 Sollana PV #> 1636 Sueca PV #> 1637 Ador PV #> 1638 Alfauir PV #> 1639 Almiserà PV #> 1640 Almoines PV #> 1641 Barx PV #> 1642 Bellreguard PV #> 1643 Beniarjó PV #> 1644 Benifairó de la Valldigna PV #> 1645 Beniflà PV #> 1646 Benirredrà PV #> 1647 Castellonet de la Conquesta PV #> 1648 Daimús PV #> 1649 el Real de Gandia PV #> 1650 Gandia PV #> 1651 Guardamar de la Safor PV #> 1652 l'Alqueria de la Comtessa PV #> 1653 la Font d'en Carròs PV #> 1654 Llocnou de Sant Jeroni PV #> 1655 Miramar PV #> 1656 Oliva PV #> 1657 Palma de Gandia PV #> 1658 Palmera PV #> 1659 Piles PV #> 1660 Potries PV #> 1661 Rafelcofer PV #> 1662 Ròtova PV #> 1663 Simat de la Valldigna PV #> 1664 Tavernes de la Valldigna PV #> 1665 Vilallonga PV #> 1666 Xeraco PV #> 1667 Xeresa PV #> 1668 Agullent PV #> 1669 Aielo de Malferit PV #> 1670 Aielo de Rugat PV #> 1671 Albaida PV #> 1672 Alfarrasí PV #> 1673 Atzeneta d'Albaida PV #> 1674 Bèlgida PV #> 1675 Bellús PV #> 1676 Beniatjar PV #> 1677 Benicolet PV #> 1678 Benigànim PV #> 1679 Benissoda PV #> 1680 Benissuera PV #> 1681 Bocairent PV #> 1682 Bufali PV #> 1683 Carrícola PV #> 1684 Castelló de Rugat PV #> 1685 el Palomar PV #> 1686 el Ràfol de Salem PV #> 1687 Fontanars dels Alforins PV #> 1688 Guadasséquies PV #> 1689 l'Olleria PV #> 1690 la Pobla del Duc PV #> 1691 Llutxent PV #> 1692 Montaverner PV #> 1693 Montitxelvo PV #> 1694 Ontinyent PV #> 1695 Otos PV #> 1696 Pinet PV #> 1697 Quatretonda PV #> 1698 Rugat PV #> 1699 Salem PV #> 1700 Sempere PV #> 1701 Terrateig PV #> 1702 l'Alguer Sardenya #> municipi #> 1 Alt Aran #> 2 Arres #> 3 Bausén #> 4 Bossòst #> 5 Canejan #> 6 es Bordes #> 7 Lés #> 8 Viella i Mitjaran #> 9 Vilamòs #> 10 Angostrina i Vilanova de les Escaldes #> 11 Bolquera #> 12 Dorres #> 13 Èguet #> 14 Eina #> 15 Enveig #> 16 Er #> 17 Estavar #> 18 Font-romeu, Odelló i Vià #> 19 la Cabanassa #> 20 la Guingueta d'Ix #> 21 la Tor de Querol #> 22 Llo #> 23 Montlluís #> 24 Naüja #> 25 Oceja #> 26 Palau de Cerdanya #> 27 Porta #> 28 Portè #> 29 Sallagosa #> 30 Santa Llocaia #> 31 Targasona #> 32 Ur #> 33 Vallcebollera #> 34 els Angles #> 35 Font-rabiosa #> 36 Formiguera #> 37 Matamala #> 38 Puigbalador #> 39 Real #> 40 Aiguatèbia i Talau #> 41 Arboçols #> 42 Campome #> 43 Canavelles #> 44 Castell de Vernet #> 45 Catllà #> 46 Caudiers de Conflent #> 47 Censà #> 48 Clarà i Villerac #> 49 Codalet #> 50 Conat #> 51 Cornellà de Conflent #> 52 Escaró #> 53 Espirà de Conflent #> 54 Estoer #> 55 Eus #> 56 Fillols #> 57 Finestret #> 58 Fontpedrosa #> 59 Fullà #> 60 Glorianes #> 61 Jóc #> 62 Jújols #> 63 la Bastida #> 64 la Llaguna #> 65 Los Masos #> 66 Marqueixanes #> 67 Mentet #> 68 Molig #> 69 Mosset #> 70 Noedes #> 71 Nyer #> 72 Oleta i Èvol #> 73 Orbanyà #> 74 Orellà #> 75 Pi de Conflent #> 76 Planès #> 77 Prada #> 78 Ralleu #> 79 Rià i Cirac #> 80 Rigardà #> 81 Rodés #> 82 Sant Marçal #> 83 Sant Pere dels Forcats #> 84 Saorra #> 85 Sautó #> 86 Serdinyà #> 87 Soanyes #> 88 Tarerac #> 89 Taurinyà #> 90 Toès i Entrevalls #> 91 Vallestàvia #> 92 Vallmanya #> 93 Vernet #> 94 Vilafranca de Conflent #> 95 Vinçà #> 96 Ansinyà #> 97 Bellestar #> 98 Campossí #> 99 Caramany #> 100 Cassanyes #> 101 Caudiers de Fenollet #> 102 Centernac #> 103 El Viver #> 104 Felluns #> 105 Fenollet #> 106 Fossa #> 107 l'Esquerda #> 108 la Tor de França #> 109 lançac #> 110 Maurí #> 111 Montalban lo Castèl #> 112 Pesillà de Conflent #> 113 Planeses #> 114 Prats de Sornià #> 115 Prunyanes #> 116 Rasigueres #> 117 Rebollet #> 118 Sant Martí de Fenollet #> 119 Sant Pau de Fenollet #> 120 Sornià #> 121 Trevillac #> 122 Trillà #> 123 Virà #> 124 Alenyà #> 125 Argelers #> 126 Bages de Rosselló #> 127 Baixàs #> 128 Banyuls de la Marenda #> 129 Banyuls dels Aspres #> 130 Bao #> 131 Bompàs #> 132 Brullà #> 133 Bula d'Amunt #> 134 Bulaternera #> 135 Cabestany #> 136 Calce #> 137 Calmella #> 138 Cameles #> 139 Canet de Rosselló #> 140 Cànoes #> 141 Casafabre #> 142 Cases de Pena #> 143 Castellnou #> 144 Cervera de la Marenda #> 145 Clairà #> 146 Corbera de Rosselló #> 147 Cornellà de la Ribera #> 148 Cornellà del Bercol #> 149 Cotlliure #> 150 el Barcarès #> 151 el Soler #> 152 el Voló #> 153 Elna #> 154 Espirà de l'Aglí #> 155 Estagell #> 156 Forques #> 157 Illa #> 158 la Cabana de Corbera #> 159 la Roca d'Albera #> 160 la Torre d'Elna #> 161 Llauró #> 162 Llupià #> 163 Millars #> 164 Montescot #> 165 Montesquiu d'Albera #> 166 Montner #> 167 Montoriol #> 168 Nefiac #> 169 Oms #> 170 Òpol i Perellós #> 171 Ortafà #> 172 Paçà #> 173 Palau del Vidre #> 174 Paretstortes #> 175 Perpinyà #> 176 Pesillà de la Ribera #> 177 Pià #> 178 Pollestres #> 179 Pontellà #> 180 Portvendres #> 181 Prunet i Belpuig #> 182 Queixàs #> 183 Ribesaltes #> 184 Salelles #> 185 Salses #> 186 Sant Andreu de Sureda #> 187 Sant Cebrià de Rosselló #> 188 Sant Esteve del Monestir #> 189 Sant Feliu d'Amunt #> 190 Sant Feliu d'Avall #> 191 Sant Genís de Fontanes #> 192 Sant Hipòlit de la Salanca #> 193 Sant Joan la Cella #> 194 Sant Llorenç de la Salanca #> 195 Sant Miquel de Llotes #> 196 Sant Nazari de Rosselló #> 197 Santa Coloma de Tuïr #> 198 Santa Maria la Mar #> 199 Sureda #> 200 Talteüll #> 201 Terrats #> 202 Tesà #> 203 Toluges #> 204 Torderes #> 205 Torrelles de la Salanca #> 206 Trasserra #> 207 Trullars #> 208 Tuïr #> 209 Vilallonga de la Salanca #> 210 Vilallonga dels Monts #> 211 Vilamulaca #> 212 Vilanova de la Ribera #> 213 Vilanova de Raò #> 214 Vingrau #> 215 Arles #> 216 Ceret #> 217 Cortsaví #> 218 Costoja #> 219 el Pertús #> 220 el Tec #> 221 els Banys d'Arles i Palaldà #> 222 L'Albera #> 223 la Menera #> 224 les Cluses #> 225 Montboló #> 226 Montferrer #> 227 Morellàs i les Illes #> 228 Prats de Molló i la Presta #> 229 Reiners #> 230 Sant Joan de Pladecorts #> 231 Sant Llorenç de Cerdans #> 232 Serrallonga #> 233 Tellet #> 234 Teulís #> 235 Vivers #> 236 Aiguaviva de Bergantes #> 237 Bellmunt de Mesquí #> 238 la Canyada de Beric #> 239 la Codonyera #> 240 la Ginebrosa #> 241 la Sorollera #> 242 la Torre de Vilella #> 243 Faió #> 244 Favara #> 245 Maella #> 246 Nonasp #> 247 Fraga #> 248 Mequinensa #> 249 Saidí #> 250 Torrent de Cinca #> 251 Vilella de Cinca #> 252 Albelda #> 253 Baells #> 254 Camporrells #> 255 Castellonroi #> 256 el Campell #> 257 el Torricó #> 258 Peralta i Calassanç #> 259 Sant Esteve de Llitera #> 260 Sanui i Alins #> 261 Tamarit de Llitera #> 262 Valldellou #> 263 Vensilló #> 264 Arenys de Lledó #> 265 Beseit #> 266 Calaceit #> 267 Fontdespatla #> 268 Fórnols #> 269 la Freixneda #> 270 la Portellada #> 271 la Torre del Comte #> 272 la Vall del Tormo #> 273 Lledó d'Algars #> 274 Massalió #> 275 Montroig #> 276 Pena-roja de Tastavins #> 277 Queretes #> 278 Ràfels #> 279 Torredarques #> 280 Vall-de-Roures #> 281 Valljunquera #> 282 Areny de Noguera #> 283 Benavarri #> 284 Beranui #> 285 Bonansa #> 286 Castigaleu #> 287 Estopanyà #> 288 Isàvena #> 289 Lasquarri #> 290 Les Paüls #> 291 Monesma i Queixigar #> 292 Montanui #> 293 Pont de Montanyana #> 294 Sopeira #> 295 Tolba #> 296 Tor-la-ribera #> 297 Viacamp i Lliterà #> 298 Eivissa #> 299 Sant Antoni de Portmany #> 300 Sant Joan de Labritja #> 301 Sant Josep de sa Talaia #> 302 Santa Eulària des Riu #> 303 Formentera #> 304 Artà #> 305 Capdepera #> 306 Manacor #> 307 Sant Llorenç des Cardassar #> 308 Son Servera #> 309 Alaior #> 310 Ciutadella #> 311 es Castell #> 312 es Mercadal #> 313 es Migjorn Gran #> 314 Ferreries #> 315 Maó #> 316 Sant Lluís #> 317 Campos #> 318 Felanitx #> 319 Llucmajor #> 320 Santanyí #> 321 ses Salines #> 322 Palma #> 323 Algaida #> 324 Ariany #> 325 Costitx #> 326 Lloret de Vistalegre #> 327 Llubí #> 328 Maria de la Salut #> 329 Montuïri #> 330 Muro #> 331 Petra #> 332 Porreres #> 333 Sant Joan #> 334 Santa Eugènia #> 335 Santa Margalida #> 336 Sencelles #> 337 Sineu #> 338 Vilafranca de Bonany #> 339 Alaró #> 340 Alcúdia #> 341 Binissalem #> 342 Búger #> 343 Campanet #> 344 Consell #> 345 Inca #> 346 Lloseta #> 347 Mancor de la Vall #> 348 Marratxí #> 349 sa Pobla #> 350 Santa Maria del Camí #> 351 Selva #> 352 Andratx #> 353 Banyalbufar #> 354 Bunyola #> 355 Calvià #> 356 Deià #> 357 Escorca #> 358 Esporles #> 359 Estellencs #> 360 Fornalutx #> 361 Pollença #> 362 Puigpunyent #> 363 Sóller #> 364 Valldemossa #> 365 Aiguamúrcia #> 366 Alcover #> 367 Alió #> 368 Bràfim #> 369 Cabra del Camp #> 370 el Milà #> 371 el Pla de Santa Maria #> 372 el Pont d'Armentera #> 373 el Rourell #> 374 els Garidells #> 375 Figuerola del Camp #> 376 la Masó #> 377 la Riba #> 378 Mont-ral #> 379 Montferri #> 380 Nulles #> 381 Puigpelat #> 382 Querol #> 383 Rodonyà #> 384 Vallmoll #> 385 Valls #> 386 Vila-rodona #> 387 Vilabella #> 388 Agullana #> 389 Albanyà #> 390 Avinyonet de Puigventós #> 391 Bàscara #> 392 Biure #> 393 Boadella i les Escaules #> 394 Borrassà #> 395 Cabanelles #> 396 Cabanes #> 397 Cadaqués #> 398 Campmany #> 399 Cantallops #> 400 Castelló d'Empúries #> 401 Castelló d'Empúries #> 402 Cistella #> 403 Colera #> 404 Darnius #> 405 el Far d'Empordà #> 406 el Port de la Selva #> 407 Espolla #> 408 Figueres #> 409 Fortià #> 410 Garrigàs #> 411 Garriguella #> 412 l'Armentera #> 413 l'Escala #> 414 la Jonquera #> 415 la Selva de Mar #> 416 la Vajol #> 417 Llançà #> 418 Lledó d'Empordà #> 419 Llers #> 420 Maçanet de Cabrenys #> 421 Masarac #> 422 Mollet de Peralada #> 423 Navata #> 424 Ordis #> 425 Palau de Santa Eulàlia #> 426 Palau-saverdera #> 427 Pau #> 428 Pedret i Marzà #> 429 Peralada #> 430 Pont de Molins #> 431 Pontós #> 432 Portbou #> 433 Rabós #> 434 Riumors #> 435 Roses #> 436 Sant Climent Sescebes #> 437 Sant Llorenç de la Muga #> 438 Sant Miquel de Fluvià #> 439 Sant Mori #> 440 Sant Pere Pescador #> 441 Santa Llogaia d'Àlguema #> 442 Saus, Camallera i Llampaies #> 443 Siurana #> 444 Terrades #> 445 Torroella de Fluvià #> 446 Ventalló #> 447 Vila-sacra #> 448 Vilabertran #> 449 Viladamat #> 450 Vilafant #> 451 Vilajuïga #> 452 Vilamacolum #> 453 Vilamalla #> 454 Vilamaniscle #> 455 Vilanant #> 456 Vilaür #> 457 Avinyonet del Penedès #> 458 Castellet i la Gornal #> 459 Castellví de la Marca #> 460 el Pla del Penedès #> 461 Font-rubí #> 462 Gelida #> 463 la Granada #> 464 les Cabanyes #> 465 Mediona #> 466 Olèrdola #> 467 Olesa de Bonesvalls #> 468 Pacs del Penedès #> 469 Pontons #> 470 Puigdàlber #> 471 Sant Cugat Sesgarrigues #> 472 Sant Llorenç d'Hortons #> 473 Sant Martí Sarroca #> 474 Sant Pere de Riudebitlles #> 475 Sant Quintí de Mediona #> 476 Sant Sadurní d'Anoia #> 477 Santa Fe del Penedès #> 478 Santa Margarida i els Monjos #> 479 Subirats #> 480 Terrassola i Lavit #> 481 Torrelles de Foix #> 482 Vilafranca del Penedès #> 483 Vilobí del Penedès #> 484 Alàs i Cerc #> 485 Arsèguel #> 486 Bassella #> 487 Cabó #> 488 Cava #> 489 Coll de Nargó #> 490 el Pont de Bar #> 491 Estamariu #> 492 Fígols i Alinyà #> 493 Josa i Tuixén #> 494 la Seu d'Urgell #> 495 la Vansa i Fórnols #> 496 la Vansa i Fórnols #> 497 les Valls d'Aguilar #> 498 les Valls de Valira #> 499 Montferrer i Castellbò #> 500 Oliana #> 501 Organyà #> 502 Peramola #> 503 Ribera d'Urgellet #> 504 el Pont de Suert #> 505 la Vall de Boí #> 506 Vilaller #> 507 Argençola #> 508 Bellprat #> 509 Cabrera d'Anoia #> 510 Calaf #> 511 Calonge de Segarra #> 512 Capellades #> 513 Carme #> 514 Castellfollit de Riubregós #> 515 Castellolí #> 516 Copons #> 517 el Bruc #> 518 els Hostalets de Pierola #> 519 els Prats de Rei #> 520 Igualada #> 521 Jorba #> 522 la Llacuna #> 523 la Pobla de Claramunt #> 524 la Torre de Claramunt #> 525 Masquefa #> 526 Montmaneu #> 527 Òdena #> 528 Orpí #> 529 Piera #> 530 Pujalt #> 531 Rubió #> 532 Sant Martí de Tous #> 533 Sant Martí Sesgueioles #> 534 Sant Pere Sallavinera #> 535 Santa Margarida de Montbui #> 536 Santa Maria de Miralles #> 537 Vallbona d'Anoia #> 538 Veciana #> 539 Vilanova del Camí #> 540 Aguilar de Segarra #> 541 Artés #> 542 Avinyó #> 543 Balsareny #> 544 Callús #> 545 Cardona #> 546 Castellbell i el Vilar #> 547 Castellfollit del Boix #> 548 Castellgalí #> 549 Castellnou de Bages #> 550 el Pont de Vilomara i Rocafort #> 551 Fonollosa #> 552 Gaià #> 553 Manresa #> 554 Marganell #> 555 Monistrol de Montserrat #> 556 Mura #> 557 Navarcles #> 558 Navars #> 559 Rajadell #> 560 Sallent #> 561 Sant Feliu Sasserra #> 562 Sant Fruitós de Bages #> 563 Sant Joan de Vilatorrada #> 564 Sant Mateu de Bages #> 565 Sant Salvador de Guardiola #> 566 Sant Vicenç de Castellet #> 567 Santpedor #> 568 Súria #> 569 Talamanca #> 570 Alforja #> 571 Almoster #> 572 Arbolí #> 573 Botarell #> 574 Cambrils #> 575 Capafonts #> 576 Castellvell del Camp #> 577 Colldejou #> 578 Duesaigües #> 579 l'Albiol #> 580 l'Aleixar #> 581 l'Argentera #> 582 la Febró #> 583 la Selva del Camp #> 584 les Borges del Camp #> 585 Maspujols #> 586 Mont-roig del Camp #> 587 Montbrió del Camp #> 588 Prades #> 589 Pratdip #> 590 Reus #> 591 Riudecanyes #> 592 Riudecols #> 593 Riudoms #> 594 Vandellòs i l'Hospitalet de l'Infant #> 595 Vilanova d'Escornalbou #> 596 Vilaplana #> 597 Vinyols i els Arcs #> 598 Aldover #> 599 Alfara de Carles #> 600 Benifallet #> 601 Camarles #> 602 Deltebre #> 603 el Perelló #> 604 l'Aldea #> 605 l'Ametlla de Mar #> 606 l'Ampolla #> 607 Paüls #> 608 Roquetes #> 609 Tivenys #> 610 Tortosa #> 611 Xerta #> 612 Albons #> 613 Begur #> 614 Bellcaire d'Empordà #> 615 Calonge i Sant Antoni #> 616 Castell i Platja d'Aro #> 617 Colomers #> 618 Corçà #> 619 Cruïlles, Monells i Sant Sadurní de l'Heura #> 620 Foixà #> 621 Fontanilles #> 622 Garrigoles #> 623 Gualta #> 624 Jafre #> 625 la Bisbal d'Empordà #> 626 la Pera #> 627 la Tallada d'Empordà #> 628 Mont-ras #> 629 Palafrugell #> 630 Palamós #> 631 Palau-sator #> 632 Pals #> 633 Parlavà #> 634 Regencós #> 635 Rupià #> 636 Sant Feliu de Guíxols #> 637 Santa Cristina d'Aro #> 638 Serra de Daró #> 639 Torrent #> 640 Torroella de Montgrí #> 641 Ullà #> 642 Ullastret #> 643 Ultramort #> 644 Vall-llobrega #> 645 Verges #> 646 Vilopriu #> 647 Vulpellac, Fonteta i Peratallada #> 648 Abrera #> 649 Begues #> 650 Castelldefels #> 651 Castellví de Rosanes #> 652 Cervelló #> 653 Collbató #> 654 Corbera de Llobregat #> 655 Cornellà de Llobregat #> 656 el Papiol #> 657 el Prat de Llobregat #> 658 Esparreguera #> 659 Esplugues de Llobregat #> 660 Gavà #> 661 la Palma de Cervelló #> 662 Martorell #> 663 Molins de Rei #> 664 Olesa de Montserrat #> 665 Pallejà #> 666 Sant Andreu de la Barca #> 667 Sant Boi de Llobregat #> 668 Sant Climent de Llobregat #> 669 Sant Esteve Sesrovires #> 670 Sant Feliu de Llobregat #> 671 Sant Joan Despí #> 672 Sant Just Desvern #> 673 Sant Vicenç dels Horts #> 674 Santa Coloma de Cervelló #> 675 Torrelles de Llobregat #> 676 Vallirana #> 677 Viladecans #> 678 Albinyana #> 679 Banyeres del Penedès #> 680 Bellvei #> 681 Bonastre #> 682 Calafell #> 683 Cunit #> 684 el Montmell #> 685 el Vendrell #> 686 l'Arboç #> 687 la Bisbal del Penedès #> 688 Llorenç del Penedès #> 689 Masllorenç #> 690 Sant Jaume dels Domenys #> 691 Santa Oliva #> 692 Badalona #> 693 Barcelona #> 694 l'Hospitalet de Llobregat #> 695 Sant Adrià de Besòs #> 696 Santa Coloma de Gramenet #> 697 Avià #> 698 Bagà #> 699 Berga #> 700 Borredà #> 701 Capolat #> 702 Casserres #> 703 Castell de l'Areny #> 704 Castellar de n'Hug #> 705 Castellar del Riu #> 706 Cercs #> 707 Fígols #> 708 Gironella #> 709 Gisclareny #> 710 Gósol #> 711 Guardiola de Berguedà #> 712 l'Espunyola #> 713 la Nou de Berguedà #> 714 la Pobla de Lillet #> 715 la Quar #> 716 Montclar #> 717 Montmajor #> 718 Olvan #> 719 Puig-reig #> 720 Sagàs #> 721 Saldes #> 722 Sant Jaume de Frontanyà #> 723 Sant Julià de Cerdanyola #> 724 Santa Maria de Merlès #> 725 Vallcebre #> 726 Vilada #> 727 Viver i Serrateix #> 728 Alp #> 729 Bellver de Cerdanya #> 730 Bolvir #> 731 Das #> 732 Fontanals de Cerdanya #> 733 Ger #> 734 Guils de Cerdanya #> 735 Isòvol #> 736 Lles de Cerdanya #> 737 Llívia #> 738 Meranges #> 739 Montellà i Martinet #> 740 Prats i Sansor #> 741 Prullans #> 742 Puigcerdà #> 743 Riu de Cerdanya #> 744 Urús #> 745 Barberà de la Conca #> 746 Blancafort #> 747 Conesa #> 748 Forès #> 749 l'Espluga de Francolí #> 750 les Piles #> 751 Llorac #> 752 Montblanc #> 753 Passanant i Belltall #> 754 Pira #> 755 Pontils #> 756 Rocafort de Queralt #> 757 Santa Coloma de Queralt #> 758 Sarral #> 759 Savallà del Comtat #> 760 Senan #> 761 Solivella #> 762 Vallclara #> 763 Vallfogona de Riucorb #> 764 Vilanova de Prades #> 765 Vilaverd #> 766 Vimbodí i Poblet #> 767 Canyelles #> 768 Cubelles #> 769 Olivella #> 770 Sant Pere de Ribes #> 771 Sitges #> 772 Vilanova i la Geltrú #> 773 Arbeca #> 774 Bellaguarda #> 775 Bovera #> 776 Castelldans #> 777 Cervià de les Garrigues #> 778 el Cogul #> 779 el Soleràs #> 780 el Vilosell #> 781 els Omellons #> 782 els Torms #> 783 Fulleda #> 784 Granyena de les Garrigues #> 785 Juncosa #> 786 Juneda #> 787 l'Albagés #> 788 l'Albi #> 789 l'Espluga Calba #> 790 la Floresta #> 791 la Granadella #> 792 la Pobla de Cérvoles #> 793 les Borges Blanques #> 794 Puiggròs #> 795 Tarrés #> 796 Vinaixa #> 797 Argelaguer #> 798 Besalú #> 799 Beuda #> 800 Castellfollit de la Roca #> 801 la Vall d'en Bas #> 802 la Vall de Bianya #> 803 les Planes d'Hostoles #> 804 les Preses #> 805 Maià de Montcal #> 806 Mieres #> 807 Montagut i Oix #> 808 Olot #> 809 Riudaura #> 810 Sales de Llierca #> 811 Sant Aniol de Finestres #> 812 Sant Feliu de Pallerols #> 813 Sant Ferriol #> 814 Sant Jaume de Llierca #> 815 Sant Joan les Fonts #> 816 Santa Pau #> 817 Tortellà #> 818 Aiguaviva #> 819 Bescanó #> 820 Bordils #> 821 Campllong #> 822 Canet d'Adri #> 823 Cassà de la Selva #> 824 Celrà #> 825 Cervià de Ter #> 826 Flaçà #> 827 Fornells de la Selva #> 828 Girona #> 829 Juià #> 830 Llagostera #> 831 Llambilles #> 832 Madremanya #> 833 Medinyà #> 834 Quart #> 835 Salt #> 836 Sant Andreu Salou #> 837 Sant Gregori #> 838 Sant Joan de Mollet #> 839 Sant Jordi Desvalls #> 840 Sant Julià de Ramis #> 841 Sant Martí de Llémena #> 842 Sant Martí Vell #> 843 Sarrià de Ter #> 844 Vilablareix #> 845 Viladasens #> 846 Alpens #> 847 Lluçà #> 848 Olost #> 849 Oristà #> 850 Perafita #> 851 Prats de Lluçanès #> 852 Sant Martí d'Albars #> 853 Sobremunt #> 854 Alella #> 855 Arenys de Mar #> 856 Arenys de Munt #> 857 Argentona #> 858 Cabrera de Mar #> 859 Cabrils #> 860 Caldes d'Estrac #> 861 Calella #> 862 Canet de Mar #> 863 Dosrius #> 864 el Masnou #> 865 Malgrat de Mar #> 866 Mataró #> 867 Montgat #> 868 Òrrius #> 869 Palafolls #> 870 Pineda de Mar #> 871 Premià de Dalt #> 872 Premià de Mar #> 873 Sant Andreu de Llavaneres #> 874 Sant Cebrià de Vallalta #> 875 Sant Iscle de Vallalta #> 876 Sant Pol de Mar #> 877 Sant Vicenç de Montalt #> 878 Santa Susanna #> 879 Teià #> 880 Tiana #> 881 Tordera #> 882 Vilassar de Dalt #> 883 Vilassar de Mar #> 884 Calders #> 885 Castellcir #> 886 Castellterçol #> 887 Collsuspina #> 888 Granera #> 889 l'Estany #> 890 Moià #> 891 Monistrol de Calders #> 892 Sant Quirze Safaja #> 893 Santa Maria d'Oló #> 894 Alcanar #> 895 Amposta #> 896 Freginals #> 897 Godall #> 898 la Galera #> 899 la Ràpita #> 900 la Sénia #> 901 Mas de Barberans #> 902 Masdenverge #> 903 Sant Jaume d'Enveja #> 904 Santa Bàrbara #> 905 Ulldecona #> 906 Àger #> 907 Albesa #> 908 Algerri #> 909 Alòs de Balaguer #> 910 Artesa de Segre #> 911 Balaguer #> 912 Bellcaire d'Urgell #> 913 Bellmunt d'Urgell #> 914 Cabanabona #> 915 Camarasa #> 916 Castelló de Farfanya #> 917 Cubells #> 918 Foradada #> 919 Ivars de Noguera #> 920 la Baronia de Rialb #> 921 la Sentiu de Sió #> 922 les Avellanes i Santa Linya #> 923 Menàrguens #> 924 Montgai #> 925 Oliola #> 926 Os de Balaguer #> 927 Penelles #> 928 Ponts #> 929 Preixens #> 930 Térmens #> 931 Tiurana #> 932 Torrelameu #> 933 Vallfogona de Balaguer #> 934 Vilanova de l'Aguda #> 935 Vilanova de Meià #> 936 Balenyà #> 937 Calldetenes #> 938 Centelles #> 939 el Brull #> 940 Espinelves #> 941 Folgueroles #> 942 Gurb #> 943 l'Esquirol #> 944 les Masies de Roda #> 945 les Masies de Voltregà #> 946 Malla #> 947 Manlleu #> 948 Montesquiu #> 949 Muntanyola #> 950 Orís #> 951 Roda de Ter #> 952 Rupit i Pruit #> 953 Sant Agustí de Lluçanès #> 954 Sant Bartomeu del Grau #> 955 Sant Boi de Lluçanès #> 956 Sant Hipòlit de Voltregà #> 957 Sant Julià de Vilatorta #> 958 Sant Martí de Centelles #> 959 Sant Pere de Torelló #> 960 Sant Quirze de Besora #> 961 Sant Sadurní d'Osormort #> 962 Sant Vicenç de Torelló #> 963 Santa Cecília de Voltregà #> 964 Santa Eugènia de Berga #> 965 Santa Eulàlia de Riuprimer #> 966 Santa Maria de Besora #> 967 Seva #> 968 Sora #> 969 Taradell #> 970 Tavèrnoles #> 971 Tavertet #> 972 Tona #> 973 Torelló #> 974 Vic #> 975 Vidrà #> 976 Viladrau #> 977 Vilanova de Sau #> 978 Abella de la Conca #> 979 Castell de Mur #> 980 Conca de Dalt #> 981 Gavet de la Conca #> 982 Isona i Conca Dellà #> 983 la Pobla de Segur #> 984 la Torre de Cabdella #> 985 Llimiana #> 986 Salàs de Pallars #> 987 Sant Esteve de la Sarga #> 988 Sarroca de Bellera #> 989 Senterada #> 990 Talarn #> 991 Tremp #> 992 Alins #> 993 Alt Àneu #> 994 Baix Pallars #> 995 Espot #> 996 Esterri d'Àneu #> 997 Esterri de Cardós #> 998 Farrera #> 999 la Guingueta d'Àneu #> 1000 Lladorre #> 1001 Llavorsí #> 1002 Rialb #> 1003 Soriguera #> 1004 Sort #> 1005 Tírvia #> 1006 Vall de Cardós #> 1007 Barbens #> 1008 Bell-lloc d'Urgell #> 1009 Bellvís #> 1010 Castellnou de Seana #> 1011 el Palau d'Anglesola #> 1012 el Poal #> 1013 Fondarella #> 1014 Golmés #> 1015 Ivars d'Urgell #> 1016 Linyola #> 1017 Miralcamp #> 1018 Mollerussa #> 1019 Sidamon #> 1020 Torregrossa #> 1021 Vila-sana #> 1022 Vilanova de Bellpuig #> 1023 Banyoles #> 1024 Camós #> 1025 Cornellà del Terri #> 1026 Crespià #> 1027 Esponellà #> 1028 Fontcoberta #> 1029 Palol de Revardit #> 1030 Porqueres #> 1031 Sant Miquel de Campmajor #> 1032 Serinyà #> 1033 Vilademuls #> 1034 Bellmunt del Priorat #> 1035 Cabassers #> 1036 Capçanes #> 1037 Cornudella de Montsant #> 1038 el Lloar #> 1039 el Masroig #> 1040 el Molar #> 1041 els Guiamets #> 1042 Falset #> 1043 Gratallops #> 1044 la Bisbal de Montsant #> 1045 la Figuera #> 1046 la Morera de Montsant #> 1047 la Torre de Fontaubella #> 1048 la Vilella Alta #> 1049 la Vilella Baixa #> 1050 Marçà #> 1051 Margalef #> 1052 Poboleda #> 1053 Porrera #> 1054 Pradell de la Teixeta #> 1055 Torroja del Priorat #> 1056 Ulldemolins #> 1057 Ascó #> 1058 Benissanet #> 1059 Flix #> 1060 Garcia #> 1061 Ginestar #> 1062 la Palma d'Ebre #> 1063 la Torre de l'Espanyol #> 1064 Miravet #> 1065 Móra d'Ebre #> 1066 Móra la Nova #> 1067 Rasquera #> 1068 Riba-roja d'Ebre #> 1069 Tivissa #> 1070 Vinebre #> 1071 Campdevànol #> 1072 Campelles #> 1073 Camprodon #> 1074 Gombrèn #> 1075 les Llosses #> 1076 Llanars #> 1077 Molló #> 1078 Ogassa #> 1079 Pardines #> 1080 Planoles #> 1081 Queralbs #> 1082 Ribes de Freser #> 1083 Ripoll #> 1084 Sant Joan de les Abadesses #> 1085 Sant Pau de Segúries #> 1086 Setcases #> 1087 Toses #> 1088 Vallfogona de Ripollès #> 1089 Vilallonga de Ter #> 1090 Biosca #> 1091 Cervera #> 1092 els Plans de Sió #> 1093 Estaràs #> 1094 Granyanella #> 1095 Granyena de Segarra #> 1096 Guissona #> 1097 Ivorra #> 1098 les Oluges #> 1099 Massoteres #> 1100 Montoliu de Segarra #> 1101 Montornès de Segarra #> 1102 Ribera d'Ondara #> 1103 Sanaüja #> 1104 Sant Guim de Freixenet #> 1105 Sant Guim de la Plana #> 1106 Sant Ramon #> 1107 Talavera #> 1108 Tarroja de Segarra #> 1109 Torà #> 1110 Torrefeta i Florejacs #> 1111 Aitona #> 1112 Albatàrrec #> 1113 Alcanó #> 1114 Alcarràs #> 1115 Alcoletge #> 1116 Alfarràs #> 1117 Alfés #> 1118 Alguaire #> 1119 Almacelles #> 1120 Almatret #> 1121 Almenar #> 1122 Alpicat #> 1123 Artesa de Lleida #> 1124 Aspa #> 1125 Benavent de Segrià #> 1126 Corbins #> 1127 els Alamús #> 1128 Gimenells i el Pla de la Font #> 1129 la Granja d'Escarp #> 1130 la Portella #> 1131 Llardecans #> 1132 Lleida #> 1133 Maials #> 1134 Massalcoreig #> 1135 Montoliu de Lleida #> 1136 Puigverd de Lleida #> 1137 Rosselló #> 1138 Sarroca de Lleida #> 1139 Seròs #> 1140 Soses #> 1141 Sudanell #> 1142 Sunyer #> 1143 Torre-serona #> 1144 Torrebesses #> 1145 Torrefarrera #> 1146 Torres de Segre #> 1147 Vilanova de la Barca #> 1148 Vilanova de Segrià #> 1149 Amer #> 1150 Anglès #> 1151 Arbúcies #> 1152 Blanes #> 1153 Breda #> 1154 Brunyola i Sant Martí Sapresa #> 1155 Caldes de Malavella #> 1156 Fogars de la Selva #> 1157 Hostalric #> 1158 la Cellera de Ter #> 1159 Lloret de Mar #> 1160 Maçanes #> 1161 Maçanet de la Selva #> 1162 Osor #> 1163 Riells i Viabrea #> 1164 Riudarenes #> 1165 Riudellots de la Selva #> 1166 Sant Feliu de Buixalleu #> 1167 Sant Hilari Sacalm #> 1168 Sant Julià del Llor i Bonmatí #> 1169 Santa Coloma de Farners #> 1170 Sils #> 1171 Susqueda #> 1172 Tossa de Mar #> 1173 Vidreres #> 1174 Vilobí d'Onyar #> 1175 Castellar de la Ribera #> 1176 Clariana de Cardener #> 1177 Guixers #> 1178 la Coma i la Pedra #> 1179 la Molsosa #> 1180 Lladurs #> 1181 Llobera #> 1182 Navès #> 1183 Odèn #> 1184 Olius #> 1185 Pinell de Solsonès #> 1186 Pinós #> 1187 Riner #> 1188 Sant Llorenç de Morunys #> 1189 Solsona #> 1190 Altafulla #> 1191 Constantí #> 1192 Creixell #> 1193 el Catllar #> 1194 el Morell #> 1195 els Pallaresos #> 1196 la Canonja #> 1197 la Nou de Gaià #> 1198 la Pobla de Mafumet #> 1199 la Pobla de Montornès #> 1200 la Riera de Gaià #> 1201 la Secuita #> 1202 Perafort #> 1203 Renau #> 1204 Roda de Berà #> 1205 Salomó #> 1206 Salou #> 1207 Tarragona #> 1208 Torredembarra #> 1209 Vespella de Gaià #> 1210 Vila-seca #> 1211 Vilallonga del Camp #> 1212 Arnes #> 1213 Batea #> 1214 Bot #> 1215 Caseres #> 1216 Corbera d'Ebre #> 1217 el Pinell de Brai #> 1218 Gandesa #> 1219 Horta de Sant Joan #> 1220 la Fatarella #> 1221 la Pobla de Massaluca #> 1222 Prat de Comte #> 1223 Vilalba dels Arcs #> 1224 Agramunt #> 1225 Anglesola #> 1226 Belianes #> 1227 Bellpuig #> 1228 Castellserà #> 1229 Ciutadilla #> 1230 els Omells de na Gaia #> 1231 Guimerà #> 1232 la Fuliola #> 1233 Maldà #> 1234 Nalec #> 1235 Ossó de Sió #> 1236 Preixana #> 1237 Puigverd d'Agramunt #> 1238 Sant Martí de Riucorb #> 1239 Tàrrega #> 1240 Tornabous #> 1241 Vallbona de les Monges #> 1242 Verdú #> 1243 Vilagrassa #> 1244 Badia del Vallès #> 1245 Barberà del Vallès #> 1246 Castellar del Vallès #> 1247 Castellbisbal #> 1248 Cerdanyola del Vallès #> 1249 Gallifa #> 1250 Matadepera #> 1251 Montcada i Reixac #> 1252 Palau-solità i Plegamans #> 1253 Polinyà #> 1254 Rellinars #> 1255 Ripollet #> 1256 Rubí #> 1257 Sabadell #> 1258 Sant Cugat del Vallès #> 1259 Sant Llorenç Savall #> 1260 Sant Quirze del Vallès #> 1261 Santa Perpètua de Mogoda #> 1262 Sentmenat #> 1263 Terrassa #> 1264 Ullastrell #> 1265 Vacarisses #> 1266 Viladecavalls #> 1267 Aiguafreda #> 1268 Bigues i Riells del Fai #> 1269 Caldes de Montbui #> 1270 Campins #> 1271 Canovelles #> 1272 Cànoves i Samalús #> 1273 Cardedeu #> 1274 el Figueró i Montmany #> 1275 Fogars de Montclús #> 1276 Granollers #> 1277 Gualba #> 1278 l'Ametlla del Vallès #> 1279 la Garriga #> 1280 la Llagosta #> 1281 la Roca del Vallès #> 1282 les Franqueses del Vallès #> 1283 Lliçà d'Amunt #> 1284 Lliçà de Vall #> 1285 Llinars del Vallès #> 1286 Martorelles #> 1287 Mollet del Vallès #> 1288 Montmeló #> 1289 Montornès del Vallès #> 1290 Montseny #> 1291 Parets del Vallès #> 1292 Sant Antoni de Vilamajor #> 1293 Sant Celoni #> 1294 Sant Esteve de Palautordera #> 1295 Sant Feliu de Codines #> 1296 Sant Fost de Campsentelles #> 1297 Sant Pere de Vilamajor #> 1298 Santa Eulàlia de Ronçana #> 1299 Santa Maria de Martorelles #> 1300 Santa Maria de Palautordera #> 1301 Tagamanent #> 1302 Vallgorguina #> 1303 Vallromanes #> 1304 Vilalba Sasserra #> 1305 Vilanova del Vallès #> 1306 València #> 1307 Alcalà de Xivert #> 1308 Benicarló #> 1309 Càlig #> 1310 Canet lo Roig #> 1311 Castell de Cabres #> 1312 Cervera del Maestrat #> 1313 la Jana #> 1314 la Pobla de Benifassà #> 1315 la Salzadella #> 1316 Peníscola #> 1317 Rossell #> 1318 Sant Jordi #> 1319 Sant Mateu #> 1320 Sant Rafel del Riu #> 1321 Santa Magdalena de Polpís #> 1322 Traiguera #> 1323 Vinaròs #> 1324 Xert #> 1325 Guardamar del Segura #> 1326 Crevillent #> 1327 Elx #> 1328 Santa Pola #> 1329 Albalat dels Tarongers #> 1330 Alfara de la Baronia #> 1331 Algar de Palància #> 1332 Algímia d'Alfara #> 1333 Benavites #> 1334 Benifairó de les Valls #> 1335 Canet d'en Berenguer #> 1336 Estivella #> 1337 Faura #> 1338 Gilet #> 1339 Petrés #> 1340 Quart de les Valls #> 1341 Quartell #> 1342 Sagunt #> 1343 Segart #> 1344 Torres Torres #> 1345 Benaguasil #> 1346 Benissanó #> 1347 Bétera #> 1348 Casinos #> 1349 l'Eliana #> 1350 la Pobla de Vallbona #> 1351 Llíria #> 1352 Nàquera #> 1353 Olocau #> 1354 Riba-roja de Túria #> 1355 Serra #> 1356 Vilamarxant #> 1357 Agres #> 1358 Alcoleja #> 1359 Alcosser #> 1360 Alfafara #> 1361 Almudaina #> 1362 Balones #> 1363 Benasau #> 1364 Beniarrés #> 1365 Benilloba #> 1366 Benillup #> 1367 Benimarfull #> 1368 Benimassot #> 1369 Cocentaina #> 1370 Fageca #> 1371 Famorca #> 1372 Gaianes #> 1373 Gorga #> 1374 l'Alqueria d'Asnar #> 1375 l'Orxa #> 1376 Millena #> 1377 Muro d'Alcoi #> 1378 Planes #> 1379 Quatretondeta #> 1380 Tollos #> 1381 el Fondó de les Neus #> 1382 el Fondó dels Frares #> 1383 el Pinós #> 1384 l'Alguenya #> 1385 la Romana #> 1386 Monòver #> 1387 Novelda #> 1388 Petrer #> 1389 Castellfort #> 1390 Cinctorres #> 1391 el Forcall #> 1392 Herbers #> 1393 la Mata de Morella #> 1394 la Todolella #> 1395 Morella #> 1396 Palanques #> 1397 Portell de Morella #> 1398 Sorita #> 1399 Vallibona #> 1400 Vilafranca #> 1401 Villores #> 1402 Agost #> 1403 Aigües #> 1404 Alacant #> 1405 Busot #> 1406 el Campello #> 1407 la Torre de les Maçanes #> 1408 Mutxamel #> 1409 Sant Joan d'Alacant #> 1410 Sant Vicent del Raspeig #> 1411 Xixona #> 1412 Costur #> 1413 Figueroles #> 1414 l'Alcora #> 1415 les Useres #> 1416 Llucena #> 1417 Vistabella del Maestrat #> 1418 Xodos #> 1419 Alcoi #> 1420 Banyeres de Mariola #> 1421 Benifallim #> 1422 Castalla #> 1423 Ibi #> 1424 Onil #> 1425 Penàguila #> 1426 Tibi #> 1427 Albocàsser #> 1428 Ares del Maestrat #> 1429 Atzeneta del Maestrat #> 1430 Benafigos #> 1431 Benassal #> 1432 Catí #> 1433 Culla #> 1434 la Serratella #> 1435 la Torre d'en Besora #> 1436 Tírig #> 1437 Vilar de Canes #> 1438 Beneixama #> 1439 Biar #> 1440 el Camp de Mirra #> 1441 la Canyada #> 1442 Albalat dels Sorells #> 1443 Alboraia #> 1444 Albuixec #> 1445 Alfara del Patriarca #> 1446 Almàssera #> 1447 Bonrepòs i Mirambell #> 1448 Burjassot #> 1449 el Puig de Santa Maria #> 1450 Emperador #> 1451 Foios #> 1452 Godella #> 1453 la Pobla de Farnals #> 1454 Massalfassar #> 1455 Massamagrell #> 1456 Meliana #> 1457 Montcada #> 1458 Museros #> 1459 Paterna #> 1460 Puçol #> 1461 Rafelbunyol #> 1462 Rocafort #> 1463 Tavernes Blanques #> 1464 Vinalesa #> 1465 Alaquàs #> 1466 Albal #> 1467 Alcàsser #> 1468 Aldaia #> 1469 Alfafar #> 1470 Benetússer #> 1471 Beniparrell #> 1472 Catarroja #> 1473 Llocnou de la Corona #> 1474 Manises #> 1475 Massanassa #> 1476 Mislata #> 1477 Paiporta #> 1478 Picanya #> 1479 Picassent #> 1480 Quart de Poblet #> 1481 Sedaví #> 1482 Silla #> 1483 Torrent #> 1484 Xirivella #> 1485 Barxeta #> 1486 Canals #> 1487 Cerdà #> 1488 el Genovés #> 1489 Estubeny #> 1490 l'Alcúdia de Crespins #> 1491 la Font de la Figuera #> 1492 la Granja de la Costera #> 1493 la Llosa de Ranes #> 1494 Llanera de Ranes #> 1495 Llocnou d'en Fenollet #> 1496 Moixent #> 1497 Montesa #> 1498 Novetlè #> 1499 Rotglà i Corberà #> 1500 Torrella #> 1501 Vallada #> 1502 Vallés #> 1503 Xàtiva #> 1504 Alcalalí #> 1505 Beniarbeig #> 1506 Benidoleig #> 1507 Benigembla #> 1508 Benimeli #> 1509 Benissa #> 1510 Calp #> 1511 Castell de Castells #> 1512 Dénia #> 1513 el Poble Nou de Benitatxell #> 1514 el Ràfol d'Almúnia #> 1515 el Verger #> 1516 els Poblets #> 1517 Gata de Gorgos #> 1518 l'Atzúbia #> 1519 la Vall d'Alcalà #> 1520 la Vall d'Ebo #> 1521 la Vall de Gallinera #> 1522 la Vall de Laguar #> 1523 Llíber #> 1524 Murla #> 1525 Ondara #> 1526 Orba #> 1527 Parcent #> 1528 Pedreguer #> 1529 Pego #> 1530 Sagra #> 1531 Sanet i els Negrals #> 1532 Senija #> 1533 Teulada #> 1534 Tormos #> 1535 Xàbia #> 1536 Xaló #> 1537 Altea #> 1538 Beniardà #> 1539 Benidorm #> 1540 Benifato #> 1541 Benimantell #> 1542 Bolulla #> 1543 Callosa d'en Sarrià #> 1544 Confrides #> 1545 el Castell de Guadalest #> 1546 Finestrat #> 1547 l'Alfàs del Pi #> 1548 la Nucia #> 1549 la Vila Joiosa #> 1550 Orxeta #> 1551 Polop #> 1552 Relleu #> 1553 Sella #> 1554 Tàrbena #> 1555 Almassora #> 1556 Benicàssim #> 1557 Benlloc #> 1558 Borriol #> 1559 Cabanes #> 1560 Castelló de la Plana #> 1561 la Pobla Tornesa #> 1562 la Serra d'en Galceran #> 1563 la Torre d'en Doménec #> 1564 la Vall d'Alba #> 1565 les Coves de Vinromà #> 1566 Orpesa #> 1567 Sant Joan de Moró #> 1568 Torreblanca #> 1569 Vilafamés #> 1570 Vilanova d'Alcolea #> 1571 Aín #> 1572 Alfondeguilla #> 1573 Almenara #> 1574 Artana #> 1575 Betxí #> 1576 Borriana #> 1577 Eslida #> 1578 l'Alcúdia de Veo #> 1579 la Llosa #> 1580 la Vall d'Uixó #> 1581 la Vilavella #> 1582 les Alqueries #> 1583 Moncofa #> 1584 Nules #> 1585 Onda #> 1586 Ribesalbes #> 1587 Suera #> 1588 Tales #> 1589 Vila-real #> 1590 Xilxes #> 1591 Alberic #> 1592 Alcàntera de Xúquer #> 1593 Alfarb #> 1594 Algemesí #> 1595 Alginet #> 1596 Alzira #> 1597 Antella #> 1598 Beneixida #> 1599 Benifaió #> 1600 Benimodo #> 1601 Benimuslem #> 1602 Carcaixent #> 1603 Càrcer #> 1604 Carlet #> 1605 Castelló #> 1606 Catadau #> 1607 Cotes #> 1608 Gavarda #> 1609 Guadassuar #> 1610 l'Alcúdia #> 1611 l'Énova #> 1612 la Pobla Llarga #> 1613 Llombai #> 1614 Manuel #> 1615 Massalavés #> 1616 Montroi #> 1617 Montserrat #> 1618 Rafelguaraf #> 1619 Real #> 1620 Sant Joanet #> 1621 Sellent #> 1622 Senyera #> 1623 Sumacàrcer #> 1624 Torís #> 1625 Albalat de la Ribera #> 1626 Almussafes #> 1627 Benicull de Xúquer #> 1628 Corbera #> 1629 Cullera #> 1630 Favara #> 1631 Fortaleny #> 1632 Llaurí #> 1633 Polinyà de Xúquer #> 1634 Riola #> 1635 Sollana #> 1636 Sueca #> 1637 Ador #> 1638 Alfauir #> 1639 Almiserà #> 1640 Almoines #> 1641 Barx #> 1642 Bellreguard #> 1643 Beniarjó #> 1644 Benifairó de la Valldigna #> 1645 Beniflà #> 1646 Benirredrà #> 1647 Castellonet de la Conquesta #> 1648 Daimús #> 1649 el Real de Gandia #> 1650 Gandia #> 1651 Guardamar de la Safor #> 1652 l'Alqueria de la Comtessa #> 1653 la Font d'en Carròs #> 1654 Llocnou de Sant Jeroni #> 1655 Miramar #> 1656 Oliva #> 1657 Palma de Gandia #> 1658 Palmera #> 1659 Piles #> 1660 Potries #> 1661 Rafelcofer #> 1662 Ròtova #> 1663 Simat de la Valldigna #> 1664 Tavernes de la Valldigna #> 1665 Vilallonga #> 1666 Xeraco #> 1667 Xeresa #> 1668 Agullent #> 1669 Aielo de Malferit #> 1670 Aielo de Rugat #> 1671 Albaida #> 1672 Alfarrasí #> 1673 Atzeneta d'Albaida #> 1674 Bèlgida #> 1675 Bellús #> 1676 Beniatjar #> 1677 Benicolet #> 1678 Benigànim #> 1679 Benissoda #> 1680 Benissuera #> 1681 Bocairent #> 1682 Bufali #> 1683 Carrícola #> 1684 Castelló de Rugat #> 1685 el Palomar #> 1686 el Ràfol de Salem #> 1687 Fontanars dels Alforins #> 1688 Guadasséquies #> 1689 l'Olleria #> 1690 la Pobla del Duc #> 1691 Llutxent #> 1692 Montaverner #> 1693 Montitxelvo #> 1694 Ontinyent #> 1695 Otos #> 1696 Pinet #> 1697 Quatretonda #> 1698 Rugat #> 1699 Salem #> 1700 Sempere #> 1701 Terrateig #> 1702 l'Alguer #> name #> 1 Salardú #> 2 Arres de Jos #> 3 Bausen #> 4 Bossòst #> 5 Canejan #> 6 Es Bòrdes #> 7 Les #> 8 Vielha #> 9 Vilamòs #> 10 Angoustrine-Villeneuve-des-Escaldes #> 11 Bolquère #> 12 Dorres #> 13 Égat #> 14 Eyne #> 15 Enveitg #> 16 Err #> 17 Estavar #> 18 Font-Romeu-Odeillo-Via #> 19 La Cabanasse #> 20 Bourg-Madame #> 21 Latour-de-Carol #> 22 Llo #> 23 Mont-Louis #> 24 Nahuja #> 25 Osséja #> 26 Palau-de-Cerdagne #> 27 Porta #> 28 Porté-Puymorens #> 29 Saillagouse #> 30 Sainte-Léocadie #> 31 Targasonne #> 32 Ur #> 33 Valcebollère #> 34 Les Angles #> 35 Fontrabiouse #> 36 Formiguères #> 37 Matemale #> 38 Puyvalador #> 39 Réal #> 40 Ayguatébia #> 41 Arboussols #> 42 Campôme #> 43 Canaveilles #> 44 Casteil #> 45 Catllar #> 46 Caudiès-de-Conflent #> 47 Sansa #> 48 Clara #> 49 Codalet #> 50 Conat #> 51 Corneilla-de-Conflent #> 52 Escaro #> 53 Espira-de-Conflent #> 54 Estoher #> 55 Eus #> 56 Fillols #> 57 Finestret #> 58 Fontpédrouse #> 59 Fuilla #> 60 Glorianes #> 61 Joch #> 62 Jujols #> 63 La Bastide #> 64 La Llagonne #> 65 Llonat #> 66 Marquixanes #> 67 Mantet #> 68 Molitg-les-Bains #> 69 Mosset #> 70 Nohèdes #> 71 Nyer #> 72 Olette #> 73 Urbanya #> 74 Oreilla #> 75 Py #> 76 Planès #> 77 Prades #> 78 Railleu #> 79 Ria #> 80 Rigarda #> 81 Rodès #> 82 Saint-Marsal #> 83 Saint-Pierre-dels-Forcats #> 84 Sahorre #> 85 Sauto #> 86 Serdinya #> 87 Souanyas #> 88 Tarerach #> 89 Taurinya #> 90 Thuès-Entre-Valls #> 91 Baillestavy #> 92 Valmanya #> 93 Vernet-les-Bains #> 94 Villefranche-de-Conflent #> 95 Vinça #> 96 Ansignan #> 97 Bélesta #> 98 Campoussy #> 99 Caramany #> 100 Cassagnes #> 101 Caudiès-de-Fenouillèdes #> 102 Saint-Arnac #> 103 Le Vivier #> 104 Feilluns #> 105 Fenouillet #> 106 Les Cabanes #> 107 Lesquerde #> 108 Latour-de-France #> 109 Lansac #> 110 Maury #> 111 Montalba-le-Château #> 112 Pézilla-de-Conflent #> 113 Planèzes #> 114 Prats-de-Sournia #> 115 Prugnanes #> 116 Rasiguères #> 117 Rabouillet #> 118 Saint-Martin-de-Fenouillet #> 119 Saint-Paul-de-Fenouillet #> 120 Sournia #> 121 Trévillach #> 122 Trilla #> 123 Vira #> 124 Alénya #> 125 Argelès-sur-Mer #> 126 Bages #> 127 Baixas #> 128 Banyuls-sur-Mer #> 129 Banyuls-dels-Aspres #> 130 Baho #> 131 Bompas #> 132 Brouilla #> 133 Boule-d'Amont #> 134 Bouleternère #> 135 Cabestany #> 136 Calce #> 137 Calmeilles #> 138 Camélas #> 139 Canet-en-Roussillon #> 140 Canohès #> 141 Casefabre #> 142 Cases-de-Pène #> 143 Castelnou #> 144 Cerbère #> 145 Claira #> 146 Corbère #> 147 Corneilla-la-Rivière #> 148 Corneilla-del-Vercol #> 149 Collioure #> 150 Le Barcarès #> 151 Le Soler #> 152 Le Boulou #> 153 Elne #> 154 Espira-de-l'Agly #> 155 Estagel #> 156 Fourques #> 157 Ille-sur-Têt #> 158 Corbère-les-Cabanes #> 159 Laroque-des-Albères #> 160 Latour-Bas-Elne #> 161 Llauro #> 162 Llupia #> 163 Millas #> 164 Montescot #> 165 Montesquieu-des-Albères #> 166 Montner #> 167 Montauriol #> 168 Néfiach #> 169 Oms #> 170 Opoul-Périllos #> 171 Ortaffa #> 172 Passa #> 173 Palau-del-Vidre #> 174 Peyrestortes #> 175 Perpignan #> 176 Pézilla-la-Rivière #> 177 Pia #> 178 Pollestres #> 179 Ponteilla #> 180 Port-Vendres #> 181 La Trinité #> 182 Caixas #> 183 Rivesaltes #> 184 Saleilles #> 185 Salses-le-Château #> 186 Saint-André #> 187 Saint-Cyprien #> 188 Saint-Estève #> 189 Saint-Féliu-d'Amont #> 190 Saint-Féliu-d'Avall #> 191 Saint-Génis-des-Fontaines #> 192 Saint-Hippolyte #> 193 Saint-Jean-Lasseille #> 194 Saint-Laurent-de-la-Salanque #> 195 Saint-Michel-de-Llotes #> 196 Saint-Nazaire #> 197 Sainte-Colombe-de-la-Commanderie #> 198 Sainte-Marie-la-Mer #> 199 Sorède #> 200 Tautavel #> 201 Terrats #> 202 Théza #> 203 Toulouges #> 204 Tordères #> 205 Torreilles #> 206 Tresserre #> 207 Trouillas #> 208 Thuir #> 209 Villelongue-de-la-Salanque #> 210 Villelongue-dels-Monts #> 211 Villemolaque #> 212 Villeneuve-la-Rivière #> 213 Villeneuve-de-la-Raho #> 214 Vingrau #> 215 Arles-sur-Tech #> 216 Céret #> 217 Corsavy #> 218 Coustouges #> 219 Le Perthus #> 220 Le Tech #> 221 Amélie-les-Bains-Palalda #> 222 L'Albère #> 223 Lamanère #> 224 Les Cluses #> 225 Montbolo #> 226 Montferrer #> 227 Maureillas-las-Illas #> 228 Prats-de-Mollo-la-Preste #> 229 Reynès #> 230 Saint-Jean-Pla-de-Corts #> 231 Saint-Laurent-de-Cerdans #> 232 Serralongue #> 233 Taillet #> 234 Taulis #> 235 Vivès #> 236 Aguaviva / Aiguaviva de Bergantes #> 237 Belmonte de San José / Bellmunt de Mesquí #> 238 La Cañada de Verich / la Canyada de Beric #> 239 La Codoñera / la Codonyera #> 240 La Ginebrosa #> 241 La Cerollera / la Sorollera #> 242 Torrevelilla / la Torre de Vilella #> 243 Fayón / Faió #> 244 Fabara / Favara #> 245 Maella #> 246 Nonaspe / Nonasp #> 247 Fraga #> 248 Mequinenza / Mequinensa #> 249 Zaidín / Saidí #> 250 Torrente de Cinca / Torrent de Cinca #> 251 Velilla de Cinca #> 252 Albelda #> 253 Baells #> 254 Camporrells #> 255 Castillonroy / Castellonroi #> 256 Alcampell / el Campell #> 257 Altorricón / el Torricó #> 258 Peralta de la Sal #> 259 San Esteban de Litera #> 260 Azanuy #> 261 Tamarite de Litera / Tamarit de Llitera #> 262 Baldellou / Valdellou #> 263 Vencillón / Vensilló #> 264 Arens de Lledó / Arenys de Lledó #> 265 Beceite / Beseit #> 266 Calaceite / Calaceit #> 267 Fuentespalda / Fontdespatla #> 268 Fórnoles / Fórnols #> 269 La Fresneda / la Freixneda #> 270 La Portellada #> 271 Torre del Compte / la Torre del Comte #> 272 Valdeltormo / la Vall del Tormo #> 273 Lledó / Lledó d'Algars #> 274 Mazaleón / Massalió #> 275 Monroyo / Montroig #> 276 Peñarroya de Tastavins / Pena-roja de Tastavins #> 277 Cretas / Queretes #> 278 Ràfels / Ráfales #> 279 Torre de Arcas / Torredarques #> 280 Valderrobres / Vall de Roures #> 281 Valjunquera / Valljunquera #> 282 Arén / Areny de Noguera #> 283 Benabarre / Benavarri #> 284 Beranuy #> 285 Bonansa #> 286 Castigaleu #> 287 Estopiñán del Castillo / Estopanyà #> 288 La Puebla de Roda #> 289 Lascuarre / Lasquarri #> 290 Laspaúles / Les Paüls #> 291 Cajigar / Queixigar #> 292 Montanuy / Montanui #> 293 Puente de Montañana / Pont de Montanyana #> 294 Sopeira #> 295 Tolva / Tolba #> 296 Torre la Ribera #> 297 Viacamp #> 298 Eivissa #> 299 Sant Antoni de Portmany #> 300 Sant Joan de Labritja #> 301 Sant Josep de sa Talaia #> 302 Santa Eulària des Riu #> 303 Sant Francesc de Formentera #> 304 Artà #> 305 Capdepera #> 306 Manacor #> 307 Sant Llorenç des Cardassar #> 308 Son Servera #> 309 Alaior #> 310 Ciutadella #> 311 es Castell #> 312 es Mercadal #> 313 es Migjorn Gran #> 314 Ferreries #> 315 Maó #> 316 Sant Lluís #> 317 Campos #> 318 Felanitx #> 319 Llucmajor #> 320 Santanyí #> 321 ses Salines #> 322 Palma #> 323 Algaida #> 324 Ariany #> 325 Costitx #> 326 Lloret de Vistalegre #> 327 Llubí #> 328 Maria de la Salut #> 329 Montuïri #> 330 Muro #> 331 Petra #> 332 Porreres #> 333 Sant Joan #> 334 Santa Eugènia #> 335 Santa Margalida #> 336 Sencelles #> 337 Sineu #> 338 Vilafranca de Bonany #> 339 Alaró #> 340 Alcúdia #> 341 Binissalem #> 342 Búger #> 343 Campanet #> 344 Consell #> 345 Inca #> 346 Lloseta #> 347 Mancor de la Vall #> 348 sa Cabaneta #> 349 sa Pobla #> 350 Santa Maria del Camí #> 351 Selva #> 352 Andratx #> 353 Banyalbufar #> 354 Bunyola #> 355 Calvià #> 356 Deià #> 357 Lluc #> 358 Esporles #> 359 Estellencs #> 360 Fornalutx #> 361 Pollença #> 362 Puigpunyent #> 363 Sóller #> 364 Valldemossa #> 365 Aiguamúrcia #> 366 Alcover #> 367 Alió #> 368 Bràfim #> 369 Cabra del Camp #> 370 el Milà #> 371 el Pla de Santa Maria #> 372 el Pont d'Armentera #> 373 el Rourell #> 374 els Garidells #> 375 Figuerola del Camp #> 376 la Masó #> 377 la Riba #> 378 Mont-ral #> 379 Montferri #> 380 Nulles #> 381 Puigpelat #> 382 Querol #> 383 Rodonyà #> 384 Vallmoll #> 385 Valls #> 386 Vila-rodona #> 387 Vilabella #> 388 Agullana #> 389 Albanyà #> 390 Avinyonet de Puigventós #> 391 Bàscara #> 392 Biure #> 393 Boadella d'Empordà #> 394 Borrassà #> 395 Cabanelles #> 396 Cabanes #> 397 Cadaqués #> 398 Capmany #> 399 Cantallops #> 400 Castelló d'Empúries #> 401 Castelló d'Empúries #> 402 Cistella #> 403 Colera #> 404 Darnius #> 405 el Far d'Empordà #> 406 el Port de la Selva #> 407 Espolla #> 408 Figueres #> 409 Fortià #> 410 Garrigàs #> 411 Garriguella #> 412 l'Armentera #> 413 l'Escala #> 414 la Jonquera #> 415 la Selva de Mar #> 416 la Vajol #> 417 Llançà #> 418 Lladó #> 419 Llers #> 420 Maçanet de Cabrenys #> 421 Masarac #> 422 Mollet de Peralada #> 423 Navata #> 424 Ordis #> 425 Santa Eulàlia #> 426 Palau-saverdera #> 427 Pau #> 428 Marzà #> 429 Peralada #> 430 Pont de Molins #> 431 Pontós #> 432 Portbou #> 433 Rabós #> 434 Riumors #> 435 Roses #> 436 Sant Climent Sescebes #> 437 Sant Llorenç de la Muga #> 438 Sant Miquel de Fluvià #> 439 Sant Mori #> 440 Sant Pere Pescador #> 441 Santa Llogaia d'Àlguema #> 442 Camallera #> 443 Siurana #> 444 Terrades #> 445 Torroella de Fluvià #> 446 Ventalló #> 447 Vila-sacra #> 448 Vilabertran #> 449 Viladamat #> 450 Vilafant #> 451 Vilajuïga #> 452 Vilamacolum #> 453 Vilamalla #> 454 Vilamaniscle #> 455 Vilanant #> 456 Vilaür #> 457 Avinyó Nou #> 458 la Gornal #> 459 la Múnia #> 460 el Pla del Penedès #> 461 Font-rubí #> 462 Gelida #> 463 la Granada #> 464 les Cabanyes #> 465 Sant Joan de Mediona #> 466 Sant Miquel d'Olèrdola #> 467 Olesa de Bonesvalls #> 468 Pacs del Penedès #> 469 Pontons #> 470 Puigdàlber #> 471 Sant Cugat Sesgarrigues #> 472 Sant Llorenç d'Hortons #> 473 Sant Martí Sarroca #> 474 Sant Pere de Riudebitlles #> 475 Sant Quintí de Mediona #> 476 Sant Sadurní d'Anoia #> 477 Santa Fe del Penedès #> 478 Santa Margarida i els Monjos #> 479 Sant Pau d'Ordal #> 480 Torrelavit #> 481 Torrelles de Foix #> 482 Vilafranca del Penedès #> 483 Vilobí del Penedès #> 484 Alàs #> 485 Arsèguel #> 486 Bassella #> 487 Cabó #> 488 Ansovell #> 489 Coll de Nargó #> 490 Bar #> 491 Estamariu #> 492 Fígols #> 493 Tuixent #> 494 la Seu d'Urgell #> 495 Fórnols #> 496 Sorribes de la Vansa #> 497 Noves de Segre #> 498 Anserall #> 499 Montferrer #> 500 Oliana #> 501 Organyà #> 502 Peramola #> 503 el Pla de Sant Tirs #> 504 el Pont de Suert #> 505 Barruera #> 506 Vilaller #> 507 Argençola #> 508 Bellprat #> 509 Canaletes #> 510 Calaf #> 511 Dusfort #> 512 Capellades #> 513 Carme #> 514 Castellfollit de Riubregós #> 515 Castellolí #> 516 Copons #> 517 el Bruc #> 518 els Hostalets de Pierola #> 519 els Prats de Rei #> 520 Igualada #> 521 Jorba #> 522 la Llacuna #> 523 la Pobla de Claramunt #> 524 la Torre de Claramunt #> 525 Masquefa #> 526 Montmaneu #> 527 Òdena #> 528 Orpí #> 529 Piera #> 530 Pujalt #> 531 Rubió #> 532 Sant Martí de Tous #> 533 Sant Martí Sesgueioles #> 534 Sant Pere Sallavinera #> 535 Santa Margarida de Montbui #> 536 Santa Maria de Miralles #> 537 Vallbona d'Anoia #> 538 Veciana #> 539 Vilanova del Camí #> 540 Aguilar de Segarra #> 541 Artés #> 542 Avinyó #> 543 Balsareny #> 544 Callús #> 545 Cardona #> 546 el Borràs #> 547 Castellfollit del Boix #> 548 Castellgalí #> 549 Castellnou de Bages #> 550 el Pont de Vilomara #> 551 Fonollosa #> 552 Gaià #> 553 Manresa #> 554 Marganell #> 555 Monistrol de Montserrat #> 556 Mura #> 557 Navarcles #> 558 Navàs #> 559 Rajadell #> 560 Sallent #> 561 Sant Feliu Sasserra #> 562 Sant Fruitós de Bages #> 563 Sant Joan de Vilatorrada #> 564 Sant Mateu de Bages #> 565 Sant Salvador de Guardiola #> 566 Sant Vicenç de Castellet #> 567 Santpedor #> 568 Súria #> 569 Talamanca #> 570 Alforja #> 571 Almoster #> 572 Arbolí #> 573 Botarell #> 574 Cambrils #> 575 Capafonts #> 576 Castellvell del Camp #> 577 Colldejou #> 578 Duesaigües #> 579 l'Albiol #> 580 l'Aleixar #> 581 l'Argentera #> 582 la Febró #> 583 la Selva del Camp #> 584 les Borges del Camp #> 585 Maspujols #> 586 Mont-roig del Camp #> 587 Montbrió del Camp #> 588 Prades #> 589 Pratdip #> 590 Reus #> 591 Riudecanyes #> 592 Riudecols #> 593 Riudoms #> 594 Vandellòs #> 595 Vilanova d'Escornalbou #> 596 Vilaplana #> 597 Vinyols i els Arcs #> 598 Aldover #> 599 Alfara de Carles #> 600 Benifallet #> 601 Camarles #> 602 Deltebre #> 603 el Perelló #> 604 l'Aldea #> 605 l'Ametlla de Mar #> 606 l'Ampolla #> 607 Paüls #> 608 Roquetes #> 609 Tivenys #> 610 Tortosa #> 611 Xerta #> 612 Albons #> 613 Begur #> 614 Bellcaire d'Empordà #> 615 Calonge #> 616 Platja d'Aro #> 617 Colomers #> 618 Corçà #> 619 Sant Sadurní de l'Heura #> 620 Foixà #> 621 Fontanilles #> 622 Garrigoles #> 623 Gualta #> 624 Jafre #> 625 la Bisbal d'Empordà #> 626 la Pera #> 627 la Tallada d'Empordà #> 628 Mont-ras #> 629 Palafrugell #> 630 Palamós #> 631 Palau-sator #> 632 Pals #> 633 Parlavà #> 634 Regencós #> 635 Rupià #> 636 Sant Feliu de Guíxols #> 637 Santa Cristina d'Aro #> 638 Serra de Daró #> 639 Torrent #> 640 Torroella de Montgrí #> 641 Ullà #> 642 Ullastret #> 643 Ultramort #> 644 Vall-llobrega #> 645 Verges #> 646 Vilopriu #> 647 Vulpellac #> 648 Abrera #> 649 Begues #> 650 Castelldefels #> 651 Castellví de Rosanes #> 652 Cervelló #> 653 Collbató #> 654 Corbera de Llobregat #> 655 Cornellà de Llobregat #> 656 el Papiol #> 657 el Prat de Llobregat #> 658 Esparreguera #> 659 Esplugues de Llobregat #> 660 Gavà #> 661 la Palma de Cervelló #> 662 Martorell #> 663 Molins de Rei #> 664 Olesa de Montserrat #> 665 Pallejà #> 666 Sant Andreu de la Barca #> 667 Sant Boi de Llobregat #> 668 Sant Climent de Llobregat #> 669 Sant Esteve Sesrovires #> 670 Sant Feliu de Llobregat #> 671 Sant Joan Despí #> 672 Sant Just Desvern #> 673 Sant Vicenç dels Horts #> 674 Santa Coloma de Cervelló #> 675 Torrelles de Llobregat #> 676 Vallirana #> 677 Viladecans #> 678 Albinyana #> 679 Banyeres del Penedès #> 680 Bellvei #> 681 Bonastre #> 682 Calafell #> 683 Cunit #> 684 la Joncosa del Montmell #> 685 el Vendrell #> 686 l'Arboç #> 687 la Bisbal del Penedès #> 688 Llorenç del Penedès #> 689 Masllorenç #> 690 Sant Jaume dels Domenys #> 691 Santa Oliva #> 692 Badalona #> 693 Barcelona #> 694 l'Hospitalet de Llobregat #> 695 Sant Adrià de Besòs #> 696 Santa Coloma de Gramenet #> 697 Avià #> 698 Bagà #> 699 Berga #> 700 Borredà #> 701 Capolat #> 702 Casserres #> 703 Castell de l'Areny #> 704 Castellar de n'Hug #> 705 Llinars #> 706 Cercs #> 707 Fígols #> 708 Gironella #> 709 Gisclareny #> 710 Gósol #> 711 Guardiola de Berguedà #> 712 l'Espunyola #> 713 la Nou de Berguedà #> 714 la Pobla de Lillet #> 715 la Quar #> 716 Montclar #> 717 Montmajor #> 718 Olvan #> 719 Puig-reig #> 720 Sagàs #> 721 Saldes #> 722 Sant Jaume de Frontanyà #> 723 Sant Julià de Cerdanyola #> 724 Santa Maria de Merlès #> 725 Vallcebre #> 726 Vilada #> 727 Serrateix #> 728 Alp #> 729 Bellver de Cerdanya #> 730 Bolvir #> 731 Das #> 732 el Vilar d'Urtx #> 733 Ger #> 734 Guils de Cerdanya #> 735 All #> 736 Lles de Cerdanya #> 737 Llívia #> 738 Meranges #> 739 Martinet #> 740 Prats #> 741 Prullans #> 742 Puigcerdà #> 743 Riu de Cerdanya #> 744 Urús #> 745 Barberà de la Conca #> 746 Blancafort #> 747 Conesa #> 748 Forès #> 749 l'Espluga de Francolí #> 750 les Piles #> 751 Llorac #> 752 Montblanc #> 753 Passanant #> 754 Pira #> 755 Pontils #> 756 Rocafort de Queralt #> 757 Santa Coloma de Queralt #> 758 Sarral #> 759 Savallà del Comtat #> 760 Senan #> 761 Solivella #> 762 Vallclara #> 763 Vallfogona de Riucorb #> 764 Vilanova de Prades #> 765 Vilaverd #> 766 Vimbodí #> 767 Canyelles #> 768 Cubelles #> 769 Olivella #> 770 Sant Pere de Ribes #> 771 Sitges #> 772 Vilanova i la Geltrú #> 773 Arbeca #> 774 Bellaguarda #> 775 Bovera #> 776 Castelldans #> 777 Cervià de les Garrigues #> 778 el Cogul #> 779 el Soleràs #> 780 el Vilosell #> 781 els Omellons #> 782 els Torms #> 783 Fulleda #> 784 Granyena de les Garrigues #> 785 Juncosa #> 786 Juneda #> 787 l'Albagés #> 788 l'Albi #> 789 l'Espluga Calba #> 790 la Floresta #> 791 La Granadella #> 792 la Pobla de Cérvoles #> 793 les Borges Blanques #> 794 Puiggròs #> 795 Tarrés #> 796 Vinaixa #> 797 Argelaguer #> 798 Besalú #> 799 Beuda #> 800 Castellfollit de la Roca #> 801 Sant Esteve d'en Bas #> 802 l'Hostalnou de Bianya #> 803 les Planes d'Hostoles #> 804 les Preses #> 805 Maià de Montcal #> 806 Mieres #> 807 Montagut #> 808 Olot #> 809 Riudaura #> 810 Sales de Llierca #> 811 Sant Esteve de Llémena #> 812 Sant Feliu de Pallerols #> 813 Juïnyà #> 814 Sant Jaume de Llierca #> 815 Sant Joan les Fonts #> 816 Santa Pau #> 817 Tortellà #> 818 Aiguaviva #> 819 Bescanó #> 820 Bordils #> 821 Campllong #> 822 Canet d'Adri #> 823 Cassà de la Selva #> 824 Celrà #> 825 Cervià de Ter #> 826 Flaçà #> 827 Fornells de la Selva #> 828 Girona #> 829 Juià #> 830 Llagostera #> 831 Llambilles #> 832 Madremanya #> 833 Medinyà #> 834 Quart #> 835 Salt #> 836 Sant Andreu Salou #> 837 Sant Gregori #> 838 Sant Joan de Mollet #> 839 Sant Jordi Desvalls #> 840 Sant Julià de Ramis #> 841 Sant Martí de Llémena #> 842 Sant Martí Vell #> 843 Sarrià de Ter #> 844 Vilablareix #> 845 Viladasens #> 846 Alpens #> 847 Santa Eulàlia de Puig-oriol #> 848 Olost #> 849 Oristà #> 850 Perafita #> 851 Prats de Lluçanès #> 852 Sant Martí d'Albars #> 853 Sobremunt #> 854 Alella #> 855 Arenys de Mar #> 856 Arenys de Munt #> 857 Argentona #> 858 Cabrera de Mar #> 859 Cabrils #> 860 Caldes d'Estrac #> 861 Calella #> 862 Canet de Mar #> 863 Dosrius #> 864 el Masnou #> 865 Malgrat de Mar #> 866 Mataró #> 867 Montgat #> 868 Òrrius #> 869 Palafolls #> 870 Pineda de Mar #> 871 Premià de Dalt #> 872 Premià de Mar #> 873 Sant Andreu de Llavaneres #> 874 Sant Cebrià de Vallalta #> 875 Sant Iscle de Vallalta #> 876 Sant Pol de Mar #> 877 Sant Vicenç de Montalt #> 878 Santa Susanna #> 879 Teià #> 880 Tiana #> 881 Tordera #> 882 Vilassar de Dalt #> 883 Vilassar de Mar #> 884 Calders #> 885 Castellcir #> 886 Castellterçol #> 887 Collsuspina #> 888 Granera #> 889 l'Estany #> 890 Moià #> 891 Monistrol de Calders #> 892 Sant Quirze Safaja #> 893 Santa Maria d'Oló #> 894 Alcanar #> 895 Amposta #> 896 Freginals #> 897 Godall #> 898 la Galera #> 899 la Ràpita #> 900 la Sénia #> 901 Mas de Barberans #> 902 Masdenverge #> 903 Sant Jaume d'Enveja #> 904 Santa Bàrbara #> 905 Ulldecona #> 906 Àger #> 907 Albesa #> 908 Algerri #> 909 Alòs de Balaguer #> 910 Artesa de Segre #> 911 Balaguer #> 912 Bellcaire d'Urgell #> 913 Bellmunt d'Urgell #> 914 Cabanabona #> 915 Camarasa #> 916 Castelló de Farfanya #> 917 Cubells #> 918 Foradada #> 919 Ivars de Noguera #> 920 Gualter #> 921 la Sentiu de Sió #> 922 les Avellanes #> 923 Menàrguens #> 924 Montgai #> 925 Oliola #> 926 Os de Balaguer #> 927 Penelles #> 928 Ponts #> 929 Preixens #> 930 Térmens #> 931 Tiurana #> 932 Torrelameu #> 933 Vallfogona de Balaguer #> 934 Vilanova de l'Aguda #> 935 Vilanova de Meià #> 936 els Hostalets de Balenyà #> 937 Calldetenes #> 938 Centelles #> 939 el Brull #> 940 Espinelves #> 941 Folgueroles #> 942 Gurb #> 943 l'Esquirol #> 944 les Masies de Roda #> 945 les Masies de Voltregà #> 946 Malla #> 947 Manlleu #> 948 Montesquiu #> 949 Muntanyola #> 950 Can Branques #> 951 Roda de Ter #> 952 Rupit #> 953 l'Alou #> 954 Sant Bartomeu del Grau #> 955 Sant Boi de Lluçanès #> 956 Sant Hipòlit de Voltregà #> 957 Sant Julià de Vilatorta #> 958 l'Abella #> 959 Sant Pere de Torelló #> 960 Sant Quirze de Besora #> 961 Sant Sadurní d'Osormort #> 962 Sant Vicenç de Torelló #> 963 Santa Cecília de Voltregà #> 964 Santa Eugènia de Berga #> 965 Santa Eulàlia de Riuprimer #> 966 Santa Maria de Besora #> 967 Seva #> 968 Sora #> 969 Taradell #> 970 Tavèrnoles #> 971 Tavertet #> 972 Tona #> 973 Torelló #> 974 Vic #> 975 Vidrà #> 976 Viladrau #> 977 Vilanova de Sau #> 978 Abella de la Conca #> 979 Guàrdia de Noguera #> 980 el Pont de Claverol #> 981 Gavet de la Conca #> 982 Isona #> 983 la Pobla de Segur #> 984 la Torre de Cabdella #> 985 Llimiana #> 986 Salàs de Pallars #> 987 Sant Esteve de la Sarga #> 988 Sarroca de Bellera #> 989 Senterada #> 990 Talarn #> 991 Tremp #> 992 Alins #> 993 València d'Àneu #> 994 Gerri de la Sal #> 995 Espot #> 996 Esterri d'Àneu #> 997 Esterri de Cardós #> 998 Burg #> 999 la Guingueta d'Àneu #> 1000 Lladorre #> 1001 Llavorsí #> 1002 Rialp #> 1003 Vilamur #> 1004 Sort #> 1005 Tírvia #> 1006 Ribera de Cardós #> 1007 Barbens #> 1008 Bell-lloc d'Urgell #> 1009 Bellvís #> 1010 Castellnou de Seana #> 1011 el Palau d'Anglesola #> 1012 el Poal #> 1013 Fondarella #> 1014 Golmés #> 1015 Ivars d'Urgell #> 1016 Linyola #> 1017 Miralcamp #> 1018 Mollerussa #> 1019 Sidamon #> 1020 Torregrossa #> 1021 Vila-sana #> 1022 Vilanova de Bellpuig #> 1023 Banyoles #> 1024 Camós #> 1025 Cornellà del Terri #> 1026 Crespià #> 1027 Esponellà #> 1028 Fontcoberta #> 1029 Palol de Revardit #> 1030 Mata #> 1031 Sant Miquel de Campmajor #> 1032 Serinyà #> 1033 Vilademuls #> 1034 Bellmunt del Priorat #> 1035 Cabacés #> 1036 Capçanes #> 1037 Cornudella de Montsant #> 1038 el Lloar #> 1039 el Masroig #> 1040 el Molar #> 1041 els Guiamets #> 1042 Falset #> 1043 Gratallops #> 1044 la Bisbal de Montsant #> 1045 la Figuera #> 1046 la Morera de Montsant #> 1047 la Torre de Fontaubella #> 1048 la Vilella Alta #> 1049 la Vilella Baixa #> 1050 Marçà #> 1051 Margalef #> 1052 Poboleda #> 1053 Porrera #> 1054 Pradell de la Teixeta #> 1055 Torroja del Priorat #> 1056 Ulldemolins #> 1057 Ascó #> 1058 Benissanet #> 1059 Flix #> 1060 Garcia #> 1061 Ginestar #> 1062 la Palma d'Ebre #> 1063 la Torre de l'Espanyol #> 1064 Miravet #> 1065 Móra d'Ebre #> 1066 Móra la Nova #> 1067 Rasquera #> 1068 Riba-roja d'Ebre #> 1069 Tivissa #> 1070 Vinebre #> 1071 Campdevànol #> 1072 Campelles #> 1073 Camprodon #> 1074 Gombrèn #> 1075 les Llosses #> 1076 Llanars #> 1077 Molló #> 1078 Ogassa #> 1079 Pardines #> 1080 Planoles #> 1081 Queralbs #> 1082 Ribes de Freser #> 1083 Ripoll #> 1084 Sant Joan de les Abadesses #> 1085 Sant Pau de Segúries #> 1086 Setcases #> 1087 Toses #> 1088 Vallfogona de Ripollès #> 1089 Vilallonga de Ter #> 1090 Biosca #> 1091 Cervera #> 1092 les Pallargues #> 1093 Estaràs #> 1094 Granyanella #> 1095 Granyena de Segarra #> 1096 Guissona #> 1097 Ivorra #> 1098 les Oluges #> 1099 Massoteres #> 1100 Montoliu de Segarra #> 1101 Montornès de Segarra #> 1102 Sant Antolí i Vilanova #> 1103 Sanaüja #> 1104 Sant Guim de Freixenet #> 1105 Sant Guim de la Plana #> 1106 Sant Ramon #> 1107 Talavera #> 1108 Tarroja de Segarra #> 1109 Torà #> 1110 Torrefeta #> 1111 Aitona #> 1112 Albatàrrec #> 1113 Alcanó #> 1114 Alcarràs #> 1115 Alcoletge #> 1116 Alfarràs #> 1117 Alfés #> 1118 Alguaire #> 1119 Almacelles #> 1120 Almatret #> 1121 Almenar #> 1122 Alpicat #> 1123 Artesa de Lleida #> 1124 Aspa #> 1125 Benavent de Segrià #> 1126 Corbins #> 1127 els Alamús #> 1128 Gimenells #> 1129 la Granja d'Escarp #> 1130 la Portella #> 1131 Llardecans #> 1132 Lleida #> 1133 Maials #> 1134 Massalcoreig #> 1135 Montoliu de Lleida #> 1136 Puigverd de Lleida #> 1137 Rosselló #> 1138 Sarroca de Lleida #> 1139 Seròs #> 1140 Soses #> 1141 Sudanell #> 1142 Sunyer #> 1143 Torre-serona #> 1144 Torrebesses #> 1145 Torrefarrera #> 1146 Torres de Segre #> 1147 Vilanova de la Barca #> 1148 Vilanova de Segrià #> 1149 Amer #> 1150 Anglès #> 1151 Arbúcies #> 1152 Blanes #> 1153 Breda #> 1154 Brunyola #> 1155 Caldes de Malavella #> 1156 Fogars de la Selva #> 1157 Hostalric #> 1158 la Cellera de Ter #> 1159 Lloret de Mar #> 1160 Massanes #> 1161 Maçanet de la Selva #> 1162 Osor #> 1163 Riells #> 1164 Riudarenes #> 1165 Riudellots de la Selva #> 1166 Sant Feliu de Buixalleu #> 1167 Sant Hilari Sacalm #> 1168 Bonmatí #> 1169 Santa Coloma de Farners #> 1170 Sils #> 1171 Sant Martí Sacalm #> 1172 Tossa de Mar #> 1173 Vidreres #> 1174 Vilobí d'Onyar #> 1175 Castellar de la Ribera #> 1176 Clariana de Cardener #> 1177 la Casa Nova de Valls #> 1178 la Coma #> 1179 la Molsosa #> 1180 Lladurs #> 1181 Llobera #> 1182 Navès #> 1183 Cambrils #> 1184 el Pi de Sant Just #> 1185 Sant Climenç #> 1186 Pinós #> 1187 el Miracle #> 1188 Sant Llorenç de Morunys #> 1189 Solsona #> 1190 Altafulla #> 1191 Constantí #> 1192 Creixell #> 1193 el Catllar #> 1194 el Morell #> 1195 els Pallaresos #> 1196 la Canonja #> 1197 la Nou de Gaià #> 1198 la Pobla de Mafumet #> 1199 la Pobla de Montornès #> 1200 la Riera de Gaià #> 1201 la Secuita #> 1202 Perafort #> 1203 Renau #> 1204 Roda de Berà #> 1205 Salomó #> 1206 Salou #> 1207 Tarragona #> 1208 Torredembarra #> 1209 Vespella de Gaià #> 1210 Vila-seca #> 1211 Vilallonga del Camp #> 1212 Arnes #> 1213 Batea #> 1214 Bot #> 1215 Caseres #> 1216 Corbera d'Ebre #> 1217 el Pinell de Brai #> 1218 Gandesa #> 1219 Horta de Sant Joan #> 1220 la Fatarella #> 1221 la Pobla de Massaluca #> 1222 Prat de Comte #> 1223 Vilalba dels Arcs #> 1224 Agramunt #> 1225 Anglesola #> 1226 Belianes #> 1227 Bellpuig #> 1228 Castellserà #> 1229 Ciutadilla #> 1230 els Omells de na Gaia #> 1231 Guimerà #> 1232 la Fuliola #> 1233 Maldà #> 1234 Nalec #> 1235 Ossó de Sió #> 1236 Preixana #> 1237 Puigverd d'Agramunt #> 1238 Sant Martí de Maldà #> 1239 Tàrrega #> 1240 Tornabous #> 1241 Vallbona de les Monges #> 1242 Verdú #> 1243 Vilagrassa #> 1244 Badia del Vallès #> 1245 Barberà del Vallès #> 1246 Castellar del Vallès #> 1247 Castellbisbal #> 1248 Cerdanyola del Vallès #> 1249 Gallifa #> 1250 Matadepera #> 1251 Montcada i Reixac #> 1252 Palau-solità i Plegamans #> 1253 Polinyà #> 1254 Rellinars #> 1255 Ripollet #> 1256 Rubí #> 1257 Sabadell #> 1258 Sant Cugat del Vallès #> 1259 Sant Llorenç Savall #> 1260 Sant Quirze del Vallès #> 1261 Santa Perpètua de Mogoda #> 1262 Sentmenat #> 1263 Terrassa #> 1264 Ullastrell #> 1265 Vacarisses #> 1266 Viladecavalls #> 1267 Aiguafreda #> 1268 Bigues #> 1269 Caldes de Montbui #> 1270 Campins #> 1271 Canovelles #> 1272 Cànoves #> 1273 Cardedeu #> 1274 el Figaró #> 1275 Mosqueroles #> 1276 Granollers #> 1277 Gualba #> 1278 l'Ametlla del Vallès #> 1279 la Garriga #> 1280 la Llagosta #> 1281 la Roca del Vallès #> 1282 Corró d'Avall #> 1283 Lliçà d'Amunt #> 1284 Lliçà de Vall #> 1285 Llinars del Vallès #> 1286 Martorelles #> 1287 Mollet del Vallès #> 1288 Montmeló #> 1289 Montornès del Vallès #> 1290 Montseny #> 1291 Parets del Vallès #> 1292 Sant Antoni de Vilamajor #> 1293 Sant Celoni #> 1294 Sant Esteve de Palautordera #> 1295 Sant Feliu de Codines #> 1296 Sant Fost de Campsentelles #> 1297 Sant Pere de Vilamajor #> 1298 Santa Eulàlia de Ronçana #> 1299 Santa Maria de Martorelles #> 1300 Santa Maria de Palautordera #> 1301 Tagamanent #> 1302 Vallgorguina #> 1303 Vallromanes #> 1304 Vilalba Sasserra #> 1305 Vilanova del Vallès #> 1306 València #> 1307 Alcalà de Xivert #> 1308 Benicarló #> 1309 Càlig #> 1310 Canet lo Roig #> 1311 Castell de Cabres #> 1312 Cervera del Maestre #> 1313 la Jana #> 1314 la Pobla de Benifassà #> 1315 la Salzadella #> 1316 Peníscola / Peñíscola #> 1317 Rossell #> 1318 Sant Jordi / San Jorge #> 1319 Sant Mateu #> 1320 Sant Rafel del Riu #> 1321 Santa Magdalena de Pulpis #> 1322 Traiguera #> 1323 Vinaròs #> 1324 Xert #> 1325 Guardamar del Segura #> 1326 Crevillent #> 1327 Elx / Elche #> 1328 Santa Pola #> 1329 Albalat dels Tarongers #> 1330 Alfara de la Baronia #> 1331 Algar de Palància #> 1332 Algímia d'Alfara #> 1333 Benavites #> 1334 Benifairó de les Valls #> 1335 Canet d'en Berenguer #> 1336 Estivella #> 1337 Faura #> 1338 Gilet #> 1339 Petrés #> 1340 Quart de les Valls #> 1341 Quartell #> 1342 Sagunt / Sagunto #> 1343 Segart #> 1344 Torres Torres #> 1345 Benaguasil #> 1346 Benissanó #> 1347 Bétera #> 1348 Casinos #> 1349 l'Eliana #> 1350 la Pobla de Vallbona #> 1351 Llíria #> 1352 Nàquera / Náquera #> 1353 Olocau #> 1354 Riba-roja de Túria #> 1355 Serra #> 1356 Vilamarxant #> 1357 Agres #> 1358 Alcoleja #> 1359 Alcosser #> 1360 Alfafara #> 1361 Almudaina #> 1362 Balones #> 1363 Benasau #> 1364 Beniarrés #> 1365 Benilloba #> 1366 Benillup #> 1367 Benimarfull #> 1368 Benimassot #> 1369 Cocentaina #> 1370 Fageca #> 1371 Famorca #> 1372 Gaianes #> 1373 Gorga #> 1374 l'Alqueria d'Asnar #> 1375 l'Orxa / Lorcha #> 1376 Millena #> 1377 Muro de Alcoy #> 1378 Planes #> 1379 Quatretondeta #> 1380 Tollos #> 1381 el Fondó de les Neus / Hondón de las Nieves #> 1382 Hondón de los Frailes #> 1383 el Pinós / Pinoso #> 1384 Algueña #> 1385 la Romana #> 1386 Monòver / Monóvar #> 1387 Novelda #> 1388 Petrer #> 1389 Castellfort #> 1390 Cinctorres #> 1391 Forcall #> 1392 Herbers #> 1393 la Mata de Morella #> 1394 Todolella #> 1395 Morella #> 1396 Palanques #> 1397 Portell de Morella #> 1398 Sorita #> 1399 Vallibona #> 1400 Vilafranca / Villafranca del Cid #> 1401 Villores #> 1402 Agost #> 1403 Aigües #> 1404 Alacant / Alicante #> 1405 Busot #> 1406 el Campello #> 1407 la Torre de les Maçanes / Torremanzanas #> 1408 Mutxamel #> 1409 Sant Joan d'Alacant #> 1410 Sant Vicent del Raspeig / San Vicente del Raspeig #> 1411 Xixona / Jijona #> 1412 Costur #> 1413 Figueroles #> 1414 l'Alcora #> 1415 les Useres / Useras #> 1416 Llucena / Lucena del Cid #> 1417 Vistabella del Maestrat #> 1418 Xodos / Chodos #> 1419 Alcoi / Alcoy #> 1420 Banyeres de Mariola #> 1421 Benifallim #> 1422 Castalla #> 1423 Ibi #> 1424 Onil #> 1425 Penàguila #> 1426 Tibi #> 1427 Albocàsser #> 1428 Ares del Maestrat #> 1429 Atzeneta del Maestrat #> 1430 Benafigos #> 1431 Benassal #> 1432 Catí #> 1433 Culla #> 1434 la Serratella #> 1435 la Torre d'en Besora #> 1436 Tírig #> 1437 Vilar de Canes #> 1438 Beneixama #> 1439 Biar #> 1440 el Camp de Mirra / Campo de Mirra #> 1441 Cañada #> 1442 Albalat dels Sorells #> 1443 Alboraia / Alboraya #> 1444 Albuixech #> 1445 Alfara del Patriarca #> 1446 Almàssera #> 1447 Bonrepòs i Mirambell #> 1448 Burjassot #> 1449 el Puig de Santa Maria #> 1450 Emperador #> 1451 Foios #> 1452 Godella #> 1453 la Pobla de Farnals #> 1454 Massalfassar #> 1455 Massamagrell #> 1456 Meliana #> 1457 Montcada / Moncada #> 1458 Museros #> 1459 Paterna #> 1460 Puçol #> 1461 Rafelbunyol #> 1462 Rocafort #> 1463 Tavernes Blanques #> 1464 Vinalesa #> 1465 Alaquàs #> 1466 Albal #> 1467 Alcàsser #> 1468 Aldaia #> 1469 Alfafar #> 1470 Benetússer #> 1471 Beniparrell #> 1472 Catarroja #> 1473 Llocnou de la Corona #> 1474 Manises #> 1475 Massanassa #> 1476 Mislata #> 1477 Paiporta #> 1478 Picanya #> 1479 Picassent #> 1480 Quart de Poblet #> 1481 Sedaví #> 1482 Silla #> 1483 Torrent #> 1484 Xirivella #> 1485 Barxeta #> 1486 Canals #> 1487 Cerdà #> 1488 el Genovés #> 1489 Estubeny #> 1490 l'Alcúdia de Crespins #> 1491 la Font de la Figuera #> 1492 la Granja de la Costera #> 1493 la Llosa de Ranes #> 1494 Llanera de Ranes #> 1495 Llocnou d'en Fenollet #> 1496 Moixent / Mogente #> 1497 Montesa #> 1498 Novetlè #> 1499 Rotglà i Corberà #> 1500 Torrella #> 1501 Vallada #> 1502 Vallés #> 1503 Xàtiva #> 1504 Alcalalí #> 1505 Beniarbeig #> 1506 Benidoleig #> 1507 Benigembla #> 1508 Benimeli #> 1509 Benissa #> 1510 Calp #> 1511 Castell de Castells #> 1512 Dénia #> 1513 el Poble Nou de Benitatxell / Benitachell #> 1514 el Ràfol d'Almúnia #> 1515 el Verger #> 1516 els Poblets #> 1517 Gata de Gorgos #> 1518 l'Atzúbia #> 1519 Alcalà de la Jovada #> 1520 la Vall d'Ebo #> 1521 Benialí #> 1522 Fleix #> 1523 Llíber #> 1524 Murla #> 1525 Ondara #> 1526 Orba #> 1527 Parcent #> 1528 Pedreguer #> 1529 Pego #> 1530 Sagra #> 1531 Sanet y Negrals #> 1532 Senija #> 1533 Teulada #> 1534 Tormos #> 1535 Xàbia / Jávea #> 1536 Xaló #> 1537 Altea #> 1538 Beniardà #> 1539 Benidorm #> 1540 Benifato #> 1541 Benimantell #> 1542 Bolulla #> 1543 Callosa d'en Sarrià #> 1544 Confrides #> 1545 el Castell de Guadalest #> 1546 Finestrat #> 1547 l'Alfàs del Pi #> 1548 la Nucia #> 1549 la Vila Joiosa / Villajoyosa #> 1550 Orxeta #> 1551 Polop #> 1552 Relleu #> 1553 Sella #> 1554 Tàrbena #> 1555 Almassora #> 1556 Benicàssim / Benicasim #> 1557 Benlloc #> 1558 Borriol #> 1559 Cabanes #> 1560 Castelló de la Plana #> 1561 la Pobla Tornesa #> 1562 Sierra Engarcerán #> 1563 la Torre d'en Doménec #> 1564 Vall d'Alba #> 1565 les Coves de Vinromà #> 1566 Orpesa / Oropesa del Mar #> 1567 Sant Joan de Moró #> 1568 Torreblanca #> 1569 Vilafamés #> 1570 Vilanova d'Alcolea #> 1571 Aín #> 1572 Alfondeguilla #> 1573 Almenara #> 1574 Artana #> 1575 Betxí #> 1576 Borriana / Burriana #> 1577 Eslida #> 1578 Alcudia de Veo #> 1579 la Llosa #> 1580 la Vall d'Uixó #> 1581 la Vilavella #> 1582 les Alqueries / Alquerías del Niño Perdido #> 1583 Moncofa #> 1584 Nules #> 1585 Onda #> 1586 Ribesalbes #> 1587 Suera / Sueras #> 1588 Tales #> 1589 Vila-real #> 1590 Xilxes / Chilches #> 1591 Alberic #> 1592 Alcàntera de Xúquer #> 1593 Alfarb #> 1594 Algemesí #> 1595 Alginet #> 1596 Alzira #> 1597 Antella #> 1598 Beneixida #> 1599 Benifaió #> 1600 Benimodo #> 1601 Benimuslem #> 1602 Carcaixent #> 1603 Càrcer #> 1604 Carlet #> 1605 Castelló #> 1606 Catadau #> 1607 Cotes #> 1608 Gavarda #> 1609 Guadassuar #> 1610 l'Alcúdia #> 1611 l'Énova #> 1612 la Pobla Llarga #> 1613 Llombai #> 1614 Manuel #> 1615 Massalavés #> 1616 Montroi / Montroy #> 1617 Montserrat #> 1618 Rafelguaraf #> 1619 Real #> 1620 Sant Joanet #> 1621 Sellent #> 1622 Senyera #> 1623 Sumacàrcer #> 1624 Turís #> 1625 Albalat de la Ribera #> 1626 Almussafes #> 1627 Benicull de Xúquer #> 1628 Corbera #> 1629 Cullera #> 1630 Favara #> 1631 Fortaleny #> 1632 Llaurí #> 1633 Polinyà de Xúquer #> 1634 Riola #> 1635 Sollana #> 1636 Sueca #> 1637 Ador #> 1638 Alfauir #> 1639 Almiserà #> 1640 Almoines #> 1641 Barx #> 1642 Bellreguard #> 1643 Beniarjó #> 1644 Benifairó de la Valldigna #> 1645 Beniflá #> 1646 Benirredrà #> 1647 Castellonet de la Conquesta #> 1648 Daimús #> 1649 el Real de Gandia #> 1650 Gandia #> 1651 Guardamar de la Safor #> 1652 l'Alqueria de la Comtessa #> 1653 la Font d'en Carròs #> 1654 Llocnou de Sant Jeroni #> 1655 Miramar #> 1656 Oliva #> 1657 Palma de Gandía #> 1658 Palmera #> 1659 Piles #> 1660 Potries #> 1661 Rafelcofer #> 1662 Ròtova #> 1663 Simat de la Valldigna #> 1664 Tavernes de la Valldigna #> 1665 Vilallonga / Villalonga #> 1666 Xeraco #> 1667 Xeresa #> 1668 Agullent #> 1669 Aielo de Malferit #> 1670 Aielo de Rugat #> 1671 Albaida #> 1672 Alfarrasí #> 1673 Atzeneta d'Albaida #> 1674 Bèlgida #> 1675 Bellús #> 1676 Beniatjar #> 1677 Benicolet #> 1678 Benigànim #> 1679 Benissoda #> 1680 Benissuera #> 1681 Bocairent #> 1682 Bufali #> 1683 Carrícola #> 1684 Castelló de Rugat #> 1685 el Palomar #> 1686 Ráfol de Salem #> 1687 Fontanars dels Alforins #> 1688 Guadasséquies #> 1689 l'Olleria #> 1690 la Pobla del Duc #> 1691 Llutxent #> 1692 Montaverner #> 1693 Montitxelvo / Montichelvo #> 1694 Ontinyent #> 1695 Otos #> 1696 Pinet #> 1697 Quatretonda #> 1698 Rugat #> 1699 Salem #> 1700 Sempere #> 1701 Terrateig #> 1702 l'Alguer/Alghero"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/mars.html","id":null,"dir":"Reference","previous_headings":"","what":"Mars i oceans del mon — mars","title":"Mars i oceans del mon — mars","text":"Dades dels mars oceans del mon, objectes amb etiquetes `place = ocean` o `place = sea`.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/mars.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Mars i oceans del mon — mars","text":"","code":"mars"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/mars.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Mars i oceans del mon — mars","text":"Un data.frame amb dades dels 155 mars oceans per les següents 8 variables. name:ca Etiqueta name:ca. name Etiqueta name. osm_id Número identificador OSM. osm_type Tipus d'objecte d'OSM. alt_name Etiqueta alt_name. alt_name:ca Etiqueta name. place Etiqueta place. wikidata Etiqueta wikidata.","code":""},{"path":[]},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/mars.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Mars i oceans del mon — mars","text":"","code":"mars[, c(\"name:ca\", \"name\", \"wikidata\")] #> name:ca #> 1 Oceà Antàrtic #> 2 Oceà Àrtic #> 3 Oceà Atlàntic #> 4 Oceà Índic #> 5 Oceà Pacífic #> 6 Atlàntic Nord #> 7 Atlàntic Sud #> 8 Badia de Baffin #> 9 Badia de Hudson #> 10 Badia de James #> 11 Estret de Macassar #> 12 Golf d'Aden #> 13 Golf d'Alaska #> 14 Golf d'Oman #> 15 Golf de Califòrnia #> 16 Golf de Guinea #> 17 Golf de Kalamita #> 18 Golf de Mèxic #> 19 Golf de Tomini #> 20 Golf de Tribugà #> 21 Golf Pèrsic #> 22 Kattegat #> 23 Mar Adriàtica #> 24 Mar Balear #> 25 Mar Bàltica #> 26 Mar Blanca #> 27 Mar Cantàbrica #> 28 Mar Carib #> 29 Mar Càspia #> 30 Mar d'Åland #> 31 Mar d'Alborán #> 32 Mar d'Amundsen #> 33 Mar d'Andaman #> 34 Mar d'Aràbia #> 35 Mar d'Arafura #> 36 Mar d'Azov #> 37 Mar d'Icària #> 38 Mar d'Irlanda #> 39 Mar d'Irminger #> 40 Mar d'Okhotsk #> 41 Mar de Bali #> 42 Mar de Banda #> 43 Mar de Barents #> 44 Mar de Beaufort #> 45 Mar de Bellingshausen #> 46 Mar de Bering #> 47 Mar de Bismarck #> 48 Mar de Bohai #> 49 Mar de Bohol #> 50 Mar de Bòtnia #> 51 Mar de Camotes #> 52 Mar de Cèlebes #> 53 Mar de Creta #> 54 Mar de Davis #> 55 Mar de Dumont d'Urville #> 56 Mar de Fiji #> 57 Mar de Flores #> 58 Mar de Groenlàndia #> 59 Mar de Halmahera #> 60 Mar de Java #> 61 Mar de Kara #> 62 Mar de Koro #> 63 Mar de l'Arxipèlag #> 64 Mar de la Cooperació #> 65 Mar de la Sibèria Oriental #> 66 Mar de la Sibèria Oriental #> 67 Mar de la Xina Meridional #> 68 Mar de la Xina Oriental #> 69 Mar de Labrador #> 70 Mar de Làptev #> 71 Mar de Lazarev #> 72 Mar de les Filipines #> 73 Mar de les Hèbrides #> 74 Mar de les Lacadives #> 75 Mar de les Moluques #> 76 Mar de Líbia #> 77 Mar de Lincoln #> 78 Mar de Llevant #> 79 Mar de Màrmara #> 80 Mar de Mawson #> 81 Mar de Mirtos #> 82 Mar de Noruega #> 83 Mar de Petxora #> 84 Mar de Riiser-Larsen #> 85 Mar de Ross #> 86 Mar de Salomó #> 87 Mar de Samar #> 88 Mar de Savu #> 89 Mar de Scotia #> 90 Mar de Seram #> 91 Mar de Sibuyan #> 92 Mar de Somov #> 93 Mar de Sulu #> 94 Mar de Tasmània #> 95 Mar de Timor #> 96 Mar de Tràcia #> 97 Mar de Visayas #> 98 Mar de Wadden #> 99 Mar de Wandel #> 100 Mar de Weddell #> 101 Mar del Corall #> 102 Mar del Japó #> 103 Mar del Nord #> 104 Mar del Sud #> 105 Mar dels Cosmonautes #> 106 Mar dels Sargassos #> 107 Mar dels Txuktxis #> 108 Mar dels Txuktxis #> 109 Mar Egea #> 110 Mar Groga #> 111 Mar Interior de Seto #> 112 Mar Jònica #> 113 Mar Lígur #> 114 Mar Mediterrània #> 115 Mar Negra #> 116 Mar Roig #> 117 Mar Tirrena #> 118 Oceà Pacífic Nord #> 119 Oceà Pacífic Sud #> 120 Passatge de Drake #> 121 Riu de la Plata #> 122 Skagerrak #> 123 #> 124 #> 125 #> 126 #> 127 #> 128 #> 129 #> 130 #> 131 #> 132 #> 133 #> 134 #> 135 #> 136 #> 137 #> 138 #> 139 #> 140 #> 141 #> 142 #> 143 #> 144 #> 145 #> 146 #> 147 #> 148 #> 149 #> 150 #> name #> 1 Southern Ocean #> 2 Arctic Ocean #> 3 Atlantic Ocean #> 4 Indian Ocean #> 5 Pacific Ocean #> 6 North Atlantic Ocean #> 7 South Atlantic Ocean #> 8 Baffin Bay #> 9 Hudson Bay #> 10 James Bay / Baie James #> 11 Selat Makassar #> 12 خليج عدن #> 13 Gulf of Alaska #> 14 خلیج عمان #> 15 Gulf of California #> 16 Gulf of Guinea #> 17 Каламитский залив #> 18 Golfo de México #> 19 Teluk Tomini #> 20 Golfo de Tribugá #> 21 الخليج العربي #> 22 Kattegat #> 23 Jadransko more / Mare Adriatico / Deti Adriatik #> 24 Mar Balear #> 25 Morze Bałtyckie - Baltijos jūra - Baltijas jūra - Läänemeri - Itämeri - Östersjön - Østersøen - Ostsee - Балтийское море #> 26 Белое море #> 27 Mar Cantábrico #> 28 Caribbean Sea #> 29 Каспий теңізі - Hazar deňizi - دریای خزر - Xəzər dənizi - Каспийское море - دریای مازندران #> 30 Ahvenanmeri #> 31 Mar de Alborán / بحر البحران #> 32 Amundsen Sea #> 33 Andaman Sea #> 34 Arabian Sea / بحر العرب #> 35 Arafura Sea #> 36 Азовське море - Азовское море #> 37 Ικάριο πέλαγος #> 38 Irish Sea #> 39 Irminger Sea #> 40 Sea of Okhotsk #> 41 Laut Bali #> 42 Laut Banda #> 43 Баренцево море #> 44 Beaufort Sea #> 45 Bellingshausen Sea #> 46 Bering Sea #> 47 Bismarck Sea #> 48 渤海 #> 49 Bohol Sea #> 50 Selkämeri / Bottenhavet #> 51 Camotes Sea #> 52 Celebes Sea #> 53 Κρητικό πέλαγος #> 54 Davis Sea #> 55 Mer Dumont-d'Urville #> 56 Fiji Sea #> 57 Laut Flores #> 58 Greenland Sea #> 59 Laut Halmahera #> 60 Laut Jawa #> 61 Карское море #> 62 Koro Sea #> 63 Saaristomeri #> 64 Maro de Kunlaboro #> 65 Восточно-Сибирское море #> 66 Восточно-Сибирское море #> 67 South China Sea #> 68 East China Sea #> 69 Labrador Sea #> 70 Море Лаптевых #> 71 Maro de Lazarev #> 72 Philippine Sea #> 73 Sea of the Hebrides #> 74 Laccadive Sea #> 75 Molucca Sea #> 76 Libyan Sea #> 77 Lincoln Sea #> 78 Levantine Sea #> 79 Marmara Denizi #> 80 Maro de Mawson #> 81 Μυρτώο Πέλαγος #> 82 Norwegian Sea #> 83 Печорское море #> 84 Maro de Riiser-Larsen #> 85 Ross Sea #> 86 Solomon Sea #> 87 Samar Sea #> 88 Laut Sawu #> 89 Scotia Sea #> 90 Laut Seram #> 91 Sibuyan Sea #> 92 Maro de Somov #> 93 Sulu Sea #> 94 Te Tai-o-Rehua / Tasman Sea #> 95 Laut Timor #> 96 Θρακικό Πέλαγος #> 97 Visayan Sea #> 98 Waddenzee / Wattenmeer / Vadehavet #> 99 Wandelhavet #> 100 Weddell Sea #> 101 Coral Sea #> 102 日本海 / Японское море / 동해 #> 103 North Sea / Nordsee / Noordzee / Nordsøen / Nordsjøen / Mer du Nord #> 104 남해 #> 105 Maro de Kosmonaŭtoj #> 106 Sargasso Sea #> 107 Чукотское море #> 108 Chukchi Sea #> 109 Αιγαίον Πέλαγος / Ege Denizi #> 110 Yellow Sea #> 111 瀬戸内海 #> 112 Ionian Sea #> 113 Mar Ligure / Mer Ligure #> 114 Mediterranean Sea #> 115 Чорне море - Marea Neagră - Черно море – Karadeniz - შავი ზღვა - Чёрное море #> 116 Mer Rouge / ቀይሕ ባሕሪ / البحر الأحمر #> 117 Mar Tirreno / Mer Tyrrhénienne #> 118 North Pacific Ocean #> 119 South Pacific Ocean #> 120 Drake Passage #> 121 Río de la Plata #> 122 Skagerrak #> 123 八代海 #> 124 天草灘 #> 125 Celtic Sea / Mer Celtique #> 126 Laut Natuna #> 127 Teluk Bone #> 128 Rogalandsfeltet #> 129 Brevikflua #> 130 Klatten #> 131 Bælt #> 132 Inner Seas off the West Coast of Scotland #> 133 Luzon Sea #> 134 五島灘 #> 135 The Red Sea #> 136 Sanden #> 137 Southeastern Limit of Labrador Sea #> 138 斎灘 #> 139 安芸灘 #> 140 Gulf of Thailand #> 141 Тендрівська затока #> 142 Охотское море #> 143 Pinochet Strait #> 144 海州湾 #> 145 Paso Oglander #> 146 函館湾 #> 147 영흥만 #> 148 Lincoln Sea #> 149 Prince Gustaf Adolf Sea #> 150 Bay of Bengal #> wikidata #> 1 Q7354 #> 2 Q788 #> 3 Q97 #> 4 Q1239 #> 5 Q98 #> 6 Q350134 #> 7 Q1482804 #> 8 Q37040 #> 9 Q3040 #> 10 Q223810 #> 11 Q194477 #> 12 Q41837 #> 13 Q180531 #> 14 Q79948 #> 15 Q132811 #> 16 Q41430 #> 17 Q2026815 #> 18 Q12630 #> 19 Q1507546 #> 20 Q3110256 #> 21 Q34675 #> 22 Q131716 #> 23 Q13924 #> 24 Q200712 #> 25 Q545 #> 26 Q44133 #> 27 Q2090594 #> 28 Q1247 #> 29 Q5484 #> 30 Q271043 #> 31 Q199408 #> 32 Q72154 #> 33 Q47632 #> 34 Q58705 #> 35 Q128880 #> 36 Q35000 #> 37 Q1640853 #> 38 Q41735 #> 39 Q1542675 #> 40 Q41602 #> 41 Q277014 #> 42 Q171510 #> 43 Q45823 #> 44 Q131274 #> 45 Q183455 #> 46 Q44725 #> 47 Q199436 #> 48 Q181969 #> 49 Q242326 #> 50 Q1649939 #> 51 Q540179 #> 52 Q19270 #> 53 Q193149 #> 54 Q509321 #> 55 Q1391243 #> 56 Q2355931 #> 57 Q150370 #> 58 Q132868 #> 59 Q212083 #> 60 Q49364 #> 61 Q33629 #> 62 Q315954 #> 63 Q650654 #> 64 Q2085564 #> 65 Q163434 #> 66 Q163434 #> 67 Q37660 #> 68 Q45341 #> 69 Q184189 #> 70 Q7988 #> 71 Q1576063 #> 72 Q159183 #> 73 Q1971856 #> 74 Q544914 #> 75 Q185291 #> 76 Q738028 #> 77 Q243125 #> 78 Q748696 #> 79 Q35367 #> 80 Q1902276 #> 81 Q840427 #> 82 Q47545 #> 83 Q217501 #> 84 Q1576011 #> 85 Q164466 #> 86 Q199479 #> 87 Q392623 #> 88 Q193465 #> 89 Q204703 #> 90 Q210855 #> 91 Q594834 #> 92 Q1404920 #> 93 Q160194 #> 94 Q33254 #> 95 Q131418 #> 96 Q379063 #> 97 Q474708 #> 98 Q26080 #> 99 Q259929 #> 100 Q173343 #> 101 Q82931 #> 102 Q27092 #> 103 Q1693 #> 104 Q624569 #> 105 Q1509546 #> 106 Q169274 #> 107 Q159252 #> 108 Q159252 #> 109 Q34575 #> 110 Q37960 #> 111 Q231312 #> 112 Q37495 #> 113 Q42820 #> 114 Q4918 #> 115 Q166 #> 116 Q23406 #> 117 Q38882 #> 118 Q12353254 #> 119 Q12355425 #> 120 Q143650 #> 121 Q35827 #> 122 Q1695 #> 123 Q49560 #> 124 Q3306188 #> 125 Q81499 #> 126 Q10829960 #> 127 Q641148 #> 128 #> 129 #> 130 #> 131 #> 132 Q5762423 #> 133 #> 134 Q11372327 #> 135 #> 136 #> 137 #> 138 Q11500419 #> 139 Q4302577 #> 140 Q131217 #> 141 Q2392966 #> 142 Q41602 #> 143 Q2783226 #> 144 Q15939411 #> 145 Q5716459 #> 146 Q11396019 #> 147 Q27245429 #> 148 Q243125 #> 149 Q2322479 #> 150 Q38684"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/missatge_telegram.html","id":null,"dir":"Reference","previous_headings":"","what":"Envia un missatge a al grup de Telegram de la Comunitat en catal\\u00E0 d'OpenStreetMap — missatge_telegram","title":"Envia un missatge a al grup de Telegram de la Comunitat en catal\\u00E0 d'OpenStreetMap — missatge_telegram","text":"Envia un missatge al grup de Telegram de la Comunitat en catal\\u00E0 d'OpenStreetMap","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/missatge_telegram.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Envia un missatge a al grup de Telegram de la Comunitat en catal\\u00E0 d'OpenStreetMap — missatge_telegram","text":"","code":"missatge_telegram( missatge = \"Hi ha canvis a [monitorOSM](https://osm-catalan.github.io/monitorOSM).\", parse_mode = \"Markdown\" )"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/missatge_telegram.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Envia un missatge a al grup de Telegram de la Comunitat en catal\\u00E0 d'OpenStreetMap — missatge_telegram","text":"missatge Text del missatge. parse_mode El missatge s'interpreta com Markdown o HTML.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/modifica_etiquetes_osm.html","id":null,"dir":"Reference","previous_headings":"","what":"Modifica etiquetes a OSM — modifica_etiquetes_osm","title":"Modifica etiquetes a OSM — modifica_etiquetes_osm","text":"Obre un conjunt de canvis, edita les etiquetes tanca el conjunt de canvis.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/modifica_etiquetes_osm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Modifica etiquetes a OSM — modifica_etiquetes_osm","text":"","code":"modifica_etiquetes_osm(x, claus, comentari, ...)"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/modifica_etiquetes_osm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Modifica etiquetes a OSM — modifica_etiquetes_osm","text":"x data.frame amb els valors de les etiquetes que s'actualitzaran les columnes osm_type osm_id o (type id) que identifiquen els objectes d'OSM. claus Claus de les etiquetes que es modificaran. Han de correspondre columnes d'x. comentari Comentari descriptiu del conjunt de canvis. ... Etiquetes del conjunt de canvis com paràmetres amb noms (clau = \"valor\").","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/modifica_etiquetes_osm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Modifica etiquetes a OSM — modifica_etiquetes_osm","text":"Retorna l'identificador del conjunt de canvis.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/modifica_etiquetes_osm.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Modifica etiquetes a OSM — modifica_etiquetes_osm","text":"Cal identificar-se amb un usuari d'OSM els canvis es faran amb aquest usuari sota la seva responsabilitat. Les etiquetes més habituals pels conjunts de canvis inclouen source hashtags. En el marc del projecte, monitorOSM, pot ser bona idea afegir el paràmetre hashtags = \"monitorOSM\" per poder fer un seguiment de les edicions. Vegeu https://wiki.openstreetmap.org/wiki/Changeset per més detalls. OSM és un projecte col·laboratiu participen milers de persones. Reviseu bé els canvis, consensueu-los amb la comunitat, afegiu comentaris informatius del conjunt de canvis feu un bon ús d'aquesta funció.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/modifica_etiquetes_osm.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Modifica etiquetes a OSM — modifica_etiquetes_osm","text":"Modificar les claus osm_type, osm_id, id type amb aquesta funció pot donar problemes per col·lisions de noms de columnes d'x és recomanat.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/modifica_etiquetes_osm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Modifica etiquetes a OSM — modifica_etiquetes_osm","text":"","code":"# Restaura els noms de les comarques dels Països Catalans segons `comarques` if (FALSE) { # \\dontrun{ modifica_etiquetes_osm( comarques, claus = \"name\", comentari = \"Restaura els noms de les comarques dels Països Catalans\", hashtags = \"monitorOSM\" ) } # }"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/municipis.html","id":null,"dir":"Reference","previous_headings":"","what":"Municipis dels Països Catalans — municipis","title":"Municipis dels Països Catalans — municipis","text":"Dades dels municipis dels Països Catalans.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/municipis.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Municipis dels Països Catalans — municipis","text":"","code":"municipis"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/municipis.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Municipis dels Països Catalans — municipis","text":"Alguns noms de municipis tenen duplicats. Per construir noms únics (p. ex. per generar noms de fitxers), podeu usar paste0(municipis$regio, \"-\", municipis$name).","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/municipis.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Municipis dels Països Catalans — municipis","text":"Un data.frame amb dades dels 1671 municipis per les següents 9 variables. name:ca Etiqueta name:ca. regio Subdivisió [\"Aran\", \"CatNord\", \"Franja\", \"Illes\", \"Principat\", \"PV\", \"Sardenya\"]. comarca Etiqueta name:ca de la comarca es troba el municipi. osm_id Número identificador OSM. osm_type Tipus d'objecte d'OSM. name Etiqueta name. wikipedia Etiqueta wikipedia. wikidata Etiqueta wikidata. admin_level Etiqueta admin_level.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/municipis.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Municipis dels Països Catalans — municipis","text":"Les parròquies d'Andorra corresponen comarques (admin_level = \"7\") els pobles tenen relacions, només nodes. Els pobles s'inclouen.","code":""},{"path":[]},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/municipis.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Municipis dels Països Catalans — municipis","text":"","code":"municipis[, c(\"name:ca\", \"regio\", \"name\")] #> name:ca regio #> 1 Alt Aran Aran #> 2 Arres Aran #> 3 Bausén Aran #> 4 Bossòst Aran #> 5 Canejan Aran #> 6 es Bordes Aran #> 7 Lés Aran #> 8 Viella i Mitjaran Aran #> 9 Vilamòs Aran #> 10 Angostrina i Vilanova de les Escaldes CatNord #> 11 Bolquera CatNord #> 12 Dorres CatNord #> 13 Èguet CatNord #> 14 Eina CatNord #> 15 Enveig CatNord #> 16 Er CatNord #> 17 Estavar CatNord #> 18 Font-romeu, Odelló i Vià CatNord #> 19 la Cabanassa CatNord #> 20 la Guingueta d'Ix CatNord #> 21 la Tor de Querol CatNord #> 22 Llo CatNord #> 23 Montlluís CatNord #> 24 Naüja CatNord #> 25 Oceja CatNord #> 26 Palau de Cerdanya CatNord #> 27 Porta CatNord #> 28 Portè CatNord #> 29 Sallagosa CatNord #> 30 Santa Llocaia CatNord #> 31 Targasona CatNord #> 32 Ur CatNord #> 33 Vallcebollera CatNord #> 34 els Angles CatNord #> 35 Font-rabiosa CatNord #> 36 Formiguera CatNord #> 37 Matamala CatNord #> 38 Puigbalador CatNord #> 39 Real CatNord #> 40 Aiguatèbia i Talau CatNord #> 41 Arboçols CatNord #> 42 Campome CatNord #> 43 Canavelles CatNord #> 44 Castell de Vernet CatNord #> 45 Catllà CatNord #> 46 Caudiers de Conflent CatNord #> 47 Censà CatNord #> 48 Clarà i Villerac CatNord #> 49 Codalet CatNord #> 50 Conat CatNord #> 51 Cornellà de Conflent CatNord #> 52 Escaró CatNord #> 53 Espirà de Conflent CatNord #> 54 Estoer CatNord #> 55 Eus CatNord #> 56 Fillols CatNord #> 57 Finestret CatNord #> 58 Fontpedrosa CatNord #> 59 Fullà CatNord #> 60 Glorianes CatNord #> 61 Jóc CatNord #> 62 Jújols CatNord #> 63 la Bastida CatNord #> 64 la Llaguna CatNord #> 65 Los Masos CatNord #> 66 Marqueixanes CatNord #> 67 Mentet CatNord #> 68 Molig CatNord #> 69 Mosset CatNord #> 70 Noedes CatNord #> 71 Nyer CatNord #> 72 Oleta i Èvol CatNord #> 73 Orbanyà CatNord #> 74 Orellà CatNord #> 75 Pi de Conflent CatNord #> 76 Planès CatNord #> 77 Prada CatNord #> 78 Ralleu CatNord #> 79 Rià i Cirac CatNord #> 80 Rigardà CatNord #> 81 Rodés CatNord #> 82 Sant Marçal CatNord #> 83 Sant Pere dels Forcats CatNord #> 84 Saorra CatNord #> 85 Sautó CatNord #> 86 Serdinyà CatNord #> 87 Soanyes CatNord #> 88 Tarerac CatNord #> 89 Taurinyà CatNord #> 90 Toès i Entrevalls CatNord #> 91 Vallestàvia CatNord #> 92 Vallmanya CatNord #> 93 Vernet CatNord #> 94 Vilafranca de Conflent CatNord #> 95 Vinçà CatNord #> 96 Ansinyà CatNord #> 97 Bellestar CatNord #> 98 Campossí CatNord #> 99 Caramany CatNord #> 100 Cassanyes CatNord #> 101 Caudiers de Fenollet CatNord #> 102 Centernac CatNord #> 103 El Viver CatNord #> 104 Felluns CatNord #> 105 Fenollet CatNord #> 106 Fossa CatNord #> 107 l'Esquerda CatNord #> 108 la Tor de França CatNord #> 109 lançac CatNord #> 110 Maurí CatNord #> 111 Montalban lo Castèl CatNord #> 112 Pesillà de Conflent CatNord #> 113 Planeses CatNord #> 114 Prats de Sornià CatNord #> 115 Prunyanes CatNord #> 116 Rasigueres CatNord #> 117 Rebollet CatNord #> 118 Sant Martí de Fenollet CatNord #> 119 Sant Pau de Fenollet CatNord #> 120 Sornià CatNord #> 121 Trevillac CatNord #> 122 Trillà CatNord #> 123 Virà CatNord #> 124 Alenyà CatNord #> 125 Argelers CatNord #> 126 Bages de Rosselló CatNord #> 127 Baixàs CatNord #> 128 Banyuls de la Marenda CatNord #> 129 Banyuls dels Aspres CatNord #> 130 Bao CatNord #> 131 Bompàs CatNord #> 132 Brullà CatNord #> 133 Bula d'Amunt CatNord #> 134 Bulaternera CatNord #> 135 Cabestany CatNord #> 136 Calce CatNord #> 137 Calmella CatNord #> 138 Cameles CatNord #> 139 Canet de Rosselló CatNord #> 140 Cànoes CatNord #> 141 Casafabre CatNord #> 142 Cases de Pena CatNord #> 143 Castellnou CatNord #> 144 Cervera de la Marenda CatNord #> 145 Clairà CatNord #> 146 Corbera de Rosselló CatNord #> 147 Cornellà de la Ribera CatNord #> 148 Cornellà del Bercol CatNord #> 149 Cotlliure CatNord #> 150 el Barcarès CatNord #> 151 el Soler CatNord #> 152 el Voló CatNord #> 153 Elna CatNord #> 154 Espirà de l'Aglí CatNord #> 155 Estagell CatNord #> 156 Forques CatNord #> 157 Illa CatNord #> 158 la Cabana de Corbera CatNord #> 159 la Roca d'Albera CatNord #> 160 la Torre d'Elna CatNord #> 161 Llauró CatNord #> 162 Llupià CatNord #> 163 Millars CatNord #> 164 Montescot CatNord #> 165 Montesquiu d'Albera CatNord #> 166 Montner CatNord #> 167 Montoriol CatNord #> 168 Nefiac CatNord #> 169 Oms CatNord #> 170 Òpol i Perellós CatNord #> 171 Ortafà CatNord #> 172 Paçà CatNord #> 173 Palau del Vidre CatNord #> 174 Paretstortes CatNord #> 175 Perpinyà CatNord #> 176 Pesillà de la Ribera CatNord #> 177 Pià CatNord #> 178 Pollestres CatNord #> 179 Pontellà CatNord #> 180 Portvendres CatNord #> 181 Prunet i Belpuig CatNord #> 182 Queixàs CatNord #> 183 Ribesaltes CatNord #> 184 Salelles CatNord #> 185 Salses CatNord #> 186 Sant Andreu de Sureda CatNord #> 187 Sant Cebrià de Rosselló CatNord #> 188 Sant Esteve del Monestir CatNord #> 189 Sant Feliu d'Amunt CatNord #> 190 Sant Feliu d'Avall CatNord #> 191 Sant Genís de Fontanes CatNord #> 192 Sant Hipòlit de la Salanca CatNord #> 193 Sant Joan la Cella CatNord #> 194 Sant Llorenç de la Salanca CatNord #> 195 Sant Miquel de Llotes CatNord #> 196 Sant Nazari de Rosselló CatNord #> 197 Santa Coloma de Tuïr CatNord #> 198 Santa Maria la Mar CatNord #> 199 Sureda CatNord #> 200 Talteüll CatNord #> 201 Terrats CatNord #> 202 Tesà CatNord #> 203 Toluges CatNord #> 204 Torderes CatNord #> 205 Torrelles de la Salanca CatNord #> 206 Trasserra CatNord #> 207 Trullars CatNord #> 208 Tuïr CatNord #> 209 Vilallonga de la Salanca CatNord #> 210 Vilallonga dels Monts CatNord #> 211 Vilamulaca CatNord #> 212 Vilanova de la Ribera CatNord #> 213 Vilanova de Raò CatNord #> 214 Vingrau CatNord #> 215 Arles CatNord #> 216 Ceret CatNord #> 217 Cortsaví CatNord #> 218 Costoja CatNord #> 219 el Pertús CatNord #> 220 el Tec CatNord #> 221 els Banys d'Arles i Palaldà CatNord #> 222 L'Albera CatNord #> 223 la Menera CatNord #> 224 les Cluses CatNord #> 225 Montboló CatNord #> 226 Montferrer CatNord #> 227 Morellàs i les Illes CatNord #> 228 Prats de Molló i la Presta CatNord #> 229 Reiners CatNord #> 230 Sant Joan de Pladecorts CatNord #> 231 Sant Llorenç de Cerdans CatNord #> 232 Serrallonga CatNord #> 233 Tellet CatNord #> 234 Teulís CatNord #> 235 Vivers CatNord #> 236 Aiguaviva de Bergantes Franja #> 237 Bellmunt de Mesquí Franja #> 238 la Canyada de Beric Franja #> 239 la Codonyera Franja #> 240 la Ginebrosa Franja #> 241 la Sorollera Franja #> 242 la Torre de Vilella Franja #> 243 Faió Franja #> 244 Favara Franja #> 245 Maella Franja #> 246 Nonasp Franja #> 247 Fraga Franja #> 248 Mequinensa Franja #> 249 Saidí Franja #> 250 Torrent de Cinca Franja #> 251 Vilella de Cinca Franja #> 252 Albelda Franja #> 253 Baells Franja #> 254 Camporrells Franja #> 255 Castellonroi Franja #> 256 el Campell Franja #> 257 el Torricó Franja #> 258 Peralta i Calassanç Franja #> 259 Sant Esteve de Llitera Franja #> 260 Sanui i Alins Franja #> 261 Tamarit de Llitera Franja #> 262 Valldellou Franja #> 263 Vensilló Franja #> 264 Arenys de Lledó Franja #> 265 Beseit Franja #> 266 Calaceit Franja #> 267 Fontdespatla Franja #> 268 Fórnols Franja #> 269 la Freixneda Franja #> 270 la Portellada Franja #> 271 la Torre del Comte Franja #> 272 la Vall del Tormo Franja #> 273 Lledó d'Algars Franja #> 274 Massalió Franja #> 275 Montroig Franja #> 276 Pena-roja de Tastavins Franja #> 277 Queretes Franja #> 278 Ràfels Franja #> 279 Torredarques Franja #> 280 Vall-de-roures Franja #> 281 Valljunquera Franja #> 282 Areny de Noguera Franja #> 283 Benavarri Franja #> 284 Beranui Franja #> 285 Bonansa Franja #> 286 Castigaleu Franja #> 287 Estopanyà Franja #> 288 Isàvena Franja #> 289 Lasquarri Franja #> 290 Les Paüls Franja #> 291 Monesma i Queixigar Franja #> 292 Montanui Franja #> 293 Pont de Montanyana Franja #> 294 Sopeira Franja #> 295 Tolba Franja #> 296 Tor-la-ribera Franja #> 297 Viacamp i Lliterà Franja #> 298 Eivissa Illes #> 299 Sant Antoni de Portmany Illes #> 300 Sant Joan de Labritja Illes #> 301 Sant Josep de sa Talaia Illes #> 302 Santa Eulària des Riu Illes #> 303 Formentera Illes #> 304 Artà Illes #> 305 Capdepera Illes #> 306 Manacor Illes #> 307 Sant Llorenç des Cardassar Illes #> 308 Son Servera Illes #> 309 Alaior Illes #> 310 Ciutadella Illes #> 311 es Castell Illes #> 312 es Mercadal Illes #> 313 es Migjorn Gran Illes #> 314 Ferreries Illes #> 315 Maó Illes #> 316 Sant Lluís Illes #> 317 Campos Illes #> 318 Felanitx Illes #> 319 Llucmajor Illes #> 320 Santanyí Illes #> 321 ses Salines Illes #> 322 Palma Illes #> 323 Algaida Illes #> 324 Ariany Illes #> 325 Costitx Illes #> 326 Lloret de Vistalegre Illes #> 327 Llubí Illes #> 328 Maria de la Salut Illes #> 329 Montuïri Illes #> 330 Muro Illes #> 331 Petra Illes #> 332 Porreres Illes #> 333 Sant Joan Illes #> 334 Santa Eugènia Illes #> 335 Santa Margalida Illes #> 336 Sencelles Illes #> 337 Sineu Illes #> 338 Vilafranca de Bonany Illes #> 339 Alaró Illes #> 340 Alcúdia Illes #> 341 Binissalem Illes #> 342 Búger Illes #> 343 Campanet Illes #> 344 Consell Illes #> 345 Inca Illes #> 346 Lloseta Illes #> 347 Mancor de la Vall Illes #> 348 Marratxí Illes #> 349 sa Pobla Illes #> 350 Santa Maria del Camí Illes #> 351 Selva Illes #> 352 Andratx Illes #> 353 Banyalbufar Illes #> 354 Bunyola Illes #> 355 Calvià Illes #> 356 Deià Illes #> 357 Escorca Illes #> 358 Esporles Illes #> 359 Estellencs Illes #> 360 Fornalutx Illes #> 361 Pollença Illes #> 362 Puigpunyent Illes #> 363 Sóller Illes #> 364 Valldemossa Illes #> 365 Aiguamúrcia Principat #> 366 Alcover Principat #> 367 Alió Principat #> 368 Bràfim Principat #> 369 Cabra del Camp Principat #> 370 el Milà Principat #> 371 el Pla de Santa Maria Principat #> 372 el Pont d'Armentera Principat #> 373 el Rourell Principat #> 374 els Garidells Principat #> 375 Figuerola del Camp Principat #> 376 la Masó Principat #> 377 la Riba Principat #> 378 Mont-ral Principat #> 379 Montferri Principat #> 380 Nulles Principat #> 381 Puigpelat Principat #> 382 Querol Principat #> 383 Rodonyà Principat #> 384 Vallmoll Principat #> 385 Valls Principat #> 386 Vila-rodona Principat #> 387 Vilabella Principat #> 388 Agullana Principat #> 389 Albanyà Principat #> 390 Avinyonet de Puigventós Principat #> 391 Bàscara Principat #> 392 Biure Principat #> 393 Boadella i les Escaules Principat #> 394 Borrassà Principat #> 395 Cabanelles Principat #> 396 Cabanes Principat #> 397 Cadaqués Principat #> 398 Campmany Principat #> 399 Cantallops Principat #> 400 Castelló d'Empúries Principat #> 401 Cistella Principat #> 402 Colera Principat #> 403 Darnius Principat #> 404 el Far d'Empordà Principat #> 405 el Port de la Selva Principat #> 406 Espolla Principat #> 407 Figueres Principat #> 408 Fortià Principat #> 409 Garrigàs Principat #> 410 Garriguella Principat #> 411 l'Armentera Principat #> 412 l'Escala Principat #> 413 la Jonquera Principat #> 414 la Selva de Mar Principat #> 415 la Vajol Principat #> 416 Llançà Principat #> 417 Lledó d'Empordà Principat #> 418 Llers Principat #> 419 Maçanet de Cabrenys Principat #> 420 Masarac i Vilarnadal Principat #> 421 Mollet de Peralada Principat #> 422 Navata Principat #> 423 Ordis Principat #> 424 Palau de Santa Eulàlia Principat #> 425 Palau-saverdera Principat #> 426 Pau Principat #> 427 Pedret i Marzà Principat #> 428 Peralada Principat #> 429 Pont de Molins Principat #> 430 Pontós Principat #> 431 Portbou Principat #> 432 Rabós Principat #> 433 Riumors Principat #> 434 Roses Principat #> 435 Sant Climent Sescebes Principat #> 436 Sant Llorenç de la Muga Principat #> 437 Sant Miquel de Fluvià Principat #> 438 Sant Mori Principat #> 439 Sant Pere Pescador Principat #> 440 Santa Llogaia d'Àlguema Principat #> 441 Saus, Camallera i Llampaies Principat #> 442 Siurana Principat #> 443 Terrades Principat #> 444 Torroella de Fluvià Principat #> 445 Ventalló Principat #> 446 Vila-sacra Principat #> 447 Vilabertran Principat #> 448 Viladamat Principat #> 449 Vilafant Principat #> 450 Vilajuïga Principat #> 451 Vilamacolum Principat #> 452 Vilamalla Principat #> 453 Vilamaniscle Principat #> 454 Vilanant Principat #> 455 Vilaür Principat #> 456 Avinyonet del Penedès Principat #> 457 Castellet i la Gornal Principat #> 458 Castellví de la Marca Principat #> 459 el Pla del Penedès Principat #> 460 Font-rubí Principat #> 461 Gelida Principat #> 462 la Granada Principat #> 463 les Cabanyes Principat #> 464 Mediona Principat #> 465 Olèrdola Principat #> 466 Olesa de Bonesvalls Principat #> 467 Pacs del Penedès Principat #> 468 Pontons Principat #> 469 Puigdàlber Principat #> 470 Sant Cugat Sesgarrigues Principat #> 471 Sant Llorenç d'Hortons Principat #> 472 Sant Martí Sarroca Principat #> 473 Sant Pere de Riudebitlles Principat #> 474 Sant Quintí de Mediona Principat #> 475 Sant Sadurní d'Anoia Principat #> 476 Santa Fe del Penedès Principat #> 477 Santa Margarida i els Monjos Principat #> 478 Subirats Principat #> 479 Terrassola i Lavit Principat #> 480 Torrelles de Foix Principat #> 481 Vilafranca del Penedès Principat #> 482 Vilobí del Penedès Principat #> 483 Alàs i Cerc Principat #> 484 Arsèguel Principat #> 485 Bassella Principat #> 486 Cabó Principat #> 487 Cava Principat #> 488 Coll de Nargó Principat #> 489 el Pont de Bar Principat #> 490 Estamariu Principat #> 491 Fígols i Alinyà Principat #> 492 Josa i Tuixén Principat #> 493 la Seu d'Urgell Principat #> 494 la Vansa i Fórnols Principat #> 495 les Valls d'Aguilar Principat #> 496 les Valls de Valira Principat #> 497 Montferrer i Castellbò Principat #> 498 Oliana Principat #> 499 Organyà Principat #> 500 Peramola Principat #> 501 Ribera d'Urgellet Principat #> 502 el Pont de Suert Principat #> 503 la Vall de Boí Principat #> 504 Vilaller Principat #> 505 Argençola Principat #> 506 Bellprat Principat #> 507 Cabrera d'Anoia Principat #> 508 Calaf Principat #> 509 Calonge de Segarra Principat #> 510 Capellades Principat #> 511 Carme Principat #> 512 Castellfollit de Riubregós Principat #> 513 Castellolí Principat #> 514 Copons Principat #> 515 el Bruc Principat #> 516 els Hostalets de Pierola Principat #> 517 els Prats de Rei Principat #> 518 Igualada Principat #> 519 Jorba Principat #> 520 la Llacuna Principat #> 521 la Pobla de Claramunt Principat #> 522 la Torre de Claramunt Principat #> 523 Masquefa Principat #> 524 Montmaneu Principat #> 525 Òdena Principat #> 526 Orpí Principat #> 527 Piera Principat #> 528 Pujalt Principat #> 529 Rubió Principat #> 530 Sant Martí de Tous Principat #> 531 Sant Martí Sesgueioles Principat #> 532 Sant Pere Sallavinera Principat #> 533 Santa Margarida de Montbui Principat #> 534 Santa Maria de Miralles Principat #> 535 Vallbona d'Anoia Principat #> 536 Veciana Principat #> 537 Vilanova del Camí Principat #> 538 Aguilar de Segarra Principat #> 539 Artés Principat #> 540 Avinyó Principat #> 541 Balsareny Principat #> 542 Callús Principat #> 543 Cardona Principat #> 544 Castellbell i el Vilar Principat #> 545 Castellfollit del Boix Principat #> 546 Castellgalí Principat #> 547 Castellnou de Bages Principat #> 548 el Pont de Vilomara i Rocafort Principat #> 549 Fonollosa Principat #> 550 Gaià Principat #> 551 Manresa Principat #> 552 Marganell Principat #> 553 Monistrol de Montserrat Principat #> 554 Mura Principat #> 555 Navarcles Principat #> 556 Navars Principat #> 557 Rajadell Principat #> 558 Sallent Principat #> 559 Sant Feliu Sasserra Principat #> 560 Sant Fruitós de Bages Principat #> 561 Sant Joan de Vilatorrada Principat #> 562 Sant Mateu de Bages Principat #> 563 Sant Salvador de Guardiola Principat #> 564 Sant Vicenç de Castellet Principat #> 565 Santpedor Principat #> 566 Súria Principat #> 567 Talamanca Principat #> 568 Alforja Principat #> 569 Almoster Principat #> 570 Arbolí Principat #> 571 Botarell Principat #> 572 Cambrils Principat #> 573 Capafonts Principat #> 574 Castellvell del Camp Principat #> 575 Colldejou Principat #> 576 Duesaigües Principat #> 577 l'Albiol Principat #> 578 l'Aleixar Principat #> 579 l'Argentera Principat #> 580 la Febró Principat #> 581 la Selva del Camp Principat #> 582 les Borges del Camp Principat #> 583 Maspujols Principat #> 584 Mont-roig del Camp Principat #> 585 Montbrió del Camp Principat #> 586 Prades Principat #> 587 Pratdip Principat #> 588 Reus Principat #> 589 Riudecanyes Principat #> 590 Riudecols Principat #> 591 Riudoms Principat #> 592 Vandellòs i l'Hospitalet de l'Infant Principat #> 593 Vilanova d'Escornalbou Principat #> 594 Vilaplana Principat #> 595 Vinyols i els Arcs Principat #> 596 Aldover Principat #> 597 Alfara de Carles Principat #> 598 Benifallet Principat #> 599 Camarles Principat #> 600 Deltebre Principat #> 601 el Perelló Principat #> 602 l'Aldea Principat #> 603 l'Ametlla de Mar Principat #> 604 l'Ampolla Principat #> 605 Paüls Principat #> 606 Roquetes Principat #> 607 Tivenys Principat #> 608 Tortosa Principat #> 609 Xerta Principat #> 610 Albons Principat #> 611 Begur Principat #> 612 Bellcaire d'Empordà Principat #> 613 Calonge i Sant Antoni Principat #> 614 Castell d'Aro, Platja d'Aro i s'Agaró Principat #> 615 Colomers Principat #> 616 Corçà Principat #> 617 Cruïlles, Monells i Sant Sadurní de l'Heura Principat #> 618 Foixà Principat #> 619 Fontanilles Principat #> 620 Garrigoles Principat #> 621 Gualta Principat #> 622 Jafre Principat #> 623 la Bisbal d'Empordà Principat #> 624 la Pera Principat #> 625 la Tallada d'Empordà Principat #> 626 Mont-ras Principat #> 627 Palafrugell Principat #> 628 Palamós Principat #> 629 Palau-sator Principat #> 630 Pals Principat #> 631 Parlavà Principat #> 632 Regencós Principat #> 633 Rupià Principat #> 634 Sant Feliu de Guíxols Principat #> 635 Santa Cristina d'Aro Principat #> 636 Serra de Daró Principat #> 637 Torrent Principat #> 638 Torroella de Montgrí Principat #> 639 Ullà Principat #> 640 Ullastret Principat #> 641 Ultramort Principat #> 642 Vall-llobrega Principat #> 643 Verges Principat #> 644 Vilopriu Principat #> 645 Vulpellac, Fonteta i Peratallada Principat #> 646 Abrera Principat #> 647 Begues Principat #> 648 Castelldefels Principat #> 649 Castellví de Rosanes Principat #> 650 Cervelló Principat #> 651 Collbató Principat #> 652 Corbera de Llobregat Principat #> 653 Cornellà de Llobregat Principat #> 654 el Papiol Principat #> 655 el Prat de Llobregat Principat #> 656 Esparreguera Principat #> 657 Esplugues de Llobregat Principat #> 658 Gavà Principat #> 659 la Palma de Cervelló Principat #> 660 Martorell Principat #> 661 Molins de Rei Principat #> 662 Olesa de Montserrat Principat #> 663 Pallejà Principat #> 664 Sant Andreu de la Barca Principat #> 665 Sant Boi de Llobregat Principat #> 666 Sant Climent de Llobregat Principat #> 667 Sant Esteve Sesrovires Principat #> 668 Sant Feliu de Llobregat Principat #> 669 Sant Joan Despí Principat #> 670 Sant Just Desvern Principat #> 671 Sant Vicenç dels Horts Principat #> 672 Santa Coloma de Cervelló Principat #> 673 Torrelles de Llobregat Principat #> 674 Vallirana Principat #> 675 Viladecans Principat #> 676 Albinyana Principat #> 677 Banyeres del Penedès Principat #> 678 Bellvei Principat #> 679 Bonastre Principat #> 680 Calafell Principat #> 681 Cunit Principat #> 682 el Montmell Principat #> 683 el Vendrell Principat #> 684 l'Arboç Principat #> 685 la Bisbal del Penedès Principat #> 686 Llorenç del Penedès Principat #> 687 Masllorenç Principat #> 688 Sant Jaume dels Domenys Principat #> 689 Santa Oliva Principat #> 690 Badalona Principat #> 691 Barcelona Principat #> 692 l'Hospitalet de Llobregat Principat #> 693 Sant Adrià de Besòs Principat #> 694 Santa Coloma de Gramenet Principat #> 695 Avià Principat #> 696 Bagà Principat #> 697 Berga Principat #> 698 Borredà Principat #> 699 Capolat Principat #> 700 Casserres Principat #> 701 Castell de l'Areny Principat #> 702 Castellar de n'Hug Principat #> 703 Castellar del Riu Principat #> 704 Cercs Principat #> 705 Fígols Principat #> 706 Gironella Principat #> 707 Gisclareny Principat #> 708 Gósol Principat #> 709 Guardiola de Berguedà Principat #> 710 l'Espunyola Principat #> 711 la Nou de Berguedà Principat #> 712 la Pobla de Lillet Principat #> 713 la Quar Principat #> 714 Montclar Principat #> 715 Montmajor Principat #> 716 Olvan Principat #> 717 Puig-reig Principat #> 718 Sagàs Principat #> 719 Saldes Principat #> 720 Sant Jaume de Frontanyà Principat #> 721 Sant Julià de Cerdanyola Principat #> 722 Santa Maria de Merlès Principat #> 723 Vallcebre Principat #> 724 Vilada Principat #> 725 Viver i Serrateix Principat #> 726 Alp Principat #> 727 Bellver de Cerdanya Principat #> 728 Bolvir Principat #> 729 Das Principat #> 730 Fontanals de Cerdanya Principat #> 731 Ger Principat #> 732 Guils de Cerdanya Principat #> 733 Isòvol Principat #> 734 Lles de Cerdanya Principat #> 735 Llívia Principat #> 736 Meranges Principat #> 737 Montellà i Martinet Principat #> 738 Prats i Sansor Principat #> 739 Prullans Principat #> 740 Puigcerdà Principat #> 741 Riu de Cerdanya Principat #> 742 Urús Principat #> 743 Barberà de la Conca Principat #> 744 Blancafort Principat #> 745 Conesa Principat #> 746 Forès Principat #> 747 l'Espluga de Francolí Principat #> 748 les Piles Principat #> 749 Llorac Principat #> 750 Montblanc Principat #> 751 Passanant i Belltall Principat #> 752 Pira Principat #> 753 Pontils Principat #> 754 Rocafort de Queralt Principat #> 755 Santa Coloma de Queralt Principat #> 756 Sarral Principat #> 757 Savallà del Comtat Principat #> 758 Senan Principat #> 759 Solivella Principat #> 760 Vallclara Principat #> 761 Vallfogona de Riucorb Principat #> 762 Vilanova de Prades Principat #> 763 Vilaverd Principat #> 764 Vimbodí i Poblet Principat #> 765 Canyelles Principat #> 766 Cubelles Principat #> 767 Olivella Principat #> 768 Sant Pere de Ribes Principat #> 769 Sitges Principat #> 770 Vilanova i la Geltrú Principat #> 771 Arbeca Principat #> 772 Bellaguarda Principat #> 773 Bovera Principat #> 774 Castelldans Principat #> 775 Cervià de les Garrigues Principat #> 776 el Cogul Principat #> 777 el Soleràs Principat #> 778 el Vilosell Principat #> 779 els Omellons Principat #> 780 els Torms Principat #> 781 Fulleda Principat #> 782 Granyena de les Garrigues Principat #> 783 Juncosa Principat #> 784 Juneda Principat #> 785 l'Albagés Principat #> 786 l'Albi Principat #> 787 l'Espluga Calba Principat #> 788 la Floresta Principat #> 789 la Granadella Principat #> 790 la Pobla de Cérvoles Principat #> 791 les Borges Blanques Principat #> 792 Puiggròs Principat #> 793 Tarrés Principat #> 794 Vinaixa Principat #> 795 Argelaguer Principat #> 796 Besalú Principat #> 797 Beuda Principat #> 798 Castellfollit de la Roca Principat #> 799 la Vall d'en Bas Principat #> 800 la Vall de Bianya Principat #> 801 les Planes d'Hostoles Principat #> 802 les Preses Principat #> 803 Maià de Montcal Principat #> 804 Mieres Principat #> 805 Montagut i Oix Principat #> 806 Olot Principat #> 807 Riudaura Principat #> 808 Sales de Llierca Principat #> 809 Sant Aniol de Finestres Principat #> 810 Sant Feliu de Pallerols Principat #> 811 Sant Ferriol Principat #> 812 Sant Jaume de Llierca Principat #> 813 Sant Joan les Fonts Principat #> 814 Santa Pau Principat #> 815 Tortellà Principat #> 816 Aiguaviva Principat #> 817 Bescanó Principat #> 818 Bordils Principat #> 819 Campllong Principat #> 820 Canet d'Adri Principat #> 821 Cassà de la Selva Principat #> 822 Celrà Principat #> 823 Cervià de Ter Principat #> 824 Flaçà Principat #> 825 Fornells de la Selva Principat #> 826 Girona Principat #> 827 Juià Principat #> 828 Llagostera Principat #> 829 Llambilles Principat #> 830 Madremanya Principat #> 831 Quart Principat #> 832 Salt Principat #> 833 Sant Andreu Salou Principat #> 834 Sant Gregori Principat #> 835 Sant Joan de Mollet Principat #> 836 Sant Jordi Desvalls Principat #> 837 Sant Julià de Ramis Principat #> 838 Sant Martí de Llémena Principat #> 839 Sant Martí Vell Principat #> 840 Sarrià de Ter Principat #> 841 Vilablareix Principat #> 842 Viladasens Principat #> 843 Alpens Principat #> 844 Lluçà Principat #> 845 Olost Principat #> 846 Oristà Principat #> 847 Perafita Principat #> 848 Prats de Lluçanès Principat #> 849 Sant Martí d'Albars Principat #> 850 Sobremunt Principat #> 851 Alella Principat #> 852 Arenys de Mar Principat #> 853 Arenys de Munt Principat #> 854 Argentona Principat #> 855 Cabrera de Mar Principat #> 856 Cabrils Principat #> 857 Caldes d'Estrac Principat #> 858 Calella Principat #> 859 Canet de Mar Principat #> 860 Dosrius Principat #> 861 el Masnou Principat #> 862 Malgrat de Mar Principat #> 863 Mataró Principat #> 864 Montgat Principat #> 865 Òrrius Principat #> 866 Palafolls Principat #> 867 Pineda de Mar Principat #> 868 Premià de Dalt Principat #> 869 Premià de Mar Principat #> 870 Sant Andreu de Llavaneres Principat #> 871 Sant Cebrià de Vallalta Principat #> 872 Sant Iscle de Vallalta Principat #> 873 Sant Pol de Mar Principat #> 874 Sant Vicenç de Montalt Principat #> 875 Santa Susanna Principat #> 876 Teià Principat #> 877 Tiana Principat #> 878 Tordera Principat #> 879 Vilassar de Dalt Principat #> 880 Vilassar de Mar Principat #> 881 Calders Principat #> 882 Castellcir Principat #> 883 Castellterçol Principat #> 884 Collsuspina Principat #> 885 Granera Principat #> 886 l'Estany Principat #> 887 Moià Principat #> 888 Monistrol de Calders Principat #> 889 Sant Quirze Safaja Principat #> 890 Santa Maria d'Oló Principat #> 891 Alcanar Principat #> 892 Amposta Principat #> 893 Freginals Principat #> 894 Godall Principat #> 895 la Galera Principat #> 896 la Ràpita Principat #> 897 la Sénia Principat #> 898 Mas de Barberans Principat #> 899 Masdenverge Principat #> 900 Sant Jaume d'Enveja Principat #> 901 Santa Bàrbara Principat #> 902 Ulldecona Principat #> 903 Àger Principat #> 904 Albesa Principat #> 905 Algerri Principat #> 906 Alòs de Balaguer Principat #> 907 Artesa de Segre Principat #> 908 Balaguer Principat #> 909 Bellcaire d'Urgell Principat #> 910 Bellmunt d'Urgell Principat #> 911 Cabanabona Principat #> 912 Camarasa Principat #> 913 Castelló de Farfanya Principat #> 914 Cubells Principat #> 915 Foradada Principat #> 916 Ivars de Noguera Principat #> 917 la Baronia de Rialb Principat #> 918 la Sentiu de Sió Principat #> 919 les Avellanes i Santa Linya Principat #> 920 Menàrguens Principat #> 921 Montgai Principat #> 922 Oliola Principat #> 923 Os de Balaguer Principat #> 924 Penelles Principat #> 925 Ponts Principat #> 926 Preixens Principat #> 927 Térmens Principat #> 928 Tiurana Principat #> 929 Torrelameu Principat #> 930 Vallfogona de Balaguer Principat #> 931 Vilanova de l'Aguda Principat #> 932 Vilanova de Meià Principat #> 933 Balenyà Principat #> 934 Calldetenes Principat #> 935 Centelles Principat #> 936 el Brull Principat #> 937 Espinelves Principat #> 938 Folgueroles Principat #> 939 Gurb Principat #> 940 l'Esquirol Principat #> 941 les Masies de Roda Principat #> 942 les Masies de Voltregà Principat #> 943 Malla Principat #> 944 Manlleu Principat #> 945 Montesquiu Principat #> 946 Muntanyola Principat #> 947 Orís Principat #> 948 Roda de Ter Principat #> 949 Rupit i Pruit Principat #> 950 Sant Agustí de Lluçanès Principat #> 951 Sant Bartomeu del Grau Principat #> 952 Sant Boi de Lluçanès Principat #> 953 Sant Hipòlit de Voltregà Principat #> 954 Sant Julià de Vilatorta Principat #> 955 Sant Martí de Centelles Principat #> 956 Sant Pere de Torelló Principat #> 957 Sant Quirze de Besora Principat #> 958 Sant Sadurní d'Osormort Principat #> 959 Sant Vicenç de Torelló Principat #> 960 Santa Cecília de Voltregà Principat #> 961 Santa Eugènia de Berga Principat #> 962 Santa Eulàlia de Riuprimer Principat #> 963 Santa Maria de Besora Principat #> 964 Seva Principat #> 965 Sora Principat #> 966 Taradell Principat #> 967 Tavèrnoles Principat #> 968 Tavertet Principat #> 969 Tona Principat #> 970 Torelló Principat #> 971 Vic Principat #> 972 Vidrà Principat #> 973 Viladrau Principat #> 974 Vilanova de Sau Principat #> 975 Abella de la Conca Principat #> 976 Castell de Mur Principat #> 977 Conca de Dalt Principat #> 978 Gavet de la Conca Principat #> 979 Isona i Conca Dellà Principat #> 980 la Pobla de Segur Principat #> 981 la Torre de Cabdella Principat #> 982 Llimiana Principat #> 983 Salàs de Pallars Principat #> 984 Sant Esteve de la Sarga Principat #> 985 Sarroca de Bellera Principat #> 986 Senterada Principat #> 987 Talarn Principat #> 988 Tremp Principat #> 989 Alins Principat #> 990 Alt Àneu Principat #> 991 Baix Pallars Principat #> 992 Espot Principat #> 993 Esterri d'Àneu Principat #> 994 Esterri de Cardós Principat #> 995 Farrera Principat #> 996 la Guingueta d'Àneu Principat #> 997 Lladorre Principat #> 998 Llavorsí Principat #> 999 Rialb Principat #> 1000 Soriguera Principat #> 1001 Sort Principat #> 1002 Tírvia Principat #> 1003 Vall de Cardós Principat #> 1004 Barbens Principat #> 1005 Bell-lloc d'Urgell Principat #> 1006 Bellvís Principat #> 1007 Castellnou de Seana Principat #> 1008 el Palau d'Anglesola Principat #> 1009 el Poal Principat #> 1010 Fondarella Principat #> 1011 Golmés Principat #> 1012 Ivars d'Urgell Principat #> 1013 Linyola Principat #> 1014 Miralcamp Principat #> 1015 Mollerussa Principat #> 1016 Sidamon Principat #> 1017 Torregrossa Principat #> 1018 Vila-sana Principat #> 1019 Vilanova de Bellpuig Principat #> 1020 Banyoles Principat #> 1021 Camós Principat #> 1022 Cornellà del Terri Principat #> 1023 Crespià Principat #> 1024 Esponellà Principat #> 1025 Fontcoberta Principat #> 1026 Palol de Revardit Principat #> 1027 Porqueres Principat #> 1028 Sant Miquel de Campmajor Principat #> 1029 Serinyà Principat #> 1030 Vilademuls Principat #> 1031 Bellmunt del Priorat Principat #> 1032 Cabassers Principat #> 1033 Capçanes Principat #> 1034 Cornudella de Montsant Principat #> 1035 el Lloar Principat #> 1036 el Masroig Principat #> 1037 el Molar Principat #> 1038 els Guiamets Principat #> 1039 Falset Principat #> 1040 Gratallops Principat #> 1041 la Bisbal de Montsant Principat #> 1042 la Figuera Principat #> 1043 la Morera de Montsant Principat #> 1044 la Torre de Fontaubella Principat #> 1045 la Vilella Alta Principat #> 1046 la Vilella Baixa Principat #> 1047 Marçà Principat #> 1048 Margalef Principat #> 1049 Poboleda Principat #> 1050 Porrera Principat #> 1051 Pradell de la Teixeta Principat #> 1052 Torroja del Priorat Principat #> 1053 Ulldemolins Principat #> 1054 Ascó Principat #> 1055 Benissanet Principat #> 1056 Flix Principat #> 1057 Garcia Principat #> 1058 Ginestar Principat #> 1059 la Palma d'Ebre Principat #> 1060 la Torre de l'Espanyol Principat #> 1061 Miravet Principat #> 1062 Móra d'Ebre Principat #> 1063 Móra la Nova Principat #> 1064 Rasquera Principat #> 1065 Riba-roja d'Ebre Principat #> 1066 Tivissa Principat #> 1067 Vinebre Principat #> 1068 Campdevànol Principat #> 1069 Campelles Principat #> 1070 Camprodon Principat #> 1071 Gombrèn Principat #> 1072 les Llosses Principat #> 1073 Llanars Principat #> 1074 Molló Principat #> 1075 Ogassa Principat #> 1076 Pardines Principat #> 1077 Planoles Principat #> 1078 Queralbs Principat #> 1079 Ribes de Freser Principat #> 1080 Ripoll Principat #> 1081 Sant Joan de les Abadesses Principat #> 1082 Sant Pau de Segúries Principat #> 1083 Setcases Principat #> 1084 Toses Principat #> 1085 Vallfogona de Ripollès Principat #> 1086 Vilallonga de Ter Principat #> 1087 Biosca Principat #> 1088 Cervera Principat #> 1089 els Plans de Sió Principat #> 1090 Estaràs Principat #> 1091 Granyanella Principat #> 1092 Granyena de Segarra Principat #> 1093 Guissona Principat #> 1094 Ivorra Principat #> 1095 les Oluges Principat #> 1096 Massoteres Principat #> 1097 Montoliu de Segarra Principat #> 1098 Montornès de Segarra Principat #> 1099 Ribera d'Ondara Principat #> 1100 Sanaüja Principat #> 1101 Sant Guim de Freixenet Principat #> 1102 Sant Guim de la Plana Principat #> 1103 Sant Ramon Principat #> 1104 Talavera Principat #> 1105 Tarroja de Segarra Principat #> 1106 Torà Principat #> 1107 Torrefeta i Florejacs Principat #> 1108 Aitona Principat #> 1109 Albatàrrec Principat #> 1110 Alcanó Principat #> 1111 Alcarràs Principat #> 1112 Alcoletge Principat #> 1113 Alfarràs Principat #> 1114 Alfés Principat #> 1115 Alguaire Principat #> 1116 Almacelles Principat #> 1117 Almatret Principat #> 1118 Almenar Principat #> 1119 Alpicat Principat #> 1120 Artesa de Lleida Principat #> 1121 Aspa Principat #> 1122 Benavent de Segrià Principat #> 1123 Corbins Principat #> 1124 els Alamús Principat #> 1125 Gimenells i el Pla de la Font Principat #> 1126 la Granja d'Escarp Principat #> 1127 la Portella Principat #> 1128 Llardecans Principat #> 1129 Lleida Principat #> 1130 Maials Principat #> 1131 Massalcoreig Principat #> 1132 Montoliu de Lleida Principat #> 1133 Puigverd de Lleida Principat #> 1134 Rosselló Principat #> 1135 Sarroca de Lleida Principat #> 1136 Seròs Principat #> 1137 Soses Principat #> 1138 Sudanell Principat #> 1139 Sunyer Principat #> 1140 Torre-serona Principat #> 1141 Torrebesses Principat #> 1142 Torrefarrera Principat #> 1143 Torres de Segre Principat #> 1144 Vilanova de la Barca Principat #> 1145 Vilanova de Segrià Principat #> 1146 Amer Principat #> 1147 Anglès Principat #> 1148 Arbúcies Principat #> 1149 Blanes Principat #> 1150 Breda Principat #> 1151 Brunyola i Sant Martí Sapresa Principat #> 1152 Caldes de Malavella Principat #> 1153 Fogars de la Selva Principat #> 1154 Hostalric Principat #> 1155 la Cellera de Ter Principat #> 1156 Lloret de Mar Principat #> 1157 Maçanes Principat #> 1158 Maçanet de la Selva Principat #> 1159 Osor Principat #> 1160 Riells i Viabrea Principat #> 1161 Riudarenes Principat #> 1162 Riudellots de la Selva Principat #> 1163 Sant Feliu de Buixalleu Principat #> 1164 Sant Hilari Sacalm Principat #> 1165 Sant Julià del Llor i Bonmatí Principat #> 1166 Santa Coloma de Farners Principat #> 1167 Sils Principat #> 1168 Susqueda Principat #> 1169 Tossa de Mar Principat #> 1170 Vidreres Principat #> 1171 Vilobí d'Onyar Principat #> 1172 Castellar de la Ribera Principat #> 1173 Clariana de Cardener Principat #> 1174 Guixers Principat #> 1175 la Coma i la Pedra Principat #> 1176 la Molsosa Principat #> 1177 Lladurs Principat #> 1178 Llobera Principat #> 1179 Navès Principat #> 1180 Odèn Principat #> 1181 Olius Principat #> 1182 Pinell de Solsonès Principat #> 1183 Pinós Principat #> 1184 Riner Principat #> 1185 Sant Llorenç de Morunys Principat #> 1186 Solsona Principat #> 1187 Altafulla Principat #> 1188 Constantí Principat #> 1189 Creixell Principat #> 1190 el Catllar Principat #> 1191 el Morell Principat #> 1192 els Pallaresos Principat #> 1193 la Canonja Principat #> 1194 la Nou de Gaià Principat #> 1195 la Pobla de Mafumet Principat #> 1196 la Pobla de Montornès Principat #> 1197 la Riera de Gaià Principat #> 1198 la Secuita Principat #> 1199 Perafort Principat #> 1200 Renau Principat #> 1201 Roda de Berà Principat #> 1202 Salomó Principat #> 1203 Salou Principat #> 1204 Tarragona Principat #> 1205 Torredembarra Principat #> 1206 Vespella de Gaià Principat #> 1207 Vila-seca Principat #> 1208 Vilallonga del Camp Principat #> 1209 Arnes Principat #> 1210 Batea Principat #> 1211 Bot Principat #> 1212 Caseres Principat #> 1213 Corbera d'Ebre Principat #> 1214 el Pinell de Brai Principat #> 1215 Gandesa Principat #> 1216 Horta de Sant Joan Principat #> 1217 la Fatarella Principat #> 1218 la Pobla de Massaluca Principat #> 1219 Prat de Comte Principat #> 1220 Vilalba dels Arcs Principat #> 1221 Agramunt Principat #> 1222 Anglesola Principat #> 1223 Belianes Principat #> 1224 Bellpuig Principat #> 1225 Castellserà Principat #> 1226 Ciutadilla Principat #> 1227 els Omells de na Gaia Principat #> 1228 Guimerà Principat #> 1229 la Fuliola Principat #> 1230 Maldà Principat #> 1231 Nalec Principat #> 1232 Ossó de Sió Principat #> 1233 Preixana Principat #> 1234 Puigverd d'Agramunt Principat #> 1235 Sant Martí de Riucorb Principat #> 1236 Tàrrega Principat #> 1237 Tornabous Principat #> 1238 Vallbona de les Monges Principat #> 1239 Verdú Principat #> 1240 Vilagrassa Principat #> 1241 Badia del Vallès Principat #> 1242 Barberà del Vallès Principat #> 1243 Castellar del Vallès Principat #> 1244 Castellbisbal Principat #> 1245 Cerdanyola del Vallès Principat #> 1246 Gallifa Principat #> 1247 Matadepera Principat #> 1248 Montcada i Reixac Principat #> 1249 Palau-solità i Plegamans Principat #> 1250 Polinyà Principat #> 1251 Rellinars Principat #> 1252 Ripollet Principat #> 1253 Rubí Principat #> 1254 Sabadell Principat #> 1255 Sant Cugat del Vallès Principat #> 1256 Sant Llorenç Savall Principat #> 1257 Sant Quirze del Vallès Principat #> 1258 Santa Perpètua de Mogoda Principat #> 1259 Sentmenat Principat #> 1260 Terrassa Principat #> 1261 Ullastrell Principat #> 1262 Vacarisses Principat #> 1263 Viladecavalls Principat #> 1264 Aiguafreda Principat #> 1265 Bigues i Riells del Fai Principat #> 1266 Caldes de Montbui Principat #> 1267 Campins Principat #> 1268 Canovelles Principat #> 1269 Cànoves i Samalús Principat #> 1270 Cardedeu Principat #> 1271 el Figueró i Montmany Principat #> 1272 Fogars de Montclús Principat #> 1273 Granollers Principat #> 1274 Gualba Principat #> 1275 l'Ametlla del Vallès Principat #> 1276 la Garriga Principat #> 1277 la Llagosta Principat #> 1278 la Roca del Vallès Principat #> 1279 les Franqueses del Vallès Principat #> 1280 Lliçà d'Amunt Principat #> 1281 Lliçà de Vall Principat #> 1282 Llinars del Vallès Principat #> 1283 Martorelles Principat #> 1284 Mollet del Vallès Principat #> 1285 Montmeló Principat #> 1286 Montornès del Vallès Principat #> 1287 Montseny Principat #> 1288 Parets del Vallès Principat #> 1289 Sant Antoni de Vilamajor Principat #> 1290 Sant Celoni Principat #> 1291 Sant Esteve de Palautordera Principat #> 1292 Sant Feliu de Codines Principat #> 1293 Sant Fost de Campsentelles Principat #> 1294 Sant Pere de Vilamajor Principat #> 1295 Santa Eulàlia de Ronçana Principat #> 1296 Santa Maria de Martorelles Principat #> 1297 Santa Maria de Palautordera Principat #> 1298 Tagamanent Principat #> 1299 Vallgorguina Principat #> 1300 Vallromanes Principat #> 1301 Vilalba Sasserra Principat #> 1302 Vilanova del Vallès Principat #> 1303 València PV #> 1304 Alcalà de Xivert PV #> 1305 Benicarló PV #> 1306 Càlig PV #> 1307 Canet lo Roig PV #> 1308 Castell de Cabres PV #> 1309 Cervera del Maestrat PV #> 1310 la Jana PV #> 1311 la Pobla de Benifassà PV #> 1312 la Salzadella PV #> 1313 Peníscola PV #> 1314 Rossell PV #> 1315 Sant Jordi PV #> 1316 Sant Mateu PV #> 1317 Sant Rafel del Riu PV #> 1318 Santa Magdalena de Polpís PV #> 1319 Traiguera PV #> 1320 Vinaròs PV #> 1321 Xert PV #> 1322 Guardamar del Segura PV #> 1323 Crevillent PV #> 1324 Elx PV #> 1325 Santa Pola PV #> 1326 Albalat dels Tarongers PV #> 1327 Alfara de la Baronia PV #> 1328 Algar de Palància PV #> 1329 Algímia d'Alfara PV #> 1330 Benavites PV #> 1331 Benifairó de les Valls PV #> 1332 Canet d'en Berenguer PV #> 1333 Estivella PV #> 1334 Faura PV #> 1335 Gilet PV #> 1336 Petrés PV #> 1337 Quart de les Valls PV #> 1338 Quartell PV #> 1339 Sagunt PV #> 1340 Segart PV #> 1341 Torres Torres PV #> 1342 Benaguasil PV #> 1343 Benissanó PV #> 1344 Bétera PV #> 1345 Casinos PV #> 1346 l'Eliana PV #> 1347 la Pobla de Vallbona PV #> 1348 Llíria PV #> 1349 Nàquera PV #> 1350 Olocau PV #> 1351 Riba-roja de Túria PV #> 1352 Serra PV #> 1353 Vilamarxant PV #> 1354 Agres PV #> 1355 Alcoleja PV #> 1356 Alcosser PV #> 1357 Alfafara PV #> 1358 Almudaina PV #> 1359 Balones PV #> 1360 Benasau PV #> 1361 Beniarrés PV #> 1362 Benilloba PV #> 1363 Benillup PV #> 1364 Benimarfull PV #> 1365 Benimassot PV #> 1366 Cocentaina PV #> 1367 Fageca PV #> 1368 Famorca PV #> 1369 Gaianes PV #> 1370 Gorga PV #> 1371 l'Alqueria d'Asnar PV #> 1372 l'Orxa PV #> 1373 Millena PV #> 1374 Muro d'Alcoi PV #> 1375 Planes PV #> 1376 Quatretondeta PV #> 1377 Tollos PV #> 1378 el Fondó de les Neus PV #> 1379 el Fondó dels Frares PV #> 1380 el Pinós PV #> 1381 l'Alguenya PV #> 1382 la Romana PV #> 1383 Monòver PV #> 1384 Novelda PV #> 1385 Petrer PV #> 1386 Castellfort PV #> 1387 Cinctorres PV #> 1388 el Forcall PV #> 1389 Herbers PV #> 1390 la Mata de Morella PV #> 1391 la Todolella PV #> 1392 Morella PV #> 1393 Palanques PV #> 1394 Portell de Morella PV #> 1395 Sorita PV #> 1396 Vallibona PV #> 1397 Vilafranca PV #> 1398 Villores PV #> 1399 Agost PV #> 1400 Aigües PV #> 1401 Alacant PV #> 1402 Busot PV #> 1403 el Campello PV #> 1404 la Torre de les Maçanes PV #> 1405 Mutxamel PV #> 1406 Sant Joan d'Alacant PV #> 1407 Sant Vicent del Raspeig PV #> 1408 Xixona PV #> 1409 Costur PV #> 1410 Figueroles PV #> 1411 l'Alcora PV #> 1412 les Useres PV #> 1413 Llucena PV #> 1414 Vistabella del Maestrat PV #> 1415 Xodos PV #> 1416 Alcoi PV #> 1417 Banyeres de Mariola PV #> 1418 Benifallim PV #> 1419 Castalla PV #> 1420 Ibi PV #> 1421 Onil PV #> 1422 Penàguila PV #> 1423 Tibi PV #> 1424 Albocàsser PV #> 1425 Ares del Maestrat PV #> 1426 Atzeneta del Maestrat PV #> 1427 Benafigos PV #> 1428 Benassal PV #> 1429 Catí PV #> 1430 Culla PV #> 1431 la Serratella PV #> 1432 la Torre d'en Besora PV #> 1433 Tírig PV #> 1434 Vilar de Canes PV #> 1435 Beneixama PV #> 1436 Biar PV #> 1437 el Camp de Mirra PV #> 1438 la Canyada PV #> 1439 Albalat dels Sorells PV #> 1440 Alboraia PV #> 1441 Albuixec PV #> 1442 Alfara del Patriarca PV #> 1443 Almàssera PV #> 1444 Bonrepòs i Mirambell PV #> 1445 Burjassot PV #> 1446 el Puig de Santa Maria PV #> 1447 Emperador PV #> 1448 Foios PV #> 1449 Godella PV #> 1450 la Pobla de Farnals PV #> 1451 Massalfassar PV #> 1452 Massamagrell PV #> 1453 Meliana PV #> 1454 Montcada PV #> 1455 Museros PV #> 1456 Paterna PV #> 1457 Puçol PV #> 1458 Rafelbunyol PV #> 1459 Rocafort PV #> 1460 Tavernes Blanques PV #> 1461 Vinalesa PV #> 1462 Alaquàs PV #> 1463 Albal PV #> 1464 Alcàsser PV #> 1465 Aldaia PV #> 1466 Alfafar PV #> 1467 Benetússer PV #> 1468 Beniparrell PV #> 1469 Catarroja PV #> 1470 Llocnou de la Corona PV #> 1471 Manises PV #> 1472 Massanassa PV #> 1473 Mislata PV #> 1474 Paiporta PV #> 1475 Picanya PV #> 1476 Picassent PV #> 1477 Quart de Poblet PV #> 1478 Sedaví PV #> 1479 Silla PV #> 1480 Torrent PV #> 1481 Xirivella PV #> 1482 Barxeta PV #> 1483 Canals PV #> 1484 Cerdà PV #> 1485 el Genovés PV #> 1486 Estubeny PV #> 1487 l'Alcúdia de Crespins PV #> 1488 la Font de la Figuera PV #> 1489 la Granja de la Costera PV #> 1490 la Llosa de Ranes PV #> 1491 Llanera de Ranes PV #> 1492 Llocnou d'en Fenollet PV #> 1493 Moixent PV #> 1494 Montesa PV #> 1495 Novetlè PV #> 1496 Rotglà i Corberà PV #> 1497 Torrella PV #> 1498 Vallada PV #> 1499 Vallés PV #> 1500 Xàtiva PV #> 1501 Alcalalí PV #> 1502 Beniarbeig PV #> 1503 Benidoleig PV #> 1504 Benigembla PV #> 1505 Benimeli PV #> 1506 Benissa PV #> 1507 Calp PV #> 1508 Castell de Castells PV #> 1509 Dénia PV #> 1510 el Poble Nou de Benitatxell PV #> 1511 el Ràfol d'Almúnia PV #> 1512 el Verger PV #> 1513 els Poblets PV #> 1514 Gata de Gorgos PV #> 1515 l'Atzúbia PV #> 1516 la Vall d'Alcalà PV #> 1517 la Vall d'Ebo PV #> 1518 la Vall de Gallinera PV #> 1519 la Vall de Laguar PV #> 1520 Llíber PV #> 1521 Murla PV #> 1522 Ondara PV #> 1523 Orba PV #> 1524 Parcent PV #> 1525 Pedreguer PV #> 1526 Pego PV #> 1527 Sagra PV #> 1528 Sanet i els Negrals PV #> 1529 Senija PV #> 1530 Teulada PV #> 1531 Tormos PV #> 1532 Xàbia PV #> 1533 Xaló PV #> 1534 Altea PV #> 1535 Beniardà PV #> 1536 Benidorm PV #> 1537 Benifato PV #> 1538 Benimantell PV #> 1539 Bolulla PV #> 1540 Callosa d'en Sarrià PV #> 1541 Confrides PV #> 1542 el Castell de Guadalest PV #> 1543 Finestrat PV #> 1544 l'Alfàs del Pi PV #> 1545 la Nucia PV #> 1546 la Vila Joiosa PV #> 1547 Orxeta PV #> 1548 Polop PV #> 1549 Relleu PV #> 1550 Sella PV #> 1551 Tàrbena PV #> 1552 Almassora PV #> 1553 Benicàssim PV #> 1554 Benlloc PV #> 1555 Borriol PV #> 1556 Cabanes PV #> 1557 Castelló de la Plana PV #> 1558 la Pobla Tornesa PV #> 1559 la Serra d'en Galceran PV #> 1560 la Torre d'en Doménec PV #> 1561 la Vall d'Alba PV #> 1562 les Coves de Vinromà PV #> 1563 Orpesa PV #> 1564 Sant Joan de Moró PV #> 1565 Torreblanca PV #> 1566 Vilafamés PV #> 1567 Vilanova d'Alcolea PV #> 1568 Aín PV #> 1569 Alfondeguilla PV #> 1570 Almenara PV #> 1571 Artana PV #> 1572 Betxí PV #> 1573 Borriana PV #> 1574 Eslida PV #> 1575 l'Alcúdia de Veo PV #> 1576 la Llosa PV #> 1577 la Vall d'Uixó PV #> 1578 la Vilavella PV #> 1579 les Alqueries PV #> 1580 Moncofa PV #> 1581 Nules PV #> 1582 Onda PV #> 1583 Ribesalbes PV #> 1584 Suera PV #> 1585 Tales PV #> 1586 Vila-real PV #> 1587 Xilxes PV #> 1588 Alberic PV #> 1589 Alcàntera de Xúquer PV #> 1590 Alfarb PV #> 1591 Algemesí PV #> 1592 Alginet PV #> 1593 Alzira PV #> 1594 Antella PV #> 1595 Beneixida PV #> 1596 Benifaió PV #> 1597 Benimodo PV #> 1598 Benimuslem PV #> 1599 Carcaixent PV #> 1600 Càrcer PV #> 1601 Carlet PV #> 1602 Castelló PV #> 1603 Catadau PV #> 1604 Cotes PV #> 1605 Gavarda PV #> 1606 Guadassuar PV #> 1607 l'Alcúdia PV #> 1608 l'Énova PV #> 1609 la Pobla Llarga PV #> 1610 Llombai PV #> 1611 Manuel PV #> 1612 Massalavés PV #> 1613 Montroi PV #> 1614 Montserrat PV #> 1615 Rafelguaraf PV #> 1616 Real PV #> 1617 Sant Joanet PV #> 1618 Sellent PV #> 1619 Senyera PV #> 1620 Sumacàrcer PV #> 1621 Torís PV #> 1622 Albalat de la Ribera PV #> 1623 Almussafes PV #> 1624 Benicull de Xúquer PV #> 1625 Corbera PV #> 1626 Cullera PV #> 1627 Favara PV #> 1628 Fortaleny PV #> 1629 Llaurí PV #> 1630 Polinyà de Xúquer PV #> 1631 Riola PV #> 1632 Sollana PV #> 1633 Sueca PV #> 1634 Ador PV #> 1635 Alfauir PV #> 1636 Almiserà PV #> 1637 Almoines PV #> 1638 Barx PV #> 1639 Bellreguard PV #> 1640 Beniarjó PV #> 1641 Benifairó de la Valldigna PV #> 1642 Beniflà PV #> 1643 Benirredrà PV #> 1644 Castellonet de la Conquesta PV #> 1645 Daimús PV #> 1646 el Real de Gandia PV #> 1647 Gandia PV #> 1648 Guardamar de la Safor PV #> 1649 l'Alqueria de la Comtessa PV #> 1650 la Font d'en Carròs PV #> 1651 Llocnou de Sant Jeroni PV #> 1652 Miramar PV #> 1653 Oliva PV #> 1654 Palma de Gandia PV #> 1655 Palmera PV #> 1656 Piles PV #> 1657 Potries PV #> 1658 Rafelcofer PV #> 1659 Ròtova PV #> 1660 Simat de la Valldigna PV #> 1661 Tavernes de la Valldigna PV #> 1662 Vilallonga PV #> 1663 Xeraco PV #> 1664 Xeresa PV #> 1665 Agullent PV #> 1666 Aielo de Malferit PV #> 1667 Aielo de Rugat PV #> 1668 Albaida PV #> 1669 Alfarrasí PV #> 1670 Atzeneta d'Albaida PV #> 1671 Bèlgida PV #> 1672 Bellús PV #> 1673 Beniatjar PV #> 1674 Benicolet PV #> 1675 Benigànim PV #> 1676 Benissoda PV #> 1677 Benissuera PV #> 1678 Bocairent PV #> 1679 Bufali PV #> 1680 Carrícola PV #> 1681 Castelló de Rugat PV #> 1682 el Palomar PV #> 1683 el Ràfol de Salem PV #> 1684 Fontanars dels Alforins PV #> 1685 Guadasséquies PV #> 1686 l'Olleria PV #> 1687 la Pobla del Duc PV #> 1688 Llutxent PV #> 1689 Montaverner PV #> 1690 Montitxelvo PV #> 1691 Ontinyent PV #> 1692 Otos PV #> 1693 Pinet PV #> 1694 Quatretonda PV #> 1695 Rugat PV #> 1696 Salem PV #> 1697 Sempere PV #> 1698 Terrateig PV #> 1699 l'Alguer Sardenya #> name #> 1 Naut Aran #> 2 Arres #> 3 Bausen #> 4 Bossòst #> 5 Canejan #> 6 Es Bòrdes #> 7 Les #> 8 Vielha e Mijaran #> 9 Vilamòs #> 10 Angoustrine-Villeneuve-des-Escaldes #> 11 Bolquère #> 12 Dorres #> 13 Égat #> 14 Eyne #> 15 Enveitg #> 16 Err #> 17 Estavar #> 18 Font-Romeu-Odeillo-Via #> 19 La Cabanasse #> 20 Bourg-Madame #> 21 Latour-de-Carol #> 22 Llo #> 23 Mont-Louis #> 24 Nahuja #> 25 Osséja #> 26 Palau-de-Cerdagne #> 27 Porta #> 28 Porté-Puymorens #> 29 Saillagouse #> 30 Sainte-Léocadie #> 31 Targasonne #> 32 Ur #> 33 Valcebollère #> 34 Les Angles #> 35 Fontrabiouse #> 36 Formiguères #> 37 Matemale #> 38 Puyvalador #> 39 Réal #> 40 Ayguatébia-Talau #> 41 Arboussols #> 42 Campôme #> 43 Canaveilles #> 44 Casteil #> 45 Catllar #> 46 Caudiès-de-Conflent #> 47 Sansa #> 48 Clara-Villerach #> 49 Codalet #> 50 Conat #> 51 Corneilla-de-Conflent #> 52 Escaro #> 53 Espira-de-Conflent #> 54 Estoher #> 55 Eus #> 56 Fillols #> 57 Finestret #> 58 Fontpédrouse #> 59 Fuilla #> 60 Glorianes #> 61 Joch #> 62 Jujols #> 63 La Bastide #> 64 La Llagonne #> 65 Los Masos #> 66 Marquixanes #> 67 Mantet #> 68 Molitg-les-Bains #> 69 Mosset #> 70 Nohèdes #> 71 Nyer #> 72 Olette #> 73 Urbanya #> 74 Oreilla #> 75 Py #> 76 Planès #> 77 Prades #> 78 Railleu #> 79 Ria-Sirach #> 80 Rigarda #> 81 Rodès #> 82 Saint-Marsal #> 83 Saint-Pierre-dels-Forcats #> 84 Sahorre #> 85 Sauto #> 86 Serdinya #> 87 Souanyas #> 88 Tarerach #> 89 Taurinya #> 90 Thuès-Entre-Valls #> 91 Baillestavy #> 92 Valmanya #> 93 Vernet-les-Bains #> 94 Villefranche-de-Conflent #> 95 Vinça #> 96 Ansignan #> 97 Bélesta #> 98 Campoussy #> 99 Caramany #> 100 Cassagnes #> 101 Caudiès-de-Fenouillèdes #> 102 Saint-Arnac #> 103 Le Vivier #> 104 Feilluns #> 105 Fenouillet #> 106 Fosse #> 107 Lesquerde #> 108 Latour-de-France #> 109 Lansac #> 110 Maury #> 111 Montalba-le-Château #> 112 Pézilla-de-Conflent #> 113 Planèzes #> 114 Prats-de-Sournia #> 115 Prugnanes #> 116 Rasiguères #> 117 Rabouillet #> 118 Saint-Martin-de-Fenouillet #> 119 Saint-Paul-de-Fenouillet #> 120 Sournia #> 121 Trévillach #> 122 Trilla #> 123 Vira #> 124 Alénya #> 125 Argelès-sur-Mer #> 126 Bages #> 127 Baixas #> 128 Banyuls-sur-Mer #> 129 Banyuls-dels-Aspres #> 130 Baho #> 131 Bompas #> 132 Brouilla #> 133 Boule-d'Amont #> 134 Bouleternère #> 135 Cabestany #> 136 Calce #> 137 Calmeilles #> 138 Camélas #> 139 Canet-en-Roussillon #> 140 Canohès #> 141 Casefabre #> 142 Cases-de-Pène #> 143 Castelnou #> 144 Cerbère #> 145 Claira #> 146 Corbère #> 147 Corneilla-la-Rivière #> 148 Corneilla-del-Vercol #> 149 Collioure #> 150 Le Barcarès #> 151 Le Soler #> 152 Le Boulou #> 153 Elne #> 154 Espira-de-l'Agly #> 155 Estagel #> 156 Fourques #> 157 Ille-sur-Têt #> 158 Corbère-les-Cabanes #> 159 Laroque-des-Albères #> 160 Latour-Bas-Elne #> 161 Llauro #> 162 Llupia #> 163 Millas #> 164 Montescot #> 165 Montesquieu-des-Albères #> 166 Montner #> 167 Montauriol #> 168 Néfiach #> 169 Oms #> 170 Opoul-Périllos #> 171 Ortaffa #> 172 Passa #> 173 Palau-del-Vidre #> 174 Peyrestortes #> 175 Perpignan #> 176 Pézilla-la-Rivière #> 177 Pia #> 178 Pollestres #> 179 Ponteilla #> 180 Port-Vendres #> 181 Prunet-et-Belpuig #> 182 Caixas #> 183 Rivesaltes #> 184 Saleilles #> 185 Salses-le-Château #> 186 Saint-André #> 187 Saint-Cyprien #> 188 Saint-Estève #> 189 Saint-Féliu-d'Amont #> 190 Saint-Féliu-d'Avall #> 191 Saint-Génis-des-Fontaines #> 192 Saint-Hippolyte #> 193 Saint-Jean-Lasseille #> 194 Saint-Laurent-de-la-Salanque #> 195 Saint-Michel-de-Llotes #> 196 Saint-Nazaire #> 197 Sainte-Colombe-de-la-Commanderie #> 198 Sainte-Marie-la-Mer #> 199 Sorède #> 200 Tautavel #> 201 Terrats #> 202 Théza #> 203 Toulouges #> 204 Tordères #> 205 Torreilles #> 206 Tresserre #> 207 Trouillas #> 208 Thuir #> 209 Villelongue-de-la-Salanque #> 210 Villelongue-dels-Monts #> 211 Villemolaque #> 212 Villeneuve-la-Rivière #> 213 Villeneuve-de-la-Raho #> 214 Vingrau #> 215 Arles-sur-Tech #> 216 Céret #> 217 Corsavy #> 218 Coustouges #> 219 Le Perthus #> 220 Le Tech #> 221 Amélie-les-Bains-Palalda #> 222 L'Albère #> 223 Lamanère #> 224 Les Cluses #> 225 Montbolo #> 226 Montferrer #> 227 Maureillas-las-Illas #> 228 Prats-de-Mollo-la-Preste #> 229 Reynès #> 230 Saint-Jean-Pla-de-Corts #> 231 Saint-Laurent-de-Cerdans #> 232 Serralongue #> 233 Taillet #> 234 Taulis #> 235 Vivès #> 236 Aguaviva / Aiguaviva de Bergantes #> 237 Belmonte de San José / Bellmunt de Mesquí #> 238 La Cañada de Verich / la Canyada de Beric #> 239 La Codoñera / la Codonyera #> 240 La Ginebrosa / la Ginebrosa #> 241 La Cerollera / la Sorollera #> 242 Torrevelilla / Torre de Vilella #> 243 Fayón / Faió #> 244 Fabara / Favara #> 245 Maella #> 246 Nonaspe / Nonasp #> 247 Fraga #> 248 Mequinenza / Mequinensa #> 249 Zaidín / Saidí #> 250 Torrente de Cinca / Torrent de Cinca #> 251 Velilla de Cinca #> 252 Albelda #> 253 Baells #> 254 Camporrells #> 255 Castillonroy / Castellonroi #> 256 Alcampell / el Campell #> 257 Altorricón / el Torricó #> 258 Peralta de Calasanz #> 259 San Esteban de Litera / Sant Esteve de Llitera #> 260 Azanuy-Alins #> 261 Tamarite de Litera / Tamarit de Llitera #> 262 Baldellou / Valdellou #> 263 Vencillón / Vensilló #> 264 Arens de Lledó / Arenys de Lledó #> 265 Beceite / Beseit #> 266 Calaceite / Calaceit #> 267 Fuentespalda / Fontdespatla #> 268 Fórnoles / Fórnols #> 269 La Fresneda / la Freixneda #> 270 La Portellada #> 271 Torre del Compte / la Torre del Comte #> 272 Valdeltormo / la Vall del Tormo #> 273 Lledó / Lledó d'Algars #> 274 Mazaleón / Massalió #> 275 Monroyo / Montroig #> 276 Peñarroya de Tastavins / Pena-roja de Tastavins #> 277 Cretas / Queretes #> 278 Ráfales / Ràfels #> 279 Torre de Arcas / Torredarques #> 280 Valderrobres / Vall de Roures #> 281 Valjunquera / Valljunquera #> 282 Arén / Areny de Noguera #> 283 Benabarre / Benavarri #> 284 Beranuy #> 285 Bonansa #> 286 Castigaleu #> 287 Estopiñán del Castillo / Estopanyà #> 288 Isábena #> 289 Lascuarre / Lasquarri #> 290 Laspaúles / Les Paüls #> 291 Monesma y Cajigar / Monesma i Caixigar #> 292 Montanuy / Montanui #> 293 Puente de Montañana / Pont de Montanyana #> 294 Sopeira #> 295 Tolva / Tolba #> 296 Torre la Ribera #> 297 Viacamp y Litera/Viacamp i Lliterà #> 298 Eivissa #> 299 Sant Antoni de Portmany #> 300 Sant Joan de Labritja #> 301 Sant Josep de sa Talaia #> 302 Santa Eulària des Riu #> 303 Formentera #> 304 Artà #> 305 Capdepera #> 306 Manacor #> 307 Sant Llorenç des Cardassar #> 308 Son Servera #> 309 Alaior #> 310 Ciutadella #> 311 es Castell #> 312 es Mercadal #> 313 es Migjorn Gran #> 314 Ferreries #> 315 Maó #> 316 Sant Lluís #> 317 Campos #> 318 Felanitx #> 319 Llucmajor #> 320 Santanyí #> 321 ses Salines #> 322 Palma #> 323 Algaida #> 324 Ariany #> 325 Costitx #> 326 Lloret de Vistalegre #> 327 Llubí #> 328 Maria de la Salut #> 329 Montuïri #> 330 Muro #> 331 Petra #> 332 Porreres #> 333 Sant Joan #> 334 Santa Eugènia #> 335 Santa Margalida #> 336 Sencelles #> 337 Sineu #> 338 Vilafranca de Bonany #> 339 Alaró #> 340 Alcúdia #> 341 Binissalem #> 342 Búger #> 343 Campanet #> 344 Consell #> 345 Inca #> 346 Lloseta #> 347 Mancor de la Vall #> 348 Marratxí #> 349 sa Pobla #> 350 Santa Maria del Camí #> 351 Selva #> 352 Andratx #> 353 Banyalbufar #> 354 Bunyola #> 355 Calvià #> 356 Deià #> 357 Escorca #> 358 Esporles #> 359 Estellencs #> 360 Fornalutx #> 361 Pollença #> 362 Puigpunyent #> 363 Sóller #> 364 Valldemossa #> 365 Aiguamúrcia #> 366 Alcover #> 367 Alió #> 368 Bràfim #> 369 Cabra del Camp #> 370 el Milà #> 371 el Pla de Santa Maria #> 372 el Pont d'Armentera #> 373 el Rourell #> 374 els Garidells #> 375 Figuerola del Camp #> 376 la Masó #> 377 la Riba #> 378 Mont-ral #> 379 Montferri #> 380 Nulles #> 381 Puigpelat #> 382 Querol #> 383 Rodonyà #> 384 Vallmoll #> 385 Valls #> 386 Vila-rodona #> 387 Vilabella #> 388 Agullana #> 389 Albanyà #> 390 Avinyonet de Puigventós #> 391 Bàscara #> 392 Biure #> 393 Boadella i les Escaules #> 394 Borrassà #> 395 Cabanelles #> 396 Cabanes #> 397 Cadaqués #> 398 Capmany #> 399 Cantallops #> 400 Castelló d'Empúries #> 401 Cistella #> 402 Colera #> 403 Darnius #> 404 el Far d'Empordà #> 405 el Port de la Selva #> 406 Espolla #> 407 Figueres #> 408 Fortià #> 409 Garrigàs #> 410 Garriguella #> 411 l'Armentera #> 412 l'Escala #> 413 la Jonquera #> 414 la Selva de Mar #> 415 la Vajol #> 416 Llançà #> 417 Lladó #> 418 Llers #> 419 Maçanet de Cabrenys #> 420 Masarac i Vilarnadal #> 421 Mollet de Peralada #> 422 Navata #> 423 Ordis #> 424 Palau de Santa Eulàlia #> 425 Palau-saverdera #> 426 Pau #> 427 Pedret i Marzà #> 428 Peralada #> 429 Pont de Molins #> 430 Pontós #> 431 Portbou #> 432 Rabós #> 433 Riumors #> 434 Roses #> 435 Sant Climent Sescebes #> 436 Sant Llorenç de la Muga #> 437 Sant Miquel de Fluvià #> 438 Sant Mori #> 439 Sant Pere Pescador #> 440 Santa Llogaia d'Àlguema #> 441 Saus, Camallera i Llampaies #> 442 Siurana #> 443 Terrades #> 444 Torroella de Fluvià #> 445 Ventalló #> 446 Vila-sacra #> 447 Vilabertran #> 448 Viladamat #> 449 Vilafant #> 450 Vilajuïga #> 451 Vilamacolum #> 452 Vilamalla #> 453 Vilamaniscle #> 454 Vilanant #> 455 Vilaür #> 456 Avinyonet del Penedès #> 457 Castellet i la Gornal #> 458 Castellví de la Marca #> 459 el Pla del Penedès #> 460 Font-rubí #> 461 Gelida #> 462 la Granada #> 463 les Cabanyes #> 464 Mediona #> 465 Olèrdola #> 466 Olesa de Bonesvalls #> 467 Pacs del Penedès #> 468 Pontons #> 469 Puigdàlber #> 470 Sant Cugat Sesgarrigues #> 471 Sant Llorenç d'Hortons #> 472 Sant Martí Sarroca #> 473 Sant Pere de Riudebitlles #> 474 Sant Quintí de Mediona #> 475 Sant Sadurní d'Anoia #> 476 Santa Fe del Penedès #> 477 Santa Margarida i els Monjos #> 478 Subirats #> 479 Torrelavit #> 480 Torrelles de Foix #> 481 Vilafranca del Penedès #> 482 Vilobí del Penedès #> 483 Alàs i Cerc #> 484 Arsèguel #> 485 Bassella #> 486 Cabó #> 487 Cava #> 488 Coll de Nargó #> 489 el Pont de Bar #> 490 Estamariu #> 491 Fígols i Alinyà #> 492 Josa i Tuixén #> 493 la Seu d'Urgell #> 494 la Vansa i Fórnols #> 495 les Valls d'Aguilar #> 496 les Valls de Valira #> 497 Montferrer i Castellbò #> 498 Oliana #> 499 Organyà #> 500 Peramola #> 501 Ribera d'Urgellet #> 502 el Pont de Suert #> 503 la Vall de Boí #> 504 Vilaller #> 505 Argençola #> 506 Bellprat #> 507 Cabrera d'Anoia #> 508 Calaf #> 509 Calonge de Segarra #> 510 Capellades #> 511 Carme #> 512 Castellfollit de Riubregós #> 513 Castellolí #> 514 Copons #> 515 el Bruc #> 516 els Hostalets de Pierola #> 517 els Prats de Rei #> 518 Igualada #> 519 Jorba #> 520 la Llacuna #> 521 la Pobla de Claramunt #> 522 la Torre de Claramunt #> 523 Masquefa #> 524 Montmaneu #> 525 Òdena #> 526 Orpí #> 527 Piera #> 528 Pujalt #> 529 Rubió #> 530 Sant Martí de Tous #> 531 Sant Martí Sesgueioles #> 532 Sant Pere Sallavinera #> 533 Santa Margarida de Montbui #> 534 Santa Maria de Miralles #> 535 Vallbona d'Anoia #> 536 Veciana #> 537 Vilanova del Camí #> 538 Aguilar de Segarra #> 539 Artés #> 540 Avinyó #> 541 Balsareny #> 542 Callús #> 543 Cardona #> 544 Castellbell i el Vilar #> 545 Castellfollit del Boix #> 546 Castellgalí #> 547 Castellnou de Bages #> 548 el Pont de Vilomara i Rocafort #> 549 Fonollosa #> 550 Gaià #> 551 Manresa #> 552 Marganell #> 553 Monistrol de Montserrat #> 554 Mura #> 555 Navarcles #> 556 Navàs #> 557 Rajadell #> 558 Sallent #> 559 Sant Feliu Sasserra #> 560 Sant Fruitós de Bages #> 561 Sant Joan de Vilatorrada #> 562 Sant Mateu de Bages #> 563 Sant Salvador de Guardiola #> 564 Sant Vicenç de Castellet #> 565 Santpedor #> 566 Súria #> 567 Talamanca #> 568 Alforja #> 569 Almoster #> 570 Arbolí #> 571 Botarell #> 572 Cambrils #> 573 Capafonts #> 574 Castellvell del Camp #> 575 Colldejou #> 576 Duesaigües #> 577 l'Albiol #> 578 l'Aleixar #> 579 l'Argentera #> 580 la Febró #> 581 la Selva del Camp #> 582 les Borges del Camp #> 583 Maspujols #> 584 Mont-roig del Camp #> 585 Montbrió del Camp #> 586 Prades #> 587 Pratdip #> 588 Reus #> 589 Riudecanyes #> 590 Riudecols #> 591 Riudoms #> 592 Vandellòs i l'Hospitalet de l'Infant #> 593 Vilanova d'Escornalbou #> 594 Vilaplana #> 595 Vinyols i els Arcs #> 596 Aldover #> 597 Alfara de Carles #> 598 Benifallet #> 599 Camarles #> 600 Deltebre #> 601 el Perelló #> 602 l'Aldea #> 603 l'Ametlla de Mar #> 604 l'Ampolla #> 605 Paüls #> 606 Roquetes #> 607 Tivenys #> 608 Tortosa #> 609 Xerta #> 610 Albons #> 611 Begur #> 612 Bellcaire d'Empordà #> 613 Calonge i Sant Antoni #> 614 Castell d'Aro, Platja d'Aro i s'Agaró #> 615 Colomers #> 616 Corçà #> 617 Cruïlles, Monells i Sant Sadurní de l'Heura #> 618 Foixà #> 619 Fontanilles #> 620 Garrigoles #> 621 Gualta #> 622 Jafre #> 623 la Bisbal d'Empordà #> 624 la Pera #> 625 la Tallada d'Empordà #> 626 Mont-ras #> 627 Palafrugell #> 628 Palamós #> 629 Palau-sator #> 630 Pals #> 631 Parlavà #> 632 Regencós #> 633 Rupià #> 634 Sant Feliu de Guíxols #> 635 Santa Cristina d'Aro #> 636 Serra de Daró #> 637 Torrent #> 638 Torroella de Montgrí #> 639 Ullà #> 640 Ullastret #> 641 Ultramort #> 642 Vall-llobrega #> 643 Verges #> 644 Vilopriu #> 645 Forallac #> 646 Abrera #> 647 Begues #> 648 Castelldefels #> 649 Castellví de Rosanes #> 650 Cervelló #> 651 Collbató #> 652 Corbera de Llobregat #> 653 Cornellà de Llobregat #> 654 el Papiol #> 655 el Prat de Llobregat #> 656 Esparreguera #> 657 Esplugues de Llobregat #> 658 Gavà #> 659 la Palma de Cervelló #> 660 Martorell #> 661 Molins de Rei #> 662 Olesa de Montserrat #> 663 Pallejà #> 664 Sant Andreu de la Barca #> 665 Sant Boi de Llobregat #> 666 Sant Climent de Llobregat #> 667 Sant Esteve Sesrovires #> 668 Sant Feliu de Llobregat #> 669 Sant Joan Despí #> 670 Sant Just Desvern #> 671 Sant Vicenç dels Horts #> 672 Santa Coloma de Cervelló #> 673 Torrelles de Llobregat #> 674 Vallirana #> 675 Viladecans #> 676 Albinyana #> 677 Banyeres del Penedès #> 678 Bellvei #> 679 Bonastre #> 680 Calafell #> 681 Cunit #> 682 el Montmell #> 683 el Vendrell #> 684 l'Arboç #> 685 la Bisbal del Penedès #> 686 Llorenç del Penedès #> 687 Masllorenç #> 688 Sant Jaume dels Domenys #> 689 Santa Oliva #> 690 Badalona #> 691 Barcelona #> 692 l'Hospitalet de Llobregat #> 693 Sant Adrià de Besòs #> 694 Santa Coloma de Gramenet #> 695 Avià #> 696 Bagà #> 697 Berga #> 698 Borredà #> 699 Capolat #> 700 Casserres #> 701 Castell de l'Areny #> 702 Castellar de n'Hug #> 703 Castellar del Riu #> 704 Cercs #> 705 Fígols #> 706 Gironella #> 707 Gisclareny #> 708 Gósol #> 709 Guardiola de Berguedà #> 710 l'Espunyola #> 711 la Nou de Berguedà #> 712 la Pobla de Lillet #> 713 la Quar #> 714 Montclar #> 715 Montmajor #> 716 Olvan #> 717 Puig-reig #> 718 Sagàs #> 719 Saldes #> 720 Sant Jaume de Frontanyà #> 721 Sant Julià de Cerdanyola #> 722 Santa Maria de Merlès #> 723 Vallcebre #> 724 Vilada #> 725 Viver i Serrateix #> 726 Alp #> 727 Bellver de Cerdanya #> 728 Bolvir #> 729 Das #> 730 Fontanals de Cerdanya #> 731 Ger #> 732 Guils de Cerdanya #> 733 Isòvol #> 734 Lles de Cerdanya #> 735 Llívia #> 736 Meranges #> 737 Montellà i Martinet #> 738 Prats i Sansor #> 739 Prullans #> 740 Puigcerdà #> 741 Riu de Cerdanya #> 742 Urús #> 743 Barberà de la Conca #> 744 Blancafort #> 745 Conesa #> 746 Forès #> 747 l'Espluga de Francolí #> 748 les Piles #> 749 Llorac #> 750 Montblanc #> 751 Passanant i Belltall #> 752 Pira #> 753 Pontils #> 754 Rocafort de Queralt #> 755 Santa Coloma de Queralt #> 756 Sarral #> 757 Savallà del Comtat #> 758 Senan #> 759 Solivella #> 760 Vallclara #> 761 Vallfogona de Riucorb #> 762 Vilanova de Prades #> 763 Vilaverd #> 764 Vimbodí i Poblet #> 765 Canyelles #> 766 Cubelles #> 767 Olivella #> 768 Sant Pere de Ribes #> 769 Sitges #> 770 Vilanova i la Geltrú #> 771 Arbeca #> 772 Bellaguarda #> 773 Bovera #> 774 Castelldans #> 775 Cervià de les Garrigues #> 776 el Cogul #> 777 el Soleràs #> 778 el Vilosell #> 779 els Omellons #> 780 els Torms #> 781 Fulleda #> 782 Granyena de les Garrigues #> 783 Juncosa #> 784 Juneda #> 785 l'Albagés #> 786 l'Albi #> 787 l'Espluga Calba #> 788 la Floresta #> 789 la Granadella #> 790 la Pobla de Cérvoles #> 791 les Borges Blanques #> 792 Puiggròs #> 793 Tarrés #> 794 Vinaixa #> 795 Argelaguer #> 796 Besalú #> 797 Beuda #> 798 Castellfollit de la Roca #> 799 la Vall d'en Bas #> 800 la Vall de Bianya #> 801 les Planes d'Hostoles #> 802 les Preses #> 803 Maià de Montcal #> 804 Mieres #> 805 Montagut i Oix #> 806 Olot #> 807 Riudaura #> 808 Sales de Llierca #> 809 Sant Aniol de Finestres #> 810 Sant Feliu de Pallerols #> 811 Sant Ferriol #> 812 Sant Jaume de Llierca #> 813 Sant Joan les Fonts #> 814 Santa Pau #> 815 Tortellà #> 816 Aiguaviva #> 817 Bescanó #> 818 Bordils #> 819 Campllong #> 820 Canet d'Adri #> 821 Cassà de la Selva #> 822 Celrà #> 823 Cervià de Ter #> 824 Flaçà #> 825 Fornells de la Selva #> 826 Girona #> 827 Juià #> 828 Llagostera #> 829 Llambilles #> 830 Madremanya #> 831 Quart #> 832 Salt #> 833 Sant Andreu Salou #> 834 Sant Gregori #> 835 Sant Joan de Mollet #> 836 Sant Jordi Desvalls #> 837 Sant Julià de Ramis #> 838 Sant Martí de Llémena #> 839 Sant Martí Vell #> 840 Sarrià de Ter #> 841 Vilablareix #> 842 Viladasens #> 843 Alpens #> 844 Lluçà #> 845 Olost #> 846 Oristà #> 847 Perafita #> 848 Prats de Lluçanès #> 849 Sant Martí d'Albars #> 850 Sobremunt #> 851 Alella #> 852 Arenys de Mar #> 853 Arenys de Munt #> 854 Argentona #> 855 Cabrera de Mar #> 856 Cabrils #> 857 Caldes d'Estrac #> 858 Calella #> 859 Canet de Mar #> 860 Dosrius #> 861 el Masnou #> 862 Malgrat de Mar #> 863 Mataró #> 864 Montgat #> 865 Òrrius #> 866 Palafolls #> 867 Pineda de Mar #> 868 Premià de Dalt #> 869 Premià de Mar #> 870 Sant Andreu de Llavaneres #> 871 Sant Cebrià de Vallalta #> 872 Sant Iscle de Vallalta #> 873 Sant Pol de Mar #> 874 Sant Vicenç de Montalt #> 875 Santa Susanna #> 876 Teià #> 877 Tiana #> 878 Tordera #> 879 Vilassar de Dalt #> 880 Vilassar de Mar #> 881 Calders #> 882 Castellcir #> 883 Castellterçol #> 884 Collsuspina #> 885 Granera #> 886 l'Estany #> 887 Moià #> 888 Monistrol de Calders #> 889 Sant Quirze Safaja #> 890 Santa Maria d'Oló #> 891 Alcanar #> 892 Amposta #> 893 Freginals #> 894 Godall #> 895 la Galera #> 896 la Ràpita #> 897 la Sénia #> 898 Mas de Barberans #> 899 Masdenverge #> 900 Sant Jaume d'Enveja #> 901 Santa Bàrbara #> 902 Ulldecona #> 903 Àger #> 904 Albesa #> 905 Algerri #> 906 Alòs de Balaguer #> 907 Artesa de Segre #> 908 Balaguer #> 909 Bellcaire d'Urgell #> 910 Bellmunt d'Urgell #> 911 Cabanabona #> 912 Camarasa #> 913 Castelló de Farfanya #> 914 Cubells #> 915 Foradada #> 916 Ivars de Noguera #> 917 la Baronia de Rialb #> 918 la Sentiu de Sió #> 919 les Avellanes i Santa Linya #> 920 Menàrguens #> 921 Montgai #> 922 Oliola #> 923 Os de Balaguer #> 924 Penelles #> 925 Ponts #> 926 Preixens #> 927 Térmens #> 928 Tiurana #> 929 Torrelameu #> 930 Vallfogona de Balaguer #> 931 Vilanova de l'Aguda #> 932 Vilanova de Meià #> 933 Balenyà #> 934 Calldetenes #> 935 Centelles #> 936 el Brull #> 937 Espinelves #> 938 Folgueroles #> 939 Gurb #> 940 l'Esquirol #> 941 les Masies de Roda #> 942 les Masies de Voltregà #> 943 Malla #> 944 Manlleu #> 945 Montesquiu #> 946 Muntanyola #> 947 Orís #> 948 Roda de Ter #> 949 Rupit i Pruit #> 950 Sant Agustí de Lluçanès #> 951 Sant Bartomeu del Grau #> 952 Sant Boi de Lluçanès #> 953 Sant Hipòlit de Voltregà #> 954 Sant Julià de Vilatorta #> 955 Sant Martí de Centelles #> 956 Sant Pere de Torelló #> 957 Sant Quirze de Besora #> 958 Sant Sadurní d'Osormort #> 959 Sant Vicenç de Torelló #> 960 Santa Cecília de Voltregà #> 961 Santa Eugènia de Berga #> 962 Santa Eulàlia de Riuprimer #> 963 Santa Maria de Besora #> 964 Seva #> 965 Sora #> 966 Taradell #> 967 Tavèrnoles #> 968 Tavertet #> 969 Tona #> 970 Torelló #> 971 Vic #> 972 Vidrà #> 973 Viladrau #> 974 Vilanova de Sau #> 975 Abella de la Conca #> 976 Castell de Mur #> 977 Conca de Dalt #> 978 Gavet de la Conca #> 979 Isona i Conca Dellà #> 980 la Pobla de Segur #> 981 la Torre de Cabdella #> 982 Llimiana #> 983 Salàs de Pallars #> 984 Sant Esteve de la Sarga #> 985 Sarroca de Bellera #> 986 Senterada #> 987 Talarn #> 988 Tremp #> 989 Alins #> 990 Alt Àneu #> 991 Baix Pallars #> 992 Espot #> 993 Esterri d'Àneu #> 994 Esterri de Cardós #> 995 Farrera #> 996 la Guingueta d'Àneu #> 997 Lladorre #> 998 Llavorsí #> 999 Rialp #> 1000 Soriguera #> 1001 Sort #> 1002 Tírvia #> 1003 Vall de Cardós #> 1004 Barbens #> 1005 Bell-lloc d'Urgell #> 1006 Bellvís #> 1007 Castellnou de Seana #> 1008 el Palau d'Anglesola #> 1009 el Poal #> 1010 Fondarella #> 1011 Golmés #> 1012 Ivars d'Urgell #> 1013 Linyola #> 1014 Miralcamp #> 1015 Mollerussa #> 1016 Sidamon #> 1017 Torregrossa #> 1018 Vila-sana #> 1019 Vilanova de Bellpuig #> 1020 Banyoles #> 1021 Camós #> 1022 Cornellà del Terri #> 1023 Crespià #> 1024 Esponellà #> 1025 Fontcoberta #> 1026 Palol de Revardit #> 1027 Porqueres #> 1028 Sant Miquel de Campmajor #> 1029 Serinyà #> 1030 Vilademuls #> 1031 Bellmunt del Priorat #> 1032 Cabacés #> 1033 Capçanes #> 1034 Cornudella de Montsant #> 1035 el Lloar #> 1036 el Masroig #> 1037 el Molar #> 1038 els Guiamets #> 1039 Falset #> 1040 Gratallops #> 1041 la Bisbal de Montsant #> 1042 la Figuera #> 1043 la Morera de Montsant #> 1044 la Torre de Fontaubella #> 1045 la Vilella Alta #> 1046 la Vilella Baixa #> 1047 Marçà #> 1048 Margalef #> 1049 Poboleda #> 1050 Porrera #> 1051 Pradell de la Teixeta #> 1052 Torroja del Priorat #> 1053 Ulldemolins #> 1054 Ascó #> 1055 Benissanet #> 1056 Flix #> 1057 Garcia #> 1058 Ginestar #> 1059 la Palma d'Ebre #> 1060 la Torre de l'Espanyol #> 1061 Miravet #> 1062 Móra d'Ebre #> 1063 Móra la Nova #> 1064 Rasquera #> 1065 Riba-roja d'Ebre #> 1066 Tivissa #> 1067 Vinebre #> 1068 Campdevànol #> 1069 Campelles #> 1070 Camprodon #> 1071 Gombrèn #> 1072 les Llosses #> 1073 Llanars #> 1074 Molló #> 1075 Ogassa #> 1076 Pardines #> 1077 Planoles #> 1078 Queralbs #> 1079 Ribes de Freser #> 1080 Ripoll #> 1081 Sant Joan de les Abadesses #> 1082 Sant Pau de Segúries #> 1083 Setcases #> 1084 Toses #> 1085 Vallfogona de Ripollès #> 1086 Vilallonga de Ter #> 1087 Biosca #> 1088 Cervera #> 1089 els Plans de Sió #> 1090 Estaràs #> 1091 Granyanella #> 1092 Granyena de Segarra #> 1093 Guissona #> 1094 Ivorra #> 1095 les Oluges #> 1096 Massoteres #> 1097 Montoliu de Segarra #> 1098 Montornès de Segarra #> 1099 Ribera d'Ondara #> 1100 Sanaüja #> 1101 Sant Guim de Freixenet #> 1102 Sant Guim de la Plana #> 1103 Sant Ramon #> 1104 Talavera #> 1105 Tarroja de Segarra #> 1106 Torà #> 1107 Torrefeta i Florejacs #> 1108 Aitona #> 1109 Albatàrrec #> 1110 Alcanó #> 1111 Alcarràs #> 1112 Alcoletge #> 1113 Alfarràs #> 1114 Alfés #> 1115 Alguaire #> 1116 Almacelles #> 1117 Almatret #> 1118 Almenar #> 1119 Alpicat #> 1120 Artesa de Lleida #> 1121 Aspa #> 1122 Benavent de Segrià #> 1123 Corbins #> 1124 els Alamús #> 1125 Gimenells i el Pla de la Font #> 1126 la Granja d'Escarp #> 1127 la Portella #> 1128 Llardecans #> 1129 Lleida #> 1130 Maials #> 1131 Massalcoreig #> 1132 Montoliu de Lleida #> 1133 Puigverd de Lleida #> 1134 Rosselló #> 1135 Sarroca de Lleida #> 1136 Seròs #> 1137 Soses #> 1138 Sudanell #> 1139 Sunyer #> 1140 Torre-serona #> 1141 Torrebesses #> 1142 Torrefarrera #> 1143 Torres de Segre #> 1144 Vilanova de la Barca #> 1145 Vilanova de Segrià #> 1146 Amer #> 1147 Anglès #> 1148 Arbúcies #> 1149 Blanes #> 1150 Breda #> 1151 Brunyola i Sant Martí Sapresa #> 1152 Caldes de Malavella #> 1153 Fogars de la Selva #> 1154 Hostalric #> 1155 la Cellera de Ter #> 1156 Lloret de Mar #> 1157 Massanes #> 1158 Maçanet de la Selva #> 1159 Osor #> 1160 Riells i Viabrea #> 1161 Riudarenes #> 1162 Riudellots de la Selva #> 1163 Sant Feliu de Buixalleu #> 1164 Sant Hilari Sacalm #> 1165 Sant Julià del Llor i Bonmatí #> 1166 Santa Coloma de Farners #> 1167 Sils #> 1168 Susqueda #> 1169 Tossa de Mar #> 1170 Vidreres #> 1171 Vilobí d'Onyar #> 1172 Castellar de la Ribera #> 1173 Clariana de Cardener #> 1174 Guixers #> 1175 la Coma i la Pedra #> 1176 la Molsosa #> 1177 Lladurs #> 1178 Llobera #> 1179 Navès #> 1180 Odèn #> 1181 Olius #> 1182 Pinell de Solsonès #> 1183 Pinós #> 1184 Riner #> 1185 Sant Llorenç de Morunys #> 1186 Solsona #> 1187 Altafulla #> 1188 Constantí #> 1189 Creixell #> 1190 el Catllar #> 1191 el Morell #> 1192 els Pallaresos #> 1193 la Canonja #> 1194 la Nou de Gaià #> 1195 la Pobla de Mafumet #> 1196 la Pobla de Montornès #> 1197 la Riera de Gaià #> 1198 la Secuita #> 1199 Perafort #> 1200 Renau #> 1201 Roda de Berà #> 1202 Salomó #> 1203 Salou #> 1204 Tarragona #> 1205 Torredembarra #> 1206 Vespella de Gaià #> 1207 Vila-seca #> 1208 Vilallonga del Camp #> 1209 Arnes #> 1210 Batea #> 1211 Bot #> 1212 Caseres #> 1213 Corbera d'Ebre #> 1214 el Pinell de Brai #> 1215 Gandesa #> 1216 Horta de Sant Joan #> 1217 la Fatarella #> 1218 la Pobla de Massaluca #> 1219 Prat de Comte #> 1220 Vilalba dels Arcs #> 1221 Agramunt #> 1222 Anglesola #> 1223 Belianes #> 1224 Bellpuig #> 1225 Castellserà #> 1226 Ciutadilla #> 1227 els Omells de na Gaia #> 1228 Guimerà #> 1229 la Fuliola #> 1230 Maldà #> 1231 Nalec #> 1232 Ossó de Sió #> 1233 Preixana #> 1234 Puigverd d'Agramunt #> 1235 Sant Martí de Riucorb #> 1236 Tàrrega #> 1237 Tornabous #> 1238 Vallbona de les Monges #> 1239 Verdú #> 1240 Vilagrassa #> 1241 Badia del Vallès #> 1242 Barberà del Vallès #> 1243 Castellar del Vallès #> 1244 Castellbisbal #> 1245 Cerdanyola del Vallès #> 1246 Gallifa #> 1247 Matadepera #> 1248 Montcada i Reixac #> 1249 Palau-solità i Plegamans #> 1250 Polinyà #> 1251 Rellinars #> 1252 Ripollet #> 1253 Rubí #> 1254 Sabadell #> 1255 Sant Cugat del Vallès #> 1256 Sant Llorenç Savall #> 1257 Sant Quirze del Vallès #> 1258 Santa Perpètua de Mogoda #> 1259 Sentmenat #> 1260 Terrassa #> 1261 Ullastrell #> 1262 Vacarisses #> 1263 Viladecavalls #> 1264 Aiguafreda #> 1265 Bigues i Riells del Fai #> 1266 Caldes de Montbui #> 1267 Campins #> 1268 Canovelles #> 1269 Cànoves i Samalús #> 1270 Cardedeu #> 1271 Figaró-Montmany #> 1272 Fogars de Montclús #> 1273 Granollers #> 1274 Gualba #> 1275 l'Ametlla del Vallès #> 1276 la Garriga #> 1277 la Llagosta #> 1278 la Roca del Vallès #> 1279 les Franqueses del Vallès #> 1280 Lliçà d'Amunt #> 1281 Lliçà de Vall #> 1282 Llinars del Vallès #> 1283 Martorelles #> 1284 Mollet del Vallès #> 1285 Montmeló #> 1286 Montornès del Vallès #> 1287 Montseny #> 1288 Parets del Vallès #> 1289 Sant Antoni de Vilamajor #> 1290 Sant Celoni #> 1291 Sant Esteve de Palautordera #> 1292 Sant Feliu de Codines #> 1293 Sant Fost de Campsentelles #> 1294 Sant Pere de Vilamajor #> 1295 Santa Eulàlia de Ronçana #> 1296 Santa Maria de Martorelles #> 1297 Santa Maria de Palautordera #> 1298 Tagamanent #> 1299 Vallgorguina #> 1300 Vallromanes #> 1301 Vilalba Sasserra #> 1302 Vilanova del Vallès #> 1303 València #> 1304 Alcalà de Xivert #> 1305 Benicarló #> 1306 Càlig #> 1307 Canet lo Roig #> 1308 Castell de Cabres #> 1309 Cervera del Maestre #> 1310 la Jana #> 1311 la Pobla de Benifassà #> 1312 la Salzadella #> 1313 Peníscola / Peñíscola #> 1314 Rossell #> 1315 Sant Jordi / San Jorge #> 1316 Sant Mateu #> 1317 Sant Rafel del Riu #> 1318 Santa Magdalena de Pulpis #> 1319 Traiguera #> 1320 Vinaròs #> 1321 Xert #> 1322 Guardamar del Segura #> 1323 Crevillent #> 1324 Elx / Elche #> 1325 Santa Pola #> 1326 Albalat dels Tarongers #> 1327 Alfara de la Baronia #> 1328 Algar de Palància #> 1329 Algímia d'Alfara #> 1330 Benavites #> 1331 Benifairó de les Valls #> 1332 Canet d'en Berenguer #> 1333 Estivella #> 1334 Faura #> 1335 Gilet #> 1336 Petrés #> 1337 Quart de les Valls #> 1338 Quartell #> 1339 Sagunt / Sagunto #> 1340 Segart #> 1341 Torres Torres #> 1342 Benaguasil #> 1343 Benissanó #> 1344 Bétera #> 1345 Casinos #> 1346 l'Eliana #> 1347 la Pobla de Vallbona #> 1348 Llíria #> 1349 Nàquera / Náquera #> 1350 Olocau #> 1351 Riba-roja de Túria #> 1352 Serra #> 1353 Vilamarxant #> 1354 Agres #> 1355 Alcoleja #> 1356 Alcosser #> 1357 Alfafara #> 1358 Almudaina #> 1359 Balones #> 1360 Benasau #> 1361 Beniarrés #> 1362 Benilloba #> 1363 Benillup #> 1364 Benimarfull #> 1365 Benimassot #> 1366 Cocentaina #> 1367 Fageca #> 1368 Famorca #> 1369 Gaianes #> 1370 Gorga #> 1371 l'Alqueria d'Asnar #> 1372 l'Orxa / Lorcha #> 1373 Millena #> 1374 Muro de Alcoy #> 1375 Planes #> 1376 Quatretondeta #> 1377 Tollos #> 1378 el Fondó de les Neus / Hondón de las Nieves #> 1379 Hondón de los Frailes #> 1380 el Pinós / Pinoso #> 1381 Algueña #> 1382 la Romana #> 1383 Monòver / Monóvar #> 1384 Novelda #> 1385 Petrer #> 1386 Castellfort #> 1387 Cinctorres #> 1388 Forcall #> 1389 Herbers #> 1390 la Mata de Morella #> 1391 Todolella #> 1392 Morella #> 1393 Palanques #> 1394 Portell de Morella #> 1395 Zorita del Maestrazgo #> 1396 Vallibona #> 1397 Vilafranca / Villafranca del Cid #> 1398 Villores #> 1399 Agost #> 1400 Aigües #> 1401 Alacant / Alicante #> 1402 Busot #> 1403 el Campello #> 1404 la Torre de les Maçanes / Torremanzanas #> 1405 Mutxamel #> 1406 Sant Joan d'Alacant #> 1407 Sant Vicent del Raspeig / San Vicente del Raspeig #> 1408 Xixona / Jijona #> 1409 Costur #> 1410 Figueroles #> 1411 l'Alcora #> 1412 les Useres / Useras #> 1413 Llucena / Lucena del Cid #> 1414 Vistabella del Maestrat #> 1415 Xodos / Chodos #> 1416 Alcoi / Alcoy #> 1417 Banyeres de Mariola #> 1418 Benifallim #> 1419 Castalla #> 1420 Ibi #> 1421 Onil #> 1422 Penàguila #> 1423 Tibi #> 1424 Albocàsser #> 1425 Ares del Maestrat #> 1426 Atzeneta del Maestrat #> 1427 Benafigos #> 1428 Benassal #> 1429 Catí #> 1430 Culla #> 1431 la Serratella #> 1432 la Torre d'en Besora #> 1433 Tírig #> 1434 Vilar de Canes #> 1435 Beneixama #> 1436 Biar #> 1437 el Camp de Mirra / Campo de Mirra #> 1438 Cañada #> 1439 Albalat dels Sorells #> 1440 Alboraia / Alboraya #> 1441 Albuixech #> 1442 Alfara del Patriarca #> 1443 Almàssera #> 1444 Bonrepòs i Mirambell #> 1445 Burjassot #> 1446 el Puig de Santa Maria #> 1447 Emperador #> 1448 Foios #> 1449 Godella #> 1450 la Pobla de Farnals #> 1451 Massalfassar #> 1452 Massamagrell #> 1453 Meliana #> 1454 Montcada / Moncada #> 1455 Museros #> 1456 Paterna #> 1457 Puçol #> 1458 Rafelbunyol #> 1459 Rocafort #> 1460 Tavernes Blanques #> 1461 Vinalesa #> 1462 Alaquàs #> 1463 Albal #> 1464 Alcàsser #> 1465 Aldaia #> 1466 Alfafar #> 1467 Benetússer #> 1468 Beniparrell #> 1469 Catarroja #> 1470 Llocnou de la Corona #> 1471 Manises #> 1472 Massanassa #> 1473 Mislata #> 1474 Paiporta #> 1475 Picanya #> 1476 Picassent #> 1477 Quart de Poblet #> 1478 Sedaví #> 1479 Silla #> 1480 Torrent #> 1481 Xirivella #> 1482 Barxeta #> 1483 Canals #> 1484 Cerdà #> 1485 el Genovés #> 1486 Estubeny #> 1487 l'Alcúdia de Crespins #> 1488 la Font de la Figuera #> 1489 la Granja de la Costera #> 1490 la Llosa de Ranes #> 1491 Llanera de Ranes #> 1492 Llocnou d'en Fenollet #> 1493 Moixent / Mogente #> 1494 Montesa #> 1495 Novetlè #> 1496 Rotglà i Corberà #> 1497 Torrella #> 1498 Vallada #> 1499 Vallés #> 1500 Xàtiva #> 1501 Alcalalí #> 1502 Beniarbeig #> 1503 Benidoleig #> 1504 Benigembla #> 1505 Benimeli #> 1506 Benissa #> 1507 Calp #> 1508 Castell de Castells #> 1509 Dénia #> 1510 el Poble Nou de Benitatxell / Benitachell #> 1511 el Ràfol d'Almúnia #> 1512 el Verger #> 1513 els Poblets #> 1514 Gata de Gorgos #> 1515 l'Atzúbia #> 1516 la Vall d'Alcalà #> 1517 la Vall d'Ebo #> 1518 la Vall de Gallinera #> 1519 la Vall de Laguar #> 1520 Llíber #> 1521 Murla #> 1522 Ondara #> 1523 Orba #> 1524 Parcent #> 1525 Pedreguer #> 1526 Pego #> 1527 Sagra #> 1528 Sanet y Negrals #> 1529 Senija #> 1530 Teulada #> 1531 Tormos #> 1532 Xàbia / Jávea #> 1533 Xaló #> 1534 Altea #> 1535 Beniardà #> 1536 Benidorm #> 1537 Benifato #> 1538 Benimantell #> 1539 Bolulla #> 1540 Callosa d'en Sarrià #> 1541 Confrides #> 1542 el Castell de Guadalest #> 1543 Finestrat #> 1544 l'Alfàs del Pi #> 1545 la Nucia #> 1546 la Vila Joiosa / Villajoyosa #> 1547 Orxeta #> 1548 Polop #> 1549 Relleu #> 1550 Sella #> 1551 Tàrbena #> 1552 Almassora #> 1553 Benicàssim / Benicasim #> 1554 Benlloc #> 1555 Borriol #> 1556 Cabanes #> 1557 Castelló de la Plana #> 1558 la Pobla Tornesa #> 1559 Sierra Engarcerán #> 1560 la Torre d'en Doménec #> 1561 Vall d'Alba #> 1562 les Coves de Vinromà #> 1563 Orpesa / Oropesa del Mar #> 1564 Sant Joan de Moró #> 1565 Torreblanca #> 1566 Vilafamés #> 1567 Vilanova d'Alcolea #> 1568 Aín #> 1569 Alfondeguilla #> 1570 Almenara #> 1571 Artana #> 1572 Betxí #> 1573 Borriana / Burriana #> 1574 Eslida #> 1575 Alcudia de Veo #> 1576 la Llosa #> 1577 la Vall d'Uixó #> 1578 la Vilavella #> 1579 les Alqueries / Alquerías del Niño Perdido #> 1580 Moncofa #> 1581 Nules #> 1582 Onda #> 1583 Ribesalbes #> 1584 Suera / Sueras #> 1585 Tales #> 1586 Vila-real #> 1587 Xilxes / Chilches #> 1588 Alberic #> 1589 Alcàntera de Xúquer #> 1590 Alfarb #> 1591 Algemesí #> 1592 Alginet #> 1593 Alzira #> 1594 Antella #> 1595 Beneixida #> 1596 Benifaió #> 1597 Benimodo #> 1598 Benimuslem #> 1599 Carcaixent #> 1600 Càrcer #> 1601 Carlet #> 1602 Castelló #> 1603 Catadau #> 1604 Cotes #> 1605 Gavarda #> 1606 Guadassuar #> 1607 l'Alcúdia #> 1608 l'Énova #> 1609 la Pobla Llarga #> 1610 Llombai #> 1611 Manuel #> 1612 Massalavés #> 1613 Montroi / Montroy #> 1614 Montserrat #> 1615 Rafelguaraf #> 1616 Real #> 1617 Sant Joanet #> 1618 Sellent #> 1619 Senyera #> 1620 Sumacàrcer #> 1621 Turís #> 1622 Albalat de la Ribera #> 1623 Almussafes #> 1624 Benicull de Xúquer #> 1625 Corbera #> 1626 Cullera #> 1627 Favara #> 1628 Fortaleny #> 1629 Llaurí #> 1630 Polinyà de Xúquer #> 1631 Riola #> 1632 Sollana #> 1633 Sueca #> 1634 Ador #> 1635 Alfauir #> 1636 Almiserà #> 1637 Almoines #> 1638 Barx #> 1639 Bellreguard #> 1640 Beniarjó #> 1641 Benifairó de la Valldigna #> 1642 Beniflà #> 1643 Benirredrà #> 1644 Castellonet de la Conquesta #> 1645 Daimús #> 1646 el Real de Gandia #> 1647 Gandia #> 1648 Guardamar de la Safor #> 1649 l'Alqueria de la Comtessa #> 1650 la Font d'en Carròs #> 1651 Llocnou de Sant Jeroni #> 1652 Miramar #> 1653 Oliva #> 1654 Palma de Gandía #> 1655 Palmera #> 1656 Piles #> 1657 Potries #> 1658 Rafelcofer #> 1659 Ròtova #> 1660 Simat de la Valldigna #> 1661 Tavernes de la Valldigna #> 1662 Vilallonga / Villalonga #> 1663 Xeraco #> 1664 Xeresa #> 1665 Agullent #> 1666 Aielo de Malferit #> 1667 Aielo de Rugat #> 1668 Albaida #> 1669 Alfarrasí #> 1670 Atzeneta d'Albaida #> 1671 Bèlgida #> 1672 Bellús #> 1673 Beniatjar #> 1674 Benicolet #> 1675 Benigànim #> 1676 Benissoda #> 1677 Benissuera #> 1678 Bocairent #> 1679 Bufali #> 1680 Carrícola #> 1681 Castelló de Rugat #> 1682 el Palomar #> 1683 Ráfol de Salem #> 1684 Fontanars dels Alforins #> 1685 Guadasséquies #> 1686 l'Olleria #> 1687 la Pobla del Duc #> 1688 Llutxent #> 1689 Montaverner #> 1690 Montitxelvo / Montichelvo #> 1691 Ontinyent #> 1692 Otos #> 1693 Pinet #> 1694 Quatretonda #> 1695 Rugat #> 1696 Salem #> 1697 Sempere #> 1698 Terrateig #> 1699 l'Alguer/Alghero"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/territoris.html","id":null,"dir":"Reference","previous_headings":"","what":"Territoris dels Països Catalans — territoris","title":"Territoris dels Països Catalans — territoris","text":"Dades dels territoris dels Països Catalans.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/territoris.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Territoris dels Països Catalans — territoris","text":"","code":"territoris"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/territoris.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Territoris dels Països Catalans — territoris","text":"Un data.frame amb dades dels 10 territoris per les següents 7 variables. name:ca Etiqueta name:ca. regio Nom de la regió [\"Andorra\", \"Aran\", \"CatNord\", \"Franja\", \"Illes\", \"Múrcia\", \"Principat\", \"PV\"]. osm_id Número identificador OSM. osm_type Tipus d'objecte d'OSM. name Etiqueta name. wikipedia Etiqueta wikipedia. wikidata Etiqueta wikidata.","code":""},{"path":[]},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/territoris.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Territoris dels Països Catalans — territoris","text":"","code":"territoris[, c(\"regio\", \"name\")] #> regio name #> 1 Andorra Andorra #> 2 Aran Val d'Aran #> 3 CatNord Catalunya del Nord #> 4 Franja Franja de Ponent #> 5 Illes Illes Balears #> 6 Illes Pitiüses #> 7 Illes Mallorca #> 8 Illes Menorca #> 9 Múrcia El Carche #> 10 Principat Català com a llengua pròpia a Catalunya #> 11 Principat Catalunya #> 12 PV Comunitat Valenciana #> 13 PV Municipis de Predomini Lingüístic Valencià"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/versio_canvis_html.html","id":null,"dir":"Reference","previous_headings":"","what":"Mostra les versions que introdueixen canvis en html — versio_canvis_html","title":"Mostra les versions que introdueixen canvis en html — versio_canvis_html","text":"Funció pensada per usar en fitxers .qmd o .Rmd.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/versio_canvis_html.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Mostra les versions que introdueixen canvis en html — versio_canvis_html","text":"","code":"versio_canvis_html(x)"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/versio_canvis_html.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Mostra les versions que introdueixen canvis en html — versio_canvis_html","text":"x Una llista de canvis retornada per cerca_versio_canvis().","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/versio_canvis_html.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Mostra les versions que introdueixen canvis en html — versio_canvis_html","text":"Mostra les taules html amb informació del conjunt de canvis que ha modificat etiquetes.","code":""}] diff --git a/docs/site.webmanifest b/docs/site.webmanifest new file mode 100644 index 0000000..4ebda26 --- /dev/null +++ b/docs/site.webmanifest @@ -0,0 +1,21 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/web-app-manifest-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "/web-app-manifest-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} \ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml new file mode 100644 index 0000000..c1ffc8b --- /dev/null +++ b/docs/sitemap.xml @@ -0,0 +1,23 @@ + +https://osm-catalan.github.io/monitorOSM/docs/404.html +https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html +https://osm-catalan.github.io/monitorOSM/docs/authors.html +https://osm-catalan.github.io/monitorOSM/docs/index.html +https://osm-catalan.github.io/monitorOSM/docs/reference/PPCC.html +https://osm-catalan.github.io/monitorOSM/docs/reference/canvis_html.html +https://osm-catalan.github.io/monitorOSM/docs/reference/capitals.html +https://osm-catalan.github.io/monitorOSM/docs/reference/cerca_versio_canvis.html +https://osm-catalan.github.io/monitorOSM/docs/reference/comarques.html +https://osm-catalan.github.io/monitorOSM/docs/reference/comprova_canvis_osm.html +https://osm-catalan.github.io/monitorOSM/docs/reference/consulta_etiquetes_osm.html +https://osm-catalan.github.io/monitorOSM/docs/reference/estats.html +https://osm-catalan.github.io/monitorOSM/docs/reference/index.html +https://osm-catalan.github.io/monitorOSM/docs/reference/loc_admin_centre_municipis.html +https://osm-catalan.github.io/monitorOSM/docs/reference/mars.html +https://osm-catalan.github.io/monitorOSM/docs/reference/missatge_telegram.html +https://osm-catalan.github.io/monitorOSM/docs/reference/modifica_etiquetes_osm.html +https://osm-catalan.github.io/monitorOSM/docs/reference/municipis.html +https://osm-catalan.github.io/monitorOSM/docs/reference/territoris.html +https://osm-catalan.github.io/monitorOSM/docs/reference/versio_canvis_html.html + + diff --git a/docs/web-app-manifest-192x192.png b/docs/web-app-manifest-192x192.png new file mode 100644 index 0000000..7e7be8f Binary files /dev/null and b/docs/web-app-manifest-192x192.png differ diff --git a/docs/web-app-manifest-512x512.png b/docs/web-app-manifest-512x512.png new file mode 100644 index 0000000..7fa3577 Binary files /dev/null and b/docs/web-app-manifest-512x512.png differ