diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile deleted file mode 100644 index be84a64..0000000 --- a/.devcontainer/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ -FROM node:18 - -# Install basic development tools -RUN apt update && apt install -y less man-db sudo - -# Ensure default `node` user has access to `sudo` -ARG USERNAME=node -RUN echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \ - && chmod 0440 /etc/sudoers.d/$USERNAME - -# Set `DEVCONTAINER` environment variable to help with orientation -ENV DEVCONTAINER=true diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json deleted file mode 100644 index 76679a7..0000000 --- a/.devcontainer/devcontainer.json +++ /dev/null @@ -1,9 +0,0 @@ -// See https://containers.dev/implementors/json_reference/ for configuration reference -{ - "name": "Nebula", - "build": { - "dockerfile": "Dockerfile" - }, - "remoteUser": "node", - "postCreateCommand": "npm install" -} diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index bdc5bed..0000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,4 +0,0 @@ -# These are supported funding model platforms - -patreon: nebuladevs -ko_fi: nebulaa diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml deleted file mode 100644 index ac6621f..0000000 --- a/.github/dependabot.yaml +++ /dev/null @@ -1,11 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates - -version: 2 -updates: - - package-ecosystem: "" # See documentation for possible values - directory: "/" # Location of package manifests - schedule: - interval: "weekly" diff --git a/.gitignore b/.gitignore index 5dceb9d..a547bf3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,24 @@ -# dependencies -/node_modules +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* -# System Files +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea .DS_Store -Thumbs.db -.breakpoints - -memory.txt -old.app.js +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 3c3629e..0000000 --- a/.prettierignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index d449a4b..0000000 --- a/.prettierrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "tabWidth": 2, - "useTabs": false, - "singleQuote": false, - "trailingComma": "none" -} diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 33b707b..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "editor.tabSize": 2, - "editor.insertSpaces": true, - "editor.formatOnSave": true, - "editor.formatOnPaste": true, - "editor.defaultFormatter": "esbenp.prettier-vscode", - "[javascript]": { - "editor.defaultFormatter": "vscode.typescript-language-features" - } -} diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 8bab312..0000000 --- a/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM node:20.4-bookworm-slim -WORKDIR /usr/src/app -COPY . . -RUN npm install -RUN npm ci -EXPOSE 3000 -CMD ["npm", "start"] diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 0a05cf8..0000000 --- a/LICENSE +++ /dev/null @@ -1,661 +0,0 @@ - GNU AFFERO GENERAL PUBLIC LICENSE - Version 3, 19 November 2007 - - Copyright (C) 2022 Nebula Services - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU Affero General Public License is a free, copyleft license for -software and other kinds of works, specifically designed to ensure -cooperation with the community in the case of network server software. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -our General Public Licenses are 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. - - 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. - - Developers that use our General Public Licenses protect your rights -with two steps: (1) assert copyright on the software, and (2) offer -you this License which gives you legal permission to copy, distribute -and/or modify the software. - - A secondary benefit of defending all users' freedom is that -improvements made in alternate versions of the program, if they -receive widespread use, become available for other developers to -incorporate. Many developers of free software are heartened and -encouraged by the resulting cooperation. However, in the case of -software used on network servers, this result may fail to come about. -The GNU General Public License permits making a modified version and -letting the public access it on a server without ever releasing its -source code to the public. - - The GNU Affero General Public License is designed specifically to -ensure that, in such cases, the modified source code becomes available -to the community. It requires the operator of a network server to -provide the source code of the modified version running there to the -users of that server. Therefore, public use of a modified version, on -a publicly accessible server, gives the public access to the source -code of the modified version. - - An older license, called the Affero General Public License and -published by Affero, was designed to accomplish similar goals. This is -a different license, not a version of the Affero GPL, but Affero has -released a new version of the Affero GPL which permits relicensing under -this license. - - 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 Affero 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. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - 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. Remote Network Interaction; Use with the GNU General Public License. - - Notwithstanding any other provision of this License, if you modify the -Program, your modified version must prominently offer all users -interacting with it remotely through a computer network (if your version -supports such interaction) an opportunity to receive the Corresponding -Source of your version by providing access to the Corresponding Source -from a network server at no charge, through some standard or customary -means of facilitating copying of software. This Corresponding Source -shall include the Corresponding Source for any work covered by version 3 -of the GNU General Public License that is incorporated pursuant to the -following paragraph. - - 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 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 work with which it is combined will remain governed by version -3 of the GNU General Public License. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU Affero 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 Affero 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 Affero 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 Affero 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. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero 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 Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If your software can interact with users remotely through a computer -network, you should also make sure that it provides a way for users to -get its source. For example, if your program is a web application, its -interface could display a "Source" link that leads users to an archive -of the code. There are many ways you could offer source, and different -solutions will be better for different programs; see section 13 for the -specific requirements. - - 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 AGPL, see -. \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 51f4585..0000000 --- a/README.md +++ /dev/null @@ -1,214 +0,0 @@ -# Nebula - -NebulaWeb is an official flagship of Nebula Services and Nebula Developer Labs. NebulaWeb is a stunning, sleek, and functional web-proxy with support for thousands of popular sites. With NebulaWeb, the sky is the limit. - -Quick note: If you are a system administrator, and have questions, our email is always open `chloe@nebulaproxy.io` - - - -![license](https://img.shields.io/badge/License-GNU%20AGPL%20v3-blue) - -![chat](https://img.shields.io/badge/chat-1139%20online-brightgreen) - -## Features - -- Stunning and highly functional UI with multiple themes -- XOR/b64 encoding all traffic -- Hides your IP from sites -- [List of officially supported sites](https://github.com/NebulaServices/Nebula/blob/dev/docs/officially-supported-sites.md) -- _limited_ mobile support -- Stealth Mode (buffed `about:blank` cloaking) -- **NEW** Clickoff cloaking -- **NEW** Email OTP verification - -# Deployment - -Table of contents - -- Quick & easy deployment -- Deployment configuration explaination -- how to use email OTP Verification mode -- Advanced Deployment -- Filesystem - -## Quick & Easy Deployment Options - -## PLEASE READ THIS NOTICE: IF YOU ARE USING NODE VERSION 20 (HEROKU, RAILWAY), YOU WILL NEED TO TEMPORARILY DOWNGRADE TO 19 OR EARLIER. - - -[![Deploy to IBM Cloud](https://raw.githubusercontent.com/BinBashBanana/deploy-buttons/master/buttons/remade/ibmcloud.svg)](https://cloud.ibm.com/devops/setup/deploy?repository=https://github.com/NebulaServices/Nebula) -
-[![Deploy to Amplify Console](https://raw.githubusercontent.com/BinBashBanana/deploy-buttons/master/buttons/remade/amplifyconsole.svg)](https://console.aws.amazon.com/amplify/home#/deploy?repo=https://github.com/NebulaServices/Nebula) -
-[![Run on Google Cloud](https://raw.githubusercontent.com/BinBashBanana/deploy-buttons/master/buttons/remade/googlecloud.svg)](https://deploy.cloud.run/?git_repo=https://github.com/NebulaServices/Nebula) -
-[![Deploy on Railway](https://binbashbanana.github.io/deploy-buttons/buttons/remade/railway.svg)](https://railway.app/new/template/pBzeiN) -
-[![Deploy To Koyeb](https://binbashbanana.github.io/deploy-buttons/buttons/remade/koyeb.svg)](https://app.koyeb.com/deploy?type=git&repository=github.com/NebulaServices/Nebula&branch=main&name=NebulaProxy) - ---- - -## Deployment Configuration Guide - -(Example configuration with none-json notes) - -```json -{ - "sendgrid_verification": false, - "sendgrid_options": { - "api_key": "YOUR_SENDGRID_API_KEY", - "sendFromEmail": "THE EMAIL THE CODES WILL BE SENT FROM (MUST BE VERIFIED IN SENDGRID)", - "to_email": "THE EMAIL YOU WANT THE CODES SENT TO" - }, - - "discord_verification": false, - "webhook_url": "YOUR DISCORD WEBHOOK URL", - - "smtp_verification": false, - "smtp_options": { - "to_email": "THE EMAIL YOU WANT THE CODES SENT TO", - "sendFromEmail": "THE EMAIL THE CODES ARE SENT FROM", - "host": "YOUR SMTP HOST", - "port": 465, - "auth": { - "user": "SMTP USER", - "pass": "YOUR PASSWORD" - } - } -} -``` - -## Email Verification OTP - -### What is this? - -Email verification is a new and unique feature that we've implemented in the event that someone wants to keep their deployment of Nebula private and secure. - -### What does it do - -When a user tries to access the website, before allowed access they will be asked for a One time password sent to an email set in the deployment configuration. Once verified, they will have 15 day access to the site. - -#### SendGrid Setup Instructions - -- Firstly, We need to enable verification within the deployment configuration - - - change `"sendgrid_verification":false,` to `"sendgrid_verification":true,` above the SendGrid Section - - - _Note: You have to reboot the node app for any changes to take place._ - -- Now, we need to use an api to send a message - - Make an account at Sendgrid (https://app.sendgrid.com/) - - _Note: It is likely that other versions of Nebula will use a different package to send emails._ -- Verify the email you want to recieve emails from (Create a sender identity) - - Go to settings -> Sender authentication and click Verify a Single Sender -- Now, We need to get the API key to connect to the API - - Go to settings -> API Keys -> and make an API key. -- Complete the information in the deployment config `deployment.config.json` under the `sendgrid_options` section such as: sendFromEmail, to_email and api_key - -#### Discord Webhook Setup Instructions - -- Set discord_verification to true in the deployment configuration. -- Create a channel in a discord server you have admin in. -- Click the Edit Channel button. -- Click Integrations -- Click create web hook and copy the URL. -- Paste it under the `webhook_url` section in the deployment configuration. - -#### SMTP Setup Instructions - -- Set `smtp_verification` to true. -- Change `to_email` to the email address you want the codes to be sent to. -- Change `sendFromEmail to the email address that is going to send the codes. -- Get the host and port from your email provider's documentation. -- Fill in your username and password under the `user` and `pass` section under auth. - -## Advanced Deployment - -### Initial configuration - -credits to @ProgrammerIn-wonderland for writing this wonderful tutorial (which can also be found in the docs :) - -- Create an account at https://www.cloudflare.com/ -- Create an account at https://www.freenom.com/ (or any registrars) -- Find a free domain name at Freenom -- Click checkout - - Select (12 Months @ FREE) - - Select "Use DNS" - - Select Use your own DNS -- Go to cloudflare, click add new site, and enter the free domain name -- Select "Free Plan" -- Click continue, ignore DNS - - Copy the name servers cloudflare gives you -- Go back to your Freenom tab, enter in the name servers which cloudflare gave you - - You can keep IP blank -- Click continue -- Click complete order -- Go back to cloudflare tab, click "Check Nameservers" -- Select DNS on your right bar -- Enter in the IP of the server which will be hosting Nebula - - Target will be `@` -- Click Enable proxy (little gray cloud icon, if active its orange) -- Select SSL/TLS in your right bar -- Click "Flexible" - ---- - -### Server configuration - -- SSH into the server you'll be using, I'll assume its running Ubuntu 22.04 (though the commands are the same for debian 10+ versions, and Ubuntu versions 20.04+) -- run - -``` -curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - \ && -sudo apt-get install -y nodejs npm -git clone https://github.com/NebulaServices/Nebula.git -cd Nebula -npm i -npm ci -sudo nohup PORT=80 node . & -``` - -**Make sure your firewall is configured to let through port 80 traffic!** \ -_Note: Server will need to run` cd Nebula && sudo nohup PORT=80 node . &` on reboot_ - -## File Structure - -| **File** | Purpose | | -| -------------------------------- | -------------------------------------------------------------------------------------------------------- | --- | -| `src/index.html` | The main frontend visuals for NebulaWEB. | | -| `src/unv.html` | The verification-required frontend/visuals. | | -| `src/options.html` | The frontend for Nebula's options, settings, and preferences. | | -| `public/resources/v.js` | Client verification system for the OTP system. | | -| `public/resources/nebulamain.js` | All of the DOM/client code for NebulaWEB. Includes options, themeSystem, cloak, stealthengine, and more. | | -| `app.js` | The backend server for Nebula. Contains Nodestatic, Bare, HTTP, and more. | | - -## Tech Stack - -- HTML, JS, CSS -- Partical.JS (Specifically v4, 5, 6.1 &< only) -- Ultraviolet (proxy) -- Osana (proxy) -- TompHTTP Bare Server Node -- ExpressJS - -## Support - -For support, email chloe@nebula.bio or join our discord: discord.gg/unblocker - -## Demo - -[Click here to see a demo of Nebula](https://nebulaproxy.io/) - -## Acknowledgements - -- [UV (one of the proxies use)](https://github.com/titaniumnetwork-dev/Ultraviolet) -- [Osana (one of the proxies we use)](https://github.com/NebulaServices/Osana) -- [Bare Server Node](https://github.com/tomphttp/bare-server-node) -- [Partical.JS (v4, 5, 6.1 &< only)](https://github.com/VincentGarreau/particles.js) - -## License - -(Nebula's license is now GNU AGPL V3 as of v7.10) -Copyright Nebula Services 2021 - Present -
-This project uses the AGLP GNU V3 license. diff --git a/app.js b/app.js deleted file mode 100644 index 2c7122b..0000000 --- a/app.js +++ /dev/null @@ -1,249 +0,0 @@ -import express from "express"; -import cookieParser from "cookie-parser"; -import http from "node:http"; -import createBareServer from "@tomphttp/bare-server-node"; -import { uvPath } from "@titaniumnetwork-dev/ultraviolet"; -import path from "node:path"; -import config from "./deployment.config.json" assert { type: "json" }; -import sgMail from "@sendgrid/mail"; -import nodemailer from "nodemailer"; -import * as uuid from "uuid"; -import fs from "node:fs"; -import bcrypt from "bcrypt"; -// fx -const PORT = process.env.PORT || 3000; -const __dirname = process.cwd(); -const ACTIVE_CODES = new Set(); -if (!fs.existsSync("./tmp/memory.txt")) { - fs.writeFileSync("./tmp/memory.txt", "", "utf-8"); -} -let TOKENS = fs - .readFileSync("./tmp/memory.txt", "utf-8") - .trim() - .split("\n") - .map((token) => { - const parts = token.split(":"); - return { - id: parts[0], - token: parts[1], - expiration: parts[2] - }; - }); - -const server = http.createServer(); -const app = express(server); -const bareServer = createBareServer("/bare/"); - -// Middleware -app.use(cookieParser()); -app.use(express.json()); -app.use( - express.urlencoded({ - extended: true - }) -); - -// Verification -app.patch("/generate-otp", async (req, res) => { - if ( - config.sendgrid_verification || - config.discord_verification || - config.smtp_verificaton - ) { - const OTP = generateCode(); - ACTIVE_CODES.add(OTP); - - setTimeout(() => { - ACTIVE_CODES.delete(OTP); - }, 1000 * 60 * 5); - - let email = { - to: "", - from: "", - subject: `NebulaWEB personal access code ${OTP}`, - text: ` - ####### ACCESS CODE (OTP) ${OTP} ####### - ####### DO NOT SHARE THIS CODE! ####### - (this message is automated)` - }; - - if (config.sendgrid_verification) { - sgMail.setApiKey(config.sendgrid_options.api_key); - - email.to = config.sendgrid_options.to_email; - email.from = config.sendgrid_options.sendFromEmail; - try { - await sgMail.send(msg); - } catch { - return res.status(504).end(); - } - } - - if (config.smtp_verification) { - const smtpMailerAgent = nodemailer.createTransport(config.smtp_options); - - email.to = config.smtp_options.to_email; - email.from = config.smtp_options.sendFromEmail; - try { - smtpMailerAgent.sendMail(email); - } catch { - return res.status(504).end(); - } - } - - if (config.discord_verification) { - try { - await fetch(config.webhook_url, { - method: "POST", - headers: { - "Content-Type": "application/json" - }, - body: JSON.stringify({ - content: `Your NebulaWEB access code is \`${OTP}\`` - }) - }); - } catch { - return res.status(500).end(); - } - } - - res.status(200).end(); - } else { - res.status(404).end(); - } -}); - -function generateCode() { - const code = Math.floor(Math.random() * 1000000); - return code.toString().padStart(6, "0"); -} - -app.post("/validate-otp", (req, res) => { - if ( - config.sendgrid_verification || - config.discord_verification || - config.smtp_verificaton - ) { - const OTP = req.body.otp; - - if (ACTIVE_CODES.has(OTP)) { - ACTIVE_CODES.delete(OTP); - - const token = uuid.v4(); - - TOKENS.push({ - id: OTP, - token: hash(token), - expiration: Date.now() + 1000 * 60 * 60 * 24 * 30 - }); - - fs.writeFileSync( - "./tmp/memory.txt", - TOKENS.map((token) => { - return `${token.id}:${token.token}:${token.expiration}`; - }).join("\n"), - "utf-8" - ); - - res.status(200).json({ - success: true, - validation: `${OTP}:${token}` - }); - } else { - res.status(401).json({ - success: false - }); - } - } else { - res.status(404).end(); - } -}); - -// Static files -app.use(express.static(path.join(__dirname, "public"))); -app.use("/uv/", express.static(uvPath)); - -// Login route -app.get("/login", (req, res) => { - if ( - config.sendgrid_verification || - config.discord_verification || - config.smtp_verificaton - ) { - res.sendFile(path.join(__dirname, "src", "unv.html")); - } else { - res.redirect("/"); - } -}); - -// General Routes -app.use((req, res, next) => { - if ( - config.sendgrid_verification || - config.discord_verification || - config.smtp_verificaton - ) { - const verification = req.cookies["validation"]; - if (!verification || !validateToken(verification)) { - return res.redirect("/login"); - } - } - next(); -}); - -app.get("/", (req, res) => { - res.sendFile(path.join(__dirname, "src", "index.html")); -}); - -app.get("/options", (req, res) => { - res.sendFile(path.join(__dirname, "src", "options.html")); -}); - -app.get("/privacy", (req, res) => { - res.sendFile(path.join(__dirname, "src", "privacy.html")); -}); - -// Bare Server -server.on("request", (req, res) => { - if (bareServer.shouldRoute(req)) { - bareServer.routeRequest(req, res); - } else { - app(req, res); - } -}); - -server.on("upgrade", (req, socket, head) => { - if (bareServer.shouldRoute(req)) { - bareServer.routeUpgrade(req, socket, head); - } else { - socket.end(); - } -}); - -server.on("listening", () => { - console.log(`Server running at http://localhost:${PORT}/.`); -}); - -server.listen({ - port: PORT -}); - -function hash(token) { - const salt = bcrypt.genSaltSync(10); - return bcrypt.hashSync(token, salt); -} - -function validateToken(verification) { - const [id, token] = verification.split(":"); - const tokenData = TOKENS.find((token) => token.id == id); - - if (!tokenData) { - return false; - } - - if (tokenData.expiration < Date.now()) { - return false; - } - - return bcrypt.compareSync(token, tokenData.token); -} diff --git a/app.json b/app.json deleted file mode 100644 index f28f677..0000000 --- a/app.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "NebulaWEB", - "description": "Explore the web. Freely. ", - "repository": "https://github.com/NebulaServices/Nebula", - "logo": "https://avatars.githubusercontent.com/u/86420004?v=4", - "keywords": ["educational", "science", "math"] -} diff --git a/deployment.config.json b/deployment.config.json deleted file mode 100644 index c7ed3fd..0000000 --- a/deployment.config.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "sendgrid_verification": false, - "sendgrid_options": { - "api_key": "YOUR_SENDGRID_API_KEY", - "sendFromEmail": "THE EMAIL THE CODES WILL BE SENT FROM (MUST BE VERIFIED IN SENDGRID)", - "to_email": "THE EMAIL YOU WANT THE CODES SENT TO" - }, - - "discord_verification": false, - "webhook_url": "YOUR DISCORD WEBHOOK URL", - - "smtp_verification": false, - "smtp_options": { - "to_email": "THE EMAIL YOU WANT THE CODES SENT TO", - "sendFromEmail": "THE EMAIL THE CODES ARE SENT FROM", - "host": "YOUR SMTP HOST", - "port": 465, - "auth": { - "user": "SMTP USER", - "pass": "YOUR PASSWORD" - } - } -} diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 1348ca5..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,10 +0,0 @@ -version: "3" -services: - nebula: - image: nebula:latest - build: . - container_name: nebula - restart: unless-stopped - ports: - # DO NOT CHANGE 3000! - - your port here:3000 diff --git a/ecosystem.config.js b/ecosystem.config.js deleted file mode 100644 index 24eb414..0000000 --- a/ecosystem.config.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - apps: [ - { - name: "Site", - script: "proxysocks node app.js" - } - ] -}; diff --git a/index.html b/index.html new file mode 100644 index 0000000..cbc1f5a --- /dev/null +++ b/index.html @@ -0,0 +1,14 @@ + + + + + + + + Vite + Preact + + +
+ + + diff --git a/package-lock.json b/package-lock.json index b4b61b1..2d67129 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,2551 +1,5007 @@ { - "name": "nebula-web", - "version": "7.11.6", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "nebula-web", - "version": "7.11.6", - "license": "AGPL-3.0-only", - "dependencies": { - "@sendgrid/mail": "^7.7.0", - "@titaniumnetwork-dev/ultraviolet": "^1.0.11", - "@tomphttp/bare-server-node": "^1.2.5", - "bcrypt": "^5.1.0", - "cookie-parser": "^1.4.6", - "express": "^4.18.2", - "nodemailer": "^6.9.2", - "uuid": "^9.0.0" - }, - "engines": { - "node": "19.x" - } - }, - "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz", - "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==", - "dependencies": { - "detect-libc": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.7", - "nopt": "^5.0.0", - "npmlog": "^5.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.11" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" - } - }, - "node_modules/@sendgrid/client": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@sendgrid/client/-/client-7.7.0.tgz", - "integrity": "sha512-SxH+y8jeAQSnDavrTD0uGDXYIIkFylCo+eDofVmZLQ0f862nnqbC3Vd1ej6b7Le7lboyzQF6F7Fodv02rYspuA==", - "dependencies": { - "@sendgrid/helpers": "^7.7.0", - "axios": "^0.26.0" - }, - "engines": { - "node": "6.* || 8.* || >=10.*" - } - }, - "node_modules/@sendgrid/helpers": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@sendgrid/helpers/-/helpers-7.7.0.tgz", - "integrity": "sha512-3AsAxfN3GDBcXoZ/y1mzAAbKzTtUZ5+ZrHOmWQ279AuaFXUNCh9bPnRpN504bgveTqoW+11IzPg3I0WVgDINpw==", - "dependencies": { - "deepmerge": "^4.2.2" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/@sendgrid/mail": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@sendgrid/mail/-/mail-7.7.0.tgz", - "integrity": "sha512-5+nApPE9wINBvHSUxwOxkkQqM/IAAaBYoP9hw7WwgDNQPxraruVqHizeTitVtKGiqWCKm2mnjh4XGN3fvFLqaw==", - "dependencies": { - "@sendgrid/client": "^7.7.0", - "@sendgrid/helpers": "^7.7.0" - }, - "engines": { - "node": "6.* || 8.* || >=10.*" - } - }, - "node_modules/@titaniumnetwork-dev/ultraviolet": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@titaniumnetwork-dev/ultraviolet/-/ultraviolet-1.0.11.tgz", - "integrity": "sha512-FJtZw/xQubrgk8pJLs5wx9k6okCGZPR7FXWXTiL5wOiCvjqgDQCmHBTb7M5eYqnQil05tbaz92+16Ki/7rRWIw==", - "dependencies": { - "@tomphttp/bare-client": "^1.1.2-beta.3", - "css-tree": "^2.0.4", - "esotope-hammerhead": "^0.6.1", - "events": "^3.3.0", - "idb": "^7.1.1", - "meriyah": "^4.3.3", - "mime-db": "^1.51.0", - "parse5": "^7.1.2", - "set-cookie-parser": "^2.4.8" - } - }, - "node_modules/@tomphttp/bare-client": { - "version": "1.1.2-beta.3", - "resolved": "https://registry.npmjs.org/@tomphttp/bare-client/-/bare-client-1.1.2-beta.3.tgz", - "integrity": "sha512-WyIVnSAqzfrLejmOhh/l/LtDOeK+SHnBGi/z+QyliVP1T1JxoNE5eecwxlV+osM9J6FTAYVGNHr8/5bubaIj6Q==" - }, - "node_modules/@tomphttp/bare-server-node": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@tomphttp/bare-server-node/-/bare-server-node-1.2.5.tgz", - "integrity": "sha512-qe76XM3nhDLDSIDZ0tblUsiBdgcqakjvBmXgrarXBH/Wul5AtE3BnK+/j7+BWEwJNZfgwL8uGL8IJjVG/iZH1A==", - "dependencies": { - "async-exit-hook": "^2.0.1", - "commander": "^9.4.1", - "dotenv": "^16.0.3", - "headers-polyfill": "^3.1.2", - "http-errors": "^2.0.0", - "ipaddr.js": "^2.0.1", - "source-map-support": "^0.5.21" - }, - "bin": { - "bare-server-node": "bin.js" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@types/estree": { - "version": "0.0.46", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz", - "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==" - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/agent-base/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/agent-base/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" - }, - "node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "node_modules/async-exit-hook": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", - "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/axios": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", - "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", - "dependencies": { - "follow-redirects": "^1.14.8" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/bcrypt": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.0.tgz", - "integrity": "sha512-RHBS7HI5N5tEnGTmtR/pppX0mmDSBpQ4aCBsj7CEQfYXDcO74A8sIBYcJMuCsis2E81zDxeENYhv66oZwLiA+Q==", - "hasInstallScript": true, - "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.10", - "node-addon-api": "^5.0.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", - "engines": { - "node": "^12.20.0 || >=14" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-parser": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz", - "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==", - "dependencies": { - "cookie": "0.4.1", - "cookie-signature": "1.0.6" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/deepmerge": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz", - "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-libc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", - "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "node_modules/esotope-hammerhead": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/esotope-hammerhead/-/esotope-hammerhead-0.6.3.tgz", - "integrity": "sha512-Aq6gUznvm0xPtjpbZo9OSsRO1+m+NM0hjZOYufH3HDlJWeOZpBskR/vuP9/tiMaQFD3+ES5BQq5fAY1qOLKWUA==", - "dependencies": { - "@types/estree": "0.0.46" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" - }, - "node_modules/headers-polyfill": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-3.1.2.tgz", - "integrity": "sha512-tWCK4biJ6hcLqTviLXVR9DTRfYGQMXEIUj3gwJ2rZ5wO/at3XtkI4g8mCvFdUF9l1KMBNCfmNAdnahm1cgavQA==" - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/https-proxy-agent/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/https-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "node_modules/meriyah": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/meriyah/-/meriyah-4.3.3.tgz", - "integrity": "sha512-7+EKEzAp0Gvp739Dv9F6ci9FXqqAz4QDAPVaLt15s9UF9gwQLwspqQzmoGjbavnTiFXZ5hf+EDdu5MtlkMCZfA==", - "engines": { - "node": ">=10.4.0" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minipass": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.2.tgz", - "integrity": "sha512-4Hbzei7ZyBp+1aw0874YWpKOubZd/jc53/XU+gkYry1QV+VvrbO8icLM5CUtm4F0hyXn85DXYKEMIS26gitD3A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/node-addon-api": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", - "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==" - }, - "node_modules/node-fetch": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", - "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/nodemailer": { - "version": "6.9.2", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.2.tgz", - "integrity": "sha512-4+TYaa/e1nIxQfyw/WzNPYTEZ5OvHIDEnmjs4LPmIfccPQN+2CYKmGHjWixn/chzD3bmUTu5FMfpltizMxqzdg==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - }, - "node_modules/set-cookie-parser": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz", - "integrity": "sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tar": { - "version": "6.1.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", - "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^4.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - }, - "dependencies": { - "@mapbox/node-pre-gyp": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz", - "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==", - "requires": { - "detect-libc": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.7", - "nopt": "^5.0.0", - "npmlog": "^5.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.11" - } - }, - "@sendgrid/client": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@sendgrid/client/-/client-7.7.0.tgz", - "integrity": "sha512-SxH+y8jeAQSnDavrTD0uGDXYIIkFylCo+eDofVmZLQ0f862nnqbC3Vd1ej6b7Le7lboyzQF6F7Fodv02rYspuA==", - "requires": { - "@sendgrid/helpers": "^7.7.0", - "axios": "^0.26.0" - } - }, - "@sendgrid/helpers": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@sendgrid/helpers/-/helpers-7.7.0.tgz", - "integrity": "sha512-3AsAxfN3GDBcXoZ/y1mzAAbKzTtUZ5+ZrHOmWQ279AuaFXUNCh9bPnRpN504bgveTqoW+11IzPg3I0WVgDINpw==", - "requires": { - "deepmerge": "^4.2.2" - } - }, - "@sendgrid/mail": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@sendgrid/mail/-/mail-7.7.0.tgz", - "integrity": "sha512-5+nApPE9wINBvHSUxwOxkkQqM/IAAaBYoP9hw7WwgDNQPxraruVqHizeTitVtKGiqWCKm2mnjh4XGN3fvFLqaw==", - "requires": { - "@sendgrid/client": "^7.7.0", - "@sendgrid/helpers": "^7.7.0" - } - }, - "@titaniumnetwork-dev/ultraviolet": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@titaniumnetwork-dev/ultraviolet/-/ultraviolet-1.0.11.tgz", - "integrity": "sha512-FJtZw/xQubrgk8pJLs5wx9k6okCGZPR7FXWXTiL5wOiCvjqgDQCmHBTb7M5eYqnQil05tbaz92+16Ki/7rRWIw==", - "requires": { - "@tomphttp/bare-client": "^1.1.2-beta.3", - "css-tree": "^2.0.4", - "esotope-hammerhead": "^0.6.1", - "events": "^3.3.0", - "idb": "^7.1.1", - "meriyah": "^4.3.3", - "mime-db": "^1.51.0", - "parse5": "^7.1.2", - "set-cookie-parser": "^2.4.8" - } - }, - "@tomphttp/bare-client": { - "version": "1.1.2-beta.3", - "resolved": "https://registry.npmjs.org/@tomphttp/bare-client/-/bare-client-1.1.2-beta.3.tgz", - "integrity": "sha512-WyIVnSAqzfrLejmOhh/l/LtDOeK+SHnBGi/z+QyliVP1T1JxoNE5eecwxlV+osM9J6FTAYVGNHr8/5bubaIj6Q==" - }, - "@tomphttp/bare-server-node": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@tomphttp/bare-server-node/-/bare-server-node-1.2.5.tgz", - "integrity": "sha512-qe76XM3nhDLDSIDZ0tblUsiBdgcqakjvBmXgrarXBH/Wul5AtE3BnK+/j7+BWEwJNZfgwL8uGL8IJjVG/iZH1A==", - "requires": { - "async-exit-hook": "^2.0.1", - "commander": "^9.4.1", - "dotenv": "^16.0.3", - "headers-polyfill": "^3.1.2", - "http-errors": "^2.0.0", - "ipaddr.js": "^2.0.1", - "source-map-support": "^0.5.21" - } - }, - "@types/estree": { - "version": "0.0.46", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz", - "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==" - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" - }, - "are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "async-exit-hook": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", - "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==" - }, - "axios": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", - "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", - "requires": { - "follow-redirects": "^1.14.8" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "bcrypt": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.0.tgz", - "integrity": "sha512-RHBS7HI5N5tEnGTmtR/pppX0mmDSBpQ4aCBsj7CEQfYXDcO74A8sIBYcJMuCsis2E81zDxeENYhv66oZwLiA+Q==", - "requires": { - "@mapbox/node-pre-gyp": "^1.0.10", - "node-addon-api": "^5.0.0" - } - }, - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" - }, - "commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" - }, - "cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" - }, - "cookie-parser": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz", - "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==", - "requires": { - "cookie": "0.4.1", - "cookie-signature": "1.0.6" - } - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "requires": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "deepmerge": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz", - "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "detect-libc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", - "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==" - }, - "dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==" - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "esotope-hammerhead": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/esotope-hammerhead/-/esotope-hammerhead-0.6.3.tgz", - "integrity": "sha512-Aq6gUznvm0xPtjpbZo9OSsRO1+m+NM0hjZOYufH3HDlJWeOZpBskR/vuP9/tiMaQFD3+ES5BQq5fAY1qOLKWUA==", - "requires": { - "@types/estree": "0.0.46" - } - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - }, - "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - } - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - } - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - } - }, - "get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" - }, - "headers-polyfill": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-3.1.2.tgz", - "integrity": "sha512-tWCK4biJ6hcLqTviLXVR9DTRfYGQMXEIUj3gwJ2rZ5wO/at3XtkI4g8mCvFdUF9l1KMBNCfmNAdnahm1cgavQA==" - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "meriyah": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/meriyah/-/meriyah-4.3.3.tgz", - "integrity": "sha512-7+EKEzAp0Gvp739Dv9F6ci9FXqqAz4QDAPVaLt15s9UF9gwQLwspqQzmoGjbavnTiFXZ5hf+EDdu5MtlkMCZfA==" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minipass": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.2.tgz", - "integrity": "sha512-4Hbzei7ZyBp+1aw0874YWpKOubZd/jc53/XU+gkYry1QV+VvrbO8icLM5CUtm4F0hyXn85DXYKEMIS26gitD3A==" - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - }, - "node-addon-api": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", - "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==" - }, - "node-fetch": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", - "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "nodemailer": { - "version": "6.9.2", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.2.tgz", - "integrity": "sha512-4+TYaa/e1nIxQfyw/WzNPYTEZ5OvHIDEnmjs4LPmIfccPQN+2CYKmGHjWixn/chzD3bmUTu5FMfpltizMxqzdg==" - }, - "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "requires": { - "abbrev": "1" - } - }, - "npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "requires": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "requires": { - "entities": "^4.4.0" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - } - } - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - }, - "set-cookie-parser": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz", - "integrity": "sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==" - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "tar": { - "version": "6.1.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", - "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^4.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - }, - "uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } + "name": "Nebula", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "million": "^2.6.4", + "preact": "^10.13.1", + "preact-iso": "^2.3.2", + "preact-render-to-string": "^6.3.1" + }, + "devDependencies": { + "@preact/preset-vite": "^2.5.0", + "autoprefixer": "^10.4.16", + "eslint": "^8.55.0", + "eslint-config-preact": "^1.3.0", + "postcss": "^8.4.32", + "tailwindcss": "^3.3.6", + "typescript": "^5.3.3", + "vite": "^4.3.2" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz", + "integrity": "sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.5", + "@babel/parser": "^7.23.5", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.5", + "@babel/types": "^7.23.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz", + "integrity": "sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==", + "dev": true, + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz", + "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==", + "dependencies": { + "@babel/types": "^7.23.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz", + "integrity": "sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.5", + "@babel/types": "^7.23.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz", + "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz", + "integrity": "sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "dev": true, + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz", + "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.5", + "@babel/types": "^7.23.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz", + "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==", + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz", + "integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "dev": true + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mdn/browser-compat-data": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.4.5.tgz", + "integrity": "sha512-n3/+wko8WFd/fbiPCOuBB6HfKL6hTcygFEZ/MpmvpMRbgDSdlNMopDFGjsoTYqCbzTVTX9TL/StXco4yx2v58Q==", + "dev": true + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@preact/preset-vite": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@preact/preset-vite/-/preset-vite-2.7.0.tgz", + "integrity": "sha512-m5N0FVtxbCCDxNk55NGhsRpKJChYcupcuQHzMJc/Bll07IKZKn8amwYciyKFS9haU6AgzDAJ/ewvApr6Qg1DHw==", + "dev": true, + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@prefresh/vite": "^2.4.1", + "@rollup/pluginutils": "^4.1.1", + "babel-plugin-transform-hook-names": "^1.0.2", + "debug": "^4.3.4", + "kolorist": "^1.8.0", + "resolve": "^1.22.8" + }, + "peerDependencies": { + "@babel/core": "7.x", + "vite": "2.x || 3.x || 4.x || 5.x" + } + }, + "node_modules/@prefresh/babel-plugin": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@prefresh/babel-plugin/-/babel-plugin-0.5.1.tgz", + "integrity": "sha512-uG3jGEAysxWoyG3XkYfjYHgaySFrSsaEb4GagLzYaxlydbuREtaX+FTxuIidp241RaLl85XoHg9Ej6E4+V1pcg==", + "dev": true + }, + "node_modules/@prefresh/core": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@prefresh/core/-/core-1.5.2.tgz", + "integrity": "sha512-A/08vkaM1FogrCII5PZKCrygxSsc11obExBScm3JF1CryK2uDS3ZXeni7FeKCx1nYdUkj4UcJxzPzc1WliMzZA==", + "dev": true, + "peerDependencies": { + "preact": "^10.0.0" + } + }, + "node_modules/@prefresh/utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@prefresh/utils/-/utils-1.2.0.tgz", + "integrity": "sha512-KtC/fZw+oqtwOLUFM9UtiitB0JsVX0zLKNyRTA332sqREqSALIIQQxdUCS1P3xR/jT1e2e8/5rwH6gdcMLEmsQ==", + "dev": true + }, + "node_modules/@prefresh/vite": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@prefresh/vite/-/vite-2.4.4.tgz", + "integrity": "sha512-7jcz3j5pXufOWTjl31n0Lc3BcU8oGoacoaWx/Ur1QJ+fd4Xu0G7g/ER1xV02x7DCiVoFi7xtSgaophOXoJvpmA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.22.1", + "@prefresh/babel-plugin": "0.5.1", + "@prefresh/core": "^1.5.1", + "@prefresh/utils": "^1.2.0", + "@rollup/pluginutils": "^4.2.1" + }, + "peerDependencies": { + "preact": "^10.4.0", + "vite": ">=2.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "dev": true, + "dependencies": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", + "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "dev": true + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "dev": true, + "dependencies": { + "@typescript-eslint/utils": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", + "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-metadata-inferer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.8.0.tgz", + "integrity": "sha512-jOMKcHht9LxYIEQu+RVd22vtgrPaVCtDRQ/16IGmurdzxvYbDd5ynxjnyrzLnieG96eTcAyaoj/wN/4/1FyyeA==", + "dev": true, + "dependencies": { + "@mdn/browser-compat-data": "^5.2.34" + } + }, + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.16", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", + "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001538", + "fraction.js": "^4.3.6", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/babel-plugin-transform-hook-names": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-hook-names/-/babel-plugin-transform-hook-names-1.0.2.tgz", + "integrity": "sha512-5gafyjyyBTTdX/tQQ0hRgu4AhNHG/hqWi0ZZmg2xvs2FgRkJXzDNKBZCyoYqgFkovfDrgM8OoKg8karoUvWeCw==", + "dev": true, + "peerDependencies": { + "@babel/core": "^7.12.10" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001568", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001568.tgz", + "integrity": "sha512-vSUkH84HontZJ88MiNrOau1EBrCqEQYgkC5gIySiDlpsm8sGVrhU7Kx4V6h0tnqaHzIHZv08HlJIwPbL4XL9+A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.609", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.609.tgz", + "integrity": "sha512-ihiCP7PJmjoGNuLpl7TjNA8pCQWu09vGyjlPYw1Rqww4gvNuCcmvl+44G+2QyJ6S2K4o+wbTS++Xz0YN8Q9ERw==" + }, + "node_modules/es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", + "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "dev": true, + "dependencies": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.1", + "es-set-tostringtag": "^2.0.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.0.1" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz", + "integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.55.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-preact": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-config-preact/-/eslint-config-preact-1.3.0.tgz", + "integrity": "sha512-yHYXg5qNzEJd3D/30AmsIW0W8MuY858KpApXp7xxBF08IYUljSKCOqMx+dVucXHQnAm7+11wOnMkgVHIBAechw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.13.16", + "@babel/eslint-parser": "^7.13.14", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-decorators": "^7.12.13", + "@babel/plugin-syntax-jsx": "^7.12.13", + "eslint-plugin-compat": "^4.0.0", + "eslint-plugin-jest": "^25.2.4", + "eslint-plugin-react": "^7.27.0", + "eslint-plugin-react-hooks": "^4.3.0" + }, + "peerDependencies": { + "eslint": "6.x || 7.x || 8.x" + } + }, + "node_modules/eslint-plugin-compat": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.2.0.tgz", + "integrity": "sha512-RDKSYD0maWy5r7zb5cWQS+uSPc26mgOzdORJ8hxILmWM7S/Ncwky7BcAtXVY5iRbKjBdHsWU8Yg7hfoZjtkv7w==", + "dev": true, + "dependencies": { + "@mdn/browser-compat-data": "^5.3.13", + "ast-metadata-inferer": "^0.8.0", + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001524", + "find-up": "^5.0.0", + "lodash.memoize": "^4.1.2", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=14.x" + }, + "peerDependencies": { + "eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-compat/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-compat/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-compat/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.12", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/million": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/million/-/million-2.6.4.tgz", + "integrity": "sha512-voUkdd/jHWrG+7NS+mX49Pat+POKdgGW78V7pYMSrTaOjUitR6ySEcAci8hn17Rsx1IMI3+5w41dkADM1J1ZEg==", + "dependencies": { + "@babel/core": "^7.21.0", + "@babel/generator": "^7.22.7", + "@babel/plugin-syntax-jsx": "^7.21.4", + "@babel/plugin-syntax-typescript": "^7.21.4", + "@babel/types": "^7.21.3", + "kleur": "^4.1.5", + "rollup": "^3.28.0", + "unplugin": "^1.3.1" + }, + "bin": { + "million": "packages/cli/dist/index.js" + }, + "funding": { + "url": "https://github.com/sponsors/aidenybai" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/preact": { + "version": "10.19.3", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.19.3.tgz", + "integrity": "sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/preact-iso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/preact-iso/-/preact-iso-2.3.2.tgz", + "integrity": "sha512-OU+6dzX1/qAyWfH4zKVqp/apNLfAr8yx4aBUVKyBWoOyPT08bNJk4o08KWIwyQyEkpayW5q+5+GAkYBSky8ndw==", + "peerDependencies": { + "preact": ">=10", + "preact-render-to-string": ">=5" + }, + "peerDependenciesMeta": { + "preact-render-to-string": { + "optional": true + } + } + }, + "node_modules/preact-render-to-string": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-6.3.1.tgz", + "integrity": "sha512-NQ28WrjLtWY6lKDlTxnFpKHZdpjfF+oE6V4tZ0rTrunHrtZp6Dm0oFrcJalt/5PNeqJz4j1DuZDS0Y6rCBoqDA==", + "dependencies": { + "pretty-format": "^3.8.0" + }, + "peerDependencies": { + "preact": ">=10" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-format": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz", + "integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==" + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", + "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sucrase": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.6.tgz", + "integrity": "sha512-AKjF7qbbLvLaPieoKeTjG1+FyNZT6KaJMJPFeQyLfIp7l82ggH1fbHJSsYIvnbTFQOlkh+gBYpyby5GT1LIdLw==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unplugin": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.5.1.tgz", + "integrity": "sha512-0QkvG13z6RD+1L1FoibQqnvTwVBXvS4XSPwAyinVgoOCl2jAgwzdUKmEj05o4Lt8xwQI85Hb6mSyYkcAGwZPew==", + "dependencies": { + "acorn": "^8.11.2", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.6.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/vite": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz", + "integrity": "sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==", + "dev": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz", + "integrity": "sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } } diff --git a/package.json b/package.json index 85f8364..b166921 100644 --- a/package.json +++ b/package.json @@ -1,28 +1,25 @@ { - "name": "nebula-web", - "version": "7.11.6", - "description": "Explore the web. Freely.", - "type": "module", - "main": "app.js", - "scripts": { - "start": "node app.js" - }, - "keywords": [ - "proxy" - ], - "author": "Nebula Services", - "license": "AGPL-3.0-only", - "dependencies": { - "@sendgrid/mail": "^7.7.0", - "@tomphttp/bare-server-node": "^1.2.5", - "@titaniumnetwork-dev/ultraviolet": "^1.0.11", - "bcrypt": "^5.1.0", - "cookie-parser": "^1.4.6", - "express": "^4.18.2", - "nodemailer": "^6.9.2", - "uuid": "^9.0.0" - }, - "engines": { - "node": ">=18.x" - } + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "million": "^2.6.4", + "preact": "^10.13.1", + "preact-iso": "^2.3.2", + "preact-render-to-string": "^6.3.1" + }, + "devDependencies": { + "@preact/preset-vite": "^2.5.0", + "autoprefixer": "^10.4.16", + "eslint": "^8.55.0", + "eslint-config-preact": "^1.3.0", + "postcss": "^8.4.32", + "tailwindcss": "^3.3.6", + "typescript": "^5.3.3", + "vite": "^4.3.2" + } } diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..2e7af2b --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/public/images/logo.png b/public/images/logo.png deleted file mode 100644 index 3afb9bf..0000000 Binary files a/public/images/logo.png and /dev/null differ diff --git a/public/osana/osana.bundle.js b/public/osana/osana.bundle.js deleted file mode 100644 index 30d1402..0000000 --- a/public/osana/osana.bundle.js +++ /dev/null @@ -1,2 +0,0 @@ -(()=>{"use strict";var e={392:(e,t)=>{var n,s,r,a,o,i,c,l,u,E,h,p="ArrowFunctionExpression",d="BlockStatement",T="EmptyStatement",m="ExportBatchSpecifier",A="GeneratorExpression",f="Identifier",_="IfStatement",C="Literal",g="LogicalExpression",k="Property",I="VariableDeclaration",N=15,S={"||":3,"&&":4,"|":5,"^":6,"&":7,"==":8,"!=":8,"===":8,"!==":8,is:8,isnt:8,"<":9,">":9,"<=":9,">=":9,in:9,instanceof:9,"<<":10,">>":10,">>>":10,"+":11,"-":11,"*":12,"%":12,"/":12,"??":3,"**":14},R=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],b=new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԧԱ-Ֆՙա-և֑-ׇֽֿׁׂׅׄא-תװ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺࠀ-࠭ࡀ-࡛ࢠࢢ-ࢬࣤ-ࣾऀ-ॣ०-९ॱ-ॷॹ-ॿঁ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-ৱਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૯ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍ୖୗଡ଼ଢ଼ୟ-ୣ୦-୯ୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௯ఁ-ఃఅ-ఌఎ-ఐఒ-నప-ళవ-హఽ-ౄె-ైొ-్ౕౖౘౙౠ-ౣ౦-౯ಂಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೞೠ-ೣ೦-೯ೱೲംഃഅ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൎൗൠ-ൣ൦-൯ൺ-ൿංඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟෲෳก-ฺเ-๎๐-๙ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ູົ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ༘༙༠-༩༹༵༷༾-ཇཉ-ཬཱ-྄྆-ྗྙ-ྼ࿆က-၉ၐ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፟ᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-᜔ᜠ-᜴ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-៓ៗៜ៝០-៩᠋-᠍᠐-᠙ᠠ-ᡷᢀ-ᢪᢰ-ᣵᤀ-ᤜᤠ-ᤫᤰ-᤻᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧙ᨀ-ᨛᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᪧᬀ-ᭋ᭐-᭙᭫-᭳ᮀ-᯳ᰀ-᰷᱀-᱉ᱍ-ᱽ᳐-᳔᳒-ᳶᴀ-ᷦ᷼-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‌‍‿⁀⁔ⁱⁿₐ-ₜ⃐-⃥⃜⃡-⃰ℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〯〱-〵〸-〼ぁ-ゖ゙゚ゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘫꙀ-꙯ꙴ-꙽ꙿ-ꚗꚟ-꛱ꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠧꡀ-ꡳꢀ-꣄꣐-꣙꣠-ꣷꣻ꤀-꤭ꤰ-꥓ꥠ-ꥼꦀ-꧀ꧏ-꧙ꨀ-ꨶꩀ-ꩍ꩐-꩙ꩠ-ꩶꩺꩻꪀ-ꫂꫛ-ꫝꫠ-ꫯꫲ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯪ꯬꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ︀-️︠-︦︳︴﹍-﹏ﹰ-ﹴﹶ-ﻼ0-9A-Z_a-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]");function D(e){if(e<128)return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57||36===e||95===e||92===e;var t=String.fromCharCode(e);return b.test(t)}function P(e){return 10===e||13===e||8232===e||8233===e}function O(e){return 32===e||9===e||P(e)||11===e||12===e||160===e||e>=5760&&R.indexOf(e)>=0}function L(e,t){var n="";for(t|=0;t>0;t>>>=1,e+=e)1&t&&(n+=e);return n}function M(e,t){var n,s;function r(e){return"object"==typeof e&&e instanceof Object&&!(e instanceof RegExp)}for(n in t)t.hasOwnProperty(n)&&(r(s=t[n])?r(e[n])?M(e[n],s):e[n]=M({},s):e[n]=s);return e}function y(e,t){return 8232==(-2&e)?(t?"u":"\\u")+(8232===e?"2028":"2029"):10===e||13===e?(t?"":"\\")+(10===e?"n":"r"):String.fromCharCode(e)}function w(e,t){var n,r,a="\\";switch(e){case 8:a+="b";break;case 12:a+="f";break;case 9:a+="t";break;default:n=e.toString(16).toUpperCase(),s||e>255?a+="u"+"0000".slice(n.length)+n:0!==e||(r=t)>=48&&r<=57?a+=11===e?"x0B":"x"+"00".slice(n.length)+n:a+="0"}return a}function B(e){var t="\\";switch(e){case 92:t+="\\";break;case 10:t+="n";break;case 13:t+="r";break;case 8232:t+="u2028";break;case 8233:t+="u2029"}return t}function U(e,t){if(!e.length)return t;if(!t.length)return e;var n=e.charCodeAt(e.length-1),s=t.charCodeAt(0);return D(n)&&D(s)||n===s&&(43===n||45===n)||47===n&&105===s?e+ne.space+t:O(n)||O(s)?e+t:e+ne.optSpace+t}function x(){var e=ne.indent;return ne.indent+=ne.indentUnit,e}function v(e){return e.type===d?ne.optSpace:e.type===T?"":ne.newline+ne.indent+ne.indentUnit}function H(e){return e.type===d?ne.optSpace:ne.newline+ne.indent}function F(e){var t=e.body;if(function(e){var t=e.params,n=t.length,s=n-1;if(e.type===p&&1===n&&t[0].type===f)ne.js+=t[0].name;else{ne.js+="(";for(var r=0;r"),e.expression){ne.js+=ne.optSpace;var n=Z(t,G.e4);"{"===n.charAt(0)&&(n="("+n+")"),ne.js+=n}else ne.js+=v(t),re[t.type](t,G.s8)}(n=Array.isArray)||(n=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var G={e1:function(e){return{precedence:1,allowIn:e,allowCall:!0,allowUnparenthesizedNew:!0}},e2:function(e){return{precedence:3,allowIn:e,allowCall:!0,allowUnparenthesizedNew:!0}},e3:{precedence:N,allowIn:!0,allowCall:!0,allowUnparenthesizedNew:!1},e4:{precedence:1,allowIn:!0,allowCall:!0,allowUnparenthesizedNew:!0},e5:{precedence:0,allowIn:!0,allowCall:!0,allowUnparenthesizedNew:!0},e6:function(e){return{precedence:16,allowIn:!0,allowCall:!1,allowUnparenthesizedNew:e}},e7:{precedence:13,allowIn:!0,allowCall:!0,allowUnparenthesizedNew:!0},e8:{precedence:14,allowIn:!0,allowCall:!0,allowUnparenthesizedNew:!0},e9:{precedence:void 0,allowIn:!0,allowCall:!0,allowUnparenthesizedNew:!0},e10:{precedence:N,allowIn:!0,allowCall:!0,allowUnparenthesizedNew:!0},e11:function(e){return{precedence:N,allowIn:!0,allowCall:e,allowUnparenthesizedNew:!1}},e12:{precedence:19,allowIn:!1,allowCall:!1,allowUnparenthesizedNew:!0},e13:{precedence:19,allowIn:!0,allowCall:!0,allowUnparenthesizedNew:!0},e14:{precedence:0,allowIn:!1,allowCall:!0,allowUnparenthesizedNew:!0},e15:function(e){return{precedence:0,allowIn:!0,allowCall:e,allowUnparenthesizedNew:!0}},e16:function(e,t){return{precedence:e,allowIn:t,allowCall:!0,allowUnparenthesizedNew:!0}},e17:function(e){return{precedence:N,allowIn:e,allowCall:!0,allowUnparenthesizedNew:!0}},e18:function(e){return{precedence:1,allowIn:e,allowCall:!0,allowUnparenthesizedNew:!0}},e19:{precedence:0,allowIn:!0,allowCall:!0,semicolonOptional:!1},e20:{precedence:14,allowCall:!0},s1:function(e,t){return{allowIn:!0,functionBody:!1,directiveContext:e,semicolonOptional:t}},s2:{allowIn:!0,functionBody:!1,directiveContext:!1,semicolonOptional:!0},s3:function(e){return{allowIn:e,functionBody:!1,directiveContext:!1,semicolonOptional:!1}},s4:function(e){return{allowIn:!0,functionBody:!1,directiveContext:!1,semicolonOptional:e}},s5:function(e){return{allowIn:!0,functionBody:!1,directiveContext:!0,semicolonOptional:e}},s6:{allowIn:!1,functionBody:!1,directiveContext:!1,semicolonOptional:!1},s7:{allowIn:!0,functionBody:!1,directiveContext:!1,semicolonOptional:!1},s8:{allowIn:!0,functionBody:!0,directiveContext:!1,semicolonOptional:!1}},j=/[.eExX]|^0[0-9]+/,Y=/[0-9]$/;function q(e){return!!e&&e.type===g}function V(e,t,n){var s=e.operator,r=S[e.operator],a=r1,a=x(),o=ne.newline+ne.indent;ne.js+="[";for(var i=0;i0?U(r,l):r+l}ne.indent=o}if(n){var u=Z(n,G.e5);r=U(r,"if"+ne.optSpace),r=U(r,"("+u+")")}r=U(r,a),r+=s?")":"]",ne.js+=r}var Q={SequenceExpression:function(e,t){var n=e.expressions,s=n.length,r=s-1,a=00,i=Z(e.callee,G.e6(!o));if(s&&(ne.js+="("),ne.js+=U("new",i),o){ne.js+="(";for(var l=0;l2)ne.js+=U(s,r);else{ne.js+=s;var a=s.charCodeAt(s.length-1),o=r.charCodeAt(0);(a===o&&(43===a||45===a)||D(a)&&D(o))&&(ne.js+=ne.space),ne.js+=r}n&&(ne.js+=")")},YieldExpression:function(e,t){var n=e.argument,s=e.delegate?"yield*":"yield",r=1=32&&r<=126)){l+=w(r,e.charCodeAt(t+1));continue}}l+=String.fromCharCode(r)}if(c=(a=!("double"===o||"auto"===o&&E0&&(i=+o.slice(c+1),o=o.slice(0,c)),n>=0&&(i-=o.length-n-1,o=+(o.slice(0,n)+o.slice(n+1))+""),c=0;48===o.charCodeAt(o.length+c-1);)--c;return 0!==c&&(i-=c,o=o.slice(0,c)),0!==i&&(o+="e"+i),(o.length1e12&&Math.floor(e)===e&&(o="0x"+e.toString(16)).length1?x():ne.indent,a=G.s3(t.allowIn);ne.js+=e.kind;for(var o=0;o0&&(ne.js+="\n");for(var r=0;r{for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={};n.r(e),n.d(e,{request:()=>Vt,response:()=>Xt});var t={};n.r(t),n.d(t,{base64:()=>na,none:()=>Zr,plain:()=>ea,whatTheFuck:()=>sa,xor:()=>ta});const s={0:"Unexpected token",28:"Unexpected token: '%0'",1:"Octal escape sequences are not allowed in strict mode",2:"Octal escape sequences are not allowed in template strings",3:"Unexpected token `#`",4:"Illegal Unicode escape sequence",5:"Invalid code point %0",6:"Invalid hexadecimal escape sequence",8:"Octal literals are not allowed in strict mode",7:"Decimal integer literals with a leading zero are forbidden in strict mode",9:"Expected number in radix %0",145:"Invalid left-hand side assignment to a destructible right-hand side",10:"Non-number found after exponent indicator",11:"Invalid BigIntLiteral",12:"No identifiers allowed directly after numeric literal",13:"Escapes \\8 or \\9 are not syntactically valid escapes",14:"Unterminated string literal",15:"Unterminated template literal",16:"Multiline comment was not closed properly",17:"The identifier contained dynamic unicode escape that was not closed",18:"Illegal character '%0'",19:"Missing hexadecimal digits",20:"Invalid implicit octal",21:"Invalid line break in string literal",22:"Only unicode escapes are legal in identifier names",23:"Expected '%0'",24:"Invalid left-hand side in assignment",25:"Invalid left-hand side in async arrow",26:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',27:"Member access on super must be in a method",29:"Await expression not allowed in formal parameter",30:"Yield expression not allowed in formal parameter",92:"Unexpected token: 'escaped keyword'",31:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",119:"Async functions can only be declared at the top level or inside a block",32:"Unterminated regular expression",33:"Unexpected regular expression flag",34:"Duplicate regular expression flag '%0'",35:"%0 functions must have exactly %1 argument%2",36:"Setter function argument must not be a rest parameter",37:"%0 declaration must have a name in this context",38:"Function name may not contain any reserved words or be eval or arguments in strict mode",39:"The rest operator is missing an argument",40:"A getter cannot be a generator",41:"A computed property name must be followed by a colon or paren",130:"Object literal keys that are strings or numbers must be a method or have a colon",43:"Found `* async x(){}` but this should be `async * x(){}`",42:"Getters and setters can not be generators",44:"'%0' can not be generator method",45:"No line break is allowed after '=>'",46:"The left-hand side of the arrow can only be destructed through assignment",47:"The binding declaration is not destructible",48:"Async arrow can not be followed by new expression",49:"Classes may not have a static property named 'prototype'",50:"Class constructor may not be a %0",51:"Duplicate constructor method in class",52:"Invalid increment/decrement operand",53:"Invalid use of `new` keyword on an increment/decrement expression",54:"`=>` is an invalid assignment target",55:"Rest element may not have a trailing comma",56:"Missing initializer in %0 declaration",57:"'for-%0' loop head declarations can not have an initializer",58:"Invalid left-hand side in for-%0 loop: Must have a single binding",59:"Invalid shorthand property initializer",60:"Property name __proto__ appears more than once in object literal",61:"Let is disallowed as a lexically bound name",62:"Invalid use of '%0' inside new expression",63:"Illegal 'use strict' directive in function with non-simple parameter list",64:'Identifier "let" disallowed as left-hand side expression in strict mode',65:"Illegal continue statement",66:"Illegal break statement",67:"Cannot have `let[...]` as a var name in strict mode",68:"Invalid destructuring assignment target",69:"Rest parameter may not have a default initializer",70:"The rest argument must the be last parameter",71:"Invalid rest argument",73:"In strict mode code, functions can only be declared at top level or inside a block",74:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",75:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",76:"Class declaration can't appear in single-statement context",77:"Invalid left-hand side in for-%0",78:"Invalid assignment in for-%0",79:"for await (... of ...) is only valid in async functions and async generators",80:"The first token after the template expression should be a continuation of the template",82:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",81:"`let \n [` is a restricted production at the start of a statement",83:"Catch clause requires exactly one parameter, not more (and no trailing comma)",84:"Catch clause parameter does not support default values",85:"Missing catch or finally after try",86:"More than one default clause in switch statement",87:"Illegal newline after throw",88:"Strict mode code may not include a with statement",89:"Illegal return statement",90:"The left hand side of the for-header binding declaration is not destructible",91:"new.target only allowed within functions",93:"'#' not followed by identifier",99:"Invalid keyword",98:"Can not use 'let' as a class name",97:"'A lexical declaration can't define a 'let' binding",96:"Can not use `let` as variable name in strict mode",94:"'%0' may not be used as an identifier in this context",95:"Await is only valid in async functions",100:"The %0 keyword can only be used with the module goal",101:"Unicode codepoint must not be greater than 0x10FFFF",102:"%0 source must be string",103:"Only a identifier can be used to indicate alias",104:"Only '*' or '{...}' can be imported after default",105:"Trailing decorator may be followed by method",106:"Decorators can't be used with a constructor",108:"HTML comments are only allowed with web compatibility (Annex B)",109:"The identifier 'let' must not be in expression position in strict mode",110:"Cannot assign to `eval` and `arguments` in strict mode",111:"The left-hand side of a for-of loop may not start with 'let'",112:"Block body arrows can not be immediately invoked without a group",113:"Block body arrows can not be immediately accessed without a group",114:"Unexpected strict mode reserved word",115:"Unexpected eval or arguments in strict mode",116:"Decorators must not be followed by a semicolon",117:"Calling delete on expression not allowed in strict mode",118:"Pattern can not have a tail",120:"Can not have a `yield` expression on the left side of a ternary",121:"An arrow function can not have a postfix update operator",122:"Invalid object literal key character after generator star",123:"Private fields can not be deleted",125:"Classes may not have a field called constructor",124:"Classes may not have a private element named constructor",126:"A class field initializer may not contain arguments",127:"Generators can only be declared at the top level or inside a block",128:"Async methods are a restricted production and cannot have a newline following it",129:"Unexpected character after object literal property name",131:"Invalid key token",132:"Label '%0' has already been declared",133:"continue statement must be nested within an iteration statement",134:"Undefined label '%0'",135:"Trailing comma is disallowed inside import(...) arguments",136:"import() requires exactly one argument",137:"Cannot use new with import(...)",138:"... is not allowed in import()",139:"Expected '=>'",140:"Duplicate binding '%0'",141:"Cannot export a duplicate name '%0'",144:"Duplicate %0 for-binding",142:"Exported binding '%0' needs to refer to a top-level declared variable",143:"Unexpected private field",147:"Numeric separators are not allowed at the end of numeric literals",146:"Only one underscore is allowed as numeric separator",148:"JSX value should be either an expression or a quoted JSX text",149:"Expected corresponding JSX closing tag for %0",150:"Adjacent JSX elements must be wrapped in an enclosing tag",151:"JSX attributes must only be assigned a non-empty 'expression'",152:"'%0' has already been declared",153:"'%0' shadowed a catch clause binding",154:"Dot property must be an identifier",155:"Encountered invalid input after spread/rest argument",156:"Catch without try",157:"Finally without try",158:"Expected corresponding closing tag for JSX fragment",159:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",160:"Invalid tagged template on optional chain",161:"Invalid optional chain from super property",162:"Invalid optional chain from new expression",163:'Cannot use "import.meta" outside a module',164:"Leading decorators must be attached to a class declaration"};class r extends SyntaxError{constructor(e,t,n,r,...a){const o="["+t+":"+n+"]: "+s[r].replace(/%(\d+)/g,((e,t)=>a[t]));super(`${o}`),this.index=e,this.line=t,this.column=n,this.description=o,this.loc={line:t,column:n}}}function a(e,t,...n){throw new r(e.index,e.line,e.column,t,...n)}function o(e){throw new r(e.index,e.line,e.column,e.type,e.params)}function i(e,t,n,s,...a){throw new r(e,t,n,s,...a)}function c(e,t,n,s){throw new r(e,t,n,s)}const l=((e,t)=>{const n=new Uint32Array(104448);let s=0,r=0;for(;s<3540;){const a=e[s++];if(a<0)r-=a;else{let o=e[s++];2&a&&(o=t[o]),1&a?n.fill(o,r,r+=e[s++]):n[r++]=o}}return n})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]);function u(e){return e.column++,e.currentChar=e.source.charCodeAt(++e.index)}function E(e,t){if(55296!=(64512&t))return 0;const n=e.source.charCodeAt(e.index+1);return 56320!=(64512&n)?0:(t=e.currentChar=65536+((1023&t)<<10)+(1023&n),0==(1&l[0+(t>>>5)]>>>t)&&a(e,18,d(t)),e.index++,e.column++,1)}function h(e,t){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,0==(4&t)&&(e.column=0,e.line++)}function p(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function d(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(1023&e)}function T(e){return e<65?e-48:e-65+10&15}const m=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],A=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],f=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function _(e){return e<=127?A[e]:1&l[34816+(e>>>5)]>>>e}function C(e){return e<=127?f[e]:1&l[0+(e>>>5)]>>>e||8204===e||8205===e}const g=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function k(e,t,n,s,r,o,i,c){return 2048&s&&a(e,0),I(e,t,n,r,o,i,c)}function I(e,t,n,s,r,a,o){const{index:i}=e;for(e.tokenPos=e.index,e.linePos=e.line,e.colPos=e.column;e.index=e.source.length)return a(e,32)}const r=e.index-1;let o=0,i=e.currentChar;const{index:c}=e;for(;C(i);){switch(i){case 103:2&o&&a(e,34,"g"),o|=2;break;case 105:1&o&&a(e,34,"i"),o|=1;break;case 109:4&o&&a(e,34,"m"),o|=4;break;case 117:16&o&&a(e,34,"u"),o|=16;break;case 121:8&o&&a(e,34,"y"),o|=8;break;case 115:32&o&&a(e,34,"s"),o|=32;break;case 100:64&o&&a(e,34,"d"),o|=64;break;default:a(e,33)}i=u(e)}const l=e.source.slice(c,e.index),E=e.source.slice(n,r);return e.tokenRegExp={pattern:E,flags:l},512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=function(e,t,n){try{return new RegExp(t,n)}catch(s){try{return new RegExp(t,n.replace("d","")),null}catch(t){a(e,32)}}}(e,E,l),65540}function R(e,t,n){const{index:s}=e;let r="",o=u(e),i=e.index;for(;0==(8&m[o]);){if(o===n)return r+=e.source.slice(i,e.index),u(e),512&t&&(e.tokenRaw=e.source.slice(s,e.index)),e.tokenValue=r,134283267;if(8==(8&o)&&92===o){if(r+=e.source.slice(i,e.index),o=u(e),o<127||8232===o||8233===o){const n=b(e,t,o);n>=0?r+=d(n):D(e,n,0)}else r+=d(o);i=e.index+1}e.index>=e.end&&a(e,14),o=u(e)}a(e,14)}function b(e,t,n){switch(n){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||125!==e.currentChar?-4:t}{if(0==(64&m[t]))return-4;const n=e.source.charCodeAt(e.index+1);if(0==(64&m[n]))return-4;const s=e.source.charCodeAt(e.index+2);if(0==(64&m[s]))return-4;const r=e.source.charCodeAt(e.index+3);return 0==(64&m[r])?-4:(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),T(t)<<12|T(n)<<8|T(s)<<4|T(r))}}case 56:case 57:if(0==(256&t))return-3;default:return n}}function D(e,t,n){switch(t){case-1:return;case-2:a(e,n?2:1);case-3:a(e,13);case-4:a(e,6);case-5:a(e,101)}}function P(e,t){const{index:n}=e;let s=67174409,r="",o=u(e);for(;96!==o;){if(36===o&&123===e.source.charCodeAt(e.index+1)){u(e),s=67174408;break}if(8==(8&o)&&92===o)if(o=u(e),o>126)r+=d(o);else{const n=b(e,1024|t,o);if(n>=0)r+=d(n);else{if(-1!==n&&65536&t){r=void 0,o=O(e,o),o<0&&(s=67174408);break}D(e,n,1)}}else e.index=e.end&&a(e,15),o=u(e)}return u(e),e.tokenValue=r,e.tokenRaw=e.source.slice(n+1,e.index-(67174409===s?1:2)),s}function O(e,t){for(;96!==t;){switch(t){case 36:{const n=e.index+1;if(n=e.end&&a(e,15),t=u(e)}return t}function L(e,t){return e.index>=e.end&&a(e,0),e.index--,e.column--,P(e,t)}function M(e,t,n){let s=e.currentChar,r=0,o=9,i=64&n?0:1,l=0,E=0;if(64&n)r="."+y(e,s),s=e.currentChar,110===s&&a(e,11);else{if(48===s)if(s=u(e),120==(32|s)){for(n=136,s=u(e);4160&m[s];)95!==s?(E=1,r=16*r+T(s),l++,s=u(e)):(E||a(e,146),E=0,s=u(e));0!==l&&E||a(e,0===l?19:147)}else if(111==(32|s)){for(n=132,s=u(e);4128&m[s];)95!==s?(E=1,r=8*r+(s-48),l++,s=u(e)):(E||a(e,146),E=0,s=u(e));0!==l&&E||a(e,0===l?0:147)}else if(98==(32|s)){for(n=130,s=u(e);4224&m[s];)95!==s?(E=1,r=2*r+(s-48),l++,s=u(e)):(E||a(e,146),E=0,s=u(e));0!==l&&E||a(e,0===l?0:147)}else if(32&m[s])for(1024&t&&a(e,1),n=1;16&m[s];){if(512&m[s]){n=32,i=0;break}r=8*r+(s-48),s=u(e)}else 512&m[s]?(1024&t&&a(e,1),e.flags|=64,n=32):95===s&&a(e,0);if(48&n){if(i){for(;o>=0&&4112&m[s];)95!==s?(E=0,r=10*r+(s-48),s=u(e),--o):(s=u(e),(95===s||32&n)&&c(e.index,e.line,e.index+1,146),E=1);if(E&&c(e.index,e.line,e.index+1,147),o>=0&&!_(s)&&46!==s)return e.tokenValue=r,512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283266}r+=y(e,s),s=e.currentChar,46===s&&(95===u(e)&&a(e,0),n=64,r+="."+y(e,e.currentChar),s=e.currentChar)}}const h=e.index;let p=0;if(110===s&&128&n)p=1,s=u(e);else if(101==(32|s)){s=u(e),256&m[s]&&(s=u(e));const{index:t}=e;0==(16&m[s])&&a(e,10),r+=e.source.substring(h,t)+y(e,s),s=e.currentChar}return(e.index","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],B=Object.create(null,{this:{value:86113},function:{value:86106},if:{value:20571},return:{value:20574},var:{value:86090},else:{value:20565},for:{value:20569},new:{value:86109},in:{value:8738868},typeof:{value:16863277},while:{value:20580},case:{value:20558},break:{value:20557},try:{value:20579},catch:{value:20559},delete:{value:16863278},throw:{value:86114},switch:{value:86112},continue:{value:20561},default:{value:20563},instanceof:{value:8476725},do:{value:20564},void:{value:16863279},finally:{value:20568},async:{value:209007},await:{value:209008},class:{value:86096},const:{value:86092},constructor:{value:12401},debugger:{value:20562},export:{value:20566},extends:{value:20567},false:{value:86021},from:{value:12404},get:{value:12402},implements:{value:36966},import:{value:86108},interface:{value:36967},let:{value:241739},null:{value:86023},of:{value:274549},package:{value:36968},private:{value:36969},protected:{value:36970},public:{value:36971},set:{value:12403},static:{value:36972},super:{value:86111},true:{value:86022},with:{value:20581},yield:{value:241773},enum:{value:86134},eval:{value:537079927},as:{value:77934},arguments:{value:537079928},target:{value:143494},meta:{value:143495}});function U(e,t,n){for(;f[u(e)];);return e.tokenValue=e.source.slice(e.tokenPos,e.index),92!==e.currentChar&&e.currentChar<126?B[e.tokenValue]||208897:v(e,t,0,n)}function x(e,t){const n=F(e);return C(n)||a(e,4),e.tokenValue=d(n),v(e,t,1,4&m[n])}function v(e,t,n,s){let r=e.index;for(;e.index=2&&o<=11){const s=B[e.tokenValue];return void 0===s?208897:n?1024&t?209008===s&&0==(4196352&t)?s:36972===s||36864==(36864&s)?122:121:1073741824&t&&0==(8192&t)&&20480==(20480&s)?s:241773===s?1073741824&t?143483:2097152&t?121:s:209007===s&&1073741824&t?143483:36864==(36864&s)||209008===s&&0==(4194304&t)?s:121:s}return 208897}function H(e){return _(u(e))||a(e,93),131}function F(e){return 117!==e.source.charCodeAt(e.index+1)&&a(e,4),e.currentChar=e.source.charCodeAt(e.index+=2),function(e){let t=0;const n=e.currentChar;if(123===n){const n=e.index-2;for(;64&m[u(e)];)t=t<<4|T(e.currentChar),t>1114111&&c(n,e.line,e.index+1,101);return 125!==e.currentChar&&c(n,e.line,e.index-1,6),u(e),t}0==(64&m[n])&&a(e,6);const s=e.source.charCodeAt(e.index+1);0==(64&m[s])&&a(e,6);const r=e.source.charCodeAt(e.index+2);0==(64&m[r])&&a(e,6);const o=e.source.charCodeAt(e.index+3);return 0==(64&m[o])&&a(e,6),t=T(n)<<12|T(s)<<8|T(r)<<4|T(o),e.currentChar=e.source.charCodeAt(e.index+=4),t}(e)}const G=[129,129,129,129,129,129,129,129,129,128,136,128,128,130,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,128,16842800,134283267,131,208897,8457015,8455751,134283267,67174411,16,8457014,25233970,18,25233971,67108877,8457016,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456258,1077936157,8456259,22,133,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,137,20,8455497,208897,132,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455240,1074790415,16842801,129];function j(e,t){if(e.flags=1^(1|e.flags),e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=Y(e,t,0),e.onToken&&1048576!==e.token){const t={start:{line:e.linePos,column:e.colPos},end:{line:e.line,column:e.column}};e.onToken(function(e){switch(e){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 132:return"TemplateLiteral";default:return 143360==(143360&e)?"Identifier":4096==(4096&e)?"Keyword":"Punctuator"}}(e.token),e.tokenPos,e.index,t)}}function Y(e,t,n){const s=0===e.index,r=e.source;let o=e.index,i=e.line,c=e.column;for(;e.index=e.end)return 8457014;const t=e.currentChar;return 61===t?(u(e),4194340):42!==t?8457014:61!==u(e)?8457273:(u(e),4194337)}case 8455497:return 61!==u(e)?8455497:(u(e),4194343);case 25233970:{u(e);const t=e.currentChar;return 43===t?(u(e),33619995):61===t?(u(e),4194338):25233970}case 25233971:{u(e);const l=e.currentChar;if(45===l){if(u(e),(1&n||s)&&62===e.currentChar){0==(256&t)&&a(e,108),u(e),n=k(e,r,n,t,3,o,i,c),o=e.tokenPos,i=e.linePos,c=e.colPos;continue}return 33619996}return 61===l?(u(e),4194339):25233971}case 8457016:if(u(e),e.index=48&&d<=57)return M(e,t,80);if(46===d){const t=e.index+1;if(t=48&&t<=57)))return u(e),67108991}return 22}}}else{if((8232^T)<=1){n=-5&n|1,p(e);continue}if(55296==(64512&T)||0!=(1&l[34816+(T>>>5)]>>>T))return 56320==(64512&T)&&(T=(1023&T)<<10|1023&T|65536,0==(1&l[0+(T>>>5)]>>>T)&&a(e,18,d(T)),e.index++,e.currentChar=T),e.column++,e.tokenValue="",v(e,t,0,0);if(160===(E=T)||65279===E||133===E||5760===E||E>=8192&&E<=8203||8239===E||8287===E||12288===E||8201===E||65519===E){u(e);continue}a(e,18,d(T))}}var E;return 1048576}const q={AElig:"Æ",AMP:"&",Aacute:"Á",Abreve:"Ă",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atilde:"Ã",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ETH:"Ð",Eacute:"É",Ecaron:"Ě",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},V={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function X(e,t){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.index>=e.end)return e.token=1048576;switch(G[e.source.charCodeAt(e.index)]){case 8456258:u(e),47===e.currentChar?(u(e),e.token=25):e.token=8456258;break;case 2162700:u(e),e.token=2162700;break;default:{let n=0;for(;e.index{if("#"===e.charAt(1)){const n=e.charAt(2);return(t="X"===n||"x"===n?parseInt(e.slice(3),16):parseInt(e.slice(2),10))>=55296&&t<=57343||t>1114111?"�":(t in V&&(t=V[t]),String.fromCodePoint(t))}var t;return q[e.slice(1,-1)]||e})),e.token=138}}return e.token}function W(e){if(143360==(143360&e.token)){const{index:t}=e;let n=e.currentChar;for(;32770&m[n];)n=u(e);e.tokenValue+=e.source.slice(t,e.index)}return e.token=208897,e.token}function Q(e,t,n){0!=(1&e.flags)||1048576==(1048576&e.token)||n||a(e,28,w[255&e.token]),J(e,t,1074790417)}function K(e,t,n,s){return t-n<13&&"use strict"===s&&(1048576==(1048576&e.token)||1&e.flags)?1:0}function z(e,t,n){return e.token!==n?0:(j(e,t),1)}function J(e,t,n){return e.token===n&&(j(e,t),!0)}function $(e,t,n){e.token!==n&&a(e,23,w[255&n]),j(e,t)}function Z(e,t){switch(t.type){case"ArrayExpression":t.type="ArrayPattern";const n=t.elements;for(let t=0,s=n.length;t0||(2048&t)>0&&(8192&t)>0)&&J(e,t,209008);$(e,32768|t,67174411),n&&(n=ce(n,1));let l,u=null,E=null,h=0,p=null,d=86090===e.token||241739===e.token||86092===e.token;const{token:T,tokenPos:m,linePos:A,colPos:f}=e;if(d?241739===T?(p=tt(e,t,0),2240512&e.token?(8738868===e.token?1024&t&&a(e,64):p=re(e,t,m,A,f,{type:"VariableDeclaration",kind:"let",declarations:De(e,134217728|t,n,8,32)}),e.assignable=1):1024&t?a(e,64):(d=!1,e.assignable=1,p=qe(e,t,p,0,0,m,A,f),274549===e.token&&a(e,111))):(j(e,t),p=re(e,t,m,A,f,86090===T?{type:"VariableDeclaration",kind:"var",declarations:De(e,134217728|t,n,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:De(e,134217728|t,n,16,32)}),e.assignable=1):1074790417===T?c&&a(e,79):2097152==(2097152&T)?(p=2162700===T?lt(e,t,void 0,1,0,0,2,32,m,A,f):at(e,t,void 0,1,0,0,2,32,m,A,f),h=e.destructible,256&t&&64&h&&a(e,60),e.assignable=16&h?2:1,p=qe(e,134217728|t,p,0,0,e.tokenPos,e.linePos,e.colPos)):p=Ye(e,134217728|t,1,0,1,m,A,f),262144==(262144&e.token))return 274549===e.token?(2&e.assignable&&a(e,77,c?"await":"of"),Z(e,p),j(e,32768|t),l=Be(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos),$(e,32768|t,16),re(e,t,r,o,i,{type:"ForOfStatement",left:p,right:l,body:Se(e,t,n,s),await:c})):(2&e.assignable&&a(e,77,"in"),Z(e,p),j(e,32768|t),c&&a(e,79),l=xe(e,t,0,1,e.tokenPos,e.linePos,e.colPos),$(e,32768|t,16),re(e,t,r,o,i,{type:"ForInStatement",body:Se(e,t,n,s),left:p,right:l}));c&&a(e,79),d||(8&h&&1077936157!==e.token&&a(e,77,"loop"),p=ve(e,134217728|t,0,0,m,A,f,p)),18===e.token&&(p=Ue(e,t,0,e.tokenPos,e.linePos,e.colPos,p)),$(e,32768|t,1074790417),1074790417!==e.token&&(u=xe(e,t,0,1,e.tokenPos,e.linePos,e.colPos)),$(e,32768|t,1074790417),16!==e.token&&(E=xe(e,t,0,1,e.tokenPos,e.linePos,e.colPos)),$(e,32768|t,16);return re(e,t,r,o,i,{type:"ForStatement",init:p,test:u,update:E,body:Se(e,t,n,s)})}(e,t,n,r,i,c,l);case 20564:return function(e,t,n,s,r,a,o){j(e,32768|t);const i=Se(e,t,n,s);$(e,t,20580),$(e,32768|t,67174411);const c=xe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);return $(e,32768|t,16),J(e,t,1074790417),re(e,t,r,a,o,{type:"DoWhileStatement",body:i,test:c})}(e,t,n,r,i,c,l);case 20580:return function(e,t,n,s,r,a,o){j(e,t),$(e,32768|t,67174411);const i=xe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);$(e,32768|t,16);return re(e,t,r,a,o,{type:"WhileStatement",test:i,body:Se(e,t,n,s)})}(e,t,n,r,i,c,l);case 86112:return function(e,t,n,s,r,o,i){j(e,t),$(e,32768|t,67174411);const c=xe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);$(e,t,16),$(e,t,2162700);const l=[];let u=0;for(n&&(n=ce(n,8));1074790415!==e.token;){const{tokenPos:r,linePos:o,colPos:i}=e;let c=null;const E=[];for(J(e,32768|t,20558)?c=xe(e,t,0,1,e.tokenPos,e.linePos,e.colPos):($(e,32768|t,20563),u&&a(e,86),u=1),$(e,32768|t,21);20558!==e.token&&1074790415!==e.token&&20563!==e.token;)E.push(Ae(e,4096|t,n,2,{$:s}));l.push(re(e,t,r,o,i,{type:"SwitchCase",test:c,consequent:E}))}return $(e,32768|t,1074790415),re(e,t,r,o,i,{type:"SwitchStatement",discriminant:c,cases:l})}(e,t,n,r,i,c,l);case 1074790417:return function(e,t,n,s,r){return j(e,32768|t),re(e,t,n,s,r,{type:"EmptyStatement"})}(e,t,i,c,l);case 2162700:return _e(e,t,n?ce(n,2):n,r,i,c,l);case 86114:return function(e,t,n,s,r){j(e,32768|t),1&e.flags&&a(e,87);const o=xe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);return Q(e,32768|t),re(e,t,n,s,r,{type:"ThrowStatement",argument:o})}(e,t,i,c,l);case 20557:return function(e,t,n,s,r,o){j(e,32768|t);let i=null;if(0==(1&e.flags)&&143360&e.token){const{tokenValue:s}=e;i=tt(e,32768|t,0),se(e,n,s,0)||a(e,134,s)}else 0==(135168&t)&&a(e,66);return Q(e,32768|t),re(e,t,s,r,o,{type:"BreakStatement",label:i})}(e,t,r,i,c,l);case 20561:return function(e,t,n,s,r,o){0==(131072&t)&&a(e,65),j(e,t);let i=null;if(0==(1&e.flags)&&143360&e.token){const{tokenValue:s}=e;i=tt(e,32768|t,0),se(e,n,s,1)||a(e,134,s)}return Q(e,32768|t),re(e,t,s,r,o,{type:"ContinueStatement",label:i})}(e,t,r,i,c,l);case 20579:return function(e,t,n,s,r,o,i){j(e,32768|t);const c=n?ce(n,32):void 0,l=_e(e,t,c,{$:s},e.tokenPos,e.linePos,e.colPos),{tokenPos:u,linePos:E,colPos:h}=e,p=J(e,32768|t,20559)?function(e,t,n,s,r,o,i){let c=null,l=n;J(e,t,67174411)&&(n&&(n=ce(n,4)),c=Rt(e,t,n,2097152==(2097152&e.token)?256:512,0,e.tokenPos,e.linePos,e.colPos),18===e.token?a(e,83):1077936157===e.token&&a(e,84),$(e,32768|t,16),n&&(l=ce(n,64)));return re(e,t,r,o,i,{type:"CatchClause",param:c,body:_e(e,t,l,{$:s},e.tokenPos,e.linePos,e.colPos)})}(e,t,n,s,u,E,h):null;let d=null;return 20568===e.token&&(j(e,32768|t),d=_e(e,t,c?ce(n,4):void 0,{$:s},e.tokenPos,e.linePos,e.colPos)),p||d||a(e,85),re(e,t,r,o,i,{type:"TryStatement",block:l,handler:p,finalizer:d})}(e,t,n,r,i,c,l);case 20581:return function(e,t,n,s,r,o,i){j(e,t),1024&t&&a(e,88),$(e,32768|t,67174411);const c=xe(e,t,0,1,e.tokenPos,e.linePos,e.colPos);$(e,32768|t,16);return re(e,t,r,o,i,{type:"WithStatement",object:c,body:fe(e,t,n,2,s,0,e.tokenPos,e.linePos,e.colPos)})}(e,t,n,r,i,c,l);case 20562:return function(e,t,n,s,r){return j(e,32768|t),Q(e,32768|t),re(e,t,n,s,r,{type:"DebuggerStatement"})}(e,t,i,c,l);case 209007:return ke(e,t,n,s,r,0,i,c,l);case 20559:a(e,156);case 20568:a(e,157);case 86106:a(e,1024&t?73:0==(256&t)?75:74);case 86096:a(e,76);default:return function(e,t,n,s,r,o,i,c,l){const{tokenValue:u,token:E}=e;let h;return 241739===E?(h=tt(e,t,0),1024&t&&a(e,82),69271571===e.token&&a(e,81)):h=Xe(e,t,2,0,1,0,0,1,e.tokenPos,e.linePos,e.colPos),143360&E&&21===e.token?ge(e,t,n,s,r,u,h,E,o,i,c,l):(h=qe(e,t,h,0,0,i,c,l),h=ve(e,t,0,0,i,c,l,h),18===e.token&&(h=Ue(e,t,0,i,c,l,h)),Ce(e,t,h,i,c,l))}(e,t,n,s,r,o,i,c,l)}}function _e(e,t,n,s,r,a,o){const i=[];for($(e,32768|t,2162700);1074790415!==e.token;)i.push(Ae(e,t,n,2,{$:s}));return $(e,32768|t,1074790415),re(e,t,r,a,o,{type:"BlockStatement",body:i})}function Ce(e,t,n,s,r,a){return Q(e,32768|t),re(e,t,s,r,a,{type:"ExpressionStatement",expression:n})}function ge(e,t,n,s,r,o,i,c,l,u,E,h){return ee(e,t,0,c,1),function(e,t,n){let s=t;for(;s;)s["$"+n]&&a(e,132,n),s=s.$;t["$"+n]=1}(e,r,o),j(e,32768|t),re(e,t,u,E,h,{type:"LabeledStatement",label:i,body:l&&0==(1024&t)&&256&t&&86106===e.token?st(e,t,ce(n,2),s,0,0,0,e.tokenPos,e.linePos,e.colPos):fe(e,t,n,s,r,l,e.tokenPos,e.linePos,e.colPos)})}function ke(e,t,n,s,r,o,i,c,l){const{token:u,tokenValue:E}=e;let h=tt(e,t,0);if(21===e.token)return ge(e,t,n,s,r,E,h,u,1,i,c,l);const p=1&e.flags;if(!p){if(86106===e.token)return o||a(e,119),st(e,t,n,s,1,0,1,i,c,l);if(143360==(143360&e.token))return h=At(e,t,1,i,c,l),18===e.token&&(h=Ue(e,t,0,i,c,l,h)),Ce(e,t,h,i,c,l)}return 67174411===e.token?h=ft(e,t,h,1,1,0,p,i,c,l):(10===e.token&&(Te(e,t,u,1),h=ht(e,t,e.tokenValue,h,0,1,0,i,c,l)),e.assignable=1),h=qe(e,t,h,0,0,i,c,l),18===e.token&&(h=Ue(e,t,0,i,c,l,h)),h=ve(e,t,0,0,i,c,l,h),e.assignable=1,Ce(e,t,h,i,c,l)}function Ie(e,t,n,s,r,a,o){return 1074790417!==s&&(e.assignable=2,n=qe(e,t,n,0,0,r,a,o),1074790417!==e.token&&(n=ve(e,t,0,0,r,a,o,n),18===e.token&&(n=Ue(e,t,0,r,a,o,n))),Q(e,32768|t)),8&t&&"Literal"===n.type&&"string"==typeof n.value?re(e,t,r,a,o,{type:"ExpressionStatement",expression:n,directive:n.raw.slice(1,-1)}):re(e,t,r,a,o,{type:"ExpressionStatement",expression:n})}function Ne(e,t,n,s,r,a,o){return 1024&t||0==(256&t)||86106!==e.token?fe(e,t,n,0,{$:s},0,e.tokenPos,e.linePos,e.colPos):st(e,t,ce(n,2),0,0,0,0,r,a,o)}function Se(e,t,n,s){return fe(e,134217728^(134217728|t)|131072,n,0,{loop:1,$:s},0,e.tokenPos,e.linePos,e.colPos)}function Re(e,t,n,s,r,a,o,i){j(e,t);const c=De(e,t,n,s,r);return Q(e,32768|t),re(e,t,a,o,i,{type:"VariableDeclaration",kind:8&s?"let":"const",declarations:c})}function be(e,t,n,s,r,a,o){j(e,t);const i=De(e,t,n,4,s);return Q(e,32768|t),re(e,t,r,a,o,{type:"VariableDeclaration",kind:"var",declarations:i})}function De(e,t,n,s,r){let o=1;const i=[Pe(e,t,n,s,r)];for(;J(e,t,18);)o++,i.push(Pe(e,t,n,s,r));return o>1&&32&r&&262144&e.token&&a(e,58,w[255&e.token]),i}function Pe(e,t,n,s,r){const{token:o,tokenPos:c,linePos:l,colPos:u}=e;let E=null;const h=Rt(e,t,n,s,r,c,l,u);return 1077936157===e.token?(j(e,32768|t),E=Be(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos),(32&r||0==(2097152&o))&&(274549===e.token||8738868===e.token&&(2097152&o||0==(4&s)||1024&t))&&i(c,e.line,e.index-3,57,274549===e.token?"of":"in")):(16&s||(2097152&o)>0)&&262144!=(262144&e.token)&&a(e,56,16&s?"const":"destructuring"),re(e,t,c,l,u,{type:"VariableDeclarator",id:h,init:E})}function Oe(e,t,n){return de(t,e.token)||a(e,114),537079808==(537079808&e.token)&&a(e,115),n&&ue(e,t,n,e.tokenValue,8,0),tt(e,t,0)}function Le(e,t,n){const{tokenPos:s,linePos:r,colPos:a}=e;return j(e,t),$(e,t,77934),134217728==(134217728&e.token)&&i(s,e.line,e.index,28,w[255&e.token]),re(e,t,s,r,a,{type:"ImportNamespaceSpecifier",local:Oe(e,t,n)})}function Me(e,t,n,s){for(j(e,t);143360&e.token;){let{token:r,tokenValue:o,tokenPos:i,linePos:c,colPos:l}=e;const u=tt(e,t,0);let E;J(e,t,77934)?(134217728==(134217728&e.token)||18===e.token?a(e,103):ee(e,t,16,e.token,0),o=e.tokenValue,E=tt(e,t,0)):(ee(e,t,16,r,0),E=u),n&&ue(e,t,n,o,8,0),s.push(re(e,t,i,c,l,{type:"ImportSpecifier",local:E,imported:u})),1074790415!==e.token&&$(e,t,18)}return $(e,t,1074790415),s}function ye(e,t,n,s,r){let a=We(e,t,re(e,t,n,s,r,{type:"Identifier",name:"import"}),n,s,r);return a=qe(e,t,a,0,0,n,s,r),a=ve(e,t,0,0,n,s,r,a),Ce(e,t,a,n,s,r)}function we(e,t,n,s,r){let a=Qe(e,t,0,n,s,r);return a=qe(e,t,a,0,0,n,s,r),Ce(e,t,a,n,s,r)}function Be(e,t,n,s,r,a,o,i){let c=Xe(e,t,2,0,n,s,r,1,a,o,i);return c=qe(e,t,c,r,0,a,o,i),ve(e,t,r,0,a,o,i,c)}function Ue(e,t,n,s,r,a,o){const i=[o];for(;J(e,32768|t,18);)i.push(Be(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos));return re(e,t,s,r,a,{type:"SequenceExpression",expressions:i})}function xe(e,t,n,s,r,a,o){const i=Be(e,t,s,0,n,r,a,o);return 18===e.token?Ue(e,t,n,r,a,o,i):i}function ve(e,t,n,s,r,o,i,c){const{token:l}=e;if(4194304==(4194304&l)){2&e.assignable&&a(e,24),(!s&&1077936157===l&&"ArrayExpression"===c.type||"ObjectExpression"===c.type)&&Z(e,c),j(e,32768|t);const u=Be(e,t,1,1,n,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,re(e,t,r,o,i,s?{type:"AssignmentPattern",left:c,right:u}:{type:"AssignmentExpression",left:c,operator:w[255&l],right:u})}return 8454144==(8454144&l)&&(c=Ge(e,t,n,r,o,i,4,l,c)),J(e,32768|t,22)&&(c=Fe(e,t,c,r,o,i)),c}function He(e,t,n,s,r,a,o,i){const{token:c}=e;j(e,32768|t);const l=Be(e,t,1,1,n,e.tokenPos,e.linePos,e.colPos);return i=re(e,t,r,a,o,s?{type:"AssignmentPattern",left:i,right:l}:{type:"AssignmentExpression",left:i,operator:w[255&c],right:l}),e.assignable=2,i}function Fe(e,t,n,s,r,a){const o=Be(e,134217728^(134217728|t),1,0,0,e.tokenPos,e.linePos,e.colPos);$(e,32768|t,21),e.assignable=1;const i=Be(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,re(e,t,s,r,a,{type:"ConditionalExpression",test:n,consequent:o,alternate:i})}function Ge(e,t,n,s,r,o,i,c,l){const u=8738868&-((134217728&t)>0);let E,h;for(e.assignable=2;8454144&e.token&&(E=e.token,h=3840&E,(524288&E&&268435456&c||524288&c&&268435456&E)&&a(e,159),!(h+((8457273===E)<<8)-((u===E)<<12)<=i));)j(e,32768|t),l=re(e,t,s,r,o,{type:524288&E||268435456&E?"LogicalExpression":"BinaryExpression",left:l,right:Ge(e,t,n,e.tokenPos,e.linePos,e.colPos,h,E,Ye(e,t,0,n,1,e.tokenPos,e.linePos,e.colPos)),operator:w[255&E]});return 1077936157===e.token&&a(e,24),l}function je(e,t,n,s,r,c){const{tokenPos:l,linePos:u,colPos:E}=e;$(e,32768|t,2162700);const h=[],p=t;if(1074790415!==e.token){for(;134283267===e.token;){const{index:n,tokenPos:s,tokenValue:r,token:a}=e,o=nt(e,t);K(e,n,s,r)&&(t|=1024,128&e.flags&&i(e.index,e.line,e.tokenPos,63),64&e.flags&&i(e.index,e.line,e.tokenPos,8)),h.push(Ie(e,t,o,a,s,e.linePos,e.colPos))}1024&t&&(r&&(537079808==(537079808&r)&&a(e,115),36864==(36864&r)&&a(e,38)),512&e.flags&&a(e,115),256&e.flags&&a(e,114)),64&t&&n&&void 0!==c&&0==(1024&p)&&0==(8192&t)&&o(c)}for(e.flags=832^(832|e.flags),e.destructible=256^(256|e.destructible);1074790415!==e.token;)h.push(Ae(e,t,n,4,{}));return $(e,24&s?32768|t:t,1074790415),e.flags&=-193,1077936157===e.token&&a(e,24),re(e,t,l,u,E,{type:"BlockStatement",body:h})}function Ye(e,t,n,s,r,a,o,i){return qe(e,t,Xe(e,t,2,0,n,0,s,r,a,o,i),s,0,a,o,i)}function qe(e,t,n,s,r,o,i,c){if(33619968==(33619968&e.token)&&0==(1&e.flags))n=function(e,t,n,s,r,o){2&e.assignable&&a(e,52);const{token:i}=e;return j(e,t),e.assignable=2,re(e,t,s,r,o,{type:"UpdateExpression",argument:n,operator:w[255&i],prefix:!1})}(e,t,n,o,i,c);else if(67108864==(67108864&e.token)){switch(t=134217728^(134217728|t),e.token){case 67108877:j(e,8192^(1073750016|t)),e.assignable=1,n=re(e,t,o,i,c,{type:"MemberExpression",object:n,computed:!1,property:Ve(e,t)});break;case 69271571:{let r=!1;2048==(2048&e.flags)&&(r=!0,e.flags=2048^(2048|e.flags)),j(e,32768|t);const{tokenPos:a,linePos:l,colPos:u}=e,E=xe(e,t,s,1,a,l,u);$(e,t,20),e.assignable=1,n=re(e,t,o,i,c,{type:"MemberExpression",object:n,computed:!0,property:E}),r&&(e.flags|=2048);break}case 67174411:{if(1024==(1024&e.flags))return e.flags=1024^(1024|e.flags),n;let r=!1;2048==(2048&e.flags)&&(r=!0,e.flags=2048^(2048|e.flags));const a=et(e,t,s);e.assignable=2,n=re(e,t,o,i,c,{type:"CallExpression",callee:n,arguments:a}),r&&(e.flags|=2048);break}case 67108991:j(e,8192^(1073750016|t)),e.flags|=2048,e.assignable=2,n=function(e,t,n,s,r,o){let i,c=!1;if(69271571!==e.token&&67174411!==e.token||2048==(2048&e.flags)&&(c=!0,e.flags=2048^(2048|e.flags)),69271571===e.token){j(e,32768|t);const{tokenPos:a,linePos:c,colPos:l}=e,u=xe(e,t,0,1,a,c,l);$(e,t,20),e.assignable=2,i=re(e,t,s,r,o,{type:"MemberExpression",object:n,computed:!0,optional:!0,property:u})}else if(67174411===e.token){const a=et(e,t,0);e.assignable=2,i=re(e,t,s,r,o,{type:"CallExpression",callee:n,arguments:a,optional:!0})}else{0==(143360&e.token)&&a(e,154);const c=tt(e,t,0);e.assignable=2,i=re(e,t,s,r,o,{type:"MemberExpression",object:n,computed:!1,optional:!0,property:c})}return c&&(e.flags|=2048),i}(e,t,n,o,i,c);break;default:2048==(2048&e.flags)&&a(e,160),e.assignable=2,n=re(e,t,o,i,c,{type:"TaggedTemplateExpression",tag:n,quasi:67174408===e.token?Je(e,65536|t):ze(e,t,e.tokenPos,e.linePos,e.colPos)})}n=qe(e,t,n,0,1,o,i,c)}return 0===r&&2048==(2048&e.flags)&&(e.flags=2048^(2048|e.flags),n=re(e,t,o,i,c,{type:"ChainExpression",expression:n})),n}function Ve(e,t){return 0==(143360&e.token)&&131!==e.token&&a(e,154),1&t&&131===e.token?Nt(e,t,e.tokenPos,e.linePos,e.colPos):tt(e,t,0)}function Xe(e,t,n,s,r,o,c,l,u,E,h){if(143360==(143360&e.token)){switch(e.token){case 209008:return function(e,t,n,s,r,o,c){if(s&&(e.destructible|=128),4194304&t||2048&t&&8192&t){n&&a(e,0),8388608&t&&i(e.index,e.line,e.index,29),j(e,32768|t);const s=Ye(e,t,0,0,1,e.tokenPos,e.linePos,e.colPos);return 8457273===e.token&&a(e,31),e.assignable=2,re(e,t,r,o,c,{type:"AwaitExpression",argument:s})}return 2048&t&&a(e,95),Et(e,t,r,o,c)}(e,t,s,c,u,E,h);case 241773:return function(e,t,n,s,r,o,i){if(n&&(e.destructible|=256),2097152&t){j(e,32768|t),8388608&t&&a(e,30),s||a(e,24),22===e.token&&a(e,120);let n=null,c=!1;return 0==(1&e.flags)&&(c=J(e,32768|t,8457014),(77824&e.token||c)&&(n=Be(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos))),e.assignable=2,re(e,t,r,o,i,{type:"YieldExpression",argument:n,delegate:c})}return 1024&t&&a(e,94,"yield"),Et(e,t,r,o,i)}(e,t,c,r,u,E,h);case 209007:return function(e,t,n,s,r,o,i,c,l,u){const{token:E}=e,h=tt(e,t,o),{flags:p}=e;if(0==(1&p)){if(86106===e.token)return rt(e,t,1,n,c,l,u);if(143360==(143360&e.token))return s||a(e,0),At(e,t,r,c,l,u)}return i||67174411!==e.token?10===e.token?(Te(e,t,E,1),i&&a(e,48),ht(e,t,e.tokenValue,h,i,r,0,c,l,u)):h:ft(e,t,h,r,1,0,p,c,l,u)}(e,t,c,l,r,o,s,u,E,h)}const{token:p,tokenValue:d}=e,T=tt(e,65536|t,o);return 10===e.token?(l||a(e,0),Te(e,t,p,1),ht(e,t,d,T,s,r,0,u,E,h)):(16384&t&&537079928===p&&a(e,126),241739===p&&(1024&t&&a(e,109),24&n&&a(e,97)),e.assignable=1024&t&&537079808==(537079808&p)?2:1,T)}if(134217728==(134217728&e.token))return nt(e,t);switch(e.token){case 33619995:case 33619996:return function(e,t,n,s,r,o,i){n&&a(e,53),s||a(e,0);const{token:c}=e;j(e,32768|t);const l=Ye(e,t,0,0,1,e.tokenPos,e.linePos,e.colPos);return 2&e.assignable&&a(e,52),e.assignable=2,re(e,t,r,o,i,{type:"UpdateExpression",argument:l,operator:w[255&c],prefix:!0})}(e,t,s,l,u,E,h);case 16863278:case 16842800:case 16842801:case 25233970:case 25233971:case 16863277:case 16863279:return function(e,t,n,s,r,o,i){n||a(e,0);const c=e.token;j(e,32768|t);const l=Ye(e,t,0,i,1,e.tokenPos,e.linePos,e.colPos);var u;return 8457273===e.token&&a(e,31),1024&t&&16863278===c&&("Identifier"===l.type?a(e,117):(u=l).property&&"PrivateIdentifier"===u.property.type&&a(e,123)),e.assignable=2,re(e,t,s,r,o,{type:"UnaryExpression",operator:w[255&c],argument:l,prefix:!0})}(e,t,l,u,E,h,c);case 86106:return rt(e,t,0,c,u,E,h);case 2162700:return function(e,t,n,s,r,o,i){const c=lt(e,t,void 0,n,s,0,2,0,r,o,i);return 256&t&&64&e.destructible&&a(e,60),8&e.destructible&&a(e,59),c}(e,t,r?0:1,c,u,E,h);case 69271571:return function(e,t,n,s,r,o,i){const c=at(e,t,void 0,n,s,0,2,0,r,o,i);return 256&t&&64&e.destructible&&a(e,60),8&e.destructible&&a(e,59),c}(e,t,r?0:1,c,u,E,h);case 67174411:return function(e,t,n,s,r,o,i,c){e.flags=128^(128|e.flags);const{tokenPos:l,linePos:u,colPos:E}=e;j(e,1073774592|t);const h=64&t?ce({parent:void 0,type:2},1024):void 0;if(J(e,t=134217728^(134217728|t),16))return pt(e,t,h,[],n,0,o,i,c);let p,d=0;e.destructible&=-385;let T=[],m=0,A=0;const{tokenPos:f,linePos:_,colPos:C}=e;for(e.assignable=1;16!==e.token;){const{token:n,tokenPos:s,linePos:r,colPos:o}=e;if(143360&n)h&&ue(e,t,h,e.tokenValue,1,0),p=Xe(e,t,1,0,1,0,1,1,s,r,o),16===e.token||18===e.token?2&e.assignable?(d|=16,A=1):537079808!=(537079808&n)&&36864!=(36864&n)||(A=1):(1077936157===e.token?A=1:d|=16,p=qe(e,t,p,1,0,s,r,o),16!==e.token&&18!==e.token&&(p=ve(e,t,1,0,s,r,o,p)));else{if(2097152!=(2097152&n)){if(14===n){p=it(e,t,h,16,1,0,0,1,0,s,r,o),16&e.destructible&&a(e,71),A=1,!m||16!==e.token&&18!==e.token||T.push(p),d|=8;break}if(d|=16,p=Be(e,t,1,0,1,s,r,o),!m||16!==e.token&&18!==e.token||T.push(p),18===e.token&&(m||(m=1,T=[p])),m){for(;J(e,32768|t,18);)T.push(Be(e,t,1,0,1,e.tokenPos,e.linePos,e.colPos));e.assignable=2,p=re(e,t,f,_,C,{type:"SequenceExpression",expressions:T})}return $(e,t,16),e.destructible=d,p}p=2162700===n?lt(e,1073741824|t,h,0,1,0,1,0,s,r,o):at(e,1073741824|t,h,0,1,0,1,0,s,r,o),d|=e.destructible,A=1,e.assignable=2,16!==e.token&&18!==e.token&&(8&d&&a(e,118),p=qe(e,t,p,0,0,s,r,o),d|=16,16!==e.token&&18!==e.token&&(p=ve(e,t,0,0,s,r,o,p)))}if(!m||16!==e.token&&18!==e.token||T.push(p),!J(e,32768|t,18))break;if(m||(m=1,T=[p]),16===e.token){d|=8;break}}return m&&(e.assignable=2,p=re(e,t,f,_,C,{type:"SequenceExpression",expressions:T})),$(e,t,16),16&d&&8&d&&a(e,145),d|=256&e.destructible?256:0|128&e.destructible?128:0,10===e.token?(48&d&&a(e,46),4196352&t&&128&d&&a(e,29),2098176&t&&256&d&&a(e,30),A&&(e.flags|=128),pt(e,t,h,m?T:[p],n,0,o,i,c)):(8&d&&a(e,139),e.destructible=256^(256|e.destructible)|d,128&t?re(e,t,l,u,E,{type:"ParenthesizedExpression",expression:p}):p)}(e,t,r,0,0,u,E,h);case 86021:case 86022:case 86023:return function(e,t,n,s,r){const a=w[255&e.token],o=86023===e.token?null:"true"===a;return j(e,t),e.assignable=2,re(e,t,n,s,r,512&t?{type:"Literal",value:o,raw:a}:{type:"Literal",value:o})}(e,t,u,E,h);case 86113:return function(e,t){const{tokenPos:n,linePos:s,colPos:r}=e;return j(e,t),e.assignable=2,re(e,t,n,s,r,{type:"ThisExpression"})}(e,t);case 65540:return function(e,t,n,s,r){const{tokenRaw:a,tokenRegExp:o,tokenValue:i}=e;return j(e,t),e.assignable=2,re(e,t,n,s,r,512&t?{type:"Literal",value:i,regex:o,raw:a}:{type:"Literal",value:i,regex:o})}(e,t,u,E,h);case 133:case 86096:return function(e,t,n,s,r,o){let i=null,c=null;const l=Ct(e,t=16777216^(16778240|t));l.length&&(s=e.tokenPos,r=e.linePos,o=e.colPos),j(e,t),4096&e.token&&20567!==e.token&&(ne(e,t,e.token)&&a(e,114),537079808==(537079808&e.token)&&a(e,115),i=tt(e,t,0));let u=t;J(e,32768|t,20567)?(c=Ye(e,t,0,n,0,e.tokenPos,e.linePos,e.colPos),u|=524288):u=524288^(524288|u);const E=kt(e,u,t,void 0,2,0,n);return e.assignable=2,re(e,t,s,r,o,1&t?{type:"ClassExpression",id:i,superClass:c,decorators:l,body:E}:{type:"ClassExpression",id:i,superClass:c,body:E})}(e,t,c,u,E,h);case 86111:return function(e,t,n,s,r){switch(j(e,t),e.token){case 67108991:a(e,161);case 67174411:0==(524288&t)&&a(e,26),16384&t&&a(e,27),e.assignable=2;break;case 69271571:case 67108877:0==(262144&t)&&a(e,27),16384&t&&a(e,27),e.assignable=1;break;default:a(e,28,"super")}return re(e,t,n,s,r,{type:"Super"})}(e,t,u,E,h);case 67174409:return ze(e,t,u,E,h);case 67174408:return Je(e,t);case 86109:return function(e,t,n,s,r,o){const i=tt(e,32768|t,0),{tokenPos:c,linePos:l,colPos:u}=e;if(J(e,t,67108877)){if(67108864&t&&143494===e.token)return e.assignable=2,function(e,t,n,s,r,a){return re(e,t,s,r,a,{type:"MetaProperty",meta:n,property:tt(e,t,0)})}(e,t,i,s,r,o);a(e,91)}e.assignable=2,16842752==(16842752&e.token)&&a(e,62,w[255&e.token]);const E=Xe(e,t,2,1,0,0,n,1,c,l,u);t=134217728^(134217728|t),67108991===e.token&&a(e,162);const h=mt(e,t,E,n,c,l,u);return e.assignable=2,re(e,t,s,r,o,{type:"NewExpression",callee:h,arguments:67174411===e.token?et(e,t,n):[]})}(e,t,c,u,E,h);case 134283389:return Ke(e,t,u,E,h);case 131:return Nt(e,t,u,E,h);case 86108:return function(e,t,n,s,r,o,i){let c=tt(e,t,0);return 67108877===e.token?We(e,t,c,r,o,i):(n&&a(e,137),c=Qe(e,t,s,r,o,i),e.assignable=2,qe(e,t,c,s,0,r,o,i))}(e,t,s,c,u,E,h);case 8456258:if(16&t)return Dt(e,t,1,u,E,h);default:if(de(t,e.token))return Et(e,t,u,E,h);a(e,28,w[255&e.token])}}function We(e,t,n,s,r,o){return 0==(2048&t)&&a(e,163),j(e,t),143495!==e.token&&"meta"!==e.tokenValue&&a(e,28,w[255&e.token]),e.assignable=2,re(e,t,s,r,o,{type:"MetaProperty",meta:n,property:tt(e,t,0)})}function Qe(e,t,n,s,r,o){$(e,32768|t,67174411),14===e.token&&a(e,138);const i=Be(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos);return $(e,t,16),re(e,t,s,r,o,{type:"ImportExpression",source:i})}function Ke(e,t,n,s,r){const{tokenRaw:a,tokenValue:o}=e;return j(e,t),e.assignable=2,re(e,t,n,s,r,512&t?{type:"Literal",value:o,bigint:a.slice(0,-1),raw:a}:{type:"Literal",value:o,bigint:a.slice(0,-1)})}function ze(e,t,n,s,r){e.assignable=2;const{tokenValue:a,tokenRaw:o,tokenPos:i,linePos:c,colPos:l}=e;return $(e,t,67174409),re(e,t,n,s,r,{type:"TemplateLiteral",expressions:[],quasis:[$e(e,t,a,o,i,c,l,!0)]})}function Je(e,t){t=134217728^(134217728|t);const{tokenValue:n,tokenRaw:s,tokenPos:r,linePos:o,colPos:i}=e;$(e,32768|t,67174408);const c=[$e(e,t,n,s,r,o,i,!1)],l=[xe(e,t,0,1,e.tokenPos,e.linePos,e.colPos)];for(1074790415!==e.token&&a(e,80);67174409!==(e.token=L(e,t));){const{tokenValue:n,tokenRaw:s,tokenPos:r,linePos:o,colPos:i}=e;$(e,32768|t,67174408),c.push($e(e,t,n,s,r,o,i,!1)),l.push(xe(e,t,0,1,e.tokenPos,e.linePos,e.colPos)),1074790415!==e.token&&a(e,80)}{const{tokenValue:n,tokenRaw:s,tokenPos:r,linePos:a,colPos:o}=e;$(e,t,67174409),c.push($e(e,t,n,s,r,a,o,!0))}return re(e,t,r,o,i,{type:"TemplateLiteral",expressions:l,quasis:c})}function $e(e,t,n,s,r,a,o,i){const c=re(e,t,r,a,o,{type:"TemplateElement",value:{cooked:n,raw:s},tail:i}),l=i?1:2;return 2&t&&(c.start+=1,c.range[0]+=1,c.end-=l,c.range[1]-=l),4&t&&(c.loc.start.column+=1,c.loc.end.column-=l),c}function Ze(e,t,n,s,r){$(e,32768|(t=134217728^(134217728|t)),14);const a=Be(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=1,re(e,t,n,s,r,{type:"SpreadElement",argument:a})}function et(e,t,n){j(e,32768|t);const s=[];if(16===e.token)return j(e,t),s;for(;16!==e.token&&(14===e.token?s.push(Ze(e,t,e.tokenPos,e.linePos,e.colPos)):s.push(Be(e,t,1,0,n,e.tokenPos,e.linePos,e.colPos)),18===e.token)&&(j(e,32768|t),16!==e.token););return $(e,t,16),s}function tt(e,t,n){const{tokenValue:s,tokenPos:r,linePos:a,colPos:o}=e;return j(e,t),re(e,t,r,a,o,268435456&t?{type:"Identifier",name:s,pattern:1===n}:{type:"Identifier",name:s})}function nt(e,t){const{tokenValue:n,tokenRaw:s,tokenPos:r,linePos:a,colPos:o}=e;return 134283389===e.token?Ke(e,t,r,a,o):(j(e,t),e.assignable=2,re(e,t,r,a,o,512&t?{type:"Literal",value:n,raw:s}:{type:"Literal",value:n}))}function st(e,t,n,s,r,o,i,c,l,u){j(e,32768|t);const E=r?z(e,t,8457014):0;let h,p=null,d=n?{parent:void 0,type:2}:void 0;if(67174411===e.token)0==(1&o)&&a(e,37,"Function");else{const r=4&s&&(0==(8192&t)||0==(2048&t))?4:64;te(e,t|(3072&t)<<11,e.token),n&&(4&r?Ee(e,t,n,e.tokenValue,r):ue(e,t,n,e.tokenValue,r,s),d=ce(d,256),o&&2&o&&he(e,e.tokenValue)),h=e.token,143360&e.token?p=tt(e,t,0):a(e,28,w[255&e.token])}return t=32243712^(32243712|t)|67108864|2*i+E<<21|(E?0:1073741824),n&&(d=ce(d,512)),re(e,t,c,l,u,{type:"FunctionDeclaration",id:p,params:Tt(e,8388608|t,d,0,1),body:je(e,143360^(143360|t),n?ce(d,128):d,8,h,n?d.scopeError:void 0),async:1===i,generator:1===E})}function rt(e,t,n,s,r,a,o){j(e,32768|t);const i=z(e,t,8457014),c=2*n+i<<21;let l,u=null,E=64&t?{parent:void 0,type:2}:void 0;(176128&e.token)>0&&(te(e,32243712^(32243712|t)|c,e.token),E&&(E=ce(E,256)),l=e.token,u=tt(e,t,0)),t=32243712^(32243712|t)|67108864|c|(i?0:1073741824),E&&(E=ce(E,512));const h=Tt(e,8388608|t,E,s,1),p=je(e,-134377473&t,E?ce(E,128):E,0,l,void 0);return e.assignable=2,re(e,t,r,a,o,{type:"FunctionExpression",id:u,params:h,body:p,async:1===n,generator:1===i})}function at(e,t,n,s,r,o,i,c,l,u,E){j(e,32768|t);const h=[];let p=0;for(t=134217728^(134217728|t);20!==e.token;)if(J(e,32768|t,18))h.push(null);else{let s;const{token:l,tokenPos:u,linePos:E,colPos:d,tokenValue:T}=e;if(143360&l)if(s=Xe(e,t,i,0,1,0,r,1,u,E,d),1077936157===e.token){2&e.assignable&&a(e,24),j(e,32768|t),n&&le(e,t,n,T,i,c);const l=Be(e,t,1,1,r,e.tokenPos,e.linePos,e.colPos);s=re(e,t,u,E,d,o?{type:"AssignmentPattern",left:s,right:l}:{type:"AssignmentExpression",operator:"=",left:s,right:l}),p|=256&e.destructible?256:0|128&e.destructible?128:0}else 18===e.token||20===e.token?(2&e.assignable?p|=16:n&&le(e,t,n,T,i,c),p|=256&e.destructible?256:0|128&e.destructible?128:0):(p|=1&i?32:0==(2&i)?16:0,s=qe(e,t,s,r,0,u,E,d),18!==e.token&&20!==e.token?(1077936157!==e.token&&(p|=16),s=ve(e,t,r,o,u,E,d,s)):1077936157!==e.token&&(p|=2&e.assignable?16:32));else 2097152&l?(s=2162700===e.token?lt(e,t,n,0,r,o,i,c,u,E,d):at(e,t,n,0,r,o,i,c,u,E,d),p|=e.destructible,e.assignable=16&e.destructible?2:1,18===e.token||20===e.token?2&e.assignable&&(p|=16):8&e.destructible?a(e,68):(s=qe(e,t,s,r,0,u,E,d),p=2&e.assignable?16:0,18!==e.token&&20!==e.token?s=ve(e,t,r,o,u,E,d,s):1077936157!==e.token&&(p|=2&e.assignable?16:32))):14===l?(s=it(e,t,n,20,i,c,0,r,o,u,E,d),p|=e.destructible,18!==e.token&&20!==e.token&&a(e,28,w[255&e.token])):(s=Ye(e,t,1,0,1,u,E,d),18!==e.token&&20!==e.token?(s=ve(e,t,r,o,u,E,d,s),0==(3&i)&&67174411===l&&(p|=16)):2&e.assignable?p|=16:67174411===l&&(p|=1&e.assignable&&3&i?32:16));if(h.push(s),!J(e,32768|t,18))break;if(20===e.token)break}$(e,t,20);const d=re(e,t,l,u,E,{type:o?"ArrayPattern":"ArrayExpression",elements:h});return!s&&4194304&e.token?ot(e,t,p,r,o,l,u,E,d):(e.destructible=p,d)}function ot(e,t,n,s,r,o,i,c,l){1077936157!==e.token&&a(e,24),j(e,32768|t),16&n&&a(e,24),r||Z(e,l);const{tokenPos:u,linePos:E,colPos:h}=e,p=Be(e,t,1,1,s,u,E,h);return e.destructible=72^(72|n)|(128&e.destructible?128:0)|(256&e.destructible?256:0),re(e,t,o,i,c,r?{type:"AssignmentPattern",left:l,right:p}:{type:"AssignmentExpression",left:l,operator:"=",right:p})}function it(e,t,n,s,r,o,i,c,l,u,E,h){j(e,32768|t);let p=null,d=0,{token:T,tokenValue:m,tokenPos:A,linePos:f,colPos:_}=e;if(143360&T)e.assignable=1,p=Xe(e,t,r,0,1,0,c,1,A,f,_),T=e.token,p=qe(e,t,p,c,0,A,f,_),18!==e.token&&e.token!==s&&(2&e.assignable&&1077936157===e.token&&a(e,68),d|=16,p=ve(e,t,c,l,A,f,_,p)),2&e.assignable?d|=16:T===s||18===T?n&&le(e,t,n,m,r,o):d|=32,d|=128&e.destructible?128:0;else if(T===s)a(e,39);else{if(!(2097152&T)){d|=32,p=Ye(e,t,1,c,1,e.tokenPos,e.linePos,e.colPos);const{token:n,tokenPos:r,linePos:o,colPos:i}=e;return 1077936157===n&&n!==s&&18!==n?(2&e.assignable&&a(e,24),p=ve(e,t,c,l,r,o,i,p),d|=16):(18===n?d|=16:n!==s&&(p=ve(e,t,c,l,r,o,i,p)),d|=1&e.assignable?32:16),e.destructible=d,e.token!==s&&18!==e.token&&a(e,155),re(e,t,u,E,h,{type:l?"RestElement":"SpreadElement",argument:p})}p=2162700===e.token?lt(e,t,n,1,c,l,r,o,A,f,_):at(e,t,n,1,c,l,r,o,A,f,_),T=e.token,1077936157!==T&&T!==s&&18!==T?(8&e.destructible&&a(e,68),p=qe(e,t,p,c,0,A,f,_),d|=2&e.assignable?16:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(d|=16),p=ve(e,t,c,l,A,f,_,p)):(8454144==(8454144&e.token)&&(p=Ge(e,t,1,A,f,_,4,T,p)),J(e,32768|t,22)&&(p=Fe(e,t,p,A,f,_)),d|=2&e.assignable?16:32)):d|=1074790415===s&&1077936157!==T?16:e.destructible}if(e.token!==s)if(1&r&&(d|=i?16:32),J(e,32768|t,1077936157)){16&d&&a(e,24),Z(e,p);const n=Be(e,t,1,1,c,e.tokenPos,e.linePos,e.colPos);p=re(e,t,A,f,_,l?{type:"AssignmentPattern",left:p,right:n}:{type:"AssignmentExpression",left:p,operator:"=",right:n}),d=16}else d|=16;return e.destructible=d,re(e,t,u,E,h,{type:l?"RestElement":"SpreadElement",argument:p})}function ct(e,t,n,s,r,i,c){const l=0==(64&n)?31981568:14680064;let u=64&(t=(t|l)^l|(88&n)<<18|100925440)?ce({parent:void 0,type:2},512):void 0;const E=function(e,t,n,s,r,i){$(e,t,67174411);const c=[];if(e.flags=128^(128|e.flags),16===e.token)return 512&s&&a(e,35,"Setter","one",""),j(e,t),c;256&s&&a(e,35,"Getter","no","s"),512&s&&14===e.token&&a(e,36),t=134217728^(134217728|t);let l=0,u=0;for(;18!==e.token;){let r=null;const{tokenPos:o,linePos:E,colPos:h}=e;if(143360&e.token?(0==(1024&t)&&(36864==(36864&e.token)&&(e.flags|=256),537079808==(537079808&e.token)&&(e.flags|=512)),r=bt(e,t,n,1|s,0,o,E,h)):(2162700===e.token?r=lt(e,t,n,1,i,1,1,0,o,E,h):69271571===e.token?r=at(e,t,n,1,i,1,1,0,o,E,h):14===e.token&&(r=it(e,t,n,16,1,0,0,i,1,o,E,h)),u=1,48&e.destructible&&a(e,47)),1077936157===e.token&&(j(e,32768|t),u=1,r=re(e,t,o,E,h,{type:"AssignmentPattern",left:r,right:Be(e,t,1,1,0,e.tokenPos,e.linePos,e.colPos)})),l++,c.push(r),!J(e,t,18))break;if(16===e.token)break}return 512&s&&1!==l&&a(e,35,"Setter","one",""),n&&void 0!==n.scopeError&&o(n.scopeError),u&&(e.flags|=128),$(e,t,16),c}(e,8388608|t,u,n,0,s);return u&&(u=ce(u,128)),re(e,t,r,i,c,{type:"FunctionExpression",params:E,body:je(e,-134230017&t,u,0,void 0,void 0),async:(16&n)>0,generator:(8&n)>0,id:null})}function lt(e,t,n,s,r,o,c,l,u,E,h){j(e,t);const p=[];let d=0,T=0;for(t=134217728^(134217728|t);1074790415!==e.token;){const{token:s,tokenValue:u,linePos:E,colPos:h,tokenPos:m}=e;if(14===s)p.push(it(e,t,n,1074790415,c,l,0,r,o,m,E,h));else{let A,f=0,_=null;const C=e.token;if(143360&e.token||121===e.token)if(_=tt(e,t,0),18===e.token||1074790415===e.token||1077936157===e.token)if(f|=4,1024&t&&537079808==(537079808&s)?d|=16:ee(e,t,c,s,0),n&&le(e,t,n,u,c,l),J(e,32768|t,1077936157)){d|=8;const n=Be(e,t,1,1,r,e.tokenPos,e.linePos,e.colPos);d|=256&e.destructible?256:0|128&e.destructible?128:0,A=re(e,t,m,E,h,{type:"AssignmentPattern",left:-2147483648&t?Object.assign({},_):_,right:n})}else d|=(209008===s?128:0)|(121===s?16:0),A=-2147483648&t?Object.assign({},_):_;else if(J(e,32768|t,21)){const{tokenPos:i,linePos:E,colPos:h}=e;if("__proto__"===u&&T++,143360&e.token){const s=e.token,a=e.tokenValue;d|=121===C?16:0,A=Xe(e,t,c,0,1,0,r,1,i,E,h);const{token:u}=e;A=qe(e,t,A,r,0,i,E,h),18===e.token||1074790415===e.token?1077936157===u||1074790415===u||18===u?(d|=128&e.destructible?128:0,2&e.assignable?d|=16:n&&143360==(143360&s)&&le(e,t,n,a,c,l)):d|=1&e.assignable?32:16:4194304==(4194304&e.token)?(2&e.assignable?d|=16:1077936157!==u?d|=32:n&&le(e,t,n,a,c,l),A=ve(e,t,r,o,i,E,h,A)):(d|=16,8454144==(8454144&e.token)&&(A=Ge(e,t,1,i,E,h,4,u,A)),J(e,32768|t,22)&&(A=Fe(e,t,A,i,E,h)))}else 2097152==(2097152&e.token)?(A=69271571===e.token?at(e,t,n,0,r,o,c,l,i,E,h):lt(e,t,n,0,r,o,c,l,i,E,h),d=e.destructible,e.assignable=16&d?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(d|=16):8&e.destructible?a(e,68):(A=qe(e,t,A,r,0,i,E,h),d=2&e.assignable?16:0,4194304==(4194304&e.token)?A=He(e,t,r,o,i,E,h,A):(8454144==(8454144&e.token)&&(A=Ge(e,t,1,i,E,h,4,s,A)),J(e,32768|t,22)&&(A=Fe(e,t,A,i,E,h)),d|=2&e.assignable?16:32))):(A=Ye(e,t,1,r,1,i,E,h),d|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(d|=16):(A=qe(e,t,A,r,0,i,E,h),d=2&e.assignable?16:0,18!==e.token&&1074790415!==s&&(1077936157!==e.token&&(d|=16),A=ve(e,t,r,o,i,E,h,A))))}else 69271571===e.token?(d|=16,209007===s&&(f|=16),f|=2|(12402===s?256:12403===s?512:1),_=ut(e,t,r),d|=e.assignable,A=ct(e,t,f,r,e.tokenPos,e.linePos,e.colPos)):143360&e.token?(d|=16,121===s&&a(e,92),209007===s&&(1&e.flags&&a(e,128),f|=16),_=tt(e,t,0),f|=12402===s?256:12403===s?512:1,A=ct(e,t,f,r,e.tokenPos,e.linePos,e.colPos)):67174411===e.token?(d|=16,f|=1,A=ct(e,t,f,r,e.tokenPos,e.linePos,e.colPos)):8457014===e.token?(d|=16,12402===s||12403===s?a(e,40):143483===s&&a(e,92),j(e,t),f|=9|(209007===s?16:0),143360&e.token?_=tt(e,t,0):134217728==(134217728&e.token)?_=nt(e,t):69271571===e.token?(f|=2,_=ut(e,t,r),d|=e.assignable):a(e,28,w[255&e.token]),A=ct(e,t,f,r,e.tokenPos,e.linePos,e.colPos)):134217728==(134217728&e.token)?(209007===s&&(f|=16),f|=12402===s?256:12403===s?512:1,d|=16,_=nt(e,t),A=ct(e,t,f,r,e.tokenPos,e.linePos,e.colPos)):a(e,129);else if(134217728==(134217728&e.token))if(_=nt(e,t),21===e.token){$(e,32768|t,21);const{tokenPos:a,linePos:i,colPos:E}=e;if("__proto__"===u&&T++,143360&e.token){A=Xe(e,t,c,0,1,0,r,1,a,i,E);const{token:s,tokenValue:u}=e;A=qe(e,t,A,r,0,a,i,E),18===e.token||1074790415===e.token?1077936157===s||1074790415===s||18===s?2&e.assignable?d|=16:n&&le(e,t,n,u,c,l):d|=1&e.assignable?32:16:1077936157===e.token?(2&e.assignable&&(d|=16),A=ve(e,t,r,o,a,i,E,A)):(d|=16,A=ve(e,t,r,o,a,i,E,A))}else 2097152==(2097152&e.token)?(A=69271571===e.token?at(e,t,n,0,r,o,c,l,a,i,E):lt(e,t,n,0,r,o,c,l,a,i,E),d=e.destructible,e.assignable=16&d?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(d|=16):8!=(8&e.destructible)&&(A=qe(e,t,A,r,0,a,i,E),d=2&e.assignable?16:0,4194304==(4194304&e.token)?A=He(e,t,r,o,a,i,E,A):(8454144==(8454144&e.token)&&(A=Ge(e,t,1,a,i,E,4,s,A)),J(e,32768|t,22)&&(A=Fe(e,t,A,a,i,E)),d|=2&e.assignable?16:32))):(A=Ye(e,t,1,0,1,a,i,E),d|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(d|=16):(A=qe(e,t,A,r,0,a,i,E),d=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(d|=16),A=ve(e,t,r,o,a,i,E,A))))}else 67174411===e.token?(f|=1,A=ct(e,t,f,r,e.tokenPos,e.linePos,e.colPos),d=16|e.assignable):a(e,130);else if(69271571===e.token)if(_=ut(e,t,r),d|=256&e.destructible?256:0,f|=2,21===e.token){j(e,32768|t);const{tokenPos:i,linePos:u,colPos:E,tokenValue:h,token:p}=e;if(143360&e.token){A=Xe(e,t,c,0,1,0,r,1,i,u,E);const{token:s}=e;A=qe(e,t,A,r,0,i,u,E),4194304==(4194304&e.token)?(d|=2&e.assignable?16:1077936157===s?0:32,A=He(e,t,r,o,i,u,E,A)):18===e.token||1074790415===e.token?1077936157===s||1074790415===s||18===s?2&e.assignable?d|=16:n&&143360==(143360&p)&&le(e,t,n,h,c,l):d|=1&e.assignable?32:16:(d|=16,A=ve(e,t,r,o,i,u,E,A))}else 2097152==(2097152&e.token)?(A=69271571===e.token?at(e,t,n,0,r,o,c,l,i,u,E):lt(e,t,n,0,r,o,c,l,i,u,E),d=e.destructible,e.assignable=16&d?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(d|=16):8&d?a(e,59):(A=qe(e,t,A,r,0,i,u,E),d=2&e.assignable?16|d:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(d|=16),A=He(e,t,r,o,i,u,E,A)):(8454144==(8454144&e.token)&&(A=Ge(e,t,1,i,u,E,4,s,A)),J(e,32768|t,22)&&(A=Fe(e,t,A,i,u,E)),d|=2&e.assignable?16:32))):(A=Ye(e,t,1,0,1,i,u,E),d|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(d|=16):(A=qe(e,t,A,r,0,i,u,E),d=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(d|=16),A=ve(e,t,r,o,i,u,E,A))))}else 67174411===e.token?(f|=1,A=ct(e,t,f,r,e.tokenPos,E,h),d=16):a(e,41);else if(8457014===s)if($(e,32768|t,8457014),f|=8,143360&e.token){const{token:n,line:s,index:a}=e;_=tt(e,t,0),f|=1,67174411===e.token?(d|=16,A=ct(e,t,f,r,e.tokenPos,e.linePos,e.colPos)):i(a,s,a,209007===n?43:12402===n||12403===e.token?42:44,w[255&n])}else 134217728==(134217728&e.token)?(d|=16,_=nt(e,t),f|=1,A=ct(e,t,f,r,m,E,h)):69271571===e.token?(d|=16,f|=3,_=ut(e,t,r),A=ct(e,t,f,r,e.tokenPos,e.linePos,e.colPos)):a(e,122);else a(e,28,w[255&s]);d|=128&e.destructible?128:0,e.destructible=d,p.push(re(e,t,m,E,h,{type:"Property",key:_,value:A,kind:768&f?512&f?"set":"get":"init",computed:(2&f)>0,method:(1&f)>0,shorthand:(4&f)>0}))}if(d|=e.destructible,18!==e.token)break;j(e,t)}$(e,t,1074790415),T>1&&(d|=64);const m=re(e,t,u,E,h,{type:o?"ObjectPattern":"ObjectExpression",properties:p});return!s&&4194304&e.token?ot(e,t,d,r,o,u,E,h,m):(e.destructible=d,m)}function ut(e,t,n){j(e,32768|t);const s=Be(e,134217728^(134217728|t),1,0,n,e.tokenPos,e.linePos,e.colPos);return $(e,t,20),s}function Et(e,t,n,s,r){const{tokenValue:a}=e,o=tt(e,t,0);if(e.assignable=1,10===e.token){let i;return 64&t&&(i=oe(e,t,a)),e.flags=128^(128|e.flags),dt(e,t,i,[o],0,n,s,r)}return o}function ht(e,t,n,s,r,o,i,c,l,u){return o||a(e,54),r&&a(e,48),e.flags&=-129,dt(e,t,64&t?oe(e,t,n):void 0,[s],i,c,l,u)}function pt(e,t,n,s,r,o,i,c,l){r||a(e,54);for(let t=0;t0&&"constructor"===e.tokenValue&&a(e,106),1074790415===e.token&&a(e,105),J(e,t,1074790417)?o>0&&a(e,116):E.push(It(e,t,s,n,r,h,0,i,e.tokenPos,e.linePos,e.colPos))}return $(e,8&o?32768|t:t,1074790415),re(e,t,c,l,u,{type:"ClassBody",body:E})}function It(e,t,n,s,r,o,i,c,l,u,E){let h=i?32:0,p=null;const{token:d,tokenPos:T,linePos:m,colPos:A}=e;if(176128&d)switch(p=tt(e,t,0),d){case 36972:if(!i&&67174411!==e.token)return It(e,t,n,s,r,o,1,c,l,u,E);break;case 209007:if(67174411!==e.token&&0==(1&e.flags)){if(1&t&&1073741824==(1073741824&e.token))return St(e,t,p,h,o,T,m,A);h|=16|(z(e,t,8457014)?8:0)}break;case 12402:if(67174411!==e.token){if(1&t&&1073741824==(1073741824&e.token))return St(e,t,p,h,o,T,m,A);h|=256}break;case 12403:if(67174411!==e.token){if(1&t&&1073741824==(1073741824&e.token))return St(e,t,p,h,o,T,m,A);h|=512}}else if(69271571===d)h|=2,p=ut(e,s,c);else if(134217728==(134217728&d))p=nt(e,t);else if(8457014===d)h|=8,j(e,t);else if(1&t&&131===e.token)h|=4096,p=Nt(e,16384|t,T,m,A);else if(1&t&&1073741824==(1073741824&e.token))h|=128;else{if(i&&2162700===d)return function(e,t,n,s,r,a){n&&(n=ce(n,2));const o=540672;t=(t|o)^o|262144;const{body:i}=_e(e,t,n,{},s,r,a);return re(e,t,s,r,a,{type:"StaticBlock",body:i})}(e,t,n,T,m,A);122===d?(p=tt(e,t,0),67174411!==e.token&&a(e,28,w[255&e.token])):a(e,28,w[255&e.token])}if(792&h&&(143360&e.token?p=tt(e,t,0):134217728==(134217728&e.token)?p=nt(e,t):69271571===e.token?(h|=2,p=ut(e,t,0)):122===e.token?p=tt(e,t,0):1&t&&131===e.token?(h|=4096,p=Nt(e,t,T,m,A)):a(e,131)),0==(2&h)&&("constructor"===e.tokenValue?(1073741824==(1073741824&e.token)?a(e,125):0==(32&h)&&67174411===e.token&&(920&h?a(e,50,"accessor"):0==(524288&t)&&(32&e.flags?a(e,51):e.flags|=32)),h|=64):0==(4096&h)&&824&h&&"prototype"===e.tokenValue&&a(e,49)),1&t&&67174411!==e.token)return St(e,t,p,h,o,T,m,A);const f=ct(e,t,h,c,e.tokenPos,e.linePos,e.colPos);return re(e,t,l,u,E,1&t?{type:"MethodDefinition",kind:0==(32&h)&&64&h?"constructor":256&h?"get":512&h?"set":"method",static:(32&h)>0,computed:(2&h)>0,key:p,decorators:o,value:f}:{type:"MethodDefinition",kind:0==(32&h)&&64&h?"constructor":256&h?"get":512&h?"set":"method",static:(32&h)>0,computed:(2&h)>0,key:p,value:f})}function Nt(e,t,n,s,r){j(e,t);const{tokenValue:o}=e;return"constructor"===o&&a(e,124),j(e,t),re(e,t,n,s,r,{type:"PrivateIdentifier",name:o})}function St(e,t,n,s,r,o,i,c){let l=null;if(8&s&&a(e,0),1077936157===e.token){j(e,32768|t);const{tokenPos:n,linePos:s,colPos:r}=e;537079928===e.token&&a(e,115),l=Xe(e,16384|t,2,0,1,0,0,1,n,s,r),1073741824!=(1073741824&e.token)&&(l=qe(e,16384|t,l,0,0,n,s,r),l=ve(e,16384|t,0,0,n,s,r,l),18===e.token&&(l=Ue(e,t,0,o,i,c,l)))}return re(e,t,o,i,c,{type:"PropertyDefinition",key:n,value:l,static:(32&s)>0,computed:(2&s)>0,decorators:r})}function Rt(e,t,n,s,r,o,i,c){if(143360&e.token)return bt(e,t,n,s,r,o,i,c);2097152!=(2097152&e.token)&&a(e,28,w[255&e.token]);const l=69271571===e.token?at(e,t,n,1,0,1,s,r,o,i,c):lt(e,t,n,1,0,1,s,r,o,i,c);return 16&e.destructible&&a(e,47),32&e.destructible&&a(e,47),l}function bt(e,t,n,s,r,o,i,c){const{tokenValue:l,token:u}=e;return 1024&t&&(537079808==(537079808&u)?a(e,115):36864==(36864&u)&&a(e,114)),20480==(20480&u)&&a(e,99),2099200&t&&241773===u&&a(e,30),241739===u&&24&s&&a(e,97),4196352&t&&209008===u&&a(e,95),j(e,t),n&&le(e,t,n,l,s,r),re(e,t,o,i,c,{type:"Identifier",name:l})}function Dt(e,t,n,s,r,o){if(j(e,t),8456259===e.token)return re(e,t,s,r,o,{type:"JSXFragment",openingFragment:Pt(e,t,s,r,o),children:Lt(e,t),closingFragment:Ot(e,t,0,e.tokenPos,e.linePos,e.colPos)});let i=null,c=[];const l=function(e,t,n,s,r,o){143360!=(143360&e.token)&&4096!=(4096&e.token)&&a(e,0);const i=yt(e,t,e.tokenPos,e.linePos,e.colPos),c=function(e,t){const n=[];for(;8457016!==e.token&&8456259!==e.token&&1048576!==e.token;)n.push(Bt(e,t,e.tokenPos,e.linePos,e.colPos));return n}(e,t),l=8457016===e.token;return 8456259===e.token?X(e,t):($(e,t,8457016),n?$(e,t,8456259):X(e,t)),re(e,t,s,r,o,{type:"JSXOpeningElement",name:i,attributes:c,selfClosing:l})}(e,t,n,s,r,o);if(!l.selfClosing){c=Lt(e,t),i=function(e,t,n,s,r,a){$(e,t,25);const o=yt(e,t,e.tokenPos,e.linePos,e.colPos);return n?$(e,t,8456259):e.token=X(e,t),re(e,t,s,r,a,{type:"JSXClosingElement",name:o})}(e,t,n,e.tokenPos,e.linePos,e.colPos);const s=ae(i.name);ae(l.name)!==s&&a(e,149,s)}return re(e,t,s,r,o,{type:"JSXElement",children:c,openingElement:l,closingElement:i})}function Pt(e,t,n,s,r){return X(e,t),re(e,t,n,s,r,{type:"JSXOpeningFragment"})}function Ot(e,t,n,s,r,a){return $(e,t,25),$(e,t,8456259),re(e,t,s,r,a,{type:"JSXClosingFragment"})}function Lt(e,t){const n=[];for(;25!==e.token;)e.index=e.tokenPos=e.startPos,e.column=e.colPos=e.startColumn,e.line=e.linePos=e.startLine,X(e,t),n.push(Mt(e,t,e.tokenPos,e.linePos,e.colPos));return n}function Mt(e,t,n,s,r){return 138===e.token?function(e,t,n,s,r){X(e,t);const a={type:"JSXText",value:e.tokenValue};return 512&t&&(a.raw=e.tokenRaw),re(e,t,n,s,r,a)}(e,t,n,s,r):2162700===e.token?xt(e,t,0,0,n,s,r):8456258===e.token?Dt(e,t,0,n,s,r):void a(e,0)}function yt(e,t,n,s,r){W(e);let a=vt(e,t,n,s,r);if(21===e.token)return Ut(e,t,a,n,s,r);for(;J(e,t,67108877);)W(e),a=wt(e,t,a,n,s,r);return a}function wt(e,t,n,s,r,a){return re(e,t,s,r,a,{type:"JSXMemberExpression",object:n,property:vt(e,t,e.tokenPos,e.linePos,e.colPos)})}function Bt(e,t,n,s,r){if(2162700===e.token)return function(e,t,n,s,r){j(e,t),$(e,t,14);const a=Be(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return $(e,t,1074790415),re(e,t,n,s,r,{type:"JSXSpreadAttribute",argument:a})}(e,t,n,s,r);W(e);let o=null,i=vt(e,t,n,s,r);if(21===e.token&&(i=Ut(e,t,i,n,s,r)),1077936157===e.token){const n=function(e,t){return e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.token=8192&m[e.currentChar]?function(e,t){const n=e.currentChar;let s=u(e);const r=e.index;for(;s!==n;)e.index>=e.end&&a(e,14),s=u(e);return s!==n&&a(e,14),e.tokenValue=e.source.slice(r,e.index),u(e),512&t&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283267}(e,t):Y(e,t,0),e.token}(e,t),{tokenPos:s,linePos:r,colPos:i}=e;switch(n){case 134283267:o=nt(e,t);break;case 8456258:o=Dt(e,t,1,s,r,i);break;case 2162700:o=xt(e,t,1,1,s,r,i);break;default:a(e,148)}}return re(e,t,n,s,r,{type:"JSXAttribute",value:o,name:i})}function Ut(e,t,n,s,r,a){return $(e,t,21),re(e,t,s,r,a,{type:"JSXNamespacedName",namespace:n,name:vt(e,t,e.tokenPos,e.linePos,e.colPos)})}function xt(e,t,n,s,r,o,i){j(e,32768|t);const{tokenPos:c,linePos:l,colPos:u}=e;if(14===e.token)return function(e,t,n,s,r){$(e,t,14);const a=Be(e,t,1,0,0,e.tokenPos,e.linePos,e.colPos);return $(e,t,1074790415),re(e,t,n,s,r,{type:"JSXSpreadChild",expression:a})}(e,t,c,l,u);let E=null;return 1074790415===e.token?(s&&a(e,151),E=function(e,t,n,s,r){return e.startPos=e.tokenPos,e.startLine=e.linePos,e.startColumn=e.colPos,re(e,t,n,s,r,{type:"JSXEmptyExpression"})}(e,t,e.startPos,e.startLine,e.startColumn)):E=Be(e,t,1,0,0,c,l,u),n?$(e,t,1074790415):X(e,t),re(e,t,r,o,i,{type:"JSXExpressionContainer",expression:E})}function vt(e,t,n,s,r){const{tokenValue:a}=e;return j(e,t),re(e,t,n,s,r,{type:"JSXIdentifier",name:a})}function Ht(e,t){return function(e,t,n){let s,r,o="";null!=t&&(t.module&&(n|=3072),t.next&&(n|=1),t.loc&&(n|=4),t.ranges&&(n|=2),t.uniqueKeyInPattern&&(n|=-2147483648),t.lexical&&(n|=64),t.webcompat&&(n|=256),t.directives&&(n|=520),t.globalReturn&&(n|=32),t.raw&&(n|=512),t.preserveParens&&(n|=128),t.impliedStrict&&(n|=1024),t.jsx&&(n|=16),t.identifierPattern&&(n|=268435456),t.specDeviation&&(n|=536870912),t.source&&(o=t.source),null!=t.onComment&&(s=Array.isArray(t.onComment)?function(e,t){return function(n,s,r,a,o){const i={type:n,value:s};2&e&&(i.start=r,i.end=a,i.range=[r,a]),4&e&&(i.loc=o),t.push(i)}}(n,t.onComment):t.onComment),null!=t.onToken&&(r=Array.isArray(t.onToken)?function(e,t){return function(n,s,r,a){const o={token:n};2&e&&(o.start=s,o.end=r,o.range=[s,r]),4&e&&(o.loc=a),t.push(o)}}(n,t.onToken):t.onToken));const i=function(e,t,n,s){return{source:e,flags:0,index:0,line:1,column:0,startPos:0,end:e.length,tokenPos:0,startColumn:0,colPos:0,linePos:1,startLine:1,sourceFile:t,tokenValue:"",token:1048576,tokenRaw:"",tokenRegExp:void 0,currentChar:e.charCodeAt(0),exportedNames:[],exportedBindings:[],assignable:1,destructible:0,onComment:n,onToken:s,leadingDecorators:[]}}(e,o,s,r);1&n&&function(e){const t=e.source;35===e.currentChar&&33===t.charCodeAt(e.index+1)&&(u(e),u(e),I(e,t,0,4,e.tokenPos,e.linePos,e.colPos))}(i);const c=64&n?{parent:void 0,type:2}:void 0;let l=[],E="script";if(2048&n){if(E="module",l=function(e,t,n){j(e,32768|t);const s=[];if(8&t)for(;134283267===e.token;){const{tokenPos:n,linePos:r,colPos:a,token:o}=e;s.push(Ie(e,t,nt(e,t),o,n,r,a))}for(;1048576!==e.token;)s.push(me(e,t,n));return s}(i,8192|n,c),c)for(const e in i.exportedBindings)"#"!==e[0]||c[e]||a(i,142,e.slice(1))}else l=function(e,t,n){j(e,1073774592|t);const s=[];for(;134283267===e.token;){const{index:n,tokenPos:r,tokenValue:a,linePos:o,colPos:i,token:c}=e,l=nt(e,t);K(e,n,r,a)&&(t|=1024),s.push(Ie(e,t,l,c,r,o,i))}for(;1048576!==e.token;)s.push(Ae(e,t,n,4,{}));return s}(i,8192|n,c);const h={type:"Program",sourceType:E,body:l};return 2&n&&(h.start=0,h.end=e.length,h.range=[0,e.length]),4&n&&(h.loc={start:{line:1,column:0},end:{line:i.line,column:i.column}},i.sourceFile&&(h.loc.source=o)),h}(e,t,0)}var Ft=n(392);function Gt(e){let t=function(e){try{return Ht(e,{module:!0})}catch(e){return console.log(e),Ht("")}}(e);return t=jt(t,null,((e,t)=>("MemberExpression"===e.type&&("CallExpression"!==t.type||"Identifier"===e.object.type&&["location","localStorage","sessionStorage"].includes(e.object.name))&&(e.object=function(e){if("Identifier"===e.type)switch(e.name){case"self":e.name="__self";break;case"window":e.name="__window";break;case"parent":e.name="__parent";break;case"location":e.name="__location";break;case"localStorage":e.name="__localStorage";break;case"sessionStorage":e.name="__sessionStorage";break;case"top":e.name="__top"}return e}(e.object)),e))),(0,Ft.R)(t,{format:{quotes:"double"}})}function jt(e,t,n){if(!e||"object"!=typeof e)return e;e=n(e,t);for(let t in e)if(Array.isArray(e[t]))for(let s in e[t])e[t][s]=jt(e[t][s],e[t],n);else e[t]=jt(e[t],e,n);return e}function Yt(e,t){const n=self.__osana$config;if(new RegExp(`^${n.prefix}`).test(e))return e;let s;if("window"in self&&(s=new URL(n.codec.decode(location.pathname.replace(new RegExp(`^${n.prefix}`),"")))),t&&(s=new URL(t)),/^(#|about|data|mailto):/.test(e))return e;if(/^javascript:/.test(e))return`javascript:${Gt(e.slice("javascript:".length))}`;if(!s)return e;try{return`${n.prefix}${n.codec.encode(new URL(e,s.href).href)}`}catch(t){return`${n.prefix}${n.codec.encode(e)}`}}function qt(e,t){return e.replace(/(?<=url\("?'?)[^"'][\S]*[^"'](?="?'?\);?)/g,Yt("$&",t))}function Vt(e,t){return e.host=t.host,e}function Xt(e,t){return["Cache-Control","Content-Security-Policy","Content-Security-Policy-Report-Only","Cross-Origin-Opener-Policy","Cross-Origin-Opener-Policy-Report-Only","Report-To","Strict-Transport-Security","X-Content-Type-Options","X-Frame-Options","Access-Control-Allow-Origin"].forEach((t=>{delete e[t],delete e[t.toLowerCase()]})),e.Location=Yt(e.Location||e.location),e}const Wt=new Set([65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]),Qt="�";var Kt;!function(e){e[e.EOF=-1]="EOF",e[e.NULL=0]="NULL",e[e.TABULATION=9]="TABULATION",e[e.CARRIAGE_RETURN=13]="CARRIAGE_RETURN",e[e.LINE_FEED=10]="LINE_FEED",e[e.FORM_FEED=12]="FORM_FEED",e[e.SPACE=32]="SPACE",e[e.EXCLAMATION_MARK=33]="EXCLAMATION_MARK",e[e.QUOTATION_MARK=34]="QUOTATION_MARK",e[e.NUMBER_SIGN=35]="NUMBER_SIGN",e[e.AMPERSAND=38]="AMPERSAND",e[e.APOSTROPHE=39]="APOSTROPHE",e[e.HYPHEN_MINUS=45]="HYPHEN_MINUS",e[e.SOLIDUS=47]="SOLIDUS",e[e.DIGIT_0=48]="DIGIT_0",e[e.DIGIT_9=57]="DIGIT_9",e[e.SEMICOLON=59]="SEMICOLON",e[e.LESS_THAN_SIGN=60]="LESS_THAN_SIGN",e[e.EQUALS_SIGN=61]="EQUALS_SIGN",e[e.GREATER_THAN_SIGN=62]="GREATER_THAN_SIGN",e[e.QUESTION_MARK=63]="QUESTION_MARK",e[e.LATIN_CAPITAL_A=65]="LATIN_CAPITAL_A",e[e.LATIN_CAPITAL_F=70]="LATIN_CAPITAL_F",e[e.LATIN_CAPITAL_X=88]="LATIN_CAPITAL_X",e[e.LATIN_CAPITAL_Z=90]="LATIN_CAPITAL_Z",e[e.RIGHT_SQUARE_BRACKET=93]="RIGHT_SQUARE_BRACKET",e[e.GRAVE_ACCENT=96]="GRAVE_ACCENT",e[e.LATIN_SMALL_A=97]="LATIN_SMALL_A",e[e.LATIN_SMALL_F=102]="LATIN_SMALL_F",e[e.LATIN_SMALL_X=120]="LATIN_SMALL_X",e[e.LATIN_SMALL_Z=122]="LATIN_SMALL_Z",e[e.REPLACEMENT_CHARACTER=65533]="REPLACEMENT_CHARACTER"}(Kt||(Kt={}));const zt="[CDATA[",Jt="doctype",$t="script";function Zt(e){return e>=55296&&e<=57343}function en(e){return 32!==e&&10!==e&&13!==e&&9!==e&&12!==e&&e>=1&&e<=31||e>=127&&e<=159}function tn(e){return e>=64976&&e<=65007||Wt.has(e)}var nn,sn;!function(e){e.controlCharacterInInputStream="control-character-in-input-stream",e.noncharacterInInputStream="noncharacter-in-input-stream",e.surrogateInInputStream="surrogate-in-input-stream",e.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",e.endTagWithAttributes="end-tag-with-attributes",e.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",e.unexpectedSolidusInTag="unexpected-solidus-in-tag",e.unexpectedNullCharacter="unexpected-null-character",e.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",e.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",e.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",e.missingEndTagName="missing-end-tag-name",e.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",e.unknownNamedCharacterReference="unknown-named-character-reference",e.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",e.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",e.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",e.eofBeforeTagName="eof-before-tag-name",e.eofInTag="eof-in-tag",e.missingAttributeValue="missing-attribute-value",e.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",e.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",e.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",e.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",e.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",e.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",e.missingDoctypePublicIdentifier="missing-doctype-public-identifier",e.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",e.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",e.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",e.cdataInHtmlContent="cdata-in-html-content",e.incorrectlyOpenedComment="incorrectly-opened-comment",e.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",e.eofInDoctype="eof-in-doctype",e.nestedComment="nested-comment",e.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",e.eofInComment="eof-in-comment",e.incorrectlyClosedComment="incorrectly-closed-comment",e.eofInCdata="eof-in-cdata",e.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",e.nullCharacterReference="null-character-reference",e.surrogateCharacterReference="surrogate-character-reference",e.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",e.controlCharacterReference="control-character-reference",e.noncharacterCharacterReference="noncharacter-character-reference",e.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",e.missingDoctypeName="missing-doctype-name",e.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",e.duplicateAttribute="duplicate-attribute",e.nonConformingDoctype="non-conforming-doctype",e.missingDoctype="missing-doctype",e.misplacedDoctype="misplaced-doctype",e.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",e.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",e.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",e.openElementsLeftAfterEof="open-elements-left-after-eof",e.abandonedHeadElementChild="abandoned-head-element-child",e.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",e.nestedNoscriptInHead="nested-noscript-in-head",e.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"}(nn||(nn={}));class rn{constructor(e){this.handler=e,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=65536,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+Number(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(e){const{line:t,col:n,offset:s}=this;return{code:e,startLine:t,endLine:t,startCol:n,endCol:n,startOffset:s,endOffset:s}}_err(e){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(e)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(e){if(this.pos!==this.html.length-1){const t=this.html.charCodeAt(this.pos+1);if(function(e){return e>=56320&&e<=57343}(t))return this.pos++,this._addGap(),1024*(e-55296)+9216+t}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,Kt.EOF;return this._err(nn.surrogateInInputStream),e}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(e,t){this.html.length>0?this.html+=e:this.html=e,this.endOfChunkHit=!1,this.lastChunkWritten=t}insertHtmlAtCurrentPos(e){this.html=this.html.substring(0,this.pos+1)+e+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(e,t){if(this.pos+e.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(t)return this.html.startsWith(e,this.pos);for(let t=0;t=this.html.length?(this.endOfChunkHit=!this.lastChunkWritten,Kt.EOF):this.html.charCodeAt(t)}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,Kt.EOF;let e=this.html.charCodeAt(this.pos);return e===Kt.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,Kt.LINE_FEED):e===Kt.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,Zt(e)&&(e=this._processSurrogate(e)),null===this.handler.onParseError||e>31&&e<127||e===Kt.LINE_FEED||e===Kt.CARRIAGE_RETURN||e>159&&e<64976||this._checkForProblematicCharacters(e),e)}_checkForProblematicCharacters(e){en(e)?this._err(nn.controlCharacterInInputStream):tn(e)&&this._err(nn.noncharacterInInputStream)}retreat(e){for(this.pos-=e;this.pos=0;n--)if(e.attrs[n].name===t)return e.attrs[n].value;return null}!function(e){e[e.CHARACTER=0]="CHARACTER",e[e.NULL_CHARACTER=1]="NULL_CHARACTER",e[e.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER",e[e.START_TAG=3]="START_TAG",e[e.END_TAG=4]="END_TAG",e[e.COMMENT=5]="COMMENT",e[e.DOCTYPE=6]="DOCTYPE",e[e.EOF=7]="EOF",e[e.HIBERNATION=8]="HIBERNATION"}(sn||(sn={}));const on=new Uint16Array([7489,60,213,305,650,1181,1403,1488,1653,1758,1954,2006,2063,2634,2705,3489,3693,3849,3878,4298,4648,4833,5141,5277,5315,5343,5413,0,0,0,0,0,0,5483,5837,6541,7186,7645,8062,8288,8624,8845,9152,9211,9282,10276,10514,11528,11848,12238,12310,12986,13881,14252,14590,14888,14961,15072,15150,2048,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,92,98,102,109,115,127,132,139,144,149,152,166,179,185,200,207,108,105,103,32827,198,16582,80,32827,38,16422,99,117,116,101,32827,193,16577,114,101,118,101,59,16642,256,105,121,120,125,114,99,32827,194,16578,59,17424,114,59,49152,55349,56580,114,97,118,101,32827,192,16576,112,104,97,59,17297,97,99,114,59,16640,100,59,27219,256,103,112,157,161,111,110,59,16644,102,59,49152,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,24673,105,110,103,32827,197,16581,256,99,115,190,195,114,59,49152,55349,56476,105,103,110,59,25172,105,108,100,101,32827,195,16579,109,108,32827,196,16580,1024,97,99,101,102,111,114,115,117,229,251,254,279,284,290,295,298,256,99,114,234,242,107,115,108,97,115,104,59,25110,374,246,248,59,27367,101,100,59,25350,121,59,17425,384,99,114,116,261,267,276,97,117,115,101,59,25141,110,111,117,108,108,105,115,59,24876,97,59,17298,114,59,49152,55349,56581,112,102,59,49152,55349,56633,101,118,101,59,17112,99,242,275,109,112,101,113,59,25166,1792,72,79,97,99,100,101,102,104,105,108,111,114,115,117,333,337,342,384,414,418,437,439,442,476,533,627,632,638,99,121,59,17447,80,89,32827,169,16553,384,99,112,121,349,354,378,117,116,101,59,16646,256,59,105,359,360,25298,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,24901,108,101,121,115,59,24877,512,97,101,105,111,393,398,404,408,114,111,110,59,16652,100,105,108,32827,199,16583,114,99,59,16648,110,105,110,116,59,25136,111,116,59,16650,256,100,110,423,429,105,108,108,97,59,16568,116,101,114,68,111,116,59,16567,242,383,105,59,17319,114,99,108,101,512,68,77,80,84,455,459,465,470,111,116,59,25241,105,110,117,115,59,25238,108,117,115,59,25237,105,109,101,115,59,25239,111,256,99,115,482,504,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,25138,101,67,117,114,108,121,256,68,81,515,527,111,117,98,108,101,81,117,111,116,101,59,24605,117,111,116,101,59,24601,512,108,110,112,117,542,552,583,597,111,110,256,59,101,549,550,25143,59,27252,384,103,105,116,559,566,570,114,117,101,110,116,59,25185,110,116,59,25135,111,117,114,73,110,116,101,103,114,97,108,59,25134,256,102,114,588,590,59,24834,111,100,117,99,116,59,25104,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,25139,111,115,115,59,27183,99,114,59,49152,55349,56478,112,256,59,67,644,645,25299,97,112,59,25165,1408,68,74,83,90,97,99,101,102,105,111,115,672,684,688,692,696,715,727,737,742,819,1165,256,59,111,377,677,116,114,97,104,100,59,26897,99,121,59,17410,99,121,59,17413,99,121,59,17423,384,103,114,115,703,708,711,103,101,114,59,24609,114,59,24993,104,118,59,27364,256,97,121,720,725,114,111,110,59,16654,59,17428,108,256,59,116,733,734,25095,97,59,17300,114,59,49152,55349,56583,256,97,102,747,807,256,99,109,752,802,114,105,116,105,99,97,108,512,65,68,71,84,768,774,790,796,99,117,116,101,59,16564,111,372,779,781,59,17113,98,108,101,65,99,117,116,101,59,17117,114,97,118,101,59,16480,105,108,100,101,59,17116,111,110,100,59,25284,102,101,114,101,110,116,105,97,108,68,59,24902,1136,829,0,0,0,834,852,0,1029,102,59,49152,55349,56635,384,59,68,69,840,841,845,16552,111,116,59,24796,113,117,97,108,59,25168,98,108,101,768,67,68,76,82,85,86,867,882,898,975,994,1016,111,110,116,111,117,114,73,110,116,101,103,114,97,236,569,111,628,889,0,0,891,187,841,110,65,114,114,111,119,59,25043,256,101,111,903,932,102,116,384,65,82,84,912,918,929,114,114,111,119,59,25040,105,103,104,116,65,114,114,111,119,59,25044,101,229,714,110,103,256,76,82,939,964,101,102,116,256,65,82,947,953,114,114,111,119,59,26616,105,103,104,116,65,114,114,111,119,59,26618,105,103,104,116,65,114,114,111,119,59,26617,105,103,104,116,256,65,84,984,990,114,114,111,119,59,25042,101,101,59,25256,112,577,1001,0,0,1007,114,114,111,119,59,25041,111,119,110,65,114,114,111,119,59,25045,101,114,116,105,99,97,108,66,97,114,59,25125,110,768,65,66,76,82,84,97,1042,1066,1072,1118,1151,892,114,114,111,119,384,59,66,85,1053,1054,1058,24979,97,114,59,26899,112,65,114,114,111,119,59,25077,114,101,118,101,59,17169,101,102,116,722,1082,0,1094,0,1104,105,103,104,116,86,101,99,116,111,114,59,26960,101,101,86,101,99,116,111,114,59,26974,101,99,116,111,114,256,59,66,1113,1114,25021,97,114,59,26966,105,103,104,116,468,1127,0,1137,101,101,86,101,99,116,111,114,59,26975,101,99,116,111,114,256,59,66,1146,1147,25025,97,114,59,26967,101,101,256,59,65,1158,1159,25252,114,114,111,119,59,24999,256,99,116,1170,1175,114,59,49152,55349,56479,114,111,107,59,16656,2048,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1213,1216,1220,1227,1246,1250,1255,1262,1269,1313,1327,1334,1362,1373,1376,1381,71,59,16714,72,32827,208,16592,99,117,116,101,32827,201,16585,384,97,105,121,1234,1239,1244,114,111,110,59,16666,114,99,32827,202,16586,59,17453,111,116,59,16662,114,59,49152,55349,56584,114,97,118,101,32827,200,16584,101,109,101,110,116,59,25096,256,97,112,1274,1278,99,114,59,16658,116,121,595,1286,0,0,1298,109,97,108,108,83,113,117,97,114,101,59,26107,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,26027,256,103,112,1318,1322,111,110,59,16664,102,59,49152,55349,56636,115,105,108,111,110,59,17301,117,256,97,105,1340,1353,108,256,59,84,1346,1347,27253,105,108,100,101,59,25154,108,105,98,114,105,117,109,59,25036,256,99,105,1367,1370,114,59,24880,109,59,27251,97,59,17303,109,108,32827,203,16587,256,105,112,1386,1391,115,116,115,59,25091,111,110,101,110,116,105,97,108,69,59,24903,640,99,102,105,111,115,1413,1416,1421,1458,1484,121,59,17444,114,59,49152,55349,56585,108,108,101,100,595,1431,0,0,1443,109,97,108,108,83,113,117,97,114,101,59,26108,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,26026,880,1466,0,1471,0,0,1476,102,59,49152,55349,56637,65,108,108,59,25088,114,105,101,114,116,114,102,59,24881,99,242,1483,1536,74,84,97,98,99,100,102,103,111,114,115,116,1512,1516,1519,1530,1536,1554,1558,1563,1565,1571,1644,1650,99,121,59,17411,32827,62,16446,109,109,97,256,59,100,1527,1528,17299,59,17372,114,101,118,101,59,16670,384,101,105,121,1543,1548,1552,100,105,108,59,16674,114,99,59,16668,59,17427,111,116,59,16672,114,59,49152,55349,56586,59,25305,112,102,59,49152,55349,56638,101,97,116,101,114,768,69,70,71,76,83,84,1589,1604,1614,1622,1627,1638,113,117,97,108,256,59,76,1598,1599,25189,101,115,115,59,25307,117,108,108,69,113,117,97,108,59,25191,114,101,97,116,101,114,59,27298,101,115,115,59,25207,108,97,110,116,69,113,117,97,108,59,27262,105,108,100,101,59,25203,99,114,59,49152,55349,56482,59,25195,1024,65,97,99,102,105,111,115,117,1669,1675,1686,1691,1694,1706,1726,1738,82,68,99,121,59,17450,256,99,116,1680,1684,101,107,59,17095,59,16478,105,114,99,59,16676,114,59,24844,108,98,101,114,116,83,112,97,99,101,59,24843,496,1711,0,1714,102,59,24845,105,122,111,110,116,97,108,76,105,110,101,59,25856,256,99,116,1731,1733,242,1705,114,111,107,59,16678,109,112,324,1744,1752,111,119,110,72,117,109,240,303,113,117,97,108,59,25167,1792,69,74,79,97,99,100,102,103,109,110,111,115,116,117,1786,1790,1795,1799,1806,1818,1822,1825,1832,1860,1912,1931,1935,1941,99,121,59,17429,108,105,103,59,16690,99,121,59,17409,99,117,116,101,32827,205,16589,256,105,121,1811,1816,114,99,32827,206,16590,59,17432,111,116,59,16688,114,59,24849,114,97,118,101,32827,204,16588,384,59,97,112,1824,1839,1855,256,99,103,1844,1847,114,59,16682,105,110,97,114,121,73,59,24904,108,105,101,243,989,500,1865,0,1890,256,59,101,1869,1870,25132,256,103,114,1875,1880,114,97,108,59,25131,115,101,99,116,105,111,110,59,25282,105,115,105,98,108,101,256,67,84,1900,1906,111,109,109,97,59,24675,105,109,101,115,59,24674,384,103,112,116,1919,1923,1928,111,110,59,16686,102,59,49152,55349,56640,97,59,17305,99,114,59,24848,105,108,100,101,59,16680,491,1946,0,1950,99,121,59,17414,108,32827,207,16591,640,99,102,111,115,117,1964,1975,1980,1986,2e3,256,105,121,1969,1973,114,99,59,16692,59,17433,114,59,49152,55349,56589,112,102,59,49152,55349,56641,483,1991,0,1996,114,59,49152,55349,56485,114,99,121,59,17416,107,99,121,59,17412,896,72,74,97,99,102,111,115,2020,2024,2028,2033,2045,2050,2056,99,121,59,17445,99,121,59,17420,112,112,97,59,17306,256,101,121,2038,2043,100,105,108,59,16694,59,17434,114,59,49152,55349,56590,112,102,59,49152,55349,56642,99,114,59,49152,55349,56486,1408,74,84,97,99,101,102,108,109,111,115,116,2085,2089,2092,2128,2147,2483,2488,2503,2509,2615,2631,99,121,59,17417,32827,60,16444,640,99,109,110,112,114,2103,2108,2113,2116,2125,117,116,101,59,16697,98,100,97,59,17307,103,59,26602,108,97,99,101,116,114,102,59,24850,114,59,24990,384,97,101,121,2135,2140,2145,114,111,110,59,16701,100,105,108,59,16699,59,17435,256,102,115,2152,2416,116,1280,65,67,68,70,82,84,85,86,97,114,2174,2217,2225,2272,2278,2300,2351,2395,912,2410,256,110,114,2179,2191,103,108,101,66,114,97,99,107,101,116,59,26600,114,111,119,384,59,66,82,2201,2202,2206,24976,97,114,59,25060,105,103,104,116,65,114,114,111,119,59,25030,101,105,108,105,110,103,59,25352,111,501,2231,0,2243,98,108,101,66,114,97,99,107,101,116,59,26598,110,468,2248,0,2258,101,101,86,101,99,116,111,114,59,26977,101,99,116,111,114,256,59,66,2267,2268,25027,97,114,59,26969,108,111,111,114,59,25354,105,103,104,116,256,65,86,2287,2293,114,114,111,119,59,24980,101,99,116,111,114,59,26958,256,101,114,2305,2327,101,384,59,65,86,2313,2314,2320,25251,114,114,111,119,59,24996,101,99,116,111,114,59,26970,105,97,110,103,108,101,384,59,66,69,2340,2341,2345,25266,97,114,59,27087,113,117,97,108,59,25268,112,384,68,84,86,2359,2370,2380,111,119,110,86,101,99,116,111,114,59,26961,101,101,86,101,99,116,111,114,59,26976,101,99,116,111,114,256,59,66,2390,2391,25023,97,114,59,26968,101,99,116,111,114,256,59,66,2405,2406,25020,97,114,59,26962,105,103,104,116,225,924,115,768,69,70,71,76,83,84,2430,2443,2453,2461,2466,2477,113,117,97,108,71,114,101,97,116,101,114,59,25306,117,108,108,69,113,117,97,108,59,25190,114,101,97,116,101,114,59,25206,101,115,115,59,27297,108,97,110,116,69,113,117,97,108,59,27261,105,108,100,101,59,25202,114,59,49152,55349,56591,256,59,101,2493,2494,25304,102,116,97,114,114,111,119,59,25050,105,100,111,116,59,16703,384,110,112,119,2516,2582,2587,103,512,76,82,108,114,2526,2551,2562,2576,101,102,116,256,65,82,2534,2540,114,114,111,119,59,26613,105,103,104,116,65,114,114,111,119,59,26615,105,103,104,116,65,114,114,111,119,59,26614,101,102,116,256,97,114,947,2570,105,103,104,116,225,959,105,103,104,116,225,970,102,59,49152,55349,56643,101,114,256,76,82,2594,2604,101,102,116,65,114,114,111,119,59,24985,105,103,104,116,65,114,114,111,119,59,24984,384,99,104,116,2622,2624,2626,242,2124,59,25008,114,111,107,59,16705,59,25194,1024,97,99,101,102,105,111,115,117,2650,2653,2656,2679,2684,2693,2699,2702,112,59,26885,121,59,17436,256,100,108,2661,2671,105,117,109,83,112,97,99,101,59,24671,108,105,110,116,114,102,59,24883,114,59,49152,55349,56592,110,117,115,80,108,117,115,59,25107,112,102,59,49152,55349,56644,99,242,2678,59,17308,1152,74,97,99,101,102,111,115,116,117,2723,2727,2733,2752,2836,2841,3473,3479,3486,99,121,59,17418,99,117,116,101,59,16707,384,97,101,121,2740,2745,2750,114,111,110,59,16711,100,105,108,59,16709,59,17437,384,103,115,119,2759,2800,2830,97,116,105,118,101,384,77,84,86,2771,2783,2792,101,100,105,117,109,83,112,97,99,101,59,24587,104,105,256,99,110,2790,2776,235,2777,101,114,121,84,104,105,238,2777,116,101,100,256,71,76,2808,2822,114,101,97,116,101,114,71,114,101,97,116,101,242,1651,101,115,115,76,101,115,243,2632,76,105,110,101,59,16394,114,59,49152,55349,56593,512,66,110,112,116,2850,2856,2871,2874,114,101,97,107,59,24672,66,114,101,97,107,105,110,103,83,112,97,99,101,59,16544,102,59,24853,1664,59,67,68,69,71,72,76,78,80,82,83,84,86,2901,2902,2922,2940,2977,3051,3076,3166,3204,3238,3288,3425,3461,27372,256,111,117,2907,2916,110,103,114,117,101,110,116,59,25186,112,67,97,112,59,25197,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,25126,384,108,113,120,2947,2954,2971,101,109,101,110,116,59,25097,117,97,108,256,59,84,2962,2963,25184,105,108,100,101,59,49152,8770,824,105,115,116,115,59,25092,114,101,97,116,101,114,896,59,69,70,71,76,83,84,2998,2999,3005,3017,3027,3032,3045,25199,113,117,97,108,59,25201,117,108,108,69,113,117,97,108,59,49152,8807,824,114,101,97,116,101,114,59,49152,8811,824,101,115,115,59,25209,108,97,110,116,69,113,117,97,108,59,49152,10878,824,105,108,100,101,59,25205,117,109,112,324,3058,3069,111,119,110,72,117,109,112,59,49152,8782,824,113,117,97,108,59,49152,8783,824,101,256,102,115,3082,3111,116,84,114,105,97,110,103,108,101,384,59,66,69,3098,3099,3105,25322,97,114,59,49152,10703,824,113,117,97,108,59,25324,115,768,59,69,71,76,83,84,3125,3126,3132,3140,3147,3160,25198,113,117,97,108,59,25200,114,101,97,116,101,114,59,25208,101,115,115,59,49152,8810,824,108,97,110,116,69,113,117,97,108,59,49152,10877,824,105,108,100,101,59,25204,101,115,116,101,100,256,71,76,3176,3193,114,101,97,116,101,114,71,114,101,97,116,101,114,59,49152,10914,824,101,115,115,76,101,115,115,59,49152,10913,824,114,101,99,101,100,101,115,384,59,69,83,3218,3219,3227,25216,113,117,97,108,59,49152,10927,824,108,97,110,116,69,113,117,97,108,59,25312,256,101,105,3243,3257,118,101,114,115,101,69,108,101,109,101,110,116,59,25100,103,104,116,84,114,105,97,110,103,108,101,384,59,66,69,3275,3276,3282,25323,97,114,59,49152,10704,824,113,117,97,108,59,25325,256,113,117,3293,3340,117,97,114,101,83,117,256,98,112,3304,3321,115,101,116,256,59,69,3312,3315,49152,8847,824,113,117,97,108,59,25314,101,114,115,101,116,256,59,69,3331,3334,49152,8848,824,113,117,97,108,59,25315,384,98,99,112,3347,3364,3406,115,101,116,256,59,69,3355,3358,49152,8834,8402,113,117,97,108,59,25224,99,101,101,100,115,512,59,69,83,84,3378,3379,3387,3398,25217,113,117,97,108,59,49152,10928,824,108,97,110,116,69,113,117,97,108,59,25313,105,108,100,101,59,49152,8831,824,101,114,115,101,116,256,59,69,3416,3419,49152,8835,8402,113,117,97,108,59,25225,105,108,100,101,512,59,69,70,84,3438,3439,3445,3455,25153,113,117,97,108,59,25156,117,108,108,69,113,117,97,108,59,25159,105,108,100,101,59,25161,101,114,116,105,99,97,108,66,97,114,59,25124,99,114,59,49152,55349,56489,105,108,100,101,32827,209,16593,59,17309,1792,69,97,99,100,102,103,109,111,112,114,115,116,117,118,3517,3522,3529,3541,3547,3552,3559,3580,3586,3616,3618,3634,3647,3652,108,105,103,59,16722,99,117,116,101,32827,211,16595,256,105,121,3534,3539,114,99,32827,212,16596,59,17438,98,108,97,99,59,16720,114,59,49152,55349,56594,114,97,118,101,32827,210,16594,384,97,101,105,3566,3570,3574,99,114,59,16716,103,97,59,17321,99,114,111,110,59,17311,112,102,59,49152,55349,56646,101,110,67,117,114,108,121,256,68,81,3598,3610,111,117,98,108,101,81,117,111,116,101,59,24604,117,111,116,101,59,24600,59,27220,256,99,108,3623,3628,114,59,49152,55349,56490,97,115,104,32827,216,16600,105,364,3639,3644,100,101,32827,213,16597,101,115,59,27191,109,108,32827,214,16598,101,114,256,66,80,3659,3680,256,97,114,3664,3667,114,59,24638,97,99,256,101,107,3674,3676,59,25566,101,116,59,25524,97,114,101,110,116,104,101,115,105,115,59,25564,1152,97,99,102,104,105,108,111,114,115,3711,3719,3722,3727,3730,3732,3741,3760,3836,114,116,105,97,108,68,59,25090,121,59,17439,114,59,49152,55349,56595,105,59,17318,59,17312,117,115,77,105,110,117,115,59,16561,256,105,112,3746,3757,110,99,97,114,101,112,108,97,110,229,1693,102,59,24857,512,59,101,105,111,3769,3770,3808,3812,27323,99,101,100,101,115,512,59,69,83,84,3784,3785,3791,3802,25210,113,117,97,108,59,27311,108,97,110,116,69,113,117,97,108,59,25212,105,108,100,101,59,25214,109,101,59,24627,256,100,112,3817,3822,117,99,116,59,25103,111,114,116,105,111,110,256,59,97,549,3833,108,59,25117,256,99,105,3841,3846,114,59,49152,55349,56491,59,17320,512,85,102,111,115,3857,3862,3867,3871,79,84,32827,34,16418,114,59,49152,55349,56596,112,102,59,24858,99,114,59,49152,55349,56492,1536,66,69,97,99,101,102,104,105,111,114,115,117,3902,3907,3911,3936,3955,4007,4010,4013,4246,4265,4276,4286,97,114,114,59,26896,71,32827,174,16558,384,99,110,114,3918,3923,3926,117,116,101,59,16724,103,59,26603,114,256,59,116,3932,3933,24992,108,59,26902,384,97,101,121,3943,3948,3953,114,111,110,59,16728,100,105,108,59,16726,59,17440,256,59,118,3960,3961,24860,101,114,115,101,256,69,85,3970,3993,256,108,113,3975,3982,101,109,101,110,116,59,25099,117,105,108,105,98,114,105,117,109,59,25035,112,69,113,117,105,108,105,98,114,105,117,109,59,26991,114,187,3961,111,59,17313,103,104,116,1024,65,67,68,70,84,85,86,97,4033,4075,4083,4130,4136,4187,4231,984,256,110,114,4038,4050,103,108,101,66,114,97,99,107,101,116,59,26601,114,111,119,384,59,66,76,4060,4061,4065,24978,97,114,59,25061,101,102,116,65,114,114,111,119,59,25028,101,105,108,105,110,103,59,25353,111,501,4089,0,4101,98,108,101,66,114,97,99,107,101,116,59,26599,110,468,4106,0,4116,101,101,86,101,99,116,111,114,59,26973,101,99,116,111,114,256,59,66,4125,4126,25026,97,114,59,26965,108,111,111,114,59,25355,256,101,114,4141,4163,101,384,59,65,86,4149,4150,4156,25250,114,114,111,119,59,24998,101,99,116,111,114,59,26971,105,97,110,103,108,101,384,59,66,69,4176,4177,4181,25267,97,114,59,27088,113,117,97,108,59,25269,112,384,68,84,86,4195,4206,4216,111,119,110,86,101,99,116,111,114,59,26959,101,101,86,101,99,116,111,114,59,26972,101,99,116,111,114,256,59,66,4226,4227,25022,97,114,59,26964,101,99,116,111,114,256,59,66,4241,4242,25024,97,114,59,26963,256,112,117,4251,4254,102,59,24861,110,100,73,109,112,108,105,101,115,59,26992,105,103,104,116,97,114,114,111,119,59,25051,256,99,104,4281,4284,114,59,24859,59,25009,108,101,68,101,108,97,121,101,100,59,27124,1664,72,79,97,99,102,104,105,109,111,113,115,116,117,4324,4337,4343,4349,4377,4382,4433,4438,4449,4455,4533,4539,4543,256,67,99,4329,4334,72,99,121,59,17449,121,59,17448,70,84,99,121,59,17452,99,117,116,101,59,16730,640,59,97,101,105,121,4360,4361,4366,4371,4375,27324,114,111,110,59,16736,100,105,108,59,16734,114,99,59,16732,59,17441,114,59,49152,55349,56598,111,114,116,512,68,76,82,85,4394,4404,4414,4425,111,119,110,65,114,114,111,119,187,1054,101,102,116,65,114,114,111,119,187,2202,105,103,104,116,65,114,114,111,119,187,4061,112,65,114,114,111,119,59,24977,103,109,97,59,17315,97,108,108,67,105,114,99,108,101,59,25112,112,102,59,49152,55349,56650,626,4461,0,0,4464,116,59,25114,97,114,101,512,59,73,83,85,4475,4476,4489,4527,26017,110,116,101,114,115,101,99,116,105,111,110,59,25235,117,256,98,112,4495,4510,115,101,116,256,59,69,4503,4504,25231,113,117,97,108,59,25233,101,114,115,101,116,256,59,69,4520,4521,25232,113,117,97,108,59,25234,110,105,111,110,59,25236,99,114,59,49152,55349,56494,97,114,59,25286,512,98,99,109,112,4552,4571,4617,4619,256,59,115,4557,4558,25296,101,116,256,59,69,4557,4565,113,117,97,108,59,25222,256,99,104,4576,4613,101,101,100,115,512,59,69,83,84,4589,4590,4596,4607,25211,113,117,97,108,59,27312,108,97,110,116,69,113,117,97,108,59,25213,105,108,100,101,59,25215,84,104,225,3980,59,25105,384,59,101,115,4626,4627,4643,25297,114,115,101,116,256,59,69,4636,4637,25219,113,117,97,108,59,25223,101,116,187,4627,1408,72,82,83,97,99,102,104,105,111,114,115,4670,4676,4681,4693,4702,4721,4726,4767,4802,4808,4817,79,82,78,32827,222,16606,65,68,69,59,24866,256,72,99,4686,4690,99,121,59,17419,121,59,17446,256,98,117,4698,4700,59,16393,59,17316,384,97,101,121,4709,4714,4719,114,111,110,59,16740,100,105,108,59,16738,59,17442,114,59,49152,55349,56599,256,101,105,4731,4745,498,4736,0,4743,101,102,111,114,101,59,25140,97,59,17304,256,99,110,4750,4760,107,83,112,97,99,101,59,49152,8287,8202,83,112,97,99,101,59,24585,108,100,101,512,59,69,70,84,4779,4780,4786,4796,25148,113,117,97,108,59,25155,117,108,108,69,113,117,97,108,59,25157,105,108,100,101,59,25160,112,102,59,49152,55349,56651,105,112,108,101,68,111,116,59,24795,256,99,116,4822,4827,114,59,49152,55349,56495,114,111,107,59,16742,2785,4855,4878,4890,4902,0,4908,4913,0,0,0,0,0,4920,4925,4983,4997,0,5119,5124,5130,5136,256,99,114,4859,4865,117,116,101,32827,218,16602,114,256,59,111,4871,4872,24991,99,105,114,59,26953,114,483,4883,0,4886,121,59,17422,118,101,59,16748,256,105,121,4894,4899,114,99,32827,219,16603,59,17443,98,108,97,99,59,16752,114,59,49152,55349,56600,114,97,118,101,32827,217,16601,97,99,114,59,16746,256,100,105,4929,4969,101,114,256,66,80,4936,4957,256,97,114,4941,4944,114,59,16479,97,99,256,101,107,4951,4953,59,25567,101,116,59,25525,97,114,101,110,116,104,101,115,105,115,59,25565,111,110,256,59,80,4976,4977,25283,108,117,115,59,25230,256,103,112,4987,4991,111,110,59,16754,102,59,49152,55349,56652,1024,65,68,69,84,97,100,112,115,5013,5038,5048,5060,1e3,5074,5079,5107,114,114,111,119,384,59,66,68,4432,5024,5028,97,114,59,26898,111,119,110,65,114,114,111,119,59,25029,111,119,110,65,114,114,111,119,59,24981,113,117,105,108,105,98,114,105,117,109,59,26990,101,101,256,59,65,5067,5068,25253,114,114,111,119,59,24997,111,119,110,225,1011,101,114,256,76,82,5086,5096,101,102,116,65,114,114,111,119,59,24982,105,103,104,116,65,114,114,111,119,59,24983,105,256,59,108,5113,5114,17362,111,110,59,17317,105,110,103,59,16750,99,114,59,49152,55349,56496,105,108,100,101,59,16744,109,108,32827,220,16604,1152,68,98,99,100,101,102,111,115,118,5159,5164,5168,5171,5182,5253,5258,5264,5270,97,115,104,59,25259,97,114,59,27371,121,59,17426,97,115,104,256,59,108,5179,5180,25257,59,27366,256,101,114,5187,5189,59,25281,384,98,116,121,5196,5200,5242,97,114,59,24598,256,59,105,5199,5205,99,97,108,512,66,76,83,84,5217,5221,5226,5236,97,114,59,25123,105,110,101,59,16508,101,112,97,114,97,116,111,114,59,26456,105,108,100,101,59,25152,84,104,105,110,83,112,97,99,101,59,24586,114,59,49152,55349,56601,112,102,59,49152,55349,56653,99,114,59,49152,55349,56497,100,97,115,104,59,25258,640,99,101,102,111,115,5287,5292,5297,5302,5308,105,114,99,59,16756,100,103,101,59,25280,114,59,49152,55349,56602,112,102,59,49152,55349,56654,99,114,59,49152,55349,56498,512,102,105,111,115,5323,5328,5330,5336,114,59,49152,55349,56603,59,17310,112,102,59,49152,55349,56655,99,114,59,49152,55349,56499,1152,65,73,85,97,99,102,111,115,117,5361,5365,5369,5373,5380,5391,5396,5402,5408,99,121,59,17455,99,121,59,17415,99,121,59,17454,99,117,116,101,32827,221,16605,256,105,121,5385,5389,114,99,59,16758,59,17451,114,59,49152,55349,56604,112,102,59,49152,55349,56656,99,114,59,49152,55349,56500,109,108,59,16760,1024,72,97,99,100,101,102,111,115,5429,5433,5439,5451,5455,5469,5472,5476,99,121,59,17430,99,117,116,101,59,16761,256,97,121,5444,5449,114,111,110,59,16765,59,17431,111,116,59,16763,498,5460,0,5467,111,87,105,100,116,232,2777,97,59,17302,114,59,24872,112,102,59,24868,99,114,59,49152,55349,56501,3041,5507,5514,5520,0,5552,5558,5567,0,0,0,0,5574,5595,5611,5727,5741,0,5781,5787,5810,5817,0,5822,99,117,116,101,32827,225,16609,114,101,118,101,59,16643,768,59,69,100,105,117,121,5532,5533,5537,5539,5544,5549,25150,59,49152,8766,819,59,25151,114,99,32827,226,16610,116,101,32955,180,774,59,17456,108,105,103,32827,230,16614,256,59,114,178,5562,59,49152,55349,56606,114,97,118,101,32827,224,16608,256,101,112,5578,5590,256,102,112,5583,5588,115,121,109,59,24885,232,5587,104,97,59,17329,256,97,112,5599,99,256,99,108,5604,5607,114,59,16641,103,59,27199,612,5616,0,0,5642,640,59,97,100,115,118,5626,5627,5631,5633,5639,25127,110,100,59,27221,59,27228,108,111,112,101,59,27224,59,27226,896,59,101,108,109,114,115,122,5656,5657,5659,5662,5695,5711,5721,25120,59,27044,101,187,5657,115,100,256,59,97,5669,5670,25121,1121,5680,5682,5684,5686,5688,5690,5692,5694,59,27048,59,27049,59,27050,59,27051,59,27052,59,27053,59,27054,59,27055,116,256,59,118,5701,5702,25119,98,256,59,100,5708,5709,25278,59,27037,256,112,116,5716,5719,104,59,25122,187,185,97,114,114,59,25468,256,103,112,5731,5735,111,110,59,16645,102,59,49152,55349,56658,896,59,69,97,101,105,111,112,4801,5755,5757,5762,5764,5767,5770,59,27248,99,105,114,59,27247,59,25162,100,59,25163,115,59,16423,114,111,120,256,59,101,4801,5778,241,5763,105,110,103,32827,229,16613,384,99,116,121,5793,5798,5800,114,59,49152,55349,56502,59,16426,109,112,256,59,101,4801,5807,241,648,105,108,100,101,32827,227,16611,109,108,32827,228,16612,256,99,105,5826,5832,111,110,105,110,244,626,110,116,59,27153,2048,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,5869,5873,5936,5948,5955,5960,6008,6013,6112,6118,6201,6224,5901,6461,6472,6512,111,116,59,27373,256,99,114,5878,5918,107,512,99,101,112,115,5888,5893,5901,5907,111,110,103,59,25164,112,115,105,108,111,110,59,17398,114,105,109,101,59,24629,105,109,256,59,101,5914,5915,25149,113,59,25293,374,5922,5926,101,101,59,25277,101,100,256,59,103,5932,5933,25349,101,187,5933,114,107,256,59,116,4956,5943,98,114,107,59,25526,256,111,121,5889,5953,59,17457,113,117,111,59,24606,640,99,109,112,114,116,5971,5979,5985,5988,5992,97,117,115,256,59,101,266,265,112,116,121,118,59,27056,115,233,5900,110,111,245,275,384,97,104,119,5999,6001,6003,59,17330,59,24886,101,101,110,59,25196,114,59,49152,55349,56607,103,896,99,111,115,116,117,118,119,6029,6045,6067,6081,6101,6107,6110,384,97,105,117,6036,6038,6042,240,1888,114,99,59,26095,112,187,4977,384,100,112,116,6052,6056,6061,111,116,59,27136,108,117,115,59,27137,105,109,101,115,59,27138,625,6073,0,0,6078,99,117,112,59,27142,97,114,59,26117,114,105,97,110,103,108,101,256,100,117,6093,6098,111,119,110,59,26045,112,59,26035,112,108,117,115,59,27140,101,229,5188,229,5293,97,114,111,119,59,26893,384,97,107,111,6125,6182,6197,256,99,110,6130,6179,107,384,108,115,116,6138,1451,6146,111,122,101,110,103,101,59,27115,114,105,97,110,103,108,101,512,59,100,108,114,6162,6163,6168,6173,26036,111,119,110,59,26046,101,102,116,59,26050,105,103,104,116,59,26040,107,59,25635,433,6187,0,6195,434,6191,0,6193,59,26002,59,26001,52,59,26003,99,107,59,25992,256,101,111,6206,6221,256,59,113,6211,6214,49152,61,8421,117,105,118,59,49152,8801,8421,116,59,25360,512,112,116,119,120,6233,6238,6247,6252,102,59,49152,55349,56659,256,59,116,5067,6243,111,109,187,5068,116,105,101,59,25288,1536,68,72,85,86,98,100,104,109,112,116,117,118,6277,6294,6314,6331,6359,6363,6380,6399,6405,6410,6416,6433,512,76,82,108,114,6286,6288,6290,6292,59,25943,59,25940,59,25942,59,25939,640,59,68,85,100,117,6305,6306,6308,6310,6312,25936,59,25958,59,25961,59,25956,59,25959,512,76,82,108,114,6323,6325,6327,6329,59,25949,59,25946,59,25948,59,25945,896,59,72,76,82,104,108,114,6346,6347,6349,6351,6353,6355,6357,25937,59,25964,59,25955,59,25952,59,25963,59,25954,59,25951,111,120,59,27081,512,76,82,108,114,6372,6374,6376,6378,59,25941,59,25938,59,25872,59,25868,640,59,68,85,100,117,1725,6391,6393,6395,6397,59,25957,59,25960,59,25900,59,25908,105,110,117,115,59,25247,108,117,115,59,25246,105,109,101,115,59,25248,512,76,82,108,114,6425,6427,6429,6431,59,25947,59,25944,59,25880,59,25876,896,59,72,76,82,104,108,114,6448,6449,6451,6453,6455,6457,6459,25858,59,25962,59,25953,59,25950,59,25916,59,25892,59,25884,256,101,118,291,6466,98,97,114,32827,166,16550,512,99,101,105,111,6481,6486,6490,6496,114,59,49152,55349,56503,109,105,59,24655,109,256,59,101,5914,5916,108,384,59,98,104,6504,6505,6507,16476,59,27077,115,117,98,59,26568,364,6516,6526,108,256,59,101,6521,6522,24610,116,187,6522,112,384,59,69,101,303,6533,6535,59,27310,256,59,113,1756,1755,3297,6567,0,6632,6673,6677,6706,0,6711,6736,0,0,6836,0,0,6849,0,0,6945,6958,6989,6994,0,7165,0,7180,384,99,112,114,6573,6578,6621,117,116,101,59,16647,768,59,97,98,99,100,115,6591,6592,6596,6602,6613,6617,25129,110,100,59,27204,114,99,117,112,59,27209,256,97,117,6607,6610,112,59,27211,112,59,27207,111,116,59,27200,59,49152,8745,65024,256,101,111,6626,6629,116,59,24641,238,1683,512,97,101,105,117,6640,6651,6657,6661,496,6645,0,6648,115,59,27213,111,110,59,16653,100,105,108,32827,231,16615,114,99,59,16649,112,115,256,59,115,6668,6669,27212,109,59,27216,111,116,59,16651,384,100,109,110,6683,6688,6694,105,108,32955,184,429,112,116,121,118,59,27058,116,33024,162,59,101,6701,6702,16546,114,228,434,114,59,49152,55349,56608,384,99,101,105,6717,6720,6733,121,59,17479,99,107,256,59,109,6727,6728,26387,97,114,107,187,6728,59,17351,114,896,59,69,99,101,102,109,115,6751,6752,6754,6763,6820,6826,6830,26059,59,27075,384,59,101,108,6761,6762,6765,17094,113,59,25175,101,609,6772,0,0,6792,114,114,111,119,256,108,114,6780,6785,101,102,116,59,25018,105,103,104,116,59,25019,640,82,83,97,99,100,6802,6804,6806,6810,6815,187,3911,59,25800,115,116,59,25243,105,114,99,59,25242,97,115,104,59,25245,110,105,110,116,59,27152,105,100,59,27375,99,105,114,59,27074,117,98,115,256,59,117,6843,6844,26211,105,116,187,6844,748,6855,6868,6906,0,6922,111,110,256,59,101,6861,6862,16442,256,59,113,199,198,621,6873,0,0,6882,97,256,59,116,6878,6879,16428,59,16448,384,59,102,108,6888,6889,6891,25089,238,4448,101,256,109,120,6897,6902,101,110,116,187,6889,101,243,589,487,6910,0,6919,256,59,100,4795,6914,111,116,59,27245,110,244,582,384,102,114,121,6928,6932,6935,59,49152,55349,56660,111,228,596,33024,169,59,115,341,6941,114,59,24855,256,97,111,6949,6953,114,114,59,25013,115,115,59,26391,256,99,117,6962,6967,114,59,49152,55349,56504,256,98,112,6972,6980,256,59,101,6977,6978,27343,59,27345,256,59,101,6985,6986,27344,59,27346,100,111,116,59,25327,896,100,101,108,112,114,118,119,7008,7020,7031,7042,7084,7124,7161,97,114,114,256,108,114,7016,7018,59,26936,59,26933,624,7026,0,0,7029,114,59,25310,99,59,25311,97,114,114,256,59,112,7039,7040,25014,59,26941,768,59,98,99,100,111,115,7055,7056,7062,7073,7077,7080,25130,114,99,97,112,59,27208,256,97,117,7067,7070,112,59,27206,112,59,27210,111,116,59,25229,114,59,27205,59,49152,8746,65024,512,97,108,114,118,7093,7103,7134,7139,114,114,256,59,109,7100,7101,25015,59,26940,121,384,101,118,119,7111,7124,7128,113,624,7118,0,0,7122,114,101,227,7027,117,227,7029,101,101,59,25294,101,100,103,101,59,25295,101,110,32827,164,16548,101,97,114,114,111,119,256,108,114,7150,7155,101,102,116,187,7040,105,103,104,116,187,7101,101,228,7133,256,99,105,7169,7175,111,110,105,110,244,503,110,116,59,25137,108,99,116,121,59,25389,2432,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,7224,7227,7231,7261,7273,7285,7306,7326,7340,7351,7419,7423,7437,7547,7569,7595,7611,7622,7629,114,242,897,97,114,59,26981,512,103,108,114,115,7240,7245,7250,7252,103,101,114,59,24608,101,116,104,59,24888,242,4403,104,256,59,118,7258,7259,24592,187,2314,363,7265,7271,97,114,111,119,59,26895,97,227,789,256,97,121,7278,7283,114,111,110,59,16655,59,17460,384,59,97,111,818,7292,7300,256,103,114,703,7297,114,59,25034,116,115,101,113,59,27255,384,103,108,109,7313,7316,7320,32827,176,16560,116,97,59,17332,112,116,121,118,59,27057,256,105,114,7331,7336,115,104,116,59,27007,59,49152,55349,56609,97,114,256,108,114,7347,7349,187,2268,187,4126,640,97,101,103,115,118,7362,888,7382,7388,7392,109,384,59,111,115,806,7370,7380,110,100,256,59,115,806,7377,117,105,116,59,26214,97,109,109,97,59,17373,105,110,59,25330,384,59,105,111,7399,7400,7416,16631,100,101,33024,247,59,111,7399,7408,110,116,105,109,101,115,59,25287,110,248,7415,99,121,59,17490,99,623,7430,0,0,7434,114,110,59,25374,111,112,59,25357,640,108,112,116,117,119,7448,7453,7458,7497,7509,108,97,114,59,16420,102,59,49152,55349,56661,640,59,101,109,112,115,779,7469,7479,7485,7490,113,256,59,100,850,7475,111,116,59,25169,105,110,117,115,59,25144,108,117,115,59,25108,113,117,97,114,101,59,25249,98,108,101,98,97,114,119,101,100,103,229,250,110,384,97,100,104,4398,7517,7527,111,119,110,97,114,114,111,119,243,7299,97,114,112,111,111,110,256,108,114,7538,7542,101,102,244,7348,105,103,104,244,7350,354,7551,7557,107,97,114,111,247,3906,623,7562,0,0,7566,114,110,59,25375,111,112,59,25356,384,99,111,116,7576,7587,7590,256,114,121,7581,7585,59,49152,55349,56505,59,17493,108,59,27126,114,111,107,59,16657,256,100,114,7600,7604,111,116,59,25329,105,256,59,102,7610,6166,26047,256,97,104,7616,7619,114,242,1065,97,242,4006,97,110,103,108,101,59,27046,256,99,105,7634,7637,121,59,17503,103,114,97,114,114,59,26623,2304,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,7681,7689,7705,7736,1400,7740,7753,7777,7806,7845,7855,7869,7905,7978,7991,8004,8014,8026,256,68,111,7686,7476,111,244,7305,256,99,115,7694,7700,117,116,101,32827,233,16617,116,101,114,59,27246,512,97,105,111,121,7714,7719,7729,7734,114,111,110,59,16667,114,256,59,99,7725,7726,25174,32827,234,16618,108,111,110,59,25173,59,17485,111,116,59,16663,256,68,114,7745,7749,111,116,59,25170,59,49152,55349,56610,384,59,114,115,7760,7761,7767,27290,97,118,101,32827,232,16616,256,59,100,7772,7773,27286,111,116,59,27288,512,59,105,108,115,7786,7787,7794,7796,27289,110,116,101,114,115,59,25575,59,24851,256,59,100,7801,7802,27285,111,116,59,27287,384,97,112,115,7813,7817,7831,99,114,59,16659,116,121,384,59,115,118,7826,7827,7829,25093,101,116,187,7827,112,256,49,59,7837,7844,307,7841,7843,59,24580,59,24581,24579,256,103,115,7850,7852,59,16715,112,59,24578,256,103,112,7860,7864,111,110,59,16665,102,59,49152,55349,56662,384,97,108,115,7876,7886,7890,114,256,59,115,7882,7883,25301,108,59,27107,117,115,59,27249,105,384,59,108,118,7898,7899,7903,17333,111,110,187,7899,59,17397,512,99,115,117,118,7914,7923,7947,7971,256,105,111,7919,7729,114,99,187,7726,617,7929,0,0,7931,237,1352,97,110,116,256,103,108,7938,7942,116,114,187,7773,101,115,115,187,7802,384,97,101,105,7954,7958,7962,108,115,59,16445,115,116,59,25183,118,256,59,68,565,7968,68,59,27256,112,97,114,115,108,59,27109,256,68,97,7983,7987,111,116,59,25171,114,114,59,26993,384,99,100,105,7998,8001,7928,114,59,24879,111,244,850,256,97,104,8009,8011,59,17335,32827,240,16624,256,109,114,8019,8023,108,32827,235,16619,111,59,24748,384,99,105,112,8033,8036,8039,108,59,16417,115,244,1390,256,101,111,8044,8052,99,116,97,116,105,111,238,1369,110,101,110,116,105,97,108,229,1401,2529,8082,0,8094,0,8097,8103,0,0,8134,8140,0,8147,0,8166,8170,8192,0,8200,8282,108,108,105,110,103,100,111,116,115,101,241,7748,121,59,17476,109,97,108,101,59,26176,384,105,108,114,8109,8115,8129,108,105,103,59,32768,64259,617,8121,0,0,8125,103,59,32768,64256,105,103,59,32768,64260,59,49152,55349,56611,108,105,103,59,32768,64257,108,105,103,59,49152,102,106,384,97,108,116,8153,8156,8161,116,59,26221,105,103,59,32768,64258,110,115,59,26033,111,102,59,16786,496,8174,0,8179,102,59,49152,55349,56663,256,97,107,1471,8183,256,59,118,8188,8189,25300,59,27353,97,114,116,105,110,116,59,27149,256,97,111,8204,8277,256,99,115,8209,8274,945,8218,8240,8248,8261,8264,0,8272,946,8226,8229,8231,8234,8236,0,8238,32827,189,16573,59,24915,32827,188,16572,59,24917,59,24921,59,24923,435,8244,0,8246,59,24916,59,24918,692,8254,8257,0,0,8259,32827,190,16574,59,24919,59,24924,53,59,24920,438,8268,0,8270,59,24922,59,24925,56,59,24926,108,59,24644,119,110,59,25378,99,114,59,49152,55349,56507,2176,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,8322,8329,8351,8357,8368,8372,8432,8437,8442,8447,8451,8466,8504,791,8510,8530,8606,256,59,108,1613,8327,59,27276,384,99,109,112,8336,8341,8349,117,116,101,59,16885,109,97,256,59,100,8348,7386,17331,59,27270,114,101,118,101,59,16671,256,105,121,8362,8366,114,99,59,16669,59,17459,111,116,59,16673,512,59,108,113,115,1598,1602,8381,8393,384,59,113,115,1598,1612,8388,108,97,110,244,1637,512,59,99,100,108,1637,8402,8405,8421,99,59,27305,111,116,256,59,111,8412,8413,27264,256,59,108,8418,8419,27266,59,27268,256,59,101,8426,8429,49152,8923,65024,115,59,27284,114,59,49152,55349,56612,256,59,103,1651,1563,109,101,108,59,24887,99,121,59,17491,512,59,69,97,106,1626,8460,8462,8464,59,27282,59,27301,59,27300,512,69,97,101,115,8475,8477,8489,8500,59,25193,112,256,59,112,8483,8484,27274,114,111,120,187,8484,256,59,113,8494,8495,27272,256,59,113,8494,8475,105,109,59,25319,112,102,59,49152,55349,56664,256,99,105,8515,8518,114,59,24842,109,384,59,101,108,1643,8526,8528,59,27278,59,27280,33536,62,59,99,100,108,113,114,1518,8544,8554,8558,8563,8569,256,99,105,8549,8551,59,27303,114,59,27258,111,116,59,25303,80,97,114,59,27029,117,101,115,116,59,27260,640,97,100,101,108,115,8580,8554,8592,1622,8603,496,8585,0,8590,112,114,111,248,8350,114,59,27e3,113,256,108,113,1599,8598,108,101,115,243,8328,105,237,1643,256,101,110,8611,8621,114,116,110,101,113,113,59,49152,8809,65024,197,8618,1280,65,97,98,99,101,102,107,111,115,121,8644,8647,8689,8693,8698,8728,8733,8751,8808,8829,114,242,928,512,105,108,109,114,8656,8660,8663,8667,114,115,240,5252,102,187,8228,105,108,244,1705,256,100,114,8672,8676,99,121,59,17482,384,59,99,119,2292,8683,8687,105,114,59,26952,59,25005,97,114,59,24847,105,114,99,59,16677,384,97,108,114,8705,8718,8723,114,116,115,256,59,117,8713,8714,26213,105,116,187,8714,108,105,112,59,24614,99,111,110,59,25273,114,59,49152,55349,56613,115,256,101,119,8739,8745,97,114,111,119,59,26917,97,114,111,119,59,26918,640,97,109,111,112,114,8762,8766,8771,8798,8803,114,114,59,25087,116,104,116,59,25147,107,256,108,114,8777,8787,101,102,116,97,114,114,111,119,59,25001,105,103,104,116,97,114,114,111,119,59,25002,102,59,49152,55349,56665,98,97,114,59,24597,384,99,108,116,8815,8820,8824,114,59,49152,55349,56509,97,115,232,8692,114,111,107,59,16679,256,98,112,8834,8839,117,108,108,59,24643,104,101,110,187,7259,2785,8867,0,8874,0,8888,8901,8910,0,8917,8947,0,0,8952,8994,9063,9058,9087,0,9094,9130,9140,99,117,116,101,32827,237,16621,384,59,105,121,1905,8880,8885,114,99,32827,238,16622,59,17464,256,99,120,8892,8895,121,59,17461,99,108,32827,161,16545,256,102,114,927,8905,59,49152,55349,56614,114,97,118,101,32827,236,16620,512,59,105,110,111,1854,8925,8937,8942,256,105,110,8930,8934,110,116,59,27148,116,59,25133,102,105,110,59,27100,116,97,59,24873,108,105,103,59,16691,384,97,111,112,8958,8986,8989,384,99,103,116,8965,8968,8983,114,59,16683,384,101,108,112,1823,8975,8979,105,110,229,1934,97,114,244,1824,104,59,16689,102,59,25271,101,100,59,16821,640,59,99,102,111,116,1268,9004,9009,9021,9025,97,114,101,59,24837,105,110,256,59,116,9016,9017,25118,105,101,59,27101,100,111,244,8985,640,59,99,101,108,112,1879,9036,9040,9051,9057,97,108,59,25274,256,103,114,9045,9049,101,114,243,5475,227,9037,97,114,104,107,59,27159,114,111,100,59,27196,512,99,103,112,116,9071,9074,9078,9083,121,59,17489,111,110,59,16687,102,59,49152,55349,56666,97,59,17337,117,101,115,116,32827,191,16575,256,99,105,9098,9103,114,59,49152,55349,56510,110,640,59,69,100,115,118,1268,9115,9117,9121,1267,59,25337,111,116,59,25333,256,59,118,9126,9127,25332,59,25331,256,59,105,1911,9134,108,100,101,59,16681,491,9144,0,9148,99,121,59,17494,108,32827,239,16623,768,99,102,109,111,115,117,9164,9175,9180,9185,9191,9205,256,105,121,9169,9173,114,99,59,16693,59,17465,114,59,49152,55349,56615,97,116,104,59,16951,112,102,59,49152,55349,56667,483,9196,0,9201,114,59,49152,55349,56511,114,99,121,59,17496,107,99,121,59,17492,1024,97,99,102,103,104,106,111,115,9227,9238,9250,9255,9261,9265,9269,9275,112,112,97,256,59,118,9235,9236,17338,59,17392,256,101,121,9243,9248,100,105,108,59,16695,59,17466,114,59,49152,55349,56616,114,101,101,110,59,16696,99,121,59,17477,99,121,59,17500,112,102,59,49152,55349,56668,99,114,59,49152,55349,56512,2944,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,9328,9345,9350,9357,9361,9486,9533,9562,9600,9806,9822,9829,9849,9853,9882,9906,9944,10077,10088,10123,10176,10241,10258,384,97,114,116,9335,9338,9340,114,242,2502,242,917,97,105,108,59,26907,97,114,114,59,26894,256,59,103,2452,9355,59,27275,97,114,59,26978,2403,9381,0,9386,0,9393,0,0,0,0,0,9397,9402,0,9414,9416,9421,0,9465,117,116,101,59,16698,109,112,116,121,118,59,27060,114,97,238,2124,98,100,97,59,17339,103,384,59,100,108,2190,9409,9411,59,27025,229,2190,59,27269,117,111,32827,171,16555,114,1024,59,98,102,104,108,112,115,116,2201,9438,9446,9449,9451,9454,9457,9461,256,59,102,2205,9443,115,59,26911,115,59,26909,235,8786,112,59,25003,108,59,26937,105,109,59,26995,108,59,24994,384,59,97,101,9471,9472,9476,27307,105,108,59,26905,256,59,115,9481,9482,27309,59,49152,10925,65024,384,97,98,114,9493,9497,9501,114,114,59,26892,114,107,59,26482,256,97,107,9506,9516,99,256,101,107,9512,9514,59,16507,59,16475,256,101,115,9521,9523,59,27019,108,256,100,117,9529,9531,59,27023,59,27021,512,97,101,117,121,9542,9547,9558,9560,114,111,110,59,16702,256,100,105,9552,9556,105,108,59,16700,236,2224,226,9513,59,17467,512,99,113,114,115,9571,9574,9581,9597,97,59,26934,117,111,256,59,114,3609,5958,256,100,117,9586,9591,104,97,114,59,26983,115,104,97,114,59,26955,104,59,25010,640,59,102,103,113,115,9611,9612,2441,9715,9727,25188,116,640,97,104,108,114,116,9624,9636,9655,9666,9704,114,114,111,119,256,59,116,2201,9633,97,233,9462,97,114,112,111,111,110,256,100,117,9647,9652,111,119,110,187,1114,112,187,2406,101,102,116,97,114,114,111,119,115,59,25031,105,103,104,116,384,97,104,115,9677,9686,9694,114,114,111,119,256,59,115,2292,2215,97,114,112,111,111,110,243,3992,113,117,105,103,97,114,114,111,247,8688,104,114,101,101,116,105,109,101,115,59,25291,384,59,113,115,9611,2451,9722,108,97,110,244,2476,640,59,99,100,103,115,2476,9738,9741,9757,9768,99,59,27304,111,116,256,59,111,9748,9749,27263,256,59,114,9754,9755,27265,59,27267,256,59,101,9762,9765,49152,8922,65024,115,59,27283,640,97,100,101,103,115,9779,9785,9789,9801,9803,112,112,114,111,248,9414,111,116,59,25302,113,256,103,113,9795,9797,244,2441,103,116,242,9356,244,2459,105,237,2482,384,105,108,114,9813,2273,9818,115,104,116,59,27004,59,49152,55349,56617,256,59,69,2460,9827,59,27281,353,9833,9846,114,256,100,117,9650,9838,256,59,108,2405,9843,59,26986,108,107,59,25988,99,121,59,17497,640,59,97,99,104,116,2632,9864,9867,9873,9878,114,242,9665,111,114,110,101,242,7432,97,114,100,59,26987,114,105,59,26106,256,105,111,9887,9892,100,111,116,59,16704,117,115,116,256,59,97,9900,9901,25520,99,104,101,187,9901,512,69,97,101,115,9915,9917,9929,9940,59,25192,112,256,59,112,9923,9924,27273,114,111,120,187,9924,256,59,113,9934,9935,27271,256,59,113,9934,9915,105,109,59,25318,1024,97,98,110,111,112,116,119,122,9961,9972,9975,10010,10031,10049,10055,10064,256,110,114,9966,9969,103,59,26604,114,59,25085,114,235,2241,103,384,108,109,114,9983,9997,10004,101,102,116,256,97,114,2534,9991,105,103,104,116,225,2546,97,112,115,116,111,59,26620,105,103,104,116,225,2557,112,97,114,114,111,119,256,108,114,10021,10025,101,102,244,9453,105,103,104,116,59,25004,384,97,102,108,10038,10041,10045,114,59,27013,59,49152,55349,56669,117,115,59,27181,105,109,101,115,59,27188,353,10059,10063,115,116,59,25111,225,4942,384,59,101,102,10071,10072,6144,26058,110,103,101,187,10072,97,114,256,59,108,10084,10085,16424,116,59,27027,640,97,99,104,109,116,10099,10102,10108,10117,10119,114,242,2216,111,114,110,101,242,7564,97,114,256,59,100,3992,10115,59,26989,59,24590,114,105,59,25279,768,97,99,104,105,113,116,10136,10141,2624,10146,10158,10171,113,117,111,59,24633,114,59,49152,55349,56513,109,384,59,101,103,2482,10154,10156,59,27277,59,27279,256,98,117,9514,10163,111,256,59,114,3615,10169,59,24602,114,111,107,59,16706,33792,60,59,99,100,104,105,108,113,114,2091,10194,9785,10204,10208,10213,10218,10224,256,99,105,10199,10201,59,27302,114,59,27257,114,101,229,9714,109,101,115,59,25289,97,114,114,59,26998,117,101,115,116,59,27259,256,80,105,10229,10233,97,114,59,27030,384,59,101,102,10240,2349,6171,26051,114,256,100,117,10247,10253,115,104,97,114,59,26954,104,97,114,59,26982,256,101,110,10263,10273,114,116,110,101,113,113,59,49152,8808,65024,197,10270,1792,68,97,99,100,101,102,104,105,108,110,111,112,115,117,10304,10309,10370,10382,10387,10400,10405,10408,10458,10466,10468,2691,10483,10498,68,111,116,59,25146,512,99,108,112,114,10318,10322,10339,10365,114,32827,175,16559,256,101,116,10327,10329,59,26178,256,59,101,10334,10335,26400,115,101,187,10335,256,59,115,4155,10344,116,111,512,59,100,108,117,4155,10355,10359,10363,111,119,238,1164,101,102,244,2319,240,5073,107,101,114,59,26030,256,111,121,10375,10380,109,109,97,59,27177,59,17468,97,115,104,59,24596,97,115,117,114,101,100,97,110,103,108,101,187,5670,114,59,49152,55349,56618,111,59,24871,384,99,100,110,10415,10420,10441,114,111,32827,181,16565,512,59,97,99,100,5220,10429,10432,10436,115,244,5799,105,114,59,27376,111,116,32955,183,437,117,115,384,59,98,100,10450,6403,10451,25106,256,59,117,7484,10456,59,27178,355,10462,10465,112,59,27355,242,8722,240,2689,256,100,112,10473,10478,101,108,115,59,25255,102,59,49152,55349,56670,256,99,116,10488,10493,114,59,49152,55349,56514,112,111,115,187,5533,384,59,108,109,10505,10506,10509,17340,116,105,109,97,112,59,25272,3072,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,10562,10579,10622,10633,10648,10714,10729,10773,10778,10840,10845,10883,10901,10916,10920,11012,11015,11076,11135,11182,11316,11367,11388,11497,256,103,116,10567,10571,59,49152,8921,824,256,59,118,10576,3023,49152,8811,8402,384,101,108,116,10586,10610,10614,102,116,256,97,114,10593,10599,114,114,111,119,59,25037,105,103,104,116,97,114,114,111,119,59,25038,59,49152,8920,824,256,59,118,10619,3143,49152,8810,8402,105,103,104,116,97,114,114,111,119,59,25039,256,68,100,10638,10643,97,115,104,59,25263,97,115,104,59,25262,640,98,99,110,112,116,10659,10663,10668,10673,10700,108,97,187,734,117,116,101,59,16708,103,59,49152,8736,8402,640,59,69,105,111,112,3460,10684,10688,10693,10696,59,49152,10864,824,100,59,49152,8779,824,115,59,16713,114,111,248,3460,117,114,256,59,97,10707,10708,26222,108,256,59,115,10707,2872,499,10719,0,10723,112,32955,160,2871,109,112,256,59,101,3065,3072,640,97,101,111,117,121,10740,10750,10755,10768,10771,496,10745,0,10747,59,27203,111,110,59,16712,100,105,108,59,16710,110,103,256,59,100,3454,10762,111,116,59,49152,10861,824,112,59,27202,59,17469,97,115,104,59,24595,896,59,65,97,100,113,115,120,2962,10793,10797,10811,10817,10821,10832,114,114,59,25047,114,256,104,114,10803,10806,107,59,26916,256,59,111,5106,5104,111,116,59,49152,8784,824,117,105,246,2915,256,101,105,10826,10830,97,114,59,26920,237,2968,105,115,116,256,59,115,2976,2975,114,59,49152,55349,56619,512,69,101,115,116,3013,10854,10873,10876,384,59,113,115,3004,10861,3041,384,59,113,115,3004,3013,10868,108,97,110,244,3042,105,237,3050,256,59,114,2998,10881,187,2999,384,65,97,112,10890,10893,10897,114,242,10609,114,114,59,25006,97,114,59,27378,384,59,115,118,3981,10908,3980,256,59,100,10913,10914,25340,59,25338,99,121,59,17498,896,65,69,97,100,101,115,116,10935,10938,10942,10946,10949,10998,11001,114,242,10598,59,49152,8806,824,114,114,59,24986,114,59,24613,512,59,102,113,115,3131,10958,10979,10991,116,256,97,114,10964,10969,114,114,111,247,10945,105,103,104,116,97,114,114,111,247,10896,384,59,113,115,3131,10938,10986,108,97,110,244,3157,256,59,115,3157,10996,187,3126,105,237,3165,256,59,114,3125,11006,105,256,59,101,3098,3109,105,228,3472,256,112,116,11020,11025,102,59,49152,55349,56671,33152,172,59,105,110,11033,11034,11062,16556,110,512,59,69,100,118,2953,11044,11048,11054,59,49152,8953,824,111,116,59,49152,8949,824,481,2953,11059,11061,59,25335,59,25334,105,256,59,118,3256,11068,481,3256,11073,11075,59,25342,59,25341,384,97,111,114,11083,11107,11113,114,512,59,97,115,116,2939,11093,11098,11103,108,108,101,236,2939,108,59,49152,11005,8421,59,49152,8706,824,108,105,110,116,59,27156,384,59,99,101,3218,11120,11123,117,229,3237,256,59,99,3224,11128,256,59,101,3218,11133,241,3224,512,65,97,105,116,11144,11147,11165,11175,114,242,10632,114,114,384,59,99,119,11156,11157,11161,24987,59,49152,10547,824,59,49152,8605,824,103,104,116,97,114,114,111,119,187,11157,114,105,256,59,101,3275,3286,896,99,104,105,109,112,113,117,11197,11213,11225,11012,2936,11236,11247,512,59,99,101,114,3378,11206,3383,11209,117,229,3397,59,49152,55349,56515,111,114,116,621,11013,0,0,11222,97,114,225,11094,109,256,59,101,3438,11231,256,59,113,3444,3443,115,117,256,98,112,11243,11245,229,3320,229,3339,384,98,99,112,11254,11281,11289,512,59,69,101,115,11263,11264,3362,11268,25220,59,49152,10949,824,101,116,256,59,101,3355,11275,113,256,59,113,3363,11264,99,256,59,101,3378,11287,241,3384,512,59,69,101,115,11298,11299,3423,11303,25221,59,49152,10950,824,101,116,256,59,101,3416,11310,113,256,59,113,3424,11299,512,103,105,108,114,11325,11327,11333,11335,236,3031,108,100,101,32827,241,16625,231,3139,105,97,110,103,108,101,256,108,114,11346,11356,101,102,116,256,59,101,3098,11354,241,3110,105,103,104,116,256,59,101,3275,11365,241,3287,256,59,109,11372,11373,17341,384,59,101,115,11380,11381,11385,16419,114,111,59,24854,112,59,24583,1152,68,72,97,100,103,105,108,114,115,11407,11412,11417,11422,11427,11440,11446,11475,11491,97,115,104,59,25261,97,114,114,59,26884,112,59,49152,8781,8402,97,115,104,59,25260,256,101,116,11432,11436,59,49152,8805,8402,59,49152,62,8402,110,102,105,110,59,27102,384,65,101,116,11453,11457,11461,114,114,59,26882,59,49152,8804,8402,256,59,114,11466,11469,49152,60,8402,105,101,59,49152,8884,8402,256,65,116,11480,11484,114,114,59,26883,114,105,101,59,49152,8885,8402,105,109,59,49152,8764,8402,384,65,97,110,11504,11508,11522,114,114,59,25046,114,256,104,114,11514,11517,107,59,26915,256,59,111,5095,5093,101,97,114,59,26919,4691,6805,0,0,0,0,0,0,0,0,0,0,0,0,0,11565,0,11576,11592,11616,11621,11634,11652,6919,0,0,11661,11691,0,11720,11726,0,11740,11801,11819,11838,11843,256,99,115,11569,6807,117,116,101,32827,243,16627,256,105,121,11580,11589,114,256,59,99,6814,11586,32827,244,16628,59,17470,640,97,98,105,111,115,6816,11602,11607,456,11610,108,97,99,59,16721,118,59,27192,111,108,100,59,27068,108,105,103,59,16723,256,99,114,11625,11629,105,114,59,27071,59,49152,55349,56620,879,11641,0,0,11644,0,11650,110,59,17115,97,118,101,32827,242,16626,59,27073,256,98,109,11656,3572,97,114,59,27061,512,97,99,105,116,11669,11672,11685,11688,114,242,6784,256,105,114,11677,11680,114,59,27070,111,115,115,59,27067,110,229,3666,59,27072,384,97,101,105,11697,11701,11705,99,114,59,16717,103,97,59,17353,384,99,100,110,11712,11717,461,114,111,110,59,17343,59,27062,112,102,59,49152,55349,56672,384,97,101,108,11732,11735,466,114,59,27063,114,112,59,27065,896,59,97,100,105,111,115,118,11754,11755,11758,11784,11789,11792,11798,25128,114,242,6790,512,59,101,102,109,11767,11768,11778,11781,27229,114,256,59,111,11774,11775,24884,102,187,11775,32827,170,16554,32827,186,16570,103,111,102,59,25270,114,59,27222,108,111,112,101,59,27223,59,27227,384,99,108,111,11807,11809,11815,242,11777,97,115,104,32827,248,16632,108,59,25240,105,364,11823,11828,100,101,32827,245,16629,101,115,256,59,97,475,11834,115,59,27190,109,108,32827,246,16630,98,97,114,59,25405,2785,11870,0,11901,0,11904,11933,0,11938,11961,0,0,11979,3740,0,12051,0,0,12075,12220,0,12232,114,512,59,97,115,116,1027,11879,11890,3717,33024,182,59,108,11885,11886,16566,108,101,236,1027,617,11896,0,0,11899,109,59,27379,59,27389,121,59,17471,114,640,99,105,109,112,116,11915,11919,11923,6245,11927,110,116,59,16421,111,100,59,16430,105,108,59,24624,101,110,107,59,24625,114,59,49152,55349,56621,384,105,109,111,11944,11952,11956,256,59,118,11949,11950,17350,59,17365,109,97,244,2678,110,101,59,26126,384,59,116,118,11967,11968,11976,17344,99,104,102,111,114,107,187,8189,59,17366,256,97,117,11983,11999,110,256,99,107,11989,11997,107,256,59,104,8692,11995,59,24846,246,8692,115,1152,59,97,98,99,100,101,109,115,116,12019,12020,6408,12025,12029,12036,12038,12042,12046,16427,99,105,114,59,27171,105,114,59,27170,256,111,117,7488,12034,59,27173,59,27250,110,32955,177,3741,105,109,59,27174,119,111,59,27175,384,105,112,117,12057,12064,12069,110,116,105,110,116,59,27157,102,59,49152,55349,56673,110,100,32827,163,16547,1280,59,69,97,99,101,105,110,111,115,117,3784,12095,12097,12100,12103,12161,12169,12178,12158,12214,59,27315,112,59,27319,117,229,3801,256,59,99,3790,12108,768,59,97,99,101,110,115,3784,12121,12127,12134,12136,12158,112,112,114,111,248,12099,117,114,108,121,101,241,3801,241,3790,384,97,101,115,12143,12150,12154,112,112,114,111,120,59,27321,113,113,59,27317,105,109,59,25320,105,237,3807,109,101,256,59,115,12168,3758,24626,384,69,97,115,12152,12176,12154,240,12149,384,100,102,112,3820,12185,12207,384,97,108,115,12192,12197,12202,108,97,114,59,25390,105,110,101,59,25362,117,114,102,59,25363,256,59,116,3835,12212,239,3835,114,101,108,59,25264,256,99,105,12224,12229,114,59,49152,55349,56517,59,17352,110,99,115,112,59,24584,768,102,105,111,112,115,117,12250,8930,12255,12261,12267,12273,114,59,49152,55349,56622,112,102,59,49152,55349,56674,114,105,109,101,59,24663,99,114,59,49152,55349,56518,384,97,101,111,12280,12297,12307,116,256,101,105,12286,12293,114,110,105,111,110,243,1712,110,116,59,27158,115,116,256,59,101,12304,12305,16447,241,7961,244,3860,2688,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,12352,12369,12373,12377,12512,12558,12587,12615,12642,12658,12686,12806,12821,12836,12841,12888,12910,12914,12944,12976,12983,384,97,114,116,12359,12362,12364,114,242,4275,242,989,97,105,108,59,26908,97,114,242,7269,97,114,59,26980,896,99,100,101,110,113,114,116,12392,12405,12408,12415,12431,12436,12492,256,101,117,12397,12401,59,49152,8765,817,116,101,59,16725,105,227,4462,109,112,116,121,118,59,27059,103,512,59,100,101,108,4049,12425,12427,12429,59,27026,59,27045,229,4049,117,111,32827,187,16571,114,1408,59,97,98,99,102,104,108,112,115,116,119,4060,12460,12463,12471,12473,12476,12478,12480,12483,12487,12490,112,59,26997,256,59,102,4064,12468,115,59,26912,59,26931,115,59,26910,235,8797,240,10030,108,59,26949,105,109,59,26996,108,59,24995,59,24989,256,97,105,12497,12501,105,108,59,26906,111,256,59,110,12507,12508,25142,97,108,243,3870,384,97,98,114,12519,12522,12526,114,242,6117,114,107,59,26483,256,97,107,12531,12541,99,256,101,107,12537,12539,59,16509,59,16477,256,101,115,12546,12548,59,27020,108,256,100,117,12554,12556,59,27022,59,27024,512,97,101,117,121,12567,12572,12583,12585,114,111,110,59,16729,256,100,105,12577,12581,105,108,59,16727,236,4082,226,12538,59,17472,512,99,108,113,115,12596,12599,12605,12612,97,59,26935,100,104,97,114,59,26985,117,111,256,59,114,526,525,104,59,25011,384,97,99,103,12622,12639,3908,108,512,59,105,112,115,3960,12632,12635,4252,110,229,4283,97,114,244,4009,116,59,26029,384,105,108,114,12649,4131,12654,115,104,116,59,27005,59,49152,55349,56623,256,97,111,12663,12678,114,256,100,117,12669,12671,187,1147,256,59,108,4241,12676,59,26988,256,59,118,12683,12684,17345,59,17393,384,103,110,115,12693,12793,12796,104,116,768,97,104,108,114,115,116,12708,12720,12738,12760,12772,12782,114,114,111,119,256,59,116,4060,12717,97,233,12488,97,114,112,111,111,110,256,100,117,12731,12735,111,119,238,12670,112,187,4242,101,102,116,256,97,104,12746,12752,114,114,111,119,243,4074,97,114,112,111,111,110,243,1361,105,103,104,116,97,114,114,111,119,115,59,25033,113,117,105,103,97,114,114,111,247,12491,104,114,101,101,116,105,109,101,115,59,25292,103,59,17114,105,110,103,100,111,116,115,101,241,7986,384,97,104,109,12813,12816,12819,114,242,4074,97,242,1361,59,24591,111,117,115,116,256,59,97,12830,12831,25521,99,104,101,187,12831,109,105,100,59,27374,512,97,98,112,116,12850,12861,12864,12882,256,110,114,12855,12858,103,59,26605,114,59,25086,114,235,4099,384,97,102,108,12871,12874,12878,114,59,27014,59,49152,55349,56675,117,115,59,27182,105,109,101,115,59,27189,256,97,112,12893,12903,114,256,59,103,12899,12900,16425,116,59,27028,111,108,105,110,116,59,27154,97,114,242,12771,512,97,99,104,113,12923,12928,4284,12933,113,117,111,59,24634,114,59,49152,55349,56519,256,98,117,12539,12938,111,256,59,114,532,531,384,104,105,114,12951,12955,12960,114,101,229,12792,109,101,115,59,25290,105,512,59,101,102,108,12970,4185,6177,12971,26041,116,114,105,59,27086,108,117,104,97,114,59,26984,59,24862,3425,13013,13019,13023,13100,13112,13169,0,13178,13220,0,0,13292,13296,0,13352,13384,13402,13485,13489,13514,13553,0,13846,0,0,13875,99,117,116,101,59,16731,113,117,239,10170,1280,59,69,97,99,101,105,110,112,115,121,4589,13043,13045,13055,13058,13067,13071,13087,13094,13097,59,27316,496,13050,0,13052,59,27320,111,110,59,16737,117,229,4606,256,59,100,4595,13063,105,108,59,16735,114,99,59,16733,384,69,97,115,13078,13080,13083,59,27318,112,59,27322,105,109,59,25321,111,108,105,110,116,59,27155,105,237,4612,59,17473,111,116,384,59,98,101,13108,7495,13109,25285,59,27238,896,65,97,99,109,115,116,120,13126,13130,13143,13147,13150,13155,13165,114,114,59,25048,114,256,104,114,13136,13138,235,8744,256,59,111,2614,2612,116,32827,167,16551,105,59,16443,119,97,114,59,26921,109,256,105,110,13161,240,110,117,243,241,116,59,26422,114,256,59,111,13174,8277,49152,55349,56624,512,97,99,111,121,13186,13190,13201,13216,114,112,59,26223,256,104,121,13195,13199,99,121,59,17481,59,17480,114,116,621,13209,0,0,13212,105,228,5220,97,114,97,236,11887,32827,173,16557,256,103,109,13224,13236,109,97,384,59,102,118,13233,13234,13234,17347,59,17346,1024,59,100,101,103,108,110,112,114,4779,13253,13257,13262,13270,13278,13281,13286,111,116,59,27242,256,59,113,4785,4784,256,59,69,13267,13268,27294,59,27296,256,59,69,13275,13276,27293,59,27295,101,59,25158,108,117,115,59,27172,97,114,114,59,26994,97,114,242,4413,512,97,101,105,116,13304,13320,13327,13335,256,108,115,13309,13316,108,115,101,116,109,233,13162,104,112,59,27187,112,97,114,115,108,59,27108,256,100,108,5219,13332,101,59,25379,256,59,101,13340,13341,27306,256,59,115,13346,13347,27308,59,49152,10924,65024,384,102,108,112,13358,13363,13378,116,99,121,59,17484,256,59,98,13368,13369,16431,256,59,97,13374,13375,27076,114,59,25407,102,59,49152,55349,56676,97,256,100,114,13389,1026,101,115,256,59,117,13396,13397,26208,105,116,187,13397,384,99,115,117,13408,13433,13471,256,97,117,13413,13423,112,256,59,115,4488,13419,59,49152,8851,65024,112,256,59,115,4532,13429,59,49152,8852,65024,117,256,98,112,13439,13455,384,59,101,115,4503,4508,13446,101,116,256,59,101,4503,13453,241,4509,384,59,101,115,4520,4525,13462,101,116,256,59,101,4520,13469,241,4526,384,59,97,102,4475,13478,1456,114,357,13483,1457,187,4476,97,114,242,4424,512,99,101,109,116,13497,13502,13506,13509,114,59,49152,55349,56520,116,109,238,241,105,236,13333,97,114,230,4542,256,97,114,13518,13525,114,256,59,102,13524,6079,26118,256,97,110,13530,13549,105,103,104,116,256,101,112,13539,13546,112,115,105,108,111,238,7904,104,233,11951,115,187,10322,640,98,99,109,110,112,13563,13662,4617,13707,13710,1152,59,69,100,101,109,110,112,114,115,13582,13583,13585,13589,13598,13603,13612,13617,13622,25218,59,27333,111,116,59,27325,256,59,100,4570,13594,111,116,59,27331,117,108,116,59,27329,256,69,101,13608,13610,59,27339,59,25226,108,117,115,59,27327,97,114,114,59,27001,384,101,105,117,13629,13650,13653,116,384,59,101,110,13582,13637,13643,113,256,59,113,4570,13583,101,113,256,59,113,13611,13608,109,59,27335,256,98,112,13658,13660,59,27349,59,27347,99,768,59,97,99,101,110,115,4589,13676,13682,13689,13691,13094,112,112,114,111,248,13050,117,114,108,121,101,241,4606,241,4595,384,97,101,115,13698,13704,13083,112,112,114,111,248,13082,113,241,13079,103,59,26218,1664,49,50,51,59,69,100,101,104,108,109,110,112,115,13737,13740,13743,4636,13746,13748,13760,13769,13781,13786,13791,13800,13805,32827,185,16569,32827,178,16562,32827,179,16563,59,27334,256,111,115,13753,13756,116,59,27326,117,98,59,27352,256,59,100,4642,13765,111,116,59,27332,115,256,111,117,13775,13778,108,59,26569,98,59,27351,97,114,114,59,27003,117,108,116,59,27330,256,69,101,13796,13798,59,27340,59,25227,108,117,115,59,27328,384,101,105,117,13812,13833,13836,116,384,59,101,110,4636,13820,13826,113,256,59,113,4642,13746,101,113,256,59,113,13799,13796,109,59,27336,256,98,112,13841,13843,59,27348,59,27350,384,65,97,110,13852,13856,13869,114,114,59,25049,114,256,104,114,13862,13864,235,8750,256,59,111,2603,2601,119,97,114,59,26922,108,105,103,32827,223,16607,3041,13905,13917,13920,4814,13939,13945,0,13950,14018,0,0,0,0,0,14043,14083,0,14089,14188,0,0,0,14215,626,13910,0,0,13915,103,101,116,59,25366,59,17348,114,235,3679,384,97,101,121,13926,13931,13936,114,111,110,59,16741,100,105,108,59,16739,59,17474,108,114,101,99,59,25365,114,59,49152,55349,56625,512,101,105,107,111,13958,13981,14005,14012,498,13963,0,13969,101,256,52,102,4740,4737,97,384,59,115,118,13976,13977,13979,17336,121,109,59,17361,256,99,110,13986,14002,107,256,97,115,13992,13998,112,112,114,111,248,4801,105,109,187,4780,115,240,4766,256,97,115,14010,13998,240,4801,114,110,32827,254,16638,492,799,14022,8935,101,115,33152,215,59,98,100,14031,14032,14040,16599,256,59,97,6415,14037,114,59,27185,59,27184,384,101,112,115,14049,14051,14080,225,10829,512,59,98,99,102,1158,14060,14064,14068,111,116,59,25398,105,114,59,27377,256,59,111,14073,14076,49152,55349,56677,114,107,59,27354,225,13154,114,105,109,101,59,24628,384,97,105,112,14095,14098,14180,100,229,4680,896,97,100,101,109,112,115,116,14113,14157,14144,14161,14167,14172,14175,110,103,108,101,640,59,100,108,113,114,14128,14129,14134,14144,14146,26037,111,119,110,187,7611,101,102,116,256,59,101,10240,14142,241,2350,59,25180,105,103,104,116,256,59,101,12970,14155,241,4186,111,116,59,26092,105,110,117,115,59,27194,108,117,115,59,27193,98,59,27085,105,109,101,59,27195,101,122,105,117,109,59,25570,384,99,104,116,14194,14205,14209,256,114,121,14199,14203,59,49152,55349,56521,59,17478,99,121,59,17499,114,111,107,59,16743,256,105,111,14219,14222,120,244,6007,104,101,97,100,256,108,114,14231,14240,101,102,116,97,114,114,111,247,2127,105,103,104,116,97,114,114,111,119,187,3933,2304,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,14288,14291,14295,14308,14320,14332,14350,14364,14371,14388,14417,14429,14443,14505,14540,14546,14570,14582,114,242,1005,97,114,59,26979,256,99,114,14300,14306,117,116,101,32827,250,16634,242,4432,114,483,14314,0,14317,121,59,17502,118,101,59,16749,256,105,121,14325,14330,114,99,32827,251,16635,59,17475,384,97,98,104,14339,14342,14347,114,242,5037,108,97,99,59,16753,97,242,5059,256,105,114,14355,14360,115,104,116,59,27006,59,49152,55349,56626,114,97,118,101,32827,249,16633,353,14375,14385,114,256,108,114,14380,14382,187,2391,187,4227,108,107,59,25984,256,99,116,14393,14413,623,14399,0,0,14410,114,110,256,59,101,14405,14406,25372,114,187,14406,111,112,59,25359,114,105,59,26104,256,97,108,14422,14426,99,114,59,16747,32955,168,841,256,103,112,14434,14438,111,110,59,16755,102,59,49152,55349,56678,768,97,100,104,108,115,117,4427,14456,14461,4978,14481,14496,111,119,110,225,5043,97,114,112,111,111,110,256,108,114,14472,14476,101,102,244,14381,105,103,104,244,14383,105,384,59,104,108,14489,14490,14492,17349,187,5114,111,110,187,14490,112,97,114,114,111,119,115,59,25032,384,99,105,116,14512,14532,14536,623,14518,0,0,14529,114,110,256,59,101,14524,14525,25373,114,187,14525,111,112,59,25358,110,103,59,16751,114,105,59,26105,99,114,59,49152,55349,56522,384,100,105,114,14553,14557,14562,111,116,59,25328,108,100,101,59,16745,105,256,59,102,14128,14568,187,6163,256,97,109,14575,14578,114,242,14504,108,32827,252,16636,97,110,103,108,101,59,27047,1920,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,14620,14623,14633,14637,14773,14776,14781,14815,14820,14824,14835,14841,14845,14849,14880,114,242,1015,97,114,256,59,118,14630,14631,27368,59,27369,97,115,232,993,256,110,114,14642,14647,103,114,116,59,27036,896,101,107,110,112,114,115,116,13539,14662,14667,14674,14685,14692,14742,97,112,112,225,9237,111,116,104,105,110,231,7830,384,104,105,114,13547,11976,14681,111,112,244,12213,256,59,104,5047,14690,239,12685,256,105,117,14697,14701,103,109,225,13235,256,98,112,14706,14724,115,101,116,110,101,113,256,59,113,14717,14720,49152,8842,65024,59,49152,10955,65024,115,101,116,110,101,113,256,59,113,14735,14738,49152,8843,65024,59,49152,10956,65024,256,104,114,14747,14751,101,116,225,13980,105,97,110,103,108,101,256,108,114,14762,14767,101,102,116,187,2341,105,103,104,116,187,4177,121,59,17458,97,115,104,187,4150,384,101,108,114,14788,14802,14807,384,59,98,101,11754,14795,14799,97,114,59,25275,113,59,25178,108,105,112,59,25326,256,98,116,14812,5224,97,242,5225,114,59,49152,55349,56627,116,114,233,14766,115,117,256,98,112,14831,14833,187,3356,187,3417,112,102,59,49152,55349,56679,114,111,240,3835,116,114,233,14772,256,99,117,14854,14859,114,59,49152,55349,56523,256,98,112,14864,14872,110,256,69,101,14720,14870,187,14718,110,256,69,101,14738,14878,187,14736,105,103,122,97,103,59,27034,896,99,101,102,111,112,114,115,14902,14907,14934,14939,14932,14945,14954,105,114,99,59,16757,256,100,105,14912,14929,256,98,103,14917,14921,97,114,59,27231,101,256,59,113,5626,14927,59,25177,101,114,112,59,24856,114,59,49152,55349,56628,112,102,59,49152,55349,56680,256,59,101,5241,14950,97,116,232,5241,99,114,59,49152,55349,56524,2787,6030,14983,0,14987,0,14992,15003,0,0,15005,15016,15019,15023,0,0,15043,15054,0,15064,6108,6111,116,114,233,6097,114,59,49152,55349,56629,256,65,97,14996,14999,114,242,963,114,242,2550,59,17342,256,65,97,15009,15012,114,242,952,114,242,2539,97,240,10003,105,115,59,25339,384,100,112,116,6052,15029,15038,256,102,108,15034,6057,59,49152,55349,56681,105,109,229,6066,256,65,97,15047,15050,114,242,974,114,242,2561,256,99,113,15058,6072,114,59,49152,55349,56525,256,112,116,6102,15068,114,233,6100,1024,97,99,101,102,105,111,115,117,15088,15101,15112,15116,15121,15125,15131,15137,99,256,117,121,15094,15099,116,101,32827,253,16637,59,17487,256,105,121,15106,15110,114,99,59,16759,59,17483,110,32827,165,16549,114,59,49152,55349,56630,99,121,59,17495,112,102,59,49152,55349,56682,99,114,59,49152,55349,56526,256,99,109,15142,15145,121,59,17486,108,32827,255,16639,1280,97,99,100,101,102,104,105,111,115,119,15170,15176,15188,15192,15204,15209,15213,15220,15226,15232,99,117,116,101,59,16762,256,97,121,15181,15186,114,111,110,59,16766,59,17463,111,116,59,16764,256,101,116,15197,15201,116,114,230,5471,97,59,17334,114,59,49152,55349,56631,99,121,59,17462,103,114,97,114,114,59,25053,112,102,59,49152,55349,56683,99,114,59,49152,55349,56527,256,106,110,15237,15239,59,24589,106,59,24588]),cn=new Uint16Array([512,97,103,108,113,9,21,24,27,621,15,0,0,18,112,59,16422,111,115,59,16423,116,59,16446,116,59,16444,117,111,116,59,16418]);var ln;const un=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),En=null!==(ln=String.fromCodePoint)&&void 0!==ln?ln:function(e){let t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+=String.fromCharCode(e),t};var hn,pn,dn,Tn,mn,An,fn;function _n(e){return function(t,n){let s="",r=0,a=0;for(;(a=t.indexOf("&",a))>=0;){if(s+=t.slice(r,a),r=a,a+=1,t.charCodeAt(a)===hn.NUM){let e=a+1,o=10,i=t.charCodeAt(e);(i|hn.To_LOWER_BIT)===hn.LOWER_X&&(o=16,a+=1,e+=1);do{i=t.charCodeAt(++a)}while(i>=hn.ZERO&&i<=hn.NINE||16===o&&(i|hn.To_LOWER_BIT)>=hn.LOWER_A&&(i|hn.To_LOWER_BIT)<=hn.LOWER_F);if(e!==a){const i=t.substring(e,a),c=parseInt(i,o);if(t.charCodeAt(a)===hn.SEMI)a+=1;else if(n)continue;s+=En(function(e){var t;return e>=55296&&e<=57343||e>1114111?65533:null!==(t=un.get(e))&&void 0!==t?t:e}(c)),r=a}continue}let o=0,i=1,c=0,l=e[c];for(;a>14)-1;if(0===e)break;c+=e}}if(0!==o){const t=(e[o]&pn.VALUE_LENGTH)>>14;s+=1===t?String.fromCharCode(e[o]&~pn.VALUE_LENGTH):2===t?String.fromCharCode(e[o+1]):String.fromCharCode(e[o+1],e[o+2]),r=a-i+1}}return s+t.slice(r)}}function Cn(e,t,n,s){const r=(t&pn.BRANCH_LENGTH)>>7,a=t&pn.JUMP_TABLE;if(0===r)return 0!==a&&s===a?n:-1;if(a){const t=s-a;return t<0||t>=r?-1:e[n+t]-1}let o=n,i=o+r-1;for(;o<=i;){const t=o+i>>>1,n=e[t];if(ns))return e[t+r];i=t-1}}return-1}!function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.To_LOWER_BIT=32]="To_LOWER_BIT"}(hn||(hn={})),function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"}(pn||(pn={})),_n(on),_n(cn),function(e){e.HTML="http://www.w3.org/1999/xhtml",e.MATHML="http://www.w3.org/1998/Math/MathML",e.SVG="http://www.w3.org/2000/svg",e.XLINK="http://www.w3.org/1999/xlink",e.XML="http://www.w3.org/XML/1998/namespace",e.XMLNS="http://www.w3.org/2000/xmlns/"}(dn||(dn={})),function(e){e.TYPE="type",e.ACTION="action",e.ENCODING="encoding",e.PROMPT="prompt",e.NAME="name",e.COLOR="color",e.FACE="face",e.SIZE="size"}(Tn||(Tn={})),function(e){e.NO_QUIRKS="no-quirks",e.QUIRKS="quirks",e.LIMITED_QUIRKS="limited-quirks"}(mn||(mn={})),function(e){e.A="a",e.ADDRESS="address",e.ANNOTATION_XML="annotation-xml",e.APPLET="applet",e.AREA="area",e.ARTICLE="article",e.ASIDE="aside",e.B="b",e.BASE="base",e.BASEFONT="basefont",e.BGSOUND="bgsound",e.BIG="big",e.BLOCKQUOTE="blockquote",e.BODY="body",e.BR="br",e.BUTTON="button",e.CAPTION="caption",e.CENTER="center",e.CODE="code",e.COL="col",e.COLGROUP="colgroup",e.DD="dd",e.DESC="desc",e.DETAILS="details",e.DIALOG="dialog",e.DIR="dir",e.DIV="div",e.DL="dl",e.DT="dt",e.EM="em",e.EMBED="embed",e.FIELDSET="fieldset",e.FIGCAPTION="figcaption",e.FIGURE="figure",e.FONT="font",e.FOOTER="footer",e.FOREIGN_OBJECT="foreignObject",e.FORM="form",e.FRAME="frame",e.FRAMESET="frameset",e.H1="h1",e.H2="h2",e.H3="h3",e.H4="h4",e.H5="h5",e.H6="h6",e.HEAD="head",e.HEADER="header",e.HGROUP="hgroup",e.HR="hr",e.HTML="html",e.I="i",e.IMG="img",e.IMAGE="image",e.INPUT="input",e.IFRAME="iframe",e.KEYGEN="keygen",e.LABEL="label",e.LI="li",e.LINK="link",e.LISTING="listing",e.MAIN="main",e.MALIGNMARK="malignmark",e.MARQUEE="marquee",e.MATH="math",e.MENU="menu",e.META="meta",e.MGLYPH="mglyph",e.MI="mi",e.MO="mo",e.MN="mn",e.MS="ms",e.MTEXT="mtext",e.NAV="nav",e.NOBR="nobr",e.NOFRAMES="noframes",e.NOEMBED="noembed",e.NOSCRIPT="noscript",e.OBJECT="object",e.OL="ol",e.OPTGROUP="optgroup",e.OPTION="option",e.P="p",e.PARAM="param",e.PLAINTEXT="plaintext",e.PRE="pre",e.RB="rb",e.RP="rp",e.RT="rt",e.RTC="rtc",e.RUBY="ruby",e.S="s",e.SCRIPT="script",e.SECTION="section",e.SELECT="select",e.SOURCE="source",e.SMALL="small",e.SPAN="span",e.STRIKE="strike",e.STRONG="strong",e.STYLE="style",e.SUB="sub",e.SUMMARY="summary",e.SUP="sup",e.TABLE="table",e.TBODY="tbody",e.TEMPLATE="template",e.TEXTAREA="textarea",e.TFOOT="tfoot",e.TD="td",e.TH="th",e.THEAD="thead",e.TITLE="title",e.TR="tr",e.TRACK="track",e.TT="tt",e.U="u",e.UL="ul",e.SVG="svg",e.VAR="var",e.WBR="wbr",e.XMP="xmp"}(An||(An={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.A=1]="A",e[e.ADDRESS=2]="ADDRESS",e[e.ANNOTATION_XML=3]="ANNOTATION_XML",e[e.APPLET=4]="APPLET",e[e.AREA=5]="AREA",e[e.ARTICLE=6]="ARTICLE",e[e.ASIDE=7]="ASIDE",e[e.B=8]="B",e[e.BASE=9]="BASE",e[e.BASEFONT=10]="BASEFONT",e[e.BGSOUND=11]="BGSOUND",e[e.BIG=12]="BIG",e[e.BLOCKQUOTE=13]="BLOCKQUOTE",e[e.BODY=14]="BODY",e[e.BR=15]="BR",e[e.BUTTON=16]="BUTTON",e[e.CAPTION=17]="CAPTION",e[e.CENTER=18]="CENTER",e[e.CODE=19]="CODE",e[e.COL=20]="COL",e[e.COLGROUP=21]="COLGROUP",e[e.DD=22]="DD",e[e.DESC=23]="DESC",e[e.DETAILS=24]="DETAILS",e[e.DIALOG=25]="DIALOG",e[e.DIR=26]="DIR",e[e.DIV=27]="DIV",e[e.DL=28]="DL",e[e.DT=29]="DT",e[e.EM=30]="EM",e[e.EMBED=31]="EMBED",e[e.FIELDSET=32]="FIELDSET",e[e.FIGCAPTION=33]="FIGCAPTION",e[e.FIGURE=34]="FIGURE",e[e.FONT=35]="FONT",e[e.FOOTER=36]="FOOTER",e[e.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",e[e.FORM=38]="FORM",e[e.FRAME=39]="FRAME",e[e.FRAMESET=40]="FRAMESET",e[e.H1=41]="H1",e[e.H2=42]="H2",e[e.H3=43]="H3",e[e.H4=44]="H4",e[e.H5=45]="H5",e[e.H6=46]="H6",e[e.HEAD=47]="HEAD",e[e.HEADER=48]="HEADER",e[e.HGROUP=49]="HGROUP",e[e.HR=50]="HR",e[e.HTML=51]="HTML",e[e.I=52]="I",e[e.IMG=53]="IMG",e[e.IMAGE=54]="IMAGE",e[e.INPUT=55]="INPUT",e[e.IFRAME=56]="IFRAME",e[e.KEYGEN=57]="KEYGEN",e[e.LABEL=58]="LABEL",e[e.LI=59]="LI",e[e.LINK=60]="LINK",e[e.LISTING=61]="LISTING",e[e.MAIN=62]="MAIN",e[e.MALIGNMARK=63]="MALIGNMARK",e[e.MARQUEE=64]="MARQUEE",e[e.MATH=65]="MATH",e[e.MENU=66]="MENU",e[e.META=67]="META",e[e.MGLYPH=68]="MGLYPH",e[e.MI=69]="MI",e[e.MO=70]="MO",e[e.MN=71]="MN",e[e.MS=72]="MS",e[e.MTEXT=73]="MTEXT",e[e.NAV=74]="NAV",e[e.NOBR=75]="NOBR",e[e.NOFRAMES=76]="NOFRAMES",e[e.NOEMBED=77]="NOEMBED",e[e.NOSCRIPT=78]="NOSCRIPT",e[e.OBJECT=79]="OBJECT",e[e.OL=80]="OL",e[e.OPTGROUP=81]="OPTGROUP",e[e.OPTION=82]="OPTION",e[e.P=83]="P",e[e.PARAM=84]="PARAM",e[e.PLAINTEXT=85]="PLAINTEXT",e[e.PRE=86]="PRE",e[e.RB=87]="RB",e[e.RP=88]="RP",e[e.RT=89]="RT",e[e.RTC=90]="RTC",e[e.RUBY=91]="RUBY",e[e.S=92]="S",e[e.SCRIPT=93]="SCRIPT",e[e.SECTION=94]="SECTION",e[e.SELECT=95]="SELECT",e[e.SOURCE=96]="SOURCE",e[e.SMALL=97]="SMALL",e[e.SPAN=98]="SPAN",e[e.STRIKE=99]="STRIKE",e[e.STRONG=100]="STRONG",e[e.STYLE=101]="STYLE",e[e.SUB=102]="SUB",e[e.SUMMARY=103]="SUMMARY",e[e.SUP=104]="SUP",e[e.TABLE=105]="TABLE",e[e.TBODY=106]="TBODY",e[e.TEMPLATE=107]="TEMPLATE",e[e.TEXTAREA=108]="TEXTAREA",e[e.TFOOT=109]="TFOOT",e[e.TD=110]="TD",e[e.TH=111]="TH",e[e.THEAD=112]="THEAD",e[e.TITLE=113]="TITLE",e[e.TR=114]="TR",e[e.TRACK=115]="TRACK",e[e.TT=116]="TT",e[e.U=117]="U",e[e.UL=118]="UL",e[e.SVG=119]="SVG",e[e.VAR=120]="VAR",e[e.WBR=121]="WBR",e[e.XMP=122]="XMP"}(fn||(fn={}));const gn=new Map([[An.A,fn.A],[An.ADDRESS,fn.ADDRESS],[An.ANNOTATION_XML,fn.ANNOTATION_XML],[An.APPLET,fn.APPLET],[An.AREA,fn.AREA],[An.ARTICLE,fn.ARTICLE],[An.ASIDE,fn.ASIDE],[An.B,fn.B],[An.BASE,fn.BASE],[An.BASEFONT,fn.BASEFONT],[An.BGSOUND,fn.BGSOUND],[An.BIG,fn.BIG],[An.BLOCKQUOTE,fn.BLOCKQUOTE],[An.BODY,fn.BODY],[An.BR,fn.BR],[An.BUTTON,fn.BUTTON],[An.CAPTION,fn.CAPTION],[An.CENTER,fn.CENTER],[An.CODE,fn.CODE],[An.COL,fn.COL],[An.COLGROUP,fn.COLGROUP],[An.DD,fn.DD],[An.DESC,fn.DESC],[An.DETAILS,fn.DETAILS],[An.DIALOG,fn.DIALOG],[An.DIR,fn.DIR],[An.DIV,fn.DIV],[An.DL,fn.DL],[An.DT,fn.DT],[An.EM,fn.EM],[An.EMBED,fn.EMBED],[An.FIELDSET,fn.FIELDSET],[An.FIGCAPTION,fn.FIGCAPTION],[An.FIGURE,fn.FIGURE],[An.FONT,fn.FONT],[An.FOOTER,fn.FOOTER],[An.FOREIGN_OBJECT,fn.FOREIGN_OBJECT],[An.FORM,fn.FORM],[An.FRAME,fn.FRAME],[An.FRAMESET,fn.FRAMESET],[An.H1,fn.H1],[An.H2,fn.H2],[An.H3,fn.H3],[An.H4,fn.H4],[An.H5,fn.H5],[An.H6,fn.H6],[An.HEAD,fn.HEAD],[An.HEADER,fn.HEADER],[An.HGROUP,fn.HGROUP],[An.HR,fn.HR],[An.HTML,fn.HTML],[An.I,fn.I],[An.IMG,fn.IMG],[An.IMAGE,fn.IMAGE],[An.INPUT,fn.INPUT],[An.IFRAME,fn.IFRAME],[An.KEYGEN,fn.KEYGEN],[An.LABEL,fn.LABEL],[An.LI,fn.LI],[An.LINK,fn.LINK],[An.LISTING,fn.LISTING],[An.MAIN,fn.MAIN],[An.MALIGNMARK,fn.MALIGNMARK],[An.MARQUEE,fn.MARQUEE],[An.MATH,fn.MATH],[An.MENU,fn.MENU],[An.META,fn.META],[An.MGLYPH,fn.MGLYPH],[An.MI,fn.MI],[An.MO,fn.MO],[An.MN,fn.MN],[An.MS,fn.MS],[An.MTEXT,fn.MTEXT],[An.NAV,fn.NAV],[An.NOBR,fn.NOBR],[An.NOFRAMES,fn.NOFRAMES],[An.NOEMBED,fn.NOEMBED],[An.NOSCRIPT,fn.NOSCRIPT],[An.OBJECT,fn.OBJECT],[An.OL,fn.OL],[An.OPTGROUP,fn.OPTGROUP],[An.OPTION,fn.OPTION],[An.P,fn.P],[An.PARAM,fn.PARAM],[An.PLAINTEXT,fn.PLAINTEXT],[An.PRE,fn.PRE],[An.RB,fn.RB],[An.RP,fn.RP],[An.RT,fn.RT],[An.RTC,fn.RTC],[An.RUBY,fn.RUBY],[An.S,fn.S],[An.SCRIPT,fn.SCRIPT],[An.SECTION,fn.SECTION],[An.SELECT,fn.SELECT],[An.SOURCE,fn.SOURCE],[An.SMALL,fn.SMALL],[An.SPAN,fn.SPAN],[An.STRIKE,fn.STRIKE],[An.STRONG,fn.STRONG],[An.STYLE,fn.STYLE],[An.SUB,fn.SUB],[An.SUMMARY,fn.SUMMARY],[An.SUP,fn.SUP],[An.TABLE,fn.TABLE],[An.TBODY,fn.TBODY],[An.TEMPLATE,fn.TEMPLATE],[An.TEXTAREA,fn.TEXTAREA],[An.TFOOT,fn.TFOOT],[An.TD,fn.TD],[An.TH,fn.TH],[An.THEAD,fn.THEAD],[An.TITLE,fn.TITLE],[An.TR,fn.TR],[An.TRACK,fn.TRACK],[An.TT,fn.TT],[An.U,fn.U],[An.UL,fn.UL],[An.SVG,fn.SVG],[An.VAR,fn.VAR],[An.WBR,fn.WBR],[An.XMP,fn.XMP]]);function kn(e){var t;return null!==(t=gn.get(e))&&void 0!==t?t:fn.UNKNOWN}const In=fn,Nn={[dn.HTML]:new Set([In.ADDRESS,In.APPLET,In.AREA,In.ARTICLE,In.ASIDE,In.BASE,In.BASEFONT,In.BGSOUND,In.BLOCKQUOTE,In.BODY,In.BR,In.BUTTON,In.CAPTION,In.CENTER,In.COL,In.COLGROUP,In.DD,In.DETAILS,In.DIR,In.DIV,In.DL,In.DT,In.EMBED,In.FIELDSET,In.FIGCAPTION,In.FIGURE,In.FOOTER,In.FORM,In.FRAME,In.FRAMESET,In.H1,In.H2,In.H3,In.H4,In.H5,In.H6,In.HEAD,In.HEADER,In.HGROUP,In.HR,In.HTML,In.IFRAME,In.IMG,In.INPUT,In.LI,In.LINK,In.LISTING,In.MAIN,In.MARQUEE,In.MENU,In.META,In.NAV,In.NOEMBED,In.NOFRAMES,In.NOSCRIPT,In.OBJECT,In.OL,In.P,In.PARAM,In.PLAINTEXT,In.PRE,In.SCRIPT,In.SECTION,In.SELECT,In.SOURCE,In.STYLE,In.SUMMARY,In.TABLE,In.TBODY,In.TD,In.TEMPLATE,In.TEXTAREA,In.TFOOT,In.TH,In.THEAD,In.TITLE,In.TR,In.TRACK,In.UL,In.WBR,In.XMP]),[dn.MATHML]:new Set([In.MI,In.MO,In.MN,In.MS,In.MTEXT,In.ANNOTATION_XML]),[dn.SVG]:new Set([In.TITLE,In.FOREIGN_OBJECT,In.DESC]),[dn.XLINK]:new Set,[dn.XML]:new Set,[dn.XMLNS]:new Set};function Sn(e){return e===In.H1||e===In.H2||e===In.H3||e===In.H4||e===In.H5||e===In.H6}const Rn=new Set([An.STYLE,An.SCRIPT,An.XMP,An.IFRAME,An.NOEMBED,An.NOFRAMES,An.PLAINTEXT]),bn=new Map([[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);var Dn;!function(e){e[e.DATA=0]="DATA",e[e.RCDATA=1]="RCDATA",e[e.RAWTEXT=2]="RAWTEXT",e[e.SCRIPT_DATA=3]="SCRIPT_DATA",e[e.PLAINTEXT=4]="PLAINTEXT",e[e.TAG_OPEN=5]="TAG_OPEN",e[e.END_TAG_OPEN=6]="END_TAG_OPEN",e[e.TAG_NAME=7]="TAG_NAME",e[e.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",e[e.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",e[e.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",e[e.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",e[e.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",e[e.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",e[e.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",e[e.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",e[e.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",e[e.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",e[e.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",e[e.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",e[e.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",e[e.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",e[e.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",e[e.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",e[e.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",e[e.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",e[e.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",e[e.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",e[e.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",e[e.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",e[e.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",e[e.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",e[e.BOGUS_COMMENT=40]="BOGUS_COMMENT",e[e.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",e[e.COMMENT_START=42]="COMMENT_START",e[e.COMMENT_START_DASH=43]="COMMENT_START_DASH",e[e.COMMENT=44]="COMMENT",e[e.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",e[e.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",e[e.COMMENT_END_DASH=49]="COMMENT_END_DASH",e[e.COMMENT_END=50]="COMMENT_END",e[e.COMMENT_END_BANG=51]="COMMENT_END_BANG",e[e.DOCTYPE=52]="DOCTYPE",e[e.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",e[e.DOCTYPE_NAME=54]="DOCTYPE_NAME",e[e.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",e[e.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",e[e.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",e[e.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",e[e.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",e[e.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",e[e.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",e[e.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",e[e.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",e[e.CDATA_SECTION=68]="CDATA_SECTION",e[e.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",e[e.CDATA_SECTION_END=70]="CDATA_SECTION_END",e[e.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",e[e.NAMED_CHARACTER_REFERENCE=72]="NAMED_CHARACTER_REFERENCE",e[e.AMBIGUOUS_AMPERSAND=73]="AMBIGUOUS_AMPERSAND",e[e.NUMERIC_CHARACTER_REFERENCE=74]="NUMERIC_CHARACTER_REFERENCE",e[e.HEXADEMICAL_CHARACTER_REFERENCE_START=75]="HEXADEMICAL_CHARACTER_REFERENCE_START",e[e.DECIMAL_CHARACTER_REFERENCE_START=76]="DECIMAL_CHARACTER_REFERENCE_START",e[e.HEXADEMICAL_CHARACTER_REFERENCE=77]="HEXADEMICAL_CHARACTER_REFERENCE",e[e.DECIMAL_CHARACTER_REFERENCE=78]="DECIMAL_CHARACTER_REFERENCE",e[e.NUMERIC_CHARACTER_REFERENCE_END=79]="NUMERIC_CHARACTER_REFERENCE_END"}(Dn||(Dn={}));const Pn={DATA:Dn.DATA,RCDATA:Dn.RCDATA,RAWTEXT:Dn.RAWTEXT,SCRIPT_DATA:Dn.SCRIPT_DATA,PLAINTEXT:Dn.PLAINTEXT,CDATA_SECTION:Dn.CDATA_SECTION};function On(e){return e>=Kt.DIGIT_0&&e<=Kt.DIGIT_9}function Ln(e){return e>=Kt.LATIN_CAPITAL_A&&e<=Kt.LATIN_CAPITAL_Z}function Mn(e){return function(e){return e>=Kt.LATIN_SMALL_A&&e<=Kt.LATIN_SMALL_Z}(e)||Ln(e)}function yn(e){return Mn(e)||On(e)}function wn(e){return e>=Kt.LATIN_CAPITAL_A&&e<=Kt.LATIN_CAPITAL_F}function Bn(e){return e>=Kt.LATIN_SMALL_A&&e<=Kt.LATIN_SMALL_F}function Un(e){return e+32}function xn(e){return e===Kt.SPACE||e===Kt.LINE_FEED||e===Kt.TABULATION||e===Kt.FORM_FEED}function vn(e){return xn(e)||e===Kt.SOLIDUS||e===Kt.GREATER_THAN_SIGN}class Hn{constructor(e,t){this.options=e,this.handler=t,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=Dn.DATA,this.returnState=Dn.DATA,this.charRefCode=-1,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new rn(t),this.currentLocation=this.getCurrentLocation(-1)}_err(e){var t,n;null===(n=(t=this.handler).onParseError)||void 0===n||n.call(t,this.preprocessor.getError(e))}getCurrentLocation(e){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-e,startOffset:this.preprocessor.offset-e,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;const e=this._consume();this._ensureHibernation()||this._callState(e)}this.inLoop=!1}}pause(){this.paused=!0}resume(e){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,this.inLoop||(this._runParsingLoop(),this.paused||null==e||e())}write(e,t,n){this.active=!0,this.preprocessor.write(e,t),this._runParsingLoop(),this.paused||null==n||n()}insertHtmlAtCurrentPos(e){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(e),this._runParsingLoop()}_ensureHibernation(){return!!this.preprocessor.endOfChunkHit&&(this._unconsume(this.consumedAfterSnapshot),this.active=!1,!0)}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_unconsume(e){this.consumedAfterSnapshot-=e,this.preprocessor.retreat(e)}_reconsumeInState(e){this.state=e,this._unconsume(1)}_advanceBy(e){this.consumedAfterSnapshot+=e;for(let t=0;t0&&this._err(nn.endTagWithAttributes),e.selfClosing&&this._err(nn.endTagWithTrailingSolidus),this.handler.onEndTag(e)),this.preprocessor.dropParsedChunk()}emitCurrentComment(e){this.prepareToken(e),this.handler.onComment(e),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(e){this.prepareToken(e),this.handler.onDoctype(e),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(e){if(this.currentCharacterToken){switch(e&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=e.startLine,this.currentCharacterToken.location.endCol=e.startCol,this.currentCharacterToken.location.endOffset=e.startOffset),this.currentCharacterToken.type){case sn.CHARACTER:this.handler.onCharacter(this.currentCharacterToken);break;case sn.NULL_CHARACTER:this.handler.onNullCharacter(this.currentCharacterToken);break;case sn.WHITESPACE_CHARACTER:this.handler.onWhitespaceCharacter(this.currentCharacterToken)}this.currentCharacterToken=null}}_emitEOFToken(){const e=this.getCurrentLocation(0);e&&(e.endLine=e.startLine,e.endCol=e.startCol,e.endOffset=e.startOffset),this._emitCurrentCharacterToken(e),this.handler.onEof({type:sn.EOF,location:e}),this.active=!1}_appendCharToCurrentCharacterToken(e,t){if(this.currentCharacterToken){if(this.currentCharacterToken.type===e)return void(this.currentCharacterToken.chars+=t);this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk()}this._createCharacterToken(e,t)}_emitCodePoint(e){let t=sn.CHARACTER;xn(e)?t=sn.WHITESPACE_CHARACTER:e===Kt.NULL&&(t=sn.NULL_CHARACTER),this._appendCharToCurrentCharacterToken(t,String.fromCodePoint(e))}_emitChars(e){this._appendCharToCurrentCharacterToken(sn.CHARACTER,e)}_matchNamedCharacterReference(e){let t=null,n=0,s=!1;for(let a=0,o=on[0];a>=0&&(a=Cn(on,o,a+1,e),!(a<0));e=this._consume()){n+=1,o=on[a];const i=o&pn.VALUE_LENGTH;if(i){const o=(i>>14)-1;if(e!==Kt.SEMICOLON&&this._isCharacterReferenceInAttribute()&&((r=this.preprocessor.peek(1))===Kt.EQUALS_SIGN||yn(r))?(t=[Kt.AMPERSAND],a+=o):(t=0===o?[on[a]&~pn.VALUE_LENGTH]:1===o?[on[++a]]:[on[++a],on[++a]],n=0,s=e!==Kt.SEMICOLON),0===o){this._consume();break}}}var r;return this._unconsume(n),s&&!this.preprocessor.endOfChunkHit&&this._err(nn.missingSemicolonAfterCharacterReference),this._unconsume(1),t}_isCharacterReferenceInAttribute(){return this.returnState===Dn.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===Dn.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===Dn.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(e){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(e):this._emitCodePoint(e)}_callState(e){switch(this.state){case Dn.DATA:this._stateData(e);break;case Dn.RCDATA:this._stateRcdata(e);break;case Dn.RAWTEXT:this._stateRawtext(e);break;case Dn.SCRIPT_DATA:this._stateScriptData(e);break;case Dn.PLAINTEXT:this._statePlaintext(e);break;case Dn.TAG_OPEN:this._stateTagOpen(e);break;case Dn.END_TAG_OPEN:this._stateEndTagOpen(e);break;case Dn.TAG_NAME:this._stateTagName(e);break;case Dn.RCDATA_LESS_THAN_SIGN:this._stateRcdataLessThanSign(e);break;case Dn.RCDATA_END_TAG_OPEN:this._stateRcdataEndTagOpen(e);break;case Dn.RCDATA_END_TAG_NAME:this._stateRcdataEndTagName(e);break;case Dn.RAWTEXT_LESS_THAN_SIGN:this._stateRawtextLessThanSign(e);break;case Dn.RAWTEXT_END_TAG_OPEN:this._stateRawtextEndTagOpen(e);break;case Dn.RAWTEXT_END_TAG_NAME:this._stateRawtextEndTagName(e);break;case Dn.SCRIPT_DATA_LESS_THAN_SIGN:this._stateScriptDataLessThanSign(e);break;case Dn.SCRIPT_DATA_END_TAG_OPEN:this._stateScriptDataEndTagOpen(e);break;case Dn.SCRIPT_DATA_END_TAG_NAME:this._stateScriptDataEndTagName(e);break;case Dn.SCRIPT_DATA_ESCAPE_START:this._stateScriptDataEscapeStart(e);break;case Dn.SCRIPT_DATA_ESCAPE_START_DASH:this._stateScriptDataEscapeStartDash(e);break;case Dn.SCRIPT_DATA_ESCAPED:this._stateScriptDataEscaped(e);break;case Dn.SCRIPT_DATA_ESCAPED_DASH:this._stateScriptDataEscapedDash(e);break;case Dn.SCRIPT_DATA_ESCAPED_DASH_DASH:this._stateScriptDataEscapedDashDash(e);break;case Dn.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataEscapedLessThanSign(e);break;case Dn.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:this._stateScriptDataEscapedEndTagOpen(e);break;case Dn.SCRIPT_DATA_ESCAPED_END_TAG_NAME:this._stateScriptDataEscapedEndTagName(e);break;case Dn.SCRIPT_DATA_DOUBLE_ESCAPE_START:this._stateScriptDataDoubleEscapeStart(e);break;case Dn.SCRIPT_DATA_DOUBLE_ESCAPED:this._stateScriptDataDoubleEscaped(e);break;case Dn.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:this._stateScriptDataDoubleEscapedDash(e);break;case Dn.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:this._stateScriptDataDoubleEscapedDashDash(e);break;case Dn.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataDoubleEscapedLessThanSign(e);break;case Dn.SCRIPT_DATA_DOUBLE_ESCAPE_END:this._stateScriptDataDoubleEscapeEnd(e);break;case Dn.BEFORE_ATTRIBUTE_NAME:this._stateBeforeAttributeName(e);break;case Dn.ATTRIBUTE_NAME:this._stateAttributeName(e);break;case Dn.AFTER_ATTRIBUTE_NAME:this._stateAfterAttributeName(e);break;case Dn.BEFORE_ATTRIBUTE_VALUE:this._stateBeforeAttributeValue(e);break;case Dn.ATTRIBUTE_VALUE_DOUBLE_QUOTED:this._stateAttributeValueDoubleQuoted(e);break;case Dn.ATTRIBUTE_VALUE_SINGLE_QUOTED:this._stateAttributeValueSingleQuoted(e);break;case Dn.ATTRIBUTE_VALUE_UNQUOTED:this._stateAttributeValueUnquoted(e);break;case Dn.AFTER_ATTRIBUTE_VALUE_QUOTED:this._stateAfterAttributeValueQuoted(e);break;case Dn.SELF_CLOSING_START_TAG:this._stateSelfClosingStartTag(e);break;case Dn.BOGUS_COMMENT:this._stateBogusComment(e);break;case Dn.MARKUP_DECLARATION_OPEN:this._stateMarkupDeclarationOpen(e);break;case Dn.COMMENT_START:this._stateCommentStart(e);break;case Dn.COMMENT_START_DASH:this._stateCommentStartDash(e);break;case Dn.COMMENT:this._stateComment(e);break;case Dn.COMMENT_LESS_THAN_SIGN:this._stateCommentLessThanSign(e);break;case Dn.COMMENT_LESS_THAN_SIGN_BANG:this._stateCommentLessThanSignBang(e);break;case Dn.COMMENT_LESS_THAN_SIGN_BANG_DASH:this._stateCommentLessThanSignBangDash(e);break;case Dn.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:this._stateCommentLessThanSignBangDashDash(e);break;case Dn.COMMENT_END_DASH:this._stateCommentEndDash(e);break;case Dn.COMMENT_END:this._stateCommentEnd(e);break;case Dn.COMMENT_END_BANG:this._stateCommentEndBang(e);break;case Dn.DOCTYPE:this._stateDoctype(e);break;case Dn.BEFORE_DOCTYPE_NAME:this._stateBeforeDoctypeName(e);break;case Dn.DOCTYPE_NAME:this._stateDoctypeName(e);break;case Dn.AFTER_DOCTYPE_NAME:this._stateAfterDoctypeName(e);break;case Dn.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._stateAfterDoctypePublicKeyword(e);break;case Dn.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:this._stateBeforeDoctypePublicIdentifier(e);break;case Dn.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypePublicIdentifierDoubleQuoted(e);break;case Dn.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypePublicIdentifierSingleQuoted(e);break;case Dn.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:this._stateAfterDoctypePublicIdentifier(e);break;case Dn.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:this._stateBetweenDoctypePublicAndSystemIdentifiers(e);break;case Dn.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._stateAfterDoctypeSystemKeyword(e);break;case Dn.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:this._stateBeforeDoctypeSystemIdentifier(e);break;case Dn.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypeSystemIdentifierDoubleQuoted(e);break;case Dn.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypeSystemIdentifierSingleQuoted(e);break;case Dn.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:this._stateAfterDoctypeSystemIdentifier(e);break;case Dn.BOGUS_DOCTYPE:this._stateBogusDoctype(e);break;case Dn.CDATA_SECTION:this._stateCdataSection(e);break;case Dn.CDATA_SECTION_BRACKET:this._stateCdataSectionBracket(e);break;case Dn.CDATA_SECTION_END:this._stateCdataSectionEnd(e);break;case Dn.CHARACTER_REFERENCE:this._stateCharacterReference(e);break;case Dn.NAMED_CHARACTER_REFERENCE:this._stateNamedCharacterReference(e);break;case Dn.AMBIGUOUS_AMPERSAND:this._stateAmbiguousAmpersand(e);break;case Dn.NUMERIC_CHARACTER_REFERENCE:this._stateNumericCharacterReference(e);break;case Dn.HEXADEMICAL_CHARACTER_REFERENCE_START:this._stateHexademicalCharacterReferenceStart(e);break;case Dn.DECIMAL_CHARACTER_REFERENCE_START:this._stateDecimalCharacterReferenceStart(e);break;case Dn.HEXADEMICAL_CHARACTER_REFERENCE:this._stateHexademicalCharacterReference(e);break;case Dn.DECIMAL_CHARACTER_REFERENCE:this._stateDecimalCharacterReference(e);break;case Dn.NUMERIC_CHARACTER_REFERENCE_END:this._stateNumericCharacterReferenceEnd();break;default:throw new Error("Unknown state")}}_stateData(e){switch(e){case Kt.LESS_THAN_SIGN:this.state=Dn.TAG_OPEN;break;case Kt.AMPERSAND:this.returnState=Dn.DATA,this.state=Dn.CHARACTER_REFERENCE;break;case Kt.NULL:this._err(nn.unexpectedNullCharacter),this._emitCodePoint(e);break;case Kt.EOF:this._emitEOFToken();break;default:this._emitCodePoint(e)}}_stateRcdata(e){switch(e){case Kt.AMPERSAND:this.returnState=Dn.RCDATA,this.state=Dn.CHARACTER_REFERENCE;break;case Kt.LESS_THAN_SIGN:this.state=Dn.RCDATA_LESS_THAN_SIGN;break;case Kt.NULL:this._err(nn.unexpectedNullCharacter),this._emitChars(Qt);break;case Kt.EOF:this._emitEOFToken();break;default:this._emitCodePoint(e)}}_stateRawtext(e){switch(e){case Kt.LESS_THAN_SIGN:this.state=Dn.RAWTEXT_LESS_THAN_SIGN;break;case Kt.NULL:this._err(nn.unexpectedNullCharacter),this._emitChars(Qt);break;case Kt.EOF:this._emitEOFToken();break;default:this._emitCodePoint(e)}}_stateScriptData(e){switch(e){case Kt.LESS_THAN_SIGN:this.state=Dn.SCRIPT_DATA_LESS_THAN_SIGN;break;case Kt.NULL:this._err(nn.unexpectedNullCharacter),this._emitChars(Qt);break;case Kt.EOF:this._emitEOFToken();break;default:this._emitCodePoint(e)}}_statePlaintext(e){switch(e){case Kt.NULL:this._err(nn.unexpectedNullCharacter),this._emitChars(Qt);break;case Kt.EOF:this._emitEOFToken();break;default:this._emitCodePoint(e)}}_stateTagOpen(e){if(Mn(e))this._createStartTagToken(),this.state=Dn.TAG_NAME,this._stateTagName(e);else switch(e){case Kt.EXCLAMATION_MARK:this.state=Dn.MARKUP_DECLARATION_OPEN;break;case Kt.SOLIDUS:this.state=Dn.END_TAG_OPEN;break;case Kt.QUESTION_MARK:this._err(nn.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=Dn.BOGUS_COMMENT,this._stateBogusComment(e);break;case Kt.EOF:this._err(nn.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break;default:this._err(nn.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=Dn.DATA,this._stateData(e)}}_stateEndTagOpen(e){if(Mn(e))this._createEndTagToken(),this.state=Dn.TAG_NAME,this._stateTagName(e);else switch(e){case Kt.GREATER_THAN_SIGN:this._err(nn.missingEndTagName),this.state=Dn.DATA;break;case Kt.EOF:this._err(nn.eofBeforeTagName),this._emitChars("");break;case Kt.NULL:this._err(nn.unexpectedNullCharacter),this.state=Dn.SCRIPT_DATA_ESCAPED,this._emitChars(Qt);break;case Kt.EOF:this._err(nn.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=Dn.SCRIPT_DATA_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataEscapedLessThanSign(e){e===Kt.SOLIDUS?this.state=Dn.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:Mn(e)?(this._emitChars("<"),this.state=Dn.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(e)):(this._emitChars("<"),this.state=Dn.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(e))}_stateScriptDataEscapedEndTagOpen(e){Mn(e)?(this.state=Dn.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(e)):(this._emitChars("");break;case Kt.NULL:this._err(nn.unexpectedNullCharacter),this.state=Dn.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(Qt);break;case Kt.EOF:this._err(nn.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=Dn.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataDoubleEscapedLessThanSign(e){e===Kt.SOLIDUS?(this.state=Dn.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=Dn.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(e))}_stateScriptDataDoubleEscapeEnd(e){if(this.preprocessor.startsWith($t,!1)&&vn(this.preprocessor.peek($t.length))){this._emitCodePoint(e);for(let e=0;e<$t.length;e++)this._emitCodePoint(this._consume());this.state=Dn.SCRIPT_DATA_ESCAPED}else this._ensureHibernation()||(this.state=Dn.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(e))}_stateBeforeAttributeName(e){switch(e){case Kt.SPACE:case Kt.LINE_FEED:case Kt.TABULATION:case Kt.FORM_FEED:break;case Kt.SOLIDUS:case Kt.GREATER_THAN_SIGN:case Kt.EOF:this.state=Dn.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(e);break;case Kt.EQUALS_SIGN:this._err(nn.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=Dn.ATTRIBUTE_NAME;break;default:this._createAttr(""),this.state=Dn.ATTRIBUTE_NAME,this._stateAttributeName(e)}}_stateAttributeName(e){switch(e){case Kt.SPACE:case Kt.LINE_FEED:case Kt.TABULATION:case Kt.FORM_FEED:case Kt.SOLIDUS:case Kt.GREATER_THAN_SIGN:case Kt.EOF:this._leaveAttrName(),this.state=Dn.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(e);break;case Kt.EQUALS_SIGN:this._leaveAttrName(),this.state=Dn.BEFORE_ATTRIBUTE_VALUE;break;case Kt.QUOTATION_MARK:case Kt.APOSTROPHE:case Kt.LESS_THAN_SIGN:this._err(nn.unexpectedCharacterInAttributeName),this.currentAttr.name+=String.fromCodePoint(e);break;case Kt.NULL:this._err(nn.unexpectedNullCharacter),this.currentAttr.name+=Qt;break;default:this.currentAttr.name+=String.fromCodePoint(Ln(e)?Un(e):e)}}_stateAfterAttributeName(e){switch(e){case Kt.SPACE:case Kt.LINE_FEED:case Kt.TABULATION:case Kt.FORM_FEED:break;case Kt.SOLIDUS:this.state=Dn.SELF_CLOSING_START_TAG;break;case Kt.EQUALS_SIGN:this.state=Dn.BEFORE_ATTRIBUTE_VALUE;break;case Kt.GREATER_THAN_SIGN:this.state=Dn.DATA,this.emitCurrentTagToken();break;case Kt.EOF:this._err(nn.eofInTag),this._emitEOFToken();break;default:this._createAttr(""),this.state=Dn.ATTRIBUTE_NAME,this._stateAttributeName(e)}}_stateBeforeAttributeValue(e){switch(e){case Kt.SPACE:case Kt.LINE_FEED:case Kt.TABULATION:case Kt.FORM_FEED:break;case Kt.QUOTATION_MARK:this.state=Dn.ATTRIBUTE_VALUE_DOUBLE_QUOTED;break;case Kt.APOSTROPHE:this.state=Dn.ATTRIBUTE_VALUE_SINGLE_QUOTED;break;case Kt.GREATER_THAN_SIGN:this._err(nn.missingAttributeValue),this.state=Dn.DATA,this.emitCurrentTagToken();break;default:this.state=Dn.ATTRIBUTE_VALUE_UNQUOTED,this._stateAttributeValueUnquoted(e)}}_stateAttributeValueDoubleQuoted(e){switch(e){case Kt.QUOTATION_MARK:this.state=Dn.AFTER_ATTRIBUTE_VALUE_QUOTED;break;case Kt.AMPERSAND:this.returnState=Dn.ATTRIBUTE_VALUE_DOUBLE_QUOTED,this.state=Dn.CHARACTER_REFERENCE;break;case Kt.NULL:this._err(nn.unexpectedNullCharacter),this.currentAttr.value+=Qt;break;case Kt.EOF:this._err(nn.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(e)}}_stateAttributeValueSingleQuoted(e){switch(e){case Kt.APOSTROPHE:this.state=Dn.AFTER_ATTRIBUTE_VALUE_QUOTED;break;case Kt.AMPERSAND:this.returnState=Dn.ATTRIBUTE_VALUE_SINGLE_QUOTED,this.state=Dn.CHARACTER_REFERENCE;break;case Kt.NULL:this._err(nn.unexpectedNullCharacter),this.currentAttr.value+=Qt;break;case Kt.EOF:this._err(nn.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(e)}}_stateAttributeValueUnquoted(e){switch(e){case Kt.SPACE:case Kt.LINE_FEED:case Kt.TABULATION:case Kt.FORM_FEED:this._leaveAttrValue(),this.state=Dn.BEFORE_ATTRIBUTE_NAME;break;case Kt.AMPERSAND:this.returnState=Dn.ATTRIBUTE_VALUE_UNQUOTED,this.state=Dn.CHARACTER_REFERENCE;break;case Kt.GREATER_THAN_SIGN:this._leaveAttrValue(),this.state=Dn.DATA,this.emitCurrentTagToken();break;case Kt.NULL:this._err(nn.unexpectedNullCharacter),this.currentAttr.value+=Qt;break;case Kt.QUOTATION_MARK:case Kt.APOSTROPHE:case Kt.LESS_THAN_SIGN:case Kt.EQUALS_SIGN:case Kt.GRAVE_ACCENT:this._err(nn.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=String.fromCodePoint(e);break;case Kt.EOF:this._err(nn.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(e)}}_stateAfterAttributeValueQuoted(e){switch(e){case Kt.SPACE:case Kt.LINE_FEED:case Kt.TABULATION:case Kt.FORM_FEED:this._leaveAttrValue(),this.state=Dn.BEFORE_ATTRIBUTE_NAME;break;case Kt.SOLIDUS:this._leaveAttrValue(),this.state=Dn.SELF_CLOSING_START_TAG;break;case Kt.GREATER_THAN_SIGN:this._leaveAttrValue(),this.state=Dn.DATA,this.emitCurrentTagToken();break;case Kt.EOF:this._err(nn.eofInTag),this._emitEOFToken();break;default:this._err(nn.missingWhitespaceBetweenAttributes),this.state=Dn.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(e)}}_stateSelfClosingStartTag(e){switch(e){case Kt.GREATER_THAN_SIGN:this.currentToken.selfClosing=!0,this.state=Dn.DATA,this.emitCurrentTagToken();break;case Kt.EOF:this._err(nn.eofInTag),this._emitEOFToken();break;default:this._err(nn.unexpectedSolidusInTag),this.state=Dn.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(e)}}_stateBogusComment(e){const t=this.currentToken;switch(e){case Kt.GREATER_THAN_SIGN:this.state=Dn.DATA,this.emitCurrentComment(t);break;case Kt.EOF:this.emitCurrentComment(t),this._emitEOFToken();break;case Kt.NULL:this._err(nn.unexpectedNullCharacter),t.data+=Qt;break;default:t.data+=String.fromCodePoint(e)}}_stateMarkupDeclarationOpen(e){this._consumeSequenceIfMatch("--",!0)?(this._createCommentToken("--".length+1),this.state=Dn.COMMENT_START):this._consumeSequenceIfMatch(Jt,!1)?(this.currentLocation=this.getCurrentLocation(Jt.length+1),this.state=Dn.DOCTYPE):this._consumeSequenceIfMatch(zt,!0)?this.inForeignNode?this.state=Dn.CDATA_SECTION:(this._err(nn.cdataInHtmlContent),this._createCommentToken(zt.length+1),this.currentToken.data="[CDATA[",this.state=Dn.BOGUS_COMMENT):this._ensureHibernation()||(this._err(nn.incorrectlyOpenedComment),this._createCommentToken(2),this.state=Dn.BOGUS_COMMENT,this._stateBogusComment(e))}_stateCommentStart(e){switch(e){case Kt.HYPHEN_MINUS:this.state=Dn.COMMENT_START_DASH;break;case Kt.GREATER_THAN_SIGN:{this._err(nn.abruptClosingOfEmptyComment),this.state=Dn.DATA;const e=this.currentToken;this.emitCurrentComment(e);break}default:this.state=Dn.COMMENT,this._stateComment(e)}}_stateCommentStartDash(e){const t=this.currentToken;switch(e){case Kt.HYPHEN_MINUS:this.state=Dn.COMMENT_END;break;case Kt.GREATER_THAN_SIGN:this._err(nn.abruptClosingOfEmptyComment),this.state=Dn.DATA,this.emitCurrentComment(t);break;case Kt.EOF:this._err(nn.eofInComment),this.emitCurrentComment(t),this._emitEOFToken();break;default:t.data+="-",this.state=Dn.COMMENT,this._stateComment(e)}}_stateComment(e){const t=this.currentToken;switch(e){case Kt.HYPHEN_MINUS:this.state=Dn.COMMENT_END_DASH;break;case Kt.LESS_THAN_SIGN:t.data+="<",this.state=Dn.COMMENT_LESS_THAN_SIGN;break;case Kt.NULL:this._err(nn.unexpectedNullCharacter),t.data+=Qt;break;case Kt.EOF:this._err(nn.eofInComment),this.emitCurrentComment(t),this._emitEOFToken();break;default:t.data+=String.fromCodePoint(e)}}_stateCommentLessThanSign(e){const t=this.currentToken;switch(e){case Kt.EXCLAMATION_MARK:t.data+="!",this.state=Dn.COMMENT_LESS_THAN_SIGN_BANG;break;case Kt.LESS_THAN_SIGN:t.data+="<";break;default:this.state=Dn.COMMENT,this._stateComment(e)}}_stateCommentLessThanSignBang(e){e===Kt.HYPHEN_MINUS?this.state=Dn.COMMENT_LESS_THAN_SIGN_BANG_DASH:(this.state=Dn.COMMENT,this._stateComment(e))}_stateCommentLessThanSignBangDash(e){e===Kt.HYPHEN_MINUS?this.state=Dn.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:(this.state=Dn.COMMENT_END_DASH,this._stateCommentEndDash(e))}_stateCommentLessThanSignBangDashDash(e){e!==Kt.GREATER_THAN_SIGN&&e!==Kt.EOF&&this._err(nn.nestedComment),this.state=Dn.COMMENT_END,this._stateCommentEnd(e)}_stateCommentEndDash(e){const t=this.currentToken;switch(e){case Kt.HYPHEN_MINUS:this.state=Dn.COMMENT_END;break;case Kt.EOF:this._err(nn.eofInComment),this.emitCurrentComment(t),this._emitEOFToken();break;default:t.data+="-",this.state=Dn.COMMENT,this._stateComment(e)}}_stateCommentEnd(e){const t=this.currentToken;switch(e){case Kt.GREATER_THAN_SIGN:this.state=Dn.DATA,this.emitCurrentComment(t);break;case Kt.EXCLAMATION_MARK:this.state=Dn.COMMENT_END_BANG;break;case Kt.HYPHEN_MINUS:t.data+="-";break;case Kt.EOF:this._err(nn.eofInComment),this.emitCurrentComment(t),this._emitEOFToken();break;default:t.data+="--",this.state=Dn.COMMENT,this._stateComment(e)}}_stateCommentEndBang(e){const t=this.currentToken;switch(e){case Kt.HYPHEN_MINUS:t.data+="--!",this.state=Dn.COMMENT_END_DASH;break;case Kt.GREATER_THAN_SIGN:this._err(nn.incorrectlyClosedComment),this.state=Dn.DATA,this.emitCurrentComment(t);break;case Kt.EOF:this._err(nn.eofInComment),this.emitCurrentComment(t),this._emitEOFToken();break;default:t.data+="--!",this.state=Dn.COMMENT,this._stateComment(e)}}_stateDoctype(e){switch(e){case Kt.SPACE:case Kt.LINE_FEED:case Kt.TABULATION:case Kt.FORM_FEED:this.state=Dn.BEFORE_DOCTYPE_NAME;break;case Kt.GREATER_THAN_SIGN:this.state=Dn.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(e);break;case Kt.EOF:{this._err(nn.eofInDoctype),this._createDoctypeToken(null);const e=this.currentToken;e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break}default:this._err(nn.missingWhitespaceBeforeDoctypeName),this.state=Dn.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(e)}}_stateBeforeDoctypeName(e){if(Ln(e))this._createDoctypeToken(String.fromCharCode(Un(e))),this.state=Dn.DOCTYPE_NAME;else switch(e){case Kt.SPACE:case Kt.LINE_FEED:case Kt.TABULATION:case Kt.FORM_FEED:break;case Kt.NULL:this._err(nn.unexpectedNullCharacter),this._createDoctypeToken(Qt),this.state=Dn.DOCTYPE_NAME;break;case Kt.GREATER_THAN_SIGN:{this._err(nn.missingDoctypeName),this._createDoctypeToken(null);const e=this.currentToken;e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=Dn.DATA;break}case Kt.EOF:{this._err(nn.eofInDoctype),this._createDoctypeToken(null);const e=this.currentToken;e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break}default:this._createDoctypeToken(String.fromCodePoint(e)),this.state=Dn.DOCTYPE_NAME}}_stateDoctypeName(e){const t=this.currentToken;switch(e){case Kt.SPACE:case Kt.LINE_FEED:case Kt.TABULATION:case Kt.FORM_FEED:this.state=Dn.AFTER_DOCTYPE_NAME;break;case Kt.GREATER_THAN_SIGN:this.state=Dn.DATA,this.emitCurrentDoctype(t);break;case Kt.NULL:this._err(nn.unexpectedNullCharacter),t.name+=Qt;break;case Kt.EOF:this._err(nn.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break;default:t.name+=String.fromCodePoint(Ln(e)?Un(e):e)}}_stateAfterDoctypeName(e){const t=this.currentToken;switch(e){case Kt.SPACE:case Kt.LINE_FEED:case Kt.TABULATION:case Kt.FORM_FEED:break;case Kt.GREATER_THAN_SIGN:this.state=Dn.DATA,this.emitCurrentDoctype(t);break;case Kt.EOF:this._err(nn.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break;default:this._consumeSequenceIfMatch("public",!1)?this.state=Dn.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._consumeSequenceIfMatch("system",!1)?this.state=Dn.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._ensureHibernation()||(this._err(nn.invalidCharacterSequenceAfterDoctypeName),t.forceQuirks=!0,this.state=Dn.BOGUS_DOCTYPE,this._stateBogusDoctype(e))}}_stateAfterDoctypePublicKeyword(e){const t=this.currentToken;switch(e){case Kt.SPACE:case Kt.LINE_FEED:case Kt.TABULATION:case Kt.FORM_FEED:this.state=Dn.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;break;case Kt.QUOTATION_MARK:this._err(nn.missingWhitespaceAfterDoctypePublicKeyword),t.publicId="",this.state=Dn.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break;case Kt.APOSTROPHE:this._err(nn.missingWhitespaceAfterDoctypePublicKeyword),t.publicId="",this.state=Dn.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break;case Kt.GREATER_THAN_SIGN:this._err(nn.missingDoctypePublicIdentifier),t.forceQuirks=!0,this.state=Dn.DATA,this.emitCurrentDoctype(t);break;case Kt.EOF:this._err(nn.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break;default:this._err(nn.missingQuoteBeforeDoctypePublicIdentifier),t.forceQuirks=!0,this.state=Dn.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateBeforeDoctypePublicIdentifier(e){const t=this.currentToken;switch(e){case Kt.SPACE:case Kt.LINE_FEED:case Kt.TABULATION:case Kt.FORM_FEED:break;case Kt.QUOTATION_MARK:t.publicId="",this.state=Dn.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break;case Kt.APOSTROPHE:t.publicId="",this.state=Dn.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break;case Kt.GREATER_THAN_SIGN:this._err(nn.missingDoctypePublicIdentifier),t.forceQuirks=!0,this.state=Dn.DATA,this.emitCurrentDoctype(t);break;case Kt.EOF:this._err(nn.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break;default:this._err(nn.missingQuoteBeforeDoctypePublicIdentifier),t.forceQuirks=!0,this.state=Dn.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateDoctypePublicIdentifierDoubleQuoted(e){const t=this.currentToken;switch(e){case Kt.QUOTATION_MARK:this.state=Dn.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break;case Kt.NULL:this._err(nn.unexpectedNullCharacter),t.publicId+=Qt;break;case Kt.GREATER_THAN_SIGN:this._err(nn.abruptDoctypePublicIdentifier),t.forceQuirks=!0,this.emitCurrentDoctype(t),this.state=Dn.DATA;break;case Kt.EOF:this._err(nn.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break;default:t.publicId+=String.fromCodePoint(e)}}_stateDoctypePublicIdentifierSingleQuoted(e){const t=this.currentToken;switch(e){case Kt.APOSTROPHE:this.state=Dn.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break;case Kt.NULL:this._err(nn.unexpectedNullCharacter),t.publicId+=Qt;break;case Kt.GREATER_THAN_SIGN:this._err(nn.abruptDoctypePublicIdentifier),t.forceQuirks=!0,this.emitCurrentDoctype(t),this.state=Dn.DATA;break;case Kt.EOF:this._err(nn.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break;default:t.publicId+=String.fromCodePoint(e)}}_stateAfterDoctypePublicIdentifier(e){const t=this.currentToken;switch(e){case Kt.SPACE:case Kt.LINE_FEED:case Kt.TABULATION:case Kt.FORM_FEED:this.state=Dn.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;break;case Kt.GREATER_THAN_SIGN:this.state=Dn.DATA,this.emitCurrentDoctype(t);break;case Kt.QUOTATION_MARK:this._err(nn.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),t.systemId="",this.state=Dn.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Kt.APOSTROPHE:this._err(nn.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),t.systemId="",this.state=Dn.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Kt.EOF:this._err(nn.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break;default:this._err(nn.missingQuoteBeforeDoctypeSystemIdentifier),t.forceQuirks=!0,this.state=Dn.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateBetweenDoctypePublicAndSystemIdentifiers(e){const t=this.currentToken;switch(e){case Kt.SPACE:case Kt.LINE_FEED:case Kt.TABULATION:case Kt.FORM_FEED:break;case Kt.GREATER_THAN_SIGN:this.emitCurrentDoctype(t),this.state=Dn.DATA;break;case Kt.QUOTATION_MARK:t.systemId="",this.state=Dn.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Kt.APOSTROPHE:t.systemId="",this.state=Dn.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Kt.EOF:this._err(nn.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break;default:this._err(nn.missingQuoteBeforeDoctypeSystemIdentifier),t.forceQuirks=!0,this.state=Dn.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateAfterDoctypeSystemKeyword(e){const t=this.currentToken;switch(e){case Kt.SPACE:case Kt.LINE_FEED:case Kt.TABULATION:case Kt.FORM_FEED:this.state=Dn.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;break;case Kt.QUOTATION_MARK:this._err(nn.missingWhitespaceAfterDoctypeSystemKeyword),t.systemId="",this.state=Dn.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Kt.APOSTROPHE:this._err(nn.missingWhitespaceAfterDoctypeSystemKeyword),t.systemId="",this.state=Dn.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Kt.GREATER_THAN_SIGN:this._err(nn.missingDoctypeSystemIdentifier),t.forceQuirks=!0,this.state=Dn.DATA,this.emitCurrentDoctype(t);break;case Kt.EOF:this._err(nn.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break;default:this._err(nn.missingQuoteBeforeDoctypeSystemIdentifier),t.forceQuirks=!0,this.state=Dn.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateBeforeDoctypeSystemIdentifier(e){const t=this.currentToken;switch(e){case Kt.SPACE:case Kt.LINE_FEED:case Kt.TABULATION:case Kt.FORM_FEED:break;case Kt.QUOTATION_MARK:t.systemId="",this.state=Dn.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Kt.APOSTROPHE:t.systemId="",this.state=Dn.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Kt.GREATER_THAN_SIGN:this._err(nn.missingDoctypeSystemIdentifier),t.forceQuirks=!0,this.state=Dn.DATA,this.emitCurrentDoctype(t);break;case Kt.EOF:this._err(nn.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break;default:this._err(nn.missingQuoteBeforeDoctypeSystemIdentifier),t.forceQuirks=!0,this.state=Dn.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateDoctypeSystemIdentifierDoubleQuoted(e){const t=this.currentToken;switch(e){case Kt.QUOTATION_MARK:this.state=Dn.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break;case Kt.NULL:this._err(nn.unexpectedNullCharacter),t.systemId+=Qt;break;case Kt.GREATER_THAN_SIGN:this._err(nn.abruptDoctypeSystemIdentifier),t.forceQuirks=!0,this.emitCurrentDoctype(t),this.state=Dn.DATA;break;case Kt.EOF:this._err(nn.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break;default:t.systemId+=String.fromCodePoint(e)}}_stateDoctypeSystemIdentifierSingleQuoted(e){const t=this.currentToken;switch(e){case Kt.APOSTROPHE:this.state=Dn.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break;case Kt.NULL:this._err(nn.unexpectedNullCharacter),t.systemId+=Qt;break;case Kt.GREATER_THAN_SIGN:this._err(nn.abruptDoctypeSystemIdentifier),t.forceQuirks=!0,this.emitCurrentDoctype(t),this.state=Dn.DATA;break;case Kt.EOF:this._err(nn.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break;default:t.systemId+=String.fromCodePoint(e)}}_stateAfterDoctypeSystemIdentifier(e){const t=this.currentToken;switch(e){case Kt.SPACE:case Kt.LINE_FEED:case Kt.TABULATION:case Kt.FORM_FEED:break;case Kt.GREATER_THAN_SIGN:this.emitCurrentDoctype(t),this.state=Dn.DATA;break;case Kt.EOF:this._err(nn.eofInDoctype),t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break;default:this._err(nn.unexpectedCharacterAfterDoctypeSystemIdentifier),this.state=Dn.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateBogusDoctype(e){const t=this.currentToken;switch(e){case Kt.GREATER_THAN_SIGN:this.emitCurrentDoctype(t),this.state=Dn.DATA;break;case Kt.NULL:this._err(nn.unexpectedNullCharacter);break;case Kt.EOF:this.emitCurrentDoctype(t),this._emitEOFToken()}}_stateCdataSection(e){switch(e){case Kt.RIGHT_SQUARE_BRACKET:this.state=Dn.CDATA_SECTION_BRACKET;break;case Kt.EOF:this._err(nn.eofInCdata),this._emitEOFToken();break;default:this._emitCodePoint(e)}}_stateCdataSectionBracket(e){e===Kt.RIGHT_SQUARE_BRACKET?this.state=Dn.CDATA_SECTION_END:(this._emitChars("]"),this.state=Dn.CDATA_SECTION,this._stateCdataSection(e))}_stateCdataSectionEnd(e){switch(e){case Kt.GREATER_THAN_SIGN:this.state=Dn.DATA;break;case Kt.RIGHT_SQUARE_BRACKET:this._emitChars("]");break;default:this._emitChars("]]"),this.state=Dn.CDATA_SECTION,this._stateCdataSection(e)}}_stateCharacterReference(e){e===Kt.NUMBER_SIGN?this.state=Dn.NUMERIC_CHARACTER_REFERENCE:yn(e)?(this.state=Dn.NAMED_CHARACTER_REFERENCE,this._stateNamedCharacterReference(e)):(this._flushCodePointConsumedAsCharacterReference(Kt.AMPERSAND),this._reconsumeInState(this.returnState))}_stateNamedCharacterReference(e){const t=this._matchNamedCharacterReference(e);if(this._ensureHibernation());else if(t){for(let e=0;e1114111)this._err(nn.characterReferenceOutsideUnicodeRange),this.charRefCode=Kt.REPLACEMENT_CHARACTER;else if(Zt(this.charRefCode))this._err(nn.surrogateCharacterReference),this.charRefCode=Kt.REPLACEMENT_CHARACTER;else if(tn(this.charRefCode))this._err(nn.noncharacterCharacterReference);else if(en(this.charRefCode)||this.charRefCode===Kt.CARRIAGE_RETURN){this._err(nn.controlCharacterReference);const e=bn.get(this.charRefCode);void 0!==e&&(this.charRefCode=e)}this._flushCodePointConsumedAsCharacterReference(this.charRefCode),this._reconsumeInState(this.returnState)}}const Fn=new Set([fn.DD,fn.DT,fn.LI,fn.OPTGROUP,fn.OPTION,fn.P,fn.RB,fn.RP,fn.RT,fn.RTC]),Gn=new Set([...Fn,fn.CAPTION,fn.COLGROUP,fn.TBODY,fn.TD,fn.TFOOT,fn.TH,fn.THEAD,fn.TR]),jn=new Map([[fn.APPLET,dn.HTML],[fn.CAPTION,dn.HTML],[fn.HTML,dn.HTML],[fn.MARQUEE,dn.HTML],[fn.OBJECT,dn.HTML],[fn.TABLE,dn.HTML],[fn.TD,dn.HTML],[fn.TEMPLATE,dn.HTML],[fn.TH,dn.HTML],[fn.ANNOTATION_XML,dn.MATHML],[fn.MI,dn.MATHML],[fn.MN,dn.MATHML],[fn.MO,dn.MATHML],[fn.MS,dn.MATHML],[fn.MTEXT,dn.MATHML],[fn.DESC,dn.SVG],[fn.FOREIGN_OBJECT,dn.SVG],[fn.TITLE,dn.SVG]]),Yn=[fn.H1,fn.H2,fn.H3,fn.H4,fn.H5,fn.H6],qn=[fn.TR,fn.TEMPLATE,fn.HTML],Vn=[fn.TBODY,fn.TFOOT,fn.THEAD,fn.TEMPLATE,fn.HTML],Xn=[fn.TABLE,fn.TEMPLATE,fn.HTML],Wn=[fn.TD,fn.TH];class Qn{constructor(e,t,n){this.treeAdapter=t,this.handler=n,this.items=[],this.tagIDs=[],this.stackTop=-1,this.tmplCount=0,this.currentTagId=fn.UNKNOWN,this.current=e}get currentTmplContentOrNode(){return this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):this.current}_indexOf(e){return this.items.lastIndexOf(e,this.stackTop)}_isInTemplate(){return this.currentTagId===fn.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===dn.HTML}_updateCurrentElement(){this.current=this.items[this.stackTop],this.currentTagId=this.tagIDs[this.stackTop]}push(e,t){this.stackTop++,this.items[this.stackTop]=e,this.current=e,this.tagIDs[this.stackTop]=t,this.currentTagId=t,this._isInTemplate()&&this.tmplCount++,this.handler.onItemPush(e,t,!0)}pop(){const e=this.current;this.tmplCount>0&&this._isInTemplate()&&this.tmplCount--,this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(e,!0)}replace(e,t){const n=this._indexOf(e);this.items[n]=t,n===this.stackTop&&(this.current=t)}insertAfter(e,t,n){const s=this._indexOf(e)+1;this.items.splice(s,0,t),this.tagIDs.splice(s,0,n),this.stackTop++,s===this.stackTop&&this._updateCurrentElement(),this.handler.onItemPush(this.current,this.currentTagId,s===this.stackTop)}popUntilTagNamePopped(e){let t=this.stackTop+1;do{t=this.tagIDs.lastIndexOf(e,t-1)}while(t>0&&this.treeAdapter.getNamespaceURI(this.items[t])!==dn.HTML);this.shortenToLength(t<0?0:t)}shortenToLength(e){for(;this.stackTop>=e;){const t=this.current;this.tmplCount>0&&this._isInTemplate()&&(this.tmplCount-=1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,this.stackTop=0;n--)if(e.includes(this.tagIDs[n])&&this.treeAdapter.getNamespaceURI(this.items[n])===t)return n;return-1}clearBackTo(e,t){const n=this._indexOfTagNames(e,t);this.shortenToLength(n+1)}clearBackToTableContext(){this.clearBackTo(Xn,dn.HTML)}clearBackToTableBodyContext(){this.clearBackTo(Vn,dn.HTML)}clearBackToTableRowContext(){this.clearBackTo(qn,dn.HTML)}remove(e){const t=this._indexOf(e);t>=0&&(t===this.stackTop?this.pop():(this.items.splice(t,1),this.tagIDs.splice(t,1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(e,!1)))}tryPeekProperlyNestedBodyElement(){return this.stackTop>=1&&this.tagIDs[1]===fn.BODY?this.items[1]:null}contains(e){return this._indexOf(e)>-1}getCommonAncestor(e){const t=this._indexOf(e)-1;return t>=0?this.items[t]:null}isRootHtmlElementCurrent(){return 0===this.stackTop&&this.tagIDs[0]===fn.HTML}hasInScope(e){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t],s=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&s===dn.HTML)return!0;if(jn.get(n)===s)return!1}return!0}hasNumberedHeaderInScope(){for(let e=this.stackTop;e>=0;e--){const t=this.tagIDs[e],n=this.treeAdapter.getNamespaceURI(this.items[e]);if(Sn(t)&&n===dn.HTML)return!0;if(jn.get(t)===n)return!1}return!0}hasInListItemScope(e){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t],s=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&s===dn.HTML)return!0;if((n===fn.UL||n===fn.OL)&&s===dn.HTML||jn.get(n)===s)return!1}return!0}hasInButtonScope(e){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t],s=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&s===dn.HTML)return!0;if(n===fn.BUTTON&&s===dn.HTML||jn.get(n)===s)return!1}return!0}hasInTableScope(e){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t];if(this.treeAdapter.getNamespaceURI(this.items[t])===dn.HTML){if(n===e)return!0;if(n===fn.TABLE||n===fn.TEMPLATE||n===fn.HTML)return!1}}return!0}hasTableBodyContextInTableScope(){for(let e=this.stackTop;e>=0;e--){const t=this.tagIDs[e];if(this.treeAdapter.getNamespaceURI(this.items[e])===dn.HTML){if(t===fn.TBODY||t===fn.THEAD||t===fn.TFOOT)return!0;if(t===fn.TABLE||t===fn.HTML)return!1}}return!0}hasInSelectScope(e){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t];if(this.treeAdapter.getNamespaceURI(this.items[t])===dn.HTML){if(n===e)return!0;if(n!==fn.OPTION&&n!==fn.OPTGROUP)return!1}}return!0}generateImpliedEndTags(){for(;Fn.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;Gn.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(e){for(;this.currentTagId!==e&&Gn.has(this.currentTagId);)this.pop()}}var Kn;!function(e){e[e.Marker=0]="Marker",e[e.Element=1]="Element"}(Kn||(Kn={}));const zn={type:Kn.Marker};class Jn{constructor(e){this.treeAdapter=e,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(e,t){const n=[],s=t.length,r=this.treeAdapter.getTagName(e),a=this.treeAdapter.getNamespaceURI(e);for(let e=0;e[e.name,e.value])));let r=0;for(let e=0;es.get(e.name)===e.value))&&(r+=1,r>=3&&this.entries.splice(t.idx,1))}}insertMarker(){this.entries.unshift(zn)}pushElement(e,t){this._ensureNoahArkCondition(e),this.entries.unshift({type:Kn.Element,element:e,token:t})}insertElementAfterBookmark(e,t){const n=this.entries.indexOf(this.bookmark);this.entries.splice(n,0,{type:Kn.Element,element:e,token:t})}removeEntry(e){const t=this.entries.indexOf(e);t>=0&&this.entries.splice(t,1)}clearToLastMarker(){const e=this.entries.indexOf(zn);e>=0?this.entries.splice(0,e+1):this.entries.length=0}getElementEntryInScopeWithTagName(e){const t=this.entries.find((t=>t.type===Kn.Marker||this.treeAdapter.getTagName(t.element)===e));return t&&t.type===Kn.Element?t:null}getElementEntry(e){return this.entries.find((t=>t.type===Kn.Element&&t.element===e))}}var $n;function Zn(e){return{nodeName:$n.Text,value:e,parentNode:null}}!function(e){e.Document="#document",e.DocumentFragment="#document-fragment",e.Comment="#comment",e.Text="#text",e.DocumentType="#documentType"}($n||($n={}));const es={createDocument:()=>({nodeName:$n.Document,mode:mn.NO_QUIRKS,childNodes:[]}),createDocumentFragment:()=>({nodeName:$n.DocumentFragment,childNodes:[]}),createElement:(e,t,n)=>({nodeName:e,tagName:e,attrs:n,namespaceURI:t,childNodes:[],parentNode:null}),createCommentNode:e=>({nodeName:$n.Comment,data:e,parentNode:null}),appendChild(e,t){e.childNodes.push(t),t.parentNode=e},insertBefore(e,t,n){const s=e.childNodes.indexOf(n);e.childNodes.splice(s,0,t),t.parentNode=e},setTemplateContent(e,t){e.content=t},getTemplateContent:e=>e.content,setDocumentType(e,t,n,s){const r=e.childNodes.find((e=>e.nodeName===$n.DocumentType));if(r)r.name=t,r.publicId=n,r.systemId=s;else{const r={nodeName:$n.DocumentType,name:t,publicId:n,systemId:s,parentNode:null};es.appendChild(e,r)}},setDocumentMode(e,t){e.mode=t},getDocumentMode:e=>e.mode,detachNode(e){if(e.parentNode){const t=e.parentNode.childNodes.indexOf(e);e.parentNode.childNodes.splice(t,1),e.parentNode=null}},insertText(e,t){if(e.childNodes.length>0){const n=e.childNodes[e.childNodes.length-1];if(es.isTextNode(n))return void(n.value+=t)}es.appendChild(e,Zn(t))},insertTextBefore(e,t,n){const s=e.childNodes[e.childNodes.indexOf(n)-1];s&&es.isTextNode(s)?s.value+=t:es.insertBefore(e,Zn(t),n)},adoptAttributes(e,t){const n=new Set(e.attrs.map((e=>e.name)));for(let s=0;se.childNodes[0],getChildNodes:e=>e.childNodes,getParentNode:e=>e.parentNode,getAttrList:e=>e.attrs,getTagName:e=>e.tagName,getNamespaceURI:e=>e.namespaceURI,getTextNodeContent:e=>e.value,getCommentNodeContent:e=>e.data,getDocumentTypeNodeName:e=>e.name,getDocumentTypeNodePublicId:e=>e.publicId,getDocumentTypeNodeSystemId:e=>e.systemId,isTextNode:e=>"#text"===e.nodeName,isCommentNode:e=>"#comment"===e.nodeName,isDocumentTypeNode:e=>e.nodeName===$n.DocumentType,isElementNode:e=>Object.prototype.hasOwnProperty.call(e,"tagName"),setNodeSourceCodeLocation(e,t){e.sourceCodeLocation=t},getNodeSourceCodeLocation:e=>e.sourceCodeLocation,updateNodeSourceCodeLocation(e,t){e.sourceCodeLocation={...e.sourceCodeLocation,...t}}},ts="html",ns=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],ss=[...ns,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"],rs=new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]),as=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],os=[...as,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"];function is(e,t){return t.some((t=>e.startsWith(t)))}const cs=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map((e=>[e.toLowerCase(),e]))),ls=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:dn.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:dn.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:dn.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:dn.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:dn.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:dn.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:dn.XLINK}],["xml:base",{prefix:"xml",name:"base",namespace:dn.XML}],["xml:lang",{prefix:"xml",name:"lang",namespace:dn.XML}],["xml:space",{prefix:"xml",name:"space",namespace:dn.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:dn.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:dn.XMLNS}]]),us=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map((e=>[e.toLowerCase(),e]))),Es=new Set([fn.B,fn.BIG,fn.BLOCKQUOTE,fn.BODY,fn.BR,fn.CENTER,fn.CODE,fn.DD,fn.DIV,fn.DL,fn.DT,fn.EM,fn.EMBED,fn.H1,fn.H2,fn.H3,fn.H4,fn.H5,fn.H6,fn.HEAD,fn.HR,fn.I,fn.IMG,fn.LI,fn.LISTING,fn.MENU,fn.META,fn.NOBR,fn.OL,fn.P,fn.PRE,fn.RUBY,fn.S,fn.SMALL,fn.SPAN,fn.STRONG,fn.STRIKE,fn.SUB,fn.SUP,fn.TABLE,fn.TT,fn.U,fn.UL,fn.VAR]);function hs(e){for(let t=0;t=0;s--){const r=e.openElements.items[s];if(r===t.element)break;e._isSpecialElement(r,e.openElements.tagIDs[s])&&(n=r)}return n||(e.openElements.shortenToLength(s<0?0:s),e.activeFormattingElements.removeEntry(t)),n}function gs(e,t,n){let s=t,r=e.openElements.getCommonAncestor(t);for(let a=0,o=r;o!==n;a++,o=r){r=e.openElements.getCommonAncestor(o);const n=e.activeFormattingElements.getElementEntry(o),i=n&&a>=3;!n||i?(i&&e.activeFormattingElements.removeEntry(n),e.openElements.remove(o)):(o=ks(e,n),s===t&&(e.activeFormattingElements.bookmark=n),e.treeAdapter.detachNode(s),e.treeAdapter.appendChild(o,s),s=o)}return s}function ks(e,t){const n=e.treeAdapter.getNamespaceURI(t.element),s=e.treeAdapter.createElement(t.token.tagName,n,t.token.attrs);return e.openElements.replace(t.element,s),t.element=s,s}function Is(e,t,n){const s=kn(e.treeAdapter.getTagName(t));if(e._isElementCausesFosterParenting(s))e._fosterParentElement(n);else{const r=e.treeAdapter.getNamespaceURI(t);s===fn.TEMPLATE&&r===dn.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,n)}}function Ns(e,t,n){const s=e.treeAdapter.getNamespaceURI(n.element),{token:r}=n,a=e.treeAdapter.createElement(r.tagName,s,r.attrs);e._adoptNodes(t,a),e.treeAdapter.appendChild(t,a),e.activeFormattingElements.insertElementAfterBookmark(a,r),e.activeFormattingElements.removeEntry(n),e.openElements.remove(n.element),e.openElements.insertAfter(t,a,r.tagID)}function Ss(e,t){for(let n=0;n<8;n++){const n=_s(e,t);if(!n)break;const s=Cs(e,n);if(!s)break;e.activeFormattingElements.bookmark=n;const r=gs(e,s,n.element),a=e.openElements.getCommonAncestor(n.element);e.treeAdapter.detachNode(r),a&&Is(e,a,r),Ns(e,s,n)}}function Rs(e,t){e._appendCommentNode(t,e.openElements.currentTmplContentOrNode)}function bs(e,t){if(e.stopped=!0,t.location){const n=e.fragmentContext?0:2;for(let s=e.openElements.stackTop;s>=n;s--)e._setEndLocation(e.openElements.items[s],t);if(!e.fragmentContext&&e.openElements.stackTop>=0){const n=e.openElements.items[0],s=e.treeAdapter.getNodeSourceCodeLocation(n);if(s&&!s.endTag&&(e._setEndLocation(n,t),e.openElements.stackTop>=1)){const n=e.openElements.items[1],s=e.treeAdapter.getNodeSourceCodeLocation(n);s&&!s.endTag&&e._setEndLocation(n,t)}}}}function Ds(e,t){e._err(t,nn.missingDoctype,!0),e.treeAdapter.setDocumentMode(e.document,mn.QUIRKS),e.insertionMode=Ts.BEFORE_HTML,e._processToken(t)}function Ps(e,t){e._insertFakeRootElement(),e.insertionMode=Ts.BEFORE_HEAD,e._processToken(t)}function Os(e,t){e._insertFakeElement(An.HEAD,fn.HEAD),e.headElement=e.openElements.current,e.insertionMode=Ts.IN_HEAD,e._processToken(t)}function Ls(e,t){switch(t.tagID){case fn.HTML:Ys(e,t);break;case fn.BASE:case fn.BASEFONT:case fn.BGSOUND:case fn.LINK:case fn.META:e._appendElement(t,dn.HTML),t.ackSelfClosing=!0;break;case fn.TITLE:e._switchToTextParsing(t,Pn.RCDATA);break;case fn.NOSCRIPT:e.options.scriptingEnabled?e._switchToTextParsing(t,Pn.RAWTEXT):(e._insertElement(t,dn.HTML),e.insertionMode=Ts.IN_HEAD_NO_SCRIPT);break;case fn.NOFRAMES:case fn.STYLE:e._switchToTextParsing(t,Pn.RAWTEXT);break;case fn.SCRIPT:e._switchToTextParsing(t,Pn.SCRIPT_DATA);break;case fn.TEMPLATE:e._insertTemplate(t),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=Ts.IN_TEMPLATE,e.tmplInsertionModeStack.unshift(Ts.IN_TEMPLATE);break;case fn.HEAD:e._err(t,nn.misplacedStartTagForHeadElement);break;default:ys(e,t)}}function Ms(e,t){switch(t.tagID){case fn.HEAD:e.openElements.pop(),e.insertionMode=Ts.AFTER_HEAD;break;case fn.BODY:case fn.BR:case fn.HTML:ys(e,t);break;case fn.TEMPLATE:e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagId!==fn.TEMPLATE&&e._err(t,nn.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(fn.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode()):e._err(t,nn.endTagWithoutMatchingOpenElement);break;default:e._err(t,nn.endTagWithoutMatchingOpenElement)}}function ys(e,t){e.openElements.pop(),e.insertionMode=Ts.AFTER_HEAD,e._processToken(t)}function ws(e,t){const n=t.type===sn.EOF?nn.openElementsLeftAfterEof:nn.disallowedContentInNoscriptInHead;e._err(t,n),e.openElements.pop(),e.insertionMode=Ts.IN_HEAD,e._processToken(t)}function Bs(e,t){e._insertFakeElement(An.BODY,fn.BODY),e.insertionMode=Ts.IN_BODY,Us(e,t)}function Us(e,t){switch(t.type){case sn.CHARACTER:vs(e,t);break;case sn.WHITESPACE_CHARACTER:xs(e,t);break;case sn.COMMENT:Rs(e,t);break;case sn.START_TAG:Ys(e,t);break;case sn.END_TAG:Vs(e,t);break;case sn.EOF:Xs(e,t)}}function xs(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function vs(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function Hs(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,dn.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function Fs(e){const t=an(e,Tn.TYPE);return null!=t&&"hidden"===t.toLowerCase()}function Gs(e,t){e._switchToTextParsing(t,Pn.RAWTEXT)}function js(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,dn.HTML)}function Ys(e,t){switch(t.tagID){case fn.I:case fn.S:case fn.B:case fn.U:case fn.EM:case fn.TT:case fn.BIG:case fn.CODE:case fn.FONT:case fn.SMALL:case fn.STRIKE:case fn.STRONG:!function(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,dn.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t);break;case fn.A:!function(e,t){const n=e.activeFormattingElements.getElementEntryInScopeWithTagName(An.A);n&&(Ss(e,t),e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n)),e._reconstructActiveFormattingElements(),e._insertElement(t,dn.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t);break;case fn.H1:case fn.H2:case fn.H3:case fn.H4:case fn.H5:case fn.H6:!function(e,t){e.openElements.hasInButtonScope(fn.P)&&e._closePElement(),Sn(e.openElements.currentTagId)&&e.openElements.pop(),e._insertElement(t,dn.HTML)}(e,t);break;case fn.P:case fn.DL:case fn.OL:case fn.UL:case fn.DIV:case fn.DIR:case fn.NAV:case fn.MAIN:case fn.MENU:case fn.ASIDE:case fn.CENTER:case fn.FIGURE:case fn.FOOTER:case fn.HEADER:case fn.HGROUP:case fn.DIALOG:case fn.DETAILS:case fn.ADDRESS:case fn.ARTICLE:case fn.SECTION:case fn.SUMMARY:case fn.FIELDSET:case fn.BLOCKQUOTE:case fn.FIGCAPTION:!function(e,t){e.openElements.hasInButtonScope(fn.P)&&e._closePElement(),e._insertElement(t,dn.HTML)}(e,t);break;case fn.LI:case fn.DD:case fn.DT:!function(e,t){e.framesetOk=!1;const n=t.tagID;for(let t=e.openElements.stackTop;t>=0;t--){const s=e.openElements.tagIDs[t];if(n===fn.LI&&s===fn.LI||(n===fn.DD||n===fn.DT)&&(s===fn.DD||s===fn.DT)){e.openElements.generateImpliedEndTagsWithExclusion(s),e.openElements.popUntilTagNamePopped(s);break}if(s!==fn.ADDRESS&&s!==fn.DIV&&s!==fn.P&&e._isSpecialElement(e.openElements.items[t],s))break}e.openElements.hasInButtonScope(fn.P)&&e._closePElement(),e._insertElement(t,dn.HTML)}(e,t);break;case fn.BR:case fn.IMG:case fn.WBR:case fn.AREA:case fn.EMBED:case fn.KEYGEN:Hs(e,t);break;case fn.HR:!function(e,t){e.openElements.hasInButtonScope(fn.P)&&e._closePElement(),e._appendElement(t,dn.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}(e,t);break;case fn.RB:case fn.RTC:!function(e,t){e.openElements.hasInScope(fn.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,dn.HTML)}(e,t);break;case fn.RT:case fn.RP:!function(e,t){e.openElements.hasInScope(fn.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(fn.RTC),e._insertElement(t,dn.HTML)}(e,t);break;case fn.PRE:case fn.LISTING:!function(e,t){e.openElements.hasInButtonScope(fn.P)&&e._closePElement(),e._insertElement(t,dn.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}(e,t);break;case fn.XMP:!function(e,t){e.openElements.hasInButtonScope(fn.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,Pn.RAWTEXT)}(e,t);break;case fn.SVG:!function(e,t){e._reconstructActiveFormattingElements(),ps(t),ds(t),t.selfClosing?e._appendElement(t,dn.SVG):e._insertElement(t,dn.SVG),t.ackSelfClosing=!0}(e,t);break;case fn.HTML:!function(e,t){0===e.openElements.tmplCount&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}(e,t);break;case fn.BASE:case fn.LINK:case fn.META:case fn.STYLE:case fn.TITLE:case fn.SCRIPT:case fn.BGSOUND:case fn.BASEFONT:case fn.TEMPLATE:Ls(e,t);break;case fn.BODY:!function(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&0===e.openElements.tmplCount&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(n,t.attrs))}(e,t);break;case fn.FORM:!function(e,t){const n=e.openElements.tmplCount>0;e.formElement&&!n||(e.openElements.hasInButtonScope(fn.P)&&e._closePElement(),e._insertElement(t,dn.HTML),n||(e.formElement=e.openElements.current))}(e,t);break;case fn.NOBR:!function(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(fn.NOBR)&&(Ss(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,dn.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t);break;case fn.MATH:!function(e,t){e._reconstructActiveFormattingElements(),hs(t),ds(t),t.selfClosing?e._appendElement(t,dn.MATHML):e._insertElement(t,dn.MATHML),t.ackSelfClosing=!0}(e,t);break;case fn.TABLE:!function(e,t){e.treeAdapter.getDocumentMode(e.document)!==mn.QUIRKS&&e.openElements.hasInButtonScope(fn.P)&&e._closePElement(),e._insertElement(t,dn.HTML),e.framesetOk=!1,e.insertionMode=Ts.IN_TABLE}(e,t);break;case fn.INPUT:!function(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,dn.HTML),Fs(t)||(e.framesetOk=!1),t.ackSelfClosing=!0}(e,t);break;case fn.PARAM:case fn.TRACK:case fn.SOURCE:!function(e,t){e._appendElement(t,dn.HTML),t.ackSelfClosing=!0}(e,t);break;case fn.IMAGE:!function(e,t){t.tagName=An.IMG,t.tagID=fn.IMG,Hs(e,t)}(e,t);break;case fn.BUTTON:!function(e,t){e.openElements.hasInScope(fn.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(fn.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,dn.HTML),e.framesetOk=!1}(e,t);break;case fn.APPLET:case fn.OBJECT:case fn.MARQUEE:!function(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,dn.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}(e,t);break;case fn.IFRAME:!function(e,t){e.framesetOk=!1,e._switchToTextParsing(t,Pn.RAWTEXT)}(e,t);break;case fn.SELECT:!function(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,dn.HTML),e.framesetOk=!1,e.insertionMode=e.insertionMode===Ts.IN_TABLE||e.insertionMode===Ts.IN_CAPTION||e.insertionMode===Ts.IN_TABLE_BODY||e.insertionMode===Ts.IN_ROW||e.insertionMode===Ts.IN_CELL?Ts.IN_SELECT_IN_TABLE:Ts.IN_SELECT}(e,t);break;case fn.OPTION:case fn.OPTGROUP:!function(e,t){e.openElements.currentTagId===fn.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,dn.HTML)}(e,t);break;case fn.NOEMBED:Gs(e,t);break;case fn.FRAMESET:!function(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&n&&(e.treeAdapter.detachNode(n),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,dn.HTML),e.insertionMode=Ts.IN_FRAMESET)}(e,t);break;case fn.TEXTAREA:!function(e,t){e._insertElement(t,dn.HTML),e.skipNextNewLine=!0,e.tokenizer.state=Pn.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=Ts.TEXT}(e,t);break;case fn.NOSCRIPT:e.options.scriptingEnabled?Gs(e,t):js(e,t);break;case fn.PLAINTEXT:!function(e,t){e.openElements.hasInButtonScope(fn.P)&&e._closePElement(),e._insertElement(t,dn.HTML),e.tokenizer.state=Pn.PLAINTEXT}(e,t);break;case fn.COL:case fn.TH:case fn.TD:case fn.TR:case fn.HEAD:case fn.FRAME:case fn.TBODY:case fn.TFOOT:case fn.THEAD:case fn.CAPTION:case fn.COLGROUP:break;default:js(e,t)}}function qs(e,t){const n=t.tagName,s=t.tagID;for(let t=e.openElements.stackTop;t>0;t--){const r=e.openElements.items[t],a=e.openElements.tagIDs[t];if(s===a&&(s!==fn.UNKNOWN||e.treeAdapter.getTagName(r)===n)){e.openElements.generateImpliedEndTagsWithExclusion(s),e.openElements.stackTop>=t&&e.openElements.shortenToLength(t);break}if(e._isSpecialElement(r,a))break}}function Vs(e,t){switch(t.tagID){case fn.A:case fn.B:case fn.I:case fn.S:case fn.U:case fn.EM:case fn.TT:case fn.BIG:case fn.CODE:case fn.FONT:case fn.NOBR:case fn.SMALL:case fn.STRIKE:case fn.STRONG:Ss(e,t);break;case fn.P:!function(e){e.openElements.hasInButtonScope(fn.P)||e._insertFakeElement(An.P,fn.P),e._closePElement()}(e);break;case fn.DL:case fn.UL:case fn.OL:case fn.DIR:case fn.DIV:case fn.NAV:case fn.PRE:case fn.MAIN:case fn.MENU:case fn.ASIDE:case fn.CENTER:case fn.FIGURE:case fn.FOOTER:case fn.HEADER:case fn.HGROUP:case fn.DIALOG:case fn.ADDRESS:case fn.ARTICLE:case fn.DETAILS:case fn.SECTION:case fn.SUMMARY:case fn.LISTING:case fn.FIELDSET:case fn.BLOCKQUOTE:case fn.FIGCAPTION:!function(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n))}(e,t);break;case fn.LI:!function(e){e.openElements.hasInListItemScope(fn.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(fn.LI),e.openElements.popUntilTagNamePopped(fn.LI))}(e);break;case fn.DD:case fn.DT:!function(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilTagNamePopped(n))}(e,t);break;case fn.H1:case fn.H2:case fn.H3:case fn.H4:case fn.H5:case fn.H6:!function(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}(e);break;case fn.BR:!function(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(An.BR,fn.BR),e.openElements.pop(),e.framesetOk=!1}(e);break;case fn.BODY:!function(e,t){if(e.openElements.hasInScope(fn.BODY)&&(e.insertionMode=Ts.AFTER_BODY,e.options.sourceCodeLocationInfo)){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e._setEndLocation(n,t)}}(e,t);break;case fn.HTML:!function(e,t){e.openElements.hasInScope(fn.BODY)&&(e.insertionMode=Ts.AFTER_BODY,ur(e,t))}(e,t);break;case fn.FORM:!function(e){const t=e.openElements.tmplCount>0,{formElement:n}=e;t||(e.formElement=null),(n||t)&&e.openElements.hasInScope(fn.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(fn.FORM):n&&e.openElements.remove(n))}(e);break;case fn.APPLET:case fn.OBJECT:case fn.MARQUEE:!function(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker())}(e,t);break;case fn.TEMPLATE:Ms(e,t);break;default:qs(e,t)}}function Xs(e,t){e.tmplInsertionModeStack.length>0?lr(e,t):bs(e,t)}function Ws(e,t){if(As.has(e.openElements.currentTagId))switch(e.pendingCharacterTokens.length=0,e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=Ts.IN_TABLE_TEXT,t.type){case sn.CHARACTER:$s(e,t);break;case sn.WHITESPACE_CHARACTER:Js(e,t)}else zs(e,t)}function Qs(e,t){switch(t.tagID){case fn.TD:case fn.TH:case fn.TR:!function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(An.TBODY,fn.TBODY),e.insertionMode=Ts.IN_TABLE_BODY,sr(e,t)}(e,t);break;case fn.STYLE:case fn.SCRIPT:case fn.TEMPLATE:Ls(e,t);break;case fn.COL:!function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(An.COLGROUP,fn.COLGROUP),e.insertionMode=Ts.IN_COLUMN_GROUP,tr(e,t)}(e,t);break;case fn.FORM:!function(e,t){e.formElement||0!==e.openElements.tmplCount||(e._insertElement(t,dn.HTML),e.formElement=e.openElements.current,e.openElements.pop())}(e,t);break;case fn.TABLE:!function(e,t){e.openElements.hasInTableScope(fn.TABLE)&&(e.openElements.popUntilTagNamePopped(fn.TABLE),e._resetInsertionMode(),e._processStartTag(t))}(e,t);break;case fn.TBODY:case fn.TFOOT:case fn.THEAD:!function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,dn.HTML),e.insertionMode=Ts.IN_TABLE_BODY}(e,t);break;case fn.INPUT:!function(e,t){Fs(t)?e._appendElement(t,dn.HTML):zs(e,t),t.ackSelfClosing=!0}(e,t);break;case fn.CAPTION:!function(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,dn.HTML),e.insertionMode=Ts.IN_CAPTION}(e,t);break;case fn.COLGROUP:!function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,dn.HTML),e.insertionMode=Ts.IN_COLUMN_GROUP}(e,t);break;default:zs(e,t)}}function Ks(e,t){switch(t.tagID){case fn.TABLE:e.openElements.hasInTableScope(fn.TABLE)&&(e.openElements.popUntilTagNamePopped(fn.TABLE),e._resetInsertionMode());break;case fn.TEMPLATE:Ms(e,t);break;case fn.BODY:case fn.CAPTION:case fn.COL:case fn.COLGROUP:case fn.HTML:case fn.TBODY:case fn.TD:case fn.TFOOT:case fn.TH:case fn.THEAD:case fn.TR:break;default:zs(e,t)}}function zs(e,t){const n=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,Us(e,t),e.fosterParentingEnabled=n}function Js(e,t){e.pendingCharacterTokens.push(t)}function $s(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0}function Zs(e,t){let n=0;if(e.hasNonWhitespacePendingCharacterToken)for(;n0&&e.openElements.currentTagId===fn.OPTION&&e.openElements.tagIDs[e.openElements.stackTop-1]===fn.OPTGROUP&&e.openElements.pop(),e.openElements.currentTagId===fn.OPTGROUP&&e.openElements.pop();break;case fn.OPTION:e.openElements.currentTagId===fn.OPTION&&e.openElements.pop();break;case fn.SELECT:e.openElements.hasInSelectScope(fn.SELECT)&&(e.openElements.popUntilTagNamePopped(fn.SELECT),e._resetInsertionMode());break;case fn.TEMPLATE:Ms(e,t)}}function lr(e,t){e.openElements.tmplCount>0?(e.openElements.popUntilTagNamePopped(fn.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode(),e.onEof(t)):bs(e,t)}function ur(e,t){var n;if(t.tagID===fn.HTML){if(e.fragmentContext||(e.insertionMode=Ts.AFTER_AFTER_BODY),e.options.sourceCodeLocationInfo&&e.openElements.tagIDs[0]===fn.HTML){e._setEndLocation(e.openElements.items[0],t);const s=e.openElements.items[1];s&&!(null===(n=e.treeAdapter.getNodeSourceCodeLocation(s))||void 0===n?void 0:n.endTag)&&e._setEndLocation(s,t)}}else Er(e,t)}function Er(e,t){e.insertionMode=Ts.IN_BODY,Us(e,t)}function hr(e,t){e.insertionMode=Ts.IN_BODY,Us(e,t)}function pr(e){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==dn.HTML&&!e._isIntegrationPoint(e.openElements.currentTagId,e.openElements.current);)e.openElements.pop()}const dr=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]);function Tr(e,t){return function(n){let s,r=0,a="";for(;s=e.exec(n);)r!==s.index&&(a+=n.substring(r,s.index)),a+=t.get(s[0].charCodeAt(0)),r=s.index+1;return a+n.substring(r)}}String.prototype.codePointAt,Tr(/[&<>'"]/g,dr);const mr=Tr(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),Ar=Tr(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]])),fr=new Set([An.AREA,An.BASE,An.BASEFONT,An.BGSOUND,An.BR,An.COL,An.EMBED,An.FRAME,An.HR,An.IMG,An.INPUT,An.KEYGEN,An.LINK,An.META,An.PARAM,An.SOURCE,An.TRACK,An.WBR]);function _r(e,t){return t.treeAdapter.isElementNode(e)&&t.treeAdapter.getNamespaceURI(e)===dn.HTML&&fr.has(t.treeAdapter.getTagName(e))}const Cr={treeAdapter:es,scriptingEnabled:!0};function gr(e,t){let n="";const s=t.treeAdapter.isElementNode(e)&&t.treeAdapter.getTagName(e)===An.TEMPLATE&&t.treeAdapter.getNamespaceURI(e)===dn.HTML?t.treeAdapter.getTemplateContent(e):e,r=t.treeAdapter.getChildNodes(s);if(r)for(const e of r)n+=kr(e,t);return n}function kr(e,t){return t.treeAdapter.isElementNode(e)?function(e,t){const n=t.treeAdapter.getTagName(e);return`<${n}${function(e,{treeAdapter:t}){let n="";for(const s of t.getAttrList(e)){if(n+=" ",s.namespace)switch(s.namespace){case dn.XML:n+=`xml:${s.name}`;break;case dn.XMLNS:"xmlns"!==s.name&&(n+="xmlns:"),n+=s.name;break;case dn.XLINK:n+=`xlink:${s.name}`;break;default:n+=`${s.prefix}:${s.name}`}else n+=s.name;n+=`="${mr(s.value)}"`}return n}(e,t)}>${_r(e,t)?"":`${gr(e,t)}`}`}(e,t):t.treeAdapter.isTextNode(e)?function(e,t){const{treeAdapter:n}=t,s=n.getTextNodeContent(e),r=n.getParentNode(e),a=r&&n.isElementNode(r)&&n.getTagName(r);return a&&n.getNamespaceURI(r)===dn.HTML&&(o=a,i=t.scriptingEnabled,Rn.has(o)||i&&o===An.NOSCRIPT)?s:Ar(s);var o,i}(e,t):t.treeAdapter.isCommentNode(e)?function(e,{treeAdapter:t}){return`\x3c!--${t.getCommentNodeContent(e)}--\x3e`}(e,t):t.treeAdapter.isDocumentTypeNode(e)?function(e,{treeAdapter:t}){return``}(e,t):""}function Ir(e,t){return class{constructor(e,t,n=null,s=null){this.fragmentContext=n,this.scriptHandler=s,this.currentToken=null,this.stopped=!1,this.insertionMode=Ts.INITIAL,this.originalInsertionMode=Ts.INITIAL,this.headElement=null,this.formElement=null,this.currentNotInHTML=!1,this.tmplInsertionModeStack=[],this.pendingCharacterTokens=[],this.hasNonWhitespacePendingCharacterToken=!1,this.framesetOk=!0,this.skipNextNewLine=!1,this.fosterParentingEnabled=!1,this.options={...fs,...e},this.treeAdapter=this.options.treeAdapter,this.onParseError=this.options.onParseError,this.onParseError&&(this.options.sourceCodeLocationInfo=!0),this.document=null!=t?t:this.treeAdapter.createDocument(),this.tokenizer=new Hn(this.options,this),this.activeFormattingElements=new Jn(this.treeAdapter),this.fragmentContextID=n?kn(this.treeAdapter.getTagName(n)):fn.UNKNOWN,this._setContextModes(null!=n?n:this.document,this.fragmentContextID),this.openElements=new Qn(this.document,this.treeAdapter,this)}static parse(e,t){const n=new this(t);return n.tokenizer.write(e,!0),n.document}static getFragmentParser(e,t){const n={...fs,...t};null!=e||(e=n.treeAdapter.createElement(An.TEMPLATE,dn.HTML,[]));const s=n.treeAdapter.createElement("documentmock",dn.HTML,[]),r=new this(n,s,e);return r.fragmentContextID===fn.TEMPLATE&&r.tmplInsertionModeStack.unshift(Ts.IN_TEMPLATE),r._initTokenizerForFragmentParsing(),r._insertFakeRootElement(),r._resetInsertionMode(),r._findFormInFragmentContext(),r}getFragment(){const e=this.treeAdapter.getFirstChild(this.document),t=this.treeAdapter.createDocumentFragment();return this._adoptNodes(e,t),t}_err(e,t,n){var s;if(!this.onParseError)return;const r=null!==(s=e.location)&&void 0!==s?s:ms,a={code:t,startLine:r.startLine,startCol:r.startCol,startOffset:r.startOffset,endLine:n?r.startLine:r.endLine,endCol:n?r.startCol:r.endCol,endOffset:n?r.startOffset:r.endOffset};this.onParseError(a)}onItemPush(e,t,n){var s,r;null===(r=(s=this.treeAdapter).onItemPush)||void 0===r||r.call(s,e),n&&this.openElements.stackTop>0&&this._setContextModes(e,t)}onItemPop(e,t){var n,s;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(e,this.currentToken),null===(s=(n=this.treeAdapter).onItemPop)||void 0===s||s.call(n,e,this.openElements.current),t){let e,t;0===this.openElements.stackTop&&this.fragmentContext?(e=this.fragmentContext,t=this.fragmentContextID):({current:e,currentTagId:t}=this.openElements),this._setContextModes(e,t)}}_setContextModes(e,t){const n=e===this.document||this.treeAdapter.getNamespaceURI(e)===dn.HTML;this.currentNotInHTML=!n,this.tokenizer.inForeignNode=!n&&!this._isIntegrationPoint(t,e)}_switchToTextParsing(e,t){this._insertElement(e,dn.HTML),this.tokenizer.state=t,this.originalInsertionMode=this.insertionMode,this.insertionMode=Ts.TEXT}switchToPlaintextParsing(){this.insertionMode=Ts.TEXT,this.originalInsertionMode=Ts.IN_BODY,this.tokenizer.state=Pn.PLAINTEXT}_getAdjustedCurrentElement(){return 0===this.openElements.stackTop&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let e=this.fragmentContext;for(;e;){if(this.treeAdapter.getTagName(e)===An.FORM){this.formElement=e;break}e=this.treeAdapter.getParentNode(e)}}_initTokenizerForFragmentParsing(){if(this.fragmentContext&&this.treeAdapter.getNamespaceURI(this.fragmentContext)===dn.HTML)switch(this.fragmentContextID){case fn.TITLE:case fn.TEXTAREA:this.tokenizer.state=Pn.RCDATA;break;case fn.STYLE:case fn.XMP:case fn.IFRAME:case fn.NOEMBED:case fn.NOFRAMES:case fn.NOSCRIPT:this.tokenizer.state=Pn.RAWTEXT;break;case fn.SCRIPT:this.tokenizer.state=Pn.SCRIPT_DATA;break;case fn.PLAINTEXT:this.tokenizer.state=Pn.PLAINTEXT}}_setDocumentType(e){const t=e.name||"",n=e.publicId||"",s=e.systemId||"";if(this.treeAdapter.setDocumentType(this.document,t,n,s),e.location){const t=this.treeAdapter.getChildNodes(this.document).find((e=>this.treeAdapter.isDocumentTypeNode(e)));t&&this.treeAdapter.setNodeSourceCodeLocation(t,e.location)}}_attachElementToTree(e,t){if(this.options.sourceCodeLocationInfo){const n=t&&{...t,startTag:t};this.treeAdapter.setNodeSourceCodeLocation(e,n)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(e);else{const t=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(t,e)}}_appendElement(e,t){const n=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(n,e.location)}_insertElement(e,t){const n=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(n,e.location),this.openElements.push(n,e.tagID)}_insertFakeElement(e,t){const n=this.treeAdapter.createElement(e,dn.HTML,[]);this._attachElementToTree(n,null),this.openElements.push(n,t)}_insertTemplate(e){const t=this.treeAdapter.createElement(e.tagName,dn.HTML,e.attrs),n=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(t,n),this._attachElementToTree(t,e.location),this.openElements.push(t,e.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,null)}_insertFakeRootElement(){const e=this.treeAdapter.createElement(An.HTML,dn.HTML,[]);this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(e,null),this.treeAdapter.appendChild(this.openElements.current,e),this.openElements.push(e,fn.HTML)}_appendCommentNode(e,t){const n=this.treeAdapter.createCommentNode(e.data);this.treeAdapter.appendChild(t,n),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,e.location)}_insertCharacters(e){let t,n;if(this._shouldFosterParentOnInsertion()?(({parent:t,beforeElement:n}=this._findFosterParentingLocation()),n?this.treeAdapter.insertTextBefore(t,e.chars,n):this.treeAdapter.insertText(t,e.chars)):(t=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(t,e.chars)),!e.location)return;const s=this.treeAdapter.getChildNodes(t),r=n?s.lastIndexOf(n):s.length,a=s[r-1];if(this.treeAdapter.getNodeSourceCodeLocation(a)){const{endLine:t,endCol:n,endOffset:s}=e.location;this.treeAdapter.updateNodeSourceCodeLocation(a,{endLine:t,endCol:n,endOffset:s})}else this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(a,e.location)}_adoptNodes(e,t){for(let n=this.treeAdapter.getFirstChild(e);n;n=this.treeAdapter.getFirstChild(e))this.treeAdapter.detachNode(n),this.treeAdapter.appendChild(t,n)}_setEndLocation(e,t){if(this.treeAdapter.getNodeSourceCodeLocation(e)&&t.location){const n=t.location,s=this.treeAdapter.getTagName(e),r=t.type===sn.END_TAG&&s===t.tagName?{endTag:{...n},endLine:n.endLine,endCol:n.endCol,endOffset:n.endOffset}:{endLine:n.startLine,endCol:n.startCol,endOffset:n.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(e,r)}}shouldProcessStartTagTokenInForeignContent(e){if(!this.currentNotInHTML)return!1;let t,n;return 0===this.openElements.stackTop&&this.fragmentContext?(t=this.fragmentContext,n=this.fragmentContextID):({current:t,currentTagId:n}=this.openElements),(e.tagID!==fn.SVG||this.treeAdapter.getTagName(t)!==An.ANNOTATION_XML||this.treeAdapter.getNamespaceURI(t)!==dn.MATHML)&&(this.tokenizer.inForeignNode||(e.tagID===fn.MGLYPH||e.tagID===fn.MALIGNMARK)&&!this._isIntegrationPoint(n,t,dn.HTML))}_processToken(e){switch(e.type){case sn.CHARACTER:this.onCharacter(e);break;case sn.NULL_CHARACTER:this.onNullCharacter(e);break;case sn.COMMENT:this.onComment(e);break;case sn.DOCTYPE:this.onDoctype(e);break;case sn.START_TAG:this._processStartTag(e);break;case sn.END_TAG:this.onEndTag(e);break;case sn.EOF:this.onEof(e);break;case sn.WHITESPACE_CHARACTER:this.onWhitespaceCharacter(e)}}_isIntegrationPoint(e,t,n){return function(e,t,n,s){return(!s||s===dn.HTML)&&function(e,t,n){if(t===dn.MATHML&&e===fn.ANNOTATION_XML)for(let e=0;ee.type===Kn.Marker||this.openElements.contains(e.element)));for(let n=t<0?e-1:t-1;n>=0;n--){const e=this.activeFormattingElements.entries[n];this._insertElement(e.token,this.treeAdapter.getNamespaceURI(e.element)),e.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=Ts.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(fn.P),this.openElements.popUntilTagNamePopped(fn.P)}_resetInsertionMode(){for(let e=this.openElements.stackTop;e>=0;e--)switch(0===e&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[e]){case fn.TR:return void(this.insertionMode=Ts.IN_ROW);case fn.TBODY:case fn.THEAD:case fn.TFOOT:return void(this.insertionMode=Ts.IN_TABLE_BODY);case fn.CAPTION:return void(this.insertionMode=Ts.IN_CAPTION);case fn.COLGROUP:return void(this.insertionMode=Ts.IN_COLUMN_GROUP);case fn.TABLE:return void(this.insertionMode=Ts.IN_TABLE);case fn.BODY:return void(this.insertionMode=Ts.IN_BODY);case fn.FRAMESET:return void(this.insertionMode=Ts.IN_FRAMESET);case fn.SELECT:return void this._resetInsertionModeForSelect(e);case fn.TEMPLATE:return void(this.insertionMode=this.tmplInsertionModeStack[0]);case fn.HTML:return void(this.insertionMode=this.headElement?Ts.AFTER_HEAD:Ts.BEFORE_HEAD);case fn.TD:case fn.TH:if(e>0)return void(this.insertionMode=Ts.IN_CELL);break;case fn.HEAD:if(e>0)return void(this.insertionMode=Ts.IN_HEAD)}this.insertionMode=Ts.IN_BODY}_resetInsertionModeForSelect(e){if(e>0)for(let t=e-1;t>0;t--){const e=this.openElements.tagIDs[t];if(e===fn.TEMPLATE)break;if(e===fn.TABLE)return void(this.insertionMode=Ts.IN_SELECT_IN_TABLE)}this.insertionMode=Ts.IN_SELECT}_isElementCausesFosterParenting(e){return As.has(e)}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this._isElementCausesFosterParenting(this.openElements.currentTagId)}_findFosterParentingLocation(){for(let e=this.openElements.stackTop;e>=0;e--){const t=this.openElements.items[e];switch(this.openElements.tagIDs[e]){case fn.TEMPLATE:if(this.treeAdapter.getNamespaceURI(t)===dn.HTML)return{parent:this.treeAdapter.getTemplateContent(t),beforeElement:null};break;case fn.TABLE:{const n=this.treeAdapter.getParentNode(t);return n?{parent:n,beforeElement:t}:{parent:this.openElements.items[e-1],beforeElement:null}}}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(e){const t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertBefore(t.parent,e,t.beforeElement):this.treeAdapter.appendChild(t.parent,e)}_isSpecialElement(e,t){const n=this.treeAdapter.getNamespaceURI(e);return Nn[n].has(t)}onCharacter(e){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode)!function(e,t){e._insertCharacters(t),e.framesetOk=!1}(this,e);else switch(this.insertionMode){case Ts.INITIAL:Ds(this,e);break;case Ts.BEFORE_HTML:Ps(this,e);break;case Ts.BEFORE_HEAD:Os(this,e);break;case Ts.IN_HEAD:ys(this,e);break;case Ts.IN_HEAD_NO_SCRIPT:ws(this,e);break;case Ts.AFTER_HEAD:Bs(this,e);break;case Ts.IN_BODY:case Ts.IN_CAPTION:case Ts.IN_CELL:case Ts.IN_TEMPLATE:vs(this,e);break;case Ts.TEXT:case Ts.IN_SELECT:case Ts.IN_SELECT_IN_TABLE:this._insertCharacters(e);break;case Ts.IN_TABLE:case Ts.IN_TABLE_BODY:case Ts.IN_ROW:Ws(this,e);break;case Ts.IN_TABLE_TEXT:$s(this,e);break;case Ts.IN_COLUMN_GROUP:nr(this,e);break;case Ts.AFTER_BODY:Er(this,e);break;case Ts.AFTER_AFTER_BODY:hr(this,e)}}onNullCharacter(e){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode)!function(e,t){t.chars=Qt,e._insertCharacters(t)}(this,e);else switch(this.insertionMode){case Ts.INITIAL:Ds(this,e);break;case Ts.BEFORE_HTML:Ps(this,e);break;case Ts.BEFORE_HEAD:Os(this,e);break;case Ts.IN_HEAD:ys(this,e);break;case Ts.IN_HEAD_NO_SCRIPT:ws(this,e);break;case Ts.AFTER_HEAD:Bs(this,e);break;case Ts.TEXT:this._insertCharacters(e);break;case Ts.IN_TABLE:case Ts.IN_TABLE_BODY:case Ts.IN_ROW:Ws(this,e);break;case Ts.IN_COLUMN_GROUP:nr(this,e);break;case Ts.AFTER_BODY:Er(this,e);break;case Ts.AFTER_AFTER_BODY:hr(this,e)}}onComment(e){if(this.skipNextNewLine=!1,this.currentNotInHTML)Rs(this,e);else switch(this.insertionMode){case Ts.INITIAL:case Ts.BEFORE_HTML:case Ts.BEFORE_HEAD:case Ts.IN_HEAD:case Ts.IN_HEAD_NO_SCRIPT:case Ts.AFTER_HEAD:case Ts.IN_BODY:case Ts.IN_TABLE:case Ts.IN_CAPTION:case Ts.IN_COLUMN_GROUP:case Ts.IN_TABLE_BODY:case Ts.IN_ROW:case Ts.IN_CELL:case Ts.IN_SELECT:case Ts.IN_SELECT_IN_TABLE:case Ts.IN_TEMPLATE:case Ts.IN_FRAMESET:case Ts.AFTER_FRAMESET:Rs(this,e);break;case Ts.IN_TABLE_TEXT:Zs(this,e);break;case Ts.AFTER_BODY:!function(e,t){e._appendCommentNode(t,e.openElements.items[0])}(this,e);break;case Ts.AFTER_AFTER_BODY:case Ts.AFTER_AFTER_FRAMESET:!function(e,t){e._appendCommentNode(t,e.document)}(this,e)}}onDoctype(e){switch(this.skipNextNewLine=!1,this.insertionMode){case Ts.INITIAL:!function(e,t){e._setDocumentType(t);const n=t.forceQuirks?mn.QUIRKS:function(e){if(e.name!==ts)return mn.QUIRKS;const{systemId:t}=e;if(t&&"http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"===t.toLowerCase())return mn.QUIRKS;let{publicId:n}=e;if(null!==n){if(n=n.toLowerCase(),rs.has(n))return mn.QUIRKS;let e=null===t?ss:ns;if(is(n,e))return mn.QUIRKS;if(e=null===t?as:os,is(n,e))return mn.LIMITED_QUIRKS}return mn.NO_QUIRKS}(t);(function(e){return e.name===ts&&null===e.publicId&&(null===e.systemId||"about:legacy-compat"===e.systemId)})(t)||e._err(t,nn.nonConformingDoctype),e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=Ts.BEFORE_HTML}(this,e);break;case Ts.BEFORE_HEAD:case Ts.IN_HEAD:case Ts.IN_HEAD_NO_SCRIPT:case Ts.AFTER_HEAD:this._err(e,nn.misplacedDoctype);break;case Ts.IN_TABLE_TEXT:Zs(this,e)}}onStartTag(e){this.skipNextNewLine=!1,this.currentToken=e,this._processStartTag(e),e.selfClosing&&!e.ackSelfClosing&&this._err(e,nn.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(e){this.shouldProcessStartTagTokenInForeignContent(e)?function(e,t){if(function(e){const t=e.tagID;return t===fn.FONT&&e.attrs.some((({name:e})=>e===Tn.COLOR||e===Tn.SIZE||e===Tn.FACE))||Es.has(t)}(t))pr(e),e._startTagOutsideForeignContent(t);else{const n=e._getAdjustedCurrentElement(),s=e.treeAdapter.getNamespaceURI(n);s===dn.MATHML?hs(t):s===dn.SVG&&(function(e){const t=us.get(e.tagName);null!=t&&(e.tagName=t,e.tagID=kn(e.tagName))}(t),ps(t)),ds(t),t.selfClosing?e._appendElement(t,s):e._insertElement(t,s),t.ackSelfClosing=!0}}(this,e):this._startTagOutsideForeignContent(e)}_startTagOutsideForeignContent(e){switch(this.insertionMode){case Ts.INITIAL:Ds(this,e);break;case Ts.BEFORE_HTML:!function(e,t){t.tagID===fn.HTML?(e._insertElement(t,dn.HTML),e.insertionMode=Ts.BEFORE_HEAD):Ps(e,t)}(this,e);break;case Ts.BEFORE_HEAD:!function(e,t){switch(t.tagID){case fn.HTML:Ys(e,t);break;case fn.HEAD:e._insertElement(t,dn.HTML),e.headElement=e.openElements.current,e.insertionMode=Ts.IN_HEAD;break;default:Os(e,t)}}(this,e);break;case Ts.IN_HEAD:Ls(this,e);break;case Ts.IN_HEAD_NO_SCRIPT:!function(e,t){switch(t.tagID){case fn.HTML:Ys(e,t);break;case fn.BASEFONT:case fn.BGSOUND:case fn.HEAD:case fn.LINK:case fn.META:case fn.NOFRAMES:case fn.STYLE:Ls(e,t);break;case fn.NOSCRIPT:e._err(t,nn.nestedNoscriptInHead);break;default:ws(e,t)}}(this,e);break;case Ts.AFTER_HEAD:!function(e,t){switch(t.tagID){case fn.HTML:Ys(e,t);break;case fn.BODY:e._insertElement(t,dn.HTML),e.framesetOk=!1,e.insertionMode=Ts.IN_BODY;break;case fn.FRAMESET:e._insertElement(t,dn.HTML),e.insertionMode=Ts.IN_FRAMESET;break;case fn.BASE:case fn.BASEFONT:case fn.BGSOUND:case fn.LINK:case fn.META:case fn.NOFRAMES:case fn.SCRIPT:case fn.STYLE:case fn.TEMPLATE:case fn.TITLE:e._err(t,nn.abandonedHeadElementChild),e.openElements.push(e.headElement,fn.HEAD),Ls(e,t),e.openElements.remove(e.headElement);break;case fn.HEAD:e._err(t,nn.misplacedStartTagForHeadElement);break;default:Bs(e,t)}}(this,e);break;case Ts.IN_BODY:Ys(this,e);break;case Ts.IN_TABLE:Qs(this,e);break;case Ts.IN_TABLE_TEXT:Zs(this,e);break;case Ts.IN_CAPTION:!function(e,t){const n=t.tagID;er.has(n)?e.openElements.hasInTableScope(fn.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(fn.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=Ts.IN_TABLE,Qs(e,t)):Ys(e,t)}(this,e);break;case Ts.IN_COLUMN_GROUP:tr(this,e);break;case Ts.IN_TABLE_BODY:sr(this,e);break;case Ts.IN_ROW:ar(this,e);break;case Ts.IN_CELL:!function(e,t){const n=t.tagID;er.has(n)?(e.openElements.hasInTableScope(fn.TD)||e.openElements.hasInTableScope(fn.TH))&&(e._closeTableCell(),ar(e,t)):Ys(e,t)}(this,e);break;case Ts.IN_SELECT:ir(this,e);break;case Ts.IN_SELECT_IN_TABLE:!function(e,t){const n=t.tagID;n===fn.CAPTION||n===fn.TABLE||n===fn.TBODY||n===fn.TFOOT||n===fn.THEAD||n===fn.TR||n===fn.TD||n===fn.TH?(e.openElements.popUntilTagNamePopped(fn.SELECT),e._resetInsertionMode(),e._processStartTag(t)):ir(e,t)}(this,e);break;case Ts.IN_TEMPLATE:!function(e,t){switch(t.tagID){case fn.BASE:case fn.BASEFONT:case fn.BGSOUND:case fn.LINK:case fn.META:case fn.NOFRAMES:case fn.SCRIPT:case fn.STYLE:case fn.TEMPLATE:case fn.TITLE:Ls(e,t);break;case fn.CAPTION:case fn.COLGROUP:case fn.TBODY:case fn.TFOOT:case fn.THEAD:e.tmplInsertionModeStack[0]=Ts.IN_TABLE,e.insertionMode=Ts.IN_TABLE,Qs(e,t);break;case fn.COL:e.tmplInsertionModeStack[0]=Ts.IN_COLUMN_GROUP,e.insertionMode=Ts.IN_COLUMN_GROUP,tr(e,t);break;case fn.TR:e.tmplInsertionModeStack[0]=Ts.IN_TABLE_BODY,e.insertionMode=Ts.IN_TABLE_BODY,sr(e,t);break;case fn.TD:case fn.TH:e.tmplInsertionModeStack[0]=Ts.IN_ROW,e.insertionMode=Ts.IN_ROW,ar(e,t);break;default:e.tmplInsertionModeStack[0]=Ts.IN_BODY,e.insertionMode=Ts.IN_BODY,Ys(e,t)}}(this,e);break;case Ts.AFTER_BODY:!function(e,t){t.tagID===fn.HTML?Ys(e,t):Er(e,t)}(this,e);break;case Ts.IN_FRAMESET:!function(e,t){switch(t.tagID){case fn.HTML:Ys(e,t);break;case fn.FRAMESET:e._insertElement(t,dn.HTML);break;case fn.FRAME:e._appendElement(t,dn.HTML),t.ackSelfClosing=!0;break;case fn.NOFRAMES:Ls(e,t)}}(this,e);break;case Ts.AFTER_FRAMESET:!function(e,t){switch(t.tagID){case fn.HTML:Ys(e,t);break;case fn.NOFRAMES:Ls(e,t)}}(this,e);break;case Ts.AFTER_AFTER_BODY:!function(e,t){t.tagID===fn.HTML?Ys(e,t):hr(e,t)}(this,e);break;case Ts.AFTER_AFTER_FRAMESET:!function(e,t){switch(t.tagID){case fn.HTML:Ys(e,t);break;case fn.NOFRAMES:Ls(e,t)}}(this,e)}}onEndTag(e){this.skipNextNewLine=!1,this.currentToken=e,this.currentNotInHTML?function(e,t){if(t.tagID===fn.P||t.tagID===fn.BR)return pr(e),void e._endTagOutsideForeignContent(t);for(let n=e.openElements.stackTop;n>0;n--){const s=e.openElements.items[n];if(e.treeAdapter.getNamespaceURI(s)===dn.HTML){e._endTagOutsideForeignContent(t);break}const r=e.treeAdapter.getTagName(s);if(r.toLowerCase()===t.tagName){t.tagName=r,e.openElements.shortenToLength(n);break}}}(this,e):this._endTagOutsideForeignContent(e)}_endTagOutsideForeignContent(e){switch(this.insertionMode){case Ts.INITIAL:Ds(this,e);break;case Ts.BEFORE_HTML:!function(e,t){const n=t.tagID;n!==fn.HTML&&n!==fn.HEAD&&n!==fn.BODY&&n!==fn.BR||Ps(e,t)}(this,e);break;case Ts.BEFORE_HEAD:!function(e,t){const n=t.tagID;n===fn.HEAD||n===fn.BODY||n===fn.HTML||n===fn.BR?Os(e,t):e._err(t,nn.endTagWithoutMatchingOpenElement)}(this,e);break;case Ts.IN_HEAD:Ms(this,e);break;case Ts.IN_HEAD_NO_SCRIPT:!function(e,t){switch(t.tagID){case fn.NOSCRIPT:e.openElements.pop(),e.insertionMode=Ts.IN_HEAD;break;case fn.BR:ws(e,t);break;default:e._err(t,nn.endTagWithoutMatchingOpenElement)}}(this,e);break;case Ts.AFTER_HEAD:!function(e,t){switch(t.tagID){case fn.BODY:case fn.HTML:case fn.BR:Bs(e,t);break;case fn.TEMPLATE:Ms(e,t);break;default:e._err(t,nn.endTagWithoutMatchingOpenElement)}}(this,e);break;case Ts.IN_BODY:Vs(this,e);break;case Ts.TEXT:!function(e,t){var n;t.tagID===fn.SCRIPT&&(null===(n=e.scriptHandler)||void 0===n||n.call(e,e.openElements.current)),e.openElements.pop(),e.insertionMode=e.originalInsertionMode}(this,e);break;case Ts.IN_TABLE:Ks(this,e);break;case Ts.IN_TABLE_TEXT:Zs(this,e);break;case Ts.IN_CAPTION:!function(e,t){const n=t.tagID;switch(n){case fn.CAPTION:case fn.TABLE:e.openElements.hasInTableScope(fn.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(fn.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=Ts.IN_TABLE,n===fn.TABLE&&Ks(e,t));break;case fn.BODY:case fn.COL:case fn.COLGROUP:case fn.HTML:case fn.TBODY:case fn.TD:case fn.TFOOT:case fn.TH:case fn.THEAD:case fn.TR:break;default:Vs(e,t)}}(this,e);break;case Ts.IN_COLUMN_GROUP:!function(e,t){switch(t.tagID){case fn.COLGROUP:e.openElements.currentTagId===fn.COLGROUP&&(e.openElements.pop(),e.insertionMode=Ts.IN_TABLE);break;case fn.TEMPLATE:Ms(e,t);break;case fn.COL:break;default:nr(e,t)}}(this,e);break;case Ts.IN_TABLE_BODY:rr(this,e);break;case Ts.IN_ROW:or(this,e);break;case Ts.IN_CELL:!function(e,t){const n=t.tagID;switch(n){case fn.TD:case fn.TH:e.openElements.hasInTableScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=Ts.IN_ROW);break;case fn.TABLE:case fn.TBODY:case fn.TFOOT:case fn.THEAD:case fn.TR:e.openElements.hasInTableScope(n)&&(e._closeTableCell(),or(e,t));break;case fn.BODY:case fn.CAPTION:case fn.COL:case fn.COLGROUP:case fn.HTML:break;default:Vs(e,t)}}(this,e);break;case Ts.IN_SELECT:cr(this,e);break;case Ts.IN_SELECT_IN_TABLE:!function(e,t){const n=t.tagID;n===fn.CAPTION||n===fn.TABLE||n===fn.TBODY||n===fn.TFOOT||n===fn.THEAD||n===fn.TR||n===fn.TD||n===fn.TH?e.openElements.hasInTableScope(n)&&(e.openElements.popUntilTagNamePopped(fn.SELECT),e._resetInsertionMode(),e.onEndTag(t)):cr(e,t)}(this,e);break;case Ts.IN_TEMPLATE:!function(e,t){t.tagID===fn.TEMPLATE&&Ms(e,t)}(this,e);break;case Ts.AFTER_BODY:ur(this,e);break;case Ts.IN_FRAMESET:!function(e,t){t.tagID!==fn.FRAMESET||e.openElements.isRootHtmlElementCurrent()||(e.openElements.pop(),e.fragmentContext||e.openElements.currentTagId===fn.FRAMESET||(e.insertionMode=Ts.AFTER_FRAMESET))}(this,e);break;case Ts.AFTER_FRAMESET:!function(e,t){t.tagID===fn.HTML&&(e.insertionMode=Ts.AFTER_AFTER_FRAMESET)}(this,e);break;case Ts.AFTER_AFTER_BODY:hr(this,e)}}onEof(e){switch(this.insertionMode){case Ts.INITIAL:Ds(this,e);break;case Ts.BEFORE_HTML:Ps(this,e);break;case Ts.BEFORE_HEAD:Os(this,e);break;case Ts.IN_HEAD:ys(this,e);break;case Ts.IN_HEAD_NO_SCRIPT:ws(this,e);break;case Ts.AFTER_HEAD:Bs(this,e);break;case Ts.IN_BODY:case Ts.IN_TABLE:case Ts.IN_CAPTION:case Ts.IN_COLUMN_GROUP:case Ts.IN_TABLE_BODY:case Ts.IN_ROW:case Ts.IN_CELL:case Ts.IN_SELECT:case Ts.IN_SELECT_IN_TABLE:Xs(this,e);break;case Ts.TEXT:!function(e,t){e._err(t,nn.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e.onEof(t)}(this,e);break;case Ts.IN_TABLE_TEXT:Zs(this,e);break;case Ts.IN_TEMPLATE:lr(this,e);break;case Ts.AFTER_BODY:case Ts.IN_FRAMESET:case Ts.AFTER_FRAMESET:case Ts.AFTER_AFTER_BODY:case Ts.AFTER_AFTER_FRAMESET:bs(this,e)}}onWhitespaceCharacter(e){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,e.chars.charCodeAt(0)===Kt.LINE_FEED)){if(1===e.chars.length)return;e.chars=e.chars.substr(1)}if(this.tokenizer.inForeignNode)this._insertCharacters(e);else switch(this.insertionMode){case Ts.IN_HEAD:case Ts.IN_HEAD_NO_SCRIPT:case Ts.AFTER_HEAD:case Ts.TEXT:case Ts.IN_COLUMN_GROUP:case Ts.IN_SELECT:case Ts.IN_SELECT_IN_TABLE:case Ts.IN_FRAMESET:case Ts.AFTER_FRAMESET:this._insertCharacters(e);break;case Ts.IN_BODY:case Ts.IN_CAPTION:case Ts.IN_CELL:case Ts.IN_TEMPLATE:case Ts.AFTER_BODY:case Ts.AFTER_AFTER_BODY:case Ts.AFTER_AFTER_FRAMESET:xs(this,e);break;case Ts.IN_TABLE:case Ts.IN_TABLE_BODY:case Ts.IN_ROW:Ws(this,e);break;case Ts.IN_TABLE_TEXT:Js(this,e)}}}.parse(e,t)}function Nr(e,t){if(e.tagName)switch(e.tagName.toLowerCase()){case"a":for(let n in e.attrs)"href"===e.attrs[n].name&&(e.attrs.push({name:"data-href",value:e.attrs[n].value}),e.attrs[n].value=Yt(e.attrs[n].value,t));break;case"script":let n=!1;for(let s in e.attrs)"src"===e.attrs[s].name?(e.attrs.push({name:"data-src",value:e.attrs[s].value}),e.attrs[s].value=Yt(e.attrs[s].value,t),n=!0):"integrity"===e.attrs[s].name?(e.attrs.push({name:"data-integrity",value:e.attrs[s].value}),e.attrs[s].value=""):"nonce"===e.attrs[s].name&&(e.attrs.push({name:"data-nonce",value:e.attrs[s].value}),e.attrs[s].value="");if(!n)for(let t in e.childNodes)e.childNodes[t].value=Gt(e.childNodes[t].value);break;case"style":for(let t in e.attrs)"integrity"===e.attrs[t].name?(e.attrs.push({name:"data-integrity",value:e.attrs[t].value}),e.attrs[t].value=""):"nonce"===e.attrs[t].name&&(e.attrs.push({name:"data-nonce",value:e.attrs[t].value}),e.attrs[t].value="");for(let n in e.childNodes)e.childNodes[n].value=qt(e.childNodes[n].value,t);break;case"link":for(let n in e.attrs)"href"===e.attrs[n].name?(e.attrs.push({name:"data-href",value:e.attrs[n].value}),e.attrs[n].value=Yt(e.attrs[n].value,t)):"integrity"===e.attrs[n].name?(e.attrs.push({name:"data-integrity",value:e.attrs[n].value}),e.attrs[n].value=""):"nonce"===e.attrs[n].name&&(e.attrs.push({name:"data-nonce",value:e.attrs[n].value}),e.attrs[n].value="");break;case"img":case"source":for(let n in e.attrs)"src"===e.attrs[n].name?(e.attrs.push({name:"data-src",value:e.attrs[n].value}),e.attrs[n].value=Yt(e.attrs[n].value,t)):"srcset"===e.attrs[n].name&&(e.attrs.push({name:"data-srcset",value:e.attrs[n].value}),e.attrs[n].value=Sr(e.attrs[n].value,t));break;case"form":for(let n in e.attrs)"action"===e.attrs[n].name&&(e.attrs.push({name:"data-action",value:e.attrs[n].value}),e.attrs[n].value=Yt(e.attrs[n].value,t));break;case"iframe":for(let n in e.attrs)"src"===e.attrs[n].name&&(e.attrs.push({name:"data-src",value:e.attrs[n].value}),e.attrs[n].value=Yt(e.attrs[n].value,t));break;case"meta":for(let t in e.attrs)if("http-equiv"===e.attrs[t].name){"Content-Security-Policy"===e.attrs[t].value&&(e.attrs.push({name:"data-Content-Security-Policy",value:e.attrs[t].value}),e.attrs[t].value="*");for(let t in e.attrs)"content"===e.attrs[t].name&&(e.attrs.push({name:"data-content",value:e.attrs[t].value}),e.attrs[t].value="")}}if(e.childNodes)for(let n in e.childNodes)n=Nr(e.childNodes[n],t);return e}function Sr(e,t){const n=e.split(/ [0-9]+x,? ?/g);if(!n)return"";const s=e.match(/ [0-9]+x,? ?/g);if(!s)return"";const r=n.map(((e,n)=>{if(e&&s[n])return Yt(e,t)+s[n]}));return r.join("")}const Rr=globalThis,br=Rr.fetch,Dr=Rr.WebSocket,Pr=Rr.Request,Or=Rr.Response,Lr=[101,204,205,304],Mr=[301,302,303,307,308];class yr extends Error{status;body;constructor(e,t){super(t.message||t.code),this.status=e,this.body=t}}class wr{base;constructor(e,t){this.base=new URL(`./v${e}/`,t)}}const Br="!#$%&'*+-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz|~";function Ur(e){for(let t=0;t>16)+(t>>16)+(n>>16)<<16|65535&n}function Hr(e,t,n,s,r,a){return vr((o=vr(vr(t,e),vr(s,a)))<<(i=r)|o>>>32-i,n);var o,i}function Fr(e,t,n,s,r,a,o){return Hr(t&n|~t&s,e,t,r,a,o)}function Gr(e,t,n,s,r,a,o){return Hr(t&s|n&~s,e,t,r,a,o)}function jr(e,t,n,s,r,a,o){return Hr(t^n^s,e,t,r,a,o)}function Yr(e,t,n,s,r,a,o){return Hr(n^(t|~s),e,t,r,a,o)}function qr(e,t){e[t>>5]|=128<>>9<<4)]=t;let n=1732584193,s=-271733879,r=-1732584194,a=271733878;for(let t=0;t>5]>>>s%32&255);return t}function Xr(e){const t=[],n=e.length>>2;for(let e=0;e>5]|=(255&e.charCodeAt(n/8))<>>4&15)+t.charAt(15&r)}return n}function Qr(e){return unescape(encodeURIComponent(e))}function Kr(e){return function(e){return Vr(qr(Xr(e),8*e.length))}(Qr(e))}function zr(e,t){return function(e,t){let n=Xr(e);const s=[],r=[];n.length>16&&(n=qr(n,8*e.length));for(let e=0;e<16;e+=1)s[e]=909522486^n[e],r[e]=1549556828^n[e];const a=qr(s.concat(Xr(t)),512+8*t.length);return Vr(qr(r.concat(a),640))}(Qr(e),Qr(t))}const Jr=3072,$r=[["v2",class extends wr{ws;http;newMeta;getMeta;constructor(e){super(2,e),this.ws=new URL(this.base),this.http=new URL(this.base),this.newMeta=new URL("./ws-new-meta",this.base),this.getMeta=new URL("./ws-meta",this.base),"https:"===this.ws.protocol?this.ws.protocol="wss:":this.ws.protocol="ws:"}async connect(e,t,n,s,r){const a=new Pr(this.newMeta,{headers:this.createBareHeaders(t,n,r,s,e)}),o=await br(a);if(!o.ok)throw new yr(o.status,await o.json());const i=await o.text(),c=new Dr(this.ws,[i]);return c.meta=new Promise(((e,t)=>{c.addEventListener("open",(async()=>{const t=await br(this.getMeta,{headers:{"x-bare-id":i},method:"GET"});e(await await this.readBareResponse(t))})),c.addEventListener("error",t)})),c}async request(e,t,n,s,r,a,o,i,c){if(s.startsWith("blob:")){const e=await br(`blob:${location.origin}${o}`),t=new Or(e.body,e);return t.rawHeaders=Object.fromEntries(e.headers),t.rawResponse=e,t}const l={};if(t instanceof Headers)for(const[e,n]of t)l[e]=n;else for(const e in t)l[e]=t[e];const u={credentials:"include",method:e,signal:c};"only-if-cached"!==i&&(u.cache=i),void 0!==n&&(u.body=n),u.headers=this.createBareHeaders(s,r,o,a,l);const E=new Pr(this.http+"?cache="+(T=`${s}${r}${a}${o}`,m?A?zr(m,T):Wr(zr(m,T)):A?Kr(T):Wr(Kr(T))),u),h=await br(E),p=await this.readBareResponse(h),d=new Or(Lr.includes(p.status)?void 0:h.body,{status:p.status,statusText:p.statusText??void 0,headers:p.headers});var T,m,A;return d.rawHeaders=p.rawHeaders,d.rawResponse=h,d}async readBareResponse(e){if(!e.ok)throw new yr(e.status,await e.json());const t=function(e){const t=new Headers(e),n="x-bare-headers";if(e.has(`${n}-0`)){const s=[];for(const[r,a]of e)if(r.startsWith(n)){if(!a.startsWith(";"))throw new yr(400,{code:"INVALID_BARE_HEADER",id:`request.headers.${r}`,message:"Value didn't begin with semi-colon."});s[parseInt(r.slice(n.length+1))]=a.slice(1),t.delete(r)}t.set(n,s.join(""))}return t}(e.headers),n={};return t.has("x-bare-status")&&(n.status=parseInt(t.get("x-bare-status"))),t.has("x-bare-status-text")&&(n.statusText=t.get("x-bare-status-text")),t.has("x-bare-headers")&&(n.rawHeaders=JSON.parse(t.get("x-bare-headers")),n.headers=new Headers(n.rawHeaders)),n}createBareHeaders(e,t,n,s,r,a=[],o=[],i=[]){const c=new Headers;c.set("x-bare-protocol",e),c.set("x-bare-host",t),c.set("x-bare-path",n),c.set("x-bare-port",s.toString()),c.set("x-bare-headers",JSON.stringify(r));for(const e of a)c.append("x-bare-forward-headers",e);for(const e of o)c.append("x-bare-pass-headers",e);for(const e of i)c.append("x-bare-pass-status",e.toString());return function(e){const t=new Headers(e);if(e.has("x-bare-headers")){const n=e.get("x-bare-headers");if(n.length>Jr){t.delete("x-bare-headers");let e=0;for(let s=0;s{i.addEventListener("open",(async()=>{const n=await br(this.getMeta,{headers:{"x-bare-id":o},method:"GET"});n.ok||t(new yr(n.status,await n.json())),e(await n.json())})),i.addEventListener("error",t)})),i}async request(e,t,n,s,r,a,o,i,c){if(s.startsWith("blob:")){const e=await br(`blob:${location.origin}${o}`),t=new Or(e.body,e);return t.rawHeaders=Object.fromEntries(e.headers),t.rawResponse=e,t}const l={};if(t instanceof Headers)for(const[e,n]of t)l[e]=n;else for(const e in t)l[e]=t[e];const u={credentials:"include",method:e,signal:c};void 0!==n&&(u.body=n);const E=new Pr(this.http,u);this.writeBareRequest(E,s,r,o,a,l,["accept-encoding","accept-language"]);const h=await br(E),p=await this.readBareResponse(h),d=new Or(Lr.includes(p.status)?void 0:h.body,{status:p.status,statusText:p.statusText??void 0,headers:p.headers});return d.rawHeaders=p.rawHeaders,d.rawResponse=h,d}async readBareResponse(e){if(!e.ok)throw new yr(e.status,await e.json());const t=["x-bare-status","x-bare-status-text","x-bare-headers"];for(const n of t)if(!e.headers.has(n))throw new yr(500,{code:"IMPL_MISSING_BARE_HEADER",id:`response.headers.${n}`});const n=parseInt(e.headers.get("x-bare-status")),s=e.headers.get("x-bare-status-text"),r=JSON.parse(e.headers.get("x-bare-headers"));return{status:n,statusText:s,rawHeaders:r,headers:new Headers(r)}}writeBareRequest(e,t,n,s,r,a,o){e.headers.set("x-bare-protocol",t),e.headers.set("x-bare-host",n),e.headers.set("x-bare-path",s),e.headers.set("x-bare-port",r.toString()),e.headers.set("x-bare-headers",JSON.stringify(a)),e.headers.set("x-bare-forward-headers",JSON.stringify(o))}}]],Zr={encode:(e="")=>e,decode:(e="")=>e},ea={encode:(e="")=>encodeURIComponent(e),decode:(e="")=>decodeURIComponent(e)},ta={encode:(e="")=>encodeURIComponent(e.toString().split("").map(((e,t)=>t%2?String.fromCharCode(2^e.charCodeAt(0)):e)).join("")),decode:(e="")=>{let[t,...n]=e.split("?");return decodeURIComponent(t).split("").map(((e,t)=>t%2?String.fromCharCode(2^e.charCodeAt(0)):e)).join("")+(n.length?"?"+n.join("?"):"")}},na={encode:e=>{const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";e=String(e),/[^\0-\xFF]/.test(e)&&new DOMException("The string to be encoded contains characters outside of the Latin1 range.");let n,s,r,a,o=e.length%3,i="",c=-1,l=e.length-o;for(;++c>18&63)+t.charAt(a>>12&63)+t.charAt(a>>6&63)+t.charAt(63&a);return 2==o?(n=e.charCodeAt(c)<<8,s=e.charCodeAt(++c),a=n+s,i+=t.charAt(a>>10)+t.charAt(a>>4&63)+t.charAt(a<<2&63)+"="):1==o&&(a=e.charCodeAt(c),i+=t.charAt(a>>2)+t.charAt(a<<4&63)+"=="),i},decode:e=>{var t=(e=String(e).replace(/[\t\n\f\r ]/g,"")).length;if(t%4==0&&(t=(e=e.replace(/==?$/,"")).length),t%4==1||/[^+a-zA-Z0-9/]/.test(e))throw new DOMException("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.");let n,s,r=0,a="",o=-1;for(;++o>(-2*r&6)));return a}},sa={decode:e=>{const t=parseInt(e.substring(0,2)),n=parseInt(e.substring(2,t+2)),s=decodeURIComponent(e.substring(t+2,e.length)).match(new RegExp(`.{1,${t}}`,"g"));let r="";for(let e in s)for(let t in s[e].split(""))r+=String.fromCharCode(s[e][t].charCodeAt(0)-parseInt(n.toString()[t]));return decodeURIComponent(r)},encode:e=>{const t=Math.ceil(10*Math.random()),n=(e=>{let t="";for(let n=0;ni&&l.headers.has("location")){e=new URL(l.headers.get("location"),e);continue}throw new TypeError("Failed to fetch");case"error":throw new TypeError("Failed to fetch");case"manual":return l}}}},uuid:function(e,t,n){var s=(e=e||{}).random||(e.rng||oa)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t){n=n||0;for(var r=0;r<16;++r)t[n+r]=s[r];return t}return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(la[e[t+0]]+la[e[t+1]]+la[e[t+2]]+la[e[t+3]]+"-"+la[e[t+4]]+la[e[t+5]]+"-"+la[e[t+6]]+la[e[t+7]]+"-"+la[e[t+8]]+la[e[t+9]]+"-"+la[e[t+10]]+la[e[t+11]]+la[e[t+12]]+la[e[t+13]]+la[e[t+14]]+la[e[t+15]]).toLowerCase();if(!ca(n))throw TypeError("Stringified UUID is invalid");return n}(s)}}})()})(); -//# sourceMappingURL=osana.bundle.js.map \ No newline at end of file diff --git a/public/osana/osana.bundle.js.map b/public/osana/osana.bundle.js.map deleted file mode 100644 index bdaab28..0000000 --- a/public/osana/osana.bundle.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"osana.bundle.js","mappings":"0CAyCIA,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EAK0B,0BAL1BA,EAO0B,iBAP1BA,EAsB0B,iBAtB1BA,EAwB0B,uBAxB1BA,EAkC0B,sBAlC1BA,EAmC0B,aAnC1BA,EAoC0B,cApC1BA,EAyC0B,UAzC1BA,EA2C0B,oBA3C1BA,EAoD0B,WApD1BA,EAoE0B,sBAS1BC,EAqBkB,GAQlBC,EAAmB,CACnB,KAvBkB,EAwBlB,KAvBkB,EAwBlB,IAvBkB,EAwBlB,IAvBkB,EAwBlB,IAvBkB,EAwBlB,KAvBkB,EAwBlB,KAxBkB,EAyBlB,MAzBkB,EA0BlB,MA1BkB,EA2BlB,GA3BkB,EA4BlB,KA5BkB,EA6BlB,IA5BkB,EA6BlB,IA7BkB,EA8BlB,KA9BkB,EA+BlB,KA/BkB,EAgClB,GAhCkB,EAiClB,WAjCkB,EAkClB,KAjCkB,GAkClB,KAlCkB,GAmClB,MAnCkB,GAoClB,IAnCkB,GAoClB,IApCkB,GAqClB,IApCkB,GAqClB,IArCkB,GAsClB,IAtCkB,GAuClB,KAjDkB,EAkDlB,KAtCkB,IA2ElBC,EAAwB,CACxB,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MACxD,OAIAC,EAAyC,IAAIC,OAC7C,ylCAsDJ,SAASC,EAAgBC,GACrB,GAAIA,EAAK,IACL,OAAOA,GAAM,IAAMA,GAAM,KAClBA,GAAM,IAAMA,GAAM,IAClBA,GAAM,IAAMA,GAAM,IACX,KAAPA,GAAoB,KAAPA,GACN,KAAPA,EAGX,IAAIC,EAAKC,OAAOC,aAAaH,GAE7B,OAAOH,EAAuCO,KAAKH,EACvD,CAEA,SAASI,EAAkBL,GACvB,OAAc,KAAPA,GAAsB,KAAPA,GAAsB,OAAPA,GAAwB,OAAPA,CAC1D,CAEA,SAASM,EAAcN,GACnB,OAAc,KAAPA,GAAsB,IAAPA,GAAeK,EAAiBL,IAAc,KAAPA,GAAsB,KAAPA,GAAsB,MAAPA,GACnFA,GAAM,MAAUJ,EAAsBW,QAAQP,IAAO,CACjE,CAMA,SAASQ,EAAcC,EAAKC,GACxB,IAAIC,EAAS,GAEb,IAAKD,GAAO,EAAGA,EAAM,EAAGA,KAAS,EAAGD,GAAOA,EAC7B,EAANC,IACAC,GAAUF,GAIlB,OAAOE,CACX,CAUA,SAASC,EAAcC,EAAQC,GAC3B,IAAIC,EAAKC,EAET,SAASC,EAAcJ,GACnB,MAAyB,iBAAXA,GAAuBA,aAAkBK,UAAYL,aAAkBf,OACzF,CAEA,IAAKiB,KAAOD,EACJA,EAASK,eAAeJ,KAEpBE,EADJD,EAAMF,EAASC,IAEPE,EAAaJ,EAAOE,IACpBH,EAAaC,EAAOE,GAAMC,GAG1BH,EAAOE,GAAOH,EAAa,CAAC,EAAGI,GAInCH,EAAOE,GAAOC,GAI1B,OAAOH,CACX,CA0DA,SAASO,EAAuBnB,EAAIoB,GAEhC,OAAkB,QAAR,EAALpB,IACOoB,EAAsB,IAAM,QAAkB,OAAPpB,EAAiB,OAAS,QAE7D,KAAPA,GAAoB,KAAPA,GACVoB,EAAsB,GAAK,OAAiB,KAAPpB,EAAa,IAAM,KAE7DC,OAAOC,aAAaF,EAC/B,CAqDA,SAASqB,EAAwBC,EAAMC,GACnC,IAAIC,EAzKiBzB,EAyKZW,EAAS,KAElB,OAAQY,GACJ,KAAK,EACDZ,GAAU,IACV,MACJ,KAAK,GACDA,GAAU,IACV,MACJ,KAAK,EACDA,GAAU,IACV,MACJ,QACIc,EAAMF,EAAKG,SAAS,IAAIC,cACpB5C,GAAQwC,EAAO,IACfZ,GAAU,IAAM,OAAOiB,MAAMH,EAAII,QAAUJ,EAG7B,IAATF,IA3LIvB,EA2L+BwB,IA1LvC,IAAMxB,GAAM,GA+LbW,GADc,KAATY,EACK,MAIA,IAAM,KAAKK,MAAMH,EAAII,QAAUJ,EARzCd,GAAU,IAatB,OAAOA,CACX,CAEA,SAASmB,EAA2BP,GAChC,IAAIZ,EAAS,KACb,OAAQY,GACJ,KAAK,GAEDZ,GAAU,KACV,MACJ,KAAK,GAEDA,GAAU,IACV,MACJ,KAAK,GAEDA,GAAU,IACV,MACJ,KAAK,KACDA,GAAU,QACV,MACJ,KAAK,KACDA,GAAU,QAIlB,OAAOA,CACX,CAwEA,SAASoB,EAAMC,EAAGC,GACd,IAAKD,EAAEH,OACH,OAAOI,EAEX,IAAKA,EAAEJ,OACH,OAAOG,EAEX,IAAIE,EAAMF,EAAEG,WAAWH,EAAEH,OAAS,GAC9BO,EAAMH,EAAEE,WAAW,GAEvB,OAAIpC,EAAemC,IAAQnC,EAAeqC,IACtCF,IAAQE,IAAgB,KAARF,GAAwB,KAARA,IACxB,KAARA,GAAwB,MAARE,EACTJ,EAAIK,GAAEC,MAAQL,EAGhB3B,EAAa4B,IAAQ5B,EAAa8B,GAChCJ,EAAIC,EAERD,EAAIK,GAAEE,SAAWN,CAC5B,CAEA,SAASO,IACL,IAAIC,EAAaJ,GAAEK,OAGnB,OADAL,GAAEK,QAAUL,GAAEM,WACPF,CACX,CAEA,SAASG,EAAgBC,GACrB,OAAIA,EAAMC,OAASrD,EACR4C,GAAEE,SAETM,EAAMC,OAASrD,EACR,GAEJ4C,GAAEU,QAAUV,GAAEK,OAASL,GAAEM,UACpC,CAEA,SAASK,EAAgBH,GACrB,OAAIA,EAAMC,OAASrD,EACR4C,GAAEE,SAENF,GAAEU,QAAUV,GAAEK,MACzB,CAwDA,SAASO,EAAsBC,GAC3B,IAAIC,EAAQD,EAAME,KAOlB,GAvCJ,SAAiCF,GAC7B,IAAIG,EAA8BH,EAAMI,OACpCC,EAA8BF,EAAQxB,OACtC2B,EAA8BD,EAAa,EAK/C,GAJkCL,EAAMJ,OAASrD,GAAiD,IAAf8D,GACjDF,EAAQ,GAAGP,OAASrD,EAIlD4C,GAAEoB,IAAMJ,EAAQ,GAAGK,SAElB,CACDrB,GAAEoB,IAAM,IAER,IAAK,IAAIE,EAAI,EAAGA,EAAIJ,IAAcI,EAAG,CACjC,IAAIC,EAASP,EAAQM,GAEjBN,EAAQM,GAAGb,OAASrD,EACpB4C,GAAEoB,IAAMG,EAAOF,KAGfG,GAAQD,EAAOd,MAAMc,EAAQE,EAAOC,IAEpCJ,IAAMH,IACNnB,GAAEoB,IAAM,IAAMpB,GAAEE,SACxB,CAEAF,GAAEoB,IAAM,GACZ,CACJ,CAKIO,CAAuBd,GAEnBA,EAAMJ,OAASrD,IACf4C,GAAEoB,IAAMpB,GAAEE,SAAW,MAErBW,EAAMe,WAAY,CAClB5B,GAAEoB,IAAMpB,GAAEE,SAEV,IAAI2B,EAASC,EAAShB,EAAOW,EAAOC,IAEX,MAArBG,EAAOE,OAAO,KACdF,EAAS,IAAMA,EAAS,KAE5B7B,GAAEoB,IAAMS,CACZ,MAGI7B,GAAEoB,IAAMb,EAAeO,GACvBkB,GAAQlB,EAAML,MAAMK,EAAOW,EAAOQ,GAE1C,EAvZAxF,EAAUyF,MAAMzF,WAEZA,EAAU,SAAkB0F,GACxB,MAAiD,mBAA1CtD,OAAOuD,UAAU/C,SAASgD,KAAKF,EAC1C,GA0ZJ,IAAIV,EAAS,CACTa,GAAI,SAAUC,GACV,MAAO,CACHC,WAhmBU,EAimBVD,QAAyBA,EACzBE,WAAyB,EACzBC,yBAAyB,EAEjC,EAEAC,GAAI,SAAUJ,GACV,MAAO,CACHC,WArmBU,EAsmBVD,QAAyBA,EACzBE,WAAyB,EACzBC,yBAAyB,EAEjC,EAEAE,GAAI,CACAJ,WAAyBnF,EACzBkF,SAAyB,EACzBE,WAAyB,EACzBC,yBAAyB,GAG7BhB,GAAI,CACAc,WAxnBc,EAynBdD,SAAyB,EACzBE,WAAyB,EACzBC,yBAAyB,GAG7BG,GAAI,CACAL,WAjoBc,EAkoBdD,SAAyB,EACzBE,WAAyB,EACzBC,yBAAyB,GAG7BI,GAAI,SAAUJ,GACV,MAAO,CACHF,WApnBU,GAqnBVD,SAAyB,EACzBE,WAAyB,EACzBC,wBAAyBA,EAEjC,EAEAK,GAAI,CACAP,WAjoBc,GAkoBdD,SAAyB,EACzBE,WAAyB,EACzBC,yBAAyB,GAG7BM,GAAI,CACAR,WAtoBc,GAuoBdD,SAAyB,EACzBE,WAAyB,EACzBC,yBAAyB,GAG7BO,GAAI,CACAT,gBAAyB,EACzBD,SAAyB,EACzBE,WAAyB,EACzBC,yBAAyB,GAG7BQ,IAAK,CACDV,WAAyBnF,EACzBkF,SAAyB,EACzBE,WAAyB,EACzBC,yBAAyB,GAG7BS,IAAK,SAAUV,GACX,MAAO,CACHD,WAAyBnF,EACzBkF,SAAyB,EACzBE,UAAyBA,EACzBC,yBAAyB,EAEjC,EAEAU,IAAK,CACDZ,WA7pBc,GA8pBdD,SAAyB,EACzBE,WAAyB,EACzBC,yBAAyB,GAG7BW,IAAK,CACDb,WApqBc,GAqqBdD,SAAyB,EACzBE,WAAyB,EACzBC,yBAAyB,GAI7BY,IAAK,CACDd,WArsBc,EAssBdD,SAAyB,EACzBE,WAAyB,EACzBC,yBAAyB,GAI7Ba,IAAK,SAAUd,GACX,MAAO,CACHD,WA9sBU,EA+sBVD,SAAyB,EACzBE,UAAyBA,EACzBC,yBAAyB,EAEjC,EAEAc,IAAK,SAAUhB,EAAYD,GACvB,MAAO,CACHC,WAAyBA,EACzBD,QAAyBA,EACzBE,WAAyB,EACzBC,yBAAyB,EAEjC,EAEAe,IAAK,SAAUlB,GACX,MAAO,CACHC,WAAyBnF,EACzBkF,QAAyBA,EACzBE,WAAyB,EACzBC,yBAAyB,EAEjC,EAEAgB,IAAK,SAAUnB,GACX,MAAO,CACHC,WAvuBU,EAwuBVD,QAAyBA,EACzBE,WAAyB,EACzBC,yBAAyB,EAEjC,EAEAiB,IAAK,CACDnB,WAjvBc,EAkvBdD,SAAmB,EACnBE,WAAmB,EACnBmB,mBAAmB,GAGvBC,IAAK,CACDrB,WAruBc,GAsuBdC,WAAY,GAGhBqB,GAAI,SAAUC,EAAcH,GACxB,MAAO,CACHrB,SAAmB,EACnBwB,cAAmB,EACnBC,iBAAmBD,EACnBH,kBAAmBA,EAE3B,EAEAK,GAAI,CACA1B,SAAmB,EACnBwB,cAAmB,EACnBC,kBAAmB,EACnBJ,mBAAmB,GAGvBM,GAAI,SAAU3B,GACV,MAAO,CACHA,QAAmBA,EACnBwB,cAAmB,EACnBC,kBAAmB,EACnBJ,mBAAmB,EAE3B,EAEAO,GAAI,SAAUP,GACV,MAAO,CACHrB,SAAmB,EACnBwB,cAAmB,EACnBC,kBAAmB,EACnBJ,kBAAmBA,EAE3B,EAEAQ,GAAI,SAAUR,GACV,MAAO,CACHrB,SAAmB,EACnBwB,cAAmB,EACnBC,kBAAmB,EACnBJ,kBAAmBA,EAE3B,EAEAS,GAAI,CACA9B,SAAmB,EACnBwB,cAAmB,EACnBC,kBAAmB,EACnBJ,mBAAmB,GAGvBU,GAAI,CACA/B,SAAmB,EACnBwB,cAAmB,EACnBC,kBAAmB,EACnBJ,mBAAmB,GAGvB3B,GAAI,CACAM,SAAmB,EACnBwB,cAAmB,EACnBC,kBAAmB,EACnBJ,mBAAmB,IAUvBW,EAA4B,mBAC5BC,EAA4B,SAIhC,SAASC,EAAoBC,GACzB,QAAKA,GAGEA,EAAKjE,OAASrD,CACzB,CAkBA,SAASuH,EAAmCC,EAAOC,EAAUC,GACzD,IAAIC,EAAqBH,EAAMI,SAC3BxC,EAAqBlF,EAAiBsH,EAAMI,UAC5CC,EAAqBzC,EAAaqC,EAASrC,WAC3CD,EAAqBsC,EAAStC,SAAW0C,EACzCC,EAAqBzD,EAAO+B,IAAIhB,EAAYD,GAC5CV,EAAqBC,EAAS8C,EAAMO,KAAMD,EAAoBN,GAElEK,GAAuB,OAAPF,IAAgBxC,EAEhC,IAAI6C,EA1BR,SAAyCV,EAAMW,GAC3C,OAAQX,EAAKM,UACT,IAAK,KACD,QAAKP,EAAoBY,KACE,OAApBA,EAAOL,UAAyC,OAApBK,EAAOL,UAE9C,IAAK,KACD,OAAOP,EAAoBY,GAI/B,IAAK,KACD,OAAOZ,EAAoBY,IAA+B,OAApBA,EAAOL,SAEzD,CAYqBM,CAA+BV,EAAOE,IAEnDG,GAAgBG,KAChBpF,GAAEoB,IAAM,KAIRS,EADyC,KAAzCA,EAAO/B,WAAW+B,EAAOrC,OAAS,IAAe9B,EAAeqH,EAAGjF,WAAW,IACrE+B,EAAS7B,GAAEC,MAAQ8E,EAGnBrF,EAAKmC,EAAQkD,GAE1BG,EAAmB1C,aAEnB,IAAI+C,EAAUzD,EAAS8C,EAAMY,MAAON,GAGzB,MAAPH,GAAoC,MAAtBQ,EAAQxD,OAAO,IAA+B,MAAjBgD,EAAGxF,OAAO,IAAsC,QAAxBgG,EAAQhG,MAAM,EAAG,GACpFsC,GAAU7B,GAAEC,MAAQsF,EAGpB1D,EAASnC,EAAKmC,EAAQ0D,GAE1BvF,GAAEoB,IAAMS,GAEJoD,GAAgBG,KAChBpF,GAAEoB,IAAM,IAChB,CAEA,SAASqE,EAAkCb,GACvC,IAAIc,EAAYd,EAAMe,SAClBC,EAAYF,EAAOlG,OAEvB,GAAIoG,EAAW,CACX,IAAIC,EAAcD,EAAY,EAC1BE,EAAcF,EAAY,EAC1BxF,EAAcD,IACd4F,EAAc/F,GAAEU,QAAUV,GAAEK,OAEhCL,GAAEoB,IAAM,IAER,IAAK,IAAIE,EAAI,EAAGA,EAAIsE,EAAWtE,IAAK,CAChC,IAAI0E,EAAQN,EAAOpE,GAEfwE,IACA9F,GAAEoB,IAAM2E,GAERC,GACAxE,GAAQwE,EAAMvF,MAAMuF,EAAOvE,EAAOC,IAElCJ,IAAMuE,GAAgBG,IACtBhG,GAAEoB,IAAM,IAChB,CAEApB,GAAEK,OAASD,EAEP0F,IACA9F,GAAEoB,IAAMpB,GAAEU,QAAUV,GAAEK,QAE1BL,GAAEoB,IAAM,GACZ,MAGIpB,GAAEoB,IAAM,IAChB,CAEA,SAAS6E,EAA4CrB,GAEjD,IAAIsB,EAActB,EAAMuB,OACpBC,EAAcxB,EAAMyB,OACpBC,EAAc1B,EAAMnE,OAASrD,EAC7ByE,EAAcyE,EAAc,IAAM,IAClCC,EAAczE,EAAS8C,EAAM7D,KAAMU,EAAOC,IAE9C,GAAIwE,EAAS,CAIT,IAHA,IAAI9F,EAAaD,IACbqG,EAAaN,EAAQ1G,OAEhB8B,EAAI,EAAGA,EAAIkF,IAAclF,EAAG,CACjC,IAAImF,EAAU3E,EAASoE,EAAQ5E,GAAIG,EAAOoB,IAE1ChB,EAASP,EAAI,EAAI5B,EAAKmC,EAAQ4E,GAAY5E,EAAS4E,CACvD,CAEAzG,GAAEK,OAASD,CACf,CAEA,GAAIgG,EAAS,CACT,IAAIM,EAAW5E,EAASsE,EAAS3E,EAAOoB,IAExChB,EAASnC,EAAKmC,EAAQ,KAAO7B,GAAEE,UAC/B2B,EAASnC,EAAKmC,EAAQ,IAAM6E,EAAW,IAC3C,CAEA7E,EAASnC,EAAKmC,EAAQ0E,GACtB1E,GAAUyE,EAAc,IAAM,IAE9BtG,GAAEoB,IAAMS,CACZ,CAIA,IAAI8E,EAAa,CACbC,mBAAoB,SAAqChC,EAAOC,GAC5D,IAAIgC,EAAkBjC,EAAMkC,YACxBC,EAAkBF,EAAUrH,OAC5BwH,EAAkBD,EAAgB,EAClC9B,EAp9BU,EAo9B8BJ,EAASrC,WACjDyE,EAAkBxF,EAAOa,GAAGuC,EAAStC,SAAW0C,GAEhDA,IACAjF,GAAEoB,IAAM,KAEZ,IAAK,IAAIE,EAAI,EAAGA,EAAIyF,EAAezF,IAAK,CACpC,IAAI4F,EAASL,EAAUvF,GAEvBE,GAAQ0F,EAAOzG,MAAMyG,EAAQD,GAEzB3F,IAAM0F,IACNhH,GAAEoB,IAAM,IAAMpB,GAAEE,SACxB,CAEI+E,IACAjF,GAAEoB,IAAM,IAChB,EAEA+F,qBAAsB,SAAuCvC,EAAOC,GAChE,IAAIuC,EAAexC,EAAMO,KACrBkC,EAAezC,EAAMY,MACrBP,EAx+BU,EAw+B6BJ,EAASrC,WAChDD,EAAesC,EAAStC,SAAW0C,EAEnCA,IACAjF,GAAEoB,IAAM,KAEZI,GAAQ4F,EAAM3G,MAAM2G,EAAO3F,EAAOgC,IAAIlB,IACtCvC,GAAEoB,IAAMpB,GAAEE,SAAW0E,EAAMI,SAAWhF,GAAEE,SACxCsB,GAAQ6F,EAAO5G,MAAM4G,EAAQ5F,EAAOiC,IAAInB,IAEpC0C,IACAjF,GAAEoB,IAAM,IAChB,EAEAkG,kBAAmB,SAAoCzG,GACnD,IAAI0G,EAAc,CACdpC,KAAUtE,EAAMsE,KAChBK,MAAU3E,EAAM2E,MAChBR,SAAU,KAGdxD,GAAQ2F,qBAAqBI,EAAa9F,EAAOC,GACrD,EAEA8F,wBAAyB,SAA0C5C,EAAOC,GACtE,IAAII,EA//BU,EA+/BgCJ,EAASrC,WAEnDyC,IACAjF,GAAEoB,IAAM,KAERwD,EAAM6C,QACNzH,GAAEoB,IAAM,UAEZR,EAAqBgE,GAEjBK,IACAjF,GAAEoB,IAAM,IAChB,EAEAsG,gBAAiB,SAAkC9C,EAAOC,GACtD,IAAII,EA//BU,GA+/BwBJ,EAASrC,WAE3CyC,IACAjF,GAAEoB,IAAM,KAEZpB,GAAEoB,IAAMwD,EAAM+C,IAAM,UAAY,SAEhCnG,GAAQoD,EAAMgD,SAASnH,MAAMmE,EAAMgD,SAAUnG,EAAOoC,KAEhDoB,IACAjF,GAAEoB,IAAM,IAChB,EAEAyG,sBAAuB,SAAwCjD,EAAOC,GAClE,IAAIiD,EAAoBlD,EAAM7G,KAC1BgK,EAAoBnD,EAAMoD,WAC1BC,EAAoBrD,EAAMsD,UAC1BjD,EAhiCU,EAgiCmCJ,EAASrC,WACtDD,EAAoBsC,EAAStC,SAAW0C,EACxCkD,EAAoB1G,EAAOkB,GAAGJ,GAC9B6F,EAAoB3G,EAAOa,GAAGC,GAE9B0C,IACAjF,GAAEoB,IAAM,KAEZI,GAAQsG,EAAMrH,MAAMqH,EAAOK,GAC3BnI,GAAEoB,IAAMpB,GAAEE,SAAW,IAAMF,GAAEE,SAC7BsB,GAAQuG,EAAQtH,MAAMsH,EAASK,GAC/BpI,GAAEoB,IAAMpB,GAAEE,SAAW,IAAMF,GAAEE,SAC7BsB,GAAQyG,EAAKxH,MAAMwH,EAAMG,GAErBnD,IACAjF,GAAEoB,IAAM,IAChB,EAEAiH,kBAAmB1D,EAEnB2D,iBAAkB3D,EAElB4D,eAAgB,SAAiC3D,EAAOC,GACpD,IAAI2D,EAAe5D,EAAM6D,OACrBC,EAAe9D,EAAiB,UAChC+D,EAAeD,EAAMlJ,OACrBoJ,EAAeD,EAAW,EAC1B1D,GAAgBJ,EAASpC,WAAapF,EAAkBwH,EAASrC,WAEjEyC,IACAjF,GAAEoB,IAAM,KAEZI,GAAQgH,EAAQ/H,MAAM+H,EAAS/G,EAAOmB,IAElCgC,EAAMiE,WACN7I,GAAEoB,IAAM,MAEZpB,GAAEoB,IAAM,IAER,IAAK,IAAIE,EAAI,EAAGA,EAAIqH,IAAYrH,EAAG,CAC/B,IAAIwH,EAAOJ,EAAMpH,GAEjBE,GAAQsH,EAAKrI,MAAMqI,EAAMrH,EAAOC,IAE5BJ,IAAMsH,IACN5I,GAAEoB,IAAM,IAAMpB,GAAEE,SACxB,CAEAF,GAAEoB,IAAM,IAEJ6D,IACAjF,GAAEoB,IAAM,IAChB,EAEA2H,cAAe,SAAgCnE,EAAOC,GAClD,IAAI6D,EAAe9D,EAAiB,UAChCK,EAtkCU,GAskCsBJ,EAASrC,WACzCmG,EAAeD,EAAMlJ,OACrBoJ,EAAeD,EAAW,EAC1BK,GAAgBnE,EAASnC,yBAA2B3F,GAAe4L,EAAW,EAC9EM,EAAenH,EAAS8C,EAAM6D,OAAQhH,EAAOqB,IAAIkG,IAOrD,GALI/D,IACAjF,GAAEoB,IAAM,KAEZpB,GAAEoB,IAAM1B,EAAK,MAAOuJ,GAEhBD,EAAU,CACVhJ,GAAEoB,IAAM,IAER,IAAK,IAAIE,EAAI,EAAGA,EAAIqH,IAAYrH,EAAG,CAC/B,IAAIwH,EAAOJ,EAAMpH,GAEjBE,GAAQsH,EAAKrI,MAAMqI,EAAMrH,EAAOC,IAE5BJ,IAAMsH,IACN5I,GAAEoB,IAAM,IAAMpB,GAAEE,SACxB,CAEAF,GAAEoB,IAAM,GACZ,CAEI6D,IACAjF,GAAEoB,IAAM,IAChB,EAEA8H,iBAAkB,SAAmCtE,EAAOC,GACxD,IAAIsE,EAAevE,EAAMwE,OACrBC,EAAezE,EAAM0E,SACrBrE,EApmCU,GAomCyBJ,EAASrC,WAC5C+G,GAAgB3E,EAAM4E,UAAYL,EAAK1I,OAASrD,GAAwC,iBAAf+L,EAAKM,MAKlF,GAHIxE,IACAjF,GAAEoB,IAAM,KAERmI,EAAU,CASV,IAAIG,EAAY5H,EAASqH,EAAM1H,EAAO0B,IAAI0B,EAASpC,YAC/CkH,EAAYnF,EAA0BzG,KAAK2L,KAAWnF,EAAyBxG,KAAK2L,GAExF1J,GAAEoB,IAAMuI,EAAaD,EAAQ,IAAOA,CACxC,MAGIlI,GAAQ2H,EAAK1I,MAAM0I,EAAM1H,EAAO0B,IAAI0B,EAASpC,YAE7CmC,EAAM4E,UACF5E,EAAMiE,WACN7I,GAAEoB,IAAM,MAEZpB,GAAEoB,IAAM,IACRI,GAAQ6H,EAAM5I,MAAM4I,EAAO5H,EAAO8B,IAAIsB,EAASpC,YAC/CzC,GAAEoB,IAAM,KAIRpB,GAAEoB,KAAOwD,EAAMiE,SAAW,KAAO,KAAOQ,EAAMhI,KAE9C4D,IACAjF,GAAEoB,IAAM,IAChB,EAEAwI,gBAAiB,SAAkChF,EAAOC,GACtD,IAAII,EArpCU,GAqpCwBJ,EAASrC,WAC3CuC,EAAeH,EAAMI,SACrB6E,EAAe/H,EAAS8C,EAAMgD,SAAUnG,EAAOsB,IAOnD,GALIkC,IACAjF,GAAEoB,IAAM,KAIO,KAAfpB,GAAEE,UAAmB6E,EAAGvF,OAAS,EACjCQ,GAAEoB,IAAM1B,EAAKqF,EAAI8E,OAEhB,CACD7J,GAAEoB,IAAM2D,EAIR,IAAI+E,EAAU/E,EAAGjF,WAAWiF,EAAGvF,OAAS,GACpCuK,EAAUF,EAAM/J,WAAW,IAG3BgK,IAAWC,IAAuB,KAAXD,GAA8B,KAAXA,IAC1CpM,EAAeoM,IAAWpM,EAAeqM,MACzC/J,GAAEoB,IAAMpB,GAAEC,OAGdD,GAAEoB,IAAMyI,CACZ,CAEI5E,IACAjF,GAAEoB,IAAM,IAChB,EAEA4I,gBAAiB,SAAkCpF,EAAOC,GACtD,IAAIiE,EAAelE,EAAMgD,SACrBxG,EAAewD,EAAMqF,SAAW,SAAW,QAC3ChF,EAxsCU,EAwsCwBJ,EAASrC,WAE3CyC,IACAjF,GAAEoB,IAAM,KAER0H,IAGA1H,EAAK1B,EAAK0B,EAFEU,EAASgH,EAAMrH,EAAOC,MAKtC1B,GAAEoB,IAAMA,EAEJ6D,IACAjF,GAAEoB,IAAM,IAChB,EAEA8I,iBAAkB,SAAmCtF,EAAOC,GACxD,IAAIiE,EAAelE,EAAMgD,SACrBuC,EAAevF,EAAMI,SACrBoF,EAAexF,EAAMwF,OAErBnF,GADemF,EA9sCL,GAEA,IA6sCkBvF,EAASrC,WAErCyC,IACAjF,GAAEoB,IAAM,KAERgJ,GACApK,GAAEoB,IAAM+I,EACR3I,GAAQsH,EAAKrI,MAAMqI,EAAMrH,EAAOuB,MAKhCxB,GAAQsH,EAAKrI,MAAMqI,EAAMrH,EAAOuB,IAChChD,GAAEoB,IAAM+I,GAGRlF,IACAjF,GAAEoB,IAAM,IAChB,EAEAiJ,mBAAoB,SAAqCzF,GACrD,IAAI0B,IAAgB1B,EAAM0F,UAEtB1F,EAAM6C,QACNzH,GAAEoB,IAAM,UAEZpB,GAAEoB,IAAMkF,EAAc,YAAc,WAEhC1B,EAAM2F,IACNvK,GAAEoB,IAAMkF,EAActG,GAAEE,SAAWF,GAAEC,MACrCD,GAAEoB,IAAMwD,EAAM2F,GAAGlJ,MAGjBrB,GAAEoB,IAAMpB,GAAEE,SAEdU,EAAqBgE,EACzB,EAEA4F,qBAAsB,WAClBxK,GAAEoB,IAAM,GACZ,EAEAqJ,aAAchF,EAEdiF,gBAAiBjF,EAEjBkF,gBAAiB,SAAkC/F,GAC/C,IAAIgG,EAAShG,EAAM2F,GACfM,EAASjG,EAAMkG,WACfhK,EAAS8D,EAAM7D,KACfc,EAAS,QAQb,GANI+I,IAGA/I,EAASnC,EAAKmC,EAFHC,EAAS8I,EAAKnJ,EAAOwB,MAKhC4H,EAAQ,CACR,IAAIE,EAAUjJ,EAAS+I,EAAQpJ,EAAOC,IAEtCqJ,EAAUrL,EAAK,UAAWqL,GAC1BlJ,EAAUnC,EAAKmC,EAAQkJ,EAC3B,CAEA/K,GAAEoB,IAAMS,EAAS7B,GAAEE,SACnB8B,GAAQlB,EAAML,MAAMK,EAAOW,EAAOwC,GACtC,EAEA+G,aAAc,SAA+BpG,EAAOC,GAChD,IAAIoG,EAAerG,EAAMsG,KACrBC,EAAevG,EAAM0E,SACrBrE,EA/wCU,GA+wCyBJ,EAASrC,WAE5CyC,IACAjF,GAAEoB,IAAM,KAEZpB,GAAEoB,KAAwB,iBAAV6J,EAAqBA,EAAQA,EAAM5J,MAC/C,KAA4B,iBAAd8J,EAAyBA,EAAYA,EAAU9J,MAE7D4D,IACAjF,GAAEoB,IAAM,IAChB,EAEAgK,iBAAkB,SAAmCxG,GACjD,IAAI/C,EAAS+C,EAAc,OAAI,SAAW5E,GAAEE,SAAW,GACnDmL,EAASvJ,EAAS8C,EAAMlG,IAAK+C,EAAOoB,IAEpC+B,EAAM4E,WACN6B,EAAQ,IAAMA,EAAQ,KAEP,QAAfzG,EAAM0G,MAAiC,QAAf1G,EAAM0G,MAC9BD,EAAQ3L,EAAKkF,EAAM0G,KAAMD,GACzBrL,GAAEoB,IAAM1B,EAAKmC,EAAQwJ,IAIjBzG,EAAM6E,MAAMa,UACZtK,GAAEoB,IAAMS,EAAS,IAAMwJ,EAClBzG,EAAM6E,MAAMhC,MACjBzH,GAAEoB,IAAMS,EAAS,SAAWwJ,EAE5BrL,GAAEoB,IAAM1B,EAAKmC,EAAQwJ,GAG7BzK,EAAqBgE,EAAM6E,MAC/B,EAEA8B,SAAU,SAA2B3G,GACjC,IAAI4G,EAAQ5G,EAAM6E,MACdgC,EAAQ7G,EAAM0G,KACdD,EAAQvJ,EAAS8C,EAAMlG,IAAK+C,EAAOC,IAEnCkD,EAAM4E,WACN6B,EAAQ,IAAMA,EAAQ,KAEZ,QAAVI,GAA6B,QAAVA,GACnBzL,GAAEoB,IAAMqK,EAAQzL,GAAEC,MAAQoL,EAC1BzK,EAAqB4K,IAIjB5G,EAAM8G,UACN1L,GAAEoB,IAAMiK,EAEHzG,EAAM+G,QACPH,EAAKlB,UACLe,EAAQ,IAAMA,EACTG,EAAK/D,QACV4D,EAAQ,SAAWA,GAEvBrL,GAAEoB,IAAMiK,EACRzK,EAAqB4K,KAIrBxL,GAAEoB,IAAMiK,EAAQ,IAAMrL,GAAEE,SACxBsB,GAAQgK,EAAK/K,MAAM+K,EAAM/J,EAAOC,IAG5C,EAEAkK,iBAAkB,SAAmChH,GACjD,IAAIiH,EAAYjH,EAAMkH,WAClBC,EAAYF,EAAOrM,OAEvB,GAAIuM,EAAW,CACX,IAAIC,EAAcD,EAAY,EAC1B3L,EAAcD,IAElBH,GAAEoB,IAAM,IAER,IAAK,IAAIE,EAAI,EAAGA,EAAIyK,EAAWzK,IAAK,CAChC,IAAI+H,EAAWwC,EAAOvK,GAClB2K,EAAW5C,EAAM5I,MAAQrD,EAE7B4C,GAAEoB,IAAMpB,GAAEU,QAAUV,GAAEK,OACtBmB,GAAQyK,GAAU5C,EAAO5H,EAAOoB,IAE5BvB,IAAM0K,IACNhM,GAAEoB,IAAM,IAChB,CAEApB,GAAEK,OAASD,EACXJ,GAAEoB,IAAMpB,GAAEU,QAAUV,GAAEK,OAAS,GACnC,MAGIL,GAAEoB,IAAM,IAChB,EAEA8K,cAAe,SAAgCtH,GAC3C,IAAIiH,EAAYjH,EAAMkH,WAClBC,EAAYF,EAAOrM,OAEvB,GAAIuM,EAAW,CACX,IAAIC,EAAcD,EAAY,EAC1BjG,GAAc,EAElB,GAAkB,IAAdiG,EACAjG,EAAY+F,EAAO,GAAGpC,MAAMhJ,OAASrD,OAGrC,IAAK,IAAIkE,EAAI,EAAGA,EAAIyK,EAAWzK,IAC3B,IAAKuK,EAAOvK,GAAGoK,UAAW,CACtB5F,GAAY,EACZ,KACJ,CAIR9F,GAAEoB,IAAM0E,EAAa,IAAM9F,GAAEU,QAAW,IAExC,IAAIN,EAAaD,IACbgM,EAAa,KAAOrG,EAAY9F,GAAEU,QAAUV,GAAEE,UAElD,IAASoB,EAAI,EAAGA,EAAIyK,EAAWzK,IAAK,CAChC,IAAI+H,EAAQwC,EAAOvK,GAEfwE,IACA9F,GAAEoB,IAAMpB,GAAEK,QAEdmB,GAAQ6H,EAAM5I,MAAM4I,EAAO5H,EAAOoB,IAE9BvB,IAAM0K,IACNhM,GAAEoB,IAAM+K,EAChB,CAEAnM,GAAEK,OAASD,EACXJ,GAAEoB,IAAM0E,EAAa9F,GAAEU,QAAUV,GAAEK,OAAS,IAAO,GACvD,MAEIL,GAAEoB,IAAM,IAChB,EAEAgL,eAAgB,WACZpM,GAAEoB,IAAM,MACZ,EAEAiL,WAAY,SAA6BzH,EAAOpC,EAAY8J,GACxDtM,GAAEoB,IAAMwD,EAAMvD,IAClB,EAEAkL,iBAAkB,SAAmC3H,EAAOC,GACxD,IAAII,EAAe5H,EAAkBwH,EAASrC,WAC1CgK,EAAe5H,EAAM6H,OAErBxH,IACAjF,GAAEoB,IAAM,KAEZpB,GAAEoB,IAAM,UAERI,GAAQgL,EAAQ/L,MAAM+L,EAAS/K,EAAOC,IAEtC1B,GAAEoB,IAAM,IAEJ6D,IACAjF,GAAEoB,IAAM,IAChB,EAEAsL,gBAAiB,SAAkC9H,GAC/C5E,GAAEoB,IAAMwD,EAAM+H,SAAStL,KAEnBuD,EAAMgI,QACN5M,GAAEoB,IAAMpB,GAAEC,MAAQ,KAAOD,GAAEC,MAAQ2E,EAAMgI,MAAMvL,KACvD,EAEAwL,gBAAiB,SAA0CjI,GACvD5E,GAAEoB,IAAMwD,EAAMgI,MAAMvL,KAEhBuD,EAAMkI,WACN9M,GAAEoB,IAAMpB,GAAEC,MAAQ,KAAOD,GAAEC,MAAQ2E,EAAMkI,SAASzL,KAC1D,EAEA0L,gBAAiB,SAAkCnI,EAAOC,GACtD,IAAII,EAv8CU,GAu8CmCJ,EAASrC,WACtDwK,EAAepI,EAAMhD,WAIrBqL,EAAe,CACfzK,WA78CU,GA88CVD,SAJJsC,EAAWA,GAAY,CAAC,GAICtC,QACrBE,UAAYoC,EAASpC,UAErBC,wBAAyBmC,EAASnC,yBAGlCuC,IACAgI,EAAYxK,WAAY,EACxBzC,GAAEoB,IAAM,KAGZI,GAAQwL,EAAYvM,MAAMuM,EAAaC,GAEnChI,IACAjF,GAAEoB,IAAM,IAChB,EAEA8L,QAAS,SAA0BtI,GAC/B,GAAIzH,EAAMgQ,UAAqB,IAAdvI,EAAMuI,IACnBnN,GAAEoB,IAAMwD,EAAMuI,SAEb,GAAoB,OAAhBvI,EAAM6E,MACXzJ,GAAEoB,IAAM,WAEP,CACD,IAAIgM,SAAmBxI,EAAM6E,MAGzBzJ,GAAEoB,IADY,WAAdgM,EAnlChB,SAAuBhP,GACnB,IAAiBkD,EAAG+L,EAAKnO,EAA0CoO,EAAQC,EAAvEjP,EAAS,GAAkBkP,EAAe,EAAGC,EAAe,EAEhE,IAAKnM,EAAI,EAAG+L,EAAMjP,EAAIoB,OAAQ8B,EAAI+L,IAAO/L,EAAG,CAExC,GAAa,MADbpC,EAAOd,EAAI0B,WAAWwB,MAEhBkM,OAED,GAAa,KAATtO,IACHuO,OAED,GAAa,KAATvO,GAAiBxC,EACtB4B,GAAU,SAET,IAAIN,EAAiBkB,IAAkB,KAATA,EAAe,CAC9CZ,GAAUmB,EAA0BP,GACpC,QACJ,CACK,GAAKxC,GAAQwC,EAAO,MACdxC,GAAQI,GAAeoC,GAAQ,IAAQA,GAAQ,KAAQ,CAC9DZ,GAAUW,EAAuBC,EAAMd,EAAI0B,WAAWwB,EAAI,IAC1D,QACJ,EACAhD,GAAUT,OAAOC,aAAaoB,EAClC,CAKA,GAFAqO,GADAD,IAAsB,WAAXzQ,GAAmC,SAAXA,GAAqB4Q,EAAeD,IACrD,IAAO,MAEnBF,EAASE,EAAeC,GAC1B,OAAOF,EAAQjP,EAASiP,EAM5B,IAHAnP,EAASE,EACTA,EAASiP,EAEJjM,EAAI,EAAG+L,EAAMjP,EAAIoB,OAAQ8B,EAAI+L,IAAO/L,GAEvB,MADdpC,EAAOd,EAAI0B,WAAWwB,KACAgM,GAAqB,KAATpO,IAAkBoO,KAChDhP,GAAU,MAEdA,GAAUT,OAAOC,aAAaoB,GAGlC,OAAOZ,EAASiP,CACpB,CAuiCwBG,CAAa9I,EAAM6E,OAER,WAAd2D,EAhyCrB,SAAyB3D,GACrB,IAAInL,EAAQqP,EAAOC,EAAMC,EAAUC,EAEnC,GAAIrE,IAAU,IACV,OAAO/M,EAAO,OAASC,EAAW,QAAU,SAIhD,GADA2B,EAAS,GAAKmL,GACT9M,GAAY2B,EAAOkB,OAAS,EAC7B,OAAOlB,EAuBX,IApBAqP,EAAQrP,EAAOJ,QAAQ,KAElBxB,GAAiC,KAAzB4B,EAAOwB,WAAW,IAAyB,IAAV6N,IAC1CA,EAAS,EACTrP,EAASA,EAAOiB,MAAM,IAE1BqO,EAAWtP,EACXA,EAAWA,EAAOyP,QAAQ,KAAM,KAChCF,EAAW,GACNC,EAAMF,EAAK1P,QAAQ,MAAQ,IAC5B2P,GAAYD,EAAKrO,MAAMuO,EAAM,GAC7BF,EAAWA,EAAKrO,MAAM,EAAGuO,IAEzBH,GAAS,IACTE,GAAYD,EAAKpO,OAASmO,EAAQ,EAClCC,IAASA,EAAKrO,MAAM,EAAGoO,GAASC,EAAKrO,MAAMoO,EAAQ,IAAM,IAE7DG,EAAM,EAG4C,KAA3CF,EAAK9N,WAAW8N,EAAKpO,OAASsO,EAAM,MACrCA,EAiBN,OAfY,IAARA,IACAD,GAAYC,EACZF,EAAOA,EAAKrO,MAAM,EAAGuO,IAER,IAAbD,IACAD,GAAQ,IAAMC,IAEbD,EAAKpO,OAASlB,EAAOkB,QACpB5C,GAAe6M,EAAQ,MAAQuE,KAAKC,MAAMxE,KAAWA,IACpDmE,EAAO,KAAOnE,EAAMpK,SAAS,KAAKG,OACjClB,EAAOkB,UACVoO,IAASnE,IACVnL,EAASsP,GAGNtP,CACX,CA8uCwB4P,CAAetJ,EAAM6E,OAEV,YAAd2D,EACGxI,EAAM6E,MAAQ,OAAS,QAjuC/C,SAAyB0E,GACrB,IAAIC,EAAO9P,EAAQ+P,EAAO/M,EAAGgN,EAAI1Q,EAAI2Q,EAAkBvP,EAIvD,GAFAV,EAAS6P,EAAI9O,WAET8O,EAAI1B,OAAQ,CAGZ,KADA2B,EAAQ9P,EAAO8P,MAAM,eAEjB,OAAO9P,EAQX,IALA+P,EAASD,EAAM,GACf9P,EAAS,GAETiQ,GAAsB,EACtBvP,GAAsB,EACjBsC,EAAI,EAAGgN,EAAKH,EAAI1B,OAAOjN,OAAQ8B,EAAIgN,IAAMhN,EAC1C1D,EAAKuQ,EAAI1B,OAAO3M,WAAWwB,GAEtBtC,GAmBDV,GAAUS,EAAsBnB,EAAIoB,GAEpCA,GAAsB,IApBlBuP,EACW,KAAP3Q,IACA2Q,GAAmB,GAIZ,KAAP3Q,EACAU,GAAU,KAEE,KAAPV,IACL2Q,GAAmB,GAG3BjQ,GAAUS,EAAsBnB,EAAIoB,GACpCA,EAA6B,KAAPpB,GAU9B,MAAO,IAAMU,EAAS,IAAM+P,CAChC,CAEA,OAAO/P,CACX,CAmrCwBkQ,CAAe5J,EAAM6E,MACrC,CACJ,EAEAgF,oBAAqBxI,EAErByI,wBAAyBzI,EAEzB0I,mBAAoB,SAAqC/J,GACrD,IAAIwC,EAAUxC,EAAMO,KAChByJ,OAAU,EACVrJ,EAAUzD,EAAS8C,EAAMY,MAAO/D,EAAOoB,IAQ3C+L,EAASlP,EALLkP,EADAxH,EAAM3G,OAASrD,EACNgK,EAAMkE,KAAOtL,GAAEC,MAAQ4O,GAASzH,EAAM0H,aAAa,GAAIrN,EAAO4C,IAG9DvC,EAASsF,EAAO3F,EAAOyB,KAEd0B,EAAMmK,GAAK,KAAO,MAExC/O,GAAEoB,IAAM,MAAQpB,GAAEE,SAAW,IAAMR,EAAKkP,EAAQrJ,GAAW,GAC/D,EAEAyJ,YAAa,SAA8BnO,GACvCb,GAAEoB,IAAM,MAAQP,EAAM+G,SAASvG,IACnC,EAEA4N,cAAe,SAAgCrK,GAC3C,IAAIkE,EAAOlE,EAAMgD,SAEjB5H,GAAEoB,IAAM,MACRI,GAAQsH,EAAKrI,MAAMqI,EAAMrH,EAAOC,GACpC,EAEAwN,yBAA0B,SAA2CtK,EAAOC,GACxE,IAAIsK,EAAevK,EAAMwK,IACrBC,EAAezK,EAAM0K,MACrBrK,EA1hDU,GA0hDiCJ,EAASrC,WAEpDyC,IACAjF,GAAEoB,IAAM,KAEZI,GAAQ2N,EAAK1O,MAAM0O,EAAM1N,EAAO0B,IAAI0B,EAASpC,YAC7CjB,GAAQ6N,EAAO5O,MAAM4O,EAAQ5N,EAAO2B,KAEhC6B,IACAjF,GAAEoB,IAAM,IAChB,EAEAmO,gBAAiB,SAAkC3K,GAG/C5E,GAAEoB,IAAMwD,EAAM6E,MAAM0D,GACxB,EAEAqC,gBAAiB,SAAkC5K,GAC/C,IAAI6K,EAAe7K,EAAM8K,OACrBC,EAAe/K,EAAMkC,YACrB8I,EAAeH,EAAQjQ,OACvBqQ,EAAeD,EAAa,EAEhC5P,GAAEoB,IAAM,IAER,IAAK,IAAIE,EAAI,EAAGA,EAAIsO,IAActO,EAAG,CACjC,IAAI+N,EAASI,EAAQnO,GAIrB,GAFAE,GAAQ6N,EAAO5O,MAAM4O,EAAQ5N,EAAO4B,KAEhC/B,IAAMuO,EAAc,CACpB,IAAIC,EAAaH,EAAYrO,GAE7BtB,GAAEoB,IAAM,KAAOpB,GAAEE,SACjBsB,GAAQsO,EAAWrP,MAAMqP,EAAYrO,EAAOoB,IAC5C7C,GAAEoB,IAAMpB,GAAEE,SAAW,GACzB,CACJ,CAEAF,GAAEoB,IAAM,GACZ,EAEA2O,MAAO,WACH/P,GAAEoB,IAAM,OACZ,GAUA4O,EAAkC,mDAItC,SAASC,EAA8BC,EAAQC,EAAYC,GAIvD,IAHA,IAAIC,EAAiBD,EAAS5Q,OAC1B8Q,EAAiBD,EAAe,EAE3B/O,EAAI,EAAGA,EAAI+O,IAAgB/O,EAGhC4O,EAASxQ,EAAKwQ,EAFErB,GAASuB,EAAS9O,GAAIG,EAAO6C,MAIzC6L,GAAc7O,IAAMgP,KACpBJ,GAAUvP,EAAeyP,EAAS9O,GAAGP,OAG7C,OAAOmP,CACX,CAEA,SAASK,EAA8BpG,EAAK3J,EAAOqE,GAC/C,IAAI/D,EAAwBN,EAAMO,KAC9BqG,EAAwB5G,EAAM2E,KAC9BqL,GAAyBxT,GAAc6H,EAASjB,kBAChD6M,EAAwBtQ,IAExB+P,EAAwB,OADA1P,EAAMkQ,MAAQ,SAAW,IACN1Q,GAAEE,SAAW,IAE5D,GAAIkH,EAAM3G,OAASrD,EAA4B,CAC3C,IAAIuT,EAAcxQ,IAElB+P,GAAU9I,EAAMkE,KAAOtL,GAAEC,MAAQ4O,GAASzH,EAAM0H,aAAa,GAAIrN,EAAO4C,IACxErE,GAAEK,OAASsQ,CACf,MAGIT,GAAUpO,EAASsF,EAAO3F,EAAOyB,KAErCgN,EAASxQ,EAAKwQ,EAAQ/F,GAItB+F,EAASxQ,EAAKwQ,EAFApO,EAAStB,EAAMgF,MAAO/D,EAAOC,KAEV,IAEjC1B,GAAEK,OAASoQ,EAEXzQ,GAAEoB,IAAM8O,EAAS3P,EAAeO,GAChCkB,GAAQlB,EAAML,MAAMK,EAAOW,EAAO0C,GAAGqM,GACzC,CAIA,IAAII,EAAa,CACbC,eAAgB,SAAiCrQ,EAAOqE,GACpD,IAAI/D,EAAaN,EAAMO,KACnBsM,EAAavM,EAAMtB,OACnBsR,EAAazD,EAAM,EACnBjN,EAAaD,IAEjBH,GAAEoB,IAAM,IAAMpB,GAAEU,QAEhB,IAAK,IAAIY,EAAI,EAAGA,EAAI+L,EAAK/L,IAAK,CAC1B,IAAIyP,EAAQjQ,EAAMQ,GAElBtB,GAAEoB,IAAMpB,GAAEK,OACV2B,GAAQ+O,EAAMtQ,MAAMsQ,EAAOtP,EAAOqC,GAAGe,EAASd,aAAczC,IAAMwP,IAClE9Q,GAAEoB,IAAMpB,GAAEU,OACd,CAEAV,GAAEK,OAASD,EACXJ,GAAEoB,IAAMpB,GAAEK,OAAS,GACvB,EAEA2Q,eAAgB,SAAiCxQ,EAAOqE,GAChDrE,EAAMyQ,MACNjR,GAAEoB,IAAM,SAAWZ,EAAMyQ,MAAM5P,KAG/BrB,GAAEoB,IAAM,SAERpE,GAAe6H,EAASjB,oBACxB5D,GAAEoB,IAAM,IAChB,EAEA8P,kBAAmB,SAAoC1Q,EAAOqE,GACtDrE,EAAMyQ,MACNjR,GAAEoB,IAAM,YAAcZ,EAAMyQ,MAAM5P,KAGlCrB,GAAEoB,IAAM,YAERpE,GAAe6H,EAASjB,oBACxB5D,GAAEoB,IAAM,IAChB,EAEA+P,UAAW,SAA4B3Q,GACnC,IAAIM,EAAcN,EAAMO,KACpBqQ,EAActQ,EAAMtB,OACpB6R,EAAcD,EAAY,EAC1BhR,EAAcD,IAElBH,GAAEoB,IAAM,IAAMpB,GAAEU,QAEhB,IAAK,IAAIY,EAAI,EAAGA,EAAI8P,EAAW9P,IAAK,CAChC,IAAIyP,EAAWjQ,EAAMQ,GACjBgQ,EAAWP,EAAMtQ,MAAQrD,EAE7B4C,GAAEoB,IAAMpB,GAAEK,OACVmB,GAAQ8P,GAAUP,EAAOtP,EAAOoB,IAE5BvB,IAAM+P,IACNrR,GAAEoB,IAAMpB,GAAEU,QAClB,CAEAV,GAAEK,OAASD,EACXJ,GAAEoB,IAAMpB,GAAEU,QAAUV,GAAEK,OAAS,GACnC,EAEAkR,iBAAkB,SAAmC/Q,GACjD,IAAIM,EAASN,EAAMO,KACf8J,EAASrK,EAAMsK,WACf1J,EAAS,SAAWZ,EAAM+J,GAAGlJ,KAEjC,GAAIwJ,EAAQ,CACR,IAAIE,EAAUjJ,EAAS+I,EAAQpJ,EAAOC,IAEtCN,GAAMpB,GAAEC,MAAQP,EAAK,UAAWqL,EACpC,CAEA/K,GAAEoB,IAAMA,EAAKpB,GAAEE,SACf8B,GAAQlB,EAAML,MAAMK,EAAOW,EAAOwC,GACtC,EAEAuN,mBAAoB,SAAqChR,EAAOqE,GACxD1H,EAAMgQ,KAAO3M,EAAM2M,IACnBnN,GAAEoB,IAAMZ,EAAM2M,IAGdnN,GAAEoB,IA11Cd,SAA0BhD,GACtB,IAAIkD,EAAGgN,EAAIpP,EAAMqO,EAGjB,IADAA,EAAmB,WAAX1Q,EAAsB,IAAM,IAC/ByE,EAAI,EAAGgN,EAAKlQ,EAAIoB,OAAQ8B,EAAIgN,IAAMhN,EAAG,CAEtC,GAAa,MADbpC,EAAOd,EAAI0B,WAAWwB,IACH,CACfiM,EAAQ,IACR,KACJ,CACK,GAAa,KAATrO,EAAe,CACpBqO,EAAQ,IACR,KACJ,CACkB,KAATrO,KACHoC,CAEV,CAEA,OAAOiM,EAAQnP,EAAMmP,CACzB,CAs0CoBkE,CAAgBjR,EAAMtD,YAE9BF,GAAe6H,EAASjB,oBACxB5D,GAAEoB,IAAM,IAChB,EAEAsQ,iBAAkB,SAAmClR,EAAOqE,GACxD,IAAI/D,EAASN,EAAMO,KACf+G,EAAStH,EAAMzC,KAMfmS,EAASxQ,EAAK,KALLa,EAAeO,GACf+N,GAAS/N,EAAOW,EAAO6C,IACvB3D,EAAeG,IAK5Bd,GAAEoB,IAAM1B,EAAKwQ,EAAQ,QAAUlQ,GAAEE,SAAW,KAC5CsB,GAAQsG,EAAMrH,MAAMqH,EAAOrG,EAAOoB,IAClC7C,GAAEoB,IAAM,KAEJpE,GAAe6H,EAASjB,oBACxB5D,GAAEoB,IAAM,IAChB,EAEAuQ,YAAa,SAA8BnR,GACvC,IAAIe,EAAaf,EAAMoR,MACnBC,EAAarR,EAAMsR,MACnBhR,EAAaN,EAAMO,KACnBX,EAAaD,IAEjBH,GAAEoB,IAAM,QAAUpB,GAAEE,SAEhBqB,IACDvB,GAAEoB,IAAM,IACRI,GAAQD,EAAOd,MAAMc,EAAQE,EAAOoB,KAGnCgP,IACA7R,GAAEoB,IAAM,OACRI,GAAQqQ,EAAOpR,MAAMoR,EAAQpQ,EAAOoB,KAGxC7C,GAAEK,OAASD,EACPmB,IACDvB,GAAEoB,IAAM,KAGXpB,GAAEoB,IAAMb,EAAeO,GACvBkB,GAAQlB,EAAML,MAAMK,EAAOW,EAAO6C,GACtC,EAEAyN,kBAAmB,SAAoCvR,EAAOqE,GAC1D7E,GAAEoB,IAAM,YAEJpE,GAAe6H,EAASjB,oBACxB5D,GAAEoB,IAAM,IAChB,EAEA4Q,eAAgB,WACZhS,GAAEoB,IAAM,GACZ,EAEA6Q,qBAAsB,SAAUzR,EAAOqE,GACnC+L,EAAWsB,kBAAkB1R,EAAOqE,GAAU,EAClD,EAEAqN,kBAAmB,SAAoC1R,EAAOqE,EAAUsN,GACpE,IAAIC,EAAgB5R,EAAM6R,WACtBC,EAAgB9R,EAAM+R,YACtBC,EAAgBxV,IAAe6H,EAASjB,kBAG5C,GAAIpD,EAAe,QAAG,CAClB,IAAIiS,EAAS3Q,EAASwQ,EAAO7Q,EAAOC,IAEpC1B,GAAEoB,IAAM1B,EAAK,iBAAkB+S,GAE3BD,IACAxS,GAAEoB,IAAM,IAChB,MAKK,GAAIgR,GAAUD,EAAW,CAC1B,IAAIjC,EAAS,SAEb,GAAIiC,EACAjC,GAAUlQ,GAAEE,SAAW,SAEtB,GAAsB,IAAlBkS,EAAO5S,OACZ0Q,GAAUlQ,GAAEE,SAAW,IAAMF,GAAEE,SAAW,SAEzC,GAAIkS,EAAO,GAAG3R,OAASrD,EAGxB8S,EAASxQ,EAAKwQ,EAFDpO,EAASsQ,EAAO,GAAI3Q,EAAOoB,SAKvC,CACD,IAAIzC,EAAcD,IACduS,EAAcN,EAAO5S,OACrBmT,EAAcD,EAAY,EAE9BxC,GAAUlQ,GAAEE,SAAW,IAEvB,IAAK,IAAIoB,EAAI,EAAGA,EAAIoR,IAAapR,EAC7B4O,GAAUlQ,GAAEU,QAAUV,GAAEK,OACxB6P,GAAUpO,EAASsQ,EAAO9Q,GAAIG,EAAOoB,IAEjCvB,IAAMqR,IACNzC,GAAU,KAGlBlQ,GAAEK,OAASD,EACX8P,GAAUlQ,GAAEU,QAAUV,GAAEK,OAAS,GACrC,CAEIG,EAAMiM,QACNzM,GAAEoB,IAAM1B,EAAKwQ,EAAQ,OAASlQ,GAAEE,UAChCsB,GAAQ0L,QAAQ1M,EAAMiM,SAItBzM,GAAEoB,IAAM8O,EAERsC,IACAxS,GAAEoB,IAAM,IAChB,MAISkR,IACDG,EAAS5D,GAASyD,EAAO7Q,EAAO0C,IAAIqO,IAExCxS,GAAEoB,IAAM1B,EAAK,SAAU+S,GAE/B,EAEAG,uBAAwB,SAAUpS,EAAOqE,GACrC+L,EAAWsB,kBAAkB1R,EAAOqE,EACxC,EAEAgO,oBAAqB,SAAsCrS,EAAOqE,GAC9D,IAAIhD,EAAeC,EAAStB,EAAMoB,WAAYH,EAAOoB,IACjDoC,EAAe+K,EAAgCjS,KAAK8D,IACpC3E,GACA2H,EAASb,kBACTxD,EAAMoB,WAAWnB,OAASrD,GACQ,iBAA3BoD,EAAMoB,WAAW6H,MAKxCzJ,GAAEoB,IADF6D,EACQ,IAAMpD,EAAS,IAGfA,GAER7E,GAAe6H,EAASjB,oBACxB5D,GAAEoB,IAAM,IAChB,EAEA0R,kBAAmB,SAAoCtS,EAAOqE,GAC1D,IAAIuN,EAAY5R,EAAM6R,WAClBnC,EAAY,SACZwC,EAAYN,EAAO5S,OAKvB,GAAIkT,EAAW,CACX,IAAIK,IAAkBX,EAAO,GAAY,QACrCY,EAAgBD,EAAa,EAAI,EACjCJ,EAAgBD,EAAY,EAOhC,GAJIK,IACA7C,EAASxQ,EAAKwQ,EAAQkC,EAAO,GAAG7H,GAAGlJ,OAGnC2R,EAAgBN,EAAW,CAO3B,GANIK,IACA7C,GAAU,KAEdA,GAAUlQ,GAAEE,SAAW,IAGnB8S,IAAkBL,EAClBzC,GAAUlQ,GAAEE,SAAW4B,EAASsQ,EAAOY,GAAgBvR,EAAOoB,IAAM7C,GAAEE,aAErE,CAOD,IANA,IAAIE,EAAaD,IAMRmB,EAAI0R,EAAe1R,EAAIoR,EAAWpR,IACvC4O,GAAUlQ,GAAEU,QAAUV,GAAEK,OAASyB,EAASsQ,EAAO9Q,GAAIG,EAAOoB,IAExDvB,IAAMqR,IACNzC,GAAU,KAGlBlQ,GAAEK,OAASD,EACX8P,GAAUlQ,GAAEU,QAAUV,GAAEK,MAC5B,CAEA6P,GAAU,IAAMlQ,GAAEE,QACtB,CAEAgQ,EAASxQ,EAAKwQ,EAAQ,OAC1B,CAEAlQ,GAAEoB,IAAM8O,EAASlQ,GAAEE,SACnBsB,GAAQ0L,QAAQ1M,EAAMiM,SAElBzP,GAAe6H,EAASjB,oBACxB5D,GAAEoB,IAAM,IAChB,EAEA6R,mBAAoB,SAAqCzS,EAAOqE,GAC5D,IAAI+F,EAAcpK,EAAM+J,GACpB2I,EAAc1S,EAAM2S,KACpBC,EAAc3R,EAAOa,GAAGuC,EAAStC,SAEjC2Q,GACA1R,GAAQoJ,EAAInK,MAAMmK,EAAKwI,GACvBpT,GAAEoB,IAAMpB,GAAEE,SAAW,IAAMF,GAAEE,SAC7BsB,GAAQ0R,EAAMzS,MAAMyS,EAAOE,EAAa5S,IAIpCoK,EAAInK,OAASrD,EACb4C,GAAEoB,IAAMwJ,EAAIvJ,KAGZG,GAAQoJ,EAAInK,MAAMmK,EAAKwI,EAEnC,EAEAC,oBAAqB,SAAsC7S,EAAOqE,GAC9D,IAAIyO,EAAkB9S,EAAMsO,aACxBzB,EAAkBiG,EAAO9T,OACzBY,EAAkBiN,EAAM,EAAIlN,IAAgBH,GAAEK,OAC9CkT,EAAkB9R,EAAOyC,GAAGW,EAAStC,SAEzCvC,GAAEoB,IAAMZ,EAAM8K,KAEd,IAAK,IAAIhK,EAAI,EAAGA,EAAI+L,EAAK/L,IAAK,CAC1B,IAAIgR,EAAQgB,EAAOhS,GAEnBtB,GAAEoB,IAAY,IAANE,EAAUtB,GAAEC,MAAS,IAAMD,GAAEE,SACrC8B,GAAQsQ,EAAM7R,MAAM6R,EAAOiB,EAC/B,EAEIvW,GAAe6H,EAASjB,oBACxB5D,GAAEoB,IAAM,KAEZpB,GAAEK,OAASD,CACf,EAEAoT,eAAgB,SAAiChT,EAAOqE,GACpD,IAAIgF,EAAQ/H,EAAStB,EAAMoH,SAAUnG,EAAOoB,IAE5C7C,GAAEoB,IAAM1B,EAAK,QAASmK,IAElB7M,GAAe6H,EAASjB,oBACxB5D,GAAEoB,IAAM,IAChB,EAEAqS,aAAc,SAA+BjT,GACzC,IAAIkT,EAAalT,EAAMmT,MACnBxD,EAAa3P,EAAMoT,UACnB1D,EAAa,MACA3P,EAAemT,GACf7E,GAAS6E,EAAQjS,EAAO6C,IACxB3D,EAAe+S,GAE5BG,EAAYrT,EAAM4P,UAAY5P,EAAMsT,gBAEpCD,IACA3D,EAASD,EAA6BC,EAAQC,EAAY0D,IAE1DrT,EAAMuT,UAEN7D,EAAYD,EAA6BC,EAAQC,EADjD0D,EAAYpX,EAAQ+D,EAAMuT,SAAWvT,EAAMuT,QAAU,CAACvT,EAAMuT,WAI5D5D,IACAD,EAASxQ,EAAKwQ,EAAQ,UAAY3P,EAAe4P,IACjDD,GAAUrB,GAASsB,EAAY1O,EAAO6C,KAG1CtE,GAAEoB,IAAM8O,CACZ,EAEA8D,gBAAiB,SAAkCxT,GAC/C,IAAIyT,EAAazT,EAAM0T,MACnBC,EAAa3T,EAAM4T,aACnBhU,EAAaD,IAOjB,GALAH,GAAEoB,IAAM,SAAWpB,GAAEE,SAAW,IAChCsB,GAAQ2S,EAAO1T,MAAM0T,EAAQ1S,EAAOoB,IACpC7C,GAAEoB,IAAM,IAAMpB,GAAEE,SAAW,IAAMF,GAAEU,QACnCV,GAAEK,OAASD,EAEP6T,EAIA,IAHA,IAAII,EAAcJ,EAAOzU,OACrB8U,EAAcD,EAAY,EAErB/S,EAAI,EAAGA,EAAI+S,EAAW/S,IAAK,CAChC,IAAIiT,EAAQN,EAAO3S,GAEnBtB,GAAEoB,IAAMpB,GAAEK,OACV2B,GAAQuS,EAAM9T,MAAM8T,EAAO9S,EAAO0C,GAAG7C,IAAMgT,IAC3CtU,GAAEoB,IAAMpB,GAAEU,OACd,CAGJV,GAAEoB,IAAMpB,GAAEK,OAAS,GACvB,EAEAmU,WAAY,SAA6BhU,EAAOqE,GAC5C,IAAI4P,EAA0BjU,EAAMwH,WAChC0M,EAA0BD,EAAS,GACnC3M,EAA0BtH,EAAMzC,KAChCuD,EAA0B,EAC1BqT,GAA2B3X,GAAc6H,EAASjB,kBAClDgR,EAA0BH,EAASjV,OACnCqV,EAA0BD,EAAc,EACxCxU,EAA0BD,IAE9B,GAAI2H,EAAO,CACP,IAAIgN,EAAShT,EAASgG,EAAOrG,EAAOoB,IAEpC7C,GAAEoB,IAAM1B,EAAK,OAAQoV,GAAU,GACnC,MAGI9U,GAAEoB,IAAM,WASZ,IANIwT,GAAeF,EAAajU,OAASrD,IACrCkE,IACAtB,GAAEoB,IAAMb,EAAemU,GACvB1S,GAAQ0S,EAAajU,MAAMiU,EAAcjT,EAAO6C,KAG7ChD,EAAIsT,EAAatT,IAAK,CACzB,IAAIyG,EAAoB0M,EAASnT,GAC7BsC,EAAoBtC,IAAMuT,GAAiBF,EAE/C3U,GAAEoB,IAAMpB,GAAEU,QAAUV,GAAEK,OACtB2B,GAAQ+F,EAAQtH,MAAMsH,EAAStG,EAAO0C,GAAGP,GAC7C,CAEA5D,GAAEK,OAASD,CACf,EAEA2U,YAAa,SAA8BvU,EAAOqE,GAC9C,IAAIkD,EAAoBvH,EAAMwH,WAC1BF,EAAoBtH,EAAMzC,KAC1BqC,EAAoBD,IACpByD,GAAqB5G,GAAc6H,EAASjB,kBAQhD,GANA5D,GAAEoB,IAAM,KAAOpB,GAAEE,SAAW,IAC5BsB,GAAQsG,EAAMrH,MAAMqH,EAAOrG,EAAOoB,IAClC7C,GAAEoB,IAAM,IACRpB,GAAEK,OAASD,EACXJ,GAAEoB,IAAMb,EAAewH,GAEnBvH,EAAM0H,UAAW,CACjB,IAAI8M,EAASnG,GAAS9G,EAAStG,EAAO6C,IAAM3D,EAAeoH,GACvDkN,EAASpG,GAASrO,EAAM0H,UAAWzG,EAAO0C,GAAGP,IAG7CqR,EADAzU,EAAM0H,UAAUzH,OAASrD,EACnB,QAAU6X,EAGVvV,EAAK,OAAQa,EAAeC,EAAM0H,WAAa+M,GAEzDjV,GAAEoB,IAAM1B,EAAKsV,EAAQC,EACzB,MAGIjT,GAAQ+F,EAAQtH,MAAMsH,EAAStG,EAAO0C,GAAGP,GACjD,EAEAsR,aAAc,SAA+B1U,EAAOqE,GAChD,IAAIqO,EAAwB1S,EAAM2S,KAC9BrL,EAAwBtH,EAAMzC,KAC9B+C,EAAwBN,EAAMO,KAC9BoU,EAAwB3U,EAAM4U,OAC9B5E,GAAyBxT,GAAc6H,EAASjB,kBAChDxD,EAAwBD,IAE5BH,GAAEoB,IAAM,MAAQpB,GAAEE,SAAW,IAEzBgT,EACIA,EAAMzS,OAASrD,EACf4E,GAAQkR,EAAMzS,MAAMyS,EAAOzR,EAAO4C,KAGlC7C,GAAQ0R,EAAMzS,MAAMyS,EAAOzR,EAAO6B,KAClCtD,GAAEoB,IAAM,KAKZpB,GAAEoB,IAAM,IAER0G,IACA9H,GAAEoB,IAAMpB,GAAEE,SACVsB,GAAQsG,EAAMrH,MAAMqH,EAAOrG,EAAOoB,KAGtC7C,GAAEoB,IAAM,IAEJ+T,IACAnV,GAAEoB,IAAMpB,GAAEE,SACVsB,GAAQ2T,EAAQ1U,MAAM0U,EAAS1T,EAAOoB,KAG1C7C,GAAEoB,IAAM,IACRpB,GAAEK,OAASD,EACXJ,GAAEoB,IAAMb,EAAeO,GACvBkB,GAAQlB,EAAML,MAAMK,EAAOW,EAAO0C,GAAGqM,GACzC,EAEA6E,eAAgB,SAAiC7U,EAAOqE,GACpD0L,EAA6B,KAAM/P,EAAOqE,EAC9C,EAEAyQ,eAAgB,SAAiC9U,EAAOqE,GACpD0L,EAA6B,KAAM/P,EAAOqE,EAC9C,EAEA0Q,iBAAkB,SAAmC/U,EAAOqE,GACxD,IAAI/D,EAAwBN,EAAMO,KAC9ByP,GAAyBxT,GAAc6H,EAASjB,kBAChDxD,EAAwBJ,GAAEK,OAE9BL,GAAEoB,IAAMZ,EAAMyQ,MAAM5P,KAAO,IAAMd,EAAeO,GAE5CA,EAAML,OAASrD,IACfgD,EAAaD,KAEjB6B,GAAQlB,EAAML,MAAMK,EAAOW,EAAO0C,GAAGqM,IACrCxQ,GAAEK,OAAeD,CACrB,EAEAoV,kBAAmB,SAAoChV,EAAOqE,GAC1D7E,GAAEoB,IAAM,SAAWpB,GAAEC,MAAQO,EAAM+J,GAAGlJ,KAAOrB,GAAEC,MAAQ,OAASD,GAAEE,SAElEsB,GAAQ0L,QAAQ1M,EAAMiM,SAElBzP,GAAe6H,EAASjB,oBACxB5D,GAAEoB,IAAM,IAChB,EAEAqU,QAAS,SAA0BjV,GAC/B,IAAIM,EAAUN,EAAMO,KAChBsM,EAAUvM,EAAMtB,OAChBsR,EAAUzD,EAAM,EAEhBpQ,GAAqBoQ,EAAM,IAC3BrN,GAAEoB,IAAM,MAEZ,IAAK,IAAIE,EAAI,EAAGA,EAAI+L,EAAK/L,IAAK,CAC1B,IAAIyP,EAAQjQ,EAAMQ,GAElBtB,GAAEoB,IAAMpB,GAAEK,OACV2B,GAAQ+O,EAAMtQ,MAAMsQ,EAAOtP,EAAO2C,IAAInH,GAAqBqE,IAAMwP,IAE7DxP,IAAMwP,IACN9Q,GAAEoB,IAAMpB,GAAEU,QAClB,CACJ,EAEAgV,oBAAqB,SAAsClV,GACvD,IAAI8F,IAAgB9F,EAAM8J,UAEtB9J,EAAMiH,QACNzH,GAAEoB,IAAM,UAEZpB,GAAEoB,IAAMkF,EAAe,YAActG,GAAEE,SAAa,WAAaF,GAAEC,MACnED,GAAEoB,IAAMZ,EAAM+J,GAAGlJ,KACjBT,EAAqBJ,EACzB,EAEAmV,gBAAiB,SAAkCnV,EAAOqE,GACtD,IAAIiE,EAAOtI,EAAMoH,SAEjB,GAAIkB,EAAM,CACN,IAAIe,EAAQ/H,EAASgH,EAAMrH,EAAOoB,IAElC7C,GAAEoB,IAAM1B,EAAK,SAAUmK,EAC3B,MAGI7J,GAAEoB,IAAM,UAERpE,GAAe6H,EAASjB,oBACxB5D,GAAEoB,IAAM,IAChB,EAEAwU,eAAgB,SAAiCpV,EAAOqE,GACpD,IAAI/D,EAAwBN,EAAMO,KAC9B+G,EAAwBtH,EAAMzC,KAC9ByS,GAAyBxT,GAAc6H,EAASjB,kBAChDxD,EAAwBD,IAE5BH,GAAEoB,IAAM,QAAUpB,GAAEE,SAAW,IAC/BsB,GAAQsG,EAAMrH,MAAMqH,EAAOrG,EAAOoB,IAClC7C,GAAEoB,IAAM,IACRpB,GAAEK,OAASD,EAEXJ,GAAEoB,IAAMb,EAAeO,GACvBkB,GAAQlB,EAAML,MAAMK,EAAOW,EAAO0C,GAAGqM,GACzC,EAEAqF,cAAe,SAAgCrV,EAAOqE,GAClD,IAAI/D,EAAwBN,EAAMO,KAC9BoI,EAAwB3I,EAAM4I,OAC9BoH,GAAyBxT,GAAc6H,EAASjB,kBAChDxD,EAAwBD,IAE5BH,GAAEoB,IAAM,OAASpB,GAAEE,SAAW,IAC9BsB,GAAQ2H,EAAK1I,MAAM0I,EAAM1H,EAAOoB,IAChC7C,GAAEoB,IAAM,IACRpB,GAAEK,OAASD,EACXJ,GAAEoB,IAAMb,EAAeO,GACvBkB,GAAQlB,EAAML,MAAMK,EAAOW,EAAO0C,GAAGqM,GACzC,GASJ,SAAS1O,EAAU8C,EAAOC,EAAUC,GAChC,IAAIgR,EAAU9V,GAAEoB,GAChBpB,GAAEoB,GAAY,GAEdI,GAAQoD,EAAMnE,MAAMmE,EAAOC,EAAUC,GAErC,IAAIiR,EAAM/V,GAAEoB,GAGZ,OAFApB,GAAEoB,GAAQ0U,EAEHC,CACX,CAEA,SAASlH,GAAUrO,EAAOqE,GACtB,IAAIiR,EAAU9V,GAAEoB,GAChBpB,GAAEoB,GAAY,GAEdY,GAAQxB,EAAMC,MAAMD,EAAOqE,GAE3B,IAAIkR,EAAM/V,GAAEoB,GAGZ,OAFApB,GAAEoB,GAAQ0U,EAEHC,CACX,CAcA,SAASC,GAAaC,GAClB,OAAO,SAAUrR,EAAOC,GAChB1H,EAAM+Y,UAAYtR,EAAM9F,eAAe3B,EAAM+Y,UA3yDzD,SAA2BtR,EAAOC,GAC9B,IAAIqR,EAAetR,EAAMzH,EAAM+Y,UAC3BC,EAAmC,iBAAbD,EAGtBjR,GAFgBkR,QACuB,IAAxBD,EAAS1T,WAhhBV,EAghBkC0T,EAAS1T,YAC7BqC,EAASrC,WAErC4T,GADeD,EAAcD,EAAWA,EAASG,SAC1BC,MAAM,WAC7BC,EAAeH,EAAO5W,OAEtByF,IACAjF,GAAEoB,IAAM,KAEZpB,GAAEoB,IAAMgV,EAAO,GAEf,IAAK,IAAI9U,EAAI,EAAGA,EAAIiV,EAAYjV,IAC5BtB,GAAEoB,IAAMpB,GAAEU,QAAUV,GAAEK,OAAS+V,EAAO9U,GAEtC2D,IACAjF,GAAEoB,IAAM,IAChB,CAwxDYoV,CAAiB5R,EAAOC,GAGxBoR,EAAIrR,EAAOC,EACnB,CACJ,CAeA,IAAI7E,GAAI,CACJoB,GAAY,GACZV,QAAY,KACZR,SAAY,IACZD,MAAY,IACZK,WAAY,OACZD,OAAY,IAKZmB,QAAU,EACVQ,GAAU4O,EAGd6F,EAAQ,EAAW,SAAU5V,EAAO6V,GAChC,IAAIC,EAhyEG,CACHtW,OAAW,KACXuW,KAAW,KACXC,MAAW,KACXC,OAAW,CACPzW,OAAmB,CACf0W,MAAO,OACPH,KAAO,GAEXlW,QAAmB,KACnBT,MAAmB,IACnBvD,MAAmB,EACnBC,UAAmB,EACnBC,aAAmB,EACnBC,OAAmB,SACnBC,YAAmB,EACnBka,SAAmB,EACnBja,aAAmB,EACnBC,YAAmB,EACnBC,mBAAmB,GAEvBC,WAAW,EACXiQ,KAAW,EACX+I,SAAW,MAg0Ef,OArDe,MAAXQ,GAO8B,iBAAnBA,EAAQrW,SACfsW,EAAeG,OAAOzW,OAAO0W,MAAQL,EAAQrW,QAErB,iBAAjBqW,EAAQE,OACfD,EAAeG,OAAOzW,OAAOuW,KAAOF,EAAQE,MAEhDF,EAAenY,EAAaoY,EAAgBD,GAC5C1W,GAAEM,WAAaoW,EAAQI,OAAOzW,OAAO0W,MACT,iBAAjBL,EAAQE,KACf5W,GAAEK,OAASqW,EAAQE,KAGnB5W,GAAEK,OAASlC,EAAa6B,GAAEM,WAAYoW,EAAQI,OAAOzW,OAAOuW,QAIhEF,EAAeC,EACf3W,GAAEM,WAAaoW,EAAQI,OAAOzW,OAAO0W,MACrC/W,GAAEK,OAAalC,EAAa6B,GAAEM,WAAYoW,EAAQI,OAAOzW,OAAOuW,OAEpEla,EAAcga,EAAQI,OAAOpa,KAC7BC,EAAc+Z,EAAQI,OAAOna,SAC7BC,GAAcF,GAAega,EAAQI,OAAOla,YAC5CC,EAAcH,EAAO,SAAWga,EAAQI,OAAOja,OAC/CC,EAAc4Z,EAAQI,OAAOha,WAE7BkD,GAAEU,QAAWgW,EAAQI,OAAOpW,QAC5BV,GAAEE,SAAWwW,EAAQI,OAAO7W,MAExByW,EAAQI,OAAOE,UACfhX,GAAEU,QAAUV,GAAEE,SAAWF,GAAEM,WAAaN,GAAEK,OAAS,IAEvDL,GAAEC,MAAkBD,GAAEE,SAAWF,GAAEE,SAAW,IAC9CnD,EAAoB2Z,EAAQI,OAAO/Z,YACnCC,EAAoB0Z,EAAQI,OAAO9Z,WACnCC,EAAoByZ,EAAQI,OAAO7Z,kBACnCC,EAAoBwZ,EAAQxZ,UACRR,GAAcga,EAAQG,MAItCrV,IAHJrE,EAAoBuZ,GAEVR,SA9Ed,WACI,IAAIe,EAAO,CAAC,EAEZ,IAAK,IAAIvY,KAAOiI,EACRA,EAAW7H,eAAeJ,KAC1BuY,EAAKvY,GAAOsX,GAAYrP,EAAWjI,KAG3C,OAAOuY,CACX,CAsEkBC,GAGAvQ,EAxGlB,SAAc9F,GASV,OARAb,GAAEoB,GAAK,GAEHY,GAAQnB,EAAMJ,MACduB,GAAQnB,EAAMJ,MAAMI,EAAOY,EAAO6C,IAGlC9C,GAAQX,EAAMJ,MAAMI,EAAOY,EAAOkC,KAE/B3D,GAAEoB,EACb,CAgGW+V,CAAItW,EACf,C,GCvhFIuW,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAad,QAGrB,IAAIgB,EAASL,EAAyBE,GAAY,CAGjDb,QAAS,CAAC,GAOX,OAHAiB,EAAoBJ,GAAUG,EAAQA,EAAOhB,QAASY,GAG/CI,EAAOhB,OACf,CCrBAY,EAAoBM,EAAI,CAAClB,EAASmB,KACjC,IAAI,IAAIlZ,KAAOkZ,EACXP,EAAoBQ,EAAED,EAAYlZ,KAAS2Y,EAAoBQ,EAAEpB,EAAS/X,IAC5EG,OAAOiZ,eAAerB,EAAS/X,EAAK,CAAEqZ,YAAY,EAAMC,IAAKJ,EAAWlZ,IAE1E,ECND2Y,EAAoBQ,EAAI,CAACI,EAAKC,IAAUrZ,OAAOuD,UAAUtD,eAAeuD,KAAK4V,EAAKC,GCClFb,EAAoBzX,EAAK6W,IACH,oBAAX0B,QAA0BA,OAAOC,aAC1CvZ,OAAOiZ,eAAerB,EAAS0B,OAAOC,YAAa,CAAE3O,MAAO,WAE7D5K,OAAOiZ,eAAerB,EAAS,aAAc,CAAEhN,OAAO,GAAO,E,4JCL9D,MAAM4O,EAAgB,CAClB,EAAK,mBACL,GAAM,yBACN,EAAK,wDACL,EAAK,6DACL,EAAK,uBACL,EAAK,kCACL,EAAK,wBACL,EAAK,sCACL,EAAK,gDACL,EAAK,4EACL,EAAK,8BACL,IAAO,sEACP,GAAM,4CACN,GAAM,wBACN,GAAM,wDACN,GAAM,yDACN,GAAM,8BACN,GAAM,gCACN,GAAM,4CACN,GAAM,sEACN,GAAM,yBACN,GAAM,6BACN,GAAM,yBACN,GAAM,uCACN,GAAM,qDACN,GAAM,gBACN,GAAM,uCACN,GAAM,wCACN,GAAM,sHACN,GAAM,6CACN,GAAM,mDACN,GAAM,mDACN,GAAM,sCACN,GAAM,+GACN,IAAO,0EACP,GAAM,kCACN,GAAM,qCACN,GAAM,yCACN,GAAM,+CACN,GAAM,wDACN,GAAM,kDACN,GAAM,0FACN,GAAM,2CACN,GAAM,iCACN,GAAM,gEACN,IAAO,mFACP,GAAM,2DACN,GAAM,4CACN,GAAM,mCACN,GAAM,sCACN,GAAM,4EACN,GAAM,8CACN,GAAM,oDACN,GAAM,2DACN,GAAM,oCACN,GAAM,wCACN,GAAM,sCACN,GAAM,oEACN,GAAM,uCACN,GAAM,6CACN,GAAM,wCACN,GAAM,8DACN,GAAM,oEACN,GAAM,yCACN,GAAM,mEACN,GAAM,8CACN,GAAM,4CACN,GAAM,4EACN,GAAM,0EACN,GAAM,6BACN,GAAM,0BACN,GAAM,sDACN,GAAM,0CACN,GAAM,oDACN,GAAM,+CACN,GAAM,wBACN,GAAM,qFACN,GAAM,0HACN,GAAM,kIACN,GAAM,6DACN,GAAM,mCACN,GAAM,+BACN,GAAM,+EACN,GAAM,yFACN,GAAM,2FACN,GAAM,oEACN,GAAM,gFACN,GAAM,yDACN,GAAM,qCACN,GAAM,mDACN,GAAM,8BACN,GAAM,oDACN,GAAM,2BACN,GAAM,+EACN,GAAM,2CACN,GAAM,iCACN,GAAM,kBACN,GAAM,oCACN,GAAM,sDACN,GAAM,oDACN,GAAM,wDACN,GAAM,yCACN,IAAO,uDACP,IAAO,sDACP,IAAO,2BACP,IAAO,kDACP,IAAO,oDACP,IAAO,+CACP,IAAO,8CACP,IAAO,kEACP,IAAO,yEACP,IAAO,yDACP,IAAO,+DACP,IAAO,mEACP,IAAO,oEACP,IAAO,uCACP,IAAO,8CACP,IAAO,iDACP,IAAO,0DACP,IAAO,8BACP,IAAO,kEACP,IAAO,2DACP,IAAO,4DACP,IAAO,oCACP,IAAO,kDACP,IAAO,2DACP,IAAO,sDACP,IAAO,qEACP,IAAO,mFACP,IAAO,0DACP,IAAO,oBACP,IAAO,uCACP,IAAO,kEACP,IAAO,uBACP,IAAO,4DACP,IAAO,yCACP,IAAO,kCACP,IAAO,iCACP,IAAO,gBACP,IAAO,yBACP,IAAO,sCACP,IAAO,2BACP,IAAO,wEACP,IAAO,2BACP,IAAO,oEACP,IAAO,sDACP,IAAO,gEACP,IAAO,gDACP,IAAO,4DACP,IAAO,gEACP,IAAO,iCACP,IAAO,uCACP,IAAO,qCACP,IAAO,uDACP,IAAO,oBACP,IAAO,sBACP,IAAO,sDACP,IAAO,+GACP,IAAO,4CACP,IAAO,6CACP,IAAO,6CACP,IAAO,4CACP,IAAO,8DAEX,MAAMC,UAAmBC,YACrBC,YAAYC,EAAYC,EAAMC,EAAQlY,KAASQ,GAC3C,MAAM2X,EAAU,IAAMF,EAAO,IAAMC,EAAS,MAAQN,EAAc5X,GAAMsN,QAAQ,WAAW,CAAC/N,EAAGsB,IAAML,EAAOK,KAC5GuX,MAAM,GAAGD,KACTE,KAAKC,MAAQN,EACbK,KAAKJ,KAAOA,EACZI,KAAKH,OAASA,EACdG,KAAKE,YAAcJ,EACnBE,KAAKG,IAAM,CACPP,OACAC,SAER,EAEJ,SAASO,EAAOC,EAAQ1Y,KAASQ,GAC7B,MAAM,IAAIqX,EAAWa,EAAOJ,MAAOI,EAAOT,KAAMS,EAAOR,OAAQlY,KAASQ,EAC5E,CACA,SAASmY,EAAiBC,GACtB,MAAM,IAAIf,EAAWe,EAAMN,MAAOM,EAAMX,KAAMW,EAAMV,OAAQU,EAAM5Y,KAAM4Y,EAAMpY,OAClF,CACA,SAASqY,EAAgBP,EAAOL,EAAMC,EAAQlY,KAASQ,GACnD,MAAM,IAAIqX,EAAWS,EAAOL,EAAMC,EAAQlY,KAASQ,EACvD,CACA,SAASsY,EAAmBR,EAAOL,EAAMC,EAAQlY,GAC7C,MAAM,IAAI6X,EAAWS,EAAOL,EAAMC,EAAQlY,EAC9C,CAEA,MAAM+Y,EAAgB,EAAEC,EAAYC,KAChC,MAAMpb,EAAS,IAAIqb,YAAY,QAC/B,IAAIZ,EAAQ,EACRa,EAAW,EACf,KAAOb,EAAQ,MAAM,CACjB,MAAMc,EAAOJ,EAAWV,KACxB,GAAIc,EAAO,EACPD,GAAYC,MAEX,CACD,IAAI3a,EAAOua,EAAWV,KACX,EAAPc,IACA3a,EAAOwa,EAAOxa,IACP,EAAP2a,EACAvb,EAAOwb,KAAK5a,EAAM0a,EAAUA,GAAYH,EAAWV,MAGnDza,EAAOsb,KAAc1a,CAE7B,CACJ,CACA,OAAOZ,CACV,EAtBqB,CAsBnB,EAAE,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,SAAU,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,WAAY,EAAG,WAAY,EAAG,WAAY,EAAG,GAAI,EAAG,UAAW,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,WAAY,EAAG,GAAI,EAAG,EAAG,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,UAAW,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,GAAI,EAAG,WAAY,EAAG,WAAY,EAAG,WAAY,EAAG,WAAY,EAAG,WAAY,EAAG,WAAY,EAAG,QAAS,EAAG,WAAY,EAAG,EAAG,EAAG,MAAO,EAAG,WAAY,EAAG,WAAY,EAAG,EAAG,EAAG,WAAY,EAAG,OAAQ,EAAG,WAAY,EAAG,WAAY,EAAG,QAAS,EAAG,IAAK,EAAG,EAAG,EAAG,WAAY,EAAG,UAAW,EAAG,MAAO,EAAG,WAAY,EAAG,WAAY,EAAG,WAAY,EAAG,OAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,WAAY,EAAG,WAAY,EAAG,GAAI,EAAG,WAAY,EAAG,OAAQ,EAAG,EAAG,EAAG,GAAI,EAAG,UAAW,EAAG,EAAG,GAAI,EAAG,WAAY,EAAG,YAAa,EAAG,EAAG,SAAU,EAAG,WAAY,EAAG,GAAI,EAAG,WAAY,EAAG,WAAY,EAAG,GAAI,EAAG,KAAM,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,OAAQ,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,QAAS,EAAG,GAAI,EAAG,EAAG,EAAG,OAAQ,EAAG,EAAG,EAAG,EAAG,UAAW,EAAG,GAAI,EAAG,SAAU,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,UAAW,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,SAAU,EAAG,WAAY,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,QAAS,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,WAAY,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,WAAY,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,QAAS,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,OAAQ,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,QAAS,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,WAAY,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,UAAW,EAAG,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,KAAM,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,KAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,SAAU,EAAG,WAAY,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,SAAU,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,SAAU,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,UAAW,EAAG,QAAS,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,SAAU,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,WAAY,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,EAAG,QAAS,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,KAAM,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,KAAM,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,KAAM,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,KAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,KAAM,EAAG,EAAG,WAAY,EAAG,YAAa,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,QAAS,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,WAAY,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,QAAS,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,EAAG,IAAK,EAAG,YAAa,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,SAAU,EAAG,GAAI,EAAG,WAAY,EAAG,WAAY,EAAG,SAAU,EAAG,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,UAAW,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,YAAa,EAAG,EAAG,EAAG,EAAG,EAAG,UAAW,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,IAAK,EAAG,WAAY,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,WAAY,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,SAAU,EAAG,IAAK,EAAG,GAAI,EAAG,SAAU,EAAG,EAAG,IAAK,EAAG,WAAY,EAAG,GAAI,EAAG,IAAK,EAAG,SAAU,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,EAAG,EAAG,YAAa,EAAG,EAAG,OAAQ,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,YAAa,IAAK,EAAG,WAAY,EAAG,KAAM,EAAG,OAAQ,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,WAAY,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,QAAS,EAAG,WAAY,EAAG,OAAQ,GAAI,EAAG,WAAY,EAAG,MAAO,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,OAAQ,GAAI,EAAG,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,SAAU,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,KAAM,IAAK,EAAG,IAAK,GAAI,EAAG,EAAG,KAAM,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,IAAK,EAAG,IAAK,MAAO,EAAG,EAAG,EAAG,EAAG,IAAK,KAAM,EAAG,EAAG,GAAI,EAAG,EAAG,SAAU,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,WAAY,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,QAAS,EAAG,WAAY,EAAG,WAAY,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,OAAQ,EAAG,GAAI,EAAG,SAAU,EAAG,SAAU,EAAG,IAAK,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,WAAY,EAAG,WAAY,EAAG,WAAY,EAAG,UAAW,EAAG,WAAY,EAAG,UAAW,EAAG,WAAY,EAAG,SAAU,EAAG,WAAY,EAAG,QAAS,EAAG,WAAY,EAAG,GAAI,EAAG,GAAI,EAAG,SAAU,EAAG,IAAK,EAAG,GAAI,EAAG,IAAK,EAAG,OAAQ,EAAG,WAAY,EAAG,SAAU,EAAG,IAAK,EAAG,EAAG,UAAY,EAAG,UAAW,EAAG,IAAK,EAAG,EAAG,EAAG,WAAY,EAAG,UAAW,EAAG,IAAK,EAAG,OAAQ,EAAG,WAAY,EAAG,UAAW,EAAG,WAAY,EAAG,WAAY,EAAG,WAAY,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,OAAQ,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,UAAW,EAAG,YAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,MAAO,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,WAAY,EAAG,WAAY,EAAG,MAAO,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,OAAQ,EAAG,GAAI,EAAG,EAAG,OAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,WAAY,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,KAAM,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,MAAO,EAAG,EAAG,IAAK,EAAG,WAAY,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,SAAU,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OAAQ,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,MAAO,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,UAAW,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,KAAM,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,KAAM,EAAG,EAAG,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,WAAY,EAAG,GAAI,EAAG,WAAY,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,WAAY,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,WAAY,EAAG,EAAG,EAAG,WAAY,EAAG,UAAW,EAAG,QAAS,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,WAAY,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,KAAM,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,KAAM,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,KAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,KAAM,EAAG,EAAG,WAAY,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,QAAS,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,EAAG,WAAY,EAAG,QAAS,EAAG,IAAK,EAAG,GAAI,EAAG,WAAY,EAAG,EAAG,IAAK,EAAG,KAAM,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,WAAY,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,KAAM,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,KAAM,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,KAAM,EAAG,EAAG,EAAG,EAAG,UAAW,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,KAAM,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,WAAY,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,WAAY,EAAG,SAAU,EAAG,WAAY,EAAG,EAAG,EAAG,WAAY,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,EAAG,UAAW,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,OAAQ,EAAG,EAAG,KAAM,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,KAAM,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI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IACA,IACA,IACA,IACA,IACA,IACA,IACA,EACA,EACA,MACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,MACA,EACA,EACA,EACA,GAEEC,EAAY,CACd,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEC,EAAW,CACb,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEJ,SAASC,EAAkB3b,GACvB,OAAOA,GAAQ,IACTyb,EAAUzb,GACuC,EAAhDsa,EAA6B,OAAdta,IAAS,MAAgBA,CACnD,CACA,SAAS4b,EAAiB5b,GACtB,OAAOA,GAAQ,IACT0b,EAAS1b,GACoC,EAA5Csa,EAA6B,GAAdta,IAAS,MAAYA,GAA4B,OAATA,GAA0B,OAATA,CACnF,CAEA,MAAM6b,EAAe,CAAC,aAAc,YAAa,WAAY,YAAa,mBAS1E,SAASC,EAAsB7B,EAAQ1M,EAAQ6N,EAAOW,EAASxa,EAAMya,EAAOxC,EAAMC,GAG9E,OAFc,KAAVsC,GACA/B,EAAOC,EAAQ,GACZgC,EAAsBhC,EAAQ1M,EAAQ6N,EAAO7Z,EAAMya,EAAOxC,EAAMC,EAC3E,CACA,SAASwC,EAAsBhC,EAAQ1M,EAAQ6N,EAAO7Z,EAAMya,EAAOxC,EAAMC,GACrE,MAAM,MAAEI,GAAUI,EAIlB,IAHAA,EAAOiC,SAAWjC,EAAOJ,MACzBI,EAAOkC,QAAUlC,EAAOT,KACxBS,EAAOmC,OAASnC,EAAOR,OAChBQ,EAAOJ,MAAQI,EAAOoC,KAAK,CAC9B,GAAoC,EAAhCb,EAAUvB,EAAOa,aAAkB,CACnC,MAAMwB,EAA8B,KAAvBrC,EAAOa,YACpBO,EAAYpB,GACRqC,GAA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AYqZ,EAAOJ,OAAS,GACxDyB,CACX,CAhCW2H,CAAkBhJ,EAC7B,CAiCA,MAAMiJ,EAAc,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,SACA,UACA,IACA,OACA,QACA,QACA,UACA,SACA,GACA,QACA,SACA,GACA,SACA,SACA,QACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,GACA,WACA,QACA,WACA,QACA,GACA,IACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,SACA,IACA,GACA,QACA,OACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,KACA,OACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,KACA,KACA,OACA,KACA,KACA,OACA,KACA,KACA,QACA,QACA,WACA,SACA,KAEJ,SAASC,EAAUlJ,EAAQ8B,GAMvB,GALA9B,EAAO9K,MAA6B,GAAL,EAAf8K,EAAO9K,OACvB8K,EAAOmJ,SAAWnJ,EAAOJ,MACzBI,EAAOoJ,YAAcpJ,EAAOR,OAC5BQ,EAAOqJ,UAAYrJ,EAAOT,KAC1BS,EAAOoE,MAAQkF,EAAgBtJ,EAAQ8B,EAAS,GAC5C9B,EAAOuJ,SAA4B,UAAjBvJ,EAAOoE,MAAmB,CAC5C,MAAMtE,EAAM,CACRiC,MAAO,CACHxC,KAAMS,EAAOkC,QACb1C,OAAQQ,EAAOmC,QAEnBC,IAAK,CACD7C,KAAMS,EAAOT,KACbC,OAAQQ,EAAOR,SAGvBQ,EAAOuJ,QAx7Cf,SAA0BC,GACtB,OAAQA,GACJ,KAAK,UACD,MAAO,iBACX,KAAK,UACD,MAAO,gBACX,KAAK,MACL,KAAK,MACD,MAAO,iBACX,KAAK,MACD,MAAO,cAC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AAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,MAAO,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,GAAI,GAAI,MAAO,GAAI,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,MAAO,IAAK,MAAO,KAAM,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,GAAI,GAAI,MAAO,IAAK,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,MAAO,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,MAAO,GAAI,IAAK,GAAI,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,MAAO,GAAI,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,MAAO,KAAM,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,EAAG,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,EAAG,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,GAAI,MAAO,GAAI,MAAO,IAAK,MAAO,GAAI,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,EAAG,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,GAAI,GAAI,MAAO,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,EAAG,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,KAAM,EAAG,KAAM,EAAG,EAAG,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,KAAM,KAAM,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,MAAO,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,MAAO,KAAM,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,GAAI,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,MAAO,IAAK,KAAM,EAAG,KAAM,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,GAAI,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,EAAG,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,KAAM,EAAG,KAAM,GAAI,IAAK,GAAI,MAAO,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,KAAM,EAAG,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,MAAO,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,KAAM,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,KAAM,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,IAAK,KAAM,GAAI,MAAO,KAAM,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,GAAI,MAAO,KAAM,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,MAAO,GAAI,MAAO,GAAI,IAAK,GAAI,GAAI,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,KAAM,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,KAAM,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,MAAO,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,KAAM,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,GAAI,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,GAAI,KAAM,KAAM,GAAI,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,GAAI,GAAI,GAAI,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,KAAM,EAAG,EAAG,KAAM,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,KAAM,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,GAAI,GAAI,MAAO,IAAK,MAAO,GAAI,GAAI,GAAI,GAAI,MAAO,IAAK,GAAI,GAAI,KAAM,KAAM,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,MAAO,KAAM,KAAM,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,KAAM,EAAG,EAAG,EAAG,EAAG,EAAG,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,EAAG,KAAM,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,MAAO,GAAI,MAAO,GAAI,IAAK,GAAI,GAAI,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,IAAK,MAAO,GAAI,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,MAAO,IAAK,MAAO,KAAM,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,KAAM,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,KAAM,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,GAAI,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,MAAO,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,KAAM,KAAM,EAAG,EAAG,EAAG,EAAG,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,GAAI,MAAO,KAAM,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,MAAO,IAAK,IAAK,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,KAAM,IAAK,GAAI,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,GAAI,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,KAAM,EAAG,EAAG,KAAM,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,GAAI,MAAO,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,GAAI,MAAO,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,GAAI,GAAI,MAAO,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,KAAM,EAAG,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,IAAK,KAAM,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,KAAM,EAAG,KAAM,IAAK,KAAM,EAAG,KAAM,GAAI,MAAO,GAAI,MAAO,GAAI,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,GAAI,GAAI,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,GAAI,IAAK,KAAM,KAAM,KAAM,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,GAAI,MAAO,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,IAAK,KAAM,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,KAAM,EAAG,EAAG,KAAM,EAAG,EAAG,KAAM,EAAG,EAAG,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,KAAM,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,EAAG,KAAM,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,IAAK,IAAK,IAAK,KAAM,GAAI,MAAO,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,EAAG,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,EAAG,EAAG,KAAM,GAAI,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,MAAO,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,EAAG,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,GAAI,MAAO,GAAI,MAAO,IAAK,KAAM,EAAG,EAAG,KAAM,IAAK,GAAI,MAAO,GAAI,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,MAAO,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,IAAK,GAAI,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,GAAI,MAAO,KAAM,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,EAAG,EAAG,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,KAAM,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,KAAM,IAAK,KAAM,KAAM,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,MAAO,IAAK,MAAO,IAAK,GAAI,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,MAAO,MAAO,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,GAAI,IAAK,GAAI,MAAO,GAAI,IAAK,KAAM,EAAG,EAAG,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,EAAG,EAAG,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,GAAI,MAAO,MAAO,MAAO,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,GAAI,IAAK,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,KAAM,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,MAAO,GAAI,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,IAAK,KAAM,KAAM,GAAI,MAAO,GAAI,MAAO,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,KAAM,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,KAAM,IAAK,KAAM,EAAG,EAAG,KAAM,IAAK,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,GAAI,IAAK,KAAM,GAAI,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,GAAI,MAAO,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,EAAG,KAAM,EAAG,KAAM,KAAM,EAAG,EAAG,KAAM,KAAM,EAAG,KAAM,EAAG,KAAM,KAAM,KAAM,EAAG,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,MAAO,IAAK,KAAM,EAAG,EAAG,KAAM,IAAK,GAAI,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,KAAM,EAAG,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,MAAO,IAAK,MAAO,GAAI,MAAO,MAAO,IAAK,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,KAAM,EAAG,KAAM,GAAI,MAAO,GAAI,MAAO,IAAK,KAAM,KAAM,EAAG,EAAG,KAAM,MAAO,IAAK,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,GAAI,MAAO,IAAK,KAAM,EAAG,KAAM,GAAI,MAAO,GAAI,MAAO,GAAI,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,IAAK,IAAK,KAAM,IAAK,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,GAAI,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,KAAM,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,GAAI,IAAK,KAAM,KAAM,KAAM,KAAM,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,GAAI,MAAO,GAAI,MAAO,MAAO,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,GAAI,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,KAAO,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,KAAM,MAAO,IAAK,KAAM,KAAM,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,EAAG,KAAM,EAAG,KAAM,KAAM,KAAM,EAAG,KAAM,KAAM,EAAG,EAAG,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,KAAM,KAAM,GAAI,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,GAAI,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,GAAI,IAAK,IAAK,KAAM,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,KAAM,EAAG,KAAM,GAAI,IAAK,GAAI,MAAO,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,KAAM,EAAG,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,GAAI,MAAO,KAAM,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,KAAM,KAAM,EAAG,KAAM,EAAG,KAAM,EAAG,EAAG,EAAG,EAAG,EAAG,KAAM,KAAM,EAAG,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,GAAI,IAAK,GAAI,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,GAAI,MAAO,IAAK,KAAM,GAAI,MAAO,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,KAAM,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,KAAM,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,GAAI,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,KAAM,IAAK,KAAM,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,GAAI,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,GAAI,IAAK,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,IAAK,IAAK,KAAM,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,KAAM,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,GAAI,KAAM,KAAM,GAAI,MAAO,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,KAAM,KAAM,MAAO,GAAI,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,KAAM,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,MAAO,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,KAAM,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,GAAI,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,GAAI,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,KAAM,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,KAAM,MAAO,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,MAAO,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,MAAO,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,KAAM,MAAO,IAAK,MAAO,KAAM,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,MAAO,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,MAAO,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,GAAI,MAAO,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,GAAI,GAAI,IAAK,KAAM,MAAO,MAAO,MAAO,IAAK,IAAK,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,MAAO,KAAM,MAAO,MAAO,IAAK,GAAI,IAAK,KAAM,MAAO,GAAI,MAAO,IAAK,MAAO,MAAO,IAAK,GAAI,MAAO,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,GAAI,MAAO,KAAM,IAAK,IAAK,GAAI,IAAK,MAAO,KAAM,MAAO,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,KAAM,IAAK,IAAK,GAAI,IAAK,MAAO,KAAM,MAAO,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,KAAM,KAAM,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,MAAO,MAAO,MAAO,MAAO,GAAI,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,GAAI,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,MAAO,KAAM,IAAK,MAAO,EAAG,MAAO,IAAK,MAAO,IAAK,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,MAAO,EAAG,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,MAAO,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,MAAO,KAAM,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,KAAM,IAAK,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,MAAO,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,MAAO,KAAM,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,MAAO,GAAI,MAAO,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,KAAM,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,KAAM,MAAO,MAAO,MAAO,GAAI,MAAO,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,KAAM,IAAK,IAAK,KAAM,MAAO,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,KAAM,MAAO,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,KAAM,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,MAAO,MAAO,KAAM,GAAI,MAAO,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,KAAM,MAAO,MAAO,IAAK,IAAK,KAAM,IAAK,GAAI,GAAI,KAAM,MAAO,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,KAAM,IAAK,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,MAAO,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,MAAO,GAAI,MAAO,MAAO,IAAK,GAAI,MAAO,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,KAAM,MAAO,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,KAAM,MAAO,KAAM,MAAO,IAAK,IAAK,KAAM,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,EAAG,EAAG,MAAO,GAAI,IAAK,IAAK,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,KAAM,IAAK,KAAM,IAAK,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,KAAM,MAAO,MAAO,GAAI,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,GAAI,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,KAAM,IAAK,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,KAAM,MAAO,MAAO,GAAI,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,KAAM,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,KAAM,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,KAAM,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,KAAM,KAAM,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,GAAI,MAAO,KAAM,KAAM,GAAI,MAAO,GAAI,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,KAAM,KAAM,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,GAAI,KAAM,IAAK,IAAK,GAAI,MAAO,KAAM,KAAM,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,KAAM,KAAM,IAAK,IAAK,GAAI,MAAO,KAAM,KAAM,IAAK,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,GAAI,MAAO,KAAM,KAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,MAAO,EAAG,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,EAAG,EAAG,MAAO,MAAO,EAAG,MAAO,MAAO,EAAG,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,MAAO,KAAM,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,GAAI,KAAM,MAAO,MAAO,IAAK,MAAO,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,MAAO,MAAO,IAAK,MAAO,IAAK,GAAI,GAAI,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,MAAO,MAAO,IAAK,MAAO,EAAG,EAAG,MAAO,EAAG,MAAO,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,MAAO,IAAK,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,KAAM,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,MAAO,MAAO,IAAK,MAAO,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,MAAO,GAAI,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,MAAO,IAAK,MAAO,GAAI,GAAI,IAAK,GAAI,MAAO,KAAM,MAAO,EAAG,MAAO,EAAG,MAAO,MAAO,EAAG,MAAO,MAAO,EAAG,EAAG,MAAO,KAAM,EAAG,MAAO,EAAG,EAAG,MAAO,MAAO,EAAG,MAAO,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,KAAM,MAAO,MAAO,KAAM,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,KAAM,IAAK,MAAO,EAAG,EAAG,MAAO,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,KAAM,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,GAAI,MAAO,IAAK,KAAM,IAAK,KAAM,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,MAAO,IAAK,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,MAAO,IAAK,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,IAAK,GAAI,GAAI,KAAM,MAAO,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,MAAO,KAAM,MAAO,IAAK,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,KAAM,MAAO,MAAO,MAAO,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,KAAM,IAAK,KAAM,KAAM,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,KAAM,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,GAAI,MAAO,KAAM,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,MAAO,MAAO,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,KAAM,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,KAAM,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,KAAM,IAAK,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,GAAI,IAAK,IAAK,KAAM,IAAK,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,KAAM,IAAK,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,GAAI,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,MAAO,MAAO,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,MAAO,MAAO,KAAM,IAAK,IAAK,KAAM,GAAI,IAAK,IAAK,KAAM,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,KAAM,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,KAAM,IAAK,GAAI,IAAK,KAAM,MAAO,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,GAAI,IAAK,MAAO,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,MAAO,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,KAAM,GAAI,IAAK,KAAM,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,MAAO,MAAO,MAAO,GAAI,IAAK,IAAK,IAAK,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,MAAO,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,KAAM,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,MAAO,KAAM,KAAM,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,GAAI,MAAO,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,MAAO,MAAO,EAAG,EAAG,MAAO,MAAO,EAAG,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,MAAO,EAAG,EAAG,MAAO,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,GAAI,MAAO,IAAK,MAAO,EAAG,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,KAAM,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,MAAO,KAAM,MAAO,MAAO,GAAI,MAAO,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,MAAO,KAAM,MAAO,MAAO,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,GAAI,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,EAAG,EAAG,MAAO,IAAK,IAAK,KAAM,GAAI,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,GAAI,MAAO,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,GAAI,MAAO,MAAO,MAAO,GAAI,MAAO,IAAK,GAAI,GAAI,MAAO,MAAO,MAAO,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,KAAM,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,IAAK,IAAK,IAAK,MAAO,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,GAAI,MAAO,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,GAAI,MAAO,KAAM,MAAO,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,KAAM,KAAM,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,KAAM,IAAK,GAAI,GAAI,IAAK,KAAM,MAAO,KAAM,IAAK,IAAK,MAAO,KAAM,IAAK,KAAM,GAAI,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,GAAI,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,MAAO,KAAM,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,MAAO,IAAK,IAAK,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,KAAM,MAAO,MAAO,KAAM,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,IAAK,IAAK,MAAO,IAAK,GAAI,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,MAAO,MAAO,IAAK,MAAO,MAAO,IAAK,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,GAAI,MAAO,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,MAAO,GAAI,GAAI,MAAO,GAAI,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,KAAM,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,GAAI,MAAO,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,KAAM,IAAK,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,KAAM,MAAO,MAAO,MAAO,KAAM,MAAO,MAAO,EAAG,MAAO,MAAO,EAAG,EAAG,EAAG,EAAG,EAAG,MAAO,MAAO,EAAG,MAAO,MAAO,EAAG,EAAG,EAAG,MAAO,IAAK,MAAO,EAAG,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,MAAO,EAAG,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,KAAM,GAAI,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,KAAM,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,IAAK,MAAO,KAAM,IAAK,IAAK,MAAO,IAAK,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,GAAI,GAAI,KAAM,MAAO,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,MAAO,IAAK,GAAI,GAAI,GAAI,IAAK,KAAM,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,KAAM,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,GAAI,MAAO,MAAO,MAAO,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,KAAM,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,KAAM,IAAK,IAAK,MAAO,EAAG,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,MAAO,IAAK,MAAO,GAAI,MAAO,IAAK,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,KAAM,IAAK,GAAI,GAAI,GAAI,MAAO,GAAI,IAAK,KAAM,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,MAAO,EAAG,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,MAAO,MAAO,KAAM,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,KAAM,IAAK,IAAK,IAAK,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,MAAO,EAAG,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,KAAM,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,MAAO,IAAK,MAAO,IAAK,MAAO,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,MAAO,KAAM,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,KAAM,GAAI,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,GAAI,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,MAAO,IAAK,GAAI,IAAK,KAAM,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,KAAM,MAAO,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,MAAO,KAAM,MAAO,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,MAAO,GAAI,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,KAAM,GAAI,IAAK,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,MAAO,IAAK,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,IAAK,KAAM,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,KAAM,MAAO,GAAI,IAAK,IAAK,KAAM,GAAI,IAAK,GAAI,MAAO,MAAO,MAAO,KAAM,KAAM,MAAO,EAAG,MAAO,EAAG,MAAO,MAAO,EAAG,EAAG,MAAO,MAAO,MAAO,MAAO,EAAG,EAAG,MAAO,MAAO,EAAG,MAAO,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,GAAI,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,GAAI,MAAO,IAAK,GAAI,GAAI,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,GAAI,IAAK,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,IAAK,KAAM,MAAO,MAAO,IAAK,IAAK,IAAK,MAAO,KAAM,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,GAAI,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,GAAI,IAAK,MAAO,KAAM,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,KAAM,MAAO,IAAK,IAAK,KAAM,KAAM,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,MAAO,IAAK,MAAO,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,GAAI,MAAO,GAAI,MAAO,IAAK,MAAO,IAAK,MAAO,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,IAAK,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,MAAO,MAAO,GAAI,IAAK,GAAI,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,MAAO,IAAK,MAAO,IAAK,MAAO,KAAM,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,GAAI,IAAK,IAAK,IAAK,GAAI,MAAO,IAAK,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,MAAO,GAAI,MAAO,IAAK,IAAK,GAAI,MAAO,IAAK,IAAK,IAAK,MAAO,MAAO,I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EAAKs8G,SAEhBiD,mBAAmBv/G,GACRA,EAAKs8G,WAAaF,GAAS0B,aAEtC0B,cAAcx/G,GACH7F,OAAOuD,UAAUtD,eAAeuD,KAAKqC,EAAM,WAGtDy/G,0BAA0Bz/G,EAAMo0F,GAC5Bp0F,EAAK0/G,mBAAqBtrB,CAC9B,EACAurB,0BAA0B3/G,GACfA,EAAK0/G,mBAEhBE,6BAA6B5/G,EAAM6/G,GAC/B7/G,EAAK0/G,mBAAqB,IAAK1/G,EAAK0/G,sBAAuBG,EAC/D,GCjLEC,GAAqB,OAGrBC,GAAiC,CACnC,6CACA,6CACA,uDACA,kCACA,kCACA,yCACA,yCACA,iCACA,0BACA,2BACA,0BACA,gCACA,0BACA,wBACA,8BACA,8BACA,8BACA,8BACA,qCACA,qCACA,qCACA,qCACA,6BACA,sBACA,2CACA,wDACA,iDACA,mDACA,wDACA,iDACA,mDACA,sCACA,6CACA,6CACA,sDACA,8DACA,8CACA,iFACA,wEACA,uCACA,gDACA,uDACA,kCACA,+BACA,+BACA,yBACA,gCACA,kCACA,sCACA,2CACA,yCACA,wBACA,4BACA,sCACA,mCAEEC,GAA8C,IAC7CD,GACH,mCACA,wCAEEE,GAAyB,IAAI5qB,IAAI,CACnC,uCACA,qCACA,SAEE6qB,GAAoC,CAAC,mCAAoC,wCACzEC,GAAmD,IAClDD,GACH,mCACA,wCAGJ,SAASE,GAAUlZ,EAAUmZ,GACzB,OAAOA,EAASC,MAAM56G,GAAWwhG,EAASlP,WAAWtyF,IACzD,CC/EA,MAOM66G,GAA2B,IAAItwF,IAAI,CACrC,gBACA,gBACA,gBACA,cACA,WACA,gBACA,kBACA,WACA,cACA,WACA,oBACA,gBACA,eACA,mBACA,YACA,aACA,WACA,eACA,oBACA,eACA,cACA,cACA,mBACA,YACA,aACA,aACA,sBACA,mBACA,eACA,YACA,YACA,YACA,gBACA,sBACA,iBACA,OACA,OACA,cACA,YACA,qBACA,mBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,eACA,iBACA,cACA,UACA,UACA,aACA,UACA,aACA,mBACA,mBACA,cAC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","sources":["webpack://osana/./node_modules/esotope-hammerhead/esotope.js","webpack://osana/webpack/bootstrap","webpack://osana/webpack/runtime/define property getters","webpack://osana/webpack/runtime/hasOwnProperty shorthand","webpack://osana/webpack/runtime/make namespace object","webpack://osana/./node_modules/meriyah/dist/meriyah.esm.mjs","webpack://osana/./src/lib/rewrite/js.ts","webpack://osana/./src/lib/rewrite/url.ts","webpack://osana/./src/lib/rewrite/css.ts","webpack://osana/./src/lib/rewrite/headers.ts","webpack://osana/./node_modules/parse5/dist/common/unicode.js","webpack://osana/./node_modules/parse5/dist/common/error-codes.js","webpack://osana/./node_modules/parse5/dist/common/token.js","webpack://osana/./node_modules/parse5/dist/tokenizer/preprocessor.js","webpack://osana/./node_modules/entities/lib/esm/generated/decode-data-html.js","webpack://osana/./node_modules/entities/lib/esm/generated/decode-data-xml.js","webpack://osana/./node_modules/entities/lib/esm/decode_codepoint.js","webpack://osana/./node_modules/entities/lib/esm/decode.js","webpack://osana/./node_modules/parse5/dist/common/html.js","webpack://osana/./node_modules/parse5/dist/tokenizer/index.js","webpack://osana/./node_modules/parse5/dist/parser/open-element-stack.js","webpack://osana/./node_modules/parse5/dist/parser/formatting-element-list.js","webpack://osana/./node_modules/parse5/dist/tree-adapters/default.js","webpack://osana/./node_modules/parse5/dist/common/doctype.js","webpack://osana/./node_modules/parse5/dist/common/foreign-content.js","webpack://osana/./node_modules/parse5/dist/parser/index.js","webpack://osana/./node_modules/entities/lib/esm/escape.js","webpack://osana/./node_modules/parse5/dist/serializer/index.js","webpack://osana/./node_modules/parse5/dist/index.js","webpack://osana/./src/lib/rewrite/html.ts","webpack://osana/./node_modules/@tomphttp/bare-client/dist/BareClient.esm.js","webpack://osana/./src/lib/util/codecs.ts","webpack://osana/./node_modules/uuid/dist/esm-browser/rng.js","webpack://osana/./node_modules/uuid/dist/esm-browser/regex.js","webpack://osana/./node_modules/uuid/dist/esm-browser/validate.js","webpack://osana/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://osana/./src/bundle.ts","webpack://osana/./node_modules/@tomphttp/bare-server-node/dist/encodeProtocol.js","webpack://osana/./node_modules/uuid/dist/esm-browser/v4.js"],"sourcesContent":["// -------------------------------------------------------------\r\n// WARNING: this file is used by both the client and the server.\r\n// Do not use any browser or node-specific API!\r\n// -------------------------------------------------------------\r\n\r\n/*\r\n Copyright (C) 2014 Ivan Nikulin \r\n Copyright (C) 2012-2014 Yusuke Suzuki \r\n Copyright (C) 2012-2013 Michael Ficarra \r\n Copyright (C) 2012-2013 Mathias Bynens \r\n Copyright (C) 2013 Irakli Gozalishvili \r\n Copyright (C) 2012 Robert Gust-Bardon \r\n Copyright (C) 2012 John Freeman \r\n Copyright (C) 2011-2012 Ariya Hidayat \r\n Copyright (C) 2012 Joost-Wim Boekesteijn \r\n Copyright (C) 2012 Kris Kowal \r\n Copyright (C) 2012 Arpad Borsos \r\n\r\n Redistribution and use in source and binary forms, with or without\r\n modification, are permitted provided that the following conditions are met:\r\n\r\n * Redistributions of source code must retain the above copyright\r\n notice, this list of conditions and the following disclaimer.\r\n * Redistributions in binary form must reproduce the above copyright\r\n notice, this list of conditions and the following disclaimer in the\r\n documentation and/or other materials provided with the distribution.\r\n\r\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\r\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r\n ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\r\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\r\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\r\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\r\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r\n */\r\n\r\n'use strict';\r\n\r\nvar isArray,\r\n json,\r\n renumber,\r\n hexadecimal,\r\n quotes,\r\n escapeless,\r\n parentheses,\r\n semicolons,\r\n safeConcatenation,\r\n directive,\r\n extra,\r\n parse;\r\n\r\nvar Syntax = {\r\n AssignmentExpression: 'AssignmentExpression',\r\n AssignmentPattern: 'AssignmentPattern',\r\n ArrayExpression: 'ArrayExpression',\r\n ArrayPattern: 'ArrayPattern',\r\n ArrowFunctionExpression: 'ArrowFunctionExpression',\r\n AwaitExpression: 'AwaitExpression',\r\n BlockStatement: 'BlockStatement',\r\n BinaryExpression: 'BinaryExpression',\r\n BreakStatement: 'BreakStatement',\r\n CallExpression: 'CallExpression',\r\n CatchClause: 'CatchClause',\r\n ClassBody: 'ClassBody',\r\n ClassDeclaration: 'ClassDeclaration',\r\n ClassExpression: 'ClassExpression',\r\n ComprehensionBlock: 'ComprehensionBlock',\r\n ComprehensionExpression: 'ComprehensionExpression',\r\n ConditionalExpression: 'ConditionalExpression',\r\n ContinueStatement: 'ContinueStatement',\r\n DirectiveStatement: 'DirectiveStatement',\r\n DoWhileStatement: 'DoWhileStatement',\r\n DebuggerStatement: 'DebuggerStatement',\r\n EmptyStatement: 'EmptyStatement',\r\n ExportAllDeclaration: 'ExportAllDeclaration',\r\n ExportBatchSpecifier: 'ExportBatchSpecifier',\r\n ExportDeclaration: 'ExportDeclaration',\r\n ExportNamedDeclaration: 'ExportNamedDeclaration',\r\n ExportSpecifier: 'ExportSpecifier',\r\n ExpressionStatement: 'ExpressionStatement',\r\n ForStatement: 'ForStatement',\r\n ForInStatement: 'ForInStatement',\r\n ForOfStatement: 'ForOfStatement',\r\n FunctionDeclaration: 'FunctionDeclaration',\r\n FunctionExpression: 'FunctionExpression',\r\n GeneratorExpression: 'GeneratorExpression',\r\n Identifier: 'Identifier',\r\n IfStatement: 'IfStatement',\r\n ImportExpression: 'ImportExpression',\r\n ImportSpecifier: 'ImportSpecifier',\r\n ImportDeclaration: 'ImportDeclaration',\r\n ChainExpression: 'ChainExpression',\r\n Literal: 'Literal',\r\n LabeledStatement: 'LabeledStatement',\r\n LogicalExpression: 'LogicalExpression',\r\n MemberExpression: 'MemberExpression',\r\n MetaProperty: 'MetaProperty',\r\n MethodDefinition: 'MethodDefinition',\r\n ModuleDeclaration: 'ModuleDeclaration',\r\n NewExpression: 'NewExpression',\r\n ObjectExpression: 'ObjectExpression',\r\n ObjectPattern: 'ObjectPattern',\r\n Program: 'Program',\r\n Property: 'Property',\r\n RestElement: 'RestElement',\r\n ReturnStatement: 'ReturnStatement',\r\n SequenceExpression: 'SequenceExpression',\r\n SpreadElement: 'SpreadElement',\r\n Super: 'Super',\r\n SwitchStatement: 'SwitchStatement',\r\n SwitchCase: 'SwitchCase',\r\n TaggedTemplateExpression: 'TaggedTemplateExpression',\r\n TemplateElement: 'TemplateElement',\r\n TemplateLiteral: 'TemplateLiteral',\r\n ThisExpression: 'ThisExpression',\r\n ThrowStatement: 'ThrowStatement',\r\n TryStatement: 'TryStatement',\r\n UnaryExpression: 'UnaryExpression',\r\n UpdateExpression: 'UpdateExpression',\r\n VariableDeclaration: 'VariableDeclaration',\r\n VariableDeclarator: 'VariableDeclarator',\r\n WhileStatement: 'WhileStatement',\r\n WithStatement: 'WithStatement',\r\n YieldExpression: 'YieldExpression'\r\n};\r\n\r\nexports.Syntax = Syntax;\r\n\r\nvar Precedence = {\r\n Sequence: 0,\r\n Yield: 1,\r\n Assignment: 1,\r\n Conditional: 2,\r\n ArrowFunction: 2,\r\n Coalesce: 3,\r\n LogicalOR: 3,\r\n LogicalAND: 4,\r\n BitwiseOR: 5,\r\n BitwiseXOR: 6,\r\n BitwiseAND: 7,\r\n Equality: 8,\r\n Relational: 9,\r\n BitwiseSHIFT: 10,\r\n Additive: 11,\r\n Multiplicative: 12,\r\n Unary: 13,\r\n Exponentiation: 14,\r\n Postfix: 14,\r\n Await: 14,\r\n Call: 15,\r\n New: 16,\r\n TaggedTemplate: 17,\r\n OptionalChaining: 17,\r\n Member: 18,\r\n Primary: 19\r\n};\r\n\r\nvar BinaryPrecedence = {\r\n '||': Precedence.LogicalOR,\r\n '&&': Precedence.LogicalAND,\r\n '|': Precedence.BitwiseOR,\r\n '^': Precedence.BitwiseXOR,\r\n '&': Precedence.BitwiseAND,\r\n '==': Precedence.Equality,\r\n '!=': Precedence.Equality,\r\n '===': Precedence.Equality,\r\n '!==': Precedence.Equality,\r\n 'is': Precedence.Equality,\r\n 'isnt': Precedence.Equality,\r\n '<': Precedence.Relational,\r\n '>': Precedence.Relational,\r\n '<=': Precedence.Relational,\r\n '>=': Precedence.Relational,\r\n 'in': Precedence.Relational,\r\n 'instanceof': Precedence.Relational,\r\n '<<': Precedence.BitwiseSHIFT,\r\n '>>': Precedence.BitwiseSHIFT,\r\n '>>>': Precedence.BitwiseSHIFT,\r\n '+': Precedence.Additive,\r\n '-': Precedence.Additive,\r\n '*': Precedence.Multiplicative,\r\n '%': Precedence.Multiplicative,\r\n '/': Precedence.Multiplicative,\r\n '??': Precedence.Coalesce,\r\n '**': Precedence.Exponentiation\r\n};\r\n\r\nfunction getDefaultOptions () {\r\n // default options\r\n return {\r\n indent: null,\r\n base: null,\r\n parse: null,\r\n format: {\r\n indent: {\r\n style: ' ',\r\n base: 0\r\n },\r\n newline: '\\n',\r\n space: ' ',\r\n json: false,\r\n renumber: false,\r\n hexadecimal: false,\r\n quotes: 'single',\r\n escapeless: false,\r\n compact: false,\r\n parentheses: true,\r\n semicolons: true,\r\n safeConcatenation: false\r\n },\r\n directive: false,\r\n raw: true,\r\n verbatim: null\r\n };\r\n}\r\n\r\n//-------------------------------------------------===------------------------------------------------------\r\n// Lexical utils\r\n//-------------------------------------------------===------------------------------------------------------\r\n\r\n//Const\r\nvar NON_ASCII_WHITESPACES = [\r\n 0x1680, 0x180E, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005,\r\n 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x202F, 0x205F, 0x3000,\r\n 0xFEFF\r\n];\r\n\r\n//Regular expressions\r\nvar NON_ASCII_IDENTIFIER_CHARACTERS_REGEXP = new RegExp(\r\n '[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376' +\r\n '\\u0377\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-' +\r\n '\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA' +\r\n '\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-' +\r\n '\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0\\u08A2-\\u08AC\\u08E4-\\u08FE\\u0900-' +\r\n '\\u0963\\u0966-\\u096F\\u0971-\\u0977\\u0979-\\u097F\\u0981-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-' +\r\n '\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-' +\r\n '\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38' +\r\n '\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83' +\r\n '\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9' +\r\n '\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-' +\r\n '\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-' +\r\n '\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E' +\r\n '\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-' +\r\n '\\u0BEF\\u0C01-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D-\\u0C44\\u0C46-' +\r\n '\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C82\\u0C83\\u0C85-\\u0C8C\\u0C8E-' +\r\n '\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE' +\r\n '\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D02\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44' +\r\n '\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-' +\r\n '\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E01-\\u0E3A' +\r\n '\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-' +\r\n '\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9' +\r\n '\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84' +\r\n '\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-' +\r\n '\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5' +\r\n '\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-' +\r\n '\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F0\\u1700-\\u170C\\u170E-' +\r\n '\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD' +\r\n '\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C\\u1920-\\u192B' +\r\n '\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E' +\r\n '\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-' +\r\n '\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1D00-\\u1DE6\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-' +\r\n '\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-' +\r\n '\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F' +\r\n '\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115' +\r\n '\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188' +\r\n '\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-' +\r\n '\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-' +\r\n '\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A' +\r\n '\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5' +\r\n '\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA697' +\r\n '\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA827\\uA840-\\uA873' +\r\n '\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-' +\r\n '\\uA9D9\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A\\uAA7B\\uAA80-\\uAAC2\\uAADB-\\uAADD\\uAAE0-' +\r\n '\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABEA\\uABEC' +\r\n '\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-' +\r\n '\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D' +\r\n '\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE26\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74' +\r\n '\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-' +\r\n '\\uFFD7\\uFFDA-\\uFFDC]'\r\n);\r\n\r\n\r\n//Methods\r\nfunction isIdentifierCh (cp) {\r\n if (cp < 0x80) {\r\n return cp >= 97 && cp <= 122 || // a..z\r\n cp >= 65 && cp <= 90 || // A..Z\r\n cp >= 48 && cp <= 57 || // 0..9\r\n cp === 36 || cp === 95 || // $ (dollar) and _ (underscore)\r\n cp === 92; // \\ (backslash)\r\n }\r\n\r\n var ch = String.fromCharCode(cp);\r\n\r\n return NON_ASCII_IDENTIFIER_CHARACTERS_REGEXP.test(ch);\r\n}\r\n\r\nfunction isLineTerminator (cp) {\r\n return cp === 0x0A || cp === 0x0D || cp === 0x2028 || cp === 0x2029;\r\n}\r\n\r\nfunction isWhitespace (cp) {\r\n return cp === 0x20 || cp === 0x09 || isLineTerminator(cp) || cp === 0x0B || cp === 0x0C || cp === 0xA0 ||\r\n (cp >= 0x1680 && NON_ASCII_WHITESPACES.indexOf(cp) >= 0);\r\n}\r\n\r\nfunction isDecimalDigit (cp) {\r\n return cp >= 48 && cp <= 57;\r\n}\r\n\r\nfunction stringRepeat (str, num) {\r\n var result = '';\r\n\r\n for (num |= 0; num > 0; num >>>= 1, str += str) {\r\n if (num & 1) {\r\n result += str;\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\nisArray = Array.isArray;\r\nif (!isArray) {\r\n isArray = function isArray (array) {\r\n return Object.prototype.toString.call(array) === '[object Array]';\r\n };\r\n}\r\n\r\n\r\nfunction updateDeeply (target, override) {\r\n var key, val;\r\n\r\n function isHashObject (target) {\r\n return typeof target === 'object' && target instanceof Object && !(target instanceof RegExp);\r\n }\r\n\r\n for (key in override) {\r\n if (override.hasOwnProperty(key)) {\r\n val = override[key];\r\n if (isHashObject(val)) {\r\n if (isHashObject(target[key])) {\r\n updateDeeply(target[key], val);\r\n }\r\n else {\r\n target[key] = updateDeeply({}, val);\r\n }\r\n }\r\n else {\r\n target[key] = val;\r\n }\r\n }\r\n }\r\n return target;\r\n}\r\n\r\nfunction generateNumber (value) {\r\n var result, point, temp, exponent, pos;\r\n\r\n if (value === 1 / 0) {\r\n return json ? 'null' : renumber ? '1e400' : '1e+400';\r\n }\r\n\r\n result = '' + value;\r\n if (!renumber || result.length < 3) {\r\n return result;\r\n }\r\n\r\n point = result.indexOf('.');\r\n //NOTE: 0x30 == '0'\r\n if (!json && result.charCodeAt(0) === 0x30 && point === 1) {\r\n point = 0;\r\n result = result.slice(1);\r\n }\r\n temp = result;\r\n result = result.replace('e+', 'e');\r\n exponent = 0;\r\n if ((pos = temp.indexOf('e')) > 0) {\r\n exponent = +temp.slice(pos + 1);\r\n temp = temp.slice(0, pos);\r\n }\r\n if (point >= 0) {\r\n exponent -= temp.length - point - 1;\r\n temp = +(temp.slice(0, point) + temp.slice(point + 1)) + '';\r\n }\r\n pos = 0;\r\n\r\n //NOTE: 0x30 == '0'\r\n while (temp.charCodeAt(temp.length + pos - 1) === 0x30) {\r\n --pos;\r\n }\r\n if (pos !== 0) {\r\n exponent -= pos;\r\n temp = temp.slice(0, pos);\r\n }\r\n if (exponent !== 0) {\r\n temp += 'e' + exponent;\r\n }\r\n if ((temp.length < result.length ||\r\n (hexadecimal && value > 1e12 && Math.floor(value) === value &&\r\n (temp = '0x' + value.toString(16)).length\r\n < result.length)) &&\r\n +temp === value) {\r\n result = temp;\r\n }\r\n\r\n return result;\r\n}\r\n\r\n// Generate valid RegExp expression.\r\n// This function is based on https://github.com/Constellation/iv Engine\r\n\r\nfunction escapeRegExpCharacter (ch, previousIsBackslash) {\r\n // not handling '\\' and handling \\u2028 or \\u2029 to unicode escape sequence\r\n if ((ch & ~1) === 0x2028) {\r\n return (previousIsBackslash ? 'u' : '\\\\u') + ((ch === 0x2028) ? '2028' : '2029');\r\n }\r\n else if (ch === 10 || ch === 13) { // \\n, \\r\r\n return (previousIsBackslash ? '' : '\\\\') + ((ch === 10) ? 'n' : 'r');\r\n }\r\n return String.fromCharCode(ch);\r\n}\r\n\r\nfunction generateRegExp (reg) {\r\n var match, result, flags, i, iz, ch, characterInBrack, previousIsBackslash;\r\n\r\n result = reg.toString();\r\n\r\n if (reg.source) {\r\n // extract flag from toString result\r\n match = result.match(/\\/([^/]*)$/);\r\n if (!match) {\r\n return result;\r\n }\r\n\r\n flags = match[1];\r\n result = '';\r\n\r\n characterInBrack = false;\r\n previousIsBackslash = false;\r\n for (i = 0, iz = reg.source.length; i < iz; ++i) {\r\n ch = reg.source.charCodeAt(i);\r\n\r\n if (!previousIsBackslash) {\r\n if (characterInBrack) {\r\n if (ch === 93) { // ]\r\n characterInBrack = false;\r\n }\r\n }\r\n else {\r\n if (ch === 47) { // /\r\n result += '\\\\';\r\n }\r\n else if (ch === 91) { // [\r\n characterInBrack = true;\r\n }\r\n }\r\n result += escapeRegExpCharacter(ch, previousIsBackslash);\r\n previousIsBackslash = ch === 92; // \\\r\n }\r\n else {\r\n // if new RegExp(\"\\\\\\n') is provided, create /\\n/\r\n result += escapeRegExpCharacter(ch, previousIsBackslash);\r\n // prevent like /\\\\[/]/\r\n previousIsBackslash = false;\r\n }\r\n }\r\n\r\n return '/' + result + '/' + flags;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction escapeAllowedCharacter (code, next) {\r\n var hex, result = '\\\\';\r\n\r\n switch (code) {\r\n case 0x08: // \\b\r\n result += 'b';\r\n break;\r\n case 0x0C: // \\f\r\n result += 'f';\r\n break;\r\n case 0x09: // \\t\r\n result += 't';\r\n break;\r\n default:\r\n hex = code.toString(16).toUpperCase();\r\n if (json || code > 0xFF) {\r\n result += 'u' + '0000'.slice(hex.length) + hex;\r\n }\r\n\r\n else if (code === 0x0000 && !isDecimalDigit(next)) {\r\n result += '0';\r\n }\r\n\r\n else if (code === 0x000B) { // \\v\r\n result += 'x0B';\r\n }\r\n\r\n else {\r\n result += 'x' + '00'.slice(hex.length) + hex;\r\n }\r\n break;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction escapeDisallowedCharacter (code) {\r\n var result = '\\\\';\r\n switch (code) {\r\n case 0x5C // \\\r\n :\r\n result += '\\\\';\r\n break;\r\n case 0x0A // \\n\r\n :\r\n result += 'n';\r\n break;\r\n case 0x0D // \\r\r\n :\r\n result += 'r';\r\n break;\r\n case 0x2028:\r\n result += 'u2028';\r\n break;\r\n case 0x2029:\r\n result += 'u2029';\r\n break;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction escapeDirective (str) {\r\n var i, iz, code, quote;\r\n\r\n quote = quotes === 'double' ? '\"' : '\\'';\r\n for (i = 0, iz = str.length; i < iz; ++i) {\r\n code = str.charCodeAt(i);\r\n if (code === 0x27) { // '\r\n quote = '\"';\r\n break;\r\n }\r\n else if (code === 0x22) { // \"\r\n quote = '\\'';\r\n break;\r\n }\r\n else if (code === 0x5C) { // \\\r\n ++i;\r\n }\r\n }\r\n\r\n return quote + str + quote;\r\n}\r\n\r\nfunction escapeString (str) {\r\n var result = '', i, len, code, singleQuotes = 0, doubleQuotes = 0, single, quote;\r\n //TODO http://jsperf.com/character-counting/8\r\n for (i = 0, len = str.length; i < len; ++i) {\r\n code = str.charCodeAt(i);\r\n if (code === 0x27) { // '\r\n ++singleQuotes;\r\n }\r\n else if (code === 0x22) { // \"\r\n ++doubleQuotes;\r\n }\r\n else if (code === 0x2F && json) { // /\r\n result += '\\\\';\r\n }\r\n else if (isLineTerminator(code) || code === 0x5C) { // \\\r\n result += escapeDisallowedCharacter(code);\r\n continue;\r\n }\r\n else if ((json && code < 0x20) || // SP\r\n !(json || escapeless || (code >= 0x20 && code <= 0x7E))) { // SP, ~\r\n result += escapeAllowedCharacter(code, str.charCodeAt(i + 1));\r\n continue;\r\n }\r\n result += String.fromCharCode(code);\r\n }\r\n\r\n single = !(quotes === 'double' || (quotes === 'auto' && doubleQuotes < singleQuotes));\r\n quote = single ? '\\'' : '\"';\r\n\r\n if (!(single ? singleQuotes : doubleQuotes)) {\r\n return quote + result + quote;\r\n }\r\n\r\n str = result;\r\n result = quote;\r\n\r\n for (i = 0, len = str.length; i < len; ++i) {\r\n code = str.charCodeAt(i);\r\n if ((code === 0x27 && single) || (code === 0x22 && !single)) { // ', \"\r\n result += '\\\\';\r\n }\r\n result += String.fromCharCode(code);\r\n }\r\n\r\n return result + quote;\r\n}\r\n\r\n\r\nfunction join (l, r) {\r\n if (!l.length)\r\n return r;\r\n\r\n if (!r.length)\r\n return l;\r\n\r\n var lCp = l.charCodeAt(l.length - 1),\r\n rCp = r.charCodeAt(0);\r\n\r\n if (isIdentifierCh(lCp) && isIdentifierCh(rCp) ||\r\n lCp === rCp && (lCp === 0x2B || lCp === 0x2D) || // + +, - -\r\n lCp === 0x2F && rCp === 0x69) { // /re/ instanceof foo\r\n return l + _.space + r;\r\n }\r\n\r\n else if (isWhitespace(lCp) || isWhitespace(rCp))\r\n return l + r;\r\n\r\n return l + _.optSpace + r;\r\n}\r\n\r\nfunction shiftIndent () {\r\n var prevIndent = _.indent;\r\n\r\n _.indent += _.indentUnit;\r\n return prevIndent;\r\n}\r\n\r\nfunction adoptionPrefix ($stmt) {\r\n if ($stmt.type === Syntax.BlockStatement)\r\n return _.optSpace;\r\n\r\n if ($stmt.type === Syntax.EmptyStatement)\r\n return '';\r\n\r\n return _.newline + _.indent + _.indentUnit;\r\n}\r\n\r\nfunction adoptionSuffix ($stmt) {\r\n if ($stmt.type === Syntax.BlockStatement)\r\n return _.optSpace;\r\n\r\n return _.newline + _.indent;\r\n}\r\n\r\n//Subentities generators\r\nfunction generateVerbatim ($expr, settings) {\r\n var verbatim = $expr[extra.verbatim],\r\n strVerbatim = typeof verbatim === 'string',\r\n precedence = !strVerbatim &&\r\n verbatim.precedence !== void 0 ? verbatim.precedence : Precedence.Sequence,\r\n parenthesize = precedence < settings.precedence,\r\n content = strVerbatim ? verbatim : verbatim.content,\r\n chunks = content.split(/\\r\\n|\\n/),\r\n chunkCount = chunks.length;\r\n\r\n if (parenthesize)\r\n _.js += '(';\r\n\r\n _.js += chunks[0];\r\n\r\n for (var i = 1; i < chunkCount; i++)\r\n _.js += _.newline + _.indent + chunks[i];\r\n\r\n if (parenthesize)\r\n _.js += ')';\r\n}\r\n\r\nfunction generateFunctionParams ($node) {\r\n var $params = $node.params,\r\n paramCount = $params.length,\r\n lastParamIdx = paramCount - 1,\r\n arrowFuncWithoutParentheses = $node.type === Syntax.ArrowFunctionExpression && paramCount === 1 &&\r\n $params[0].type === Syntax.Identifier;\r\n\r\n //NOTE: arg => { } case\r\n if (arrowFuncWithoutParentheses)\r\n _.js += $params[0].name;\r\n\r\n else {\r\n _.js += '(';\r\n\r\n for (var i = 0; i < paramCount; ++i) {\r\n var $param = $params[i];\r\n\r\n if ($params[i].type === Syntax.Identifier)\r\n _.js += $param.name;\r\n\r\n else\r\n ExprGen[$param.type]($param, Preset.e4);\r\n\r\n if (i !== lastParamIdx)\r\n _.js += ',' + _.optSpace;\r\n }\r\n\r\n _.js += ')';\r\n }\r\n}\r\n\r\nfunction generateFunctionBody ($node) {\r\n var $body = $node.body;\r\n\r\n generateFunctionParams($node);\r\n\r\n if ($node.type === Syntax.ArrowFunctionExpression)\r\n _.js += _.optSpace + '=>';\r\n\r\n if ($node.expression) {\r\n _.js += _.optSpace;\r\n\r\n var exprJs = exprToJs($body, Preset.e4);\r\n\r\n if (exprJs.charAt(0) === '{')\r\n exprJs = '(' + exprJs + ')';\r\n\r\n _.js += exprJs;\r\n }\r\n\r\n else {\r\n _.js += adoptionPrefix($body);\r\n StmtGen[$body.type]($body, Preset.s8);\r\n }\r\n}\r\n\r\n\r\n//-------------------------------------------------===------------------------------------------------------\r\n// Syntactic entities generation presets\r\n//-------------------------------------------------===------------------------------------------------------\r\n\r\nvar Preset = {\r\n e1: function (allowIn) {\r\n return {\r\n precedence: Precedence.Assignment,\r\n allowIn: allowIn,\r\n allowCall: true,\r\n allowUnparenthesizedNew: true\r\n };\r\n },\r\n\r\n e2: function (allowIn) {\r\n return {\r\n precedence: Precedence.LogicalOR,\r\n allowIn: allowIn,\r\n allowCall: true,\r\n allowUnparenthesizedNew: true\r\n };\r\n },\r\n\r\n e3: {\r\n precedence: Precedence.Call,\r\n allowIn: true,\r\n allowCall: true,\r\n allowUnparenthesizedNew: false\r\n },\r\n\r\n e4: {\r\n precedence: Precedence.Assignment,\r\n allowIn: true,\r\n allowCall: true,\r\n allowUnparenthesizedNew: true\r\n },\r\n\r\n e5: {\r\n precedence: Precedence.Sequence,\r\n allowIn: true,\r\n allowCall: true,\r\n allowUnparenthesizedNew: true\r\n },\r\n\r\n e6: function (allowUnparenthesizedNew) {\r\n return {\r\n precedence: Precedence.New,\r\n allowIn: true,\r\n allowCall: false,\r\n allowUnparenthesizedNew: allowUnparenthesizedNew\r\n };\r\n },\r\n\r\n e7: {\r\n precedence: Precedence.Unary,\r\n allowIn: true,\r\n allowCall: true,\r\n allowUnparenthesizedNew: true\r\n },\r\n\r\n e8: {\r\n precedence: Precedence.Postfix,\r\n allowIn: true,\r\n allowCall: true,\r\n allowUnparenthesizedNew: true\r\n },\r\n\r\n e9: {\r\n precedence: void 0,\r\n allowIn: true,\r\n allowCall: true,\r\n allowUnparenthesizedNew: true\r\n },\r\n\r\n e10: {\r\n precedence: Precedence.Call,\r\n allowIn: true,\r\n allowCall: true,\r\n allowUnparenthesizedNew: true\r\n },\r\n\r\n e11: function (allowCall) {\r\n return {\r\n precedence: Precedence.Call,\r\n allowIn: true,\r\n allowCall: allowCall,\r\n allowUnparenthesizedNew: false\r\n };\r\n },\r\n\r\n e12: {\r\n precedence: Precedence.Primary,\r\n allowIn: false,\r\n allowCall: false,\r\n allowUnparenthesizedNew: true\r\n },\r\n\r\n e13: {\r\n precedence: Precedence.Primary,\r\n allowIn: true,\r\n allowCall: true,\r\n allowUnparenthesizedNew: true\r\n },\r\n\r\n\r\n e14: {\r\n precedence: Precedence.Sequence,\r\n allowIn: false,\r\n allowCall: true,\r\n allowUnparenthesizedNew: true\r\n },\r\n\r\n\r\n e15: function (allowCall) {\r\n return {\r\n precedence: Precedence.Sequence,\r\n allowIn: true,\r\n allowCall: allowCall,\r\n allowUnparenthesizedNew: true\r\n };\r\n },\r\n\r\n e16: function (precedence, allowIn) {\r\n return {\r\n precedence: precedence,\r\n allowIn: allowIn,\r\n allowCall: true,\r\n allowUnparenthesizedNew: true\r\n };\r\n },\r\n\r\n e17: function (allowIn) {\r\n return {\r\n precedence: Precedence.Call,\r\n allowIn: allowIn,\r\n allowCall: true,\r\n allowUnparenthesizedNew: true\r\n }\r\n },\r\n\r\n e18: function (allowIn) {\r\n return {\r\n precedence: Precedence.Assignment,\r\n allowIn: allowIn,\r\n allowCall: true,\r\n allowUnparenthesizedNew: true\r\n }\r\n },\r\n\r\n e19: {\r\n precedence: Precedence.Sequence,\r\n allowIn: true,\r\n allowCall: true,\r\n semicolonOptional: false\r\n },\r\n\r\n e20: {\r\n precedence: Precedence.Await,\r\n allowCall: true\r\n },\r\n\r\n s1: function (functionBody, semicolonOptional) {\r\n return {\r\n allowIn: true,\r\n functionBody: false,\r\n directiveContext: functionBody,\r\n semicolonOptional: semicolonOptional\r\n };\r\n },\r\n\r\n s2: {\r\n allowIn: true,\r\n functionBody: false,\r\n directiveContext: false,\r\n semicolonOptional: true\r\n },\r\n\r\n s3: function (allowIn) {\r\n return {\r\n allowIn: allowIn,\r\n functionBody: false,\r\n directiveContext: false,\r\n semicolonOptional: false\r\n };\r\n },\r\n\r\n s4: function (semicolonOptional) {\r\n return {\r\n allowIn: true,\r\n functionBody: false,\r\n directiveContext: false,\r\n semicolonOptional: semicolonOptional\r\n };\r\n },\r\n\r\n s5: function (semicolonOptional) {\r\n return {\r\n allowIn: true,\r\n functionBody: false,\r\n directiveContext: true,\r\n semicolonOptional: semicolonOptional,\r\n };\r\n },\r\n\r\n s6: {\r\n allowIn: false,\r\n functionBody: false,\r\n directiveContext: false,\r\n semicolonOptional: false\r\n },\r\n\r\n s7: {\r\n allowIn: true,\r\n functionBody: false,\r\n directiveContext: false,\r\n semicolonOptional: false\r\n },\r\n\r\n s8: {\r\n allowIn: true,\r\n functionBody: true,\r\n directiveContext: false,\r\n semicolonOptional: false\r\n }\r\n};\r\n\r\n\r\n//-------------------------------------------------===-------------------------------------------------------\r\n// Expressions\r\n//-------------------------------------------------===-------------------------------------------------------\r\n\r\n//Regular expressions\r\nvar FLOATING_OR_OCTAL_REGEXP = /[.eExX]|^0[0-9]+/,\r\n LAST_DECIMAL_DIGIT_REGEXP = /[0-9]$/;\r\n\r\n\r\n//Common expression generators\r\nfunction isLogicalExpression(node) {\r\n if (!node)\r\n return false;\r\n\r\n return node.type === Syntax.LogicalExpression;\r\n}\r\n\r\nfunction needParensForLogicalExpression (node, parent) {\r\n switch (node.operator) {\r\n case \"||\":\r\n if (!isLogicalExpression(parent)) return false;\r\n return parent.operator === \"??\" || parent.operator === \"&&\";\r\n\r\n case \"&&\":\r\n return isLogicalExpression(parent, {\r\n operator: \"??\"\r\n });\r\n\r\n case \"??\":\r\n return isLogicalExpression(parent) && parent.operator !== \"??\";\r\n }\r\n}\r\n\r\nfunction generateLogicalOrBinaryExpression ($expr, settings, $parent) {\r\n var op = $expr.operator,\r\n precedence = BinaryPrecedence[$expr.operator],\r\n parenthesize = precedence < settings.precedence,\r\n allowIn = settings.allowIn || parenthesize,\r\n operandGenSettings = Preset.e16(precedence, allowIn),\r\n exprJs = exprToJs($expr.left, operandGenSettings, $expr);\r\n\r\n parenthesize |= op === 'in' && !allowIn;\r\n\r\n var needParens = needParensForLogicalExpression($expr, $parent);\r\n\r\n if (parenthesize || needParens)\r\n _.js += '(';\r\n\r\n // 0x2F = '/'\r\n if (exprJs.charCodeAt(exprJs.length - 1) === 0x2F && isIdentifierCh(op.charCodeAt(0)))\r\n exprJs = exprJs + _.space + op;\r\n\r\n else\r\n exprJs = join(exprJs, op);\r\n\r\n operandGenSettings.precedence++;\r\n\r\n var rightJs = exprToJs($expr.right, operandGenSettings);\r\n\r\n //NOTE: If '/' concats with '/' or `<` concats with `!--`, it is interpreted as comment start\r\n if (op === '/' && rightJs.charAt(0) === '/' || op.slice(-1) === '<' && rightJs.slice(0, 3) === '!--')\r\n exprJs += _.space + rightJs;\r\n\r\n else\r\n exprJs = join(exprJs, rightJs);\r\n\r\n _.js += exprJs;\r\n\r\n if (parenthesize || needParens)\r\n _.js += ')';\r\n}\r\n\r\nfunction generateArrayPatternOrExpression ($expr) {\r\n var $elems = $expr.elements,\r\n elemCount = $elems.length;\r\n\r\n if (elemCount) {\r\n var lastElemIdx = elemCount - 1,\r\n multiline = elemCount > 1,\r\n prevIndent = shiftIndent(),\r\n itemPrefix = _.newline + _.indent;\r\n\r\n _.js += '[';\r\n\r\n for (var i = 0; i < elemCount; i++) {\r\n var $elem = $elems[i];\r\n\r\n if (multiline)\r\n _.js += itemPrefix;\r\n\r\n if ($elem)\r\n ExprGen[$elem.type]($elem, Preset.e4);\r\n\r\n if (i !== lastElemIdx || !$elem)\r\n _.js += ',';\r\n }\r\n\r\n _.indent = prevIndent;\r\n\r\n if (multiline)\r\n _.js += _.newline + _.indent;\r\n\r\n _.js += ']';\r\n }\r\n\r\n else\r\n _.js += '[]';\r\n}\r\n\r\nfunction generateGeneratorOrComprehensionExpression ($expr) {\r\n //NOTE: GeneratorExpression should be parenthesized with (...), ComprehensionExpression with [...]\r\n var $blocks = $expr.blocks,\r\n $filter = $expr.filter,\r\n isGenerator = $expr.type === Syntax.GeneratorExpression,\r\n exprJs = isGenerator ? '(' : '[',\r\n bodyJs = exprToJs($expr.body, Preset.e4);\r\n\r\n if ($blocks) {\r\n var prevIndent = shiftIndent(),\r\n blockCount = $blocks.length;\r\n\r\n for (var i = 0; i < blockCount; ++i) {\r\n var blockJs = exprToJs($blocks[i], Preset.e5);\r\n\r\n exprJs = i > 0 ? join(exprJs, blockJs) : (exprJs + blockJs);\r\n }\r\n\r\n _.indent = prevIndent;\r\n }\r\n\r\n if ($filter) {\r\n var filterJs = exprToJs($filter, Preset.e5);\r\n\r\n exprJs = join(exprJs, 'if' + _.optSpace);\r\n exprJs = join(exprJs, '(' + filterJs + ')');\r\n }\r\n\r\n exprJs = join(exprJs, bodyJs);\r\n exprJs += isGenerator ? ')' : ']';\r\n\r\n _.js += exprJs;\r\n}\r\n\r\n\r\n//Expression raw generator dictionary\r\nvar ExprRawGen = {\r\n SequenceExpression: function generateSequenceExpression ($expr, settings) {\r\n var $children = $expr.expressions,\r\n childrenCount = $children.length,\r\n lastChildIdx = childrenCount - 1,\r\n parenthesize = Precedence.Sequence < settings.precedence,\r\n exprGenSettings = Preset.e1(settings.allowIn || parenthesize);\r\n\r\n if (parenthesize)\r\n _.js += '(';\r\n\r\n for (var i = 0; i < childrenCount; i++) {\r\n var $child = $children[i];\r\n\r\n ExprGen[$child.type]($child, exprGenSettings);\r\n\r\n if (i !== lastChildIdx)\r\n _.js += ',' + _.optSpace;\r\n }\r\n\r\n if (parenthesize)\r\n _.js += ')';\r\n },\r\n\r\n AssignmentExpression: function generateAssignmentExpression ($expr, settings) {\r\n var $left = $expr.left,\r\n $right = $expr.right,\r\n parenthesize = Precedence.Assignment < settings.precedence,\r\n allowIn = settings.allowIn || parenthesize;\r\n\r\n if (parenthesize)\r\n _.js += '(';\r\n\r\n ExprGen[$left.type]($left, Preset.e17(allowIn));\r\n _.js += _.optSpace + $expr.operator + _.optSpace;\r\n ExprGen[$right.type]($right, Preset.e18(allowIn));\r\n\r\n if (parenthesize)\r\n _.js += ')';\r\n },\r\n\r\n AssignmentPattern: function generateAssignmentPattern ($node) {\r\n var $fakeAssign = {\r\n left: $node.left,\r\n right: $node.right,\r\n operator: '='\r\n };\r\n\r\n ExprGen.AssignmentExpression($fakeAssign, Preset.e4);\r\n },\r\n\r\n ArrowFunctionExpression: function generateArrowFunctionExpression ($expr, settings) {\r\n var parenthesize = Precedence.ArrowFunction < settings.precedence;\r\n\r\n if (parenthesize)\r\n _.js += '(';\r\n\r\n if ($expr.async)\r\n _.js += 'async ';\r\n\r\n generateFunctionBody($expr);\r\n\r\n if (parenthesize)\r\n _.js += ')';\r\n },\r\n\r\n AwaitExpression: function generateAwaitExpression ($expr, settings) {\r\n var parenthesize = Precedence.Await < settings.precedence;\r\n\r\n if (parenthesize)\r\n _.js += '(';\r\n\r\n _.js += $expr.all ? 'await* ' : 'await ';\r\n\r\n ExprGen[$expr.argument.type]($expr.argument, Preset.e20);\r\n\r\n if (parenthesize)\r\n _.js += ')';\r\n },\r\n\r\n ConditionalExpression: function generateConditionalExpression ($expr, settings) {\r\n var $test = $expr.test,\r\n $conseq = $expr.consequent,\r\n $alt = $expr.alternate,\r\n parenthesize = Precedence.Conditional < settings.precedence,\r\n allowIn = settings.allowIn || parenthesize,\r\n testGenSettings = Preset.e2(allowIn),\r\n branchGenSettings = Preset.e1(allowIn);\r\n\r\n if (parenthesize)\r\n _.js += '(';\r\n\r\n ExprGen[$test.type]($test, testGenSettings);\r\n _.js += _.optSpace + '?' + _.optSpace;\r\n ExprGen[$conseq.type]($conseq, branchGenSettings);\r\n _.js += _.optSpace + ':' + _.optSpace;\r\n ExprGen[$alt.type]($alt, branchGenSettings);\r\n\r\n if (parenthesize)\r\n _.js += ')';\r\n },\r\n\r\n LogicalExpression: generateLogicalOrBinaryExpression,\r\n\r\n BinaryExpression: generateLogicalOrBinaryExpression,\r\n\r\n CallExpression: function generateCallExpression ($expr, settings) {\r\n var $callee = $expr.callee,\r\n $args = $expr['arguments'],\r\n argCount = $args.length,\r\n lastArgIdx = argCount - 1,\r\n parenthesize = !settings.allowCall || Precedence.Call < settings.precedence;\r\n\r\n if (parenthesize)\r\n _.js += '(';\r\n\r\n ExprGen[$callee.type]($callee, Preset.e3);\r\n\r\n if ($expr.optional)\r\n _.js += '?.';\r\n\r\n _.js += '(';\r\n\r\n for (var i = 0; i < argCount; ++i) {\r\n var $arg = $args[i];\r\n\r\n ExprGen[$arg.type]($arg, Preset.e4);\r\n\r\n if (i !== lastArgIdx)\r\n _.js += ',' + _.optSpace;\r\n }\r\n\r\n _.js += ')';\r\n\r\n if (parenthesize)\r\n _.js += ')';\r\n },\r\n\r\n NewExpression: function generateNewExpression ($expr, settings) {\r\n var $args = $expr['arguments'],\r\n parenthesize = Precedence.New < settings.precedence,\r\n argCount = $args.length,\r\n lastArgIdx = argCount - 1,\r\n withCall = !settings.allowUnparenthesizedNew || parentheses || argCount > 0,\r\n calleeJs = exprToJs($expr.callee, Preset.e6(!withCall));\r\n\r\n if (parenthesize)\r\n _.js += '(';\r\n\r\n _.js += join('new', calleeJs);\r\n\r\n if (withCall) {\r\n _.js += '(';\r\n\r\n for (var i = 0; i < argCount; ++i) {\r\n var $arg = $args[i];\r\n\r\n ExprGen[$arg.type]($arg, Preset.e4);\r\n\r\n if (i !== lastArgIdx)\r\n _.js += ',' + _.optSpace;\r\n }\r\n\r\n _.js += ')';\r\n }\r\n\r\n if (parenthesize)\r\n _.js += ')';\r\n },\r\n\r\n MemberExpression: function generateMemberExpression ($expr, settings) {\r\n var $obj = $expr.object,\r\n $prop = $expr.property,\r\n parenthesize = Precedence.Member < settings.precedence,\r\n isNumObj = !$expr.computed && $obj.type === Syntax.Literal && typeof $obj.value === 'number';\r\n\r\n if (parenthesize)\r\n _.js += '(';\r\n\r\n if (isNumObj) {\r\n\r\n //NOTE: When the following conditions are all true:\r\n // 1. No floating point\r\n // 2. Don't have exponents\r\n // 3. The last character is a decimal digit\r\n // 4. Not hexadecimal OR octal number literal\r\n // then we should add a floating point.\r\n\r\n var numJs = exprToJs($obj, Preset.e11(settings.allowCall)),\r\n withPoint = LAST_DECIMAL_DIGIT_REGEXP.test(numJs) && !FLOATING_OR_OCTAL_REGEXP.test(numJs);\r\n\r\n _.js += withPoint ? (numJs + '.') : numJs;\r\n }\r\n\r\n else\r\n ExprGen[$obj.type]($obj, Preset.e11(settings.allowCall));\r\n\r\n if ($expr.computed) {\r\n if ($expr.optional)\r\n _.js += '?.';\r\n\r\n _.js += '[';\r\n ExprGen[$prop.type]($prop, Preset.e15(settings.allowCall));\r\n _.js += ']';\r\n }\r\n\r\n else\r\n _.js += ($expr.optional ? '?.' : '.') + $prop.name;\r\n\r\n if (parenthesize)\r\n _.js += ')';\r\n },\r\n\r\n UnaryExpression: function generateUnaryExpression ($expr, settings) {\r\n var parenthesize = Precedence.Unary < settings.precedence,\r\n op = $expr.operator,\r\n argJs = exprToJs($expr.argument, Preset.e7);\r\n\r\n if (parenthesize)\r\n _.js += '(';\r\n\r\n //NOTE: delete, void, typeof\r\n // get `typeof []`, not `typeof[]`\r\n if (_.optSpace === '' || op.length > 2)\r\n _.js += join(op, argJs);\r\n\r\n else {\r\n _.js += op;\r\n\r\n //NOTE: Prevent inserting spaces between operator and argument if it is unnecessary\r\n // like, `!cond`\r\n var leftCp = op.charCodeAt(op.length - 1),\r\n rightCp = argJs.charCodeAt(0);\r\n\r\n // 0x2B = '+', 0x2D = '-'\r\n if (leftCp === rightCp && (leftCp === 0x2B || leftCp === 0x2D) ||\r\n isIdentifierCh(leftCp) && isIdentifierCh(rightCp)) {\r\n _.js += _.space;\r\n }\r\n\r\n _.js += argJs;\r\n }\r\n\r\n if (parenthesize)\r\n _.js += ')';\r\n },\r\n\r\n YieldExpression: function generateYieldExpression ($expr, settings) {\r\n var $arg = $expr.argument,\r\n js = $expr.delegate ? 'yield*' : 'yield',\r\n parenthesize = Precedence.Yield < settings.precedence;\r\n\r\n if (parenthesize)\r\n _.js += '(';\r\n\r\n if ($arg) {\r\n var argJs = exprToJs($arg, Preset.e4);\r\n\r\n js = join(js, argJs);\r\n }\r\n\r\n _.js += js;\r\n\r\n if (parenthesize)\r\n _.js += ')';\r\n },\r\n\r\n UpdateExpression: function generateUpdateExpression ($expr, settings) {\r\n var $arg = $expr.argument,\r\n $op = $expr.operator,\r\n prefix = $expr.prefix,\r\n precedence = prefix ? Precedence.Unary : Precedence.Postfix,\r\n parenthesize = precedence < settings.precedence;\r\n\r\n if (parenthesize)\r\n _.js += '(';\r\n\r\n if (prefix) {\r\n _.js += $op;\r\n ExprGen[$arg.type]($arg, Preset.e8);\r\n\r\n }\r\n\r\n else {\r\n ExprGen[$arg.type]($arg, Preset.e8);\r\n _.js += $op;\r\n }\r\n\r\n if (parenthesize)\r\n _.js += ')';\r\n },\r\n\r\n FunctionExpression: function generateFunctionExpression ($expr) {\r\n var isGenerator = !!$expr.generator;\r\n\r\n if ($expr.async)\r\n _.js += 'async ';\r\n\r\n _.js += isGenerator ? 'function*' : 'function';\r\n\r\n if ($expr.id) {\r\n _.js += isGenerator ? _.optSpace : _.space;\r\n _.js += $expr.id.name;\r\n }\r\n else\r\n _.js += _.optSpace;\r\n\r\n generateFunctionBody($expr);\r\n },\r\n\r\n ExportBatchSpecifier: function generateExportBatchSpecifier () {\r\n _.js += '*';\r\n },\r\n\r\n ArrayPattern: generateArrayPatternOrExpression,\r\n\r\n ArrayExpression: generateArrayPatternOrExpression,\r\n\r\n ClassExpression: function generateClassExpression ($expr) {\r\n var $id = $expr.id,\r\n $super = $expr.superClass,\r\n $body = $expr.body,\r\n exprJs = 'class';\r\n\r\n if ($id) {\r\n var idJs = exprToJs($id, Preset.e9);\r\n\r\n exprJs = join(exprJs, idJs);\r\n }\r\n\r\n if ($super) {\r\n var superJs = exprToJs($super, Preset.e4);\r\n\r\n superJs = join('extends', superJs);\r\n exprJs = join(exprJs, superJs);\r\n }\r\n\r\n _.js += exprJs + _.optSpace;\r\n StmtGen[$body.type]($body, Preset.s2);\r\n },\r\n\r\n MetaProperty: function generateMetaProperty ($expr, settings) {\r\n var $meta = $expr.meta,\r\n $property = $expr.property,\r\n parenthesize = Precedence.Member < settings.precedence;\r\n\r\n if (parenthesize)\r\n _.js += '(';\r\n\r\n _.js += (typeof $meta === \"string\" ? $meta : $meta.name) +\r\n '.' + (typeof $property === \"string\" ? $property : $property.name);\r\n\r\n if (parenthesize)\r\n _.js += ')';\r\n },\r\n\r\n MethodDefinition: function generateMethodDefinition ($expr) {\r\n var exprJs = $expr['static'] ? 'static' + _.optSpace : '',\r\n keyJs = exprToJs($expr.key, Preset.e5);\r\n\r\n if ($expr.computed)\r\n keyJs = '[' + keyJs + ']';\r\n\r\n if ($expr.kind === 'get' || $expr.kind === 'set') {\r\n keyJs = join($expr.kind, keyJs);\r\n _.js += join(exprJs, keyJs);\r\n }\r\n\r\n else {\r\n if ($expr.value.generator)\r\n _.js += exprJs + '*' + keyJs;\r\n else if ($expr.value.async)\r\n _.js += exprJs + 'async ' + keyJs;\r\n else\r\n _.js += join(exprJs, keyJs);\r\n }\r\n\r\n generateFunctionBody($expr.value);\r\n },\r\n\r\n Property: function generateProperty ($expr) {\r\n var $val = $expr.value,\r\n $kind = $expr.kind,\r\n keyJs = exprToJs($expr.key, Preset.e4);\r\n\r\n if ($expr.computed)\r\n keyJs = '[' + keyJs + ']';\r\n\r\n if ($kind === 'get' || $kind === 'set') {\r\n _.js += $kind + _.space + keyJs;\r\n generateFunctionBody($val);\r\n }\r\n\r\n else {\r\n if ($expr.shorthand)\r\n _.js += keyJs;\r\n\r\n else if ($expr.method) {\r\n if ($val.generator)\r\n keyJs = '*' + keyJs;\r\n else if ($val.async)\r\n keyJs = 'async ' + keyJs;\r\n\r\n _.js += keyJs;\r\n generateFunctionBody($val)\r\n }\r\n\r\n else {\r\n _.js += keyJs + ':' + _.optSpace;\r\n ExprGen[$val.type]($val, Preset.e4);\r\n }\r\n }\r\n },\r\n\r\n ObjectExpression: function generateObjectExpression ($expr) {\r\n var $props = $expr.properties,\r\n propCount = $props.length;\r\n\r\n if (propCount) {\r\n var lastPropIdx = propCount - 1,\r\n prevIndent = shiftIndent();\r\n\r\n _.js += '{';\r\n\r\n for (var i = 0; i < propCount; i++) {\r\n var $prop = $props[i],\r\n propType = $prop.type || Syntax.Property;\r\n\r\n _.js += _.newline + _.indent;\r\n ExprGen[propType]($prop, Preset.e5);\r\n\r\n if (i !== lastPropIdx)\r\n _.js += ',';\r\n }\r\n\r\n _.indent = prevIndent;\r\n _.js += _.newline + _.indent + '}';\r\n }\r\n\r\n else\r\n _.js += '{}';\r\n },\r\n\r\n ObjectPattern: function generateObjectPattern ($expr) {\r\n var $props = $expr.properties,\r\n propCount = $props.length;\r\n\r\n if (propCount) {\r\n var lastPropIdx = propCount - 1,\r\n multiline = false;\r\n\r\n if (propCount === 1)\r\n multiline = $props[0].value.type !== Syntax.Identifier;\r\n\r\n else {\r\n for (var i = 0; i < propCount; i++) {\r\n if (!$props[i].shorthand) {\r\n multiline = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n _.js += multiline ? ('{' + _.newline) : '{';\r\n\r\n var prevIndent = shiftIndent(),\r\n propSuffix = ',' + (multiline ? _.newline : _.optSpace);\r\n\r\n for (var i = 0; i < propCount; i++) {\r\n var $prop = $props[i];\r\n\r\n if (multiline)\r\n _.js += _.indent;\r\n\r\n ExprGen[$prop.type]($prop, Preset.e5);\r\n\r\n if (i !== lastPropIdx)\r\n _.js += propSuffix;\r\n }\r\n\r\n _.indent = prevIndent;\r\n _.js += multiline ? (_.newline + _.indent + '}') : '}';\r\n }\r\n else\r\n _.js += '{}';\r\n },\r\n\r\n ThisExpression: function generateThisExpression () {\r\n _.js += 'this';\r\n },\r\n\r\n Identifier: function generateIdentifier ($expr, precedence, flag) {\r\n _.js += $expr.name;\r\n },\r\n\r\n ImportExpression: function generateImportExpression ($expr, settings) {\r\n var parenthesize = Precedence.Call < settings.precedence;\r\n var $source = $expr.source;\r\n\r\n if (parenthesize)\r\n _.js += '(';\r\n\r\n _.js += 'import(';\r\n\r\n ExprGen[$source.type]($source, Preset.e4);\r\n\r\n _.js += ')';\r\n\r\n if (parenthesize)\r\n _.js += ')';\r\n },\r\n\r\n ImportSpecifier: function generateImportSpecifier ($expr) {\r\n _.js += $expr.imported.name;\r\n\r\n if ($expr.local)\r\n _.js += _.space + 'as' + _.space + $expr.local.name;\r\n },\r\n\r\n ExportSpecifier: function generateImportOrExportSpecifier ($expr) {\r\n _.js += $expr.local.name;\r\n\r\n if ($expr.exported)\r\n _.js += _.space + 'as' + _.space + $expr.exported.name;\r\n },\r\n\r\n ChainExpression: function generateChainExpression ($expr, settings) {\r\n var parenthesize = Precedence.OptionalChaining < settings.precedence;\r\n var $expression = $expr.expression;\r\n\r\n settings = settings || {};\r\n\r\n var newSettings = {\r\n precedence: Precedence.OptionalChaining,\r\n allowIn: settings.allowIn ,\r\n allowCall: settings.allowCall,\r\n\r\n allowUnparenthesizedNew: settings.allowUnparenthesizedNew\r\n }\r\n\r\n if (parenthesize) {\r\n newSettings.allowCall = true;\r\n _.js += '(';\r\n }\r\n\r\n ExprGen[$expression.type]($expression, newSettings);\r\n\r\n if (parenthesize)\r\n _.js += ')';\r\n },\r\n\r\n Literal: function generateLiteral ($expr) {\r\n if (extra.raw && $expr.raw !== void 0)\r\n _.js += $expr.raw;\r\n\r\n else if ($expr.value === null)\r\n _.js += 'null';\r\n\r\n else {\r\n var valueType = typeof $expr.value;\r\n\r\n if (valueType === 'string')\r\n _.js += escapeString($expr.value);\r\n\r\n else if (valueType === 'number')\r\n _.js += generateNumber($expr.value);\r\n\r\n else if (valueType === 'boolean')\r\n _.js += $expr.value ? 'true' : 'false';\r\n\r\n else\r\n _.js += generateRegExp($expr.value);\r\n }\r\n },\r\n\r\n GeneratorExpression: generateGeneratorOrComprehensionExpression,\r\n\r\n ComprehensionExpression: generateGeneratorOrComprehensionExpression,\r\n\r\n ComprehensionBlock: function generateComprehensionBlock ($expr) {\r\n var $left = $expr.left,\r\n leftJs = void 0,\r\n rightJs = exprToJs($expr.right, Preset.e5);\r\n\r\n if ($left.type === Syntax.VariableDeclaration)\r\n leftJs = $left.kind + _.space + stmtToJs($left.declarations[0], Preset.s6);\r\n\r\n else\r\n leftJs = exprToJs($left, Preset.e10);\r\n\r\n leftJs = join(leftJs, $expr.of ? 'of' : 'in');\r\n\r\n _.js += 'for' + _.optSpace + '(' + join(leftJs, rightJs) + ')';\r\n },\r\n\r\n RestElement: function generateRestElement ($node) {\r\n _.js += '...' + $node.argument.name;\r\n },\r\n\r\n SpreadElement: function generateSpreadElement ($expr) {\r\n var $arg = $expr.argument;\r\n\r\n _.js += '...';\r\n ExprGen[$arg.type]($arg, Preset.e4);\r\n },\r\n\r\n TaggedTemplateExpression: function generateTaggedTemplateExpression ($expr, settings) {\r\n var $tag = $expr.tag,\r\n $quasi = $expr.quasi,\r\n parenthesize = Precedence.TaggedTemplate < settings.precedence;\r\n\r\n if (parenthesize)\r\n _.js += '(';\r\n\r\n ExprGen[$tag.type]($tag, Preset.e11(settings.allowCall));\r\n ExprGen[$quasi.type]($quasi, Preset.e12);\r\n\r\n if (parenthesize)\r\n _.js += ')';\r\n },\r\n\r\n TemplateElement: function generateTemplateElement ($expr) {\r\n //NOTE: Don't use \"cooked\". Since tagged template can use raw template\r\n // representation. So if we do so, it breaks the script semantics.\r\n _.js += $expr.value.raw;\r\n },\r\n\r\n TemplateLiteral: function generateTemplateLiteral ($expr) {\r\n var $quasis = $expr.quasis,\r\n $childExprs = $expr.expressions,\r\n quasiCount = $quasis.length,\r\n lastQuasiIdx = quasiCount - 1;\r\n\r\n _.js += '`';\r\n\r\n for (var i = 0; i < quasiCount; ++i) {\r\n var $quasi = $quasis[i];\r\n\r\n ExprGen[$quasi.type]($quasi, Preset.e13);\r\n\r\n if (i !== lastQuasiIdx) {\r\n var $childExpr = $childExprs[i];\r\n\r\n _.js += '${' + _.optSpace;\r\n ExprGen[$childExpr.type]($childExpr, Preset.e5);\r\n _.js += _.optSpace + '}';\r\n }\r\n }\r\n\r\n _.js += '`';\r\n },\r\n\r\n Super: function generateSuper () {\r\n _.js += 'super';\r\n }\r\n};\r\n\r\n\r\n//-------------------------------------------------===------------------------------------------------------\r\n// Statements\r\n//-------------------------------------------------===------------------------------------------------------\r\n\r\n\r\n//Regular expressions\r\nvar EXPR_STMT_UNALLOWED_EXPR_REGEXP = /^{|^class(?:\\s|{)|^(async )?function(?:\\s|\\*|\\()/;\r\n\r\n\r\n//Common statement generators\r\nfunction generateTryStatementHandlers (stmtJs, $finalizer, handlers) {\r\n var handlerCount = handlers.length,\r\n lastHandlerIdx = handlerCount - 1;\r\n\r\n for (var i = 0; i < handlerCount; ++i) {\r\n var handlerJs = stmtToJs(handlers[i], Preset.s7);\r\n\r\n stmtJs = join(stmtJs, handlerJs);\r\n\r\n if ($finalizer || i !== lastHandlerIdx)\r\n stmtJs += adoptionSuffix(handlers[i].body);\r\n }\r\n\r\n return stmtJs;\r\n}\r\n\r\nfunction generateForStatementIterator ($op, $stmt, settings) {\r\n var $body = $stmt.body,\r\n $left = $stmt.left,\r\n bodySemicolonOptional = !semicolons && settings.semicolonOptional,\r\n prevIndent1 = shiftIndent(),\r\n awaitStr = $stmt.await ? ' await' : '',\r\n stmtJs = 'for' + awaitStr + _.optSpace + '(';\r\n\r\n if ($left.type === Syntax.VariableDeclaration) {\r\n var prevIndent2 = shiftIndent();\r\n\r\n stmtJs += $left.kind + _.space + stmtToJs($left.declarations[0], Preset.s6);\r\n _.indent = prevIndent2;\r\n }\r\n\r\n else\r\n stmtJs += exprToJs($left, Preset.e10);\r\n\r\n stmtJs = join(stmtJs, $op);\r\n\r\n var rightJs = exprToJs($stmt.right, Preset.e4);\r\n\r\n stmtJs = join(stmtJs, rightJs) + ')';\r\n\r\n _.indent = prevIndent1;\r\n\r\n _.js += stmtJs + adoptionPrefix($body);\r\n StmtGen[$body.type]($body, Preset.s4(bodySemicolonOptional));\r\n}\r\n\r\n\r\n//Statement generator dictionary\r\nvar StmtRawGen = {\r\n BlockStatement: function generateBlockStatement ($stmt, settings) {\r\n var $body = $stmt.body,\r\n len = $body.length,\r\n lastIdx = len - 1,\r\n prevIndent = shiftIndent();\r\n\r\n _.js += '{' + _.newline;\r\n\r\n for (var i = 0; i < len; i++) {\r\n var $item = $body[i];\r\n\r\n _.js += _.indent;\r\n StmtGen[$item.type]($item, Preset.s1(settings.functionBody, i === lastIdx));\r\n _.js += _.newline;\r\n }\r\n\r\n _.indent = prevIndent;\r\n _.js += _.indent + '}';\r\n },\r\n\r\n BreakStatement: function generateBreakStatement ($stmt, settings) {\r\n if ($stmt.label)\r\n _.js += 'break ' + $stmt.label.name;\r\n\r\n else\r\n _.js += 'break';\r\n\r\n if (semicolons || !settings.semicolonOptional)\r\n _.js += ';';\r\n },\r\n\r\n ContinueStatement: function generateContinueStatement ($stmt, settings) {\r\n if ($stmt.label)\r\n _.js += 'continue ' + $stmt.label.name;\r\n\r\n else\r\n _.js += 'continue';\r\n\r\n if (semicolons || !settings.semicolonOptional)\r\n _.js += ';';\r\n },\r\n\r\n ClassBody: function generateClassBody ($stmt) {\r\n var $body = $stmt.body,\r\n itemCount = $body.length,\r\n lastItemIdx = itemCount - 1,\r\n prevIndent = shiftIndent();\r\n\r\n _.js += '{' + _.newline;\r\n\r\n for (var i = 0; i < itemCount; i++) {\r\n var $item = $body[i],\r\n itemType = $item.type || Syntax.Property;\r\n\r\n _.js += _.indent;\r\n ExprGen[itemType]($item, Preset.e5);\r\n\r\n if (i !== lastItemIdx)\r\n _.js += _.newline;\r\n }\r\n\r\n _.indent = prevIndent;\r\n _.js += _.newline + _.indent + '}';\r\n },\r\n\r\n ClassDeclaration: function generateClassDeclaration ($stmt) {\r\n var $body = $stmt.body,\r\n $super = $stmt.superClass,\r\n js = 'class ' + $stmt.id.name;\r\n\r\n if ($super) {\r\n var superJs = exprToJs($super, Preset.e4);\r\n\r\n js += _.space + join('extends', superJs);\r\n }\r\n\r\n _.js += js + _.optSpace;\r\n StmtGen[$body.type]($body, Preset.s2);\r\n },\r\n\r\n DirectiveStatement: function generateDirectiveStatement ($stmt, settings) {\r\n if (extra.raw && $stmt.raw)\r\n _.js += $stmt.raw;\r\n\r\n else\r\n _.js += escapeDirective($stmt.directive);\r\n\r\n if (semicolons || !settings.semicolonOptional)\r\n _.js += ';';\r\n },\r\n\r\n DoWhileStatement: function generateDoWhileStatement ($stmt, settings) {\r\n var $body = $stmt.body,\r\n $test = $stmt.test,\r\n bodyJs = adoptionPrefix($body) +\r\n stmtToJs($body, Preset.s7) +\r\n adoptionSuffix($body);\r\n\r\n //NOTE: Because `do 42 while (cond)` is Syntax Error. We need semicolon.\r\n var stmtJs = join('do', bodyJs);\r\n\r\n _.js += join(stmtJs, 'while' + _.optSpace + '(');\r\n ExprGen[$test.type]($test, Preset.e5);\r\n _.js += ')';\r\n\r\n if (semicolons || !settings.semicolonOptional)\r\n _.js += ';';\r\n },\r\n\r\n CatchClause: function generateCatchClause ($stmt) {\r\n var $param = $stmt.param,\r\n $guard = $stmt.guard,\r\n $body = $stmt.body,\r\n prevIndent = shiftIndent();\r\n\r\n _.js += 'catch' + _.optSpace;\r\n\r\n if ($param) {\r\n _.js += '(';\r\n ExprGen[$param.type]($param, Preset.e5);\r\n }\r\n\r\n if ($guard) {\r\n _.js += ' if ';\r\n ExprGen[$guard.type]($guard, Preset.e5);\r\n }\r\n\r\n _.indent = prevIndent;\r\n if ($param) {\r\n _.js += ')';\r\n }\r\n\r\n _.js += adoptionPrefix($body);\r\n StmtGen[$body.type]($body, Preset.s7);\r\n },\r\n\r\n DebuggerStatement: function generateDebuggerStatement ($stmt, settings) {\r\n _.js += 'debugger';\r\n\r\n if (semicolons || !settings.semicolonOptional)\r\n _.js += ';';\r\n },\r\n\r\n EmptyStatement: function generateEmptyStatement () {\r\n _.js += ';';\r\n },\r\n\r\n ExportAllDeclaration: function ($stmt, settings) {\r\n StmtRawGen.ExportDeclaration($stmt, settings, true);\r\n },\r\n\r\n ExportDeclaration: function generateExportDeclaration ($stmt, settings, exportAll) {\r\n var $specs = $stmt.specifiers,\r\n $decl = $stmt.declaration,\r\n withSemicolon = semicolons || !settings.semicolonOptional;\r\n\r\n // export default AssignmentExpression[In] ;\r\n if ($stmt['default']) {\r\n var declJs = exprToJs($decl, Preset.e4);\r\n\r\n _.js += join('export default', declJs);\r\n\r\n if (withSemicolon)\r\n _.js += ';';\r\n }\r\n\r\n // export * FromClause ;\r\n // export ExportClause[NoReference] FromClause ;\r\n // export ExportClause ;\r\n else if ($specs || exportAll) {\r\n var stmtJs = 'export';\r\n\r\n if (exportAll)\r\n stmtJs += _.optSpace + '*';\r\n\r\n else if ($specs.length === 0)\r\n stmtJs += _.optSpace + '{' + _.optSpace + '}';\r\n\r\n else if ($specs[0].type === Syntax.ExportBatchSpecifier) {\r\n var specJs = exprToJs($specs[0], Preset.e5);\r\n\r\n stmtJs = join(stmtJs, specJs);\r\n }\r\n\r\n else {\r\n var prevIndent = shiftIndent(),\r\n specCount = $specs.length,\r\n lastSpecIdx = specCount - 1;\r\n\r\n stmtJs += _.optSpace + '{';\r\n\r\n for (var i = 0; i < specCount; ++i) {\r\n stmtJs += _.newline + _.indent;\r\n stmtJs += exprToJs($specs[i], Preset.e5);\r\n\r\n if (i !== lastSpecIdx)\r\n stmtJs += ',';\r\n }\r\n\r\n _.indent = prevIndent;\r\n stmtJs += _.newline + _.indent + '}';\r\n }\r\n\r\n if ($stmt.source) {\r\n _.js += join(stmtJs, 'from' + _.optSpace);\r\n ExprGen.Literal($stmt.source);\r\n }\r\n\r\n else\r\n _.js += stmtJs;\r\n\r\n if (withSemicolon)\r\n _.js += ';';\r\n }\r\n\r\n // export VariableStatement\r\n // export Declaration[Default]\r\n else if ($decl) {\r\n var declJs = stmtToJs($decl, Preset.s4(!withSemicolon));\r\n\r\n _.js += join('export', declJs);\r\n }\r\n },\r\n\r\n ExportNamedDeclaration: function ($stmt, settings) {\r\n StmtRawGen.ExportDeclaration($stmt, settings);\r\n },\r\n\r\n ExpressionStatement: function generateExpressionStatement ($stmt, settings) {\r\n var exprJs = exprToJs($stmt.expression, Preset.e5),\r\n parenthesize = EXPR_STMT_UNALLOWED_EXPR_REGEXP.test(exprJs) ||\r\n (directive &&\r\n settings.directiveContext &&\r\n $stmt.expression.type === Syntax.Literal &&\r\n typeof $stmt.expression.value === 'string');\r\n\r\n //NOTE: '{', 'function', 'class' are not allowed in expression statement.\r\n // Therefore, they should be parenthesized.\r\n if (parenthesize)\r\n _.js += '(' + exprJs + ')';\r\n\r\n else\r\n _.js += exprJs;\r\n\r\n if (semicolons || !settings.semicolonOptional)\r\n _.js += ';';\r\n },\r\n\r\n ImportDeclaration: function generateImportDeclaration ($stmt, settings) {\r\n var $specs = $stmt.specifiers,\r\n stmtJs = 'import',\r\n specCount = $specs.length;\r\n\r\n //NOTE: If no ImportClause is present,\r\n // this should be `import ModuleSpecifier` so skip `from`\r\n // ModuleSpecifier is StringLiteral.\r\n if (specCount) {\r\n var hasBinding = !!$specs[0]['default'],\r\n firstNamedIdx = hasBinding ? 1 : 0,\r\n lastSpecIdx = specCount - 1;\r\n\r\n // ImportedBinding\r\n if (hasBinding)\r\n stmtJs = join(stmtJs, $specs[0].id.name);\r\n\r\n // NamedImports\r\n if (firstNamedIdx < specCount) {\r\n if (hasBinding)\r\n stmtJs += ',';\r\n\r\n stmtJs += _.optSpace + '{';\r\n\r\n // import { ... } from \"...\";\r\n if (firstNamedIdx === lastSpecIdx)\r\n stmtJs += _.optSpace + exprToJs($specs[firstNamedIdx], Preset.e5) + _.optSpace;\r\n\r\n else {\r\n var prevIndent = shiftIndent();\r\n\r\n // import {\r\n // ...,\r\n // ...,\r\n // } from \"...\";\r\n for (var i = firstNamedIdx; i < specCount; i++) {\r\n stmtJs += _.newline + _.indent + exprToJs($specs[i], Preset.e5);\r\n\r\n if (i !== lastSpecIdx)\r\n stmtJs += ',';\r\n }\r\n\r\n _.indent = prevIndent;\r\n stmtJs += _.newline + _.indent;\r\n }\r\n\r\n stmtJs += '}' + _.optSpace;\r\n }\r\n\r\n stmtJs = join(stmtJs, 'from')\r\n }\r\n\r\n _.js += stmtJs + _.optSpace;\r\n ExprGen.Literal($stmt.source);\r\n\r\n if (semicolons || !settings.semicolonOptional)\r\n _.js += ';';\r\n },\r\n\r\n VariableDeclarator: function generateVariableDeclarator ($stmt, settings) {\r\n var $id = $stmt.id,\r\n $init = $stmt.init,\r\n genSettings = Preset.e1(settings.allowIn);\r\n\r\n if ($init) {\r\n ExprGen[$id.type]($id, genSettings);\r\n _.js += _.optSpace + '=' + _.optSpace;\r\n ExprGen[$init.type]($init, genSettings, $stmt);\r\n }\r\n\r\n else {\r\n if ($id.type === Syntax.Identifier)\r\n _.js += $id.name;\r\n\r\n else\r\n ExprGen[$id.type]($id, genSettings);\r\n }\r\n },\r\n\r\n VariableDeclaration: function generateVariableDeclaration ($stmt, settings) {\r\n var $decls = $stmt.declarations,\r\n len = $decls.length,\r\n prevIndent = len > 1 ? shiftIndent() : _.indent,\r\n declGenSettings = Preset.s3(settings.allowIn);\r\n\r\n _.js += $stmt.kind;\r\n\r\n for (var i = 0; i < len; i++) {\r\n var $decl = $decls[i];\r\n\r\n _.js += i === 0 ? _.space : (',' + _.optSpace);\r\n StmtGen[$decl.type]($decl, declGenSettings);\r\n }\r\n\r\n if (semicolons || !settings.semicolonOptional)\r\n _.js += ';';\r\n\r\n _.indent = prevIndent;\r\n },\r\n\r\n ThrowStatement: function generateThrowStatement ($stmt, settings) {\r\n var argJs = exprToJs($stmt.argument, Preset.e5);\r\n\r\n _.js += join('throw', argJs);\r\n\r\n if (semicolons || !settings.semicolonOptional)\r\n _.js += ';';\r\n },\r\n\r\n TryStatement: function generateTryStatement ($stmt) {\r\n var $block = $stmt.block,\r\n $finalizer = $stmt.finalizer,\r\n stmtJs = 'try' +\r\n adoptionPrefix($block) +\r\n stmtToJs($block, Preset.s7) +\r\n adoptionSuffix($block);\r\n\r\n var $handlers = $stmt.handlers || $stmt.guardedHandlers;\r\n\r\n if ($handlers)\r\n stmtJs = generateTryStatementHandlers(stmtJs, $finalizer, $handlers);\r\n\r\n if ($stmt.handler) {\r\n $handlers = isArray($stmt.handler) ? $stmt.handler : [$stmt.handler];\r\n stmtJs = generateTryStatementHandlers(stmtJs, $finalizer, $handlers);\r\n }\r\n\r\n if ($finalizer) {\r\n stmtJs = join(stmtJs, 'finally' + adoptionPrefix($finalizer));\r\n stmtJs += stmtToJs($finalizer, Preset.s7);\r\n }\r\n\r\n _.js += stmtJs;\r\n },\r\n\r\n SwitchStatement: function generateSwitchStatement ($stmt) {\r\n var $cases = $stmt.cases,\r\n $discr = $stmt.discriminant,\r\n prevIndent = shiftIndent();\r\n\r\n _.js += 'switch' + _.optSpace + '(';\r\n ExprGen[$discr.type]($discr, Preset.e5);\r\n _.js += ')' + _.optSpace + '{' + _.newline;\r\n _.indent = prevIndent;\r\n\r\n if ($cases) {\r\n var caseCount = $cases.length,\r\n lastCaseIdx = caseCount - 1;\r\n\r\n for (var i = 0; i < caseCount; i++) {\r\n var $case = $cases[i];\r\n\r\n _.js += _.indent;\r\n StmtGen[$case.type]($case, Preset.s4(i === lastCaseIdx));\r\n _.js += _.newline;\r\n }\r\n }\r\n\r\n _.js += _.indent + '}';\r\n },\r\n\r\n SwitchCase: function generateSwitchCase ($stmt, settings) {\r\n var $conseqs = $stmt.consequent,\r\n $firstConseq = $conseqs[0],\r\n $test = $stmt.test,\r\n i = 0,\r\n conseqSemicolonOptional = !semicolons && settings.semicolonOptional,\r\n conseqCount = $conseqs.length,\r\n lastConseqIdx = conseqCount - 1,\r\n prevIndent = shiftIndent();\r\n\r\n if ($test) {\r\n var testJs = exprToJs($test, Preset.e5);\r\n\r\n _.js += join('case', testJs) + ':';\r\n }\r\n\r\n else\r\n _.js += 'default:';\r\n\r\n\r\n if (conseqCount && $firstConseq.type === Syntax.BlockStatement) {\r\n i++;\r\n _.js += adoptionPrefix($firstConseq);\r\n StmtGen[$firstConseq.type]($firstConseq, Preset.s7);\r\n }\r\n\r\n for (; i < conseqCount; i++) {\r\n var $conseq = $conseqs[i],\r\n semicolonOptional = i === lastConseqIdx && conseqSemicolonOptional;\r\n\r\n _.js += _.newline + _.indent;\r\n StmtGen[$conseq.type]($conseq, Preset.s4(semicolonOptional));\r\n }\r\n\r\n _.indent = prevIndent;\r\n },\r\n\r\n IfStatement: function generateIfStatement ($stmt, settings) {\r\n var $conseq = $stmt.consequent,\r\n $test = $stmt.test,\r\n prevIndent = shiftIndent(),\r\n semicolonOptional = !semicolons && settings.semicolonOptional;\r\n\r\n _.js += 'if' + _.optSpace + '(';\r\n ExprGen[$test.type]($test, Preset.e5);\r\n _.js += ')';\r\n _.indent = prevIndent;\r\n _.js += adoptionPrefix($conseq);\r\n\r\n if ($stmt.alternate) {\r\n var conseq = stmtToJs($conseq, Preset.s7) + adoptionSuffix($conseq),\r\n alt = stmtToJs($stmt.alternate, Preset.s4(semicolonOptional));\r\n\r\n if ($stmt.alternate.type === Syntax.IfStatement)\r\n alt = 'else ' + alt;\r\n\r\n else\r\n alt = join('else', adoptionPrefix($stmt.alternate) + alt);\r\n\r\n _.js += join(conseq, alt);\r\n }\r\n\r\n else\r\n StmtGen[$conseq.type]($conseq, Preset.s4(semicolonOptional));\r\n },\r\n\r\n ForStatement: function generateForStatement ($stmt, settings) {\r\n var $init = $stmt.init,\r\n $test = $stmt.test,\r\n $body = $stmt.body,\r\n $update = $stmt.update,\r\n bodySemicolonOptional = !semicolons && settings.semicolonOptional,\r\n prevIndent = shiftIndent();\r\n\r\n _.js += 'for' + _.optSpace + '(';\r\n\r\n if ($init) {\r\n if ($init.type === Syntax.VariableDeclaration)\r\n StmtGen[$init.type]($init, Preset.s6);\r\n\r\n else {\r\n ExprGen[$init.type]($init, Preset.e14);\r\n _.js += ';';\r\n }\r\n }\r\n\r\n else\r\n _.js += ';';\r\n\r\n if ($test) {\r\n _.js += _.optSpace;\r\n ExprGen[$test.type]($test, Preset.e5);\r\n }\r\n\r\n _.js += ';';\r\n\r\n if ($update) {\r\n _.js += _.optSpace;\r\n ExprGen[$update.type]($update, Preset.e5);\r\n }\r\n\r\n _.js += ')';\r\n _.indent = prevIndent;\r\n _.js += adoptionPrefix($body);\r\n StmtGen[$body.type]($body, Preset.s4(bodySemicolonOptional));\r\n },\r\n\r\n ForInStatement: function generateForInStatement ($stmt, settings) {\r\n generateForStatementIterator('in', $stmt, settings);\r\n },\r\n\r\n ForOfStatement: function generateForOfStatement ($stmt, settings) {\r\n generateForStatementIterator('of', $stmt, settings);\r\n },\r\n\r\n LabeledStatement: function generateLabeledStatement ($stmt, settings) {\r\n var $body = $stmt.body,\r\n bodySemicolonOptional = !semicolons && settings.semicolonOptional,\r\n prevIndent = _.indent;\r\n\r\n _.js += $stmt.label.name + ':' + adoptionPrefix($body);\r\n\r\n if ($body.type !== Syntax.BlockStatement)\r\n prevIndent = shiftIndent();\r\n\r\n StmtGen[$body.type]($body, Preset.s4(bodySemicolonOptional));\r\n _.indent = prevIndent;\r\n },\r\n\r\n ModuleDeclaration: function generateModuleDeclaration ($stmt, settings) {\r\n _.js += 'module' + _.space + $stmt.id.name + _.space + 'from' + _.optSpace;\r\n\r\n ExprGen.Literal($stmt.source);\r\n\r\n if (semicolons || !settings.semicolonOptional)\r\n _.js += ';';\r\n },\r\n\r\n Program: function generateProgram ($stmt) {\r\n var $body = $stmt.body,\r\n len = $body.length,\r\n lastIdx = len - 1;\r\n\r\n if (safeConcatenation && len > 0)\r\n _.js += '\\n';\r\n\r\n for (var i = 0; i < len; i++) {\r\n var $item = $body[i];\r\n\r\n _.js += _.indent;\r\n StmtGen[$item.type]($item, Preset.s5(!safeConcatenation && i === lastIdx));\r\n\r\n if (i !== lastIdx)\r\n _.js += _.newline;\r\n }\r\n },\r\n\r\n FunctionDeclaration: function generateFunctionDeclaration ($stmt) {\r\n var isGenerator = !!$stmt.generator;\r\n\r\n if ($stmt.async)\r\n _.js += 'async ';\r\n\r\n _.js += isGenerator ? ('function*' + _.optSpace) : ('function' + _.space );\r\n _.js += $stmt.id.name;\r\n generateFunctionBody($stmt);\r\n },\r\n\r\n ReturnStatement: function generateReturnStatement ($stmt, settings) {\r\n var $arg = $stmt.argument;\r\n\r\n if ($arg) {\r\n var argJs = exprToJs($arg, Preset.e5);\r\n\r\n _.js += join('return', argJs);\r\n }\r\n\r\n else\r\n _.js += 'return';\r\n\r\n if (semicolons || !settings.semicolonOptional)\r\n _.js += ';';\r\n },\r\n\r\n WhileStatement: function generateWhileStatement ($stmt, settings) {\r\n var $body = $stmt.body,\r\n $test = $stmt.test,\r\n bodySemicolonOptional = !semicolons && settings.semicolonOptional,\r\n prevIndent = shiftIndent();\r\n\r\n _.js += 'while' + _.optSpace + '(';\r\n ExprGen[$test.type]($test, Preset.e5);\r\n _.js += ')';\r\n _.indent = prevIndent;\r\n\r\n _.js += adoptionPrefix($body);\r\n StmtGen[$body.type]($body, Preset.s4(bodySemicolonOptional));\r\n },\r\n\r\n WithStatement: function generateWithStatement ($stmt, settings) {\r\n var $body = $stmt.body,\r\n $obj = $stmt.object,\r\n bodySemicolonOptional = !semicolons && settings.semicolonOptional,\r\n prevIndent = shiftIndent();\r\n\r\n _.js += 'with' + _.optSpace + '(';\r\n ExprGen[$obj.type]($obj, Preset.e5);\r\n _.js += ')';\r\n _.indent = prevIndent;\r\n _.js += adoptionPrefix($body);\r\n StmtGen[$body.type]($body, Preset.s4(bodySemicolonOptional));\r\n }\r\n};\r\n\r\nfunction generateStatement ($stmt, option) {\r\n StmtGen[$stmt.type]($stmt, option);\r\n}\r\n\r\n//CodeGen\r\n//-----------------------------------------------------------------------------------\r\nfunction exprToJs ($expr, settings, $parent) {\r\n var savedJs = _.js;\r\n _.js = '';\r\n\r\n ExprGen[$expr.type]($expr, settings, $parent);\r\n\r\n var src = _.js;\r\n _.js = savedJs;\r\n\r\n return src;\r\n}\r\n\r\nfunction stmtToJs ($stmt, settings) {\r\n var savedJs = _.js;\r\n _.js = '';\r\n\r\n StmtGen[$stmt.type]($stmt, settings);\r\n\r\n var src = _.js;\r\n _.js = savedJs;\r\n\r\n return src;\r\n}\r\n\r\nfunction run ($node) {\r\n _.js = '';\r\n\r\n if (StmtGen[$node.type])\r\n StmtGen[$node.type]($node, Preset.s7);\r\n\r\n else\r\n ExprGen[$node.type]($node, Preset.e19);\r\n\r\n return _.js;\r\n}\r\n\r\nfunction wrapExprGen (gen) {\r\n return function ($expr, settings) {\r\n if (extra.verbatim && $expr.hasOwnProperty(extra.verbatim))\r\n generateVerbatim($expr, settings);\r\n\r\n else\r\n gen($expr, settings);\r\n }\r\n}\r\n\r\nfunction createExprGenWithExtras () {\r\n var gens = {};\r\n\r\n for (var key in ExprRawGen) {\r\n if (ExprRawGen.hasOwnProperty(key))\r\n gens[key] = wrapExprGen(ExprRawGen[key]);\r\n }\r\n\r\n return gens;\r\n}\r\n\r\n\r\n//Strings\r\nvar _ = {\r\n js: '',\r\n newline: '\\n',\r\n optSpace: ' ',\r\n space: ' ',\r\n indentUnit: ' ',\r\n indent: ''\r\n};\r\n\r\n\r\n//Generators\r\nvar ExprGen = void 0,\r\n StmtGen = StmtRawGen;\r\n\r\n\r\nexports.generate = function ($node, options) {\r\n var defaultOptions = getDefaultOptions(), result, pair;\r\n\r\n if (options != null) {\r\n //NOTE: Obsolete options\r\n //\r\n // `options.indent`\r\n // `options.base`\r\n //\r\n // Instead of them, we can use `option.format.indent`.\r\n if (typeof options.indent === 'string') {\r\n defaultOptions.format.indent.style = options.indent;\r\n }\r\n if (typeof options.base === 'number') {\r\n defaultOptions.format.indent.base = options.base;\r\n }\r\n options = updateDeeply(defaultOptions, options);\r\n _.indentUnit = options.format.indent.style;\r\n if (typeof options.base === 'string') {\r\n _.indent = options.base;\r\n }\r\n else {\r\n _.indent = stringRepeat(_.indentUnit, options.format.indent.base);\r\n }\r\n }\r\n else {\r\n options = defaultOptions;\r\n _.indentUnit = options.format.indent.style;\r\n _.indent = stringRepeat(_.indentUnit, options.format.indent.base);\r\n }\r\n json = options.format.json;\r\n renumber = options.format.renumber;\r\n hexadecimal = json ? false : options.format.hexadecimal;\r\n quotes = json ? 'double' : options.format.quotes;\r\n escapeless = options.format.escapeless;\r\n\r\n _.newline = options.format.newline;\r\n _.optSpace = options.format.space;\r\n\r\n if (options.format.compact)\r\n _.newline = _.optSpace = _.indentUnit = _.indent = '';\r\n\r\n _.space = _.optSpace ? _.optSpace : ' ';\r\n parentheses = options.format.parentheses;\r\n semicolons = options.format.semicolons;\r\n safeConcatenation = options.format.safeConcatenation;\r\n directive = options.directive;\r\n parse = json ? null : options.parse;\r\n extra = options;\r\n\r\n if (extra.verbatim)\r\n ExprGen = createExprGenWithExtras();\r\n\r\n else\r\n ExprGen = ExprRawGen;\r\n\r\n return run($node);\r\n};\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const errorMessages = {\r\n [0]: 'Unexpected token',\r\n [28]: \"Unexpected token: '%0'\",\r\n [1]: 'Octal escape sequences are not allowed in strict mode',\r\n [2]: 'Octal escape sequences are not allowed in template strings',\r\n [3]: 'Unexpected token `#`',\r\n [4]: 'Illegal Unicode escape sequence',\r\n [5]: 'Invalid code point %0',\r\n [6]: 'Invalid hexadecimal escape sequence',\r\n [8]: 'Octal literals are not allowed in strict mode',\r\n [7]: 'Decimal integer literals with a leading zero are forbidden in strict mode',\r\n [9]: 'Expected number in radix %0',\r\n [145]: 'Invalid left-hand side assignment to a destructible right-hand side',\r\n [10]: 'Non-number found after exponent indicator',\r\n [11]: 'Invalid BigIntLiteral',\r\n [12]: 'No identifiers allowed directly after numeric literal',\r\n [13]: 'Escapes \\\\8 or \\\\9 are not syntactically valid escapes',\r\n [14]: 'Unterminated string literal',\r\n [15]: 'Unterminated template literal',\r\n [16]: 'Multiline comment was not closed properly',\r\n [17]: 'The identifier contained dynamic unicode escape that was not closed',\r\n [18]: \"Illegal character '%0'\",\r\n [19]: 'Missing hexadecimal digits',\r\n [20]: 'Invalid implicit octal',\r\n [21]: 'Invalid line break in string literal',\r\n [22]: 'Only unicode escapes are legal in identifier names',\r\n [23]: \"Expected '%0'\",\r\n [24]: 'Invalid left-hand side in assignment',\r\n [25]: 'Invalid left-hand side in async arrow',\r\n [26]: 'Calls to super must be in the \"constructor\" method of a class expression or class declaration that has a superclass',\r\n [27]: 'Member access on super must be in a method',\r\n [29]: 'Await expression not allowed in formal parameter',\r\n [30]: 'Yield expression not allowed in formal parameter',\r\n [92]: \"Unexpected token: 'escaped keyword'\",\r\n [31]: 'Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses',\r\n [119]: 'Async functions can only be declared at the top level or inside a block',\r\n [32]: 'Unterminated regular expression',\r\n [33]: 'Unexpected regular expression flag',\r\n [34]: \"Duplicate regular expression flag '%0'\",\r\n [35]: '%0 functions must have exactly %1 argument%2',\r\n [36]: 'Setter function argument must not be a rest parameter',\r\n [37]: '%0 declaration must have a name in this context',\r\n [38]: 'Function name may not contain any reserved words or be eval or arguments in strict mode',\r\n [39]: 'The rest operator is missing an argument',\r\n [40]: 'A getter cannot be a generator',\r\n [41]: 'A computed property name must be followed by a colon or paren',\r\n [130]: 'Object literal keys that are strings or numbers must be a method or have a colon',\r\n [43]: 'Found `* async x(){}` but this should be `async * x(){}`',\r\n [42]: 'Getters and setters can not be generators',\r\n [44]: \"'%0' can not be generator method\",\r\n [45]: \"No line break is allowed after '=>'\",\r\n [46]: 'The left-hand side of the arrow can only be destructed through assignment',\r\n [47]: 'The binding declaration is not destructible',\r\n [48]: 'Async arrow can not be followed by new expression',\r\n [49]: \"Classes may not have a static property named 'prototype'\",\r\n [50]: 'Class constructor may not be a %0',\r\n [51]: 'Duplicate constructor method in class',\r\n [52]: 'Invalid increment/decrement operand',\r\n [53]: 'Invalid use of `new` keyword on an increment/decrement expression',\r\n [54]: '`=>` is an invalid assignment target',\r\n [55]: 'Rest element may not have a trailing comma',\r\n [56]: 'Missing initializer in %0 declaration',\r\n [57]: \"'for-%0' loop head declarations can not have an initializer\",\r\n [58]: 'Invalid left-hand side in for-%0 loop: Must have a single binding',\r\n [59]: 'Invalid shorthand property initializer',\r\n [60]: 'Property name __proto__ appears more than once in object literal',\r\n [61]: 'Let is disallowed as a lexically bound name',\r\n [62]: \"Invalid use of '%0' inside new expression\",\r\n [63]: \"Illegal 'use strict' directive in function with non-simple parameter list\",\r\n [64]: 'Identifier \"let\" disallowed as left-hand side expression in strict mode',\r\n [65]: 'Illegal continue statement',\r\n [66]: 'Illegal break statement',\r\n [67]: 'Cannot have `let[...]` as a var name in strict mode',\r\n [68]: 'Invalid destructuring assignment target',\r\n [69]: 'Rest parameter may not have a default initializer',\r\n [70]: 'The rest argument must the be last parameter',\r\n [71]: 'Invalid rest argument',\r\n [73]: 'In strict mode code, functions can only be declared at top level or inside a block',\r\n [74]: 'In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement',\r\n [75]: 'Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement',\r\n [76]: \"Class declaration can't appear in single-statement context\",\r\n [77]: 'Invalid left-hand side in for-%0',\r\n [78]: 'Invalid assignment in for-%0',\r\n [79]: 'for await (... of ...) is only valid in async functions and async generators',\r\n [80]: 'The first token after the template expression should be a continuation of the template',\r\n [82]: '`let` declaration not allowed here and `let` cannot be a regular var name in strict mode',\r\n [81]: '`let \\n [` is a restricted production at the start of a statement',\r\n [83]: 'Catch clause requires exactly one parameter, not more (and no trailing comma)',\r\n [84]: 'Catch clause parameter does not support default values',\r\n [85]: 'Missing catch or finally after try',\r\n [86]: 'More than one default clause in switch statement',\r\n [87]: 'Illegal newline after throw',\r\n [88]: 'Strict mode code may not include a with statement',\r\n [89]: 'Illegal return statement',\r\n [90]: 'The left hand side of the for-header binding declaration is not destructible',\r\n [91]: 'new.target only allowed within functions',\r\n [93]: \"'#' not followed by identifier\",\r\n [99]: 'Invalid keyword',\r\n [98]: \"Can not use 'let' as a class name\",\r\n [97]: \"'A lexical declaration can't define a 'let' binding\",\r\n [96]: 'Can not use `let` as variable name in strict mode',\r\n [94]: \"'%0' may not be used as an identifier in this context\",\r\n [95]: 'Await is only valid in async functions',\r\n [100]: 'The %0 keyword can only be used with the module goal',\r\n [101]: 'Unicode codepoint must not be greater than 0x10FFFF',\r\n [102]: '%0 source must be string',\r\n [103]: 'Only a identifier can be used to indicate alias',\r\n [104]: \"Only '*' or '{...}' can be imported after default\",\r\n [105]: 'Trailing decorator may be followed by method',\r\n [106]: \"Decorators can't be used with a constructor\",\r\n [108]: 'HTML comments are only allowed with web compatibility (Annex B)',\r\n [109]: \"The identifier 'let' must not be in expression position in strict mode\",\r\n [110]: 'Cannot assign to `eval` and `arguments` in strict mode',\r\n [111]: \"The left-hand side of a for-of loop may not start with 'let'\",\r\n [112]: 'Block body arrows can not be immediately invoked without a group',\r\n [113]: 'Block body arrows can not be immediately accessed without a group',\r\n [114]: 'Unexpected strict mode reserved word',\r\n [115]: 'Unexpected eval or arguments in strict mode',\r\n [116]: 'Decorators must not be followed by a semicolon',\r\n [117]: 'Calling delete on expression not allowed in strict mode',\r\n [118]: 'Pattern can not have a tail',\r\n [120]: 'Can not have a `yield` expression on the left side of a ternary',\r\n [121]: 'An arrow function can not have a postfix update operator',\r\n [122]: 'Invalid object literal key character after generator star',\r\n [123]: 'Private fields can not be deleted',\r\n [125]: 'Classes may not have a field called constructor',\r\n [124]: 'Classes may not have a private element named constructor',\r\n [126]: 'A class field initializer may not contain arguments',\r\n [127]: 'Generators can only be declared at the top level or inside a block',\r\n [128]: 'Async methods are a restricted production and cannot have a newline following it',\r\n [129]: 'Unexpected character after object literal property name',\r\n [131]: 'Invalid key token',\r\n [132]: \"Label '%0' has already been declared\",\r\n [133]: 'continue statement must be nested within an iteration statement',\r\n [134]: \"Undefined label '%0'\",\r\n [135]: 'Trailing comma is disallowed inside import(...) arguments',\r\n [136]: 'import() requires exactly one argument',\r\n [137]: 'Cannot use new with import(...)',\r\n [138]: '... is not allowed in import()',\r\n [139]: \"Expected '=>'\",\r\n [140]: \"Duplicate binding '%0'\",\r\n [141]: \"Cannot export a duplicate name '%0'\",\r\n [144]: 'Duplicate %0 for-binding',\r\n [142]: \"Exported binding '%0' needs to refer to a top-level declared variable\",\r\n [143]: 'Unexpected private field',\r\n [147]: 'Numeric separators are not allowed at the end of numeric literals',\r\n [146]: 'Only one underscore is allowed as numeric separator',\r\n [148]: 'JSX value should be either an expression or a quoted JSX text',\r\n [149]: 'Expected corresponding JSX closing tag for %0',\r\n [150]: 'Adjacent JSX elements must be wrapped in an enclosing tag',\r\n [151]: \"JSX attributes must only be assigned a non-empty 'expression'\",\r\n [152]: \"'%0' has already been declared\",\r\n [153]: \"'%0' shadowed a catch clause binding\",\r\n [154]: 'Dot property must be an identifier',\r\n [155]: 'Encountered invalid input after spread/rest argument',\r\n [156]: 'Catch without try',\r\n [157]: 'Finally without try',\r\n [158]: 'Expected corresponding closing tag for JSX fragment',\r\n [159]: 'Coalescing and logical operators used together in the same expression must be disambiguated with parentheses',\r\n [160]: 'Invalid tagged template on optional chain',\r\n [161]: 'Invalid optional chain from super property',\r\n [162]: 'Invalid optional chain from new expression',\r\n [163]: 'Cannot use \"import.meta\" outside a module',\r\n [164]: 'Leading decorators must be attached to a class declaration'\r\n};\r\nclass ParseError extends SyntaxError {\r\n constructor(startindex, line, column, type, ...params) {\r\n const message = '[' + line + ':' + column + ']: ' + errorMessages[type].replace(/%(\\d+)/g, (_, i) => params[i]);\r\n super(`${message}`);\r\n this.index = startindex;\r\n this.line = line;\r\n this.column = column;\r\n this.description = message;\r\n this.loc = {\r\n line,\r\n column\r\n };\r\n }\r\n}\r\nfunction report(parser, type, ...params) {\r\n throw new ParseError(parser.index, parser.line, parser.column, type, ...params);\r\n}\r\nfunction reportScopeError(scope) {\r\n throw new ParseError(scope.index, scope.line, scope.column, scope.type, scope.params);\r\n}\r\nfunction reportMessageAt(index, line, column, type, ...params) {\r\n throw new ParseError(index, line, column, type, ...params);\r\n}\r\nfunction reportScannerError(index, line, column, type) {\r\n throw new ParseError(index, line, column, type);\r\n}\n\nconst unicodeLookup = ((compressed, lookup) => {\r\n const result = new Uint32Array(104448);\r\n let index = 0;\r\n let subIndex = 0;\r\n while (index < 3540) {\r\n const inst = compressed[index++];\r\n if (inst < 0) {\r\n subIndex -= inst;\r\n }\r\n else {\r\n let code = compressed[index++];\r\n if (inst & 2)\r\n code = lookup[code];\r\n if (inst & 1) {\r\n result.fill(code, subIndex, subIndex += compressed[index++]);\r\n }\r\n else {\r\n result[subIndex++] = code;\r\n }\r\n }\r\n }\r\n return result;\r\n})([-1, 2, 24, 2, 25, 2, 5, -1, 0, 77595648, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 16, 2, 60, 2, 0, 0, 4294836735, 0, 3221225471, 0, 4294901942, 2, 61, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 17, 2, 0, 0, 4294961151, 3, 0, 2, 2, 19, 2, 0, 0, 608174079, 2, 0, 2, 131, 2, 6, 2, 56, -1, 2, 37, 0, 4294443263, 2, 1, 3, 0, 3, 0, 4294901711, 2, 39, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2967484831, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 2, 194, 2, 3, 0, 3825204735, 0, 123747807, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1080049119, 0, 458703, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 66, 0, 4284449919, 0, 851904, 2, 4, 2, 11, 0, 67076095, -1, 2, 67, 0, 1073741743, 0, 4093591391, -1, 0, 50331649, 0, 3265266687, 2, 32, 0, 4294844415, 0, 4278190047, 2, 18, 2, 129, -1, 3, 0, 2, 2, 21, 2, 0, 2, 9, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 10, 0, 261632, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 2088959, 2, 27, 2, 8, 0, 909311, 3, 0, 2, 0, 814743551, 2, 41, 0, 67057664, 3, 0, 2, 2, 40, 2, 0, 2, 28, 2, 0, 2, 29, 2, 7, 0, 268374015, 2, 26, 2, 49, 2, 0, 2, 76, 0, 134153215, -1, 2, 6, 2, 0, 2, 7, 0, 2684354559, 0, 67044351, 0, 3221160064, 0, 1, -1, 3, 0, 2, 2, 42, 0, 1046528, 3, 0, 3, 2, 8, 2, 0, 2, 51, 0, 4294960127, 2, 9, 2, 38, 2, 10, 0, 4294377472, 2, 11, 3, 0, 7, 0, 4227858431, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -1, 2, 124, 0, 1048577, 2, 82, 2, 13, -1, 2, 13, 0, 131042, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 1046559, 2, 0, 2, 14, 2, 0, 0, 2147516671, 2, 20, 3, 86, 2, 2, 0, -16, 2, 87, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 2, 121, 2, 0, 0, 3220242431, 3, 0, 3, 2, 19, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 2, 0, 0, 4351, 2, 0, 2, 8, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 22, 2, 8, 2, 18, 3, 0, 2, 0, 67076097, 2, 7, 2, 0, 2, 20, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 3774349439, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, 2, 23, 0, 1638399, 2, 172, 2, 105, 3, 0, 3, 2, 18, 2, 24, 2, 25, 2, 5, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -3, 2, 150, -4, 2, 18, 2, 0, 2, 35, 0, 1, 2, 0, 2, 62, 2, 28, 2, 11, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 21, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277137519, 0, 2269118463, -1, 3, 18, 2, -1, 2, 32, 2, 36, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 46, -10, 2, 0, 0, 203775, -2, 2, 18, 2, 43, 2, 35, -2, 2, 17, 2, 117, 2, 20, 3, 0, 2, 2, 36, 0, 2147549120, 2, 0, 2, 11, 2, 17, 2, 135, 2, 0, 2, 37, 2, 52, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 120, 0, 1090519039, -2, 2, 122, 2, 38, 2, 0, 0, 67045375, 2, 39, 0, 4226678271, 0, 3766565279, 0, 2039759, -4, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 40, 2, 41, -1, 2, 10, 2, 42, -6, 2, 0, 2, 11, -3, 3, 0, 2, 0, 2147484671, 2, 125, 0, 4190109695, 2, 50, -2, 2, 126, 0, 4244635647, 0, 27, 2, 0, 2, 7, 2, 43, 2, 0, 2, 63, -1, 2, 0, 2, 40, -8, 2, 54, 2, 44, 0, 67043329, 2, 127, 2, 45, 0, 8388351, -2, 2, 128, 0, 3028287487, 2, 46, 2, 130, 0, 33259519, 2, 41, -9, 2, 20, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, 2, 41, -2, 2, 17, 2, 49, 2, 0, 2, 20, 2, 50, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 196635, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 0, 1677656575, -166, 0, 4161266656, 0, 4071, 0, 15360, -4, 0, 28, -13, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 88, 2, 0, 0, 2105343, 0, 4160749584, 0, 65534, -42, 0, 4194303871, 0, 2011, -6, 2, 0, 0, 1073684479, 0, 17407, -11, 2, 0, 2, 31, -40, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 42, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -105, 2, 24, -32, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -22381, 3, 0, 7, 2, 23, -6130, 3, 5, 2, -1, 0, 69207040, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 16, 2, 60, 2, 0, 2, 33, -1, 2, 17, 2, 61, -1, 2, 0, 2, 56, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 23, 2, 62, 3, 0, 2, 0, 131135, 2, 95, 0, 70256639, 0, 71303167, 0, 272, 2, 40, 2, 56, -1, 2, 37, 2, 30, -1, 2, 96, 2, 63, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 65, 2, 64, 0, 33554435, 2, 123, 2, 65, 2, 151, 0, 131075, 0, 3594373096, 0, 67094296, 2, 64, -1, 0, 4294828000, 0, 603979263, 2, 160, 0, 3, 0, 4294828001, 0, 602930687, 2, 183, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 66, 2, 36, -1, 2, 4, 0, 917503, 2, 36, -1, 2, 67, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 32, 2, 68, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 14, 2, 15, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 11, -1, 2, 23, 3, 0, 2, 2, 12, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 253951, 3, 19, 2, 0, 122879, 2, 0, 2, 8, 0, 276824064, -2, 3, 0, 2, 2, 40, 2, 0, 0, 4294903295, 2, 0, 2, 29, 2, 7, -1, 2, 17, 2, 49, 2, 0, 2, 76, 2, 41, -1, 2, 20, 2, 0, 2, 27, -2, 0, 128, -2, 2, 77, 2, 8, 0, 4064, -1, 2, 119, 0, 4227907585, 2, 0, 2, 118, 2, 0, 2, 48, 2, 173, 2, 9, 2, 38, 2, 10, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 12, 2, 0, 2, 78, 2, 9, 2, 0, 2, 79, 2, 80, 2, 81, -3, 2, 82, 2, 13, -3, 2, 83, 2, 84, 2, 85, 2, 0, 2, 33, -83, 2, 0, 2, 53, 2, 7, 3, 0, 4, 0, 817183, 2, 0, 2, 14, 2, 0, 0, 33023, 2, 20, 3, 86, 2, -17, 2, 87, 0, 524157950, 2, 4, 2, 0, 2, 88, 2, 4, 2, 0, 2, 15, 2, 77, 2, 16, 3, 0, 2, 2, 47, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 655, 2, 18, 3, 0, 36, 2, 68, -1, 2, 17, 2, 9, 3, 0, 8, 2, 89, 0, 3072, 2, 0, 0, 2147516415, 2, 9, 3, 0, 2, 2, 23, 2, 90, 2, 91, 3, 0, 2, 2, 92, 2, 0, 2, 93, 2, 94, 0, 4294965179, 0, 7, 2, 0, 2, 8, 2, 91, 2, 8, -1, 0, 1761345536, 2, 95, 0, 4294901823, 2, 36, 2, 18, 2, 96, 2, 34, 2, 166, 0, 2080440287, 2, 0, 2, 33, 2, 143, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 97, 2, 98, 2, 15, 2, 21, 3, 0, 3, 0, 7, 3, 0, 349, 2, 99, 2, 100, 2, 6, -264, 3, 0, 11, 2, 22, 3, 0, 2, 2, 31, -1, 0, 2700607615, 2, 101, 2, 102, 3, 0, 2, 2, 19, 2, 103, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 45, 2, 0, 2, 30, 2, 104, -3, 2, 105, 3, 0, 3, 2, 18, -1, 3, 5, 2, 2, 26, 2, 0, 2, 7, 2, 106, -1, 2, 107, 2, 108, 2, 109, -1, 3, 0, 3, 2, 11, -2, 2, 0, 2, 27, -8, 2, 18, 2, 0, 2, 35, -1, 2, 0, 2, 62, 2, 28, 2, 29, 2, 9, 2, 0, 2, 110, -1, 3, 0, 4, 2, 9, 2, 17, 2, 111, 2, 6, 2, 0, 2, 112, 2, 0, 2, 48, -4, 3, 0, 9, 2, 20, 2, 29, 2, 30, -4, 2, 113, 2, 114, 2, 29, 2, 20, 2, 7, -2, 2, 115, 2, 29, 2, 31, -2, 2, 0, 2, 116, -2, 0, 4277075969, 2, 29, -1, 3, 18, 2, -1, 2, 32, 2, 117, 2, 0, 3, 29, 2, 2, 34, 2, 19, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 48, -10, 2, 0, 0, 197631, -2, 2, 18, 2, 43, 2, 118, -2, 2, 17, 2, 117, 2, 20, 2, 119, 2, 51, -2, 2, 119, 2, 23, 2, 17, 2, 33, 2, 119, 2, 36, 0, 4294901904, 0, 4718591, 2, 119, 2, 34, 0, 335544350, -1, 2, 120, 2, 121, -2, 2, 122, 2, 38, 2, 7, -1, 2, 123, 2, 65, 0, 3758161920, 0, 3, -4, 2, 0, 2, 27, 0, 2147485568, 0, 3, 2, 0, 2, 23, 0, 176, -5, 2, 0, 2, 47, 2, 186, -1, 2, 0, 2, 23, 2, 197, -1, 2, 0, 0, 16779263, -2, 2, 11, -7, 2, 0, 2, 121, -3, 3, 0, 2, 2, 124, 2, 125, 0, 2147549183, 0, 2, -2, 2, 126, 2, 35, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, -1, 2, 0, 2, 40, -8, 2, 54, 2, 47, 0, 1, 2, 127, 2, 23, -3, 2, 128, 2, 35, 2, 129, 2, 130, 0, 16778239, -10, 2, 34, -5, 2, 64, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 47, 3, 0, 6, 2, 48, -85, 3, 0, 33, 2, 47, -126, 3, 0, 18, 2, 36, -269, 3, 0, 17, 2, 40, 2, 7, -3, 2, 17, 2, 131, 2, 0, 2, 23, 2, 48, 2, 132, 2, 23, -21, 3, 0, 2, -4, 3, 0, 2, 0, 67583, -1, 2, 103, -2, 0, 11, 3, 0, 191, 2, 51, 3, 0, 38, 2, 29, -1, 2, 33, -279, 3, 0, 8, 2, 7, -1, 2, 133, 2, 52, 3, 0, 11, 2, 6, -72, 3, 0, 3, 2, 134, 2, 135, -187, 3, 0, 2, 2, 37, 2, 0, 2, 136, 2, 137, 2, 55, 2, 0, 2, 138, 2, 139, 2, 140, 3, 0, 10, 2, 141, 2, 142, 2, 15, 3, 37, 2, 3, 53, 2, 3, 54, 2, 2, 143, -73, 2, 0, 0, 1065361407, 0, 16384, -11, 2, 0, 2, 121, -40, 3, 0, 6, 2, 117, -1, 3, 0, 2, 0, 2063, -37, 2, 55, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, -138, 3, 0, 1334, 2, 9, -1, 3, 0, 129, 2, 27, 3, 0, 6, 2, 9, 3, 0, 180, 2, 149, 3, 0, 233, 0, 1, -96, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 56, -28517, 2, 0, 0, 1, -1, 2, 124, 2, 0, 0, 8193, -21, 2, 193, 0, 10255, 0, 4, -11, 2, 64, 2, 171, -1, 0, 71680, -1, 2, 161, 0, 4292900864, 0, 805306431, -5, 2, 150, -1, 2, 157, -1, 0, 6144, -2, 2, 127, -1, 2, 154, -1, 0, 2147532800, 2, 151, 2, 165, 2, 0, 2, 164, 0, 524032, 0, 4, -4, 2, 190, 0, 205128192, 0, 1333757536, 0, 2147483696, 0, 423953, 0, 747766272, 0, 2717763192, 0, 4286578751, 0, 278545, 2, 152, 0, 4294886464, 0, 33292336, 0, 417809, 2, 152, 0, 1327482464, 0, 4278190128, 0, 700594195, 0, 1006647527, 0, 4286497336, 0, 4160749631, 2, 153, 0, 469762560, 0, 4171219488, 0, 8323120, 2, 153, 0, 202375680, 0, 3214918176, 0, 4294508592, 2, 153, -1, 0, 983584, 0, 48, 0, 58720273, 0, 3489923072, 0, 10517376, 0, 4293066815, 0, 1, 0, 2013265920, 2, 177, 2, 0, 0, 2089, 0, 3221225552, 0, 201375904, 2, 0, -2, 0, 256, 0, 122880, 0, 16777216, 2, 150, 0, 4160757760, 2, 0, -6, 2, 167, -11, 0, 3263218176, -1, 0, 49664, 0, 2160197632, 0, 8388802, -1, 0, 12713984, -1, 2, 154, 2, 159, 2, 178, -2, 2, 162, -20, 0, 3758096385, -2, 2, 155, 0, 4292878336, 2, 90, 2, 169, 0, 4294057984, -2, 2, 163, 2, 156, 2, 175, -2, 2, 155, -1, 2, 182, -1, 2, 170, 2, 124, 0, 4026593280, 0, 14, 0, 4292919296, -1, 2, 158, 0, 939588608, -1, 0, 805306368, -1, 2, 124, 0, 1610612736, 2, 156, 2, 157, 2, 4, 2, 0, -2, 2, 158, 2, 159, -3, 0, 267386880, -1, 2, 160, 0, 7168, -1, 0, 65024, 2, 154, 2, 161, 2, 179, -7, 2, 168, -8, 2, 162, -1, 0, 1426112704, 2, 163, -1, 2, 164, 0, 271581216, 0, 2149777408, 2, 23, 2, 161, 2, 124, 0, 851967, 2, 180, -1, 2, 23, 2, 181, -4, 2, 158, -20, 2, 195, 2, 165, -56, 0, 3145728, 2, 185, -4, 2, 166, 2, 124, -4, 0, 32505856, -1, 2, 167, -1, 0, 2147385088, 2, 90, 1, 2155905152, 2, -3, 2, 103, 2, 0, 2, 168, -2, 2, 169, -6, 2, 170, 0, 4026597375, 0, 1, -1, 0, 1, -1, 2, 171, -3, 2, 117, 2, 64, -2, 2, 166, -2, 2, 176, 2, 124, -878, 2, 159, -36, 2, 172, -1, 2, 201, -10, 2, 188, -5, 2, 174, -6, 0, 4294965251, 2, 27, -1, 2, 173, -1, 2, 174, -2, 0, 4227874752, -3, 0, 2146435072, 2, 159, -2, 0, 1006649344, 2, 124, -1, 2, 90, 0, 201375744, -3, 0, 134217720, 2, 90, 0, 4286677377, 0, 32896, -1, 2, 158, -3, 2, 175, -349, 2, 176, 0, 1920, 2, 177, 3, 0, 264, -11, 2, 157, -2, 2, 178, 2, 0, 0, 520617856, 0, 2692743168, 0, 36, -3, 0, 524284, -11, 2, 23, -1, 2, 187, -1, 2, 184, 0, 3221291007, 2, 178, -1, 2, 202, 0, 2158720, -3, 2, 159, 0, 1, -4, 2, 124, 0, 3808625411, 0, 3489628288, 2, 200, 0, 1207959680, 0, 3221274624, 2, 0, -3, 2, 179, 0, 120, 0, 7340032, -2, 2, 180, 2, 4, 2, 23, 2, 163, 3, 0, 4, 2, 159, -1, 2, 181, 2, 177, -1, 0, 8176, 2, 182, 2, 179, 2, 183, -1, 0, 4290773232, 2, 0, -4, 2, 163, 2, 189, 0, 15728640, 2, 177, -1, 2, 161, -1, 0, 4294934512, 3, 0, 4, -9, 2, 90, 2, 170, 2, 184, 3, 0, 4, 0, 704, 0, 1849688064, 2, 185, -1, 2, 124, 0, 4294901887, 2, 0, 0, 130547712, 0, 1879048192, 2, 199, 3, 0, 2, -1, 2, 186, 2, 187, -1, 0, 17829776, 0, 2025848832, 0, 4261477888, -2, 2, 0, -1, 0, 4286580608, -1, 0, 29360128, 2, 192, 0, 16252928, 0, 3791388672, 2, 38, 3, 0, 2, -2, 2, 196, 2, 0, -1, 2, 103, -1, 0, 66584576, -1, 2, 191, 3, 0, 9, 2, 124, -1, 0, 4294755328, 3, 0, 2, -1, 2, 161, 2, 178, 3, 0, 2, 2, 23, 2, 188, 2, 90, -2, 0, 245760, 0, 2147418112, -1, 2, 150, 2, 203, 0, 4227923456, -1, 2, 164, 2, 161, 2, 90, -3, 0, 4292870145, 0, 262144, 2, 124, 3, 0, 2, 0, 1073758848, 2, 189, -1, 0, 4227921920, 2, 190, 0, 68289024, 0, 528402016, 0, 4292927536, 3, 0, 4, -2, 0, 268435456, 2, 91, -2, 2, 191, 3, 0, 5, -1, 2, 192, 2, 163, 2, 0, -2, 0, 4227923936, 2, 62, -1, 2, 155, 2, 95, 2, 0, 2, 154, 2, 158, 3, 0, 6, -1, 2, 177, 3, 0, 3, -2, 0, 2146959360, 0, 9440640, 0, 104857600, 0, 4227923840, 3, 0, 2, 0, 768, 2, 193, 2, 77, -2, 2, 161, -2, 2, 119, -1, 2, 155, 3, 0, 8, 0, 512, 0, 8388608, 2, 194, 2, 172, 2, 187, 0, 4286578944, 3, 0, 2, 0, 1152, 0, 1266679808, 2, 191, 0, 576, 0, 4261707776, 2, 95, 3, 0, 9, 2, 155, 3, 0, 5, 2, 16, -1, 0, 2147221504, -28, 2, 178, 3, 0, 3, -3, 0, 4292902912, -6, 2, 96, 3, 0, 85, -33, 0, 4294934528, 3, 0, 126, -18, 2, 195, 3, 0, 269, -17, 2, 155, 2, 124, 2, 198, 3, 0, 2, 2, 23, 0, 4290822144, -2, 0, 67174336, 0, 520093700, 2, 17, 3, 0, 21, -2, 2, 179, 3, 0, 3, -2, 0, 30720, -1, 0, 32512, 3, 0, 2, 0, 4294770656, -191, 2, 174, -38, 2, 170, 2, 0, 2, 196, 3, 0, 279, -8, 2, 124, 2, 0, 0, 4294508543, 0, 65295, -11, 2, 177, 3, 0, 72, -3, 0, 3758159872, 0, 201391616, 3, 0, 155, -7, 2, 170, -1, 0, 384, -1, 0, 133693440, -3, 2, 196, -2, 2, 26, 3, 0, 4, 2, 169, -2, 2, 90, 2, 155, 3, 0, 4, -2, 2, 164, -1, 2, 150, 0, 335552923, 2, 197, -1, 0, 538974272, 0, 2214592512, 0, 132000, -10, 0, 192, -8, 0, 12288, -21, 0, 134213632, 0, 4294901761, 3, 0, 42, 0, 100663424, 0, 4294965284, 3, 0, 6, -1, 0, 3221282816, 2, 198, 3, 0, 11, -1, 2, 199, 3, 0, 40, -6, 0, 4286578784, 2, 0, -2, 0, 1006694400, 3, 0, 24, 2, 35, -1, 2, 94, 3, 0, 2, 0, 1, 2, 163, 3, 0, 6, 2, 197, 0, 4110942569, 0, 1432950139, 0, 2701658217, 0, 4026532864, 0, 4026532881, 2, 0, 2, 45, 3, 0, 8, -1, 2, 158, -2, 2, 169, 0, 98304, 0, 65537, 2, 170, -5, 0, 4294950912, 2, 0, 2, 118, 0, 65528, 2, 177, 0, 4294770176, 2, 26, 3, 0, 4, -30, 2, 174, 0, 3758153728, -3, 2, 169, -2, 2, 155, 2, 188, 2, 158, -1, 2, 191, -1, 2, 161, 0, 4294754304, 3, 0, 2, -3, 0, 33554432, -2, 2, 200, -3, 2, 169, 0, 4175478784, 2, 201, 0, 4286643712, 0, 4286644216, 2, 0, -4, 2, 202, -1, 2, 165, 0, 4227923967, 3, 0, 32, -1334, 2, 163, 2, 0, -129, 2, 94, -6, 2, 163, -180, 2, 203, -233, 2, 4, 3, 0, 96, -16, 2, 163, 3, 0, 47, -154, 2, 165, 3, 0, 22381, -7, 2, 17, 3, 0, 6128], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 268435455, 2147483647, 1048575, 1073741823, 3892314111, 134217727, 1061158911, 536805376, 4294910143, 4160749567, 4294901759, 4294901760, 536870911, 262143, 8388607, 4294902783, 4294918143, 65535, 67043328, 2281701374, 4294967232, 2097151, 4294903807, 4194303, 255, 67108863, 4294967039, 511, 524287, 131071, 127, 4292870143, 4294902271, 4294549487, 33554431, 1023, 67047423, 4294901888, 4286578687, 4294770687, 67043583, 32767, 15, 2047999, 67043343, 16777215, 4294902000, 4294934527, 4294966783, 4294967279, 2047, 262083, 20511, 4290772991, 41943039, 493567, 4294959104, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 4294967264, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 2044, 4292870144, 4294966272, 4294967280, 8289918, 4294934399, 4294901775, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4294966591, 2445279231, 3670015, 3238002687, 31, 63, 4294967288, 4294705151, 4095, 3221208447, 4294549472, 2147483648, 4285526655, 4294966527, 4294705152, 4294966143, 64, 4294966719, 16383, 3774873592, 458752, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967103, 4160749565, 4087, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901763, 536870912, 2952790016, 202506752, 139264, 402653184, 4261412864, 4227922944, 49152, 61440, 3758096384, 117440512, 65280, 3233808384, 3221225472, 2097152, 4294965248, 32768, 57152, 67108864, 4293918720, 4290772992, 25165824, 57344, 4227915776, 4278190080, 4227907584, 65520, 4026531840, 4227858432, 4160749568, 3758129152, 4294836224, 63488, 1073741824, 4294967040, 4194304, 251658240, 196608, 4294963200, 64512, 417808, 4227923712, 12582912, 50331648, 65472, 4294967168, 4294966784, 16, 4294917120, 2080374784, 4096, 65408, 524288, 65532]);\n\nfunction advanceChar(parser) {\r\n parser.column++;\r\n return (parser.currentChar = parser.source.charCodeAt(++parser.index));\r\n}\r\nfunction consumeMultiUnitCodePoint(parser, hi) {\r\n if ((hi & 0xfc00) !== 55296)\r\n return 0;\r\n const lo = parser.source.charCodeAt(parser.index + 1);\r\n if ((lo & 0xfc00) !== 0xdc00)\r\n return 0;\r\n hi = parser.currentChar = 65536 + ((hi & 0x3ff) << 10) + (lo & 0x3ff);\r\n if (((unicodeLookup[(hi >>> 5) + 0] >>> hi) & 31 & 1) === 0) {\r\n report(parser, 18, fromCodePoint(hi));\r\n }\r\n parser.index++;\r\n parser.column++;\r\n return 1;\r\n}\r\nfunction consumeLineFeed(parser, state) {\r\n parser.currentChar = parser.source.charCodeAt(++parser.index);\r\n parser.flags |= 1;\r\n if ((state & 4) === 0) {\r\n parser.column = 0;\r\n parser.line++;\r\n }\r\n}\r\nfunction scanNewLine(parser) {\r\n parser.flags |= 1;\r\n parser.currentChar = parser.source.charCodeAt(++parser.index);\r\n parser.column = 0;\r\n parser.line++;\r\n}\r\nfunction isExoticECMAScriptWhitespace(ch) {\r\n return (ch === 160 ||\r\n ch === 65279 ||\r\n ch === 133 ||\r\n ch === 5760 ||\r\n (ch >= 8192 && ch <= 8203) ||\r\n ch === 8239 ||\r\n ch === 8287 ||\r\n ch === 12288 ||\r\n ch === 8201 ||\r\n ch === 65519);\r\n}\r\nfunction fromCodePoint(codePoint) {\r\n return codePoint <= 65535\r\n ? String.fromCharCode(codePoint)\r\n : String.fromCharCode(codePoint >>> 10) + String.fromCharCode(codePoint & 0x3ff);\r\n}\r\nfunction toHex(code) {\r\n return code < 65 ? code - 48 : (code - 65 + 10) & 0xf;\r\n}\r\nfunction convertTokenType(t) {\r\n switch (t) {\r\n case 134283266:\r\n return 'NumericLiteral';\r\n case 134283267:\r\n return 'StringLiteral';\r\n case 86021:\r\n case 86022:\r\n return 'BooleanLiteral';\r\n case 86023:\r\n return 'NullLiteral';\r\n case 65540:\r\n return 'RegularExpression';\r\n case 67174408:\r\n case 67174409:\r\n case 132:\r\n return 'TemplateLiteral';\r\n default:\r\n if ((t & 143360) === 143360)\r\n return 'Identifier';\r\n if ((t & 4096) === 4096)\r\n return 'Keyword';\r\n return 'Punctuator';\r\n }\r\n}\n\nconst CharTypes = [\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 8 | 1024,\r\n 0,\r\n 0,\r\n 8 | 2048,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 8192,\r\n 0,\r\n 1 | 2,\r\n 0,\r\n 0,\r\n 8192,\r\n 0,\r\n 0,\r\n 0,\r\n 256,\r\n 0,\r\n 256 | 32768,\r\n 0,\r\n 0,\r\n 2 | 16 | 128 | 32 | 64,\r\n 2 | 16 | 128 | 32 | 64,\r\n 2 | 16 | 32 | 64,\r\n 2 | 16 | 32 | 64,\r\n 2 | 16 | 32 | 64,\r\n 2 | 16 | 32 | 64,\r\n 2 | 16 | 32 | 64,\r\n 2 | 16 | 32 | 64,\r\n 2 | 16 | 512 | 64,\r\n 2 | 16 | 512 | 64,\r\n 0,\r\n 0,\r\n 16384,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1 | 2 | 64,\r\n 1 | 2 | 64,\r\n 1 | 2 | 64,\r\n 1 | 2 | 64,\r\n 1 | 2 | 64,\r\n 1 | 2 | 64,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 0,\r\n 1,\r\n 0,\r\n 0,\r\n 1 | 2 | 4096,\r\n 0,\r\n 1 | 2 | 4 | 64,\r\n 1 | 2 | 4 | 64,\r\n 1 | 2 | 4 | 64,\r\n 1 | 2 | 4 | 64,\r\n 1 | 2 | 4 | 64,\r\n 1 | 2 | 4 | 64,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 16384,\r\n 0,\r\n 0,\r\n 0,\r\n 0\r\n];\r\nconst isIdStart = [\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 0,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0\r\n];\r\nconst isIdPart = [\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 0,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0\r\n];\r\nfunction isIdentifierStart(code) {\r\n return code <= 0x7F\r\n ? isIdStart[code]\r\n : (unicodeLookup[(code >>> 5) + 34816] >>> code) & 31 & 1;\r\n}\r\nfunction isIdentifierPart(code) {\r\n return code <= 0x7F\r\n ? isIdPart[code]\r\n : (unicodeLookup[(code >>> 5) + 0] >>> code) & 31 & 1 || (code === 8204 || code === 8205);\r\n}\n\nconst CommentTypes = ['SingleLine', 'MultiLine', 'HTMLOpen', 'HTMLClose', 'HashbangComment'];\r\nfunction skipHashBang(parser) {\r\n const source = parser.source;\r\n if (parser.currentChar === 35 && source.charCodeAt(parser.index + 1) === 33) {\r\n advanceChar(parser);\r\n advanceChar(parser);\r\n skipSingleLineComment(parser, source, 0, 4, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n}\r\nfunction skipSingleHTMLComment(parser, source, state, context, type, start, line, column) {\r\n if (context & 2048)\r\n report(parser, 0);\r\n return skipSingleLineComment(parser, source, state, type, start, line, column);\r\n}\r\nfunction skipSingleLineComment(parser, source, state, type, start, line, column) {\r\n const { index } = parser;\r\n parser.tokenPos = parser.index;\r\n parser.linePos = parser.line;\r\n parser.colPos = parser.column;\r\n while (parser.index < parser.end) {\r\n if (CharTypes[parser.currentChar] & 8) {\r\n const isCR = parser.currentChar === 13;\r\n scanNewLine(parser);\r\n if (isCR && parser.index < parser.end && parser.currentChar === 10)\r\n parser.currentChar = source.charCodeAt(++parser.index);\r\n break;\r\n }\r\n else if ((parser.currentChar ^ 8232) <= 1) {\r\n scanNewLine(parser);\r\n break;\r\n }\r\n advanceChar(parser);\r\n parser.tokenPos = parser.index;\r\n parser.linePos = parser.line;\r\n parser.colPos = parser.column;\r\n }\r\n if (parser.onComment) {\r\n const loc = {\r\n start: {\r\n line,\r\n column\r\n },\r\n end: {\r\n line: parser.linePos,\r\n column: parser.colPos\r\n }\r\n };\r\n parser.onComment(CommentTypes[type & 0xff], source.slice(index, parser.tokenPos), start, parser.tokenPos, loc);\r\n }\r\n return state | 1;\r\n}\r\nfunction skipMultiLineComment(parser, source, state) {\r\n const { index } = parser;\r\n while (parser.index < parser.end) {\r\n if (parser.currentChar < 0x2b) {\r\n let skippedOneAsterisk = false;\r\n while (parser.currentChar === 42) {\r\n if (!skippedOneAsterisk) {\r\n state &= ~4;\r\n skippedOneAsterisk = true;\r\n }\r\n if (advanceChar(parser) === 47) {\r\n advanceChar(parser);\r\n if (parser.onComment) {\r\n const loc = {\r\n start: {\r\n line: parser.linePos,\r\n column: parser.colPos\r\n },\r\n end: {\r\n line: parser.line,\r\n column: parser.column\r\n }\r\n };\r\n parser.onComment(CommentTypes[1 & 0xff], source.slice(index, parser.index - 2), index - 2, parser.index, loc);\r\n }\r\n parser.tokenPos = parser.index;\r\n parser.linePos = parser.line;\r\n parser.colPos = parser.column;\r\n return state;\r\n }\r\n }\r\n if (skippedOneAsterisk) {\r\n continue;\r\n }\r\n if (CharTypes[parser.currentChar] & 8) {\r\n if (parser.currentChar === 13) {\r\n state |= 1 | 4;\r\n scanNewLine(parser);\r\n }\r\n else {\r\n consumeLineFeed(parser, state);\r\n state = (state & ~4) | 1;\r\n }\r\n }\r\n else {\r\n advanceChar(parser);\r\n }\r\n }\r\n else if ((parser.currentChar ^ 8232) <= 1) {\r\n state = (state & ~4) | 1;\r\n scanNewLine(parser);\r\n }\r\n else {\r\n state &= ~4;\r\n advanceChar(parser);\r\n }\r\n }\r\n report(parser, 16);\r\n}\n\nfunction scanRegularExpression(parser, context) {\r\n const bodyStart = parser.index;\r\n let preparseState = 0;\r\n loop: while (true) {\r\n const ch = parser.currentChar;\r\n advanceChar(parser);\r\n if (preparseState & 1) {\r\n preparseState &= ~1;\r\n }\r\n else {\r\n switch (ch) {\r\n case 47:\r\n if (!preparseState)\r\n break loop;\r\n else\r\n break;\r\n case 92:\r\n preparseState |= 1;\r\n break;\r\n case 91:\r\n preparseState |= 2;\r\n break;\r\n case 93:\r\n preparseState &= 1;\r\n break;\r\n case 13:\r\n case 10:\r\n case 8232:\r\n case 8233:\r\n report(parser, 32);\r\n }\r\n }\r\n if (parser.index >= parser.source.length) {\r\n return report(parser, 32);\r\n }\r\n }\r\n const bodyEnd = parser.index - 1;\r\n let mask = 0;\r\n let char = parser.currentChar;\r\n const { index: flagStart } = parser;\r\n while (isIdentifierPart(char)) {\r\n switch (char) {\r\n case 103:\r\n if (mask & 2)\r\n report(parser, 34, 'g');\r\n mask |= 2;\r\n break;\r\n case 105:\r\n if (mask & 1)\r\n report(parser, 34, 'i');\r\n mask |= 1;\r\n break;\r\n case 109:\r\n if (mask & 4)\r\n report(parser, 34, 'm');\r\n mask |= 4;\r\n break;\r\n case 117:\r\n if (mask & 16)\r\n report(parser, 34, 'u');\r\n mask |= 16;\r\n break;\r\n case 121:\r\n if (mask & 8)\r\n report(parser, 34, 'y');\r\n mask |= 8;\r\n break;\r\n case 115:\r\n if (mask & 32)\r\n report(parser, 34, 's');\r\n mask |= 32;\r\n break;\r\n case 100:\r\n if (mask & 64)\r\n report(parser, 34, 'd');\r\n mask |= 64;\r\n break;\r\n default:\r\n report(parser, 33);\r\n }\r\n char = advanceChar(parser);\r\n }\r\n const flags = parser.source.slice(flagStart, parser.index);\r\n const pattern = parser.source.slice(bodyStart, bodyEnd);\r\n parser.tokenRegExp = { pattern, flags };\r\n if (context & 512)\r\n parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index);\r\n parser.tokenValue = validate(parser, pattern, flags);\r\n return 65540;\r\n}\r\nfunction validate(parser, pattern, flags) {\r\n try {\r\n return new RegExp(pattern, flags);\r\n }\r\n catch (e) {\r\n try {\r\n new RegExp(pattern, flags.replace('d', ''));\r\n return null;\r\n }\r\n catch (e) {\r\n report(parser, 32);\r\n }\r\n }\r\n}\n\nfunction scanString(parser, context, quote) {\r\n const { index: start } = parser;\r\n let ret = '';\r\n let char = advanceChar(parser);\r\n let marker = parser.index;\r\n while ((CharTypes[char] & 8) === 0) {\r\n if (char === quote) {\r\n ret += parser.source.slice(marker, parser.index);\r\n advanceChar(parser);\r\n if (context & 512)\r\n parser.tokenRaw = parser.source.slice(start, parser.index);\r\n parser.tokenValue = ret;\r\n return 134283267;\r\n }\r\n if ((char & 8) === 8 && char === 92) {\r\n ret += parser.source.slice(marker, parser.index);\r\n char = advanceChar(parser);\r\n if (char < 0x7f || char === 8232 || char === 8233) {\r\n const code = parseEscape(parser, context, char);\r\n if (code >= 0)\r\n ret += fromCodePoint(code);\r\n else\r\n handleStringError(parser, code, 0);\r\n }\r\n else {\r\n ret += fromCodePoint(char);\r\n }\r\n marker = parser.index + 1;\r\n }\r\n if (parser.index >= parser.end)\r\n report(parser, 14);\r\n char = advanceChar(parser);\r\n }\r\n report(parser, 14);\r\n}\r\nfunction parseEscape(parser, context, first) {\r\n switch (first) {\r\n case 98:\r\n return 8;\r\n case 102:\r\n return 12;\r\n case 114:\r\n return 13;\r\n case 110:\r\n return 10;\r\n case 116:\r\n return 9;\r\n case 118:\r\n return 11;\r\n case 13: {\r\n if (parser.index < parser.end) {\r\n const nextChar = parser.source.charCodeAt(parser.index + 1);\r\n if (nextChar === 10) {\r\n parser.index = parser.index + 1;\r\n parser.currentChar = nextChar;\r\n }\r\n }\r\n }\r\n case 10:\r\n case 8232:\r\n case 8233:\r\n parser.column = -1;\r\n parser.line++;\r\n return -1;\r\n case 48:\r\n case 49:\r\n case 50:\r\n case 51: {\r\n let code = first - 48;\r\n let index = parser.index + 1;\r\n let column = parser.column + 1;\r\n if (index < parser.end) {\r\n const next = parser.source.charCodeAt(index);\r\n if ((CharTypes[next] & 32) === 0) {\r\n if ((code !== 0 || CharTypes[next] & 512) && context & 1024)\r\n return -2;\r\n }\r\n else if (context & 1024) {\r\n return -2;\r\n }\r\n else {\r\n parser.currentChar = next;\r\n code = (code << 3) | (next - 48);\r\n index++;\r\n column++;\r\n if (index < parser.end) {\r\n const next = parser.source.charCodeAt(index);\r\n if (CharTypes[next] & 32) {\r\n parser.currentChar = next;\r\n code = (code << 3) | (next - 48);\r\n index++;\r\n column++;\r\n }\r\n }\r\n parser.flags |= 64;\r\n parser.index = index - 1;\r\n parser.column = column - 1;\r\n }\r\n }\r\n return code;\r\n }\r\n case 52:\r\n case 53:\r\n case 54:\r\n case 55: {\r\n if (context & 1024)\r\n return -2;\r\n let code = first - 48;\r\n const index = parser.index + 1;\r\n const column = parser.column + 1;\r\n if (index < parser.end) {\r\n const next = parser.source.charCodeAt(index);\r\n if (CharTypes[next] & 32) {\r\n code = (code << 3) | (next - 48);\r\n parser.currentChar = next;\r\n parser.index = index;\r\n parser.column = column;\r\n }\r\n }\r\n parser.flags |= 64;\r\n return code;\r\n }\r\n case 120: {\r\n const ch1 = advanceChar(parser);\r\n if ((CharTypes[ch1] & 64) === 0)\r\n return -4;\r\n const hi = toHex(ch1);\r\n const ch2 = advanceChar(parser);\r\n if ((CharTypes[ch2] & 64) === 0)\r\n return -4;\r\n const lo = toHex(ch2);\r\n return (hi << 4) | lo;\r\n }\r\n case 117: {\r\n const ch = advanceChar(parser);\r\n if (parser.currentChar === 123) {\r\n let code = 0;\r\n while ((CharTypes[advanceChar(parser)] & 64) !== 0) {\r\n code = (code << 4) | toHex(parser.currentChar);\r\n if (code > 1114111)\r\n return -5;\r\n }\r\n if (parser.currentChar < 1 || parser.currentChar !== 125) {\r\n return -4;\r\n }\r\n return code;\r\n }\r\n else {\r\n if ((CharTypes[ch] & 64) === 0)\r\n return -4;\r\n const ch2 = parser.source.charCodeAt(parser.index + 1);\r\n if ((CharTypes[ch2] & 64) === 0)\r\n return -4;\r\n const ch3 = parser.source.charCodeAt(parser.index + 2);\r\n if ((CharTypes[ch3] & 64) === 0)\r\n return -4;\r\n const ch4 = parser.source.charCodeAt(parser.index + 3);\r\n if ((CharTypes[ch4] & 64) === 0)\r\n return -4;\r\n parser.index += 3;\r\n parser.column += 3;\r\n parser.currentChar = parser.source.charCodeAt(parser.index);\r\n return (toHex(ch) << 12) | (toHex(ch2) << 8) | (toHex(ch3) << 4) | toHex(ch4);\r\n }\r\n }\r\n case 56:\r\n case 57:\r\n if ((context & 256) === 0)\r\n return -3;\r\n default:\r\n return first;\r\n }\r\n}\r\nfunction handleStringError(state, code, isTemplate) {\r\n switch (code) {\r\n case -1:\r\n return;\r\n case -2:\r\n report(state, isTemplate ? 2 : 1);\r\n case -3:\r\n report(state, 13);\r\n case -4:\r\n report(state, 6);\r\n case -5:\r\n report(state, 101);\r\n }\r\n}\n\nfunction scanTemplate(parser, context) {\r\n const { index: start } = parser;\r\n let token = 67174409;\r\n let ret = '';\r\n let char = advanceChar(parser);\r\n while (char !== 96) {\r\n if (char === 36 && parser.source.charCodeAt(parser.index + 1) === 123) {\r\n advanceChar(parser);\r\n token = 67174408;\r\n break;\r\n }\r\n else if ((char & 8) === 8 && char === 92) {\r\n char = advanceChar(parser);\r\n if (char > 0x7e) {\r\n ret += fromCodePoint(char);\r\n }\r\n else {\r\n const code = parseEscape(parser, context | 1024, char);\r\n if (code >= 0) {\r\n ret += fromCodePoint(code);\r\n }\r\n else if (code !== -1 && context & 65536) {\r\n ret = undefined;\r\n char = scanBadTemplate(parser, char);\r\n if (char < 0)\r\n token = 67174408;\r\n break;\r\n }\r\n else {\r\n handleStringError(parser, code, 1);\r\n }\r\n }\r\n }\r\n else {\r\n if (parser.index < parser.end &&\r\n char === 13 &&\r\n parser.source.charCodeAt(parser.index) === 10) {\r\n ret += fromCodePoint(char);\r\n parser.currentChar = parser.source.charCodeAt(++parser.index);\r\n }\r\n if (((char & 83) < 3 && char === 10) || (char ^ 8232) <= 1) {\r\n parser.column = -1;\r\n parser.line++;\r\n }\r\n ret += fromCodePoint(char);\r\n }\r\n if (parser.index >= parser.end)\r\n report(parser, 15);\r\n char = advanceChar(parser);\r\n }\r\n advanceChar(parser);\r\n parser.tokenValue = ret;\r\n parser.tokenRaw = parser.source.slice(start + 1, parser.index - (token === 67174409 ? 1 : 2));\r\n return token;\r\n}\r\nfunction scanBadTemplate(parser, ch) {\r\n while (ch !== 96) {\r\n switch (ch) {\r\n case 36: {\r\n const index = parser.index + 1;\r\n if (index < parser.end && parser.source.charCodeAt(index) === 123) {\r\n parser.index = index;\r\n parser.column++;\r\n return -ch;\r\n }\r\n break;\r\n }\r\n case 10:\r\n case 8232:\r\n case 8233:\r\n parser.column = -1;\r\n parser.line++;\r\n }\r\n if (parser.index >= parser.end)\r\n report(parser, 15);\r\n ch = advanceChar(parser);\r\n }\r\n return ch;\r\n}\r\nfunction scanTemplateTail(parser, context) {\r\n if (parser.index >= parser.end)\r\n report(parser, 0);\r\n parser.index--;\r\n parser.column--;\r\n return scanTemplate(parser, context);\r\n}\n\nfunction scanNumber(parser, context, kind) {\r\n let char = parser.currentChar;\r\n let value = 0;\r\n let digit = 9;\r\n let atStart = kind & 64 ? 0 : 1;\r\n let digits = 0;\r\n let allowSeparator = 0;\r\n if (kind & 64) {\r\n value = '.' + scanDecimalDigitsOrSeparator(parser, char);\r\n char = parser.currentChar;\r\n if (char === 110)\r\n report(parser, 11);\r\n }\r\n else {\r\n if (char === 48) {\r\n char = advanceChar(parser);\r\n if ((char | 32) === 120) {\r\n kind = 8 | 128;\r\n char = advanceChar(parser);\r\n while (CharTypes[char] & (64 | 4096)) {\r\n if (char === 95) {\r\n if (!allowSeparator)\r\n report(parser, 146);\r\n allowSeparator = 0;\r\n char = advanceChar(parser);\r\n continue;\r\n }\r\n allowSeparator = 1;\r\n value = value * 0x10 + toHex(char);\r\n digits++;\r\n char = advanceChar(parser);\r\n }\r\n if (digits === 0 || !allowSeparator) {\r\n report(parser, digits === 0 ? 19 : 147);\r\n }\r\n }\r\n else if ((char | 32) === 111) {\r\n kind = 4 | 128;\r\n char = advanceChar(parser);\r\n while (CharTypes[char] & (32 | 4096)) {\r\n if (char === 95) {\r\n if (!allowSeparator) {\r\n report(parser, 146);\r\n }\r\n allowSeparator = 0;\r\n char = advanceChar(parser);\r\n continue;\r\n }\r\n allowSeparator = 1;\r\n value = value * 8 + (char - 48);\r\n digits++;\r\n char = advanceChar(parser);\r\n }\r\n if (digits === 0 || !allowSeparator) {\r\n report(parser, digits === 0 ? 0 : 147);\r\n }\r\n }\r\n else if ((char | 32) === 98) {\r\n kind = 2 | 128;\r\n char = advanceChar(parser);\r\n while (CharTypes[char] & (128 | 4096)) {\r\n if (char === 95) {\r\n if (!allowSeparator) {\r\n report(parser, 146);\r\n }\r\n allowSeparator = 0;\r\n char = advanceChar(parser);\r\n continue;\r\n }\r\n allowSeparator = 1;\r\n value = value * 2 + (char - 48);\r\n digits++;\r\n char = advanceChar(parser);\r\n }\r\n if (digits === 0 || !allowSeparator) {\r\n report(parser, digits === 0 ? 0 : 147);\r\n }\r\n }\r\n else if (CharTypes[char] & 32) {\r\n if (context & 1024)\r\n report(parser, 1);\r\n kind = 1;\r\n while (CharTypes[char] & 16) {\r\n if (CharTypes[char] & 512) {\r\n kind = 32;\r\n atStart = 0;\r\n break;\r\n }\r\n value = value * 8 + (char - 48);\r\n char = advanceChar(parser);\r\n }\r\n }\r\n else if (CharTypes[char] & 512) {\r\n if (context & 1024)\r\n report(parser, 1);\r\n parser.flags |= 64;\r\n kind = 32;\r\n }\r\n else if (char === 95) {\r\n report(parser, 0);\r\n }\r\n }\r\n if (kind & 48) {\r\n if (atStart) {\r\n while (digit >= 0 && CharTypes[char] & (16 | 4096)) {\r\n if (char === 95) {\r\n char = advanceChar(parser);\r\n if (char === 95 || kind & 32) {\r\n reportScannerError(parser.index, parser.line, parser.index + 1, 146);\r\n }\r\n allowSeparator = 1;\r\n continue;\r\n }\r\n allowSeparator = 0;\r\n value = 10 * value + (char - 48);\r\n char = advanceChar(parser);\r\n --digit;\r\n }\r\n if (allowSeparator) {\r\n reportScannerError(parser.index, parser.line, parser.index + 1, 147);\r\n }\r\n if (digit >= 0 && !isIdentifierStart(char) && char !== 46) {\r\n parser.tokenValue = value;\r\n if (context & 512)\r\n parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index);\r\n return 134283266;\r\n }\r\n }\r\n value += scanDecimalDigitsOrSeparator(parser, char);\r\n char = parser.currentChar;\r\n if (char === 46) {\r\n if (advanceChar(parser) === 95)\r\n report(parser, 0);\r\n kind = 64;\r\n value += '.' + scanDecimalDigitsOrSeparator(parser, parser.currentChar);\r\n char = parser.currentChar;\r\n }\r\n }\r\n }\r\n const end = parser.index;\r\n let isBigInt = 0;\r\n if (char === 110 && kind & 128) {\r\n isBigInt = 1;\r\n char = advanceChar(parser);\r\n }\r\n else {\r\n if ((char | 32) === 101) {\r\n char = advanceChar(parser);\r\n if (CharTypes[char] & 256)\r\n char = advanceChar(parser);\r\n const { index } = parser;\r\n if ((CharTypes[char] & 16) === 0)\r\n report(parser, 10);\r\n value += parser.source.substring(end, index) + scanDecimalDigitsOrSeparator(parser, char);\r\n char = parser.currentChar;\r\n }\r\n }\r\n if ((parser.index < parser.end && CharTypes[char] & 16) || isIdentifierStart(char)) {\r\n report(parser, 12);\r\n }\r\n if (isBigInt) {\r\n parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index);\r\n parser.tokenValue = BigInt(value);\r\n return 134283389;\r\n }\r\n parser.tokenValue =\r\n kind & (1 | 2 | 8 | 4)\r\n ? value\r\n : kind & 32\r\n ? parseFloat(parser.source.substring(parser.tokenPos, parser.index))\r\n : +value;\r\n if (context & 512)\r\n parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index);\r\n return 134283266;\r\n}\r\nfunction scanDecimalDigitsOrSeparator(parser, char) {\r\n let allowSeparator = 0;\r\n let start = parser.index;\r\n let ret = '';\r\n while (CharTypes[char] & (16 | 4096)) {\r\n if (char === 95) {\r\n const { index } = parser;\r\n char = advanceChar(parser);\r\n if (char === 95) {\r\n reportScannerError(parser.index, parser.line, parser.index + 1, 146);\r\n }\r\n allowSeparator = 1;\r\n ret += parser.source.substring(start, index);\r\n start = parser.index;\r\n continue;\r\n }\r\n allowSeparator = 0;\r\n char = advanceChar(parser);\r\n }\r\n if (allowSeparator) {\r\n reportScannerError(parser.index, parser.line, parser.index + 1, 147);\r\n }\r\n return ret + parser.source.substring(start, parser.index);\r\n}\n\nconst KeywordDescTable = [\r\n 'end of source',\r\n 'identifier', 'number', 'string', 'regular expression',\r\n 'false', 'true', 'null',\r\n 'template continuation', 'template tail',\r\n '=>', '(', '{', '.', '...', '}', ')', ';', ',', '[', ']', ':', '?', '\\'', '\"', '',\r\n '++', '--',\r\n '=', '<<=', '>>=', '>>>=', '**=', '+=', '-=', '*=', '/=', '%=', '^=', '|=',\r\n '&=', '||=', '&&=', '??=',\r\n 'typeof', 'delete', 'void', '!', '~', '+', '-', 'in', 'instanceof', '*', '%', '/', '**', '&&',\r\n '||', '===', '!==', '==', '!=', '<=', '>=', '<', '>', '<<', '>>', '>>>', '&', '|', '^',\r\n 'var', 'let', 'const',\r\n 'break', 'case', 'catch', 'class', 'continue', 'debugger', 'default', 'do', 'else', 'export',\r\n 'extends', 'finally', 'for', 'function', 'if', 'import', 'new', 'return', 'super', 'switch',\r\n 'this', 'throw', 'try', 'while', 'with',\r\n 'implements', 'interface', 'package', 'private', 'protected', 'public', 'static', 'yield',\r\n 'as', 'async', 'await', 'constructor', 'get', 'set', 'from', 'of',\r\n 'enum', 'eval', 'arguments', 'escaped keyword', 'escaped future reserved keyword', 'reserved if strict', '#',\r\n 'BigIntLiteral', '??', '?.', 'WhiteSpace', 'Illegal', 'LineTerminator', 'PrivateField',\r\n 'Template', '@', 'target', 'meta', 'LineFeed', 'Escaped', 'JSXText'\r\n];\r\nconst descKeywordTable = Object.create(null, {\r\n this: { value: 86113 },\r\n function: { value: 86106 },\r\n if: { value: 20571 },\r\n return: { value: 20574 },\r\n var: { value: 86090 },\r\n else: { value: 20565 },\r\n for: { value: 20569 },\r\n new: { value: 86109 },\r\n in: { value: 8738868 },\r\n typeof: { value: 16863277 },\r\n while: { value: 20580 },\r\n case: { value: 20558 },\r\n break: { value: 20557 },\r\n try: { value: 20579 },\r\n catch: { value: 20559 },\r\n delete: { value: 16863278 },\r\n throw: { value: 86114 },\r\n switch: { value: 86112 },\r\n continue: { value: 20561 },\r\n default: { value: 20563 },\r\n instanceof: { value: 8476725 },\r\n do: { value: 20564 },\r\n void: { value: 16863279 },\r\n finally: { value: 20568 },\r\n async: { value: 209007 },\r\n await: { value: 209008 },\r\n class: { value: 86096 },\r\n const: { value: 86092 },\r\n constructor: { value: 12401 },\r\n debugger: { value: 20562 },\r\n export: { value: 20566 },\r\n extends: { value: 20567 },\r\n false: { value: 86021 },\r\n from: { value: 12404 },\r\n get: { value: 12402 },\r\n implements: { value: 36966 },\r\n import: { value: 86108 },\r\n interface: { value: 36967 },\r\n let: { value: 241739 },\r\n null: { value: 86023 },\r\n of: { value: 274549 },\r\n package: { value: 36968 },\r\n private: { value: 36969 },\r\n protected: { value: 36970 },\r\n public: { value: 36971 },\r\n set: { value: 12403 },\r\n static: { value: 36972 },\r\n super: { value: 86111 },\r\n true: { value: 86022 },\r\n with: { value: 20581 },\r\n yield: { value: 241773 },\r\n enum: { value: 86134 },\r\n eval: { value: 537079927 },\r\n as: { value: 77934 },\r\n arguments: { value: 537079928 },\r\n target: { value: 143494 },\r\n meta: { value: 143495 },\r\n});\n\nfunction scanIdentifier(parser, context, isValidAsKeyword) {\r\n while (isIdPart[advanceChar(parser)]) { }\r\n parser.tokenValue = parser.source.slice(parser.tokenPos, parser.index);\r\n return parser.currentChar !== 92 && parser.currentChar < 0x7e\r\n ? descKeywordTable[parser.tokenValue] || 208897\r\n : scanIdentifierSlowCase(parser, context, 0, isValidAsKeyword);\r\n}\r\nfunction scanUnicodeIdentifier(parser, context) {\r\n const cookedChar = scanIdentifierUnicodeEscape(parser);\r\n if (!isIdentifierPart(cookedChar))\r\n report(parser, 4);\r\n parser.tokenValue = fromCodePoint(cookedChar);\r\n return scanIdentifierSlowCase(parser, context, 1, CharTypes[cookedChar] & 4);\r\n}\r\nfunction scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) {\r\n let start = parser.index;\r\n while (parser.index < parser.end) {\r\n if (parser.currentChar === 92) {\r\n parser.tokenValue += parser.source.slice(start, parser.index);\r\n hasEscape = 1;\r\n const code = scanIdentifierUnicodeEscape(parser);\r\n if (!isIdentifierPart(code))\r\n report(parser, 4);\r\n isValidAsKeyword = isValidAsKeyword && CharTypes[code] & 4;\r\n parser.tokenValue += fromCodePoint(code);\r\n start = parser.index;\r\n }\r\n else if (isIdentifierPart(parser.currentChar) || consumeMultiUnitCodePoint(parser, parser.currentChar)) {\r\n advanceChar(parser);\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n if (parser.index <= parser.end) {\r\n parser.tokenValue += parser.source.slice(start, parser.index);\r\n }\r\n const length = parser.tokenValue.length;\r\n if (isValidAsKeyword && length >= 2 && length <= 11) {\r\n const token = descKeywordTable[parser.tokenValue];\r\n if (token === void 0)\r\n return 208897;\r\n if (!hasEscape)\r\n return token;\r\n if (context & 1024) {\r\n return token === 209008 && (context & (2048 | 4194304)) === 0\r\n ? token\r\n : token === 36972\r\n ? 122\r\n : (token & 36864) === 36864\r\n ? 122\r\n : 121;\r\n }\r\n if (context & 1073741824 &&\r\n (context & 8192) === 0 &&\r\n (token & 20480) === 20480)\r\n return token;\r\n if (token === 241773) {\r\n return context & 1073741824\r\n ? 143483\r\n : context & 2097152\r\n ? 121\r\n : token;\r\n }\r\n return token === 209007 && context & 1073741824\r\n ? 143483\r\n : (token & 36864) === 36864\r\n ? token\r\n : token === 209008 && (context & 4194304) === 0\r\n ? token\r\n : 121;\r\n }\r\n return 208897;\r\n}\r\nfunction scanPrivateIdentifier(parser) {\r\n if (!isIdentifierStart(advanceChar(parser)))\r\n report(parser, 93);\r\n return 131;\r\n}\r\nfunction scanIdentifierUnicodeEscape(parser) {\r\n if (parser.source.charCodeAt(parser.index + 1) !== 117) {\r\n report(parser, 4);\r\n }\r\n parser.currentChar = parser.source.charCodeAt((parser.index += 2));\r\n return scanUnicodeEscape(parser);\r\n}\r\nfunction scanUnicodeEscape(parser) {\r\n let codePoint = 0;\r\n const char = parser.currentChar;\r\n if (char === 123) {\r\n const begin = parser.index - 2;\r\n while (CharTypes[advanceChar(parser)] & 64) {\r\n codePoint = (codePoint << 4) | toHex(parser.currentChar);\r\n if (codePoint > 1114111)\r\n reportScannerError(begin, parser.line, parser.index + 1, 101);\r\n }\r\n if (parser.currentChar !== 125) {\r\n reportScannerError(begin, parser.line, parser.index - 1, 6);\r\n }\r\n advanceChar(parser);\r\n return codePoint;\r\n }\r\n if ((CharTypes[char] & 64) === 0)\r\n report(parser, 6);\r\n const char2 = parser.source.charCodeAt(parser.index + 1);\r\n if ((CharTypes[char2] & 64) === 0)\r\n report(parser, 6);\r\n const char3 = parser.source.charCodeAt(parser.index + 2);\r\n if ((CharTypes[char3] & 64) === 0)\r\n report(parser, 6);\r\n const char4 = parser.source.charCodeAt(parser.index + 3);\r\n if ((CharTypes[char4] & 64) === 0)\r\n report(parser, 6);\r\n codePoint = (toHex(char) << 12) | (toHex(char2) << 8) | (toHex(char3) << 4) | toHex(char4);\r\n parser.currentChar = parser.source.charCodeAt((parser.index += 4));\r\n return codePoint;\r\n}\n\nconst TokenLookup = [\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 128,\r\n 136,\r\n 128,\r\n 128,\r\n 130,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 128,\r\n 16842800,\r\n 134283267,\r\n 131,\r\n 208897,\r\n 8457015,\r\n 8455751,\r\n 134283267,\r\n 67174411,\r\n 16,\r\n 8457014,\r\n 25233970,\r\n 18,\r\n 25233971,\r\n 67108877,\r\n 8457016,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 21,\r\n 1074790417,\r\n 8456258,\r\n 1077936157,\r\n 8456259,\r\n 22,\r\n 133,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 69271571,\r\n 137,\r\n 20,\r\n 8455497,\r\n 208897,\r\n 132,\r\n 4096,\r\n 4096,\r\n 4096,\r\n 4096,\r\n 4096,\r\n 4096,\r\n 4096,\r\n 208897,\r\n 4096,\r\n 208897,\r\n 208897,\r\n 4096,\r\n 208897,\r\n 4096,\r\n 208897,\r\n 4096,\r\n 208897,\r\n 4096,\r\n 4096,\r\n 4096,\r\n 208897,\r\n 4096,\r\n 4096,\r\n 208897,\r\n 4096,\r\n 4096,\r\n 2162700,\r\n 8455240,\r\n 1074790415,\r\n 16842801,\r\n 129\r\n];\r\nfunction nextToken(parser, context) {\r\n parser.flags = (parser.flags | 1) ^ 1;\r\n parser.startPos = parser.index;\r\n parser.startColumn = parser.column;\r\n parser.startLine = parser.line;\r\n parser.token = scanSingleToken(parser, context, 0);\r\n if (parser.onToken && parser.token !== 1048576) {\r\n const loc = {\r\n start: {\r\n line: parser.linePos,\r\n column: parser.colPos\r\n },\r\n end: {\r\n line: parser.line,\r\n column: parser.column\r\n }\r\n };\r\n parser.onToken(convertTokenType(parser.token), parser.tokenPos, parser.index, loc);\r\n }\r\n}\r\nfunction scanSingleToken(parser, context, state) {\r\n const isStartOfLine = parser.index === 0;\r\n const source = parser.source;\r\n let startPos = parser.index;\r\n let startLine = parser.line;\r\n let startColumn = parser.column;\r\n while (parser.index < parser.end) {\r\n parser.tokenPos = parser.index;\r\n parser.colPos = parser.column;\r\n parser.linePos = parser.line;\r\n let char = parser.currentChar;\r\n if (char <= 0x7e) {\r\n const token = TokenLookup[char];\r\n switch (token) {\r\n case 67174411:\r\n case 16:\r\n case 2162700:\r\n case 1074790415:\r\n case 69271571:\r\n case 20:\r\n case 21:\r\n case 1074790417:\r\n case 18:\r\n case 16842801:\r\n case 133:\r\n case 129:\r\n advanceChar(parser);\r\n return token;\r\n case 208897:\r\n return scanIdentifier(parser, context, 0);\r\n case 4096:\r\n return scanIdentifier(parser, context, 1);\r\n case 134283266:\r\n return scanNumber(parser, context, 16 | 128);\r\n case 134283267:\r\n return scanString(parser, context, char);\r\n case 132:\r\n return scanTemplate(parser, context);\r\n case 137:\r\n return scanUnicodeIdentifier(parser, context);\r\n case 131:\r\n return scanPrivateIdentifier(parser);\r\n case 128:\r\n advanceChar(parser);\r\n break;\r\n case 130:\r\n state |= 1 | 4;\r\n scanNewLine(parser);\r\n break;\r\n case 136:\r\n consumeLineFeed(parser, state);\r\n state = (state & ~4) | 1;\r\n break;\r\n case 8456258:\r\n let ch = advanceChar(parser);\r\n if (parser.index < parser.end) {\r\n if (ch === 60) {\r\n if (parser.index < parser.end && advanceChar(parser) === 61) {\r\n advanceChar(parser);\r\n return 4194334;\r\n }\r\n return 8456516;\r\n }\r\n else if (ch === 61) {\r\n advanceChar(parser);\r\n return 8456256;\r\n }\r\n if (ch === 33) {\r\n const index = parser.index + 1;\r\n if (index + 1 < parser.end &&\r\n source.charCodeAt(index) === 45 &&\r\n source.charCodeAt(index + 1) == 45) {\r\n parser.column += 3;\r\n parser.currentChar = source.charCodeAt((parser.index += 3));\r\n state = skipSingleHTMLComment(parser, source, state, context, 2, parser.tokenPos, parser.linePos, parser.colPos);\r\n startPos = parser.tokenPos;\r\n startLine = parser.linePos;\r\n startColumn = parser.colPos;\r\n continue;\r\n }\r\n return 8456258;\r\n }\r\n if (ch === 47) {\r\n if ((context & 16) === 0)\r\n return 8456258;\r\n const index = parser.index + 1;\r\n if (index < parser.end) {\r\n ch = source.charCodeAt(index);\r\n if (ch === 42 || ch === 47)\r\n break;\r\n }\r\n advanceChar(parser);\r\n return 25;\r\n }\r\n }\r\n return 8456258;\r\n case 1077936157: {\r\n advanceChar(parser);\r\n const ch = parser.currentChar;\r\n if (ch === 61) {\r\n if (advanceChar(parser) === 61) {\r\n advanceChar(parser);\r\n return 8455996;\r\n }\r\n return 8455998;\r\n }\r\n if (ch === 62) {\r\n advanceChar(parser);\r\n return 10;\r\n }\r\n return 1077936157;\r\n }\r\n case 16842800:\r\n if (advanceChar(parser) !== 61) {\r\n return 16842800;\r\n }\r\n if (advanceChar(parser) !== 61) {\r\n return 8455999;\r\n }\r\n advanceChar(parser);\r\n return 8455997;\r\n case 8457015:\r\n if (advanceChar(parser) !== 61)\r\n return 8457015;\r\n advanceChar(parser);\r\n return 4194342;\r\n case 8457014: {\r\n advanceChar(parser);\r\n if (parser.index >= parser.end)\r\n return 8457014;\r\n const ch = parser.currentChar;\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4194340;\r\n }\r\n if (ch !== 42)\r\n return 8457014;\r\n if (advanceChar(parser) !== 61)\r\n return 8457273;\r\n advanceChar(parser);\r\n return 4194337;\r\n }\r\n case 8455497:\r\n if (advanceChar(parser) !== 61)\r\n return 8455497;\r\n advanceChar(parser);\r\n return 4194343;\r\n case 25233970: {\r\n advanceChar(parser);\r\n const ch = parser.currentChar;\r\n if (ch === 43) {\r\n advanceChar(parser);\r\n return 33619995;\r\n }\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4194338;\r\n }\r\n return 25233970;\r\n }\r\n case 25233971: {\r\n advanceChar(parser);\r\n const ch = parser.currentChar;\r\n if (ch === 45) {\r\n advanceChar(parser);\r\n if ((state & 1 || isStartOfLine) && parser.currentChar === 62) {\r\n if ((context & 256) === 0)\r\n report(parser, 108);\r\n advanceChar(parser);\r\n state = skipSingleHTMLComment(parser, source, state, context, 3, startPos, startLine, startColumn);\r\n startPos = parser.tokenPos;\r\n startLine = parser.linePos;\r\n startColumn = parser.colPos;\r\n continue;\r\n }\r\n return 33619996;\r\n }\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4194339;\r\n }\r\n return 25233971;\r\n }\r\n case 8457016: {\r\n advanceChar(parser);\r\n if (parser.index < parser.end) {\r\n const ch = parser.currentChar;\r\n if (ch === 47) {\r\n advanceChar(parser);\r\n state = skipSingleLineComment(parser, source, state, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n startPos = parser.tokenPos;\r\n startLine = parser.linePos;\r\n startColumn = parser.colPos;\r\n continue;\r\n }\r\n if (ch === 42) {\r\n advanceChar(parser);\r\n state = skipMultiLineComment(parser, source, state);\r\n startPos = parser.tokenPos;\r\n startLine = parser.linePos;\r\n startColumn = parser.colPos;\r\n continue;\r\n }\r\n if (context & 32768) {\r\n return scanRegularExpression(parser, context);\r\n }\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4259877;\r\n }\r\n }\r\n return 8457016;\r\n }\r\n case 67108877:\r\n const next = advanceChar(parser);\r\n if (next >= 48 && next <= 57)\r\n return scanNumber(parser, context, 64 | 16);\r\n if (next === 46) {\r\n const index = parser.index + 1;\r\n if (index < parser.end && source.charCodeAt(index) === 46) {\r\n parser.column += 2;\r\n parser.currentChar = source.charCodeAt((parser.index += 2));\r\n return 14;\r\n }\r\n }\r\n return 67108877;\r\n case 8455240: {\r\n advanceChar(parser);\r\n const ch = parser.currentChar;\r\n if (ch === 124) {\r\n advanceChar(parser);\r\n if (parser.currentChar === 61) {\r\n advanceChar(parser);\r\n return 4194346;\r\n }\r\n return 8979003;\r\n }\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4194344;\r\n }\r\n return 8455240;\r\n }\r\n case 8456259: {\r\n advanceChar(parser);\r\n const ch = parser.currentChar;\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 8456257;\r\n }\r\n if (ch !== 62)\r\n return 8456259;\r\n advanceChar(parser);\r\n if (parser.index < parser.end) {\r\n const ch = parser.currentChar;\r\n if (ch === 62) {\r\n if (advanceChar(parser) === 61) {\r\n advanceChar(parser);\r\n return 4194336;\r\n }\r\n return 8456518;\r\n }\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4194335;\r\n }\r\n }\r\n return 8456517;\r\n }\r\n case 8455751: {\r\n advanceChar(parser);\r\n const ch = parser.currentChar;\r\n if (ch === 38) {\r\n advanceChar(parser);\r\n if (parser.currentChar === 61) {\r\n advanceChar(parser);\r\n return 4194347;\r\n }\r\n return 8979258;\r\n }\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4194345;\r\n }\r\n return 8455751;\r\n }\r\n case 22: {\r\n let ch = advanceChar(parser);\r\n if (ch === 63) {\r\n advanceChar(parser);\r\n if (parser.currentChar === 61) {\r\n advanceChar(parser);\r\n return 4194348;\r\n }\r\n return 276889982;\r\n }\r\n if (ch === 46) {\r\n const index = parser.index + 1;\r\n if (index < parser.end) {\r\n ch = source.charCodeAt(index);\r\n if (!(ch >= 48 && ch <= 57)) {\r\n advanceChar(parser);\r\n return 67108991;\r\n }\r\n }\r\n }\r\n return 22;\r\n }\r\n }\r\n }\r\n else {\r\n if ((char ^ 8232) <= 1) {\r\n state = (state & ~4) | 1;\r\n scanNewLine(parser);\r\n continue;\r\n }\r\n if ((char & 0xfc00) === 0xd800 || ((unicodeLookup[(char >>> 5) + 34816] >>> char) & 31 & 1) !== 0) {\r\n if ((char & 0xfc00) === 0xdc00) {\r\n char = ((char & 0x3ff) << 10) | (char & 0x3ff) | 0x10000;\r\n if (((unicodeLookup[(char >>> 5) + 0] >>> char) & 31 & 1) === 0) {\r\n report(parser, 18, fromCodePoint(char));\r\n }\r\n parser.index++;\r\n parser.currentChar = char;\r\n }\r\n parser.column++;\r\n parser.tokenValue = '';\r\n return scanIdentifierSlowCase(parser, context, 0, 0);\r\n }\r\n if (isExoticECMAScriptWhitespace(char)) {\r\n advanceChar(parser);\r\n continue;\r\n }\r\n report(parser, 18, fromCodePoint(char));\r\n }\r\n }\r\n return 1048576;\r\n}\n\nconst entities = {\r\n AElig: '\\u00C6',\r\n AMP: '\\u0026',\r\n Aacute: '\\u00C1',\r\n Abreve: '\\u0102',\r\n Acirc: '\\u00C2',\r\n Acy: '\\u0410',\r\n Afr: '\\uD835\\uDD04',\r\n Agrave: '\\u00C0',\r\n Alpha: '\\u0391',\r\n Amacr: '\\u0100',\r\n And: '\\u2A53',\r\n Aogon: '\\u0104',\r\n Aopf: '\\uD835\\uDD38',\r\n ApplyFunction: '\\u2061',\r\n Aring: '\\u00C5',\r\n Ascr: '\\uD835\\uDC9C',\r\n Assign: '\\u2254',\r\n Atilde: '\\u00C3',\r\n Auml: '\\u00C4',\r\n Backslash: '\\u2216',\r\n Barv: '\\u2AE7',\r\n Barwed: '\\u2306',\r\n Bcy: '\\u0411',\r\n Because: '\\u2235',\r\n Bernoullis: '\\u212C',\r\n Beta: '\\u0392',\r\n Bfr: '\\uD835\\uDD05',\r\n Bopf: '\\uD835\\uDD39',\r\n Breve: '\\u02D8',\r\n Bscr: '\\u212C',\r\n Bumpeq: '\\u224E',\r\n CHcy: '\\u0427',\r\n COPY: '\\u00A9',\r\n Cacute: '\\u0106',\r\n Cap: '\\u22D2',\r\n CapitalDifferentialD: '\\u2145',\r\n Cayleys: '\\u212D',\r\n Ccaron: '\\u010C',\r\n Ccedil: '\\u00C7',\r\n Ccirc: '\\u0108',\r\n Cconint: '\\u2230',\r\n Cdot: '\\u010A',\r\n Cedilla: '\\u00B8',\r\n CenterDot: '\\u00B7',\r\n Cfr: '\\u212D',\r\n Chi: '\\u03A7',\r\n CircleDot: '\\u2299',\r\n CircleMinus: '\\u2296',\r\n CirclePlus: '\\u2295',\r\n CircleTimes: '\\u2297',\r\n ClockwiseContourIntegral: '\\u2232',\r\n CloseCurlyDoubleQuote: '\\u201D',\r\n CloseCurlyQuote: '\\u2019',\r\n Colon: '\\u2237',\r\n Colone: '\\u2A74',\r\n Congruent: '\\u2261',\r\n Conint: '\\u222F',\r\n ContourIntegral: '\\u222E',\r\n Copf: '\\u2102',\r\n Coproduct: '\\u2210',\r\n CounterClockwiseContourIntegral: '\\u2233',\r\n Cross: '\\u2A2F',\r\n Cscr: '\\uD835\\uDC9E',\r\n Cup: '\\u22D3',\r\n CupCap: '\\u224D',\r\n DD: '\\u2145',\r\n DDotrahd: '\\u2911',\r\n DJcy: '\\u0402',\r\n DScy: '\\u0405',\r\n DZcy: '\\u040F',\r\n Dagger: '\\u2021',\r\n Darr: '\\u21A1',\r\n Dashv: '\\u2AE4',\r\n Dcaron: '\\u010E',\r\n Dcy: '\\u0414',\r\n Del: '\\u2207',\r\n Delta: '\\u0394',\r\n Dfr: '\\uD835\\uDD07',\r\n DiacriticalAcute: '\\u00B4',\r\n DiacriticalDot: '\\u02D9',\r\n DiacriticalDoubleAcute: '\\u02DD',\r\n DiacriticalGrave: '\\u0060',\r\n DiacriticalTilde: '\\u02DC',\r\n Diamond: '\\u22C4',\r\n DifferentialD: '\\u2146',\r\n Dopf: '\\uD835\\uDD3B',\r\n Dot: '\\u00A8',\r\n DotDot: '\\u20DC',\r\n DotEqual: '\\u2250',\r\n DoubleContourIntegral: '\\u222F',\r\n DoubleDot: '\\u00A8',\r\n DoubleDownArrow: '\\u21D3',\r\n DoubleLeftArrow: '\\u21D0',\r\n DoubleLeftRightArrow: '\\u21D4',\r\n DoubleLeftTee: '\\u2AE4',\r\n DoubleLongLeftArrow: '\\u27F8',\r\n DoubleLongLeftRightArrow: '\\u27FA',\r\n DoubleLongRightArrow: '\\u27F9',\r\n DoubleRightArrow: '\\u21D2',\r\n DoubleRightTee: '\\u22A8',\r\n DoubleUpArrow: '\\u21D1',\r\n DoubleUpDownArrow: '\\u21D5',\r\n DoubleVerticalBar: '\\u2225',\r\n DownArrow: '\\u2193',\r\n DownArrowBar: '\\u2913',\r\n DownArrowUpArrow: '\\u21F5',\r\n DownBreve: '\\u0311',\r\n DownLeftRightVector: '\\u2950',\r\n DownLeftTeeVector: '\\u295E',\r\n DownLeftVector: '\\u21BD',\r\n DownLeftVectorBar: '\\u2956',\r\n DownRightTeeVector: '\\u295F',\r\n DownRightVector: '\\u21C1',\r\n DownRightVectorBar: '\\u2957',\r\n DownTee: '\\u22A4',\r\n DownTeeArrow: '\\u21A7',\r\n Downarrow: '\\u21D3',\r\n Dscr: '\\uD835\\uDC9F',\r\n Dstrok: '\\u0110',\r\n ENG: '\\u014A',\r\n ETH: '\\u00D0',\r\n Eacute: '\\u00C9',\r\n Ecaron: '\\u011A',\r\n Ecirc: '\\u00CA',\r\n Ecy: '\\u042D',\r\n Edot: '\\u0116',\r\n Efr: '\\uD835\\uDD08',\r\n Egrave: '\\u00C8',\r\n Element: '\\u2208',\r\n Emacr: '\\u0112',\r\n EmptySmallSquare: '\\u25FB',\r\n EmptyVerySmallSquare: '\\u25AB',\r\n Eogon: '\\u0118',\r\n Eopf: '\\uD835\\uDD3C',\r\n Epsilon: '\\u0395',\r\n Equal: '\\u2A75',\r\n EqualTilde: '\\u2242',\r\n Equilibrium: '\\u21CC',\r\n Escr: '\\u2130',\r\n Esim: '\\u2A73',\r\n Eta: '\\u0397',\r\n Euml: '\\u00CB',\r\n Exists: '\\u2203',\r\n ExponentialE: '\\u2147',\r\n Fcy: '\\u0424',\r\n Ffr: '\\uD835\\uDD09',\r\n FilledSmallSquare: '\\u25FC',\r\n FilledVerySmallSquare: '\\u25AA',\r\n Fopf: '\\uD835\\uDD3D',\r\n ForAll: '\\u2200',\r\n Fouriertrf: '\\u2131',\r\n Fscr: '\\u2131',\r\n GJcy: '\\u0403',\r\n GT: '\\u003E',\r\n Gamma: '\\u0393',\r\n Gammad: '\\u03DC',\r\n Gbreve: '\\u011E',\r\n Gcedil: '\\u0122',\r\n Gcirc: '\\u011C',\r\n Gcy: '\\u0413',\r\n Gdot: '\\u0120',\r\n Gfr: '\\uD835\\uDD0A',\r\n Gg: '\\u22D9',\r\n Gopf: '\\uD835\\uDD3E',\r\n GreaterEqual: '\\u2265',\r\n GreaterEqualLess: '\\u22DB',\r\n GreaterFullEqual: '\\u2267',\r\n GreaterGreater: '\\u2AA2',\r\n GreaterLess: '\\u2277',\r\n GreaterSlantEqual: '\\u2A7E',\r\n GreaterTilde: '\\u2273',\r\n Gscr: '\\uD835\\uDCA2',\r\n Gt: '\\u226B',\r\n HARDcy: '\\u042A',\r\n Hacek: '\\u02C7',\r\n Hat: '\\u005E',\r\n Hcirc: '\\u0124',\r\n Hfr: '\\u210C',\r\n HilbertSpace: '\\u210B',\r\n Hopf: '\\u210D',\r\n HorizontalLine: '\\u2500',\r\n Hscr: '\\u210B',\r\n Hstrok: '\\u0126',\r\n HumpDownHump: '\\u224E',\r\n HumpEqual: '\\u224F',\r\n IEcy: '\\u0415',\r\n IJlig: '\\u0132',\r\n IOcy: '\\u0401',\r\n Iacute: '\\u00CD',\r\n Icirc: '\\u00CE',\r\n Icy: '\\u0418',\r\n Idot: '\\u0130',\r\n Ifr: '\\u2111',\r\n Igrave: '\\u00CC',\r\n Im: '\\u2111',\r\n Imacr: '\\u012A',\r\n ImaginaryI: '\\u2148',\r\n Implies: '\\u21D2',\r\n Int: '\\u222C',\r\n Integral: '\\u222B',\r\n Intersection: '\\u22C2',\r\n InvisibleComma: '\\u2063',\r\n InvisibleTimes: '\\u2062',\r\n Iogon: '\\u012E',\r\n Iopf: '\\uD835\\uDD40',\r\n Iota: '\\u0399',\r\n Iscr: '\\u2110',\r\n Itilde: '\\u0128',\r\n Iukcy: '\\u0406',\r\n Iuml: '\\u00CF',\r\n Jcirc: '\\u0134',\r\n Jcy: '\\u0419',\r\n Jfr: '\\uD835\\uDD0D',\r\n Jopf: '\\uD835\\uDD41',\r\n Jscr: '\\uD835\\uDCA5',\r\n Jsercy: '\\u0408',\r\n Jukcy: '\\u0404',\r\n KHcy: '\\u0425',\r\n KJcy: '\\u040C',\r\n Kappa: '\\u039A',\r\n Kcedil: '\\u0136',\r\n Kcy: '\\u041A',\r\n Kfr: '\\uD835\\uDD0E',\r\n Kopf: '\\uD835\\uDD42',\r\n Kscr: '\\uD835\\uDCA6',\r\n LJcy: '\\u0409',\r\n LT: '\\u003C',\r\n Lacute: '\\u0139',\r\n Lambda: '\\u039B',\r\n Lang: '\\u27EA',\r\n Laplacetrf: '\\u2112',\r\n Larr: '\\u219E',\r\n Lcaron: '\\u013D',\r\n Lcedil: '\\u013B',\r\n Lcy: '\\u041B',\r\n LeftAngleBracket: '\\u27E8',\r\n LeftArrow: '\\u2190',\r\n LeftArrowBar: '\\u21E4',\r\n LeftArrowRightArrow: '\\u21C6',\r\n LeftCeiling: '\\u2308',\r\n LeftDoubleBracket: '\\u27E6',\r\n LeftDownTeeVector: '\\u2961',\r\n LeftDownVector: '\\u21C3',\r\n LeftDownVectorBar: '\\u2959',\r\n LeftFloor: '\\u230A',\r\n LeftRightArrow: '\\u2194',\r\n LeftRightVector: '\\u294E',\r\n LeftTee: '\\u22A3',\r\n LeftTeeArrow: '\\u21A4',\r\n LeftTeeVector: '\\u295A',\r\n LeftTriangle: '\\u22B2',\r\n LeftTriangleBar: '\\u29CF',\r\n LeftTriangleEqual: '\\u22B4',\r\n LeftUpDownVector: '\\u2951',\r\n LeftUpTeeVector: '\\u2960',\r\n LeftUpVector: '\\u21BF',\r\n LeftUpVectorBar: '\\u2958',\r\n LeftVector: '\\u21BC',\r\n LeftVectorBar: '\\u2952',\r\n Leftarrow: '\\u21D0',\r\n Leftrightarrow: '\\u21D4',\r\n LessEqualGreater: '\\u22DA',\r\n LessFullEqual: '\\u2266',\r\n LessGreater: '\\u2276',\r\n LessLess: '\\u2AA1',\r\n LessSlantEqual: '\\u2A7D',\r\n LessTilde: '\\u2272',\r\n Lfr: '\\uD835\\uDD0F',\r\n Ll: '\\u22D8',\r\n Lleftarrow: '\\u21DA',\r\n Lmidot: '\\u013F',\r\n LongLeftArrow: '\\u27F5',\r\n LongLeftRightArrow: '\\u27F7',\r\n LongRightArrow: '\\u27F6',\r\n Longleftarrow: '\\u27F8',\r\n Longleftrightarrow: '\\u27FA',\r\n Longrightarrow: '\\u27F9',\r\n Lopf: '\\uD835\\uDD43',\r\n LowerLeftArrow: '\\u2199',\r\n LowerRightArrow: '\\u2198',\r\n Lscr: '\\u2112',\r\n Lsh: '\\u21B0',\r\n Lstrok: '\\u0141',\r\n Lt: '\\u226A',\r\n Map: '\\u2905',\r\n Mcy: '\\u041C',\r\n MediumSpace: '\\u205F',\r\n Mellintrf: '\\u2133',\r\n Mfr: '\\uD835\\uDD10',\r\n MinusPlus: '\\u2213',\r\n Mopf: '\\uD835\\uDD44',\r\n Mscr: '\\u2133',\r\n Mu: '\\u039C',\r\n NJcy: '\\u040A',\r\n Nacute: '\\u0143',\r\n Ncaron: '\\u0147',\r\n Ncedil: '\\u0145',\r\n Ncy: '\\u041D',\r\n NegativeMediumSpace: '\\u200B',\r\n NegativeThickSpace: '\\u200B',\r\n NegativeThinSpace: '\\u200B',\r\n NegativeVeryThinSpace: '\\u200B',\r\n NestedGreaterGreater: '\\u226B',\r\n NestedLessLess: '\\u226A',\r\n NewLine: '\\u000A',\r\n Nfr: '\\uD835\\uDD11',\r\n NoBreak: '\\u2060',\r\n NonBreakingSpace: '\\u00A0',\r\n Nopf: '\\u2115',\r\n Not: '\\u2AEC',\r\n NotCongruent: '\\u2262',\r\n NotCupCap: '\\u226D',\r\n NotDoubleVerticalBar: '\\u2226',\r\n NotElement: '\\u2209',\r\n NotEqual: '\\u2260',\r\n NotEqualTilde: '\\u2242\\u0338',\r\n NotExists: '\\u2204',\r\n NotGreater: '\\u226F',\r\n NotGreaterEqual: '\\u2271',\r\n NotGreaterFullEqual: '\\u2267\\u0338',\r\n NotGreaterGreater: '\\u226B\\u0338',\r\n NotGreaterLess: '\\u2279',\r\n NotGreaterSlantEqual: '\\u2A7E\\u0338',\r\n NotGreaterTilde: '\\u2275',\r\n NotHumpDownHump: '\\u224E\\u0338',\r\n NotHumpEqual: '\\u224F\\u0338',\r\n NotLeftTriangle: '\\u22EA',\r\n NotLeftTriangleBar: '\\u29CF\\u0338',\r\n NotLeftTriangleEqual: '\\u22EC',\r\n NotLess: '\\u226E',\r\n NotLessEqual: '\\u2270',\r\n NotLessGreater: '\\u2278',\r\n NotLessLess: '\\u226A\\u0338',\r\n NotLessSlantEqual: '\\u2A7D\\u0338',\r\n NotLessTilde: '\\u2274',\r\n NotNestedGreaterGreater: '\\u2AA2\\u0338',\r\n NotNestedLessLess: '\\u2AA1\\u0338',\r\n NotPrecedes: '\\u2280',\r\n NotPrecedesEqual: '\\u2AAF\\u0338',\r\n NotPrecedesSlantEqual: '\\u22E0',\r\n NotReverseElement: '\\u220C',\r\n NotRightTriangle: '\\u22EB',\r\n NotRightTriangleBar: '\\u29D0\\u0338',\r\n NotRightTriangleEqual: '\\u22ED',\r\n NotSquareSubset: '\\u228F\\u0338',\r\n NotSquareSubsetEqual: '\\u22E2',\r\n NotSquareSuperset: '\\u2290\\u0338',\r\n NotSquareSupersetEqual: '\\u22E3',\r\n NotSubset: '\\u2282\\u20D2',\r\n NotSubsetEqual: '\\u2288',\r\n NotSucceeds: '\\u2281',\r\n NotSucceedsEqual: '\\u2AB0\\u0338',\r\n NotSucceedsSlantEqual: '\\u22E1',\r\n NotSucceedsTilde: '\\u227F\\u0338',\r\n NotSuperset: '\\u2283\\u20D2',\r\n NotSupersetEqual: '\\u2289',\r\n NotTilde: '\\u2241',\r\n NotTildeEqual: '\\u2244',\r\n NotTildeFullEqual: '\\u2247',\r\n NotTildeTilde: '\\u2249',\r\n NotVerticalBar: '\\u2224',\r\n Nscr: '\\uD835\\uDCA9',\r\n Ntilde: '\\u00D1',\r\n Nu: '\\u039D',\r\n OElig: '\\u0152',\r\n Oacute: '\\u00D3',\r\n Ocirc: '\\u00D4',\r\n Ocy: '\\u041E',\r\n Odblac: '\\u0150',\r\n Ofr: '\\uD835\\uDD12',\r\n Ograve: '\\u00D2',\r\n Omacr: '\\u014C',\r\n Omega: '\\u03A9',\r\n Omicron: '\\u039F',\r\n Oopf: '\\uD835\\uDD46',\r\n OpenCurlyDoubleQuote: '\\u201C',\r\n OpenCurlyQuote: '\\u2018',\r\n Or: '\\u2A54',\r\n Oscr: '\\uD835\\uDCAA',\r\n Oslash: '\\u00D8',\r\n Otilde: '\\u00D5',\r\n Otimes: '\\u2A37',\r\n Ouml: '\\u00D6',\r\n OverBar: '\\u203E',\r\n OverBrace: '\\u23DE',\r\n OverBracket: '\\u23B4',\r\n OverParenthesis: '\\u23DC',\r\n PartialD: '\\u2202',\r\n Pcy: '\\u041F',\r\n Pfr: '\\uD835\\uDD13',\r\n Phi: '\\u03A6',\r\n Pi: '\\u03A0',\r\n PlusMinus: '\\u00B1',\r\n Poincareplane: '\\u210C',\r\n Popf: '\\u2119',\r\n Pr: '\\u2ABB',\r\n Precedes: '\\u227A',\r\n PrecedesEqual: '\\u2AAF',\r\n PrecedesSlantEqual: '\\u227C',\r\n PrecedesTilde: '\\u227E',\r\n Prime: '\\u2033',\r\n Product: '\\u220F',\r\n Proportion: '\\u2237',\r\n Proportional: '\\u221D',\r\n Pscr: '\\uD835\\uDCAB',\r\n Psi: '\\u03A8',\r\n QUOT: '\\u0022',\r\n Qfr: '\\uD835\\uDD14',\r\n Qopf: '\\u211A',\r\n Qscr: '\\uD835\\uDCAC',\r\n RBarr: '\\u2910',\r\n REG: '\\u00AE',\r\n Racute: '\\u0154',\r\n Rang: '\\u27EB',\r\n Rarr: '\\u21A0',\r\n Rarrtl: '\\u2916',\r\n Rcaron: '\\u0158',\r\n Rcedil: '\\u0156',\r\n Rcy: '\\u0420',\r\n Re: '\\u211C',\r\n ReverseElement: '\\u220B',\r\n ReverseEquilibrium: '\\u21CB',\r\n ReverseUpEquilibrium: '\\u296F',\r\n Rfr: '\\u211C',\r\n Rho: '\\u03A1',\r\n RightAngleBracket: '\\u27E9',\r\n RightArrow: '\\u2192',\r\n RightArrowBar: '\\u21E5',\r\n RightArrowLeftArrow: '\\u21C4',\r\n RightCeiling: '\\u2309',\r\n RightDoubleBracket: '\\u27E7',\r\n RightDownTeeVector: '\\u295D',\r\n RightDownVector: '\\u21C2',\r\n RightDownVectorBar: '\\u2955',\r\n RightFloor: '\\u230B',\r\n RightTee: '\\u22A2',\r\n RightTeeArrow: '\\u21A6',\r\n RightTeeVector: '\\u295B',\r\n RightTriangle: '\\u22B3',\r\n RightTriangleBar: '\\u29D0',\r\n RightTriangleEqual: '\\u22B5',\r\n RightUpDownVector: '\\u294F',\r\n RightUpTeeVector: '\\u295C',\r\n RightUpVector: '\\u21BE',\r\n RightUpVectorBar: '\\u2954',\r\n RightVector: '\\u21C0',\r\n RightVectorBar: '\\u2953',\r\n Rightarrow: '\\u21D2',\r\n Ropf: '\\u211D',\r\n RoundImplies: '\\u2970',\r\n Rrightarrow: '\\u21DB',\r\n Rscr: '\\u211B',\r\n Rsh: '\\u21B1',\r\n RuleDelayed: '\\u29F4',\r\n SHCHcy: '\\u0429',\r\n SHcy: '\\u0428',\r\n SOFTcy: '\\u042C',\r\n Sacute: '\\u015A',\r\n Sc: '\\u2ABC',\r\n Scaron: '\\u0160',\r\n Scedil: '\\u015E',\r\n Scirc: '\\u015C',\r\n Scy: '\\u0421',\r\n Sfr: '\\uD835\\uDD16',\r\n ShortDownArrow: '\\u2193',\r\n ShortLeftArrow: '\\u2190',\r\n ShortRightArrow: '\\u2192',\r\n ShortUpArrow: '\\u2191',\r\n Sigma: '\\u03A3',\r\n SmallCircle: '\\u2218',\r\n Sopf: '\\uD835\\uDD4A',\r\n Sqrt: '\\u221A',\r\n Square: '\\u25A1',\r\n SquareIntersection: '\\u2293',\r\n SquareSubset: '\\u228F',\r\n SquareSubsetEqual: '\\u2291',\r\n SquareSuperset: '\\u2290',\r\n SquareSupersetEqual: '\\u2292',\r\n SquareUnion: '\\u2294',\r\n Sscr: '\\uD835\\uDCAE',\r\n Star: '\\u22C6',\r\n Sub: '\\u22D0',\r\n Subset: '\\u22D0',\r\n SubsetEqual: '\\u2286',\r\n Succeeds: '\\u227B',\r\n SucceedsEqual: '\\u2AB0',\r\n SucceedsSlantEqual: '\\u227D',\r\n SucceedsTilde: '\\u227F',\r\n SuchThat: '\\u220B',\r\n Sum: '\\u2211',\r\n Sup: '\\u22D1',\r\n Superset: '\\u2283',\r\n SupersetEqual: '\\u2287',\r\n Supset: '\\u22D1',\r\n THORN: '\\u00DE',\r\n TRADE: '\\u2122',\r\n TSHcy: '\\u040B',\r\n TScy: '\\u0426',\r\n Tab: '\\u0009',\r\n Tau: '\\u03A4',\r\n Tcaron: '\\u0164',\r\n Tcedil: '\\u0162',\r\n Tcy: '\\u0422',\r\n Tfr: '\\uD835\\uDD17',\r\n Therefore: '\\u2234',\r\n Theta: '\\u0398',\r\n ThickSpace: '\\u205F\\u200A',\r\n ThinSpace: '\\u2009',\r\n Tilde: '\\u223C',\r\n TildeEqual: '\\u2243',\r\n TildeFullEqual: '\\u2245',\r\n TildeTilde: '\\u2248',\r\n Topf: '\\uD835\\uDD4B',\r\n TripleDot: '\\u20DB',\r\n Tscr: '\\uD835\\uDCAF',\r\n Tstrok: '\\u0166',\r\n Uacute: '\\u00DA',\r\n Uarr: '\\u219F',\r\n Uarrocir: '\\u2949',\r\n Ubrcy: '\\u040E',\r\n Ubreve: '\\u016C',\r\n Ucirc: '\\u00DB',\r\n Ucy: '\\u0423',\r\n Udblac: '\\u0170',\r\n Ufr: '\\uD835\\uDD18',\r\n Ugrave: '\\u00D9',\r\n Umacr: '\\u016A',\r\n UnderBar: '\\u005F',\r\n UnderBrace: '\\u23DF',\r\n UnderBracket: '\\u23B5',\r\n UnderParenthesis: '\\u23DD',\r\n Union: '\\u22C3',\r\n UnionPlus: '\\u228E',\r\n Uogon: '\\u0172',\r\n Uopf: '\\uD835\\uDD4C',\r\n UpArrow: '\\u2191',\r\n UpArrowBar: '\\u2912',\r\n UpArrowDownArrow: '\\u21C5',\r\n UpDownArrow: '\\u2195',\r\n UpEquilibrium: '\\u296E',\r\n UpTee: '\\u22A5',\r\n UpTeeArrow: '\\u21A5',\r\n Uparrow: '\\u21D1',\r\n Updownarrow: '\\u21D5',\r\n UpperLeftArrow: '\\u2196',\r\n UpperRightArrow: '\\u2197',\r\n Upsi: '\\u03D2',\r\n Upsilon: '\\u03A5',\r\n Uring: '\\u016E',\r\n Uscr: '\\uD835\\uDCB0',\r\n Utilde: '\\u0168',\r\n Uuml: '\\u00DC',\r\n VDash: '\\u22AB',\r\n Vbar: '\\u2AEB',\r\n Vcy: '\\u0412',\r\n Vdash: '\\u22A9',\r\n Vdashl: '\\u2AE6',\r\n Vee: '\\u22C1',\r\n Verbar: '\\u2016',\r\n Vert: '\\u2016',\r\n VerticalBar: '\\u2223',\r\n VerticalLine: '\\u007C',\r\n VerticalSeparator: '\\u2758',\r\n VerticalTilde: '\\u2240',\r\n VeryThinSpace: '\\u200A',\r\n Vfr: '\\uD835\\uDD19',\r\n Vopf: '\\uD835\\uDD4D',\r\n Vscr: '\\uD835\\uDCB1',\r\n Vvdash: '\\u22AA',\r\n Wcirc: '\\u0174',\r\n Wedge: '\\u22C0',\r\n Wfr: '\\uD835\\uDD1A',\r\n Wopf: '\\uD835\\uDD4E',\r\n Wscr: '\\uD835\\uDCB2',\r\n Xfr: '\\uD835\\uDD1B',\r\n Xi: '\\u039E',\r\n Xopf: '\\uD835\\uDD4F',\r\n Xscr: '\\uD835\\uDCB3',\r\n YAcy: '\\u042F',\r\n YIcy: '\\u0407',\r\n YUcy: '\\u042E',\r\n Yacute: '\\u00DD',\r\n Ycirc: '\\u0176',\r\n Ycy: '\\u042B',\r\n Yfr: '\\uD835\\uDD1C',\r\n Yopf: '\\uD835\\uDD50',\r\n Yscr: '\\uD835\\uDCB4',\r\n Yuml: '\\u0178',\r\n ZHcy: '\\u0416',\r\n Zacute: '\\u0179',\r\n Zcaron: '\\u017D',\r\n Zcy: '\\u0417',\r\n Zdot: '\\u017B',\r\n ZeroWidthSpace: '\\u200B',\r\n Zeta: '\\u0396',\r\n Zfr: '\\u2128',\r\n Zopf: '\\u2124',\r\n Zscr: '\\uD835\\uDCB5',\r\n aacute: '\\u00E1',\r\n abreve: '\\u0103',\r\n ac: '\\u223E',\r\n acE: '\\u223E\\u0333',\r\n acd: '\\u223F',\r\n acirc: '\\u00E2',\r\n acute: '\\u00B4',\r\n acy: '\\u0430',\r\n aelig: '\\u00E6',\r\n af: '\\u2061',\r\n afr: '\\uD835\\uDD1E',\r\n agrave: '\\u00E0',\r\n alefsym: '\\u2135',\r\n aleph: '\\u2135',\r\n alpha: '\\u03B1',\r\n amacr: '\\u0101',\r\n amalg: '\\u2A3F',\r\n amp: '\\u0026',\r\n and: '\\u2227',\r\n andand: '\\u2A55',\r\n andd: '\\u2A5C',\r\n andslope: '\\u2A58',\r\n andv: '\\u2A5A',\r\n ang: '\\u2220',\r\n ange: '\\u29A4',\r\n angle: '\\u2220',\r\n angmsd: '\\u2221',\r\n angmsdaa: '\\u29A8',\r\n angmsdab: '\\u29A9',\r\n angmsdac: '\\u29AA',\r\n angmsdad: '\\u29AB',\r\n angmsdae: '\\u29AC',\r\n angmsdaf: '\\u29AD',\r\n angmsdag: '\\u29AE',\r\n angmsdah: '\\u29AF',\r\n angrt: '\\u221F',\r\n angrtvb: '\\u22BE',\r\n angrtvbd: '\\u299D',\r\n angsph: '\\u2222',\r\n angst: '\\u00C5',\r\n angzarr: '\\u237C',\r\n aogon: '\\u0105',\r\n aopf: '\\uD835\\uDD52',\r\n ap: '\\u2248',\r\n apE: '\\u2A70',\r\n apacir: '\\u2A6F',\r\n ape: '\\u224A',\r\n apid: '\\u224B',\r\n apos: '\\u0027',\r\n approx: '\\u2248',\r\n approxeq: '\\u224A',\r\n aring: '\\u00E5',\r\n ascr: '\\uD835\\uDCB6',\r\n ast: '\\u002A',\r\n asymp: '\\u2248',\r\n asympeq: '\\u224D',\r\n atilde: '\\u00E3',\r\n auml: '\\u00E4',\r\n awconint: '\\u2233',\r\n awint: '\\u2A11',\r\n bNot: '\\u2AED',\r\n backcong: '\\u224C',\r\n backepsilon: '\\u03F6',\r\n backprime: '\\u2035',\r\n backsim: '\\u223D',\r\n backsimeq: '\\u22CD',\r\n barvee: '\\u22BD',\r\n barwed: '\\u2305',\r\n barwedge: '\\u2305',\r\n bbrk: '\\u23B5',\r\n bbrktbrk: '\\u23B6',\r\n bcong: '\\u224C',\r\n bcy: '\\u0431',\r\n bdquo: '\\u201E',\r\n becaus: '\\u2235',\r\n because: '\\u2235',\r\n bemptyv: '\\u29B0',\r\n bepsi: '\\u03F6',\r\n bernou: '\\u212C',\r\n beta: '\\u03B2',\r\n beth: '\\u2136',\r\n between: '\\u226C',\r\n bfr: '\\uD835\\uDD1F',\r\n bigcap: '\\u22C2',\r\n bigcirc: '\\u25EF',\r\n bigcup: '\\u22C3',\r\n bigodot: '\\u2A00',\r\n bigoplus: '\\u2A01',\r\n bigotimes: '\\u2A02',\r\n bigsqcup: '\\u2A06',\r\n bigstar: '\\u2605',\r\n bigtriangledown: '\\u25BD',\r\n bigtriangleup: '\\u25B3',\r\n biguplus: '\\u2A04',\r\n bigvee: '\\u22C1',\r\n bigwedge: '\\u22C0',\r\n bkarow: '\\u290D',\r\n blacklozenge: '\\u29EB',\r\n blacksquare: '\\u25AA',\r\n blacktriangle: '\\u25B4',\r\n blacktriangledown: '\\u25BE',\r\n blacktriangleleft: '\\u25C2',\r\n blacktriangleright: '\\u25B8',\r\n blank: '\\u2423',\r\n blk12: '\\u2592',\r\n blk14: '\\u2591',\r\n blk34: '\\u2593',\r\n block: '\\u2588',\r\n bne: '\\u003D\\u20E5',\r\n bnequiv: '\\u2261\\u20E5',\r\n bnot: '\\u2310',\r\n bopf: '\\uD835\\uDD53',\r\n bot: '\\u22A5',\r\n bottom: '\\u22A5',\r\n bowtie: '\\u22C8',\r\n boxDL: '\\u2557',\r\n boxDR: '\\u2554',\r\n boxDl: '\\u2556',\r\n boxDr: '\\u2553',\r\n boxH: '\\u2550',\r\n boxHD: '\\u2566',\r\n boxHU: '\\u2569',\r\n boxHd: '\\u2564',\r\n boxHu: '\\u2567',\r\n boxUL: '\\u255D',\r\n boxUR: '\\u255A',\r\n boxUl: '\\u255C',\r\n boxUr: '\\u2559',\r\n boxV: '\\u2551',\r\n boxVH: '\\u256C',\r\n boxVL: '\\u2563',\r\n boxVR: '\\u2560',\r\n boxVh: '\\u256B',\r\n boxVl: '\\u2562',\r\n boxVr: '\\u255F',\r\n boxbox: '\\u29C9',\r\n boxdL: '\\u2555',\r\n boxdR: '\\u2552',\r\n boxdl: '\\u2510',\r\n boxdr: '\\u250C',\r\n boxh: '\\u2500',\r\n boxhD: '\\u2565',\r\n boxhU: '\\u2568',\r\n boxhd: '\\u252C',\r\n boxhu: '\\u2534',\r\n boxminus: '\\u229F',\r\n boxplus: '\\u229E',\r\n boxtimes: '\\u22A0',\r\n boxuL: '\\u255B',\r\n boxuR: '\\u2558',\r\n boxul: '\\u2518',\r\n boxur: '\\u2514',\r\n boxv: '\\u2502',\r\n boxvH: '\\u256A',\r\n boxvL: '\\u2561',\r\n boxvR: '\\u255E',\r\n boxvh: '\\u253C',\r\n boxvl: '\\u2524',\r\n boxvr: '\\u251C',\r\n bprime: '\\u2035',\r\n breve: '\\u02D8',\r\n brvbar: '\\u00A6',\r\n bscr: '\\uD835\\uDCB7',\r\n bsemi: '\\u204F',\r\n bsim: '\\u223D',\r\n bsime: '\\u22CD',\r\n bsol: '\\u005C',\r\n bsolb: '\\u29C5',\r\n bsolhsub: '\\u27C8',\r\n bull: '\\u2022',\r\n bullet: '\\u2022',\r\n bump: '\\u224E',\r\n bumpE: '\\u2AAE',\r\n bumpe: '\\u224F',\r\n bumpeq: '\\u224F',\r\n cacute: '\\u0107',\r\n cap: '\\u2229',\r\n capand: '\\u2A44',\r\n capbrcup: '\\u2A49',\r\n capcap: '\\u2A4B',\r\n capcup: '\\u2A47',\r\n capdot: '\\u2A40',\r\n caps: '\\u2229\\uFE00',\r\n caret: '\\u2041',\r\n caron: '\\u02C7',\r\n ccaps: '\\u2A4D',\r\n ccaron: '\\u010D',\r\n ccedil: '\\u00E7',\r\n ccirc: '\\u0109',\r\n ccups: '\\u2A4C',\r\n ccupssm: '\\u2A50',\r\n cdot: '\\u010B',\r\n cedil: '\\u00B8',\r\n cemptyv: '\\u29B2',\r\n cent: '\\u00A2',\r\n centerdot: '\\u00B7',\r\n cfr: '\\uD835\\uDD20',\r\n chcy: '\\u0447',\r\n check: '\\u2713',\r\n checkmark: '\\u2713',\r\n chi: '\\u03C7',\r\n cir: '\\u25CB',\r\n cirE: '\\u29C3',\r\n circ: '\\u02C6',\r\n circeq: '\\u2257',\r\n circlearrowleft: '\\u21BA',\r\n circlearrowright: '\\u21BB',\r\n circledR: '\\u00AE',\r\n circledS: '\\u24C8',\r\n circledast: '\\u229B',\r\n circledcirc: '\\u229A',\r\n circleddash: '\\u229D',\r\n cire: '\\u2257',\r\n cirfnint: '\\u2A10',\r\n cirmid: '\\u2AEF',\r\n cirscir: '\\u29C2',\r\n clubs: '\\u2663',\r\n clubsuit: '\\u2663',\r\n colon: '\\u003A',\r\n colone: '\\u2254',\r\n coloneq: '\\u2254',\r\n comma: '\\u002C',\r\n commat: '\\u0040',\r\n comp: '\\u2201',\r\n compfn: '\\u2218',\r\n complement: '\\u2201',\r\n complexes: '\\u2102',\r\n cong: '\\u2245',\r\n congdot: '\\u2A6D',\r\n conint: '\\u222E',\r\n copf: '\\uD835\\uDD54',\r\n coprod: '\\u2210',\r\n copy: '\\u00A9',\r\n copysr: '\\u2117',\r\n crarr: '\\u21B5',\r\n cross: '\\u2717',\r\n cscr: '\\uD835\\uDCB8',\r\n csub: '\\u2ACF',\r\n csube: '\\u2AD1',\r\n csup: '\\u2AD0',\r\n csupe: '\\u2AD2',\r\n ctdot: '\\u22EF',\r\n cudarrl: '\\u2938',\r\n cudarrr: '\\u2935',\r\n cuepr: '\\u22DE',\r\n cuesc: '\\u22DF',\r\n cularr: '\\u21B6',\r\n cularrp: '\\u293D',\r\n cup: '\\u222A',\r\n cupbrcap: '\\u2A48',\r\n cupcap: '\\u2A46',\r\n cupcup: '\\u2A4A',\r\n cupdot: '\\u228D',\r\n cupor: '\\u2A45',\r\n cups: '\\u222A\\uFE00',\r\n curarr: '\\u21B7',\r\n curarrm: '\\u293C',\r\n curlyeqprec: '\\u22DE',\r\n curlyeqsucc: '\\u22DF',\r\n curlyvee: '\\u22CE',\r\n curlywedge: '\\u22CF',\r\n curren: '\\u00A4',\r\n curvearrowleft: '\\u21B6',\r\n curvearrowright: '\\u21B7',\r\n cuvee: '\\u22CE',\r\n cuwed: '\\u22CF',\r\n cwconint: '\\u2232',\r\n cwint: '\\u2231',\r\n cylcty: '\\u232D',\r\n dArr: '\\u21D3',\r\n dHar: '\\u2965',\r\n dagger: '\\u2020',\r\n daleth: '\\u2138',\r\n darr: '\\u2193',\r\n dash: '\\u2010',\r\n dashv: '\\u22A3',\r\n dbkarow: '\\u290F',\r\n dblac: '\\u02DD',\r\n dcaron: '\\u010F',\r\n dcy: '\\u0434',\r\n dd: '\\u2146',\r\n ddagger: '\\u2021',\r\n ddarr: '\\u21CA',\r\n ddotseq: '\\u2A77',\r\n deg: '\\u00B0',\r\n delta: '\\u03B4',\r\n demptyv: '\\u29B1',\r\n dfisht: '\\u297F',\r\n dfr: '\\uD835\\uDD21',\r\n dharl: '\\u21C3',\r\n dharr: '\\u21C2',\r\n diam: '\\u22C4',\r\n diamond: '\\u22C4',\r\n diamondsuit: '\\u2666',\r\n diams: '\\u2666',\r\n die: '\\u00A8',\r\n digamma: '\\u03DD',\r\n disin: '\\u22F2',\r\n div: '\\u00F7',\r\n divide: '\\u00F7',\r\n divideontimes: '\\u22C7',\r\n divonx: '\\u22C7',\r\n djcy: '\\u0452',\r\n dlcorn: '\\u231E',\r\n dlcrop: '\\u230D',\r\n dollar: '\\u0024',\r\n dopf: '\\uD835\\uDD55',\r\n dot: '\\u02D9',\r\n doteq: '\\u2250',\r\n doteqdot: '\\u2251',\r\n dotminus: '\\u2238',\r\n dotplus: '\\u2214',\r\n dotsquare: '\\u22A1',\r\n doublebarwedge: '\\u2306',\r\n downarrow: '\\u2193',\r\n downdownarrows: '\\u21CA',\r\n downharpoonleft: '\\u21C3',\r\n downharpoonright: '\\u21C2',\r\n drbkarow: '\\u2910',\r\n drcorn: '\\u231F',\r\n drcrop: '\\u230C',\r\n dscr: '\\uD835\\uDCB9',\r\n dscy: '\\u0455',\r\n dsol: '\\u29F6',\r\n dstrok: '\\u0111',\r\n dtdot: '\\u22F1',\r\n dtri: '\\u25BF',\r\n dtrif: '\\u25BE',\r\n duarr: '\\u21F5',\r\n duhar: '\\u296F',\r\n dwangle: '\\u29A6',\r\n dzcy: '\\u045F',\r\n dzigrarr: '\\u27FF',\r\n eDDot: '\\u2A77',\r\n eDot: '\\u2251',\r\n eacute: '\\u00E9',\r\n easter: '\\u2A6E',\r\n ecaron: '\\u011B',\r\n ecir: '\\u2256',\r\n ecirc: '\\u00EA',\r\n ecolon: '\\u2255',\r\n ecy: '\\u044D',\r\n edot: '\\u0117',\r\n ee: '\\u2147',\r\n efDot: '\\u2252',\r\n efr: '\\uD835\\uDD22',\r\n eg: '\\u2A9A',\r\n egrave: '\\u00E8',\r\n egs: '\\u2A96',\r\n egsdot: '\\u2A98',\r\n el: '\\u2A99',\r\n elinters: '\\u23E7',\r\n ell: '\\u2113',\r\n els: '\\u2A95',\r\n elsdot: '\\u2A97',\r\n emacr: '\\u0113',\r\n empty: '\\u2205',\r\n emptyset: '\\u2205',\r\n emptyv: '\\u2205',\r\n emsp13: '\\u2004',\r\n emsp14: '\\u2005',\r\n emsp: '\\u2003',\r\n eng: '\\u014B',\r\n ensp: '\\u2002',\r\n eogon: '\\u0119',\r\n eopf: '\\uD835\\uDD56',\r\n epar: '\\u22D5',\r\n eparsl: '\\u29E3',\r\n eplus: '\\u2A71',\r\n epsi: '\\u03B5',\r\n epsilon: '\\u03B5',\r\n epsiv: '\\u03F5',\r\n eqcirc: '\\u2256',\r\n eqcolon: '\\u2255',\r\n eqsim: '\\u2242',\r\n eqslantgtr: '\\u2A96',\r\n eqslantless: '\\u2A95',\r\n equals: '\\u003D',\r\n equest: '\\u225F',\r\n equiv: '\\u2261',\r\n equivDD: '\\u2A78',\r\n eqvparsl: '\\u29E5',\r\n erDot: '\\u2253',\r\n erarr: '\\u2971',\r\n escr: '\\u212F',\r\n esdot: '\\u2250',\r\n esim: '\\u2242',\r\n eta: '\\u03B7',\r\n eth: '\\u00F0',\r\n euml: '\\u00EB',\r\n euro: '\\u20AC',\r\n excl: '\\u0021',\r\n exist: '\\u2203',\r\n expectation: '\\u2130',\r\n exponentiale: '\\u2147',\r\n fallingdotseq: '\\u2252',\r\n fcy: '\\u0444',\r\n female: '\\u2640',\r\n ffilig: '\\uFB03',\r\n fflig: '\\uFB00',\r\n ffllig: '\\uFB04',\r\n ffr: '\\uD835\\uDD23',\r\n filig: '\\uFB01',\r\n fjlig: '\\u0066\\u006A',\r\n flat: '\\u266D',\r\n fllig: '\\uFB02',\r\n fltns: '\\u25B1',\r\n fnof: '\\u0192',\r\n fopf: '\\uD835\\uDD57',\r\n forall: '\\u2200',\r\n fork: '\\u22D4',\r\n forkv: '\\u2AD9',\r\n fpartint: '\\u2A0D',\r\n frac12: '\\u00BD',\r\n frac13: '\\u2153',\r\n frac14: '\\u00BC',\r\n frac15: '\\u2155',\r\n frac16: '\\u2159',\r\n frac18: '\\u215B',\r\n frac23: '\\u2154',\r\n frac25: '\\u2156',\r\n frac34: '\\u00BE',\r\n frac35: '\\u2157',\r\n frac38: '\\u215C',\r\n frac45: '\\u2158',\r\n frac56: '\\u215A',\r\n frac58: '\\u215D',\r\n frac78: '\\u215E',\r\n frasl: '\\u2044',\r\n frown: '\\u2322',\r\n fscr: '\\uD835\\uDCBB',\r\n gE: '\\u2267',\r\n gEl: '\\u2A8C',\r\n gacute: '\\u01F5',\r\n gamma: '\\u03B3',\r\n gammad: '\\u03DD',\r\n gap: '\\u2A86',\r\n gbreve: '\\u011F',\r\n gcirc: '\\u011D',\r\n gcy: '\\u0433',\r\n gdot: '\\u0121',\r\n ge: '\\u2265',\r\n gel: '\\u22DB',\r\n geq: '\\u2265',\r\n geqq: '\\u2267',\r\n geqslant: '\\u2A7E',\r\n ges: '\\u2A7E',\r\n gescc: '\\u2AA9',\r\n gesdot: '\\u2A80',\r\n gesdoto: '\\u2A82',\r\n gesdotol: '\\u2A84',\r\n gesl: '\\u22DB\\uFE00',\r\n gesles: '\\u2A94',\r\n gfr: '\\uD835\\uDD24',\r\n gg: '\\u226B',\r\n ggg: '\\u22D9',\r\n gimel: '\\u2137',\r\n gjcy: '\\u0453',\r\n gl: '\\u2277',\r\n glE: '\\u2A92',\r\n gla: '\\u2AA5',\r\n glj: '\\u2AA4',\r\n gnE: '\\u2269',\r\n gnap: '\\u2A8A',\r\n gnapprox: '\\u2A8A',\r\n gne: '\\u2A88',\r\n gneq: '\\u2A88',\r\n gneqq: '\\u2269',\r\n gnsim: '\\u22E7',\r\n gopf: '\\uD835\\uDD58',\r\n grave: '\\u0060',\r\n gscr: '\\u210A',\r\n gsim: '\\u2273',\r\n gsime: '\\u2A8E',\r\n gsiml: '\\u2A90',\r\n gt: '\\u003E',\r\n gtcc: '\\u2AA7',\r\n gtcir: '\\u2A7A',\r\n gtdot: '\\u22D7',\r\n gtlPar: '\\u2995',\r\n gtquest: '\\u2A7C',\r\n gtrapprox: '\\u2A86',\r\n gtrarr: '\\u2978',\r\n gtrdot: '\\u22D7',\r\n gtreqless: '\\u22DB',\r\n gtreqqless: '\\u2A8C',\r\n gtrless: '\\u2277',\r\n gtrsim: '\\u2273',\r\n gvertneqq: '\\u2269\\uFE00',\r\n gvnE: '\\u2269\\uFE00',\r\n hArr: '\\u21D4',\r\n hairsp: '\\u200A',\r\n half: '\\u00BD',\r\n hamilt: '\\u210B',\r\n hardcy: '\\u044A',\r\n harr: '\\u2194',\r\n harrcir: '\\u2948',\r\n harrw: '\\u21AD',\r\n hbar: '\\u210F',\r\n hcirc: '\\u0125',\r\n hearts: '\\u2665',\r\n heartsuit: '\\u2665',\r\n hellip: '\\u2026',\r\n hercon: '\\u22B9',\r\n hfr: '\\uD835\\uDD25',\r\n hksearow: '\\u2925',\r\n hkswarow: '\\u2926',\r\n hoarr: '\\u21FF',\r\n homtht: '\\u223B',\r\n hookleftarrow: '\\u21A9',\r\n hookrightarrow: '\\u21AA',\r\n hopf: '\\uD835\\uDD59',\r\n horbar: '\\u2015',\r\n hscr: '\\uD835\\uDCBD',\r\n hslash: '\\u210F',\r\n hstrok: '\\u0127',\r\n hybull: '\\u2043',\r\n hyphen: '\\u2010',\r\n iacute: '\\u00ED',\r\n ic: '\\u2063',\r\n icirc: '\\u00EE',\r\n icy: '\\u0438',\r\n iecy: '\\u0435',\r\n iexcl: '\\u00A1',\r\n iff: '\\u21D4',\r\n ifr: '\\uD835\\uDD26',\r\n igrave: '\\u00EC',\r\n ii: '\\u2148',\r\n iiiint: '\\u2A0C',\r\n iiint: '\\u222D',\r\n iinfin: '\\u29DC',\r\n iiota: '\\u2129',\r\n ijlig: '\\u0133',\r\n imacr: '\\u012B',\r\n image: '\\u2111',\r\n imagline: '\\u2110',\r\n imagpart: '\\u2111',\r\n imath: '\\u0131',\r\n imof: '\\u22B7',\r\n imped: '\\u01B5',\r\n in: '\\u2208',\r\n incare: '\\u2105',\r\n infin: '\\u221E',\r\n infintie: '\\u29DD',\r\n inodot: '\\u0131',\r\n int: '\\u222B',\r\n intcal: '\\u22BA',\r\n integers: '\\u2124',\r\n intercal: '\\u22BA',\r\n intlarhk: '\\u2A17',\r\n intprod: '\\u2A3C',\r\n iocy: '\\u0451',\r\n iogon: '\\u012F',\r\n iopf: '\\uD835\\uDD5A',\r\n iota: '\\u03B9',\r\n iprod: '\\u2A3C',\r\n iquest: '\\u00BF',\r\n iscr: '\\uD835\\uDCBE',\r\n isin: '\\u2208',\r\n isinE: '\\u22F9',\r\n isindot: '\\u22F5',\r\n isins: '\\u22F4',\r\n isinsv: '\\u22F3',\r\n isinv: '\\u2208',\r\n it: '\\u2062',\r\n itilde: '\\u0129',\r\n iukcy: '\\u0456',\r\n iuml: '\\u00EF',\r\n jcirc: '\\u0135',\r\n jcy: '\\u0439',\r\n jfr: '\\uD835\\uDD27',\r\n jmath: '\\u0237',\r\n jopf: '\\uD835\\uDD5B',\r\n jscr: '\\uD835\\uDCBF',\r\n jsercy: '\\u0458',\r\n jukcy: '\\u0454',\r\n kappa: '\\u03BA',\r\n kappav: '\\u03F0',\r\n kcedil: '\\u0137',\r\n kcy: '\\u043A',\r\n kfr: '\\uD835\\uDD28',\r\n kgreen: '\\u0138',\r\n khcy: '\\u0445',\r\n kjcy: '\\u045C',\r\n kopf: '\\uD835\\uDD5C',\r\n kscr: '\\uD835\\uDCC0',\r\n lAarr: '\\u21DA',\r\n lArr: '\\u21D0',\r\n lAtail: '\\u291B',\r\n lBarr: '\\u290E',\r\n lE: '\\u2266',\r\n lEg: '\\u2A8B',\r\n lHar: '\\u2962',\r\n lacute: '\\u013A',\r\n laemptyv: '\\u29B4',\r\n lagran: '\\u2112',\r\n lambda: '\\u03BB',\r\n lang: '\\u27E8',\r\n langd: '\\u2991',\r\n langle: '\\u27E8',\r\n lap: '\\u2A85',\r\n laquo: '\\u00AB',\r\n larr: '\\u2190',\r\n larrb: '\\u21E4',\r\n larrbfs: '\\u291F',\r\n larrfs: '\\u291D',\r\n larrhk: '\\u21A9',\r\n larrlp: '\\u21AB',\r\n larrpl: '\\u2939',\r\n larrsim: '\\u2973',\r\n larrtl: '\\u21A2',\r\n lat: '\\u2AAB',\r\n latail: '\\u2919',\r\n late: '\\u2AAD',\r\n lates: '\\u2AAD\\uFE00',\r\n lbarr: '\\u290C',\r\n lbbrk: '\\u2772',\r\n lbrace: '\\u007B',\r\n lbrack: '\\u005B',\r\n lbrke: '\\u298B',\r\n lbrksld: '\\u298F',\r\n lbrkslu: '\\u298D',\r\n lcaron: '\\u013E',\r\n lcedil: '\\u013C',\r\n lceil: '\\u2308',\r\n lcub: '\\u007B',\r\n lcy: '\\u043B',\r\n ldca: '\\u2936',\r\n ldquo: '\\u201C',\r\n ldquor: '\\u201E',\r\n ldrdhar: '\\u2967',\r\n ldrushar: '\\u294B',\r\n ldsh: '\\u21B2',\r\n le: '\\u2264',\r\n leftarrow: '\\u2190',\r\n leftarrowtail: '\\u21A2',\r\n leftharpoondown: '\\u21BD',\r\n leftharpoonup: '\\u21BC',\r\n leftleftarrows: '\\u21C7',\r\n leftrightarrow: '\\u2194',\r\n leftrightarrows: '\\u21C6',\r\n leftrightharpoons: '\\u21CB',\r\n leftrightsquigarrow: '\\u21AD',\r\n leftthreetimes: '\\u22CB',\r\n leg: '\\u22DA',\r\n leq: '\\u2264',\r\n leqq: '\\u2266',\r\n leqslant: '\\u2A7D',\r\n les: '\\u2A7D',\r\n lescc: '\\u2AA8',\r\n lesdot: '\\u2A7F',\r\n lesdoto: '\\u2A81',\r\n lesdotor: '\\u2A83',\r\n lesg: '\\u22DA\\uFE00',\r\n lesges: '\\u2A93',\r\n lessapprox: '\\u2A85',\r\n lessdot: '\\u22D6',\r\n lesseqgtr: '\\u22DA',\r\n lesseqqgtr: '\\u2A8B',\r\n lessgtr: '\\u2276',\r\n lesssim: '\\u2272',\r\n lfisht: '\\u297C',\r\n lfloor: '\\u230A',\r\n lfr: '\\uD835\\uDD29',\r\n lg: '\\u2276',\r\n lgE: '\\u2A91',\r\n lhard: '\\u21BD',\r\n lharu: '\\u21BC',\r\n lharul: '\\u296A',\r\n lhblk: '\\u2584',\r\n ljcy: '\\u0459',\r\n ll: '\\u226A',\r\n llarr: '\\u21C7',\r\n llcorner: '\\u231E',\r\n llhard: '\\u296B',\r\n lltri: '\\u25FA',\r\n lmidot: '\\u0140',\r\n lmoust: '\\u23B0',\r\n lmoustache: '\\u23B0',\r\n lnE: '\\u2268',\r\n lnap: '\\u2A89',\r\n lnapprox: '\\u2A89',\r\n lne: '\\u2A87',\r\n lneq: '\\u2A87',\r\n lneqq: '\\u2268',\r\n lnsim: '\\u22E6',\r\n loang: '\\u27EC',\r\n loarr: '\\u21FD',\r\n lobrk: '\\u27E6',\r\n longleftarrow: '\\u27F5',\r\n longleftrightarrow: '\\u27F7',\r\n longmapsto: '\\u27FC',\r\n longrightarrow: '\\u27F6',\r\n looparrowleft: '\\u21AB',\r\n looparrowright: '\\u21AC',\r\n lopar: '\\u2985',\r\n lopf: '\\uD835\\uDD5D',\r\n loplus: '\\u2A2D',\r\n lotimes: '\\u2A34',\r\n lowast: '\\u2217',\r\n lowbar: '\\u005F',\r\n loz: '\\u25CA',\r\n lozenge: '\\u25CA',\r\n lozf: '\\u29EB',\r\n lpar: '\\u0028',\r\n lparlt: '\\u2993',\r\n lrarr: '\\u21C6',\r\n lrcorner: '\\u231F',\r\n lrhar: '\\u21CB',\r\n lrhard: '\\u296D',\r\n lrm: '\\u200E',\r\n lrtri: '\\u22BF',\r\n lsaquo: '\\u2039',\r\n lscr: '\\uD835\\uDCC1',\r\n lsh: '\\u21B0',\r\n lsim: '\\u2272',\r\n lsime: '\\u2A8D',\r\n lsimg: '\\u2A8F',\r\n lsqb: '\\u005B',\r\n lsquo: '\\u2018',\r\n lsquor: '\\u201A',\r\n lstrok: '\\u0142',\r\n lt: '\\u003C',\r\n ltcc: '\\u2AA6',\r\n ltcir: '\\u2A79',\r\n ltdot: '\\u22D6',\r\n lthree: '\\u22CB',\r\n ltimes: '\\u22C9',\r\n ltlarr: '\\u2976',\r\n ltquest: '\\u2A7B',\r\n ltrPar: '\\u2996',\r\n ltri: '\\u25C3',\r\n ltrie: '\\u22B4',\r\n ltrif: '\\u25C2',\r\n lurdshar: '\\u294A',\r\n luruhar: '\\u2966',\r\n lvertneqq: '\\u2268\\uFE00',\r\n lvnE: '\\u2268\\uFE00',\r\n mDDot: '\\u223A',\r\n macr: '\\u00AF',\r\n male: '\\u2642',\r\n malt: '\\u2720',\r\n maltese: '\\u2720',\r\n map: '\\u21A6',\r\n mapsto: '\\u21A6',\r\n mapstodown: '\\u21A7',\r\n mapstoleft: '\\u21A4',\r\n mapstoup: '\\u21A5',\r\n marker: '\\u25AE',\r\n mcomma: '\\u2A29',\r\n mcy: '\\u043C',\r\n mdash: '\\u2014',\r\n measuredangle: '\\u2221',\r\n mfr: '\\uD835\\uDD2A',\r\n mho: '\\u2127',\r\n micro: '\\u00B5',\r\n mid: '\\u2223',\r\n midast: '\\u002A',\r\n midcir: '\\u2AF0',\r\n middot: '\\u00B7',\r\n minus: '\\u2212',\r\n minusb: '\\u229F',\r\n minusd: '\\u2238',\r\n minusdu: '\\u2A2A',\r\n mlcp: '\\u2ADB',\r\n mldr: '\\u2026',\r\n mnplus: '\\u2213',\r\n models: '\\u22A7',\r\n mopf: '\\uD835\\uDD5E',\r\n mp: '\\u2213',\r\n mscr: '\\uD835\\uDCC2',\r\n mstpos: '\\u223E',\r\n mu: '\\u03BC',\r\n multimap: '\\u22B8',\r\n mumap: '\\u22B8',\r\n nGg: '\\u22D9\\u0338',\r\n nGt: '\\u226B\\u20D2',\r\n nGtv: '\\u226B\\u0338',\r\n nLeftarrow: '\\u21CD',\r\n nLeftrightarrow: '\\u21CE',\r\n nLl: '\\u22D8\\u0338',\r\n nLt: '\\u226A\\u20D2',\r\n nLtv: '\\u226A\\u0338',\r\n nRightarrow: '\\u21CF',\r\n nVDash: '\\u22AF',\r\n nVdash: '\\u22AE',\r\n nabla: '\\u2207',\r\n nacute: '\\u0144',\r\n nang: '\\u2220\\u20D2',\r\n nap: '\\u2249',\r\n napE: '\\u2A70\\u0338',\r\n napid: '\\u224B\\u0338',\r\n napos: '\\u0149',\r\n napprox: '\\u2249',\r\n natur: '\\u266E',\r\n natural: '\\u266E',\r\n naturals: '\\u2115',\r\n nbsp: '\\u00A0',\r\n nbump: '\\u224E\\u0338',\r\n nbumpe: '\\u224F\\u0338',\r\n ncap: '\\u2A43',\r\n ncaron: '\\u0148',\r\n ncedil: '\\u0146',\r\n ncong: '\\u2247',\r\n ncongdot: '\\u2A6D\\u0338',\r\n ncup: '\\u2A42',\r\n ncy: '\\u043D',\r\n ndash: '\\u2013',\r\n ne: '\\u2260',\r\n neArr: '\\u21D7',\r\n nearhk: '\\u2924',\r\n nearr: '\\u2197',\r\n nearrow: '\\u2197',\r\n nedot: '\\u2250\\u0338',\r\n nequiv: '\\u2262',\r\n nesear: '\\u2928',\r\n nesim: '\\u2242\\u0338',\r\n nexist: '\\u2204',\r\n nexists: '\\u2204',\r\n nfr: '\\uD835\\uDD2B',\r\n ngE: '\\u2267\\u0338',\r\n nge: '\\u2271',\r\n ngeq: '\\u2271',\r\n ngeqq: '\\u2267\\u0338',\r\n ngeqslant: '\\u2A7E\\u0338',\r\n nges: '\\u2A7E\\u0338',\r\n ngsim: '\\u2275',\r\n ngt: '\\u226F',\r\n ngtr: '\\u226F',\r\n nhArr: '\\u21CE',\r\n nharr: '\\u21AE',\r\n nhpar: '\\u2AF2',\r\n ni: '\\u220B',\r\n nis: '\\u22FC',\r\n nisd: '\\u22FA',\r\n niv: '\\u220B',\r\n njcy: '\\u045A',\r\n nlArr: '\\u21CD',\r\n nlE: '\\u2266\\u0338',\r\n nlarr: '\\u219A',\r\n nldr: '\\u2025',\r\n nle: '\\u2270',\r\n nleftarrow: '\\u219A',\r\n nleftrightarrow: '\\u21AE',\r\n nleq: '\\u2270',\r\n nleqq: '\\u2266\\u0338',\r\n nleqslant: '\\u2A7D\\u0338',\r\n nles: '\\u2A7D\\u0338',\r\n nless: '\\u226E',\r\n nlsim: '\\u2274',\r\n nlt: '\\u226E',\r\n nltri: '\\u22EA',\r\n nltrie: '\\u22EC',\r\n nmid: '\\u2224',\r\n nopf: '\\uD835\\uDD5F',\r\n not: '\\u00AC',\r\n notin: '\\u2209',\r\n notinE: '\\u22F9\\u0338',\r\n notindot: '\\u22F5\\u0338',\r\n notinva: '\\u2209',\r\n notinvb: '\\u22F7',\r\n notinvc: '\\u22F6',\r\n notni: '\\u220C',\r\n notniva: '\\u220C',\r\n notnivb: '\\u22FE',\r\n notnivc: '\\u22FD',\r\n npar: '\\u2226',\r\n nparallel: '\\u2226',\r\n nparsl: '\\u2AFD\\u20E5',\r\n npart: '\\u2202\\u0338',\r\n npolint: '\\u2A14',\r\n npr: '\\u2280',\r\n nprcue: '\\u22E0',\r\n npre: '\\u2AAF\\u0338',\r\n nprec: '\\u2280',\r\n npreceq: '\\u2AAF\\u0338',\r\n nrArr: '\\u21CF',\r\n nrarr: '\\u219B',\r\n nrarrc: '\\u2933\\u0338',\r\n nrarrw: '\\u219D\\u0338',\r\n nrightarrow: '\\u219B',\r\n nrtri: '\\u22EB',\r\n nrtrie: '\\u22ED',\r\n nsc: '\\u2281',\r\n nsccue: '\\u22E1',\r\n nsce: '\\u2AB0\\u0338',\r\n nscr: '\\uD835\\uDCC3',\r\n nshortmid: '\\u2224',\r\n nshortparallel: '\\u2226',\r\n nsim: '\\u2241',\r\n nsime: '\\u2244',\r\n nsimeq: '\\u2244',\r\n nsmid: '\\u2224',\r\n nspar: '\\u2226',\r\n nsqsube: '\\u22E2',\r\n nsqsupe: '\\u22E3',\r\n nsub: '\\u2284',\r\n nsubE: '\\u2AC5\\u0338',\r\n nsube: '\\u2288',\r\n nsubset: '\\u2282\\u20D2',\r\n nsubseteq: '\\u2288',\r\n nsubseteqq: '\\u2AC5\\u0338',\r\n nsucc: '\\u2281',\r\n nsucceq: '\\u2AB0\\u0338',\r\n nsup: '\\u2285',\r\n nsupE: '\\u2AC6\\u0338',\r\n nsupe: '\\u2289',\r\n nsupset: '\\u2283\\u20D2',\r\n nsupseteq: '\\u2289',\r\n nsupseteqq: '\\u2AC6\\u0338',\r\n ntgl: '\\u2279',\r\n ntilde: '\\u00F1',\r\n ntlg: '\\u2278',\r\n ntriangleleft: '\\u22EA',\r\n ntrianglelefteq: '\\u22EC',\r\n ntriangleright: '\\u22EB',\r\n ntrianglerighteq: '\\u22ED',\r\n nu: '\\u03BD',\r\n num: '\\u0023',\r\n numero: '\\u2116',\r\n numsp: '\\u2007',\r\n nvDash: '\\u22AD',\r\n nvHarr: '\\u2904',\r\n nvap: '\\u224D\\u20D2',\r\n nvdash: '\\u22AC',\r\n nvge: '\\u2265\\u20D2',\r\n nvgt: '\\u003E\\u20D2',\r\n nvinfin: '\\u29DE',\r\n nvlArr: '\\u2902',\r\n nvle: '\\u2264\\u20D2',\r\n nvlt: '\\u003C\\u20D2',\r\n nvltrie: '\\u22B4\\u20D2',\r\n nvrArr: '\\u2903',\r\n nvrtrie: '\\u22B5\\u20D2',\r\n nvsim: '\\u223C\\u20D2',\r\n nwArr: '\\u21D6',\r\n nwarhk: '\\u2923',\r\n nwarr: '\\u2196',\r\n nwarrow: '\\u2196',\r\n nwnear: '\\u2927',\r\n oS: '\\u24C8',\r\n oacute: '\\u00F3',\r\n oast: '\\u229B',\r\n ocir: '\\u229A',\r\n ocirc: '\\u00F4',\r\n ocy: '\\u043E',\r\n odash: '\\u229D',\r\n odblac: '\\u0151',\r\n odiv: '\\u2A38',\r\n odot: '\\u2299',\r\n odsold: '\\u29BC',\r\n oelig: '\\u0153',\r\n ofcir: '\\u29BF',\r\n ofr: '\\uD835\\uDD2C',\r\n ogon: '\\u02DB',\r\n ograve: '\\u00F2',\r\n ogt: '\\u29C1',\r\n ohbar: '\\u29B5',\r\n ohm: '\\u03A9',\r\n oint: '\\u222E',\r\n olarr: '\\u21BA',\r\n olcir: '\\u29BE',\r\n olcross: '\\u29BB',\r\n oline: '\\u203E',\r\n olt: '\\u29C0',\r\n omacr: '\\u014D',\r\n omega: '\\u03C9',\r\n omicron: '\\u03BF',\r\n omid: '\\u29B6',\r\n ominus: '\\u2296',\r\n oopf: '\\uD835\\uDD60',\r\n opar: '\\u29B7',\r\n operp: '\\u29B9',\r\n oplus: '\\u2295',\r\n or: '\\u2228',\r\n orarr: '\\u21BB',\r\n ord: '\\u2A5D',\r\n order: '\\u2134',\r\n orderof: '\\u2134',\r\n ordf: '\\u00AA',\r\n ordm: '\\u00BA',\r\n origof: '\\u22B6',\r\n oror: '\\u2A56',\r\n orslope: '\\u2A57',\r\n orv: '\\u2A5B',\r\n oscr: '\\u2134',\r\n oslash: '\\u00F8',\r\n osol: '\\u2298',\r\n otilde: '\\u00F5',\r\n otimes: '\\u2297',\r\n otimesas: '\\u2A36',\r\n ouml: '\\u00F6',\r\n ovbar: '\\u233D',\r\n par: '\\u2225',\r\n para: '\\u00B6',\r\n parallel: '\\u2225',\r\n parsim: '\\u2AF3',\r\n parsl: '\\u2AFD',\r\n part: '\\u2202',\r\n pcy: '\\u043F',\r\n percnt: '\\u0025',\r\n period: '\\u002E',\r\n permil: '\\u2030',\r\n perp: '\\u22A5',\r\n pertenk: '\\u2031',\r\n pfr: '\\uD835\\uDD2D',\r\n phi: '\\u03C6',\r\n phiv: '\\u03D5',\r\n phmmat: '\\u2133',\r\n phone: '\\u260E',\r\n pi: '\\u03C0',\r\n pitchfork: '\\u22D4',\r\n piv: '\\u03D6',\r\n planck: '\\u210F',\r\n planckh: '\\u210E',\r\n plankv: '\\u210F',\r\n plus: '\\u002B',\r\n plusacir: '\\u2A23',\r\n plusb: '\\u229E',\r\n pluscir: '\\u2A22',\r\n plusdo: '\\u2214',\r\n plusdu: '\\u2A25',\r\n pluse: '\\u2A72',\r\n plusmn: '\\u00B1',\r\n plussim: '\\u2A26',\r\n plustwo: '\\u2A27',\r\n pm: '\\u00B1',\r\n pointint: '\\u2A15',\r\n popf: '\\uD835\\uDD61',\r\n pound: '\\u00A3',\r\n pr: '\\u227A',\r\n prE: '\\u2AB3',\r\n prap: '\\u2AB7',\r\n prcue: '\\u227C',\r\n pre: '\\u2AAF',\r\n prec: '\\u227A',\r\n precapprox: '\\u2AB7',\r\n preccurlyeq: '\\u227C',\r\n preceq: '\\u2AAF',\r\n precnapprox: '\\u2AB9',\r\n precneqq: '\\u2AB5',\r\n precnsim: '\\u22E8',\r\n precsim: '\\u227E',\r\n prime: '\\u2032',\r\n primes: '\\u2119',\r\n prnE: '\\u2AB5',\r\n prnap: '\\u2AB9',\r\n prnsim: '\\u22E8',\r\n prod: '\\u220F',\r\n profalar: '\\u232E',\r\n profline: '\\u2312',\r\n profsurf: '\\u2313',\r\n prop: '\\u221D',\r\n propto: '\\u221D',\r\n prsim: '\\u227E',\r\n prurel: '\\u22B0',\r\n pscr: '\\uD835\\uDCC5',\r\n psi: '\\u03C8',\r\n puncsp: '\\u2008',\r\n qfr: '\\uD835\\uDD2E',\r\n qint: '\\u2A0C',\r\n qopf: '\\uD835\\uDD62',\r\n qprime: '\\u2057',\r\n qscr: '\\uD835\\uDCC6',\r\n quaternions: '\\u210D',\r\n quatint: '\\u2A16',\r\n quest: '\\u003F',\r\n questeq: '\\u225F',\r\n quot: '\\u0022',\r\n rAarr: '\\u21DB',\r\n rArr: '\\u21D2',\r\n rAtail: '\\u291C',\r\n rBarr: '\\u290F',\r\n rHar: '\\u2964',\r\n race: '\\u223D\\u0331',\r\n racute: '\\u0155',\r\n radic: '\\u221A',\r\n raemptyv: '\\u29B3',\r\n rang: '\\u27E9',\r\n rangd: '\\u2992',\r\n range: '\\u29A5',\r\n rangle: '\\u27E9',\r\n raquo: '\\u00BB',\r\n rarr: '\\u2192',\r\n rarrap: '\\u2975',\r\n rarrb: '\\u21E5',\r\n rarrbfs: '\\u2920',\r\n rarrc: '\\u2933',\r\n rarrfs: '\\u291E',\r\n rarrhk: '\\u21AA',\r\n rarrlp: '\\u21AC',\r\n rarrpl: '\\u2945',\r\n rarrsim: '\\u2974',\r\n rarrtl: '\\u21A3',\r\n rarrw: '\\u219D',\r\n ratail: '\\u291A',\r\n ratio: '\\u2236',\r\n rationals: '\\u211A',\r\n rbarr: '\\u290D',\r\n rbbrk: '\\u2773',\r\n rbrace: '\\u007D',\r\n rbrack: '\\u005D',\r\n rbrke: '\\u298C',\r\n rbrksld: '\\u298E',\r\n rbrkslu: '\\u2990',\r\n rcaron: '\\u0159',\r\n rcedil: '\\u0157',\r\n rceil: '\\u2309',\r\n rcub: '\\u007D',\r\n rcy: '\\u0440',\r\n rdca: '\\u2937',\r\n rdldhar: '\\u2969',\r\n rdquo: '\\u201D',\r\n rdquor: '\\u201D',\r\n rdsh: '\\u21B3',\r\n real: '\\u211C',\r\n realine: '\\u211B',\r\n realpart: '\\u211C',\r\n reals: '\\u211D',\r\n rect: '\\u25AD',\r\n reg: '\\u00AE',\r\n rfisht: '\\u297D',\r\n rfloor: '\\u230B',\r\n rfr: '\\uD835\\uDD2F',\r\n rhard: '\\u21C1',\r\n rharu: '\\u21C0',\r\n rharul: '\\u296C',\r\n rho: '\\u03C1',\r\n rhov: '\\u03F1',\r\n rightarrow: '\\u2192',\r\n rightarrowtail: '\\u21A3',\r\n rightharpoondown: '\\u21C1',\r\n rightharpoonup: '\\u21C0',\r\n rightleftarrows: '\\u21C4',\r\n rightleftharpoons: '\\u21CC',\r\n rightrightarrows: '\\u21C9',\r\n rightsquigarrow: '\\u219D',\r\n rightthreetimes: '\\u22CC',\r\n ring: '\\u02DA',\r\n risingdotseq: '\\u2253',\r\n rlarr: '\\u21C4',\r\n rlhar: '\\u21CC',\r\n rlm: '\\u200F',\r\n rmoust: '\\u23B1',\r\n rmoustache: '\\u23B1',\r\n rnmid: '\\u2AEE',\r\n roang: '\\u27ED',\r\n roarr: '\\u21FE',\r\n robrk: '\\u27E7',\r\n ropar: '\\u2986',\r\n ropf: '\\uD835\\uDD63',\r\n roplus: '\\u2A2E',\r\n rotimes: '\\u2A35',\r\n rpar: '\\u0029',\r\n rpargt: '\\u2994',\r\n rppolint: '\\u2A12',\r\n rrarr: '\\u21C9',\r\n rsaquo: '\\u203A',\r\n rscr: '\\uD835\\uDCC7',\r\n rsh: '\\u21B1',\r\n rsqb: '\\u005D',\r\n rsquo: '\\u2019',\r\n rsquor: '\\u2019',\r\n rthree: '\\u22CC',\r\n rtimes: '\\u22CA',\r\n rtri: '\\u25B9',\r\n rtrie: '\\u22B5',\r\n rtrif: '\\u25B8',\r\n rtriltri: '\\u29CE',\r\n ruluhar: '\\u2968',\r\n rx: '\\u211E',\r\n sacute: '\\u015B',\r\n sbquo: '\\u201A',\r\n sc: '\\u227B',\r\n scE: '\\u2AB4',\r\n scap: '\\u2AB8',\r\n scaron: '\\u0161',\r\n sccue: '\\u227D',\r\n sce: '\\u2AB0',\r\n scedil: '\\u015F',\r\n scirc: '\\u015D',\r\n scnE: '\\u2AB6',\r\n scnap: '\\u2ABA',\r\n scnsim: '\\u22E9',\r\n scpolint: '\\u2A13',\r\n scsim: '\\u227F',\r\n scy: '\\u0441',\r\n sdot: '\\u22C5',\r\n sdotb: '\\u22A1',\r\n sdote: '\\u2A66',\r\n seArr: '\\u21D8',\r\n searhk: '\\u2925',\r\n searr: '\\u2198',\r\n searrow: '\\u2198',\r\n sect: '\\u00A7',\r\n semi: '\\u003B',\r\n seswar: '\\u2929',\r\n setminus: '\\u2216',\r\n setmn: '\\u2216',\r\n sext: '\\u2736',\r\n sfr: '\\uD835\\uDD30',\r\n sfrown: '\\u2322',\r\n sharp: '\\u266F',\r\n shchcy: '\\u0449',\r\n shcy: '\\u0448',\r\n shortmid: '\\u2223',\r\n shortparallel: '\\u2225',\r\n shy: '\\u00AD',\r\n sigma: '\\u03C3',\r\n sigmaf: '\\u03C2',\r\n sigmav: '\\u03C2',\r\n sim: '\\u223C',\r\n simdot: '\\u2A6A',\r\n sime: '\\u2243',\r\n simeq: '\\u2243',\r\n simg: '\\u2A9E',\r\n simgE: '\\u2AA0',\r\n siml: '\\u2A9D',\r\n simlE: '\\u2A9F',\r\n simne: '\\u2246',\r\n simplus: '\\u2A24',\r\n simrarr: '\\u2972',\r\n slarr: '\\u2190',\r\n smallsetminus: '\\u2216',\r\n smashp: '\\u2A33',\r\n smeparsl: '\\u29E4',\r\n smid: '\\u2223',\r\n smile: '\\u2323',\r\n smt: '\\u2AAA',\r\n smte: '\\u2AAC',\r\n smtes: '\\u2AAC\\uFE00',\r\n softcy: '\\u044C',\r\n sol: '\\u002F',\r\n solb: '\\u29C4',\r\n solbar: '\\u233F',\r\n sopf: '\\uD835\\uDD64',\r\n spades: '\\u2660',\r\n spadesuit: '\\u2660',\r\n spar: '\\u2225',\r\n sqcap: '\\u2293',\r\n sqcaps: '\\u2293\\uFE00',\r\n sqcup: '\\u2294',\r\n sqcups: '\\u2294\\uFE00',\r\n sqsub: '\\u228F',\r\n sqsube: '\\u2291',\r\n sqsubset: '\\u228F',\r\n sqsubseteq: '\\u2291',\r\n sqsup: '\\u2290',\r\n sqsupe: '\\u2292',\r\n sqsupset: '\\u2290',\r\n sqsupseteq: '\\u2292',\r\n squ: '\\u25A1',\r\n square: '\\u25A1',\r\n squarf: '\\u25AA',\r\n squf: '\\u25AA',\r\n srarr: '\\u2192',\r\n sscr: '\\uD835\\uDCC8',\r\n ssetmn: '\\u2216',\r\n ssmile: '\\u2323',\r\n sstarf: '\\u22C6',\r\n star: '\\u2606',\r\n starf: '\\u2605',\r\n straightepsilon: '\\u03F5',\r\n straightphi: '\\u03D5',\r\n strns: '\\u00AF',\r\n sub: '\\u2282',\r\n subE: '\\u2AC5',\r\n subdot: '\\u2ABD',\r\n sube: '\\u2286',\r\n subedot: '\\u2AC3',\r\n submult: '\\u2AC1',\r\n subnE: '\\u2ACB',\r\n subne: '\\u228A',\r\n subplus: '\\u2ABF',\r\n subrarr: '\\u2979',\r\n subset: '\\u2282',\r\n subseteq: '\\u2286',\r\n subseteqq: '\\u2AC5',\r\n subsetneq: '\\u228A',\r\n subsetneqq: '\\u2ACB',\r\n subsim: '\\u2AC7',\r\n subsub: '\\u2AD5',\r\n subsup: '\\u2AD3',\r\n succ: '\\u227B',\r\n succapprox: '\\u2AB8',\r\n succcurlyeq: '\\u227D',\r\n succeq: '\\u2AB0',\r\n succnapprox: '\\u2ABA',\r\n succneqq: '\\u2AB6',\r\n succnsim: '\\u22E9',\r\n succsim: '\\u227F',\r\n sum: '\\u2211',\r\n sung: '\\u266A',\r\n sup1: '\\u00B9',\r\n sup2: '\\u00B2',\r\n sup3: '\\u00B3',\r\n sup: '\\u2283',\r\n supE: '\\u2AC6',\r\n supdot: '\\u2ABE',\r\n supdsub: '\\u2AD8',\r\n supe: '\\u2287',\r\n supedot: '\\u2AC4',\r\n suphsol: '\\u27C9',\r\n suphsub: '\\u2AD7',\r\n suplarr: '\\u297B',\r\n supmult: '\\u2AC2',\r\n supnE: '\\u2ACC',\r\n supne: '\\u228B',\r\n supplus: '\\u2AC0',\r\n supset: '\\u2283',\r\n supseteq: '\\u2287',\r\n supseteqq: '\\u2AC6',\r\n supsetneq: '\\u228B',\r\n supsetneqq: '\\u2ACC',\r\n supsim: '\\u2AC8',\r\n supsub: '\\u2AD4',\r\n supsup: '\\u2AD6',\r\n swArr: '\\u21D9',\r\n swarhk: '\\u2926',\r\n swarr: '\\u2199',\r\n swarrow: '\\u2199',\r\n swnwar: '\\u292A',\r\n szlig: '\\u00DF',\r\n target: '\\u2316',\r\n tau: '\\u03C4',\r\n tbrk: '\\u23B4',\r\n tcaron: '\\u0165',\r\n tcedil: '\\u0163',\r\n tcy: '\\u0442',\r\n tdot: '\\u20DB',\r\n telrec: '\\u2315',\r\n tfr: '\\uD835\\uDD31',\r\n there4: '\\u2234',\r\n therefore: '\\u2234',\r\n theta: '\\u03B8',\r\n thetasym: '\\u03D1',\r\n thetav: '\\u03D1',\r\n thickapprox: '\\u2248',\r\n thicksim: '\\u223C',\r\n thinsp: '\\u2009',\r\n thkap: '\\u2248',\r\n thksim: '\\u223C',\r\n thorn: '\\u00FE',\r\n tilde: '\\u02DC',\r\n times: '\\u00D7',\r\n timesb: '\\u22A0',\r\n timesbar: '\\u2A31',\r\n timesd: '\\u2A30',\r\n tint: '\\u222D',\r\n toea: '\\u2928',\r\n top: '\\u22A4',\r\n topbot: '\\u2336',\r\n topcir: '\\u2AF1',\r\n topf: '\\uD835\\uDD65',\r\n topfork: '\\u2ADA',\r\n tosa: '\\u2929',\r\n tprime: '\\u2034',\r\n trade: '\\u2122',\r\n triangle: '\\u25B5',\r\n triangledown: '\\u25BF',\r\n triangleleft: '\\u25C3',\r\n trianglelefteq: '\\u22B4',\r\n triangleq: '\\u225C',\r\n triangleright: '\\u25B9',\r\n trianglerighteq: '\\u22B5',\r\n tridot: '\\u25EC',\r\n trie: '\\u225C',\r\n triminus: '\\u2A3A',\r\n triplus: '\\u2A39',\r\n trisb: '\\u29CD',\r\n tritime: '\\u2A3B',\r\n trpezium: '\\u23E2',\r\n tscr: '\\uD835\\uDCC9',\r\n tscy: '\\u0446',\r\n tshcy: '\\u045B',\r\n tstrok: '\\u0167',\r\n twixt: '\\u226C',\r\n twoheadleftarrow: '\\u219E',\r\n twoheadrightarrow: '\\u21A0',\r\n uArr: '\\u21D1',\r\n uHar: '\\u2963',\r\n uacute: '\\u00FA',\r\n uarr: '\\u2191',\r\n ubrcy: '\\u045E',\r\n ubreve: '\\u016D',\r\n ucirc: '\\u00FB',\r\n ucy: '\\u0443',\r\n udarr: '\\u21C5',\r\n udblac: '\\u0171',\r\n udhar: '\\u296E',\r\n ufisht: '\\u297E',\r\n ufr: '\\uD835\\uDD32',\r\n ugrave: '\\u00F9',\r\n uharl: '\\u21BF',\r\n uharr: '\\u21BE',\r\n uhblk: '\\u2580',\r\n ulcorn: '\\u231C',\r\n ulcorner: '\\u231C',\r\n ulcrop: '\\u230F',\r\n ultri: '\\u25F8',\r\n umacr: '\\u016B',\r\n uml: '\\u00A8',\r\n uogon: '\\u0173',\r\n uopf: '\\uD835\\uDD66',\r\n uparrow: '\\u2191',\r\n updownarrow: '\\u2195',\r\n upharpoonleft: '\\u21BF',\r\n upharpoonright: '\\u21BE',\r\n uplus: '\\u228E',\r\n upsi: '\\u03C5',\r\n upsih: '\\u03D2',\r\n upsilon: '\\u03C5',\r\n upuparrows: '\\u21C8',\r\n urcorn: '\\u231D',\r\n urcorner: '\\u231D',\r\n urcrop: '\\u230E',\r\n uring: '\\u016F',\r\n urtri: '\\u25F9',\r\n uscr: '\\uD835\\uDCCA',\r\n utdot: '\\u22F0',\r\n utilde: '\\u0169',\r\n utri: '\\u25B5',\r\n utrif: '\\u25B4',\r\n uuarr: '\\u21C8',\r\n uuml: '\\u00FC',\r\n uwangle: '\\u29A7',\r\n vArr: '\\u21D5',\r\n vBar: '\\u2AE8',\r\n vBarv: '\\u2AE9',\r\n vDash: '\\u22A8',\r\n vangrt: '\\u299C',\r\n varepsilon: '\\u03F5',\r\n varkappa: '\\u03F0',\r\n varnothing: '\\u2205',\r\n varphi: '\\u03D5',\r\n varpi: '\\u03D6',\r\n varpropto: '\\u221D',\r\n varr: '\\u2195',\r\n varrho: '\\u03F1',\r\n varsigma: '\\u03C2',\r\n varsubsetneq: '\\u228A\\uFE00',\r\n varsubsetneqq: '\\u2ACB\\uFE00',\r\n varsupsetneq: '\\u228B\\uFE00',\r\n varsupsetneqq: '\\u2ACC\\uFE00',\r\n vartheta: '\\u03D1',\r\n vartriangleleft: '\\u22B2',\r\n vartriangleright: '\\u22B3',\r\n vcy: '\\u0432',\r\n vdash: '\\u22A2',\r\n vee: '\\u2228',\r\n veebar: '\\u22BB',\r\n veeeq: '\\u225A',\r\n vellip: '\\u22EE',\r\n verbar: '\\u007C',\r\n vert: '\\u007C',\r\n vfr: '\\uD835\\uDD33',\r\n vltri: '\\u22B2',\r\n vnsub: '\\u2282\\u20D2',\r\n vnsup: '\\u2283\\u20D2',\r\n vopf: '\\uD835\\uDD67',\r\n vprop: '\\u221D',\r\n vrtri: '\\u22B3',\r\n vscr: '\\uD835\\uDCCB',\r\n vsubnE: '\\u2ACB\\uFE00',\r\n vsubne: '\\u228A\\uFE00',\r\n vsupnE: '\\u2ACC\\uFE00',\r\n vsupne: '\\u228B\\uFE00',\r\n vzigzag: '\\u299A',\r\n wcirc: '\\u0175',\r\n wedbar: '\\u2A5F',\r\n wedge: '\\u2227',\r\n wedgeq: '\\u2259',\r\n weierp: '\\u2118',\r\n wfr: '\\uD835\\uDD34',\r\n wopf: '\\uD835\\uDD68',\r\n wp: '\\u2118',\r\n wr: '\\u2240',\r\n wreath: '\\u2240',\r\n wscr: '\\uD835\\uDCCC',\r\n xcap: '\\u22C2',\r\n xcirc: '\\u25EF',\r\n xcup: '\\u22C3',\r\n xdtri: '\\u25BD',\r\n xfr: '\\uD835\\uDD35',\r\n xhArr: '\\u27FA',\r\n xharr: '\\u27F7',\r\n xi: '\\u03BE',\r\n xlArr: '\\u27F8',\r\n xlarr: '\\u27F5',\r\n xmap: '\\u27FC',\r\n xnis: '\\u22FB',\r\n xodot: '\\u2A00',\r\n xopf: '\\uD835\\uDD69',\r\n xoplus: '\\u2A01',\r\n xotime: '\\u2A02',\r\n xrArr: '\\u27F9',\r\n xrarr: '\\u27F6',\r\n xscr: '\\uD835\\uDCCD',\r\n xsqcup: '\\u2A06',\r\n xuplus: '\\u2A04',\r\n xutri: '\\u25B3',\r\n xvee: '\\u22C1',\r\n xwedge: '\\u22C0',\r\n yacute: '\\u00FD',\r\n yacy: '\\u044F',\r\n ycirc: '\\u0177',\r\n ycy: '\\u044B',\r\n yen: '\\u00A5',\r\n yfr: '\\uD835\\uDD36',\r\n yicy: '\\u0457',\r\n yopf: '\\uD835\\uDD6A',\r\n yscr: '\\uD835\\uDCCE',\r\n yucy: '\\u044E',\r\n yuml: '\\u00FF',\r\n zacute: '\\u017A',\r\n zcaron: '\\u017E',\r\n zcy: '\\u0437',\r\n zdot: '\\u017C',\r\n zeetrf: '\\u2128',\r\n zeta: '\\u03B6',\r\n zfr: '\\uD835\\uDD37',\r\n zhcy: '\\u0436',\r\n zigrarr: '\\u21DD',\r\n zopf: '\\uD835\\uDD6B',\r\n zscr: '\\uD835\\uDCCF',\r\n zwj: '\\u200D',\r\n zwnj: '\\u200C'\r\n};\r\nconst decodeMap = {\r\n '0': 65533,\r\n '128': 8364,\r\n '130': 8218,\r\n '131': 402,\r\n '132': 8222,\r\n '133': 8230,\r\n '134': 8224,\r\n '135': 8225,\r\n '136': 710,\r\n '137': 8240,\r\n '138': 352,\r\n '139': 8249,\r\n '140': 338,\r\n '142': 381,\r\n '145': 8216,\r\n '146': 8217,\r\n '147': 8220,\r\n '148': 8221,\r\n '149': 8226,\r\n '150': 8211,\r\n '151': 8212,\r\n '152': 732,\r\n '153': 8482,\r\n '154': 353,\r\n '155': 8250,\r\n '156': 339,\r\n '158': 382,\r\n '159': 376\r\n};\r\nfunction decodeHTMLStrict(text) {\r\n return text.replace(/&(?:[a-zA-Z]+|#[xX][\\da-fA-F]+|#\\d+);/g, (key) => {\r\n if (key.charAt(1) === '#') {\r\n const secondChar = key.charAt(2);\r\n const codePoint = secondChar === 'X' || secondChar === 'x'\r\n ? parseInt(key.slice(3), 16)\r\n : parseInt(key.slice(2), 10);\r\n return decodeCodePoint(codePoint);\r\n }\r\n return entities[key.slice(1, -1)] || key;\r\n });\r\n}\r\nfunction decodeCodePoint(codePoint) {\r\n if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {\r\n return '\\uFFFD';\r\n }\r\n if (codePoint in decodeMap) {\r\n codePoint = decodeMap[codePoint];\r\n }\r\n return String.fromCodePoint(codePoint);\r\n}\n\nfunction scanJSXAttributeValue(parser, context) {\r\n parser.startPos = parser.tokenPos = parser.index;\r\n parser.startColumn = parser.colPos = parser.column;\r\n parser.startLine = parser.linePos = parser.line;\r\n parser.token =\r\n CharTypes[parser.currentChar] & 8192\r\n ? scanJSXString(parser, context)\r\n : scanSingleToken(parser, context, 0);\r\n return parser.token;\r\n}\r\nfunction scanJSXString(parser, context) {\r\n const quote = parser.currentChar;\r\n let char = advanceChar(parser);\r\n const start = parser.index;\r\n while (char !== quote) {\r\n if (parser.index >= parser.end)\r\n report(parser, 14);\r\n char = advanceChar(parser);\r\n }\r\n if (char !== quote)\r\n report(parser, 14);\r\n parser.tokenValue = parser.source.slice(start, parser.index);\r\n advanceChar(parser);\r\n if (context & 512)\r\n parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index);\r\n return 134283267;\r\n}\r\nfunction scanJSXToken(parser, context) {\r\n parser.startPos = parser.tokenPos = parser.index;\r\n parser.startColumn = parser.colPos = parser.column;\r\n parser.startLine = parser.linePos = parser.line;\r\n if (parser.index >= parser.end)\r\n return (parser.token = 1048576);\r\n const token = TokenLookup[parser.source.charCodeAt(parser.index)];\r\n switch (token) {\r\n case 8456258: {\r\n advanceChar(parser);\r\n if (parser.currentChar === 47) {\r\n advanceChar(parser);\r\n parser.token = 25;\r\n }\r\n else {\r\n parser.token = 8456258;\r\n }\r\n break;\r\n }\r\n case 2162700: {\r\n advanceChar(parser);\r\n parser.token = 2162700;\r\n break;\r\n }\r\n default: {\r\n let state = 0;\r\n while (parser.index < parser.end) {\r\n const type = CharTypes[parser.source.charCodeAt(parser.index)];\r\n if (type & 1024) {\r\n state |= 1 | 4;\r\n scanNewLine(parser);\r\n }\r\n else if (type & 2048) {\r\n consumeLineFeed(parser, state);\r\n state = (state & ~4) | 1;\r\n }\r\n else {\r\n advanceChar(parser);\r\n }\r\n if (CharTypes[parser.currentChar] & 16384)\r\n break;\r\n }\r\n const raw = parser.source.slice(parser.tokenPos, parser.index);\r\n if (context & 512)\r\n parser.tokenRaw = raw;\r\n parser.tokenValue = decodeHTMLStrict(raw);\r\n parser.token = 138;\r\n }\r\n }\r\n return parser.token;\r\n}\r\nfunction scanJSXIdentifier(parser) {\r\n if ((parser.token & 143360) === 143360) {\r\n const { index } = parser;\r\n let char = parser.currentChar;\r\n while (CharTypes[char] & (32768 | 2)) {\r\n char = advanceChar(parser);\r\n }\r\n parser.tokenValue += parser.source.slice(index, parser.index);\r\n }\r\n parser.token = 208897;\r\n return parser.token;\r\n}\n\nfunction matchOrInsertSemicolon(parser, context, specDeviation) {\r\n if ((parser.flags & 1) === 0 &&\r\n (parser.token & 1048576) !== 1048576 &&\r\n !specDeviation) {\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n consumeOpt(parser, context, 1074790417);\r\n}\r\nfunction isValidStrictMode(parser, index, tokenPos, tokenValue) {\r\n if (index - tokenPos < 13 && tokenValue === 'use strict') {\r\n if ((parser.token & 1048576) === 1048576 || parser.flags & 1) {\r\n return 1;\r\n }\r\n }\r\n return 0;\r\n}\r\nfunction optionalBit(parser, context, t) {\r\n if (parser.token !== t)\r\n return 0;\r\n nextToken(parser, context);\r\n return 1;\r\n}\r\nfunction consumeOpt(parser, context, t) {\r\n if (parser.token !== t)\r\n return false;\r\n nextToken(parser, context);\r\n return true;\r\n}\r\nfunction consume(parser, context, t) {\r\n if (parser.token !== t)\r\n report(parser, 23, KeywordDescTable[t & 255]);\r\n nextToken(parser, context);\r\n}\r\nfunction reinterpretToPattern(state, node) {\r\n switch (node.type) {\r\n case 'ArrayExpression':\r\n node.type = 'ArrayPattern';\r\n const elements = node.elements;\r\n for (let i = 0, n = elements.length; i < n; ++i) {\r\n const element = elements[i];\r\n if (element)\r\n reinterpretToPattern(state, element);\r\n }\r\n return;\r\n case 'ObjectExpression':\r\n node.type = 'ObjectPattern';\r\n const properties = node.properties;\r\n for (let i = 0, n = properties.length; i < n; ++i) {\r\n reinterpretToPattern(state, properties[i]);\r\n }\r\n return;\r\n case 'AssignmentExpression':\r\n node.type = 'AssignmentPattern';\r\n if (node.operator !== '=')\r\n report(state, 68);\r\n delete node.operator;\r\n reinterpretToPattern(state, node.left);\r\n return;\r\n case 'Property':\r\n reinterpretToPattern(state, node.value);\r\n return;\r\n case 'SpreadElement':\r\n node.type = 'RestElement';\r\n reinterpretToPattern(state, node.argument);\r\n }\r\n}\r\nfunction validateBindingIdentifier(parser, context, kind, t, skipEvalArgCheck) {\r\n if (context & 1024) {\r\n if ((t & 36864) === 36864) {\r\n report(parser, 114);\r\n }\r\n if (!skipEvalArgCheck && (t & 537079808) === 537079808) {\r\n report(parser, 115);\r\n }\r\n }\r\n if ((t & 20480) === 20480) {\r\n report(parser, 99);\r\n }\r\n if (kind & (8 | 16) && t === 241739) {\r\n report(parser, 97);\r\n }\r\n if (context & (4194304 | 2048) && t === 209008) {\r\n report(parser, 95);\r\n }\r\n if (context & (2097152 | 1024) && t === 241773) {\r\n report(parser, 94, 'yield');\r\n }\r\n}\r\nfunction validateFunctionName(parser, context, t) {\r\n if (context & 1024) {\r\n if ((t & 36864) === 36864) {\r\n report(parser, 114);\r\n }\r\n if ((t & 537079808) === 537079808) {\r\n report(parser, 115);\r\n }\r\n if (t === 122) {\r\n report(parser, 92);\r\n }\r\n if (t === 121) {\r\n report(parser, 92);\r\n }\r\n }\r\n if ((t & 20480) === 20480) {\r\n report(parser, 99);\r\n }\r\n if (context & (4194304 | 2048) && t === 209008) {\r\n report(parser, 95);\r\n }\r\n if (context & (2097152 | 1024) && t === 241773) {\r\n report(parser, 94, 'yield');\r\n }\r\n}\r\nfunction isStrictReservedWord(parser, context, t) {\r\n if (t === 209008) {\r\n if (context & (4194304 | 2048))\r\n report(parser, 95);\r\n parser.destructible |= 128;\r\n }\r\n if (t === 241773 && context & 2097152)\r\n report(parser, 94, 'yield');\r\n return ((t & 20480) === 20480 ||\r\n (t & 36864) === 36864 ||\r\n t == 122);\r\n}\r\nfunction isPropertyWithPrivateFieldKey(expr) {\r\n return !expr.property ? false : expr.property.type === 'PrivateIdentifier';\r\n}\r\nfunction isValidLabel(parser, labels, name, isIterationStatement) {\r\n while (labels) {\r\n if (labels['$' + name]) {\r\n if (isIterationStatement)\r\n report(parser, 133);\r\n return 1;\r\n }\r\n if (isIterationStatement && labels.loop)\r\n isIterationStatement = 0;\r\n labels = labels['$'];\r\n }\r\n return 0;\r\n}\r\nfunction validateAndDeclareLabel(parser, labels, name) {\r\n let set = labels;\r\n while (set) {\r\n if (set['$' + name])\r\n report(parser, 132, name);\r\n set = set['$'];\r\n }\r\n labels['$' + name] = 1;\r\n}\r\nfunction finishNode(parser, context, start, line, column, node) {\r\n if (context & 2) {\r\n node.start = start;\r\n node.end = parser.startPos;\r\n node.range = [start, parser.startPos];\r\n }\r\n if (context & 4) {\r\n node.loc = {\r\n start: {\r\n line,\r\n column\r\n },\r\n end: {\r\n line: parser.startLine,\r\n column: parser.startColumn\r\n }\r\n };\r\n if (parser.sourceFile) {\r\n node.loc.source = parser.sourceFile;\r\n }\r\n }\r\n return node;\r\n}\r\nfunction isEqualTagName(elementName) {\r\n switch (elementName.type) {\r\n case 'JSXIdentifier':\r\n return elementName.name;\r\n case 'JSXNamespacedName':\r\n return elementName.namespace + ':' + elementName.name;\r\n case 'JSXMemberExpression':\r\n return isEqualTagName(elementName.object) + '.' + isEqualTagName(elementName.property);\r\n }\r\n}\r\nfunction createArrowHeadParsingScope(parser, context, value) {\r\n const scope = addChildScope(createScope(), 1024);\r\n addBlockName(parser, context, scope, value, 1, 0);\r\n return scope;\r\n}\r\nfunction recordScopeError(parser, type, ...params) {\r\n const { index, line, column } = parser;\r\n return {\r\n type,\r\n params,\r\n index,\r\n line,\r\n column\r\n };\r\n}\r\nfunction createScope() {\r\n return {\r\n parent: void 0,\r\n type: 2\r\n };\r\n}\r\nfunction addChildScope(parent, type) {\r\n return {\r\n parent,\r\n type,\r\n scopeError: void 0\r\n };\r\n}\r\nfunction addVarOrBlock(parser, context, scope, name, kind, origin) {\r\n if (kind & 4) {\r\n addVarName(parser, context, scope, name, kind);\r\n }\r\n else {\r\n addBlockName(parser, context, scope, name, kind, origin);\r\n }\r\n if (origin & 64) {\r\n declareUnboundVariable(parser, name);\r\n }\r\n}\r\nfunction addBlockName(parser, context, scope, name, kind, origin) {\r\n const value = scope['#' + name];\r\n if (value && (value & 2) === 0) {\r\n if (kind & 1) {\r\n scope.scopeError = recordScopeError(parser, 140, name);\r\n }\r\n else if (context & 256 &&\r\n value & 64 &&\r\n origin & 2) ;\r\n else {\r\n report(parser, 140, name);\r\n }\r\n }\r\n if (scope.type & 128 &&\r\n (scope.parent['#' + name] && (scope.parent['#' + name] & 2) === 0)) {\r\n report(parser, 140, name);\r\n }\r\n if (scope.type & 1024 && value && (value & 2) === 0) {\r\n if (kind & 1) {\r\n scope.scopeError = recordScopeError(parser, 140, name);\r\n }\r\n }\r\n if (scope.type & 64) {\r\n if (scope.parent['#' + name] & 768)\r\n report(parser, 153, name);\r\n }\r\n scope['#' + name] = kind;\r\n}\r\nfunction addVarName(parser, context, scope, name, kind) {\r\n let currentScope = scope;\r\n while (currentScope && (currentScope.type & 256) === 0) {\r\n const value = currentScope['#' + name];\r\n if (value & 248) {\r\n if (context & 256 &&\r\n (context & 1024) === 0 &&\r\n ((kind & 128 && value & 68) ||\r\n (value & 128 && kind & 68))) ;\r\n else {\r\n report(parser, 140, name);\r\n }\r\n }\r\n if (currentScope === scope) {\r\n if (value & 1 && kind & 1) {\r\n currentScope.scopeError = recordScopeError(parser, 140, name);\r\n }\r\n }\r\n if (value & (512 | 256)) {\r\n if ((value & 512) === 0 ||\r\n (context & 256) === 0 ||\r\n context & 1024) {\r\n report(parser, 140, name);\r\n }\r\n }\r\n currentScope['#' + name] = kind;\r\n currentScope = currentScope.parent;\r\n }\r\n}\r\nfunction declareUnboundVariable(parser, name) {\r\n if (parser.exportedNames !== void 0 && name !== '') {\r\n if (parser.exportedNames['#' + name]) {\r\n report(parser, 141, name);\r\n }\r\n parser.exportedNames['#' + name] = 1;\r\n }\r\n}\r\nfunction addBindingToExports(parser, name) {\r\n if (parser.exportedBindings !== void 0 && name !== '') {\r\n parser.exportedBindings['#' + name] = 1;\r\n }\r\n}\r\nfunction pushComment(context, array) {\r\n return function (type, value, start, end, loc) {\r\n const comment = {\r\n type,\r\n value\r\n };\r\n if (context & 2) {\r\n comment.start = start;\r\n comment.end = end;\r\n comment.range = [start, end];\r\n }\r\n if (context & 4) {\r\n comment.loc = loc;\r\n }\r\n array.push(comment);\r\n };\r\n}\r\nfunction pushToken(context, array) {\r\n return function (token, start, end, loc) {\r\n const tokens = {\r\n token\r\n };\r\n if (context & 2) {\r\n tokens.start = start;\r\n tokens.end = end;\r\n tokens.range = [start, end];\r\n }\r\n if (context & 4) {\r\n tokens.loc = loc;\r\n }\r\n array.push(tokens);\r\n };\r\n}\r\nfunction isValidIdentifier(context, t) {\r\n if (context & (1024 | 2097152)) {\r\n if (context & 2048 && t === 209008)\r\n return false;\r\n if (context & 2097152 && t === 241773)\r\n return false;\r\n return (t & 143360) === 143360 || (t & 12288) === 12288;\r\n }\r\n return ((t & 143360) === 143360 ||\r\n (t & 12288) === 12288 ||\r\n (t & 36864) === 36864);\r\n}\r\nfunction classifyIdentifier(parser, context, t, isArrow) {\r\n if ((t & 537079808) === 537079808) {\r\n if (context & 1024)\r\n report(parser, 115);\r\n if (isArrow)\r\n parser.flags |= 512;\r\n }\r\n if (!isValidIdentifier(context, t))\r\n report(parser, 0);\r\n}\n\nfunction create(source, sourceFile, onComment, onToken) {\r\n return {\r\n source,\r\n flags: 0,\r\n index: 0,\r\n line: 1,\r\n column: 0,\r\n startPos: 0,\r\n end: source.length,\r\n tokenPos: 0,\r\n startColumn: 0,\r\n colPos: 0,\r\n linePos: 1,\r\n startLine: 1,\r\n sourceFile,\r\n tokenValue: '',\r\n token: 1048576,\r\n tokenRaw: '',\r\n tokenRegExp: void 0,\r\n currentChar: source.charCodeAt(0),\r\n exportedNames: [],\r\n exportedBindings: [],\r\n assignable: 1,\r\n destructible: 0,\r\n onComment,\r\n onToken,\r\n leadingDecorators: []\r\n };\r\n}\r\nfunction parseSource(source, options, context) {\r\n let sourceFile = '';\r\n let onComment;\r\n let onToken;\r\n if (options != null) {\r\n if (options.module)\r\n context |= 2048 | 1024;\r\n if (options.next)\r\n context |= 1;\r\n if (options.loc)\r\n context |= 4;\r\n if (options.ranges)\r\n context |= 2;\r\n if (options.uniqueKeyInPattern)\r\n context |= -2147483648;\r\n if (options.lexical)\r\n context |= 64;\r\n if (options.webcompat)\r\n context |= 256;\r\n if (options.directives)\r\n context |= 8 | 512;\r\n if (options.globalReturn)\r\n context |= 32;\r\n if (options.raw)\r\n context |= 512;\r\n if (options.preserveParens)\r\n context |= 128;\r\n if (options.impliedStrict)\r\n context |= 1024;\r\n if (options.jsx)\r\n context |= 16;\r\n if (options.identifierPattern)\r\n context |= 268435456;\r\n if (options.specDeviation)\r\n context |= 536870912;\r\n if (options.source)\r\n sourceFile = options.source;\r\n if (options.onComment != null) {\r\n onComment = Array.isArray(options.onComment) ? pushComment(context, options.onComment) : options.onComment;\r\n }\r\n if (options.onToken != null) {\r\n onToken = Array.isArray(options.onToken) ? pushToken(context, options.onToken) : options.onToken;\r\n }\r\n }\r\n const parser = create(source, sourceFile, onComment, onToken);\r\n if (context & 1)\r\n skipHashBang(parser);\r\n const scope = context & 64 ? createScope() : void 0;\r\n let body = [];\r\n let sourceType = 'script';\r\n if (context & 2048) {\r\n sourceType = 'module';\r\n body = parseModuleItemList(parser, context | 8192, scope);\r\n if (scope) {\r\n for (const key in parser.exportedBindings) {\r\n if (key[0] === '#' && !scope[key])\r\n report(parser, 142, key.slice(1));\r\n }\r\n }\r\n }\r\n else {\r\n body = parseStatementList(parser, context | 8192, scope);\r\n }\r\n const node = {\r\n type: 'Program',\r\n sourceType,\r\n body\r\n };\r\n if (context & 2) {\r\n node.start = 0;\r\n node.end = source.length;\r\n node.range = [0, source.length];\r\n }\r\n if (context & 4) {\r\n node.loc = {\r\n start: { line: 1, column: 0 },\r\n end: { line: parser.line, column: parser.column }\r\n };\r\n if (parser.sourceFile)\r\n node.loc.source = sourceFile;\r\n }\r\n return node;\r\n}\r\nfunction parseStatementList(parser, context, scope) {\r\n nextToken(parser, context | 32768 | 1073741824);\r\n const statements = [];\r\n while (parser.token === 134283267) {\r\n const { index, tokenPos, tokenValue, linePos, colPos, token } = parser;\r\n const expr = parseLiteral(parser, context);\r\n if (isValidStrictMode(parser, index, tokenPos, tokenValue))\r\n context |= 1024;\r\n statements.push(parseDirective(parser, context, expr, token, tokenPos, linePos, colPos));\r\n }\r\n while (parser.token !== 1048576) {\r\n statements.push(parseStatementListItem(parser, context, scope, 4, {}));\r\n }\r\n return statements;\r\n}\r\nfunction parseModuleItemList(parser, context, scope) {\r\n nextToken(parser, context | 32768);\r\n const statements = [];\r\n if (context & 8) {\r\n while (parser.token === 134283267) {\r\n const { tokenPos, linePos, colPos, token } = parser;\r\n statements.push(parseDirective(parser, context, parseLiteral(parser, context), token, tokenPos, linePos, colPos));\r\n }\r\n }\r\n while (parser.token !== 1048576) {\r\n statements.push(parseModuleItem(parser, context, scope));\r\n }\r\n return statements;\r\n}\r\nfunction parseModuleItem(parser, context, scope) {\r\n parser.leadingDecorators = parseDecorators(parser, context);\r\n let moduleItem;\r\n switch (parser.token) {\r\n case 20566:\r\n moduleItem = parseExportDeclaration(parser, context, scope);\r\n break;\r\n case 86108:\r\n moduleItem = parseImportDeclaration(parser, context, scope);\r\n break;\r\n default:\r\n moduleItem = parseStatementListItem(parser, context, scope, 4, {});\r\n }\r\n if (parser.leadingDecorators.length) {\r\n report(parser, 164);\r\n }\r\n return moduleItem;\r\n}\r\nfunction parseStatementListItem(parser, context, scope, origin, labels) {\r\n const start = parser.tokenPos;\r\n const line = parser.linePos;\r\n const column = parser.colPos;\r\n switch (parser.token) {\r\n case 86106:\r\n return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 0, start, line, column);\r\n case 133:\r\n case 86096:\r\n return parseClassDeclaration(parser, context, scope, 0, start, line, column);\r\n case 86092:\r\n return parseLexicalDeclaration(parser, context, scope, 16, 0, start, line, column);\r\n case 241739:\r\n return parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column);\r\n case 20566:\r\n report(parser, 100, 'export');\r\n case 86108:\r\n nextToken(parser, context);\r\n switch (parser.token) {\r\n case 67174411:\r\n return parseImportCallDeclaration(parser, context, start, line, column);\r\n case 67108877:\r\n return parseImportMetaDeclaration(parser, context, start, line, column);\r\n default:\r\n report(parser, 100, 'import');\r\n }\r\n case 209007:\r\n return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 1, start, line, column);\r\n default:\r\n return parseStatement(parser, context, scope, origin, labels, 1, start, line, column);\r\n }\r\n}\r\nfunction parseStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) {\r\n switch (parser.token) {\r\n case 86090:\r\n return parseVariableStatement(parser, context, scope, 0, start, line, column);\r\n case 20574:\r\n return parseReturnStatement(parser, context, start, line, column);\r\n case 20571:\r\n return parseIfStatement(parser, context, scope, labels, start, line, column);\r\n case 20569:\r\n return parseForStatement(parser, context, scope, labels, start, line, column);\r\n case 20564:\r\n return parseDoWhileStatement(parser, context, scope, labels, start, line, column);\r\n case 20580:\r\n return parseWhileStatement(parser, context, scope, labels, start, line, column);\r\n case 86112:\r\n return parseSwitchStatement(parser, context, scope, labels, start, line, column);\r\n case 1074790417:\r\n return parseEmptyStatement(parser, context, start, line, column);\r\n case 2162700:\r\n return parseBlock(parser, context, scope ? addChildScope(scope, 2) : scope, labels, start, line, column);\r\n case 86114:\r\n return parseThrowStatement(parser, context, start, line, column);\r\n case 20557:\r\n return parseBreakStatement(parser, context, labels, start, line, column);\r\n case 20561:\r\n return parseContinueStatement(parser, context, labels, start, line, column);\r\n case 20579:\r\n return parseTryStatement(parser, context, scope, labels, start, line, column);\r\n case 20581:\r\n return parseWithStatement(parser, context, scope, labels, start, line, column);\r\n case 20562:\r\n return parseDebuggerStatement(parser, context, start, line, column);\r\n case 209007:\r\n return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 0, start, line, column);\r\n case 20559:\r\n report(parser, 156);\r\n case 20568:\r\n report(parser, 157);\r\n case 86106:\r\n report(parser, context & 1024\r\n ? 73\r\n : (context & 256) === 0\r\n ? 75\r\n : 74);\r\n case 86096:\r\n report(parser, 76);\r\n default:\r\n return parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column);\r\n }\r\n}\r\nfunction parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) {\r\n const { tokenValue, token } = parser;\r\n let expr;\r\n switch (token) {\r\n case 241739:\r\n expr = parseIdentifier(parser, context, 0);\r\n if (context & 1024)\r\n report(parser, 82);\r\n if (parser.token === 69271571)\r\n report(parser, 81);\r\n break;\r\n default:\r\n expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n if (token & 143360 && parser.token === 21) {\r\n return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column);\r\n }\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column);\r\n expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr);\r\n if (parser.token === 18) {\r\n expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);\r\n }\r\n return parseExpressionStatement(parser, context, expr, start, line, column);\r\n}\r\nfunction parseBlock(parser, context, scope, labels, start, line, column) {\r\n const body = [];\r\n consume(parser, context | 32768, 2162700);\r\n while (parser.token !== 1074790415) {\r\n body.push(parseStatementListItem(parser, context, scope, 2, { $: labels }));\r\n }\r\n consume(parser, context | 32768, 1074790415);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'BlockStatement',\r\n body\r\n });\r\n}\r\nfunction parseReturnStatement(parser, context, start, line, column) {\r\n if ((context & 32) === 0 && context & 8192)\r\n report(parser, 89);\r\n nextToken(parser, context | 32768);\r\n const argument = parser.flags & 1 || parser.token & 1048576\r\n ? null\r\n : parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ReturnStatement',\r\n argument\r\n });\r\n}\r\nfunction parseExpressionStatement(parser, context, expression, start, line, column) {\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ExpressionStatement',\r\n expression\r\n });\r\n}\r\nfunction parseLabelledStatement(parser, context, scope, origin, labels, value, expr, token, allowFuncDecl, start, line, column) {\r\n validateBindingIdentifier(parser, context, 0, token, 1);\r\n validateAndDeclareLabel(parser, labels, value);\r\n nextToken(parser, context | 32768);\r\n const body = allowFuncDecl &&\r\n (context & 1024) === 0 &&\r\n context & 256 &&\r\n parser.token === 86106\r\n ? parseFunctionDeclaration(parser, context, addChildScope(scope, 2), origin, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos)\r\n : parseStatement(parser, context, scope, origin, labels, allowFuncDecl, parser.tokenPos, parser.linePos, parser.colPos);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'LabeledStatement',\r\n label: expr,\r\n body\r\n });\r\n}\r\nfunction parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) {\r\n const { token, tokenValue } = parser;\r\n let expr = parseIdentifier(parser, context, 0);\r\n if (parser.token === 21) {\r\n return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column);\r\n }\r\n const asyncNewLine = parser.flags & 1;\r\n if (!asyncNewLine) {\r\n if (parser.token === 86106) {\r\n if (!allowFuncDecl)\r\n report(parser, 119);\r\n return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 1, start, line, column);\r\n }\r\n if ((parser.token & 143360) === 143360) {\r\n expr = parseAsyncArrowAfterIdent(parser, context, 1, start, line, column);\r\n if (parser.token === 18)\r\n expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);\r\n return parseExpressionStatement(parser, context, expr, start, line, column);\r\n }\r\n }\r\n if (parser.token === 67174411) {\r\n expr = parseAsyncArrowOrCallExpression(parser, context, expr, 1, 1, 0, asyncNewLine, start, line, column);\r\n }\r\n else {\r\n if (parser.token === 10) {\r\n classifyIdentifier(parser, context, token, 1);\r\n expr = parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, 0, 1, 0, start, line, column);\r\n }\r\n parser.assignable = 1;\r\n }\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column);\r\n if (parser.token === 18)\r\n expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);\r\n expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr);\r\n parser.assignable = 1;\r\n return parseExpressionStatement(parser, context, expr, start, line, column);\r\n}\r\nfunction parseDirective(parser, context, expression, token, start, line, column) {\r\n if (token !== 1074790417) {\r\n parser.assignable = 2;\r\n expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column);\r\n if (parser.token !== 1074790417) {\r\n expression = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expression);\r\n if (parser.token === 18) {\r\n expression = parseSequenceExpression(parser, context, 0, start, line, column, expression);\r\n }\r\n }\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n }\r\n return context & 8 && expression.type === 'Literal' && typeof expression.value === 'string'\r\n ? finishNode(parser, context, start, line, column, {\r\n type: 'ExpressionStatement',\r\n expression,\r\n directive: expression.raw.slice(1, -1)\r\n })\r\n : finishNode(parser, context, start, line, column, {\r\n type: 'ExpressionStatement',\r\n expression\r\n });\r\n}\r\nfunction parseEmptyStatement(parser, context, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'EmptyStatement'\r\n });\r\n}\r\nfunction parseThrowStatement(parser, context, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n if (parser.flags & 1)\r\n report(parser, 87);\r\n const argument = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ThrowStatement',\r\n argument\r\n });\r\n}\r\nfunction parseIfStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context);\r\n consume(parser, context | 32768, 67174411);\r\n parser.assignable = 1;\r\n const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n const consequent = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos);\r\n let alternate = null;\r\n if (parser.token === 20565) {\r\n nextToken(parser, context | 32768);\r\n alternate = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'IfStatement',\r\n test,\r\n consequent,\r\n alternate\r\n });\r\n}\r\nfunction parseConsequentOrAlternative(parser, context, scope, labels, start, line, column) {\r\n return context & 1024 ||\r\n (context & 256) === 0 ||\r\n parser.token !== 86106\r\n ? parseStatement(parser, context, scope, 0, { $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos)\r\n : parseFunctionDeclaration(parser, context, addChildScope(scope, 2), 0, 0, 0, 0, start, line, column);\r\n}\r\nfunction parseSwitchStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context);\r\n consume(parser, context | 32768, 67174411);\r\n const discriminant = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context, 16);\r\n consume(parser, context, 2162700);\r\n const cases = [];\r\n let seenDefault = 0;\r\n if (scope)\r\n scope = addChildScope(scope, 8);\r\n while (parser.token !== 1074790415) {\r\n const { tokenPos, linePos, colPos } = parser;\r\n let test = null;\r\n const consequent = [];\r\n if (consumeOpt(parser, context | 32768, 20558)) {\r\n test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else {\r\n consume(parser, context | 32768, 20563);\r\n if (seenDefault)\r\n report(parser, 86);\r\n seenDefault = 1;\r\n }\r\n consume(parser, context | 32768, 21);\r\n while (parser.token !== 20558 &&\r\n parser.token !== 1074790415 &&\r\n parser.token !== 20563) {\r\n consequent.push(parseStatementListItem(parser, context | 4096, scope, 2, {\r\n $: labels\r\n }));\r\n }\r\n cases.push(finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'SwitchCase',\r\n test,\r\n consequent\r\n }));\r\n }\r\n consume(parser, context | 32768, 1074790415);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'SwitchStatement',\r\n discriminant,\r\n cases\r\n });\r\n}\r\nfunction parseWhileStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context);\r\n consume(parser, context | 32768, 67174411);\r\n const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n const body = parseIterationStatementBody(parser, context, scope, labels);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'WhileStatement',\r\n test,\r\n body\r\n });\r\n}\r\nfunction parseIterationStatementBody(parser, context, scope, labels) {\r\n return parseStatement(parser, ((context | 134217728) ^ 134217728) | 131072, scope, 0, { loop: 1, $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n}\r\nfunction parseContinueStatement(parser, context, labels, start, line, column) {\r\n if ((context & 131072) === 0)\r\n report(parser, 65);\r\n nextToken(parser, context);\r\n let label = null;\r\n if ((parser.flags & 1) === 0 && parser.token & 143360) {\r\n const { tokenValue } = parser;\r\n label = parseIdentifier(parser, context | 32768, 0);\r\n if (!isValidLabel(parser, labels, tokenValue, 1))\r\n report(parser, 134, tokenValue);\r\n }\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ContinueStatement',\r\n label\r\n });\r\n}\r\nfunction parseBreakStatement(parser, context, labels, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n let label = null;\r\n if ((parser.flags & 1) === 0 && parser.token & 143360) {\r\n const { tokenValue } = parser;\r\n label = parseIdentifier(parser, context | 32768, 0);\r\n if (!isValidLabel(parser, labels, tokenValue, 0))\r\n report(parser, 134, tokenValue);\r\n }\r\n else if ((context & (4096 | 131072)) === 0) {\r\n report(parser, 66);\r\n }\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'BreakStatement',\r\n label\r\n });\r\n}\r\nfunction parseWithStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context);\r\n if (context & 1024)\r\n report(parser, 88);\r\n consume(parser, context | 32768, 67174411);\r\n const object = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n const body = parseStatement(parser, context, scope, 2, labels, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'WithStatement',\r\n object,\r\n body\r\n });\r\n}\r\nfunction parseDebuggerStatement(parser, context, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'DebuggerStatement'\r\n });\r\n}\r\nfunction parseTryStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const firstScope = scope ? addChildScope(scope, 32) : void 0;\r\n const block = parseBlock(parser, context, firstScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos);\r\n const { tokenPos, linePos, colPos } = parser;\r\n const handler = consumeOpt(parser, context | 32768, 20559)\r\n ? parseCatchBlock(parser, context, scope, labels, tokenPos, linePos, colPos)\r\n : null;\r\n let finalizer = null;\r\n if (parser.token === 20568) {\r\n nextToken(parser, context | 32768);\r\n const finalizerScope = firstScope ? addChildScope(scope, 4) : void 0;\r\n finalizer = parseBlock(parser, context, finalizerScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n if (!handler && !finalizer) {\r\n report(parser, 85);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'TryStatement',\r\n block,\r\n handler,\r\n finalizer\r\n });\r\n}\r\nfunction parseCatchBlock(parser, context, scope, labels, start, line, column) {\r\n let param = null;\r\n let additionalScope = scope;\r\n if (consumeOpt(parser, context, 67174411)) {\r\n if (scope)\r\n scope = addChildScope(scope, 4);\r\n param = parseBindingPattern(parser, context, scope, (parser.token & 2097152) === 2097152\r\n ? 256\r\n : 512, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n if (parser.token === 18) {\r\n report(parser, 83);\r\n }\r\n else if (parser.token === 1077936157) {\r\n report(parser, 84);\r\n }\r\n consume(parser, context | 32768, 16);\r\n if (scope)\r\n additionalScope = addChildScope(scope, 64);\r\n }\r\n const body = parseBlock(parser, context, additionalScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'CatchClause',\r\n param,\r\n body\r\n });\r\n}\r\nfunction parseStaticBlock(parser, context, scope, start, line, column) {\r\n if (scope)\r\n scope = addChildScope(scope, 2);\r\n const ctorContext = 16384 | 524288;\r\n context = ((context | ctorContext) ^ ctorContext) | 262144;\r\n const { body } = parseBlock(parser, context, scope, {}, start, line, column);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'StaticBlock',\r\n body\r\n });\r\n}\r\nfunction parseDoWhileStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const body = parseIterationStatementBody(parser, context, scope, labels);\r\n consume(parser, context, 20580);\r\n consume(parser, context | 32768, 67174411);\r\n const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n consumeOpt(parser, context, 1074790417);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'DoWhileStatement',\r\n body,\r\n test\r\n });\r\n}\r\nfunction parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) {\r\n const { token, tokenValue } = parser;\r\n let expr = parseIdentifier(parser, context, 0);\r\n if (parser.token & (143360 | 2097152)) {\r\n const declarations = parseVariableDeclarationList(parser, context, scope, 8, 0);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'VariableDeclaration',\r\n kind: 'let',\r\n declarations\r\n });\r\n }\r\n parser.assignable = 1;\r\n if (context & 1024)\r\n report(parser, 82);\r\n if (parser.token === 21) {\r\n return parseLabelledStatement(parser, context, scope, origin, {}, tokenValue, expr, token, 0, start, line, column);\r\n }\r\n if (parser.token === 10) {\r\n let scope = void 0;\r\n if (context & 64)\r\n scope = createArrowHeadParsingScope(parser, context, tokenValue);\r\n parser.flags = (parser.flags | 128) ^ 128;\r\n expr = parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column);\r\n }\r\n else {\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column);\r\n expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr);\r\n }\r\n if (parser.token === 18) {\r\n expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);\r\n }\r\n return parseExpressionStatement(parser, context, expr, start, line, column);\r\n}\r\nfunction parseLexicalDeclaration(parser, context, scope, kind, origin, start, line, column) {\r\n nextToken(parser, context);\r\n const declarations = parseVariableDeclarationList(parser, context, scope, kind, origin);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'VariableDeclaration',\r\n kind: kind & 8 ? 'let' : 'const',\r\n declarations\r\n });\r\n}\r\nfunction parseVariableStatement(parser, context, scope, origin, start, line, column) {\r\n nextToken(parser, context);\r\n const declarations = parseVariableDeclarationList(parser, context, scope, 4, origin);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'VariableDeclaration',\r\n kind: 'var',\r\n declarations\r\n });\r\n}\r\nfunction parseVariableDeclarationList(parser, context, scope, kind, origin) {\r\n let bindingCount = 1;\r\n const list = [parseVariableDeclaration(parser, context, scope, kind, origin)];\r\n while (consumeOpt(parser, context, 18)) {\r\n bindingCount++;\r\n list.push(parseVariableDeclaration(parser, context, scope, kind, origin));\r\n }\r\n if (bindingCount > 1 && origin & 32 && parser.token & 262144) {\r\n report(parser, 58, KeywordDescTable[parser.token & 255]);\r\n }\r\n return list;\r\n}\r\nfunction parseVariableDeclaration(parser, context, scope, kind, origin) {\r\n const { token, tokenPos, linePos, colPos } = parser;\r\n let init = null;\r\n const id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos);\r\n if (parser.token === 1077936157) {\r\n nextToken(parser, context | 32768);\r\n init = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n if (origin & 32 || (token & 2097152) === 0) {\r\n if (parser.token === 274549 ||\r\n (parser.token === 8738868 &&\r\n (token & 2097152 || (kind & 4) === 0 || context & 1024))) {\r\n reportMessageAt(tokenPos, parser.line, parser.index - 3, 57, parser.token === 274549 ? 'of' : 'in');\r\n }\r\n }\r\n }\r\n else if ((kind & 16 || (token & 2097152) > 0) &&\r\n (parser.token & 262144) !== 262144) {\r\n report(parser, 56, kind & 16 ? 'const' : 'destructuring');\r\n }\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'VariableDeclarator',\r\n id,\r\n init\r\n });\r\n}\r\nfunction parseForStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context);\r\n const forAwait = ((context & 4194304) > 0 || ((context & 2048) > 0 && (context & 8192) > 0)) &&\r\n consumeOpt(parser, context, 209008);\r\n consume(parser, context | 32768, 67174411);\r\n if (scope)\r\n scope = addChildScope(scope, 1);\r\n let test = null;\r\n let update = null;\r\n let destructible = 0;\r\n let init = null;\r\n let isVarDecl = parser.token === 86090 || parser.token === 241739 || parser.token === 86092;\r\n let right;\r\n const { token, tokenPos, linePos, colPos } = parser;\r\n if (isVarDecl) {\r\n if (token === 241739) {\r\n init = parseIdentifier(parser, context, 0);\r\n if (parser.token & (143360 | 2097152)) {\r\n if (parser.token === 8738868) {\r\n if (context & 1024)\r\n report(parser, 64);\r\n }\r\n else {\r\n init = finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'VariableDeclaration',\r\n kind: 'let',\r\n declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 8, 32)\r\n });\r\n }\r\n parser.assignable = 1;\r\n }\r\n else if (context & 1024) {\r\n report(parser, 64);\r\n }\r\n else {\r\n isVarDecl = false;\r\n parser.assignable = 1;\r\n init = parseMemberOrUpdateExpression(parser, context, init, 0, 0, tokenPos, linePos, colPos);\r\n if (parser.token === 274549)\r\n report(parser, 111);\r\n }\r\n }\r\n else {\r\n nextToken(parser, context);\r\n init = finishNode(parser, context, tokenPos, linePos, colPos, token === 86090\r\n ? {\r\n type: 'VariableDeclaration',\r\n kind: 'var',\r\n declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 4, 32)\r\n }\r\n : {\r\n type: 'VariableDeclaration',\r\n kind: 'const',\r\n declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 16, 32)\r\n });\r\n parser.assignable = 1;\r\n }\r\n }\r\n else if (token === 1074790417) {\r\n if (forAwait)\r\n report(parser, 79);\r\n }\r\n else if ((token & 2097152) === 2097152) {\r\n init =\r\n token === 2162700\r\n ? parseObjectLiteralOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos)\r\n : parseArrayExpressionOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos);\r\n destructible = parser.destructible;\r\n if (context & 256 && destructible & 64) {\r\n report(parser, 60);\r\n }\r\n parser.assignable =\r\n destructible & 16 ? 2 : 1;\r\n init = parseMemberOrUpdateExpression(parser, context | 134217728, init, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else {\r\n init = parseLeftHandSideExpression(parser, context | 134217728, 1, 0, 1, tokenPos, linePos, colPos);\r\n }\r\n if ((parser.token & 262144) === 262144) {\r\n if (parser.token === 274549) {\r\n if (parser.assignable & 2)\r\n report(parser, 77, forAwait ? 'await' : 'of');\r\n reinterpretToPattern(parser, init);\r\n nextToken(parser, context | 32768);\r\n right = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n const body = parseIterationStatementBody(parser, context, scope, labels);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ForOfStatement',\r\n left: init,\r\n right,\r\n body,\r\n await: forAwait\r\n });\r\n }\r\n if (parser.assignable & 2)\r\n report(parser, 77, 'in');\r\n reinterpretToPattern(parser, init);\r\n nextToken(parser, context | 32768);\r\n if (forAwait)\r\n report(parser, 79);\r\n right = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n const body = parseIterationStatementBody(parser, context, scope, labels);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ForInStatement',\r\n body,\r\n left: init,\r\n right\r\n });\r\n }\r\n if (forAwait)\r\n report(parser, 79);\r\n if (!isVarDecl) {\r\n if (destructible & 8 && parser.token !== 1077936157) {\r\n report(parser, 77, 'loop');\r\n }\r\n init = parseAssignmentExpression(parser, context | 134217728, 0, 0, tokenPos, linePos, colPos, init);\r\n }\r\n if (parser.token === 18)\r\n init = parseSequenceExpression(parser, context, 0, parser.tokenPos, parser.linePos, parser.colPos, init);\r\n consume(parser, context | 32768, 1074790417);\r\n if (parser.token !== 1074790417)\r\n test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 1074790417);\r\n if (parser.token !== 16)\r\n update = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n const body = parseIterationStatementBody(parser, context, scope, labels);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ForStatement',\r\n init,\r\n test,\r\n update,\r\n body\r\n });\r\n}\r\nfunction parseRestrictedIdentifier(parser, context, scope) {\r\n if (!isValidIdentifier(context, parser.token))\r\n report(parser, 114);\r\n if ((parser.token & 537079808) === 537079808)\r\n report(parser, 115);\r\n if (scope)\r\n addBlockName(parser, context, scope, parser.tokenValue, 8, 0);\r\n return parseIdentifier(parser, context, 0);\r\n}\r\nfunction parseImportDeclaration(parser, context, scope) {\r\n const start = parser.tokenPos;\r\n const line = parser.linePos;\r\n const column = parser.colPos;\r\n nextToken(parser, context);\r\n let source = null;\r\n const { tokenPos, linePos, colPos } = parser;\r\n let specifiers = [];\r\n if (parser.token === 134283267) {\r\n source = parseLiteral(parser, context);\r\n }\r\n else {\r\n if (parser.token & 143360) {\r\n const local = parseRestrictedIdentifier(parser, context, scope);\r\n specifiers = [\r\n finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'ImportDefaultSpecifier',\r\n local\r\n })\r\n ];\r\n if (consumeOpt(parser, context, 18)) {\r\n switch (parser.token) {\r\n case 8457014:\r\n specifiers.push(parseImportNamespaceSpecifier(parser, context, scope));\r\n break;\r\n case 2162700:\r\n parseImportSpecifierOrNamedImports(parser, context, scope, specifiers);\r\n break;\r\n default:\r\n report(parser, 104);\r\n }\r\n }\r\n }\r\n else {\r\n switch (parser.token) {\r\n case 8457014:\r\n specifiers = [parseImportNamespaceSpecifier(parser, context, scope)];\r\n break;\r\n case 2162700:\r\n parseImportSpecifierOrNamedImports(parser, context, scope, specifiers);\r\n break;\r\n case 67174411:\r\n return parseImportCallDeclaration(parser, context, start, line, column);\r\n case 67108877:\r\n return parseImportMetaDeclaration(parser, context, start, line, column);\r\n default:\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n }\r\n source = parseModuleSpecifier(parser, context);\r\n }\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ImportDeclaration',\r\n specifiers,\r\n source\r\n });\r\n}\r\nfunction parseImportNamespaceSpecifier(parser, context, scope) {\r\n const { tokenPos, linePos, colPos } = parser;\r\n nextToken(parser, context);\r\n consume(parser, context, 77934);\r\n if ((parser.token & 134217728) === 134217728) {\r\n reportMessageAt(tokenPos, parser.line, parser.index, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'ImportNamespaceSpecifier',\r\n local: parseRestrictedIdentifier(parser, context, scope)\r\n });\r\n}\r\nfunction parseModuleSpecifier(parser, context) {\r\n consumeOpt(parser, context, 12404);\r\n if (parser.token !== 134283267)\r\n report(parser, 102, 'Import');\r\n return parseLiteral(parser, context);\r\n}\r\nfunction parseImportSpecifierOrNamedImports(parser, context, scope, specifiers) {\r\n nextToken(parser, context);\r\n while (parser.token & 143360) {\r\n let { token, tokenValue, tokenPos, linePos, colPos } = parser;\r\n const imported = parseIdentifier(parser, context, 0);\r\n let local;\r\n if (consumeOpt(parser, context, 77934)) {\r\n if ((parser.token & 134217728) === 134217728 || parser.token === 18) {\r\n report(parser, 103);\r\n }\r\n else {\r\n validateBindingIdentifier(parser, context, 16, parser.token, 0);\r\n }\r\n tokenValue = parser.tokenValue;\r\n local = parseIdentifier(parser, context, 0);\r\n }\r\n else {\r\n validateBindingIdentifier(parser, context, 16, token, 0);\r\n local = imported;\r\n }\r\n if (scope)\r\n addBlockName(parser, context, scope, tokenValue, 8, 0);\r\n specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'ImportSpecifier',\r\n local,\r\n imported\r\n }));\r\n if (parser.token !== 1074790415)\r\n consume(parser, context, 18);\r\n }\r\n consume(parser, context, 1074790415);\r\n return specifiers;\r\n}\r\nfunction parseImportMetaDeclaration(parser, context, start, line, column) {\r\n let expr = parseImportMetaExpression(parser, context, finishNode(parser, context, start, line, column, {\r\n type: 'Identifier',\r\n name: 'import'\r\n }), start, line, column);\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column);\r\n expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr);\r\n return parseExpressionStatement(parser, context, expr, start, line, column);\r\n}\r\nfunction parseImportCallDeclaration(parser, context, start, line, column) {\r\n let expr = parseImportExpression(parser, context, 0, start, line, column);\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column);\r\n return parseExpressionStatement(parser, context, expr, start, line, column);\r\n}\r\nfunction parseExportDeclaration(parser, context, scope) {\r\n const start = parser.tokenPos;\r\n const line = parser.linePos;\r\n const column = parser.colPos;\r\n nextToken(parser, context | 32768);\r\n const specifiers = [];\r\n let declaration = null;\r\n let source = null;\r\n let key;\r\n if (consumeOpt(parser, context | 32768, 20563)) {\r\n switch (parser.token) {\r\n case 86106: {\r\n declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n }\r\n case 133:\r\n case 86096:\r\n declaration = parseClassDeclaration(parser, context, scope, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n case 209007:\r\n const { tokenPos, linePos, colPos } = parser;\r\n declaration = parseIdentifier(parser, context, 0);\r\n const { flags } = parser;\r\n if ((flags & 1) === 0) {\r\n if (parser.token === 86106) {\r\n declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 1, tokenPos, linePos, colPos);\r\n }\r\n else {\r\n if (parser.token === 67174411) {\r\n declaration = parseAsyncArrowOrCallExpression(parser, context, declaration, 1, 1, 0, flags, tokenPos, linePos, colPos);\r\n declaration = parseMemberOrUpdateExpression(parser, context, declaration, 0, 0, tokenPos, linePos, colPos);\r\n declaration = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, declaration);\r\n }\r\n else if (parser.token & 143360) {\r\n if (scope)\r\n scope = createArrowHeadParsingScope(parser, context, parser.tokenValue);\r\n declaration = parseIdentifier(parser, context, 0);\r\n declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos);\r\n }\r\n }\r\n }\r\n break;\r\n default:\r\n declaration = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n }\r\n if (scope)\r\n declareUnboundVariable(parser, 'default');\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ExportDefaultDeclaration',\r\n declaration\r\n });\r\n }\r\n switch (parser.token) {\r\n case 8457014: {\r\n nextToken(parser, context);\r\n let exported = null;\r\n const isNamedDeclaration = consumeOpt(parser, context, 77934);\r\n if (isNamedDeclaration) {\r\n if (scope)\r\n declareUnboundVariable(parser, parser.tokenValue);\r\n exported = parseIdentifier(parser, context, 0);\r\n }\r\n consume(parser, context, 12404);\r\n if (parser.token !== 134283267)\r\n report(parser, 102, 'Export');\r\n source = parseLiteral(parser, context);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ExportAllDeclaration',\r\n source,\r\n exported\r\n });\r\n }\r\n case 2162700: {\r\n nextToken(parser, context);\r\n const tmpExportedNames = [];\r\n const tmpExportedBindings = [];\r\n while (parser.token & 143360) {\r\n const { tokenPos, tokenValue, linePos, colPos } = parser;\r\n const local = parseIdentifier(parser, context, 0);\r\n let exported;\r\n if (parser.token === 77934) {\r\n nextToken(parser, context);\r\n if ((parser.token & 134217728) === 134217728) {\r\n report(parser, 103);\r\n }\r\n if (scope) {\r\n tmpExportedNames.push(parser.tokenValue);\r\n tmpExportedBindings.push(tokenValue);\r\n }\r\n exported = parseIdentifier(parser, context, 0);\r\n }\r\n else {\r\n if (scope) {\r\n tmpExportedNames.push(parser.tokenValue);\r\n tmpExportedBindings.push(parser.tokenValue);\r\n }\r\n exported = local;\r\n }\r\n specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'ExportSpecifier',\r\n local,\r\n exported\r\n }));\r\n if (parser.token !== 1074790415)\r\n consume(parser, context, 18);\r\n }\r\n consume(parser, context, 1074790415);\r\n if (consumeOpt(parser, context, 12404)) {\r\n if (parser.token !== 134283267)\r\n report(parser, 102, 'Export');\r\n source = parseLiteral(parser, context);\r\n }\r\n else if (scope) {\r\n let i = 0;\r\n let iMax = tmpExportedNames.length;\r\n for (; i < iMax; i++) {\r\n declareUnboundVariable(parser, tmpExportedNames[i]);\r\n }\r\n i = 0;\r\n iMax = tmpExportedBindings.length;\r\n for (; i < iMax; i++) {\r\n addBindingToExports(parser, tmpExportedBindings[i]);\r\n }\r\n }\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n break;\r\n }\r\n case 86096:\r\n declaration = parseClassDeclaration(parser, context, scope, 2, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n case 86106:\r\n declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n case 241739:\r\n declaration = parseLexicalDeclaration(parser, context, scope, 8, 64, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n case 86092:\r\n declaration = parseLexicalDeclaration(parser, context, scope, 16, 64, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n case 86090:\r\n declaration = parseVariableStatement(parser, context, scope, 64, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n case 209007:\r\n const { tokenPos, linePos, colPos } = parser;\r\n nextToken(parser, context);\r\n if ((parser.flags & 1) === 0 && parser.token === 86106) {\r\n declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 1, tokenPos, linePos, colPos);\r\n if (scope) {\r\n key = declaration.id ? declaration.id.name : '';\r\n declareUnboundVariable(parser, key);\r\n }\r\n break;\r\n }\r\n default:\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ExportNamedDeclaration',\r\n declaration,\r\n specifiers,\r\n source\r\n });\r\n}\r\nfunction parseExpression(parser, context, canAssign, isPattern, inGroup, start, line, column) {\r\n let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, isPattern, inGroup, 1, start, line, column);\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column);\r\n return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr);\r\n}\r\nfunction parseSequenceExpression(parser, context, inGroup, start, line, column, expr) {\r\n const expressions = [expr];\r\n while (consumeOpt(parser, context | 32768, 18)) {\r\n expressions.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'SequenceExpression',\r\n expressions\r\n });\r\n}\r\nfunction parseExpressions(parser, context, inGroup, canAssign, start, line, column) {\r\n const expr = parseExpression(parser, context, canAssign, 0, inGroup, start, line, column);\r\n return parser.token === 18\r\n ? parseSequenceExpression(parser, context, inGroup, start, line, column, expr)\r\n : expr;\r\n}\r\nfunction parseAssignmentExpression(parser, context, inGroup, isPattern, start, line, column, left) {\r\n const { token } = parser;\r\n if ((token & 4194304) === 4194304) {\r\n if (parser.assignable & 2)\r\n report(parser, 24);\r\n if ((!isPattern && token === 1077936157 && left.type === 'ArrayExpression') ||\r\n left.type === 'ObjectExpression') {\r\n reinterpretToPattern(parser, left);\r\n }\r\n nextToken(parser, context | 32768);\r\n const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, isPattern\r\n ? {\r\n type: 'AssignmentPattern',\r\n left,\r\n right\r\n }\r\n : {\r\n type: 'AssignmentExpression',\r\n left,\r\n operator: KeywordDescTable[token & 255],\r\n right\r\n });\r\n }\r\n if ((token & 8454144) === 8454144) {\r\n left = parseBinaryExpression(parser, context, inGroup, start, line, column, 4, token, left);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n left = parseConditionalExpression(parser, context, left, start, line, column);\r\n }\r\n return left;\r\n}\r\nfunction parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) {\r\n const { token } = parser;\r\n nextToken(parser, context | 32768);\r\n const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n left = finishNode(parser, context, start, line, column, isPattern\r\n ? {\r\n type: 'AssignmentPattern',\r\n left,\r\n right\r\n }\r\n : {\r\n type: 'AssignmentExpression',\r\n left,\r\n operator: KeywordDescTable[token & 255],\r\n right\r\n });\r\n parser.assignable = 2;\r\n return left;\r\n}\r\nfunction parseConditionalExpression(parser, context, test, start, line, column) {\r\n const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 21);\r\n parser.assignable = 1;\r\n const alternate = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ConditionalExpression',\r\n test,\r\n consequent,\r\n alternate\r\n });\r\n}\r\nfunction parseBinaryExpression(parser, context, inGroup, start, line, column, minPrec, operator, left) {\r\n const bit = -((context & 134217728) > 0) & 8738868;\r\n let t;\r\n let prec;\r\n parser.assignable = 2;\r\n while (parser.token & 8454144) {\r\n t = parser.token;\r\n prec = t & 3840;\r\n if ((t & 524288 && operator & 268435456) || (operator & 524288 && t & 268435456)) {\r\n report(parser, 159);\r\n }\r\n if (prec + ((t === 8457273) << 8) - ((bit === t) << 12) <= minPrec)\r\n break;\r\n nextToken(parser, context | 32768);\r\n left = finishNode(parser, context, start, line, column, {\r\n type: t & 524288 || t & 268435456 ? 'LogicalExpression' : 'BinaryExpression',\r\n left,\r\n right: parseBinaryExpression(parser, context, inGroup, parser.tokenPos, parser.linePos, parser.colPos, prec, t, parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos)),\r\n operator: KeywordDescTable[t & 255]\r\n });\r\n }\r\n if (parser.token === 1077936157)\r\n report(parser, 24);\r\n return left;\r\n}\r\nfunction parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup) {\r\n if (!isLHS)\r\n report(parser, 0);\r\n const unaryOperator = parser.token;\r\n nextToken(parser, context | 32768);\r\n const arg = parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n if (parser.token === 8457273)\r\n report(parser, 31);\r\n if (context & 1024 && unaryOperator === 16863278) {\r\n if (arg.type === 'Identifier') {\r\n report(parser, 117);\r\n }\r\n else if (isPropertyWithPrivateFieldKey(arg)) {\r\n report(parser, 123);\r\n }\r\n }\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'UnaryExpression',\r\n operator: KeywordDescTable[unaryOperator & 255],\r\n argument: arg,\r\n prefix: true\r\n });\r\n}\r\nfunction parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column) {\r\n const { token } = parser;\r\n const expr = parseIdentifier(parser, context, isPattern);\r\n const { flags } = parser;\r\n if ((flags & 1) === 0) {\r\n if (parser.token === 86106) {\r\n return parseFunctionExpression(parser, context, 1, inGroup, start, line, column);\r\n }\r\n if ((parser.token & 143360) === 143360) {\r\n if (!isLHS)\r\n report(parser, 0);\r\n return parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column);\r\n }\r\n }\r\n if (!inNew && parser.token === 67174411) {\r\n return parseAsyncArrowOrCallExpression(parser, context, expr, canAssign, 1, 0, flags, start, line, column);\r\n }\r\n if (parser.token === 10) {\r\n classifyIdentifier(parser, context, token, 1);\r\n if (inNew)\r\n report(parser, 48);\r\n return parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, inNew, canAssign, 0, start, line, column);\r\n }\r\n return expr;\r\n}\r\nfunction parseYieldExpression(parser, context, inGroup, canAssign, start, line, column) {\r\n if (inGroup)\r\n parser.destructible |= 256;\r\n if (context & 2097152) {\r\n nextToken(parser, context | 32768);\r\n if (context & 8388608)\r\n report(parser, 30);\r\n if (!canAssign)\r\n report(parser, 24);\r\n if (parser.token === 22)\r\n report(parser, 120);\r\n let argument = null;\r\n let delegate = false;\r\n if ((parser.flags & 1) === 0) {\r\n delegate = consumeOpt(parser, context | 32768, 8457014);\r\n if (parser.token & (12288 | 65536) || delegate) {\r\n argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n }\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'YieldExpression',\r\n argument,\r\n delegate\r\n });\r\n }\r\n if (context & 1024)\r\n report(parser, 94, 'yield');\r\n return parseIdentifierOrArrow(parser, context, start, line, column);\r\n}\r\nfunction parseAwaitExpression(parser, context, inNew, inGroup, start, line, column) {\r\n if (inGroup)\r\n parser.destructible |= 128;\r\n if (context & 4194304 || (context & 2048 && context & 8192)) {\r\n if (inNew)\r\n report(parser, 0);\r\n if (context & 8388608) {\r\n reportMessageAt(parser.index, parser.line, parser.index, 29);\r\n }\r\n nextToken(parser, context | 32768);\r\n const argument = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n if (parser.token === 8457273)\r\n report(parser, 31);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'AwaitExpression',\r\n argument\r\n });\r\n }\r\n if (context & 2048)\r\n report(parser, 95);\r\n return parseIdentifierOrArrow(parser, context, start, line, column);\r\n}\r\nfunction parseFunctionBody(parser, context, scope, origin, firstRestricted, scopeError) {\r\n const { tokenPos, linePos, colPos } = parser;\r\n consume(parser, context | 32768, 2162700);\r\n const body = [];\r\n const prevContext = context;\r\n if (parser.token !== 1074790415) {\r\n while (parser.token === 134283267) {\r\n const { index, tokenPos, tokenValue, token } = parser;\r\n const expr = parseLiteral(parser, context);\r\n if (isValidStrictMode(parser, index, tokenPos, tokenValue)) {\r\n context |= 1024;\r\n if (parser.flags & 128) {\r\n reportMessageAt(parser.index, parser.line, parser.tokenPos, 63);\r\n }\r\n if (parser.flags & 64) {\r\n reportMessageAt(parser.index, parser.line, parser.tokenPos, 8);\r\n }\r\n }\r\n body.push(parseDirective(parser, context, expr, token, tokenPos, parser.linePos, parser.colPos));\r\n }\r\n if (context & 1024) {\r\n if (firstRestricted) {\r\n if ((firstRestricted & 537079808) === 537079808) {\r\n report(parser, 115);\r\n }\r\n if ((firstRestricted & 36864) === 36864) {\r\n report(parser, 38);\r\n }\r\n }\r\n if (parser.flags & 512)\r\n report(parser, 115);\r\n if (parser.flags & 256)\r\n report(parser, 114);\r\n }\r\n if (context & 64 &&\r\n scope &&\r\n scopeError !== void 0 &&\r\n (prevContext & 1024) === 0 &&\r\n (context & 8192) === 0) {\r\n reportScopeError(scopeError);\r\n }\r\n }\r\n parser.flags =\r\n (parser.flags | 512 | 256 | 64) ^\r\n (512 | 256 | 64);\r\n parser.destructible = (parser.destructible | 256) ^ 256;\r\n while (parser.token !== 1074790415) {\r\n body.push(parseStatementListItem(parser, context, scope, 4, {}));\r\n }\r\n consume(parser, origin & (16 | 8) ? context | 32768 : context, 1074790415);\r\n parser.flags &= ~(128 | 64);\r\n if (parser.token === 1077936157)\r\n report(parser, 24);\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'BlockStatement',\r\n body\r\n });\r\n}\r\nfunction parseSuperExpression(parser, context, start, line, column) {\r\n nextToken(parser, context);\r\n switch (parser.token) {\r\n case 67108991:\r\n report(parser, 161);\r\n case 67174411: {\r\n if ((context & 524288) === 0)\r\n report(parser, 26);\r\n if (context & 16384)\r\n report(parser, 27);\r\n parser.assignable = 2;\r\n break;\r\n }\r\n case 69271571:\r\n case 67108877: {\r\n if ((context & 262144) === 0)\r\n report(parser, 27);\r\n if (context & 16384)\r\n report(parser, 27);\r\n parser.assignable = 1;\r\n break;\r\n }\r\n default:\r\n report(parser, 28, 'super');\r\n }\r\n return finishNode(parser, context, start, line, column, { type: 'Super' });\r\n}\r\nfunction parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) {\r\n const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, 0, inGroup, isLHS, start, line, column);\r\n return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column);\r\n}\r\nfunction parseUpdateExpression(parser, context, expr, start, line, column) {\r\n if (parser.assignable & 2)\r\n report(parser, 52);\r\n const { token } = parser;\r\n nextToken(parser, context);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'UpdateExpression',\r\n argument: expr,\r\n operator: KeywordDescTable[token & 255],\r\n prefix: false\r\n });\r\n}\r\nfunction parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain, start, line, column) {\r\n if ((parser.token & 33619968) === 33619968 && (parser.flags & 1) === 0) {\r\n expr = parseUpdateExpression(parser, context, expr, start, line, column);\r\n }\r\n else if ((parser.token & 67108864) === 67108864) {\r\n context = (context | 134217728) ^ 134217728;\r\n switch (parser.token) {\r\n case 67108877: {\r\n nextToken(parser, (context | 1073741824 | 8192) ^ 8192);\r\n parser.assignable = 1;\r\n const property = parsePropertyOrPrivatePropertyName(parser, context);\r\n expr = finishNode(parser, context, start, line, column, {\r\n type: 'MemberExpression',\r\n object: expr,\r\n computed: false,\r\n property\r\n });\r\n break;\r\n }\r\n case 69271571: {\r\n let restoreHasOptionalChaining = false;\r\n if ((parser.flags & 2048) === 2048) {\r\n restoreHasOptionalChaining = true;\r\n parser.flags = (parser.flags | 2048) ^ 2048;\r\n }\r\n nextToken(parser, context | 32768);\r\n const { tokenPos, linePos, colPos } = parser;\r\n const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos);\r\n consume(parser, context, 20);\r\n parser.assignable = 1;\r\n expr = finishNode(parser, context, start, line, column, {\r\n type: 'MemberExpression',\r\n object: expr,\r\n computed: true,\r\n property\r\n });\r\n if (restoreHasOptionalChaining) {\r\n parser.flags |= 2048;\r\n }\r\n break;\r\n }\r\n case 67174411: {\r\n if ((parser.flags & 1024) === 1024) {\r\n parser.flags = (parser.flags | 1024) ^ 1024;\r\n return expr;\r\n }\r\n let restoreHasOptionalChaining = false;\r\n if ((parser.flags & 2048) === 2048) {\r\n restoreHasOptionalChaining = true;\r\n parser.flags = (parser.flags | 2048) ^ 2048;\r\n }\r\n const args = parseArguments(parser, context, inGroup);\r\n parser.assignable = 2;\r\n expr = finishNode(parser, context, start, line, column, {\r\n type: 'CallExpression',\r\n callee: expr,\r\n arguments: args\r\n });\r\n if (restoreHasOptionalChaining) {\r\n parser.flags |= 2048;\r\n }\r\n break;\r\n }\r\n case 67108991: {\r\n nextToken(parser, (context | 1073741824 | 8192) ^ 8192);\r\n parser.flags |= 2048;\r\n parser.assignable = 2;\r\n expr = parseOptionalChain(parser, context, expr, start, line, column);\r\n break;\r\n }\r\n default:\r\n if ((parser.flags & 2048) === 2048) {\r\n report(parser, 160);\r\n }\r\n parser.assignable = 2;\r\n expr = finishNode(parser, context, start, line, column, {\r\n type: 'TaggedTemplateExpression',\r\n tag: expr,\r\n quasi: parser.token === 67174408\r\n ? parseTemplate(parser, context | 65536)\r\n : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos)\r\n });\r\n }\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 1, start, line, column);\r\n }\r\n if (inChain === 0 && (parser.flags & 2048) === 2048) {\r\n parser.flags = (parser.flags | 2048) ^ 2048;\r\n expr = finishNode(parser, context, start, line, column, {\r\n type: 'ChainExpression',\r\n expression: expr\r\n });\r\n }\r\n return expr;\r\n}\r\nfunction parseOptionalChain(parser, context, expr, start, line, column) {\r\n let restoreHasOptionalChaining = false;\r\n let node;\r\n if (parser.token === 69271571 || parser.token === 67174411) {\r\n if ((parser.flags & 2048) === 2048) {\r\n restoreHasOptionalChaining = true;\r\n parser.flags = (parser.flags | 2048) ^ 2048;\r\n }\r\n }\r\n if (parser.token === 69271571) {\r\n nextToken(parser, context | 32768);\r\n const { tokenPos, linePos, colPos } = parser;\r\n const property = parseExpressions(parser, context, 0, 1, tokenPos, linePos, colPos);\r\n consume(parser, context, 20);\r\n parser.assignable = 2;\r\n node = finishNode(parser, context, start, line, column, {\r\n type: 'MemberExpression',\r\n object: expr,\r\n computed: true,\r\n optional: true,\r\n property\r\n });\r\n }\r\n else if (parser.token === 67174411) {\r\n const args = parseArguments(parser, context, 0);\r\n parser.assignable = 2;\r\n node = finishNode(parser, context, start, line, column, {\r\n type: 'CallExpression',\r\n callee: expr,\r\n arguments: args,\r\n optional: true\r\n });\r\n }\r\n else {\r\n if ((parser.token & (143360 | 4096)) === 0)\r\n report(parser, 154);\r\n const property = parseIdentifier(parser, context, 0);\r\n parser.assignable = 2;\r\n node = finishNode(parser, context, start, line, column, {\r\n type: 'MemberExpression',\r\n object: expr,\r\n computed: false,\r\n optional: true,\r\n property\r\n });\r\n }\r\n if (restoreHasOptionalChaining) {\r\n parser.flags |= 2048;\r\n }\r\n return node;\r\n}\r\nfunction parsePropertyOrPrivatePropertyName(parser, context) {\r\n if ((parser.token & (143360 | 4096)) === 0 && parser.token !== 131) {\r\n report(parser, 154);\r\n }\r\n return context & 1 && parser.token === 131\r\n ? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos)\r\n : parseIdentifier(parser, context, 0);\r\n}\r\nfunction parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) {\r\n if (inNew)\r\n report(parser, 53);\r\n if (!isLHS)\r\n report(parser, 0);\r\n const { token } = parser;\r\n nextToken(parser, context | 32768);\r\n const arg = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n if (parser.assignable & 2) {\r\n report(parser, 52);\r\n }\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'UpdateExpression',\r\n argument: arg,\r\n operator: KeywordDescTable[token & 255],\r\n prefix: true\r\n });\r\n}\r\nfunction parsePrimaryExpression(parser, context, kind, inNew, canAssign, isPattern, inGroup, isLHS, start, line, column) {\r\n if ((parser.token & 143360) === 143360) {\r\n switch (parser.token) {\r\n case 209008:\r\n return parseAwaitExpression(parser, context, inNew, inGroup, start, line, column);\r\n case 241773:\r\n return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column);\r\n case 209007:\r\n return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column);\r\n }\r\n const { token, tokenValue } = parser;\r\n const expr = parseIdentifier(parser, context | 65536, isPattern);\r\n if (parser.token === 10) {\r\n if (!isLHS)\r\n report(parser, 0);\r\n classifyIdentifier(parser, context, token, 1);\r\n return parseArrowFromIdentifier(parser, context, tokenValue, expr, inNew, canAssign, 0, start, line, column);\r\n }\r\n if (context & 16384 && token === 537079928)\r\n report(parser, 126);\r\n if (token === 241739) {\r\n if (context & 1024)\r\n report(parser, 109);\r\n if (kind & (8 | 16))\r\n report(parser, 97);\r\n }\r\n parser.assignable =\r\n context & 1024 && (token & 537079808) === 537079808\r\n ? 2\r\n : 1;\r\n return expr;\r\n }\r\n if ((parser.token & 134217728) === 134217728) {\r\n return parseLiteral(parser, context);\r\n }\r\n switch (parser.token) {\r\n case 33619995:\r\n case 33619996:\r\n return parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column);\r\n case 16863278:\r\n case 16842800:\r\n case 16842801:\r\n case 25233970:\r\n case 25233971:\r\n case 16863277:\r\n case 16863279:\r\n return parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup);\r\n case 86106:\r\n return parseFunctionExpression(parser, context, 0, inGroup, start, line, column);\r\n case 2162700:\r\n return parseObjectLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column);\r\n case 69271571:\r\n return parseArrayLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column);\r\n case 67174411:\r\n return parseParenthesizedExpression(parser, context, canAssign, 1, 0, start, line, column);\r\n case 86021:\r\n case 86022:\r\n case 86023:\r\n return parseNullOrTrueOrFalseLiteral(parser, context, start, line, column);\r\n case 86113:\r\n return parseThisExpression(parser, context);\r\n case 65540:\r\n return parseRegExpLiteral(parser, context, start, line, column);\r\n case 133:\r\n case 86096:\r\n return parseClassExpression(parser, context, inGroup, start, line, column);\r\n case 86111:\r\n return parseSuperExpression(parser, context, start, line, column);\r\n case 67174409:\r\n return parseTemplateLiteral(parser, context, start, line, column);\r\n case 67174408:\r\n return parseTemplate(parser, context);\r\n case 86109:\r\n return parseNewExpression(parser, context, inGroup, start, line, column);\r\n case 134283389:\r\n return parseBigIntLiteral(parser, context, start, line, column);\r\n case 131:\r\n return parsePrivateIdentifier(parser, context, start, line, column);\r\n case 86108:\r\n return parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column);\r\n case 8456258:\r\n if (context & 16)\r\n return parseJSXRootElementOrFragment(parser, context, 1, start, line, column);\r\n default:\r\n if (isValidIdentifier(context, parser.token))\r\n return parseIdentifierOrArrow(parser, context, start, line, column);\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n}\r\nfunction parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) {\r\n let expr = parseIdentifier(parser, context, 0);\r\n if (parser.token === 67108877) {\r\n return parseImportMetaExpression(parser, context, expr, start, line, column);\r\n }\r\n if (inNew)\r\n report(parser, 137);\r\n expr = parseImportExpression(parser, context, inGroup, start, line, column);\r\n parser.assignable = 2;\r\n return parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column);\r\n}\r\nfunction parseImportMetaExpression(parser, context, meta, start, line, column) {\r\n if ((context & 2048) === 0)\r\n report(parser, 163);\r\n nextToken(parser, context);\r\n if (parser.token !== 143495 && parser.tokenValue !== 'meta')\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'MetaProperty',\r\n meta,\r\n property: parseIdentifier(parser, context, 0)\r\n });\r\n}\r\nfunction parseImportExpression(parser, context, inGroup, start, line, column) {\r\n consume(parser, context | 32768, 67174411);\r\n if (parser.token === 14)\r\n report(parser, 138);\r\n const source = parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context, 16);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ImportExpression',\r\n source\r\n });\r\n}\r\nfunction parseBigIntLiteral(parser, context, start, line, column) {\r\n const { tokenRaw, tokenValue } = parser;\r\n nextToken(parser, context);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, context & 512\r\n ? {\r\n type: 'Literal',\r\n value: tokenValue,\r\n bigint: tokenRaw.slice(0, -1),\r\n raw: tokenRaw\r\n }\r\n : {\r\n type: 'Literal',\r\n value: tokenValue,\r\n bigint: tokenRaw.slice(0, -1)\r\n });\r\n}\r\nfunction parseTemplateLiteral(parser, context, start, line, column) {\r\n parser.assignable = 2;\r\n const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;\r\n consume(parser, context, 67174409);\r\n const quasis = [parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)];\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'TemplateLiteral',\r\n expressions: [],\r\n quasis\r\n });\r\n}\r\nfunction parseTemplate(parser, context) {\r\n context = (context | 134217728) ^ 134217728;\r\n const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;\r\n consume(parser, context | 32768, 67174408);\r\n const quasis = [\r\n parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false)\r\n ];\r\n const expressions = [parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)];\r\n if (parser.token !== 1074790415)\r\n report(parser, 80);\r\n while ((parser.token = scanTemplateTail(parser, context)) !== 67174409) {\r\n const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;\r\n consume(parser, context | 32768, 67174408);\r\n quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false));\r\n expressions.push(parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos));\r\n if (parser.token !== 1074790415)\r\n report(parser, 80);\r\n }\r\n {\r\n const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;\r\n consume(parser, context, 67174409);\r\n quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true));\r\n }\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'TemplateLiteral',\r\n expressions,\r\n quasis\r\n });\r\n}\r\nfunction parseTemplateElement(parser, context, cooked, raw, start, line, col, tail) {\r\n const node = finishNode(parser, context, start, line, col, {\r\n type: 'TemplateElement',\r\n value: {\r\n cooked,\r\n raw\r\n },\r\n tail\r\n });\r\n const tailSize = tail ? 1 : 2;\r\n if (context & 2) {\r\n node.start += 1;\r\n node.range[0] += 1;\r\n node.end -= tailSize;\r\n node.range[1] -= tailSize;\r\n }\r\n if (context & 4) {\r\n node.loc.start.column += 1;\r\n node.loc.end.column -= tailSize;\r\n }\r\n return node;\r\n}\r\nfunction parseSpreadElement(parser, context, start, line, column) {\r\n context = (context | 134217728) ^ 134217728;\r\n consume(parser, context | 32768, 14);\r\n const argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n parser.assignable = 1;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'SpreadElement',\r\n argument\r\n });\r\n}\r\nfunction parseArguments(parser, context, inGroup) {\r\n nextToken(parser, context | 32768);\r\n const args = [];\r\n if (parser.token === 16) {\r\n nextToken(parser, context);\r\n return args;\r\n }\r\n while (parser.token !== 16) {\r\n if (parser.token === 14) {\r\n args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n else {\r\n args.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n if (parser.token !== 18)\r\n break;\r\n nextToken(parser, context | 32768);\r\n if (parser.token === 16)\r\n break;\r\n }\r\n consume(parser, context, 16);\r\n return args;\r\n}\r\nfunction parseIdentifier(parser, context, isPattern) {\r\n const { tokenValue, tokenPos, linePos, colPos } = parser;\r\n nextToken(parser, context);\r\n return finishNode(parser, context, tokenPos, linePos, colPos, context & 268435456\r\n ? {\r\n type: 'Identifier',\r\n name: tokenValue,\r\n pattern: isPattern === 1\r\n }\r\n : {\r\n type: 'Identifier',\r\n name: tokenValue\r\n });\r\n}\r\nfunction parseLiteral(parser, context) {\r\n const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;\r\n if (parser.token === 134283389) {\r\n return parseBigIntLiteral(parser, context, tokenPos, linePos, colPos);\r\n }\r\n nextToken(parser, context);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, tokenPos, linePos, colPos, context & 512\r\n ? {\r\n type: 'Literal',\r\n value: tokenValue,\r\n raw: tokenRaw\r\n }\r\n : {\r\n type: 'Literal',\r\n value: tokenValue\r\n });\r\n}\r\nfunction parseNullOrTrueOrFalseLiteral(parser, context, start, line, column) {\r\n const raw = KeywordDescTable[parser.token & 255];\r\n const value = parser.token === 86023 ? null : raw === 'true';\r\n nextToken(parser, context);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, context & 512\r\n ? {\r\n type: 'Literal',\r\n value,\r\n raw\r\n }\r\n : {\r\n type: 'Literal',\r\n value\r\n });\r\n}\r\nfunction parseThisExpression(parser, context) {\r\n const { tokenPos, linePos, colPos } = parser;\r\n nextToken(parser, context);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'ThisExpression'\r\n });\r\n}\r\nfunction parseFunctionDeclaration(parser, context, scope, origin, allowGen, flags, isAsync, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const isGenerator = allowGen ? optionalBit(parser, context, 8457014) : 0;\r\n let id = null;\r\n let firstRestricted;\r\n let functionScope = scope ? createScope() : void 0;\r\n if (parser.token === 67174411) {\r\n if ((flags & 1) === 0)\r\n report(parser, 37, 'Function');\r\n }\r\n else {\r\n const kind = origin & 4 && ((context & 8192) === 0 || (context & 2048) === 0)\r\n ? 4\r\n : 64;\r\n validateFunctionName(parser, context | ((context & 3072) << 11), parser.token);\r\n if (scope) {\r\n if (kind & 4) {\r\n addVarName(parser, context, scope, parser.tokenValue, kind);\r\n }\r\n else {\r\n addBlockName(parser, context, scope, parser.tokenValue, kind, origin);\r\n }\r\n functionScope = addChildScope(functionScope, 256);\r\n if (flags) {\r\n if (flags & 2) {\r\n declareUnboundVariable(parser, parser.tokenValue);\r\n }\r\n }\r\n }\r\n firstRestricted = parser.token;\r\n if (parser.token & 143360) {\r\n id = parseIdentifier(parser, context, 0);\r\n }\r\n else {\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n }\r\n context =\r\n ((context | 32243712) ^ 32243712) |\r\n 67108864 |\r\n ((isAsync * 2 + isGenerator) << 21) |\r\n (isGenerator ? 0 : 1073741824);\r\n if (scope)\r\n functionScope = addChildScope(functionScope, 512);\r\n const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1);\r\n const body = parseFunctionBody(parser, (context | 8192 | 4096 | 131072) ^\r\n (8192 | 4096 | 131072), scope ? addChildScope(functionScope, 128) : functionScope, 8, firstRestricted, scope ? functionScope.scopeError : void 0);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'FunctionDeclaration',\r\n id,\r\n params,\r\n body,\r\n async: isAsync === 1,\r\n generator: isGenerator === 1\r\n });\r\n}\r\nfunction parseFunctionExpression(parser, context, isAsync, inGroup, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const isGenerator = optionalBit(parser, context, 8457014);\r\n const generatorAndAsyncFlags = (isAsync * 2 + isGenerator) << 21;\r\n let id = null;\r\n let firstRestricted;\r\n let scope = context & 64 ? createScope() : void 0;\r\n if ((parser.token & (143360 | 4096 | 36864)) > 0) {\r\n validateFunctionName(parser, ((context | 0x1ec0000) ^ 0x1ec0000) | generatorAndAsyncFlags, parser.token);\r\n if (scope)\r\n scope = addChildScope(scope, 256);\r\n firstRestricted = parser.token;\r\n id = parseIdentifier(parser, context, 0);\r\n }\r\n context =\r\n ((context | 32243712) ^ 32243712) |\r\n 67108864 |\r\n generatorAndAsyncFlags |\r\n (isGenerator ? 0 : 1073741824);\r\n if (scope)\r\n scope = addChildScope(scope, 512);\r\n const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1);\r\n const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192 | 4096 | 131072 | 16384), scope ? addChildScope(scope, 128) : scope, 0, firstRestricted, void 0);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'FunctionExpression',\r\n id,\r\n params,\r\n body,\r\n async: isAsync === 1,\r\n generator: isGenerator === 1\r\n });\r\n}\r\nfunction parseArrayLiteral(parser, context, skipInitializer, inGroup, start, line, column) {\r\n const expr = parseArrayExpressionOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column);\r\n if (context & 256 && parser.destructible & 64) {\r\n report(parser, 60);\r\n }\r\n if (parser.destructible & 8) {\r\n report(parser, 59);\r\n }\r\n return expr;\r\n}\r\nfunction parseArrayExpressionOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const elements = [];\r\n let destructible = 0;\r\n context = (context | 134217728) ^ 134217728;\r\n while (parser.token !== 20) {\r\n if (consumeOpt(parser, context | 32768, 18)) {\r\n elements.push(null);\r\n }\r\n else {\r\n let left;\r\n const { token, tokenPos, linePos, colPos, tokenValue } = parser;\r\n if (token & 143360) {\r\n left = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);\r\n if (parser.token === 1077936157) {\r\n if (parser.assignable & 2)\r\n report(parser, 24);\r\n nextToken(parser, context | 32768);\r\n if (scope)\r\n addVarOrBlock(parser, context, scope, tokenValue, kind, origin);\r\n const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern\r\n ? {\r\n type: 'AssignmentPattern',\r\n left,\r\n right\r\n }\r\n : {\r\n type: 'AssignmentExpression',\r\n operator: '=',\r\n left,\r\n right\r\n });\r\n destructible |=\r\n parser.destructible & 256\r\n ? 256\r\n : 0 | (parser.destructible & 128)\r\n ? 128\r\n : 0;\r\n }\r\n else if (parser.token === 18 || parser.token === 20) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (scope) {\r\n addVarOrBlock(parser, context, scope, tokenValue, kind, origin);\r\n }\r\n destructible |=\r\n parser.destructible & 256\r\n ? 256\r\n : 0 | (parser.destructible & 128)\r\n ? 128\r\n : 0;\r\n }\r\n else {\r\n destructible |=\r\n kind & 1\r\n ? 32\r\n : (kind & 2) === 0\r\n ? 16\r\n : 0;\r\n left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos);\r\n if (parser.token !== 18 && parser.token !== 20) {\r\n if (parser.token !== 1077936157)\r\n destructible |= 16;\r\n left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left);\r\n }\r\n else if (parser.token !== 1077936157) {\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : 32;\r\n }\r\n }\r\n }\r\n else if (token & 2097152) {\r\n left =\r\n parser.token === 2162700\r\n ? parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos)\r\n : parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos);\r\n destructible |= parser.destructible;\r\n parser.assignable =\r\n parser.destructible & 16\r\n ? 2\r\n : 1;\r\n if (parser.token === 18 || parser.token === 20) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n }\r\n else if (parser.destructible & 8) {\r\n report(parser, 68);\r\n }\r\n else {\r\n left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable & 2 ? 16 : 0;\r\n if (parser.token !== 18 && parser.token !== 20) {\r\n left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left);\r\n }\r\n else if (parser.token !== 1077936157) {\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : 32;\r\n }\r\n }\r\n }\r\n else if (token === 14) {\r\n left = parseSpreadOrRestElement(parser, context, scope, 20, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos);\r\n destructible |= parser.destructible;\r\n if (parser.token !== 18 && parser.token !== 20)\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n else {\r\n left = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos);\r\n if (parser.token !== 18 && parser.token !== 20) {\r\n left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left);\r\n if ((kind & (2 | 1)) === 0 && token === 67174411)\r\n destructible |= 16;\r\n }\r\n else if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (token === 67174411) {\r\n destructible |=\r\n parser.assignable & 1 && kind & (2 | 1)\r\n ? 32\r\n : 16;\r\n }\r\n }\r\n elements.push(left);\r\n if (consumeOpt(parser, context | 32768, 18)) {\r\n if (parser.token === 20)\r\n break;\r\n }\r\n else\r\n break;\r\n }\r\n }\r\n consume(parser, context, 20);\r\n const node = finishNode(parser, context, start, line, column, {\r\n type: isPattern ? 'ArrayPattern' : 'ArrayExpression',\r\n elements\r\n });\r\n if (!skipInitializer && parser.token & 4194304) {\r\n return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node);\r\n }\r\n parser.destructible = destructible;\r\n return node;\r\n}\r\nfunction parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node) {\r\n if (parser.token !== 1077936157)\r\n report(parser, 24);\r\n nextToken(parser, context | 32768);\r\n if (destructible & 16)\r\n report(parser, 24);\r\n if (!isPattern)\r\n reinterpretToPattern(parser, node);\r\n const { tokenPos, linePos, colPos } = parser;\r\n const right = parseExpression(parser, context, 1, 1, inGroup, tokenPos, linePos, colPos);\r\n parser.destructible =\r\n ((destructible | 64 | 8) ^\r\n (8 | 64)) |\r\n (parser.destructible & 128 ? 128 : 0) |\r\n (parser.destructible & 256 ? 256 : 0);\r\n return finishNode(parser, context, start, line, column, isPattern\r\n ? {\r\n type: 'AssignmentPattern',\r\n left: node,\r\n right\r\n }\r\n : {\r\n type: 'AssignmentExpression',\r\n left: node,\r\n operator: '=',\r\n right\r\n });\r\n}\r\nfunction parseSpreadOrRestElement(parser, context, scope, closingToken, kind, origin, isAsync, inGroup, isPattern, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n let argument = null;\r\n let destructible = 0;\r\n let { token, tokenValue, tokenPos, linePos, colPos } = parser;\r\n if (token & (4096 | 143360)) {\r\n parser.assignable = 1;\r\n argument = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);\r\n token = parser.token;\r\n argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos);\r\n if (parser.token !== 18 && parser.token !== closingToken) {\r\n if (parser.assignable & 2 && parser.token === 1077936157)\r\n report(parser, 68);\r\n destructible |= 16;\r\n argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument);\r\n }\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (token === closingToken || token === 18) {\r\n if (scope)\r\n addVarOrBlock(parser, context, scope, tokenValue, kind, origin);\r\n }\r\n else {\r\n destructible |= 32;\r\n }\r\n destructible |= parser.destructible & 128 ? 128 : 0;\r\n }\r\n else if (token === closingToken) {\r\n report(parser, 39);\r\n }\r\n else if (token & 2097152) {\r\n argument =\r\n parser.token === 2162700\r\n ? parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos)\r\n : parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos);\r\n token = parser.token;\r\n if (token !== 1077936157 && token !== closingToken && token !== 18) {\r\n if (parser.destructible & 8)\r\n report(parser, 68);\r\n argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible |= parser.assignable & 2 ? 16 : 0;\r\n if ((parser.token & 4194304) === 4194304) {\r\n if (parser.token !== 1077936157)\r\n destructible |= 16;\r\n argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument);\r\n }\r\n else {\r\n if ((parser.token & 8454144) === 8454144) {\r\n argument = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, argument);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n argument = parseConditionalExpression(parser, context, argument, tokenPos, linePos, colPos);\r\n }\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : 32;\r\n }\r\n }\r\n else {\r\n destructible |=\r\n closingToken === 1074790415 && token !== 1077936157\r\n ? 16\r\n : parser.destructible;\r\n }\r\n }\r\n else {\r\n destructible |= 32;\r\n argument = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n const { token, tokenPos, linePos, colPos } = parser;\r\n if (token === 1077936157 && token !== closingToken && token !== 18) {\r\n if (parser.assignable & 2)\r\n report(parser, 24);\r\n argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument);\r\n destructible |= 16;\r\n }\r\n else {\r\n if (token === 18) {\r\n destructible |= 16;\r\n }\r\n else if (token !== closingToken) {\r\n argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument);\r\n }\r\n destructible |=\r\n parser.assignable & 1 ? 32 : 16;\r\n }\r\n parser.destructible = destructible;\r\n if (parser.token !== closingToken && parser.token !== 18)\r\n report(parser, 155);\r\n return finishNode(parser, context, start, line, column, {\r\n type: isPattern ? 'RestElement' : 'SpreadElement',\r\n argument: argument\r\n });\r\n }\r\n if (parser.token !== closingToken) {\r\n if (kind & 1)\r\n destructible |= isAsync ? 16 : 32;\r\n if (consumeOpt(parser, context | 32768, 1077936157)) {\r\n if (destructible & 16)\r\n report(parser, 24);\r\n reinterpretToPattern(parser, argument);\r\n const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern\r\n ? {\r\n type: 'AssignmentPattern',\r\n left: argument,\r\n right\r\n }\r\n : {\r\n type: 'AssignmentExpression',\r\n left: argument,\r\n operator: '=',\r\n right\r\n });\r\n destructible = 16;\r\n }\r\n else {\r\n destructible |= 16;\r\n }\r\n }\r\n parser.destructible = destructible;\r\n return finishNode(parser, context, start, line, column, {\r\n type: isPattern ? 'RestElement' : 'SpreadElement',\r\n argument: argument\r\n });\r\n}\r\nfunction parseMethodDefinition(parser, context, kind, inGroup, start, line, column) {\r\n const modifierFlags = (kind & 64) === 0 ? 31981568 : 14680064;\r\n context =\r\n ((context | modifierFlags) ^ modifierFlags) |\r\n ((kind & 88) << 18) |\r\n 100925440;\r\n let scope = context & 64 ? addChildScope(createScope(), 512) : void 0;\r\n const params = parseMethodFormals(parser, context | 8388608, scope, kind, 1, inGroup);\r\n if (scope)\r\n scope = addChildScope(scope, 128);\r\n const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192), scope, 0, void 0, void 0);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'FunctionExpression',\r\n params,\r\n body,\r\n async: (kind & 16) > 0,\r\n generator: (kind & 8) > 0,\r\n id: null\r\n });\r\n}\r\nfunction parseObjectLiteral(parser, context, skipInitializer, inGroup, start, line, column) {\r\n const expr = parseObjectLiteralOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column);\r\n if (context & 256 && parser.destructible & 64) {\r\n report(parser, 60);\r\n }\r\n if (parser.destructible & 8) {\r\n report(parser, 59);\r\n }\r\n return expr;\r\n}\r\nfunction parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) {\r\n nextToken(parser, context);\r\n const properties = [];\r\n let destructible = 0;\r\n let prototypeCount = 0;\r\n context = (context | 134217728) ^ 134217728;\r\n while (parser.token !== 1074790415) {\r\n const { token, tokenValue, linePos, colPos, tokenPos } = parser;\r\n if (token === 14) {\r\n properties.push(parseSpreadOrRestElement(parser, context, scope, 1074790415, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos));\r\n }\r\n else {\r\n let state = 0;\r\n let key = null;\r\n let value;\r\n const t = parser.token;\r\n if (parser.token & (143360 | 4096) || parser.token === 121) {\r\n key = parseIdentifier(parser, context, 0);\r\n if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) {\r\n state |= 4;\r\n if (context & 1024 && (token & 537079808) === 537079808) {\r\n destructible |= 16;\r\n }\r\n else {\r\n validateBindingIdentifier(parser, context, kind, token, 0);\r\n }\r\n if (scope)\r\n addVarOrBlock(parser, context, scope, tokenValue, kind, origin);\r\n if (consumeOpt(parser, context | 32768, 1077936157)) {\r\n destructible |= 8;\r\n const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n destructible |=\r\n parser.destructible & 256\r\n ? 256\r\n : 0 | (parser.destructible & 128)\r\n ? 128\r\n : 0;\r\n value = finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'AssignmentPattern',\r\n left: context & -2147483648 ? Object.assign({}, key) : key,\r\n right\r\n });\r\n }\r\n else {\r\n destructible |=\r\n (token === 209008 ? 128 : 0) |\r\n (token === 121 ? 16 : 0);\r\n value = context & -2147483648 ? Object.assign({}, key) : key;\r\n }\r\n }\r\n else if (consumeOpt(parser, context | 32768, 21)) {\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (tokenValue === '__proto__')\r\n prototypeCount++;\r\n if (parser.token & 143360) {\r\n const tokenAfterColon = parser.token;\r\n const valueAfterColon = parser.tokenValue;\r\n destructible |= t === 121 ? 16 : 0;\r\n value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);\r\n const { token } = parser;\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (token === 1077936157 || token === 1074790415 || token === 18) {\r\n destructible |= parser.destructible & 128 ? 128 : 0;\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (scope && (tokenAfterColon & 143360) === 143360) {\r\n addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin);\r\n }\r\n }\r\n else {\r\n destructible |=\r\n parser.assignable & 1\r\n ? 32\r\n : 16;\r\n }\r\n }\r\n else if ((parser.token & 4194304) === 4194304) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (token !== 1077936157) {\r\n destructible |= 32;\r\n }\r\n else if (scope) {\r\n addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin);\r\n }\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n else {\r\n destructible |= 16;\r\n if ((parser.token & 8454144) === 8454144) {\r\n value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos);\r\n }\r\n }\r\n }\r\n else if ((parser.token & 2097152) === 2097152) {\r\n value =\r\n parser.token === 69271571\r\n ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos)\r\n : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos);\r\n destructible = parser.destructible;\r\n parser.assignable =\r\n destructible & 16 ? 2 : 1;\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (parser.assignable & 2)\r\n destructible |= 16;\r\n }\r\n else if (parser.destructible & 8) {\r\n report(parser, 68);\r\n }\r\n else {\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable & 2 ? 16 : 0;\r\n if ((parser.token & 4194304) === 4194304) {\r\n value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n else {\r\n if ((parser.token & 8454144) === 8454144) {\r\n value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos);\r\n }\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : 32;\r\n }\r\n }\r\n }\r\n else {\r\n value = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, tokenPos, linePos, colPos);\r\n destructible |=\r\n parser.assignable & 1\r\n ? 32\r\n : 16;\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (parser.assignable & 2)\r\n destructible |= 16;\r\n }\r\n else {\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable & 2 ? 16 : 0;\r\n if (parser.token !== 18 && token !== 1074790415) {\r\n if (parser.token !== 1077936157)\r\n destructible |= 16;\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n }\r\n }\r\n }\r\n else if (parser.token === 69271571) {\r\n destructible |= 16;\r\n if (token === 209007)\r\n state |= 16;\r\n state |=\r\n (token === 12402\r\n ? 256\r\n : token === 12403\r\n ? 512\r\n : 1) | 2;\r\n key = parseComputedPropertyName(parser, context, inGroup);\r\n destructible |= parser.assignable;\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else if (parser.token & (143360 | 4096)) {\r\n destructible |= 16;\r\n if (token === 121)\r\n report(parser, 92);\r\n if (token === 209007) {\r\n if (parser.flags & 1)\r\n report(parser, 128);\r\n state |= 16;\r\n }\r\n key = parseIdentifier(parser, context, 0);\r\n state |=\r\n token === 12402\r\n ? 256\r\n : token === 12403\r\n ? 512\r\n : 1;\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else if (parser.token === 67174411) {\r\n destructible |= 16;\r\n state |= 1;\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else if (parser.token === 8457014) {\r\n destructible |= 16;\r\n if (token === 12402 || token === 12403) {\r\n report(parser, 40);\r\n }\r\n else if (token === 143483) {\r\n report(parser, 92);\r\n }\r\n nextToken(parser, context);\r\n state |=\r\n 8 | 1 | (token === 209007 ? 16 : 0);\r\n if (parser.token & 143360) {\r\n key = parseIdentifier(parser, context, 0);\r\n }\r\n else if ((parser.token & 134217728) === 134217728) {\r\n key = parseLiteral(parser, context);\r\n }\r\n else if (parser.token === 69271571) {\r\n state |= 2;\r\n key = parseComputedPropertyName(parser, context, inGroup);\r\n destructible |= parser.assignable;\r\n }\r\n else {\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else if ((parser.token & 134217728) === 134217728) {\r\n if (token === 209007)\r\n state |= 16;\r\n state |=\r\n token === 12402\r\n ? 256\r\n : token === 12403\r\n ? 512\r\n : 1;\r\n destructible |= 16;\r\n key = parseLiteral(parser, context);\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else {\r\n report(parser, 129);\r\n }\r\n }\r\n else if ((parser.token & 134217728) === 134217728) {\r\n key = parseLiteral(parser, context);\r\n if (parser.token === 21) {\r\n consume(parser, context | 32768, 21);\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (tokenValue === '__proto__')\r\n prototypeCount++;\r\n if (parser.token & 143360) {\r\n value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);\r\n const { token, tokenValue: valueAfterColon } = parser;\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (token === 1077936157 || token === 1074790415 || token === 18) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (scope) {\r\n addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin);\r\n }\r\n }\r\n else {\r\n destructible |=\r\n parser.assignable & 1\r\n ? 32\r\n : 16;\r\n }\r\n }\r\n else if (parser.token === 1077936157) {\r\n if (parser.assignable & 2)\r\n destructible |= 16;\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n else {\r\n destructible |= 16;\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n }\r\n else if ((parser.token & 2097152) === 2097152) {\r\n value =\r\n parser.token === 69271571\r\n ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos)\r\n : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos);\r\n destructible = parser.destructible;\r\n parser.assignable =\r\n destructible & 16 ? 2 : 1;\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n }\r\n else if ((parser.destructible & 8) !== 8) {\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable & 2 ? 16 : 0;\r\n if ((parser.token & 4194304) === 4194304) {\r\n value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n else {\r\n if ((parser.token & 8454144) === 8454144) {\r\n value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos);\r\n }\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : 32;\r\n }\r\n }\r\n }\r\n else {\r\n value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos);\r\n destructible |=\r\n parser.assignable & 1\r\n ? 32\r\n : 16;\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n }\r\n else {\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable & 1 ? 0 : 16;\r\n if (parser.token !== 18 && parser.token !== 1074790415) {\r\n if (parser.token !== 1077936157)\r\n destructible |= 16;\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n }\r\n }\r\n }\r\n else if (parser.token === 67174411) {\r\n state |= 1;\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n destructible = parser.assignable | 16;\r\n }\r\n else {\r\n report(parser, 130);\r\n }\r\n }\r\n else if (parser.token === 69271571) {\r\n key = parseComputedPropertyName(parser, context, inGroup);\r\n destructible |= parser.destructible & 256 ? 256 : 0;\r\n state |= 2;\r\n if (parser.token === 21) {\r\n nextToken(parser, context | 32768);\r\n const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser;\r\n if (parser.token & 143360) {\r\n value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);\r\n const { token } = parser;\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n if ((parser.token & 4194304) === 4194304) {\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : token === 1077936157\r\n ? 0\r\n : 32;\r\n value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n else if (parser.token === 18 || parser.token === 1074790415) {\r\n if (token === 1077936157 || token === 1074790415 || token === 18) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (scope && (tokenAfterColon & 143360) === 143360) {\r\n addVarOrBlock(parser, context, scope, tokenValue, kind, origin);\r\n }\r\n }\r\n else {\r\n destructible |=\r\n parser.assignable & 1\r\n ? 32\r\n : 16;\r\n }\r\n }\r\n else {\r\n destructible |= 16;\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n }\r\n else if ((parser.token & 2097152) === 2097152) {\r\n value =\r\n parser.token === 69271571\r\n ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos)\r\n : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos);\r\n destructible = parser.destructible;\r\n parser.assignable =\r\n destructible & 16 ? 2 : 1;\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (parser.assignable & 2)\r\n destructible |= 16;\r\n }\r\n else if (destructible & 8) {\r\n report(parser, 59);\r\n }\r\n else {\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible =\r\n parser.assignable & 2 ? destructible | 16 : 0;\r\n if ((parser.token & 4194304) === 4194304) {\r\n if (parser.token !== 1077936157)\r\n destructible |= 16;\r\n value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n else {\r\n if ((parser.token & 8454144) === 8454144) {\r\n value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos);\r\n }\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : 32;\r\n }\r\n }\r\n }\r\n else {\r\n value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos);\r\n destructible |=\r\n parser.assignable & 1\r\n ? 32\r\n : 16;\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (parser.assignable & 2)\r\n destructible |= 16;\r\n }\r\n else {\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable & 1 ? 0 : 16;\r\n if (parser.token !== 18 && parser.token !== 1074790415) {\r\n if (parser.token !== 1077936157)\r\n destructible |= 16;\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n }\r\n }\r\n }\r\n else if (parser.token === 67174411) {\r\n state |= 1;\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, linePos, colPos);\r\n destructible = 16;\r\n }\r\n else {\r\n report(parser, 41);\r\n }\r\n }\r\n else if (token === 8457014) {\r\n consume(parser, context | 32768, 8457014);\r\n state |= 8;\r\n if (parser.token & 143360) {\r\n const { token, line, index } = parser;\r\n key = parseIdentifier(parser, context, 0);\r\n state |= 1;\r\n if (parser.token === 67174411) {\r\n destructible |= 16;\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else {\r\n reportMessageAt(index, line, index, token === 209007\r\n ? 43\r\n : token === 12402 || parser.token === 12403\r\n ? 42\r\n : 44, KeywordDescTable[token & 255]);\r\n }\r\n }\r\n else if ((parser.token & 134217728) === 134217728) {\r\n destructible |= 16;\r\n key = parseLiteral(parser, context);\r\n state |= 1;\r\n value = parseMethodDefinition(parser, context, state, inGroup, tokenPos, linePos, colPos);\r\n }\r\n else if (parser.token === 69271571) {\r\n destructible |= 16;\r\n state |= 2 | 1;\r\n key = parseComputedPropertyName(parser, context, inGroup);\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else {\r\n report(parser, 122);\r\n }\r\n }\r\n else {\r\n report(parser, 28, KeywordDescTable[token & 255]);\r\n }\r\n destructible |= parser.destructible & 128 ? 128 : 0;\r\n parser.destructible = destructible;\r\n properties.push(finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'Property',\r\n key: key,\r\n value,\r\n kind: !(state & 768) ? 'init' : state & 512 ? 'set' : 'get',\r\n computed: (state & 2) > 0,\r\n method: (state & 1) > 0,\r\n shorthand: (state & 4) > 0\r\n }));\r\n }\r\n destructible |= parser.destructible;\r\n if (parser.token !== 18)\r\n break;\r\n nextToken(parser, context);\r\n }\r\n consume(parser, context, 1074790415);\r\n if (prototypeCount > 1)\r\n destructible |= 64;\r\n const node = finishNode(parser, context, start, line, column, {\r\n type: isPattern ? 'ObjectPattern' : 'ObjectExpression',\r\n properties\r\n });\r\n if (!skipInitializer && parser.token & 4194304) {\r\n return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node);\r\n }\r\n parser.destructible = destructible;\r\n return node;\r\n}\r\nfunction parseMethodFormals(parser, context, scope, kind, type, inGroup) {\r\n consume(parser, context, 67174411);\r\n const params = [];\r\n parser.flags = (parser.flags | 128) ^ 128;\r\n if (parser.token === 16) {\r\n if (kind & 512) {\r\n report(parser, 35, 'Setter', 'one', '');\r\n }\r\n nextToken(parser, context);\r\n return params;\r\n }\r\n if (kind & 256) {\r\n report(parser, 35, 'Getter', 'no', 's');\r\n }\r\n if (kind & 512 && parser.token === 14) {\r\n report(parser, 36);\r\n }\r\n context = (context | 134217728) ^ 134217728;\r\n let setterArgs = 0;\r\n let isSimpleParameterList = 0;\r\n while (parser.token !== 18) {\r\n let left = null;\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (parser.token & 143360) {\r\n if ((context & 1024) === 0) {\r\n if ((parser.token & 36864) === 36864) {\r\n parser.flags |= 256;\r\n }\r\n if ((parser.token & 537079808) === 537079808) {\r\n parser.flags |= 512;\r\n }\r\n }\r\n left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos);\r\n }\r\n else {\r\n if (parser.token === 2162700) {\r\n left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos);\r\n }\r\n else if (parser.token === 69271571) {\r\n left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos);\r\n }\r\n else if (parser.token === 14) {\r\n left = parseSpreadOrRestElement(parser, context, scope, 16, type, 0, 0, inGroup, 1, tokenPos, linePos, colPos);\r\n }\r\n isSimpleParameterList = 1;\r\n if (parser.destructible & (32 | 16))\r\n report(parser, 47);\r\n }\r\n if (parser.token === 1077936157) {\r\n nextToken(parser, context | 32768);\r\n isSimpleParameterList = 1;\r\n const right = parseExpression(parser, context, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n left = finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'AssignmentPattern',\r\n left: left,\r\n right\r\n });\r\n }\r\n setterArgs++;\r\n params.push(left);\r\n if (!consumeOpt(parser, context, 18))\r\n break;\r\n if (parser.token === 16) {\r\n break;\r\n }\r\n }\r\n if (kind & 512 && setterArgs !== 1) {\r\n report(parser, 35, 'Setter', 'one', '');\r\n }\r\n if (scope && scope.scopeError !== void 0)\r\n reportScopeError(scope.scopeError);\r\n if (isSimpleParameterList)\r\n parser.flags |= 128;\r\n consume(parser, context, 16);\r\n return params;\r\n}\r\nfunction parseComputedPropertyName(parser, context, inGroup) {\r\n nextToken(parser, context | 32768);\r\n const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context, 20);\r\n return key;\r\n}\r\nfunction parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) {\r\n parser.flags = (parser.flags | 128) ^ 128;\r\n const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser;\r\n nextToken(parser, context | 32768 | 1073741824);\r\n const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0;\r\n context = (context | 134217728) ^ 134217728;\r\n if (consumeOpt(parser, context, 16)) {\r\n return parseParenthesizedArrow(parser, context, scope, [], canAssign, 0, start, line, column);\r\n }\r\n let destructible = 0;\r\n parser.destructible &= ~(256 | 128);\r\n let expr;\r\n let expressions = [];\r\n let isSequence = 0;\r\n let isSimpleParameterList = 0;\r\n const { tokenPos: iStart, linePos: lStart, colPos: cStart } = parser;\r\n parser.assignable = 1;\r\n while (parser.token !== 16) {\r\n const { token, tokenPos, linePos, colPos } = parser;\r\n if (token & (143360 | 4096)) {\r\n if (scope)\r\n addBlockName(parser, context, scope, parser.tokenValue, 1, 0);\r\n expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos);\r\n if (parser.token === 16 || parser.token === 18) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n isSimpleParameterList = 1;\r\n }\r\n else if ((token & 537079808) === 537079808 ||\r\n (token & 36864) === 36864) {\r\n isSimpleParameterList = 1;\r\n }\r\n }\r\n else {\r\n if (parser.token === 1077936157) {\r\n isSimpleParameterList = 1;\r\n }\r\n else {\r\n destructible |= 16;\r\n }\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos);\r\n if (parser.token !== 16 && parser.token !== 18) {\r\n expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr);\r\n }\r\n }\r\n }\r\n else if ((token & 2097152) === 2097152) {\r\n expr =\r\n token === 2162700\r\n ? parseObjectLiteralOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos)\r\n : parseArrayExpressionOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos);\r\n destructible |= parser.destructible;\r\n isSimpleParameterList = 1;\r\n parser.assignable = 2;\r\n if (parser.token !== 16 && parser.token !== 18) {\r\n if (destructible & 8)\r\n report(parser, 118);\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos);\r\n destructible |= 16;\r\n if (parser.token !== 16 && parser.token !== 18) {\r\n expr = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, expr);\r\n }\r\n }\r\n }\r\n else if (token === 14) {\r\n expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 0, 1, 0, tokenPos, linePos, colPos);\r\n if (parser.destructible & 16)\r\n report(parser, 71);\r\n isSimpleParameterList = 1;\r\n if (isSequence && (parser.token === 16 || parser.token === 18)) {\r\n expressions.push(expr);\r\n }\r\n destructible |= 8;\r\n break;\r\n }\r\n else {\r\n destructible |= 16;\r\n expr = parseExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos);\r\n if (isSequence && (parser.token === 16 || parser.token === 18)) {\r\n expressions.push(expr);\r\n }\r\n if (parser.token === 18) {\r\n if (!isSequence) {\r\n isSequence = 1;\r\n expressions = [expr];\r\n }\r\n }\r\n if (isSequence) {\r\n while (consumeOpt(parser, context | 32768, 18)) {\r\n expressions.push(parseExpression(parser, context, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n parser.assignable = 2;\r\n expr = finishNode(parser, context, iStart, lStart, cStart, {\r\n type: 'SequenceExpression',\r\n expressions\r\n });\r\n }\r\n consume(parser, context, 16);\r\n parser.destructible = destructible;\r\n return expr;\r\n }\r\n if (isSequence && (parser.token === 16 || parser.token === 18)) {\r\n expressions.push(expr);\r\n }\r\n if (!consumeOpt(parser, context | 32768, 18))\r\n break;\r\n if (!isSequence) {\r\n isSequence = 1;\r\n expressions = [expr];\r\n }\r\n if (parser.token === 16) {\r\n destructible |= 8;\r\n break;\r\n }\r\n }\r\n if (isSequence) {\r\n parser.assignable = 2;\r\n expr = finishNode(parser, context, iStart, lStart, cStart, {\r\n type: 'SequenceExpression',\r\n expressions\r\n });\r\n }\r\n consume(parser, context, 16);\r\n if (destructible & 16 && destructible & 8)\r\n report(parser, 145);\r\n destructible |=\r\n parser.destructible & 256\r\n ? 256\r\n : 0 | (parser.destructible & 128)\r\n ? 128\r\n : 0;\r\n if (parser.token === 10) {\r\n if (destructible & (32 | 16))\r\n report(parser, 46);\r\n if (context & (4194304 | 2048) && destructible & 128)\r\n report(parser, 29);\r\n if (context & (1024 | 2097152) && destructible & 256) {\r\n report(parser, 30);\r\n }\r\n if (isSimpleParameterList)\r\n parser.flags |= 128;\r\n return parseParenthesizedArrow(parser, context, scope, isSequence ? expressions : [expr], canAssign, 0, start, line, column);\r\n }\r\n else if (destructible & 8) {\r\n report(parser, 139);\r\n }\r\n parser.destructible = ((parser.destructible | 256) ^ 256) | destructible;\r\n return context & 128\r\n ? finishNode(parser, context, piStart, plStart, pcStart, {\r\n type: 'ParenthesizedExpression',\r\n expression: expr\r\n })\r\n : expr;\r\n}\r\nfunction parseIdentifierOrArrow(parser, context, start, line, column) {\r\n const { tokenValue } = parser;\r\n const expr = parseIdentifier(parser, context, 0);\r\n parser.assignable = 1;\r\n if (parser.token === 10) {\r\n let scope = void 0;\r\n if (context & 64)\r\n scope = createArrowHeadParsingScope(parser, context, tokenValue);\r\n parser.flags = (parser.flags | 128) ^ 128;\r\n return parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column);\r\n }\r\n return expr;\r\n}\r\nfunction parseArrowFromIdentifier(parser, context, value, expr, inNew, canAssign, isAsync, start, line, column) {\r\n if (!canAssign)\r\n report(parser, 54);\r\n if (inNew)\r\n report(parser, 48);\r\n parser.flags &= ~128;\r\n const scope = context & 64 ? createArrowHeadParsingScope(parser, context, value) : void 0;\r\n return parseArrowFunctionExpression(parser, context, scope, [expr], isAsync, start, line, column);\r\n}\r\nfunction parseParenthesizedArrow(parser, context, scope, params, canAssign, isAsync, start, line, column) {\r\n if (!canAssign)\r\n report(parser, 54);\r\n for (let i = 0; i < params.length; ++i)\r\n reinterpretToPattern(parser, params[i]);\r\n return parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column);\r\n}\r\nfunction parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column) {\r\n if (parser.flags & 1)\r\n report(parser, 45);\r\n consume(parser, context | 32768, 10);\r\n context = ((context | 15728640) ^ 15728640) | (isAsync << 22);\r\n const expression = parser.token !== 2162700;\r\n let body;\r\n if (scope && scope.scopeError !== void 0) {\r\n reportScopeError(scope.scopeError);\r\n }\r\n if (expression) {\r\n body = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else {\r\n if (scope)\r\n scope = addChildScope(scope, 128);\r\n body = parseFunctionBody(parser, (context | 134221824 | 8192 | 16384) ^\r\n (134221824 | 8192 | 16384), scope, 16, void 0, void 0);\r\n switch (parser.token) {\r\n case 69271571:\r\n if ((parser.flags & 1) === 0) {\r\n report(parser, 112);\r\n }\r\n break;\r\n case 67108877:\r\n case 67174409:\r\n case 22:\r\n report(parser, 113);\r\n case 67174411:\r\n if ((parser.flags & 1) === 0) {\r\n report(parser, 112);\r\n }\r\n parser.flags |= 1024;\r\n break;\r\n }\r\n if ((parser.token & 8454144) === 8454144 && (parser.flags & 1) === 0)\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n if ((parser.token & 33619968) === 33619968)\r\n report(parser, 121);\r\n }\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ArrowFunctionExpression',\r\n params,\r\n body,\r\n async: isAsync === 1,\r\n expression\r\n });\r\n}\r\nfunction parseFormalParametersOrFormalList(parser, context, scope, inGroup, kind) {\r\n consume(parser, context, 67174411);\r\n parser.flags = (parser.flags | 128) ^ 128;\r\n const params = [];\r\n if (consumeOpt(parser, context, 16))\r\n return params;\r\n context = (context | 134217728) ^ 134217728;\r\n let isSimpleParameterList = 0;\r\n while (parser.token !== 18) {\r\n let left;\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (parser.token & 143360) {\r\n if ((context & 1024) === 0) {\r\n if ((parser.token & 36864) === 36864) {\r\n parser.flags |= 256;\r\n }\r\n if ((parser.token & 537079808) === 537079808) {\r\n parser.flags |= 512;\r\n }\r\n }\r\n left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos);\r\n }\r\n else {\r\n if (parser.token === 2162700) {\r\n left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos);\r\n }\r\n else if (parser.token === 69271571) {\r\n left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos);\r\n }\r\n else if (parser.token === 14) {\r\n left = parseSpreadOrRestElement(parser, context, scope, 16, kind, 0, 0, inGroup, 1, tokenPos, linePos, colPos);\r\n }\r\n else {\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n isSimpleParameterList = 1;\r\n if (parser.destructible & (32 | 16)) {\r\n report(parser, 47);\r\n }\r\n }\r\n if (parser.token === 1077936157) {\r\n nextToken(parser, context | 32768);\r\n isSimpleParameterList = 1;\r\n const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n left = finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'AssignmentPattern',\r\n left,\r\n right\r\n });\r\n }\r\n params.push(left);\r\n if (!consumeOpt(parser, context, 18))\r\n break;\r\n if (parser.token === 16) {\r\n break;\r\n }\r\n }\r\n if (isSimpleParameterList)\r\n parser.flags |= 128;\r\n if (scope && (isSimpleParameterList || context & 1024) && scope.scopeError !== void 0) {\r\n reportScopeError(scope.scopeError);\r\n }\r\n consume(parser, context, 16);\r\n return params;\r\n}\r\nfunction parseMembeExpressionNoCall(parser, context, expr, inGroup, start, line, column) {\r\n const { token } = parser;\r\n if (token & 67108864) {\r\n if (token === 67108877) {\r\n nextToken(parser, context | 1073741824);\r\n parser.assignable = 1;\r\n const property = parsePropertyOrPrivatePropertyName(parser, context);\r\n return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, {\r\n type: 'MemberExpression',\r\n object: expr,\r\n computed: false,\r\n property\r\n }), 0, start, line, column);\r\n }\r\n else if (token === 69271571) {\r\n nextToken(parser, context | 32768);\r\n const { tokenPos, linePos, colPos } = parser;\r\n const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos);\r\n consume(parser, context, 20);\r\n parser.assignable = 1;\r\n return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, {\r\n type: 'MemberExpression',\r\n object: expr,\r\n computed: true,\r\n property\r\n }), 0, start, line, column);\r\n }\r\n else if (token === 67174408 || token === 67174409) {\r\n parser.assignable = 2;\r\n return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, {\r\n type: 'TaggedTemplateExpression',\r\n tag: expr,\r\n quasi: parser.token === 67174408\r\n ? parseTemplate(parser, context | 65536)\r\n : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos)\r\n }), 0, start, line, column);\r\n }\r\n }\r\n return expr;\r\n}\r\nfunction parseNewExpression(parser, context, inGroup, start, line, column) {\r\n const id = parseIdentifier(parser, context | 32768, 0);\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (consumeOpt(parser, context, 67108877)) {\r\n if (context & 67108864 && parser.token === 143494) {\r\n parser.assignable = 2;\r\n return parseMetaProperty(parser, context, id, start, line, column);\r\n }\r\n report(parser, 91);\r\n }\r\n parser.assignable = 2;\r\n if ((parser.token & 16842752) === 16842752) {\r\n report(parser, 62, KeywordDescTable[parser.token & 255]);\r\n }\r\n const expr = parsePrimaryExpression(parser, context, 2, 1, 0, 0, inGroup, 1, tokenPos, linePos, colPos);\r\n context = (context | 134217728) ^ 134217728;\r\n if (parser.token === 67108991)\r\n report(parser, 162);\r\n const callee = parseMembeExpressionNoCall(parser, context, expr, inGroup, tokenPos, linePos, colPos);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'NewExpression',\r\n callee,\r\n arguments: parser.token === 67174411 ? parseArguments(parser, context, inGroup) : []\r\n });\r\n}\r\nfunction parseMetaProperty(parser, context, meta, start, line, column) {\r\n const property = parseIdentifier(parser, context, 0);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'MetaProperty',\r\n meta,\r\n property\r\n });\r\n}\r\nfunction parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column) {\r\n if (parser.token === 209008)\r\n report(parser, 29);\r\n if (context & (1024 | 2097152) && parser.token === 241773) {\r\n report(parser, 30);\r\n }\r\n if ((parser.token & 537079808) === 537079808) {\r\n parser.flags |= 512;\r\n }\r\n return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context, 0), 0, canAssign, 1, start, line, column);\r\n}\r\nfunction parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0;\r\n context = (context | 134217728) ^ 134217728;\r\n if (consumeOpt(parser, context, 16)) {\r\n if (parser.token === 10) {\r\n if (flags & 1)\r\n report(parser, 45);\r\n return parseParenthesizedArrow(parser, context, scope, [], canAssign, 1, start, line, column);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'CallExpression',\r\n callee,\r\n arguments: []\r\n });\r\n }\r\n let destructible = 0;\r\n let expr = null;\r\n let isSimpleParameterList = 0;\r\n parser.destructible =\r\n (parser.destructible | 256 | 128) ^\r\n (256 | 128);\r\n const params = [];\r\n while (parser.token !== 16) {\r\n const { token, tokenPos, linePos, colPos } = parser;\r\n if (token & (143360 | 4096)) {\r\n if (scope)\r\n addBlockName(parser, context, scope, parser.tokenValue, kind, 0);\r\n expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos);\r\n if (parser.token === 16 || parser.token === 18) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n isSimpleParameterList = 1;\r\n }\r\n else if ((token & 537079808) === 537079808) {\r\n parser.flags |= 512;\r\n }\r\n else if ((token & 36864) === 36864) {\r\n parser.flags |= 256;\r\n }\r\n }\r\n else {\r\n if (parser.token === 1077936157) {\r\n isSimpleParameterList = 1;\r\n }\r\n else {\r\n destructible |= 16;\r\n }\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos);\r\n if (parser.token !== 16 && parser.token !== 18) {\r\n expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr);\r\n }\r\n }\r\n }\r\n else if (token & 2097152) {\r\n expr =\r\n token === 2162700\r\n ? parseObjectLiteralOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos)\r\n : parseArrayExpressionOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos);\r\n destructible |= parser.destructible;\r\n isSimpleParameterList = 1;\r\n if (parser.token !== 16 && parser.token !== 18) {\r\n if (destructible & 8)\r\n report(parser, 118);\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos);\r\n destructible |= 16;\r\n if ((parser.token & 8454144) === 8454144) {\r\n expr = parseBinaryExpression(parser, context, 1, start, line, column, 4, token, expr);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n expr = parseConditionalExpression(parser, context, expr, start, line, column);\r\n }\r\n }\r\n }\r\n else if (token === 14) {\r\n expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 1, 1, 0, tokenPos, linePos, colPos);\r\n destructible |= (parser.token === 16 ? 0 : 16) | parser.destructible;\r\n isSimpleParameterList = 1;\r\n }\r\n else {\r\n expr = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable;\r\n params.push(expr);\r\n while (consumeOpt(parser, context | 32768, 18)) {\r\n params.push(parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos));\r\n }\r\n destructible |= parser.assignable;\r\n consume(parser, context, 16);\r\n parser.destructible = destructible | 16;\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'CallExpression',\r\n callee,\r\n arguments: params\r\n });\r\n }\r\n params.push(expr);\r\n if (!consumeOpt(parser, context | 32768, 18))\r\n break;\r\n }\r\n consume(parser, context, 16);\r\n destructible |=\r\n parser.destructible & 256\r\n ? 256\r\n : 0 | (parser.destructible & 128)\r\n ? 128\r\n : 0;\r\n if (parser.token === 10) {\r\n if (destructible & (32 | 16))\r\n report(parser, 25);\r\n if (parser.flags & 1 || flags & 1)\r\n report(parser, 45);\r\n if (destructible & 128)\r\n report(parser, 29);\r\n if (context & (1024 | 2097152) && destructible & 256)\r\n report(parser, 30);\r\n if (isSimpleParameterList)\r\n parser.flags |= 128;\r\n return parseParenthesizedArrow(parser, context, scope, params, canAssign, 1, start, line, column);\r\n }\r\n else if (destructible & 8) {\r\n report(parser, 59);\r\n }\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'CallExpression',\r\n callee,\r\n arguments: params\r\n });\r\n}\r\nfunction parseRegExpLiteral(parser, context, start, line, column) {\r\n const { tokenRaw, tokenRegExp, tokenValue } = parser;\r\n nextToken(parser, context);\r\n parser.assignable = 2;\r\n return context & 512\r\n ? finishNode(parser, context, start, line, column, {\r\n type: 'Literal',\r\n value: tokenValue,\r\n regex: tokenRegExp,\r\n raw: tokenRaw\r\n })\r\n : finishNode(parser, context, start, line, column, {\r\n type: 'Literal',\r\n value: tokenValue,\r\n regex: tokenRegExp\r\n });\r\n}\r\nfunction parseClassDeclaration(parser, context, scope, flags, start, line, column) {\r\n context = (context | 16777216 | 1024) ^ 16777216;\r\n let decorators = parseDecorators(parser, context);\r\n if (decorators.length) {\r\n start = parser.tokenPos;\r\n line = parser.linePos;\r\n column = parser.colPos;\r\n }\r\n if (parser.leadingDecorators.length) {\r\n parser.leadingDecorators.push(...decorators);\r\n decorators = parser.leadingDecorators;\r\n parser.leadingDecorators = [];\r\n }\r\n nextToken(parser, context);\r\n let id = null;\r\n let superClass = null;\r\n const { tokenValue } = parser;\r\n if (parser.token & 4096 && parser.token !== 20567) {\r\n if (isStrictReservedWord(parser, context, parser.token)) {\r\n report(parser, 114);\r\n }\r\n if ((parser.token & 537079808) === 537079808) {\r\n report(parser, 115);\r\n }\r\n if (scope) {\r\n addBlockName(parser, context, scope, tokenValue, 32, 0);\r\n if (flags) {\r\n if (flags & 2) {\r\n declareUnboundVariable(parser, tokenValue);\r\n }\r\n }\r\n }\r\n id = parseIdentifier(parser, context, 0);\r\n }\r\n else {\r\n if ((flags & 1) === 0)\r\n report(parser, 37, 'Class');\r\n }\r\n let inheritedContext = context;\r\n if (consumeOpt(parser, context | 32768, 20567)) {\r\n superClass = parseLeftHandSideExpression(parser, context, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n inheritedContext |= 524288;\r\n }\r\n else {\r\n inheritedContext = (inheritedContext | 524288) ^ 524288;\r\n }\r\n const body = parseClassBody(parser, inheritedContext, context, scope, 2, 8, 0);\r\n return finishNode(parser, context, start, line, column, context & 1\r\n ? {\r\n type: 'ClassDeclaration',\r\n id,\r\n superClass,\r\n decorators,\r\n body\r\n }\r\n : {\r\n type: 'ClassDeclaration',\r\n id,\r\n superClass,\r\n body\r\n });\r\n}\r\nfunction parseClassExpression(parser, context, inGroup, start, line, column) {\r\n let id = null;\r\n let superClass = null;\r\n context = (context | 1024 | 16777216) ^ 16777216;\r\n const decorators = parseDecorators(parser, context);\r\n if (decorators.length) {\r\n start = parser.tokenPos;\r\n line = parser.linePos;\r\n column = parser.colPos;\r\n }\r\n nextToken(parser, context);\r\n if (parser.token & 4096 && parser.token !== 20567) {\r\n if (isStrictReservedWord(parser, context, parser.token))\r\n report(parser, 114);\r\n if ((parser.token & 537079808) === 537079808) {\r\n report(parser, 115);\r\n }\r\n id = parseIdentifier(parser, context, 0);\r\n }\r\n let inheritedContext = context;\r\n if (consumeOpt(parser, context | 32768, 20567)) {\r\n superClass = parseLeftHandSideExpression(parser, context, 0, inGroup, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n inheritedContext |= 524288;\r\n }\r\n else {\r\n inheritedContext = (inheritedContext | 524288) ^ 524288;\r\n }\r\n const body = parseClassBody(parser, inheritedContext, context, void 0, 2, 0, inGroup);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, context & 1\r\n ? {\r\n type: 'ClassExpression',\r\n id,\r\n superClass,\r\n decorators,\r\n body\r\n }\r\n : {\r\n type: 'ClassExpression',\r\n id,\r\n superClass,\r\n body\r\n });\r\n}\r\nfunction parseDecorators(parser, context) {\r\n const list = [];\r\n if (context & 1) {\r\n while (parser.token === 133) {\r\n list.push(parseDecoratorList(parser, context, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n }\r\n return list;\r\n}\r\nfunction parseDecoratorList(parser, context, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, start, line, column);\r\n expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'Decorator',\r\n expression\r\n });\r\n}\r\nfunction parseClassBody(parser, context, inheritedContext, scope, kind, origin, inGroup) {\r\n const { tokenPos, linePos, colPos } = parser;\r\n consume(parser, context | 32768, 2162700);\r\n context = (context | 134217728) ^ 134217728;\r\n parser.flags = (parser.flags | 32) ^ 32;\r\n const body = [];\r\n let decorators;\r\n while (parser.token !== 1074790415) {\r\n let length = 0;\r\n decorators = parseDecorators(parser, context);\r\n length = decorators.length;\r\n if (length > 0 && parser.tokenValue === 'constructor') {\r\n report(parser, 106);\r\n }\r\n if (parser.token === 1074790415)\r\n report(parser, 105);\r\n if (consumeOpt(parser, context, 1074790417)) {\r\n if (length > 0)\r\n report(parser, 116);\r\n continue;\r\n }\r\n body.push(parseClassElementList(parser, context, scope, inheritedContext, kind, decorators, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n consume(parser, origin & 8 ? context | 32768 : context, 1074790415);\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'ClassBody',\r\n body\r\n });\r\n}\r\nfunction parseClassElementList(parser, context, scope, inheritedContext, type, decorators, isStatic, inGroup, start, line, column) {\r\n let kind = isStatic ? 32 : 0;\r\n let key = null;\r\n const { token, tokenPos, linePos, colPos } = parser;\r\n if (token & (143360 | 36864)) {\r\n key = parseIdentifier(parser, context, 0);\r\n switch (token) {\r\n case 36972:\r\n if (!isStatic && parser.token !== 67174411) {\r\n return parseClassElementList(parser, context, scope, inheritedContext, type, decorators, 1, inGroup, start, line, column);\r\n }\r\n break;\r\n case 209007:\r\n if (parser.token !== 67174411 && (parser.flags & 1) === 0) {\r\n if (context & 1 && (parser.token & 1073741824) === 1073741824) {\r\n return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos);\r\n }\r\n kind |= 16 | (optionalBit(parser, context, 8457014) ? 8 : 0);\r\n }\r\n break;\r\n case 12402:\r\n if (parser.token !== 67174411) {\r\n if (context & 1 && (parser.token & 1073741824) === 1073741824) {\r\n return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos);\r\n }\r\n kind |= 256;\r\n }\r\n break;\r\n case 12403:\r\n if (parser.token !== 67174411) {\r\n if (context & 1 && (parser.token & 1073741824) === 1073741824) {\r\n return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos);\r\n }\r\n kind |= 512;\r\n }\r\n break;\r\n }\r\n }\r\n else if (token === 69271571) {\r\n kind |= 2;\r\n key = parseComputedPropertyName(parser, inheritedContext, inGroup);\r\n }\r\n else if ((token & 134217728) === 134217728) {\r\n key = parseLiteral(parser, context);\r\n }\r\n else if (token === 8457014) {\r\n kind |= 8;\r\n nextToken(parser, context);\r\n }\r\n else if (context & 1 && parser.token === 131) {\r\n kind |= 4096;\r\n key = parsePrivateIdentifier(parser, context | 16384, tokenPos, linePos, colPos);\r\n }\r\n else if (context & 1 && (parser.token & 1073741824) === 1073741824) {\r\n kind |= 128;\r\n }\r\n else if (isStatic && token === 2162700) {\r\n return parseStaticBlock(parser, context, scope, tokenPos, linePos, colPos);\r\n }\r\n else if (token === 122) {\r\n key = parseIdentifier(parser, context, 0);\r\n if (parser.token !== 67174411)\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n else {\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n if (kind & (8 | 16 | 768)) {\r\n if (parser.token & 143360) {\r\n key = parseIdentifier(parser, context, 0);\r\n }\r\n else if ((parser.token & 134217728) === 134217728) {\r\n key = parseLiteral(parser, context);\r\n }\r\n else if (parser.token === 69271571) {\r\n kind |= 2;\r\n key = parseComputedPropertyName(parser, context, 0);\r\n }\r\n else if (parser.token === 122) {\r\n key = parseIdentifier(parser, context, 0);\r\n }\r\n else if (context & 1 && parser.token === 131) {\r\n kind |= 4096;\r\n key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos);\r\n }\r\n else\r\n report(parser, 131);\r\n }\r\n if ((kind & 2) === 0) {\r\n if (parser.tokenValue === 'constructor') {\r\n if ((parser.token & 1073741824) === 1073741824) {\r\n report(parser, 125);\r\n }\r\n else if ((kind & 32) === 0 && parser.token === 67174411) {\r\n if (kind & (768 | 16 | 128 | 8)) {\r\n report(parser, 50, 'accessor');\r\n }\r\n else if ((context & 524288) === 0) {\r\n if (parser.flags & 32)\r\n report(parser, 51);\r\n else\r\n parser.flags |= 32;\r\n }\r\n }\r\n kind |= 64;\r\n }\r\n else if ((kind & 4096) === 0 &&\r\n kind & (32 | 768 | 8 | 16) &&\r\n parser.tokenValue === 'prototype') {\r\n report(parser, 49);\r\n }\r\n }\r\n if (context & 1 && parser.token !== 67174411) {\r\n return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos);\r\n }\r\n const value = parseMethodDefinition(parser, context, kind, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n return finishNode(parser, context, start, line, column, context & 1\r\n ? {\r\n type: 'MethodDefinition',\r\n kind: (kind & 32) === 0 && kind & 64\r\n ? 'constructor'\r\n : kind & 256\r\n ? 'get'\r\n : kind & 512\r\n ? 'set'\r\n : 'method',\r\n static: (kind & 32) > 0,\r\n computed: (kind & 2) > 0,\r\n key,\r\n decorators,\r\n value\r\n }\r\n : {\r\n type: 'MethodDefinition',\r\n kind: (kind & 32) === 0 && kind & 64\r\n ? 'constructor'\r\n : kind & 256\r\n ? 'get'\r\n : kind & 512\r\n ? 'set'\r\n : 'method',\r\n static: (kind & 32) > 0,\r\n computed: (kind & 2) > 0,\r\n key,\r\n value\r\n });\r\n}\r\nfunction parsePrivateIdentifier(parser, context, start, line, column) {\r\n nextToken(parser, context);\r\n const { tokenValue } = parser;\r\n if (tokenValue === 'constructor')\r\n report(parser, 124);\r\n nextToken(parser, context);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'PrivateIdentifier',\r\n name: tokenValue\r\n });\r\n}\r\nfunction parsePropertyDefinition(parser, context, key, state, decorators, start, line, column) {\r\n let value = null;\r\n if (state & 8)\r\n report(parser, 0);\r\n if (parser.token === 1077936157) {\r\n nextToken(parser, context | 32768);\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (parser.token === 537079928)\r\n report(parser, 115);\r\n value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 0, 1, tokenPos, linePos, colPos);\r\n if ((parser.token & 1073741824) !== 1073741824) {\r\n value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos);\r\n value = parseAssignmentExpression(parser, context | 16384, 0, 0, tokenPos, linePos, colPos, value);\r\n if (parser.token === 18) {\r\n value = parseSequenceExpression(parser, context, 0, start, line, column, value);\r\n }\r\n }\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'PropertyDefinition',\r\n key,\r\n value,\r\n static: (state & 32) > 0,\r\n computed: (state & 2) > 0,\r\n decorators\r\n });\r\n}\r\nfunction parseBindingPattern(parser, context, scope, type, origin, start, line, column) {\r\n if (parser.token & 143360)\r\n return parseAndClassifyIdentifier(parser, context, scope, type, origin, start, line, column);\r\n if ((parser.token & 2097152) !== 2097152)\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n const left = parser.token === 69271571\r\n ? parseArrayExpressionOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column)\r\n : parseObjectLiteralOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column);\r\n if (parser.destructible & 16)\r\n report(parser, 47);\r\n if (parser.destructible & 32)\r\n report(parser, 47);\r\n return left;\r\n}\r\nfunction parseAndClassifyIdentifier(parser, context, scope, kind, origin, start, line, column) {\r\n const { tokenValue, token } = parser;\r\n if (context & 1024) {\r\n if ((token & 537079808) === 537079808) {\r\n report(parser, 115);\r\n }\r\n else if ((token & 36864) === 36864) {\r\n report(parser, 114);\r\n }\r\n }\r\n if ((token & 20480) === 20480) {\r\n report(parser, 99);\r\n }\r\n if (context & (2048 | 2097152) && token === 241773) {\r\n report(parser, 30);\r\n }\r\n if (token === 241739) {\r\n if (kind & (8 | 16))\r\n report(parser, 97);\r\n }\r\n if (context & (4194304 | 2048) && token === 209008) {\r\n report(parser, 95);\r\n }\r\n nextToken(parser, context);\r\n if (scope)\r\n addVarOrBlock(parser, context, scope, tokenValue, kind, origin);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'Identifier',\r\n name: tokenValue\r\n });\r\n}\r\nfunction parseJSXRootElementOrFragment(parser, context, inJSXChild, start, line, column) {\r\n nextToken(parser, context);\r\n if (parser.token === 8456259) {\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXFragment',\r\n openingFragment: parseOpeningFragment(parser, context, start, line, column),\r\n children: parseJSXChildren(parser, context),\r\n closingFragment: parseJSXClosingFragment(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos)\r\n });\r\n }\r\n let closingElement = null;\r\n let children = [];\r\n const openingElement = parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column);\r\n if (!openingElement.selfClosing) {\r\n children = parseJSXChildren(parser, context);\r\n closingElement = parseJSXClosingElement(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos);\r\n const close = isEqualTagName(closingElement.name);\r\n if (isEqualTagName(openingElement.name) !== close)\r\n report(parser, 149, close);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXElement',\r\n children,\r\n openingElement,\r\n closingElement\r\n });\r\n}\r\nfunction parseOpeningFragment(parser, context, start, line, column) {\r\n scanJSXToken(parser, context);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXOpeningFragment'\r\n });\r\n}\r\nfunction parseJSXClosingElement(parser, context, inJSXChild, start, line, column) {\r\n consume(parser, context, 25);\r\n const name = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos);\r\n if (inJSXChild) {\r\n consume(parser, context, 8456259);\r\n }\r\n else {\r\n parser.token = scanJSXToken(parser, context);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXClosingElement',\r\n name\r\n });\r\n}\r\nfunction parseJSXClosingFragment(parser, context, inJSXChild, start, line, column) {\r\n consume(parser, context, 25);\r\n if (inJSXChild) {\r\n consume(parser, context, 8456259);\r\n }\r\n else {\r\n consume(parser, context, 8456259);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXClosingFragment'\r\n });\r\n}\r\nfunction parseJSXChildren(parser, context) {\r\n const children = [];\r\n while (parser.token !== 25) {\r\n parser.index = parser.tokenPos = parser.startPos;\r\n parser.column = parser.colPos = parser.startColumn;\r\n parser.line = parser.linePos = parser.startLine;\r\n scanJSXToken(parser, context);\r\n children.push(parseJSXChild(parser, context, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n return children;\r\n}\r\nfunction parseJSXChild(parser, context, start, line, column) {\r\n if (parser.token === 138)\r\n return parseJSXText(parser, context, start, line, column);\r\n if (parser.token === 2162700)\r\n return parseJSXExpressionContainer(parser, context, 0, 0, start, line, column);\r\n if (parser.token === 8456258)\r\n return parseJSXRootElementOrFragment(parser, context, 0, start, line, column);\r\n report(parser, 0);\r\n}\r\nfunction parseJSXText(parser, context, start, line, column) {\r\n scanJSXToken(parser, context);\r\n const node = {\r\n type: 'JSXText',\r\n value: parser.tokenValue\r\n };\r\n if (context & 512) {\r\n node.raw = parser.tokenRaw;\r\n }\r\n return finishNode(parser, context, start, line, column, node);\r\n}\r\nfunction parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column) {\r\n if ((parser.token & 143360) !== 143360 && (parser.token & 4096) !== 4096)\r\n report(parser, 0);\r\n const tagName = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos);\r\n const attributes = parseJSXAttributes(parser, context);\r\n const selfClosing = parser.token === 8457016;\r\n if (parser.token === 8456259) {\r\n scanJSXToken(parser, context);\r\n }\r\n else {\r\n consume(parser, context, 8457016);\r\n if (inJSXChild) {\r\n consume(parser, context, 8456259);\r\n }\r\n else {\r\n scanJSXToken(parser, context);\r\n }\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXOpeningElement',\r\n name: tagName,\r\n attributes,\r\n selfClosing\r\n });\r\n}\r\nfunction parseJSXElementName(parser, context, start, line, column) {\r\n scanJSXIdentifier(parser);\r\n let key = parseJSXIdentifier(parser, context, start, line, column);\r\n if (parser.token === 21)\r\n return parseJSXNamespacedName(parser, context, key, start, line, column);\r\n while (consumeOpt(parser, context, 67108877)) {\r\n scanJSXIdentifier(parser);\r\n key = parseJSXMemberExpression(parser, context, key, start, line, column);\r\n }\r\n return key;\r\n}\r\nfunction parseJSXMemberExpression(parser, context, object, start, line, column) {\r\n const property = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXMemberExpression',\r\n object,\r\n property\r\n });\r\n}\r\nfunction parseJSXAttributes(parser, context) {\r\n const attributes = [];\r\n while (parser.token !== 8457016 && parser.token !== 8456259 && parser.token !== 1048576) {\r\n attributes.push(parseJsxAttribute(parser, context, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n return attributes;\r\n}\r\nfunction parseJSXSpreadAttribute(parser, context, start, line, column) {\r\n nextToken(parser, context);\r\n consume(parser, context, 14);\r\n const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context, 1074790415);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXSpreadAttribute',\r\n argument: expression\r\n });\r\n}\r\nfunction parseJsxAttribute(parser, context, start, line, column) {\r\n if (parser.token === 2162700)\r\n return parseJSXSpreadAttribute(parser, context, start, line, column);\r\n scanJSXIdentifier(parser);\r\n let value = null;\r\n let name = parseJSXIdentifier(parser, context, start, line, column);\r\n if (parser.token === 21) {\r\n name = parseJSXNamespacedName(parser, context, name, start, line, column);\r\n }\r\n if (parser.token === 1077936157) {\r\n const token = scanJSXAttributeValue(parser, context);\r\n const { tokenPos, linePos, colPos } = parser;\r\n switch (token) {\r\n case 134283267:\r\n value = parseLiteral(parser, context);\r\n break;\r\n case 8456258:\r\n value = parseJSXRootElementOrFragment(parser, context, 1, tokenPos, linePos, colPos);\r\n break;\r\n case 2162700:\r\n value = parseJSXExpressionContainer(parser, context, 1, 1, tokenPos, linePos, colPos);\r\n break;\r\n default:\r\n report(parser, 148);\r\n }\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXAttribute',\r\n value,\r\n name\r\n });\r\n}\r\nfunction parseJSXNamespacedName(parser, context, namespace, start, line, column) {\r\n consume(parser, context, 21);\r\n const name = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXNamespacedName',\r\n namespace,\r\n name\r\n });\r\n}\r\nfunction parseJSXExpressionContainer(parser, context, inJSXChild, isAttr, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (parser.token === 14)\r\n return parseJSXSpreadChild(parser, context, tokenPos, linePos, colPos);\r\n let expression = null;\r\n if (parser.token === 1074790415) {\r\n if (isAttr)\r\n report(parser, 151);\r\n expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn);\r\n }\r\n else {\r\n expression = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos);\r\n }\r\n if (inJSXChild) {\r\n consume(parser, context, 1074790415);\r\n }\r\n else {\r\n scanJSXToken(parser, context);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXExpressionContainer',\r\n expression\r\n });\r\n}\r\nfunction parseJSXSpreadChild(parser, context, start, line, column) {\r\n consume(parser, context, 14);\r\n const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context, 1074790415);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXSpreadChild',\r\n expression\r\n });\r\n}\r\nfunction parseJSXEmptyExpression(parser, context, start, line, column) {\r\n parser.startPos = parser.tokenPos;\r\n parser.startLine = parser.linePos;\r\n parser.startColumn = parser.colPos;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXEmptyExpression'\r\n });\r\n}\r\nfunction parseJSXIdentifier(parser, context, start, line, column) {\r\n const { tokenValue } = parser;\r\n nextToken(parser, context);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXIdentifier',\r\n name: tokenValue\r\n });\r\n}\n\nvar estree = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nvar version$1 = \"4.3.0\";\n\nconst version = version$1;\r\nfunction parseScript(source, options) {\r\n return parseSource(source, options, 0);\r\n}\r\nfunction parseModule(source, options) {\r\n return parseSource(source, options, 1024 | 2048);\r\n}\r\nfunction parse(source, options) {\r\n return parseSource(source, options, 0);\r\n}\n\nexport { estree as ESTree, parse, parseModule, parseScript, version };\n","import { parseScript } from \"meriyah\";\nimport { generate } from \"esotope-hammerhead\";\nimport rewriteURL from \"./url\";\nexport default function rewriteJS(js, origin) {\n let AST = getAST(js);\n AST = walkAST(AST, null, (node, parent) => {\n if (node.type === \"MemberExpression\") {\n if (parent.type !== \"CallExpression\") {\n node.object = rewriteNode(node.object);\n }\n else if (node.object.type === \"Identifier\") {\n if ([\"location\", \"localStorage\", \"sessionStorage\"].includes(node.object.name)) {\n node.object = rewriteNode(node.object);\n }\n }\n }\n else if (node.type === \"Literal\" && (parent.type === \"ImportDeclaration\" || parent.type === \"ImportExpression\" || parent.type === \"ExportNamedDeclaration\" || parent.type === \"ExportAllDeclaration\")) {\n node.value = rewriteURL(node.value, origin);\n }\n return node;\n });\n return generate(AST, {\n format: {\n quotes: 'double'\n }\n });\n}\nfunction rewriteNode(node) {\n if (node.type === \"Identifier\") {\n switch (node.name) {\n case \"self\":\n node.name = \"__self\";\n break;\n case \"window\":\n node.name = \"__window\";\n break;\n case \"parent\":\n node.name = \"__parent\";\n break;\n case \"location\":\n node.name = \"__location\";\n break;\n case \"localStorage\":\n node.name = \"__localStorage\";\n break;\n case \"sessionStorage\":\n node.name = \"__sessionStorage\";\n break;\n case \"top\":\n node.name = \"__top\";\n break;\n }\n }\n return node;\n}\nfunction walkAST(AST, parent, handler) {\n if (!AST || typeof AST !== \"object\")\n return AST;\n AST = handler(AST, parent);\n for (let node in AST) {\n if (Array.isArray(AST[node])) {\n for (let n in AST[node]) {\n AST[node][n] = walkAST(AST[node][n], AST[node], handler);\n }\n }\n else {\n AST[node] = walkAST(AST[node], AST, handler);\n }\n }\n return AST;\n}\nfunction getAST(js) {\n try {\n return parseScript(js, {\n module: true\n });\n }\n catch (err) {\n console.error(err);\n return parseScript(\"\");\n }\n}\n","import rewriteJS from './js';\nexport default function rewriteURL(url, origin) {\n const config = self.__osana$config;\n if (new RegExp(`^${config.prefix}`).test(url))\n return url;\n let fakeLocation;\n if (\"window\" in self) {\n fakeLocation = new URL(config.codec.decode(location.href.slice((location.origin + config.prefix).length)));\n }\n if (origin) {\n fakeLocation = new URL(origin);\n }\n if (/^(#|about|data|mailto):/.test(url)) {\n return url;\n }\n else if (/^javascript:/.test(url)) {\n return `javascript:${rewriteJS(url.slice('javascript:'.length), origin)}`;\n }\n else {\n if (!fakeLocation)\n return url;\n try {\n return `${config.prefix}${config.codec.encode(new URL(url, fakeLocation).href)}`;\n }\n catch (_a) {\n return `${config.prefix}${config.codec.encode(url)}`;\n }\n }\n}\n// apparently this entire function doesn't work and i don't know why, so it needs to be fixed\nexport function unwriteURL(url) {\n const config = self.__osana$config;\n if (!url)\n return url;\n let newURL;\n if (/^https?:\\/\\//.test(url)) {\n newURL = new URL(config.codec.decode(new URL(url).pathname.slice(config.prefix.length)));\n }\n else if (/^(#|about|data|mailto|javascript):/.test(url)) {\n return url;\n }\n else {\n newURL = new URL(config.codec.decode(url.slice(config.prefix.length)));\n }\n return newURL.href;\n}\n","import rewriteURL from \"./url\";\nlet originURL;\nexport default function rewriteCSS(css, origin) {\n originURL = origin;\n return css.replace(/(?<=url\\(\"?'?)[^\"'][\\S]*[^\"'](?=\"?'?\\);?)/g, rewriteCSSURL);\n}\nfunction rewriteCSSURL(match) {\n let url = rewriteURL(match, originURL);\n return url;\n}\n","import rewriteURL from \"./url\";\nexport function request(headers, requestURL) {\n headers[\"host\"] = requestURL.host;\n return headers;\n}\nexport function response(headers, requestURL) {\n [\"Cache-Control\", \"Content-Security-Policy\", \"Content-Security-Policy-Report-Only\", /* \"Content-Encoding\", \"Content-Length\", */ \"Cross-Origin-Opener-Policy\", \"Cross-Origin-Opener-Policy-Report-Only\", \"Report-To\", \"Strict-Transport-Security\", \"X-Content-Type-Options\", \"X-Frame-Options\", \"Access-Control-Allow-Origin\"].forEach((header) => {\n delete headers[header];\n delete headers[header.toLowerCase()];\n });\n headers[\"Location\"] = rewriteURL(headers[\"Location\"] || headers[\"location\"]);\n return headers;\n}\n","const UNDEFINED_CODE_POINTS = new Set([\n 65534, 65535, 131070, 131071, 196606, 196607, 262142, 262143, 327678, 327679, 393214,\n 393215, 458750, 458751, 524286, 524287, 589822, 589823, 655358, 655359, 720894,\n 720895, 786430, 786431, 851966, 851967, 917502, 917503, 983038, 983039, 1048574,\n 1048575, 1114110, 1114111,\n]);\nexport const REPLACEMENT_CHARACTER = '\\uFFFD';\nexport var CODE_POINTS;\n(function (CODE_POINTS) {\n CODE_POINTS[CODE_POINTS[\"EOF\"] = -1] = \"EOF\";\n CODE_POINTS[CODE_POINTS[\"NULL\"] = 0] = \"NULL\";\n CODE_POINTS[CODE_POINTS[\"TABULATION\"] = 9] = \"TABULATION\";\n CODE_POINTS[CODE_POINTS[\"CARRIAGE_RETURN\"] = 13] = \"CARRIAGE_RETURN\";\n CODE_POINTS[CODE_POINTS[\"LINE_FEED\"] = 10] = \"LINE_FEED\";\n CODE_POINTS[CODE_POINTS[\"FORM_FEED\"] = 12] = \"FORM_FEED\";\n CODE_POINTS[CODE_POINTS[\"SPACE\"] = 32] = \"SPACE\";\n CODE_POINTS[CODE_POINTS[\"EXCLAMATION_MARK\"] = 33] = \"EXCLAMATION_MARK\";\n CODE_POINTS[CODE_POINTS[\"QUOTATION_MARK\"] = 34] = \"QUOTATION_MARK\";\n CODE_POINTS[CODE_POINTS[\"NUMBER_SIGN\"] = 35] = \"NUMBER_SIGN\";\n CODE_POINTS[CODE_POINTS[\"AMPERSAND\"] = 38] = \"AMPERSAND\";\n CODE_POINTS[CODE_POINTS[\"APOSTROPHE\"] = 39] = \"APOSTROPHE\";\n CODE_POINTS[CODE_POINTS[\"HYPHEN_MINUS\"] = 45] = \"HYPHEN_MINUS\";\n CODE_POINTS[CODE_POINTS[\"SOLIDUS\"] = 47] = \"SOLIDUS\";\n CODE_POINTS[CODE_POINTS[\"DIGIT_0\"] = 48] = \"DIGIT_0\";\n CODE_POINTS[CODE_POINTS[\"DIGIT_9\"] = 57] = \"DIGIT_9\";\n CODE_POINTS[CODE_POINTS[\"SEMICOLON\"] = 59] = \"SEMICOLON\";\n CODE_POINTS[CODE_POINTS[\"LESS_THAN_SIGN\"] = 60] = \"LESS_THAN_SIGN\";\n CODE_POINTS[CODE_POINTS[\"EQUALS_SIGN\"] = 61] = \"EQUALS_SIGN\";\n CODE_POINTS[CODE_POINTS[\"GREATER_THAN_SIGN\"] = 62] = \"GREATER_THAN_SIGN\";\n CODE_POINTS[CODE_POINTS[\"QUESTION_MARK\"] = 63] = \"QUESTION_MARK\";\n CODE_POINTS[CODE_POINTS[\"LATIN_CAPITAL_A\"] = 65] = \"LATIN_CAPITAL_A\";\n CODE_POINTS[CODE_POINTS[\"LATIN_CAPITAL_F\"] = 70] = \"LATIN_CAPITAL_F\";\n CODE_POINTS[CODE_POINTS[\"LATIN_CAPITAL_X\"] = 88] = \"LATIN_CAPITAL_X\";\n CODE_POINTS[CODE_POINTS[\"LATIN_CAPITAL_Z\"] = 90] = \"LATIN_CAPITAL_Z\";\n CODE_POINTS[CODE_POINTS[\"RIGHT_SQUARE_BRACKET\"] = 93] = \"RIGHT_SQUARE_BRACKET\";\n CODE_POINTS[CODE_POINTS[\"GRAVE_ACCENT\"] = 96] = \"GRAVE_ACCENT\";\n CODE_POINTS[CODE_POINTS[\"LATIN_SMALL_A\"] = 97] = \"LATIN_SMALL_A\";\n CODE_POINTS[CODE_POINTS[\"LATIN_SMALL_F\"] = 102] = \"LATIN_SMALL_F\";\n CODE_POINTS[CODE_POINTS[\"LATIN_SMALL_X\"] = 120] = \"LATIN_SMALL_X\";\n CODE_POINTS[CODE_POINTS[\"LATIN_SMALL_Z\"] = 122] = \"LATIN_SMALL_Z\";\n CODE_POINTS[CODE_POINTS[\"REPLACEMENT_CHARACTER\"] = 65533] = \"REPLACEMENT_CHARACTER\";\n})(CODE_POINTS || (CODE_POINTS = {}));\nexport const SEQUENCES = {\n DASH_DASH: '--',\n CDATA_START: '[CDATA[',\n DOCTYPE: 'doctype',\n SCRIPT: 'script',\n PUBLIC: 'public',\n SYSTEM: 'system',\n};\n//Surrogates\nexport function isSurrogate(cp) {\n return cp >= 55296 && cp <= 57343;\n}\nexport function isSurrogatePair(cp) {\n return cp >= 56320 && cp <= 57343;\n}\nexport function getSurrogatePairCodePoint(cp1, cp2) {\n return (cp1 - 55296) * 1024 + 9216 + cp2;\n}\n//NOTE: excluding NULL and ASCII whitespace\nexport function isControlCodePoint(cp) {\n return ((cp !== 0x20 && cp !== 0x0a && cp !== 0x0d && cp !== 0x09 && cp !== 0x0c && cp >= 0x01 && cp <= 0x1f) ||\n (cp >= 0x7f && cp <= 0x9f));\n}\nexport function isUndefinedCodePoint(cp) {\n return (cp >= 64976 && cp <= 65007) || UNDEFINED_CODE_POINTS.has(cp);\n}\n//# sourceMappingURL=unicode.js.map","export var ERR;\n(function (ERR) {\n ERR[\"controlCharacterInInputStream\"] = \"control-character-in-input-stream\";\n ERR[\"noncharacterInInputStream\"] = \"noncharacter-in-input-stream\";\n ERR[\"surrogateInInputStream\"] = \"surrogate-in-input-stream\";\n ERR[\"nonVoidHtmlElementStartTagWithTrailingSolidus\"] = \"non-void-html-element-start-tag-with-trailing-solidus\";\n ERR[\"endTagWithAttributes\"] = \"end-tag-with-attributes\";\n ERR[\"endTagWithTrailingSolidus\"] = \"end-tag-with-trailing-solidus\";\n ERR[\"unexpectedSolidusInTag\"] = \"unexpected-solidus-in-tag\";\n ERR[\"unexpectedNullCharacter\"] = \"unexpected-null-character\";\n ERR[\"unexpectedQuestionMarkInsteadOfTagName\"] = \"unexpected-question-mark-instead-of-tag-name\";\n ERR[\"invalidFirstCharacterOfTagName\"] = \"invalid-first-character-of-tag-name\";\n ERR[\"unexpectedEqualsSignBeforeAttributeName\"] = \"unexpected-equals-sign-before-attribute-name\";\n ERR[\"missingEndTagName\"] = \"missing-end-tag-name\";\n ERR[\"unexpectedCharacterInAttributeName\"] = \"unexpected-character-in-attribute-name\";\n ERR[\"unknownNamedCharacterReference\"] = \"unknown-named-character-reference\";\n ERR[\"missingSemicolonAfterCharacterReference\"] = \"missing-semicolon-after-character-reference\";\n ERR[\"unexpectedCharacterAfterDoctypeSystemIdentifier\"] = \"unexpected-character-after-doctype-system-identifier\";\n ERR[\"unexpectedCharacterInUnquotedAttributeValue\"] = \"unexpected-character-in-unquoted-attribute-value\";\n ERR[\"eofBeforeTagName\"] = \"eof-before-tag-name\";\n ERR[\"eofInTag\"] = \"eof-in-tag\";\n ERR[\"missingAttributeValue\"] = \"missing-attribute-value\";\n ERR[\"missingWhitespaceBetweenAttributes\"] = \"missing-whitespace-between-attributes\";\n ERR[\"missingWhitespaceAfterDoctypePublicKeyword\"] = \"missing-whitespace-after-doctype-public-keyword\";\n ERR[\"missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers\"] = \"missing-whitespace-between-doctype-public-and-system-identifiers\";\n ERR[\"missingWhitespaceAfterDoctypeSystemKeyword\"] = \"missing-whitespace-after-doctype-system-keyword\";\n ERR[\"missingQuoteBeforeDoctypePublicIdentifier\"] = \"missing-quote-before-doctype-public-identifier\";\n ERR[\"missingQuoteBeforeDoctypeSystemIdentifier\"] = \"missing-quote-before-doctype-system-identifier\";\n ERR[\"missingDoctypePublicIdentifier\"] = \"missing-doctype-public-identifier\";\n ERR[\"missingDoctypeSystemIdentifier\"] = \"missing-doctype-system-identifier\";\n ERR[\"abruptDoctypePublicIdentifier\"] = \"abrupt-doctype-public-identifier\";\n ERR[\"abruptDoctypeSystemIdentifier\"] = \"abrupt-doctype-system-identifier\";\n ERR[\"cdataInHtmlContent\"] = \"cdata-in-html-content\";\n ERR[\"incorrectlyOpenedComment\"] = \"incorrectly-opened-comment\";\n ERR[\"eofInScriptHtmlCommentLikeText\"] = \"eof-in-script-html-comment-like-text\";\n ERR[\"eofInDoctype\"] = \"eof-in-doctype\";\n ERR[\"nestedComment\"] = \"nested-comment\";\n ERR[\"abruptClosingOfEmptyComment\"] = \"abrupt-closing-of-empty-comment\";\n ERR[\"eofInComment\"] = \"eof-in-comment\";\n ERR[\"incorrectlyClosedComment\"] = \"incorrectly-closed-comment\";\n ERR[\"eofInCdata\"] = \"eof-in-cdata\";\n ERR[\"absenceOfDigitsInNumericCharacterReference\"] = \"absence-of-digits-in-numeric-character-reference\";\n ERR[\"nullCharacterReference\"] = \"null-character-reference\";\n ERR[\"surrogateCharacterReference\"] = \"surrogate-character-reference\";\n ERR[\"characterReferenceOutsideUnicodeRange\"] = \"character-reference-outside-unicode-range\";\n ERR[\"controlCharacterReference\"] = \"control-character-reference\";\n ERR[\"noncharacterCharacterReference\"] = \"noncharacter-character-reference\";\n ERR[\"missingWhitespaceBeforeDoctypeName\"] = \"missing-whitespace-before-doctype-name\";\n ERR[\"missingDoctypeName\"] = \"missing-doctype-name\";\n ERR[\"invalidCharacterSequenceAfterDoctypeName\"] = \"invalid-character-sequence-after-doctype-name\";\n ERR[\"duplicateAttribute\"] = \"duplicate-attribute\";\n ERR[\"nonConformingDoctype\"] = \"non-conforming-doctype\";\n ERR[\"missingDoctype\"] = \"missing-doctype\";\n ERR[\"misplacedDoctype\"] = \"misplaced-doctype\";\n ERR[\"endTagWithoutMatchingOpenElement\"] = \"end-tag-without-matching-open-element\";\n ERR[\"closingOfElementWithOpenChildElements\"] = \"closing-of-element-with-open-child-elements\";\n ERR[\"disallowedContentInNoscriptInHead\"] = \"disallowed-content-in-noscript-in-head\";\n ERR[\"openElementsLeftAfterEof\"] = \"open-elements-left-after-eof\";\n ERR[\"abandonedHeadElementChild\"] = \"abandoned-head-element-child\";\n ERR[\"misplacedStartTagForHeadElement\"] = \"misplaced-start-tag-for-head-element\";\n ERR[\"nestedNoscriptInHead\"] = \"nested-noscript-in-head\";\n ERR[\"eofInElementThatCanContainOnlyText\"] = \"eof-in-element-that-can-contain-only-text\";\n})(ERR || (ERR = {}));\n//# sourceMappingURL=error-codes.js.map","export var TokenType;\n(function (TokenType) {\n TokenType[TokenType[\"CHARACTER\"] = 0] = \"CHARACTER\";\n TokenType[TokenType[\"NULL_CHARACTER\"] = 1] = \"NULL_CHARACTER\";\n TokenType[TokenType[\"WHITESPACE_CHARACTER\"] = 2] = \"WHITESPACE_CHARACTER\";\n TokenType[TokenType[\"START_TAG\"] = 3] = \"START_TAG\";\n TokenType[TokenType[\"END_TAG\"] = 4] = \"END_TAG\";\n TokenType[TokenType[\"COMMENT\"] = 5] = \"COMMENT\";\n TokenType[TokenType[\"DOCTYPE\"] = 6] = \"DOCTYPE\";\n TokenType[TokenType[\"EOF\"] = 7] = \"EOF\";\n TokenType[TokenType[\"HIBERNATION\"] = 8] = \"HIBERNATION\";\n})(TokenType || (TokenType = {}));\nexport function getTokenAttr(token, attrName) {\n for (let i = token.attrs.length - 1; i >= 0; i--) {\n if (token.attrs[i].name === attrName) {\n return token.attrs[i].value;\n }\n }\n return null;\n}\n//# sourceMappingURL=token.js.map","import { CODE_POINTS as $, getSurrogatePairCodePoint, isControlCodePoint, isSurrogate, isSurrogatePair, isUndefinedCodePoint, } from '../common/unicode.js';\nimport { ERR } from '../common/error-codes.js';\n//Const\nconst DEFAULT_BUFFER_WATERLINE = 1 << 16;\n//Preprocessor\n//NOTE: HTML input preprocessing\n//(see: http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#preprocessing-the-input-stream)\nexport class Preprocessor {\n constructor(handler) {\n this.handler = handler;\n this.html = '';\n this.pos = -1;\n // NOTE: Initial `lastGapPos` is -2, to ensure `col` on initialisation is 0\n this.lastGapPos = -2;\n this.gapStack = [];\n this.skipNextNewLine = false;\n this.lastChunkWritten = false;\n this.endOfChunkHit = false;\n this.bufferWaterline = DEFAULT_BUFFER_WATERLINE;\n this.isEol = false;\n this.lineStartPos = 0;\n this.droppedBufferSize = 0;\n this.line = 1;\n //NOTE: avoid reporting errors twice on advance/retreat\n this.lastErrOffset = -1;\n }\n /** The column on the current line. If we just saw a gap (eg. a surrogate pair), return the index before. */\n get col() {\n return this.pos - this.lineStartPos + Number(this.lastGapPos !== this.pos);\n }\n get offset() {\n return this.droppedBufferSize + this.pos;\n }\n getError(code) {\n const { line, col, offset } = this;\n return {\n code,\n startLine: line,\n endLine: line,\n startCol: col,\n endCol: col,\n startOffset: offset,\n endOffset: offset,\n };\n }\n _err(code) {\n if (this.handler.onParseError && this.lastErrOffset !== this.offset) {\n this.lastErrOffset = this.offset;\n this.handler.onParseError(this.getError(code));\n }\n }\n _addGap() {\n this.gapStack.push(this.lastGapPos);\n this.lastGapPos = this.pos;\n }\n _processSurrogate(cp) {\n //NOTE: try to peek a surrogate pair\n if (this.pos !== this.html.length - 1) {\n const nextCp = this.html.charCodeAt(this.pos + 1);\n if (isSurrogatePair(nextCp)) {\n //NOTE: we have a surrogate pair. Peek pair character and recalculate code point.\n this.pos++;\n //NOTE: add a gap that should be avoided during retreat\n this._addGap();\n return getSurrogatePairCodePoint(cp, nextCp);\n }\n }\n //NOTE: we are at the end of a chunk, therefore we can't infer the surrogate pair yet.\n else if (!this.lastChunkWritten) {\n this.endOfChunkHit = true;\n return $.EOF;\n }\n //NOTE: isolated surrogate\n this._err(ERR.surrogateInInputStream);\n return cp;\n }\n willDropParsedChunk() {\n return this.pos > this.bufferWaterline;\n }\n dropParsedChunk() {\n if (this.willDropParsedChunk()) {\n this.html = this.html.substring(this.pos);\n this.lineStartPos -= this.pos;\n this.droppedBufferSize += this.pos;\n this.pos = 0;\n this.lastGapPos = -2;\n this.gapStack.length = 0;\n }\n }\n write(chunk, isLastChunk) {\n if (this.html.length > 0) {\n this.html += chunk;\n }\n else {\n this.html = chunk;\n }\n this.endOfChunkHit = false;\n this.lastChunkWritten = isLastChunk;\n }\n insertHtmlAtCurrentPos(chunk) {\n this.html = this.html.substring(0, this.pos + 1) + chunk + this.html.substring(this.pos + 1);\n this.endOfChunkHit = false;\n }\n startsWith(pattern, caseSensitive) {\n // Check if our buffer has enough characters\n if (this.pos + pattern.length > this.html.length) {\n this.endOfChunkHit = !this.lastChunkWritten;\n return false;\n }\n if (caseSensitive) {\n return this.html.startsWith(pattern, this.pos);\n }\n for (let i = 0; i < pattern.length; i++) {\n const cp = this.html.charCodeAt(this.pos + i) | 0x20;\n if (cp !== pattern.charCodeAt(i)) {\n return false;\n }\n }\n return true;\n }\n peek(offset) {\n const pos = this.pos + offset;\n if (pos >= this.html.length) {\n this.endOfChunkHit = !this.lastChunkWritten;\n return $.EOF;\n }\n return this.html.charCodeAt(pos);\n }\n advance() {\n this.pos++;\n //NOTE: LF should be in the last column of the line\n if (this.isEol) {\n this.isEol = false;\n this.line++;\n this.lineStartPos = this.pos;\n }\n if (this.pos >= this.html.length) {\n this.endOfChunkHit = !this.lastChunkWritten;\n return $.EOF;\n }\n let cp = this.html.charCodeAt(this.pos);\n //NOTE: all U+000D CARRIAGE RETURN (CR) characters must be converted to U+000A LINE FEED (LF) characters\n if (cp === $.CARRIAGE_RETURN) {\n this.isEol = true;\n this.skipNextNewLine = true;\n return $.LINE_FEED;\n }\n //NOTE: any U+000A LINE FEED (LF) characters that immediately follow a U+000D CARRIAGE RETURN (CR) character\n //must be ignored.\n if (cp === $.LINE_FEED) {\n this.isEol = true;\n if (this.skipNextNewLine) {\n // `line` will be bumped again in the recursive call.\n this.line--;\n this.skipNextNewLine = false;\n this._addGap();\n return this.advance();\n }\n }\n this.skipNextNewLine = false;\n if (isSurrogate(cp)) {\n cp = this._processSurrogate(cp);\n }\n //OPTIMIZATION: first check if code point is in the common allowed\n //range (ASCII alphanumeric, whitespaces, big chunk of BMP)\n //before going into detailed performance cost validation.\n const isCommonValidRange = this.handler.onParseError === null ||\n (cp > 0x1f && cp < 0x7f) ||\n cp === $.LINE_FEED ||\n cp === $.CARRIAGE_RETURN ||\n (cp > 0x9f && cp < 64976);\n if (!isCommonValidRange) {\n this._checkForProblematicCharacters(cp);\n }\n return cp;\n }\n _checkForProblematicCharacters(cp) {\n if (isControlCodePoint(cp)) {\n this._err(ERR.controlCharacterInInputStream);\n }\n else if (isUndefinedCodePoint(cp)) {\n this._err(ERR.noncharacterInInputStream);\n }\n }\n retreat(count) {\n this.pos -= count;\n while (this.pos < this.lastGapPos) {\n this.lastGapPos = this.gapStack.pop();\n this.pos--;\n }\n this.isEol = false;\n }\n}\n//# sourceMappingURL=preprocessor.js.map","// Generated using scripts/write-decode-map.ts\n// prettier-ignore\nexport default new Uint16Array([7489, 60, 213, 305, 650, 1181, 1403, 1488, 1653, 1758, 1954, 2006, 2063, 2634, 2705, 3489, 3693, 3849, 3878, 4298, 4648, 4833, 5141, 5277, 5315, 5343, 5413, 0, 0, 0, 0, 0, 0, 5483, 5837, 6541, 7186, 7645, 8062, 8288, 8624, 8845, 9152, 9211, 9282, 10276, 10514, 11528, 11848, 12238, 12310, 12986, 13881, 14252, 14590, 14888, 14961, 15072, 15150, 2048, 69, 77, 97, 98, 99, 102, 103, 108, 109, 110, 111, 112, 114, 115, 116, 117, 92, 98, 102, 109, 115, 127, 132, 139, 144, 149, 152, 166, 179, 185, 200, 207, 108, 105, 103, 32827, 198, 16582, 80, 32827, 38, 16422, 99, 117, 116, 101, 32827, 193, 16577, 114, 101, 118, 101, 59, 16642, 256, 105, 121, 120, 125, 114, 99, 32827, 194, 16578, 59, 17424, 114, 59, 49152, 55349, 56580, 114, 97, 118, 101, 32827, 192, 16576, 112, 104, 97, 59, 17297, 97, 99, 114, 59, 16640, 100, 59, 27219, 256, 103, 112, 157, 161, 111, 110, 59, 16644, 102, 59, 49152, 55349, 56632, 112, 108, 121, 70, 117, 110, 99, 116, 105, 111, 110, 59, 24673, 105, 110, 103, 32827, 197, 16581, 256, 99, 115, 190, 195, 114, 59, 49152, 55349, 56476, 105, 103, 110, 59, 25172, 105, 108, 100, 101, 32827, 195, 16579, 109, 108, 32827, 196, 16580, 1024, 97, 99, 101, 102, 111, 114, 115, 117, 229, 251, 254, 279, 284, 290, 295, 298, 256, 99, 114, 234, 242, 107, 115, 108, 97, 115, 104, 59, 25110, 374, 246, 248, 59, 27367, 101, 100, 59, 25350, 121, 59, 17425, 384, 99, 114, 116, 261, 267, 276, 97, 117, 115, 101, 59, 25141, 110, 111, 117, 108, 108, 105, 115, 59, 24876, 97, 59, 17298, 114, 59, 49152, 55349, 56581, 112, 102, 59, 49152, 55349, 56633, 101, 118, 101, 59, 17112, 99, 242, 275, 109, 112, 101, 113, 59, 25166, 1792, 72, 79, 97, 99, 100, 101, 102, 104, 105, 108, 111, 114, 115, 117, 333, 337, 342, 384, 414, 418, 437, 439, 442, 476, 533, 627, 632, 638, 99, 121, 59, 17447, 80, 89, 32827, 169, 16553, 384, 99, 112, 121, 349, 354, 378, 117, 116, 101, 59, 16646, 256, 59, 105, 359, 360, 25298, 116, 97, 108, 68, 105, 102, 102, 101, 114, 101, 110, 116, 105, 97, 108, 68, 59, 24901, 108, 101, 121, 115, 59, 24877, 512, 97, 101, 105, 111, 393, 398, 404, 408, 114, 111, 110, 59, 16652, 100, 105, 108, 32827, 199, 16583, 114, 99, 59, 16648, 110, 105, 110, 116, 59, 25136, 111, 116, 59, 16650, 256, 100, 110, 423, 429, 105, 108, 108, 97, 59, 16568, 116, 101, 114, 68, 111, 116, 59, 16567, 242, 383, 105, 59, 17319, 114, 99, 108, 101, 512, 68, 77, 80, 84, 455, 459, 465, 470, 111, 116, 59, 25241, 105, 110, 117, 115, 59, 25238, 108, 117, 115, 59, 25237, 105, 109, 101, 115, 59, 25239, 111, 256, 99, 115, 482, 504, 107, 119, 105, 115, 101, 67, 111, 110, 116, 111, 117, 114, 73, 110, 116, 101, 103, 114, 97, 108, 59, 25138, 101, 67, 117, 114, 108, 121, 256, 68, 81, 515, 527, 111, 117, 98, 108, 101, 81, 117, 111, 116, 101, 59, 24605, 117, 111, 116, 101, 59, 24601, 512, 108, 110, 112, 117, 542, 552, 583, 597, 111, 110, 256, 59, 101, 549, 550, 25143, 59, 27252, 384, 103, 105, 116, 559, 566, 570, 114, 117, 101, 110, 116, 59, 25185, 110, 116, 59, 25135, 111, 117, 114, 73, 110, 116, 101, 103, 114, 97, 108, 59, 25134, 256, 102, 114, 588, 590, 59, 24834, 111, 100, 117, 99, 116, 59, 25104, 110, 116, 101, 114, 67, 108, 111, 99, 107, 119, 105, 115, 101, 67, 111, 110, 116, 111, 117, 114, 73, 110, 116, 101, 103, 114, 97, 108, 59, 25139, 111, 115, 115, 59, 27183, 99, 114, 59, 49152, 55349, 56478, 112, 256, 59, 67, 644, 645, 25299, 97, 112, 59, 25165, 1408, 68, 74, 83, 90, 97, 99, 101, 102, 105, 111, 115, 672, 684, 688, 692, 696, 715, 727, 737, 742, 819, 1165, 256, 59, 111, 377, 677, 116, 114, 97, 104, 100, 59, 26897, 99, 121, 59, 17410, 99, 121, 59, 17413, 99, 121, 59, 17423, 384, 103, 114, 115, 703, 708, 711, 103, 101, 114, 59, 24609, 114, 59, 24993, 104, 118, 59, 27364, 256, 97, 121, 720, 725, 114, 111, 110, 59, 16654, 59, 17428, 108, 256, 59, 116, 733, 734, 25095, 97, 59, 17300, 114, 59, 49152, 55349, 56583, 256, 97, 102, 747, 807, 256, 99, 109, 752, 802, 114, 105, 116, 105, 99, 97, 108, 512, 65, 68, 71, 84, 768, 774, 790, 796, 99, 117, 116, 101, 59, 16564, 111, 372, 779, 781, 59, 17113, 98, 108, 101, 65, 99, 117, 116, 101, 59, 17117, 114, 97, 118, 101, 59, 16480, 105, 108, 100, 101, 59, 17116, 111, 110, 100, 59, 25284, 102, 101, 114, 101, 110, 116, 105, 97, 108, 68, 59, 24902, 1136, 829, 0, 0, 0, 834, 852, 0, 1029, 102, 59, 49152, 55349, 56635, 384, 59, 68, 69, 840, 841, 845, 16552, 111, 116, 59, 24796, 113, 117, 97, 108, 59, 25168, 98, 108, 101, 768, 67, 68, 76, 82, 85, 86, 867, 882, 898, 975, 994, 1016, 111, 110, 116, 111, 117, 114, 73, 110, 116, 101, 103, 114, 97, 236, 569, 111, 628, 889, 0, 0, 891, 187, 841, 110, 65, 114, 114, 111, 119, 59, 25043, 256, 101, 111, 903, 932, 102, 116, 384, 65, 82, 84, 912, 918, 929, 114, 114, 111, 119, 59, 25040, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 25044, 101, 229, 714, 110, 103, 256, 76, 82, 939, 964, 101, 102, 116, 256, 65, 82, 947, 953, 114, 114, 111, 119, 59, 26616, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 26618, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 26617, 105, 103, 104, 116, 256, 65, 84, 984, 990, 114, 114, 111, 119, 59, 25042, 101, 101, 59, 25256, 112, 577, 1001, 0, 0, 1007, 114, 114, 111, 119, 59, 25041, 111, 119, 110, 65, 114, 114, 111, 119, 59, 25045, 101, 114, 116, 105, 99, 97, 108, 66, 97, 114, 59, 25125, 110, 768, 65, 66, 76, 82, 84, 97, 1042, 1066, 1072, 1118, 1151, 892, 114, 114, 111, 119, 384, 59, 66, 85, 1053, 1054, 1058, 24979, 97, 114, 59, 26899, 112, 65, 114, 114, 111, 119, 59, 25077, 114, 101, 118, 101, 59, 17169, 101, 102, 116, 722, 1082, 0, 1094, 0, 1104, 105, 103, 104, 116, 86, 101, 99, 116, 111, 114, 59, 26960, 101, 101, 86, 101, 99, 116, 111, 114, 59, 26974, 101, 99, 116, 111, 114, 256, 59, 66, 1113, 1114, 25021, 97, 114, 59, 26966, 105, 103, 104, 116, 468, 1127, 0, 1137, 101, 101, 86, 101, 99, 116, 111, 114, 59, 26975, 101, 99, 116, 111, 114, 256, 59, 66, 1146, 1147, 25025, 97, 114, 59, 26967, 101, 101, 256, 59, 65, 1158, 1159, 25252, 114, 114, 111, 119, 59, 24999, 256, 99, 116, 1170, 1175, 114, 59, 49152, 55349, 56479, 114, 111, 107, 59, 16656, 2048, 78, 84, 97, 99, 100, 102, 103, 108, 109, 111, 112, 113, 115, 116, 117, 120, 1213, 1216, 1220, 1227, 1246, 1250, 1255, 1262, 1269, 1313, 1327, 1334, 1362, 1373, 1376, 1381, 71, 59, 16714, 72, 32827, 208, 16592, 99, 117, 116, 101, 32827, 201, 16585, 384, 97, 105, 121, 1234, 1239, 1244, 114, 111, 110, 59, 16666, 114, 99, 32827, 202, 16586, 59, 17453, 111, 116, 59, 16662, 114, 59, 49152, 55349, 56584, 114, 97, 118, 101, 32827, 200, 16584, 101, 109, 101, 110, 116, 59, 25096, 256, 97, 112, 1274, 1278, 99, 114, 59, 16658, 116, 121, 595, 1286, 0, 0, 1298, 109, 97, 108, 108, 83, 113, 117, 97, 114, 101, 59, 26107, 101, 114, 121, 83, 109, 97, 108, 108, 83, 113, 117, 97, 114, 101, 59, 26027, 256, 103, 112, 1318, 1322, 111, 110, 59, 16664, 102, 59, 49152, 55349, 56636, 115, 105, 108, 111, 110, 59, 17301, 117, 256, 97, 105, 1340, 1353, 108, 256, 59, 84, 1346, 1347, 27253, 105, 108, 100, 101, 59, 25154, 108, 105, 98, 114, 105, 117, 109, 59, 25036, 256, 99, 105, 1367, 1370, 114, 59, 24880, 109, 59, 27251, 97, 59, 17303, 109, 108, 32827, 203, 16587, 256, 105, 112, 1386, 1391, 115, 116, 115, 59, 25091, 111, 110, 101, 110, 116, 105, 97, 108, 69, 59, 24903, 640, 99, 102, 105, 111, 115, 1413, 1416, 1421, 1458, 1484, 121, 59, 17444, 114, 59, 49152, 55349, 56585, 108, 108, 101, 100, 595, 1431, 0, 0, 1443, 109, 97, 108, 108, 83, 113, 117, 97, 114, 101, 59, 26108, 101, 114, 121, 83, 109, 97, 108, 108, 83, 113, 117, 97, 114, 101, 59, 26026, 880, 1466, 0, 1471, 0, 0, 1476, 102, 59, 49152, 55349, 56637, 65, 108, 108, 59, 25088, 114, 105, 101, 114, 116, 114, 102, 59, 24881, 99, 242, 1483, 1536, 74, 84, 97, 98, 99, 100, 102, 103, 111, 114, 115, 116, 1512, 1516, 1519, 1530, 1536, 1554, 1558, 1563, 1565, 1571, 1644, 1650, 99, 121, 59, 17411, 32827, 62, 16446, 109, 109, 97, 256, 59, 100, 1527, 1528, 17299, 59, 17372, 114, 101, 118, 101, 59, 16670, 384, 101, 105, 121, 1543, 1548, 1552, 100, 105, 108, 59, 16674, 114, 99, 59, 16668, 59, 17427, 111, 116, 59, 16672, 114, 59, 49152, 55349, 56586, 59, 25305, 112, 102, 59, 49152, 55349, 56638, 101, 97, 116, 101, 114, 768, 69, 70, 71, 76, 83, 84, 1589, 1604, 1614, 1622, 1627, 1638, 113, 117, 97, 108, 256, 59, 76, 1598, 1599, 25189, 101, 115, 115, 59, 25307, 117, 108, 108, 69, 113, 117, 97, 108, 59, 25191, 114, 101, 97, 116, 101, 114, 59, 27298, 101, 115, 115, 59, 25207, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 27262, 105, 108, 100, 101, 59, 25203, 99, 114, 59, 49152, 55349, 56482, 59, 25195, 1024, 65, 97, 99, 102, 105, 111, 115, 117, 1669, 1675, 1686, 1691, 1694, 1706, 1726, 1738, 82, 68, 99, 121, 59, 17450, 256, 99, 116, 1680, 1684, 101, 107, 59, 17095, 59, 16478, 105, 114, 99, 59, 16676, 114, 59, 24844, 108, 98, 101, 114, 116, 83, 112, 97, 99, 101, 59, 24843, 496, 1711, 0, 1714, 102, 59, 24845, 105, 122, 111, 110, 116, 97, 108, 76, 105, 110, 101, 59, 25856, 256, 99, 116, 1731, 1733, 242, 1705, 114, 111, 107, 59, 16678, 109, 112, 324, 1744, 1752, 111, 119, 110, 72, 117, 109, 240, 303, 113, 117, 97, 108, 59, 25167, 1792, 69, 74, 79, 97, 99, 100, 102, 103, 109, 110, 111, 115, 116, 117, 1786, 1790, 1795, 1799, 1806, 1818, 1822, 1825, 1832, 1860, 1912, 1931, 1935, 1941, 99, 121, 59, 17429, 108, 105, 103, 59, 16690, 99, 121, 59, 17409, 99, 117, 116, 101, 32827, 205, 16589, 256, 105, 121, 1811, 1816, 114, 99, 32827, 206, 16590, 59, 17432, 111, 116, 59, 16688, 114, 59, 24849, 114, 97, 118, 101, 32827, 204, 16588, 384, 59, 97, 112, 1824, 1839, 1855, 256, 99, 103, 1844, 1847, 114, 59, 16682, 105, 110, 97, 114, 121, 73, 59, 24904, 108, 105, 101, 243, 989, 500, 1865, 0, 1890, 256, 59, 101, 1869, 1870, 25132, 256, 103, 114, 1875, 1880, 114, 97, 108, 59, 25131, 115, 101, 99, 116, 105, 111, 110, 59, 25282, 105, 115, 105, 98, 108, 101, 256, 67, 84, 1900, 1906, 111, 109, 109, 97, 59, 24675, 105, 109, 101, 115, 59, 24674, 384, 103, 112, 116, 1919, 1923, 1928, 111, 110, 59, 16686, 102, 59, 49152, 55349, 56640, 97, 59, 17305, 99, 114, 59, 24848, 105, 108, 100, 101, 59, 16680, 491, 1946, 0, 1950, 99, 121, 59, 17414, 108, 32827, 207, 16591, 640, 99, 102, 111, 115, 117, 1964, 1975, 1980, 1986, 2000, 256, 105, 121, 1969, 1973, 114, 99, 59, 16692, 59, 17433, 114, 59, 49152, 55349, 56589, 112, 102, 59, 49152, 55349, 56641, 483, 1991, 0, 1996, 114, 59, 49152, 55349, 56485, 114, 99, 121, 59, 17416, 107, 99, 121, 59, 17412, 896, 72, 74, 97, 99, 102, 111, 115, 2020, 2024, 2028, 2033, 2045, 2050, 2056, 99, 121, 59, 17445, 99, 121, 59, 17420, 112, 112, 97, 59, 17306, 256, 101, 121, 2038, 2043, 100, 105, 108, 59, 16694, 59, 17434, 114, 59, 49152, 55349, 56590, 112, 102, 59, 49152, 55349, 56642, 99, 114, 59, 49152, 55349, 56486, 1408, 74, 84, 97, 99, 101, 102, 108, 109, 111, 115, 116, 2085, 2089, 2092, 2128, 2147, 2483, 2488, 2503, 2509, 2615, 2631, 99, 121, 59, 17417, 32827, 60, 16444, 640, 99, 109, 110, 112, 114, 2103, 2108, 2113, 2116, 2125, 117, 116, 101, 59, 16697, 98, 100, 97, 59, 17307, 103, 59, 26602, 108, 97, 99, 101, 116, 114, 102, 59, 24850, 114, 59, 24990, 384, 97, 101, 121, 2135, 2140, 2145, 114, 111, 110, 59, 16701, 100, 105, 108, 59, 16699, 59, 17435, 256, 102, 115, 2152, 2416, 116, 1280, 65, 67, 68, 70, 82, 84, 85, 86, 97, 114, 2174, 2217, 2225, 2272, 2278, 2300, 2351, 2395, 912, 2410, 256, 110, 114, 2179, 2191, 103, 108, 101, 66, 114, 97, 99, 107, 101, 116, 59, 26600, 114, 111, 119, 384, 59, 66, 82, 2201, 2202, 2206, 24976, 97, 114, 59, 25060, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 25030, 101, 105, 108, 105, 110, 103, 59, 25352, 111, 501, 2231, 0, 2243, 98, 108, 101, 66, 114, 97, 99, 107, 101, 116, 59, 26598, 110, 468, 2248, 0, 2258, 101, 101, 86, 101, 99, 116, 111, 114, 59, 26977, 101, 99, 116, 111, 114, 256, 59, 66, 2267, 2268, 25027, 97, 114, 59, 26969, 108, 111, 111, 114, 59, 25354, 105, 103, 104, 116, 256, 65, 86, 2287, 2293, 114, 114, 111, 119, 59, 24980, 101, 99, 116, 111, 114, 59, 26958, 256, 101, 114, 2305, 2327, 101, 384, 59, 65, 86, 2313, 2314, 2320, 25251, 114, 114, 111, 119, 59, 24996, 101, 99, 116, 111, 114, 59, 26970, 105, 97, 110, 103, 108, 101, 384, 59, 66, 69, 2340, 2341, 2345, 25266, 97, 114, 59, 27087, 113, 117, 97, 108, 59, 25268, 112, 384, 68, 84, 86, 2359, 2370, 2380, 111, 119, 110, 86, 101, 99, 116, 111, 114, 59, 26961, 101, 101, 86, 101, 99, 116, 111, 114, 59, 26976, 101, 99, 116, 111, 114, 256, 59, 66, 2390, 2391, 25023, 97, 114, 59, 26968, 101, 99, 116, 111, 114, 256, 59, 66, 2405, 2406, 25020, 97, 114, 59, 26962, 105, 103, 104, 116, 225, 924, 115, 768, 69, 70, 71, 76, 83, 84, 2430, 2443, 2453, 2461, 2466, 2477, 113, 117, 97, 108, 71, 114, 101, 97, 116, 101, 114, 59, 25306, 117, 108, 108, 69, 113, 117, 97, 108, 59, 25190, 114, 101, 97, 116, 101, 114, 59, 25206, 101, 115, 115, 59, 27297, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 27261, 105, 108, 100, 101, 59, 25202, 114, 59, 49152, 55349, 56591, 256, 59, 101, 2493, 2494, 25304, 102, 116, 97, 114, 114, 111, 119, 59, 25050, 105, 100, 111, 116, 59, 16703, 384, 110, 112, 119, 2516, 2582, 2587, 103, 512, 76, 82, 108, 114, 2526, 2551, 2562, 2576, 101, 102, 116, 256, 65, 82, 2534, 2540, 114, 114, 111, 119, 59, 26613, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 26615, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 26614, 101, 102, 116, 256, 97, 114, 947, 2570, 105, 103, 104, 116, 225, 959, 105, 103, 104, 116, 225, 970, 102, 59, 49152, 55349, 56643, 101, 114, 256, 76, 82, 2594, 2604, 101, 102, 116, 65, 114, 114, 111, 119, 59, 24985, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 24984, 384, 99, 104, 116, 2622, 2624, 2626, 242, 2124, 59, 25008, 114, 111, 107, 59, 16705, 59, 25194, 1024, 97, 99, 101, 102, 105, 111, 115, 117, 2650, 2653, 2656, 2679, 2684, 2693, 2699, 2702, 112, 59, 26885, 121, 59, 17436, 256, 100, 108, 2661, 2671, 105, 117, 109, 83, 112, 97, 99, 101, 59, 24671, 108, 105, 110, 116, 114, 102, 59, 24883, 114, 59, 49152, 55349, 56592, 110, 117, 115, 80, 108, 117, 115, 59, 25107, 112, 102, 59, 49152, 55349, 56644, 99, 242, 2678, 59, 17308, 1152, 74, 97, 99, 101, 102, 111, 115, 116, 117, 2723, 2727, 2733, 2752, 2836, 2841, 3473, 3479, 3486, 99, 121, 59, 17418, 99, 117, 116, 101, 59, 16707, 384, 97, 101, 121, 2740, 2745, 2750, 114, 111, 110, 59, 16711, 100, 105, 108, 59, 16709, 59, 17437, 384, 103, 115, 119, 2759, 2800, 2830, 97, 116, 105, 118, 101, 384, 77, 84, 86, 2771, 2783, 2792, 101, 100, 105, 117, 109, 83, 112, 97, 99, 101, 59, 24587, 104, 105, 256, 99, 110, 2790, 2776, 235, 2777, 101, 114, 121, 84, 104, 105, 238, 2777, 116, 101, 100, 256, 71, 76, 2808, 2822, 114, 101, 97, 116, 101, 114, 71, 114, 101, 97, 116, 101, 242, 1651, 101, 115, 115, 76, 101, 115, 243, 2632, 76, 105, 110, 101, 59, 16394, 114, 59, 49152, 55349, 56593, 512, 66, 110, 112, 116, 2850, 2856, 2871, 2874, 114, 101, 97, 107, 59, 24672, 66, 114, 101, 97, 107, 105, 110, 103, 83, 112, 97, 99, 101, 59, 16544, 102, 59, 24853, 1664, 59, 67, 68, 69, 71, 72, 76, 78, 80, 82, 83, 84, 86, 2901, 2902, 2922, 2940, 2977, 3051, 3076, 3166, 3204, 3238, 3288, 3425, 3461, 27372, 256, 111, 117, 2907, 2916, 110, 103, 114, 117, 101, 110, 116, 59, 25186, 112, 67, 97, 112, 59, 25197, 111, 117, 98, 108, 101, 86, 101, 114, 116, 105, 99, 97, 108, 66, 97, 114, 59, 25126, 384, 108, 113, 120, 2947, 2954, 2971, 101, 109, 101, 110, 116, 59, 25097, 117, 97, 108, 256, 59, 84, 2962, 2963, 25184, 105, 108, 100, 101, 59, 49152, 8770, 824, 105, 115, 116, 115, 59, 25092, 114, 101, 97, 116, 101, 114, 896, 59, 69, 70, 71, 76, 83, 84, 2998, 2999, 3005, 3017, 3027, 3032, 3045, 25199, 113, 117, 97, 108, 59, 25201, 117, 108, 108, 69, 113, 117, 97, 108, 59, 49152, 8807, 824, 114, 101, 97, 116, 101, 114, 59, 49152, 8811, 824, 101, 115, 115, 59, 25209, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 49152, 10878, 824, 105, 108, 100, 101, 59, 25205, 117, 109, 112, 324, 3058, 3069, 111, 119, 110, 72, 117, 109, 112, 59, 49152, 8782, 824, 113, 117, 97, 108, 59, 49152, 8783, 824, 101, 256, 102, 115, 3082, 3111, 116, 84, 114, 105, 97, 110, 103, 108, 101, 384, 59, 66, 69, 3098, 3099, 3105, 25322, 97, 114, 59, 49152, 10703, 824, 113, 117, 97, 108, 59, 25324, 115, 768, 59, 69, 71, 76, 83, 84, 3125, 3126, 3132, 3140, 3147, 3160, 25198, 113, 117, 97, 108, 59, 25200, 114, 101, 97, 116, 101, 114, 59, 25208, 101, 115, 115, 59, 49152, 8810, 824, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 49152, 10877, 824, 105, 108, 100, 101, 59, 25204, 101, 115, 116, 101, 100, 256, 71, 76, 3176, 3193, 114, 101, 97, 116, 101, 114, 71, 114, 101, 97, 116, 101, 114, 59, 49152, 10914, 824, 101, 115, 115, 76, 101, 115, 115, 59, 49152, 10913, 824, 114, 101, 99, 101, 100, 101, 115, 384, 59, 69, 83, 3218, 3219, 3227, 25216, 113, 117, 97, 108, 59, 49152, 10927, 824, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 25312, 256, 101, 105, 3243, 3257, 118, 101, 114, 115, 101, 69, 108, 101, 109, 101, 110, 116, 59, 25100, 103, 104, 116, 84, 114, 105, 97, 110, 103, 108, 101, 384, 59, 66, 69, 3275, 3276, 3282, 25323, 97, 114, 59, 49152, 10704, 824, 113, 117, 97, 108, 59, 25325, 256, 113, 117, 3293, 3340, 117, 97, 114, 101, 83, 117, 256, 98, 112, 3304, 3321, 115, 101, 116, 256, 59, 69, 3312, 3315, 49152, 8847, 824, 113, 117, 97, 108, 59, 25314, 101, 114, 115, 101, 116, 256, 59, 69, 3331, 3334, 49152, 8848, 824, 113, 117, 97, 108, 59, 25315, 384, 98, 99, 112, 3347, 3364, 3406, 115, 101, 116, 256, 59, 69, 3355, 3358, 49152, 8834, 8402, 113, 117, 97, 108, 59, 25224, 99, 101, 101, 100, 115, 512, 59, 69, 83, 84, 3378, 3379, 3387, 3398, 25217, 113, 117, 97, 108, 59, 49152, 10928, 824, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 25313, 105, 108, 100, 101, 59, 49152, 8831, 824, 101, 114, 115, 101, 116, 256, 59, 69, 3416, 3419, 49152, 8835, 8402, 113, 117, 97, 108, 59, 25225, 105, 108, 100, 101, 512, 59, 69, 70, 84, 3438, 3439, 3445, 3455, 25153, 113, 117, 97, 108, 59, 25156, 117, 108, 108, 69, 113, 117, 97, 108, 59, 25159, 105, 108, 100, 101, 59, 25161, 101, 114, 116, 105, 99, 97, 108, 66, 97, 114, 59, 25124, 99, 114, 59, 49152, 55349, 56489, 105, 108, 100, 101, 32827, 209, 16593, 59, 17309, 1792, 69, 97, 99, 100, 102, 103, 109, 111, 112, 114, 115, 116, 117, 118, 3517, 3522, 3529, 3541, 3547, 3552, 3559, 3580, 3586, 3616, 3618, 3634, 3647, 3652, 108, 105, 103, 59, 16722, 99, 117, 116, 101, 32827, 211, 16595, 256, 105, 121, 3534, 3539, 114, 99, 32827, 212, 16596, 59, 17438, 98, 108, 97, 99, 59, 16720, 114, 59, 49152, 55349, 56594, 114, 97, 118, 101, 32827, 210, 16594, 384, 97, 101, 105, 3566, 3570, 3574, 99, 114, 59, 16716, 103, 97, 59, 17321, 99, 114, 111, 110, 59, 17311, 112, 102, 59, 49152, 55349, 56646, 101, 110, 67, 117, 114, 108, 121, 256, 68, 81, 3598, 3610, 111, 117, 98, 108, 101, 81, 117, 111, 116, 101, 59, 24604, 117, 111, 116, 101, 59, 24600, 59, 27220, 256, 99, 108, 3623, 3628, 114, 59, 49152, 55349, 56490, 97, 115, 104, 32827, 216, 16600, 105, 364, 3639, 3644, 100, 101, 32827, 213, 16597, 101, 115, 59, 27191, 109, 108, 32827, 214, 16598, 101, 114, 256, 66, 80, 3659, 3680, 256, 97, 114, 3664, 3667, 114, 59, 24638, 97, 99, 256, 101, 107, 3674, 3676, 59, 25566, 101, 116, 59, 25524, 97, 114, 101, 110, 116, 104, 101, 115, 105, 115, 59, 25564, 1152, 97, 99, 102, 104, 105, 108, 111, 114, 115, 3711, 3719, 3722, 3727, 3730, 3732, 3741, 3760, 3836, 114, 116, 105, 97, 108, 68, 59, 25090, 121, 59, 17439, 114, 59, 49152, 55349, 56595, 105, 59, 17318, 59, 17312, 117, 115, 77, 105, 110, 117, 115, 59, 16561, 256, 105, 112, 3746, 3757, 110, 99, 97, 114, 101, 112, 108, 97, 110, 229, 1693, 102, 59, 24857, 512, 59, 101, 105, 111, 3769, 3770, 3808, 3812, 27323, 99, 101, 100, 101, 115, 512, 59, 69, 83, 84, 3784, 3785, 3791, 3802, 25210, 113, 117, 97, 108, 59, 27311, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 25212, 105, 108, 100, 101, 59, 25214, 109, 101, 59, 24627, 256, 100, 112, 3817, 3822, 117, 99, 116, 59, 25103, 111, 114, 116, 105, 111, 110, 256, 59, 97, 549, 3833, 108, 59, 25117, 256, 99, 105, 3841, 3846, 114, 59, 49152, 55349, 56491, 59, 17320, 512, 85, 102, 111, 115, 3857, 3862, 3867, 3871, 79, 84, 32827, 34, 16418, 114, 59, 49152, 55349, 56596, 112, 102, 59, 24858, 99, 114, 59, 49152, 55349, 56492, 1536, 66, 69, 97, 99, 101, 102, 104, 105, 111, 114, 115, 117, 3902, 3907, 3911, 3936, 3955, 4007, 4010, 4013, 4246, 4265, 4276, 4286, 97, 114, 114, 59, 26896, 71, 32827, 174, 16558, 384, 99, 110, 114, 3918, 3923, 3926, 117, 116, 101, 59, 16724, 103, 59, 26603, 114, 256, 59, 116, 3932, 3933, 24992, 108, 59, 26902, 384, 97, 101, 121, 3943, 3948, 3953, 114, 111, 110, 59, 16728, 100, 105, 108, 59, 16726, 59, 17440, 256, 59, 118, 3960, 3961, 24860, 101, 114, 115, 101, 256, 69, 85, 3970, 3993, 256, 108, 113, 3975, 3982, 101, 109, 101, 110, 116, 59, 25099, 117, 105, 108, 105, 98, 114, 105, 117, 109, 59, 25035, 112, 69, 113, 117, 105, 108, 105, 98, 114, 105, 117, 109, 59, 26991, 114, 187, 3961, 111, 59, 17313, 103, 104, 116, 1024, 65, 67, 68, 70, 84, 85, 86, 97, 4033, 4075, 4083, 4130, 4136, 4187, 4231, 984, 256, 110, 114, 4038, 4050, 103, 108, 101, 66, 114, 97, 99, 107, 101, 116, 59, 26601, 114, 111, 119, 384, 59, 66, 76, 4060, 4061, 4065, 24978, 97, 114, 59, 25061, 101, 102, 116, 65, 114, 114, 111, 119, 59, 25028, 101, 105, 108, 105, 110, 103, 59, 25353, 111, 501, 4089, 0, 4101, 98, 108, 101, 66, 114, 97, 99, 107, 101, 116, 59, 26599, 110, 468, 4106, 0, 4116, 101, 101, 86, 101, 99, 116, 111, 114, 59, 26973, 101, 99, 116, 111, 114, 256, 59, 66, 4125, 4126, 25026, 97, 114, 59, 26965, 108, 111, 111, 114, 59, 25355, 256, 101, 114, 4141, 4163, 101, 384, 59, 65, 86, 4149, 4150, 4156, 25250, 114, 114, 111, 119, 59, 24998, 101, 99, 116, 111, 114, 59, 26971, 105, 97, 110, 103, 108, 101, 384, 59, 66, 69, 4176, 4177, 4181, 25267, 97, 114, 59, 27088, 113, 117, 97, 108, 59, 25269, 112, 384, 68, 84, 86, 4195, 4206, 4216, 111, 119, 110, 86, 101, 99, 116, 111, 114, 59, 26959, 101, 101, 86, 101, 99, 116, 111, 114, 59, 26972, 101, 99, 116, 111, 114, 256, 59, 66, 4226, 4227, 25022, 97, 114, 59, 26964, 101, 99, 116, 111, 114, 256, 59, 66, 4241, 4242, 25024, 97, 114, 59, 26963, 256, 112, 117, 4251, 4254, 102, 59, 24861, 110, 100, 73, 109, 112, 108, 105, 101, 115, 59, 26992, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 25051, 256, 99, 104, 4281, 4284, 114, 59, 24859, 59, 25009, 108, 101, 68, 101, 108, 97, 121, 101, 100, 59, 27124, 1664, 72, 79, 97, 99, 102, 104, 105, 109, 111, 113, 115, 116, 117, 4324, 4337, 4343, 4349, 4377, 4382, 4433, 4438, 4449, 4455, 4533, 4539, 4543, 256, 67, 99, 4329, 4334, 72, 99, 121, 59, 17449, 121, 59, 17448, 70, 84, 99, 121, 59, 17452, 99, 117, 116, 101, 59, 16730, 640, 59, 97, 101, 105, 121, 4360, 4361, 4366, 4371, 4375, 27324, 114, 111, 110, 59, 16736, 100, 105, 108, 59, 16734, 114, 99, 59, 16732, 59, 17441, 114, 59, 49152, 55349, 56598, 111, 114, 116, 512, 68, 76, 82, 85, 4394, 4404, 4414, 4425, 111, 119, 110, 65, 114, 114, 111, 119, 187, 1054, 101, 102, 116, 65, 114, 114, 111, 119, 187, 2202, 105, 103, 104, 116, 65, 114, 114, 111, 119, 187, 4061, 112, 65, 114, 114, 111, 119, 59, 24977, 103, 109, 97, 59, 17315, 97, 108, 108, 67, 105, 114, 99, 108, 101, 59, 25112, 112, 102, 59, 49152, 55349, 56650, 626, 4461, 0, 0, 4464, 116, 59, 25114, 97, 114, 101, 512, 59, 73, 83, 85, 4475, 4476, 4489, 4527, 26017, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 59, 25235, 117, 256, 98, 112, 4495, 4510, 115, 101, 116, 256, 59, 69, 4503, 4504, 25231, 113, 117, 97, 108, 59, 25233, 101, 114, 115, 101, 116, 256, 59, 69, 4520, 4521, 25232, 113, 117, 97, 108, 59, 25234, 110, 105, 111, 110, 59, 25236, 99, 114, 59, 49152, 55349, 56494, 97, 114, 59, 25286, 512, 98, 99, 109, 112, 4552, 4571, 4617, 4619, 256, 59, 115, 4557, 4558, 25296, 101, 116, 256, 59, 69, 4557, 4565, 113, 117, 97, 108, 59, 25222, 256, 99, 104, 4576, 4613, 101, 101, 100, 115, 512, 59, 69, 83, 84, 4589, 4590, 4596, 4607, 25211, 113, 117, 97, 108, 59, 27312, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 25213, 105, 108, 100, 101, 59, 25215, 84, 104, 225, 3980, 59, 25105, 384, 59, 101, 115, 4626, 4627, 4643, 25297, 114, 115, 101, 116, 256, 59, 69, 4636, 4637, 25219, 113, 117, 97, 108, 59, 25223, 101, 116, 187, 4627, 1408, 72, 82, 83, 97, 99, 102, 104, 105, 111, 114, 115, 4670, 4676, 4681, 4693, 4702, 4721, 4726, 4767, 4802, 4808, 4817, 79, 82, 78, 32827, 222, 16606, 65, 68, 69, 59, 24866, 256, 72, 99, 4686, 4690, 99, 121, 59, 17419, 121, 59, 17446, 256, 98, 117, 4698, 4700, 59, 16393, 59, 17316, 384, 97, 101, 121, 4709, 4714, 4719, 114, 111, 110, 59, 16740, 100, 105, 108, 59, 16738, 59, 17442, 114, 59, 49152, 55349, 56599, 256, 101, 105, 4731, 4745, 498, 4736, 0, 4743, 101, 102, 111, 114, 101, 59, 25140, 97, 59, 17304, 256, 99, 110, 4750, 4760, 107, 83, 112, 97, 99, 101, 59, 49152, 8287, 8202, 83, 112, 97, 99, 101, 59, 24585, 108, 100, 101, 512, 59, 69, 70, 84, 4779, 4780, 4786, 4796, 25148, 113, 117, 97, 108, 59, 25155, 117, 108, 108, 69, 113, 117, 97, 108, 59, 25157, 105, 108, 100, 101, 59, 25160, 112, 102, 59, 49152, 55349, 56651, 105, 112, 108, 101, 68, 111, 116, 59, 24795, 256, 99, 116, 4822, 4827, 114, 59, 49152, 55349, 56495, 114, 111, 107, 59, 16742, 2785, 4855, 4878, 4890, 4902, 0, 4908, 4913, 0, 0, 0, 0, 0, 4920, 4925, 4983, 4997, 0, 5119, 5124, 5130, 5136, 256, 99, 114, 4859, 4865, 117, 116, 101, 32827, 218, 16602, 114, 256, 59, 111, 4871, 4872, 24991, 99, 105, 114, 59, 26953, 114, 483, 4883, 0, 4886, 121, 59, 17422, 118, 101, 59, 16748, 256, 105, 121, 4894, 4899, 114, 99, 32827, 219, 16603, 59, 17443, 98, 108, 97, 99, 59, 16752, 114, 59, 49152, 55349, 56600, 114, 97, 118, 101, 32827, 217, 16601, 97, 99, 114, 59, 16746, 256, 100, 105, 4929, 4969, 101, 114, 256, 66, 80, 4936, 4957, 256, 97, 114, 4941, 4944, 114, 59, 16479, 97, 99, 256, 101, 107, 4951, 4953, 59, 25567, 101, 116, 59, 25525, 97, 114, 101, 110, 116, 104, 101, 115, 105, 115, 59, 25565, 111, 110, 256, 59, 80, 4976, 4977, 25283, 108, 117, 115, 59, 25230, 256, 103, 112, 4987, 4991, 111, 110, 59, 16754, 102, 59, 49152, 55349, 56652, 1024, 65, 68, 69, 84, 97, 100, 112, 115, 5013, 5038, 5048, 5060, 1000, 5074, 5079, 5107, 114, 114, 111, 119, 384, 59, 66, 68, 4432, 5024, 5028, 97, 114, 59, 26898, 111, 119, 110, 65, 114, 114, 111, 119, 59, 25029, 111, 119, 110, 65, 114, 114, 111, 119, 59, 24981, 113, 117, 105, 108, 105, 98, 114, 105, 117, 109, 59, 26990, 101, 101, 256, 59, 65, 5067, 5068, 25253, 114, 114, 111, 119, 59, 24997, 111, 119, 110, 225, 1011, 101, 114, 256, 76, 82, 5086, 5096, 101, 102, 116, 65, 114, 114, 111, 119, 59, 24982, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 24983, 105, 256, 59, 108, 5113, 5114, 17362, 111, 110, 59, 17317, 105, 110, 103, 59, 16750, 99, 114, 59, 49152, 55349, 56496, 105, 108, 100, 101, 59, 16744, 109, 108, 32827, 220, 16604, 1152, 68, 98, 99, 100, 101, 102, 111, 115, 118, 5159, 5164, 5168, 5171, 5182, 5253, 5258, 5264, 5270, 97, 115, 104, 59, 25259, 97, 114, 59, 27371, 121, 59, 17426, 97, 115, 104, 256, 59, 108, 5179, 5180, 25257, 59, 27366, 256, 101, 114, 5187, 5189, 59, 25281, 384, 98, 116, 121, 5196, 5200, 5242, 97, 114, 59, 24598, 256, 59, 105, 5199, 5205, 99, 97, 108, 512, 66, 76, 83, 84, 5217, 5221, 5226, 5236, 97, 114, 59, 25123, 105, 110, 101, 59, 16508, 101, 112, 97, 114, 97, 116, 111, 114, 59, 26456, 105, 108, 100, 101, 59, 25152, 84, 104, 105, 110, 83, 112, 97, 99, 101, 59, 24586, 114, 59, 49152, 55349, 56601, 112, 102, 59, 49152, 55349, 56653, 99, 114, 59, 49152, 55349, 56497, 100, 97, 115, 104, 59, 25258, 640, 99, 101, 102, 111, 115, 5287, 5292, 5297, 5302, 5308, 105, 114, 99, 59, 16756, 100, 103, 101, 59, 25280, 114, 59, 49152, 55349, 56602, 112, 102, 59, 49152, 55349, 56654, 99, 114, 59, 49152, 55349, 56498, 512, 102, 105, 111, 115, 5323, 5328, 5330, 5336, 114, 59, 49152, 55349, 56603, 59, 17310, 112, 102, 59, 49152, 55349, 56655, 99, 114, 59, 49152, 55349, 56499, 1152, 65, 73, 85, 97, 99, 102, 111, 115, 117, 5361, 5365, 5369, 5373, 5380, 5391, 5396, 5402, 5408, 99, 121, 59, 17455, 99, 121, 59, 17415, 99, 121, 59, 17454, 99, 117, 116, 101, 32827, 221, 16605, 256, 105, 121, 5385, 5389, 114, 99, 59, 16758, 59, 17451, 114, 59, 49152, 55349, 56604, 112, 102, 59, 49152, 55349, 56656, 99, 114, 59, 49152, 55349, 56500, 109, 108, 59, 16760, 1024, 72, 97, 99, 100, 101, 102, 111, 115, 5429, 5433, 5439, 5451, 5455, 5469, 5472, 5476, 99, 121, 59, 17430, 99, 117, 116, 101, 59, 16761, 256, 97, 121, 5444, 5449, 114, 111, 110, 59, 16765, 59, 17431, 111, 116, 59, 16763, 498, 5460, 0, 5467, 111, 87, 105, 100, 116, 232, 2777, 97, 59, 17302, 114, 59, 24872, 112, 102, 59, 24868, 99, 114, 59, 49152, 55349, 56501, 3041, 5507, 5514, 5520, 0, 5552, 5558, 5567, 0, 0, 0, 0, 5574, 5595, 5611, 5727, 5741, 0, 5781, 5787, 5810, 5817, 0, 5822, 99, 117, 116, 101, 32827, 225, 16609, 114, 101, 118, 101, 59, 16643, 768, 59, 69, 100, 105, 117, 121, 5532, 5533, 5537, 5539, 5544, 5549, 25150, 59, 49152, 8766, 819, 59, 25151, 114, 99, 32827, 226, 16610, 116, 101, 32955, 180, 774, 59, 17456, 108, 105, 103, 32827, 230, 16614, 256, 59, 114, 178, 5562, 59, 49152, 55349, 56606, 114, 97, 118, 101, 32827, 224, 16608, 256, 101, 112, 5578, 5590, 256, 102, 112, 5583, 5588, 115, 121, 109, 59, 24885, 232, 5587, 104, 97, 59, 17329, 256, 97, 112, 5599, 99, 256, 99, 108, 5604, 5607, 114, 59, 16641, 103, 59, 27199, 612, 5616, 0, 0, 5642, 640, 59, 97, 100, 115, 118, 5626, 5627, 5631, 5633, 5639, 25127, 110, 100, 59, 27221, 59, 27228, 108, 111, 112, 101, 59, 27224, 59, 27226, 896, 59, 101, 108, 109, 114, 115, 122, 5656, 5657, 5659, 5662, 5695, 5711, 5721, 25120, 59, 27044, 101, 187, 5657, 115, 100, 256, 59, 97, 5669, 5670, 25121, 1121, 5680, 5682, 5684, 5686, 5688, 5690, 5692, 5694, 59, 27048, 59, 27049, 59, 27050, 59, 27051, 59, 27052, 59, 27053, 59, 27054, 59, 27055, 116, 256, 59, 118, 5701, 5702, 25119, 98, 256, 59, 100, 5708, 5709, 25278, 59, 27037, 256, 112, 116, 5716, 5719, 104, 59, 25122, 187, 185, 97, 114, 114, 59, 25468, 256, 103, 112, 5731, 5735, 111, 110, 59, 16645, 102, 59, 49152, 55349, 56658, 896, 59, 69, 97, 101, 105, 111, 112, 4801, 5755, 5757, 5762, 5764, 5767, 5770, 59, 27248, 99, 105, 114, 59, 27247, 59, 25162, 100, 59, 25163, 115, 59, 16423, 114, 111, 120, 256, 59, 101, 4801, 5778, 241, 5763, 105, 110, 103, 32827, 229, 16613, 384, 99, 116, 121, 5793, 5798, 5800, 114, 59, 49152, 55349, 56502, 59, 16426, 109, 112, 256, 59, 101, 4801, 5807, 241, 648, 105, 108, 100, 101, 32827, 227, 16611, 109, 108, 32827, 228, 16612, 256, 99, 105, 5826, 5832, 111, 110, 105, 110, 244, 626, 110, 116, 59, 27153, 2048, 78, 97, 98, 99, 100, 101, 102, 105, 107, 108, 110, 111, 112, 114, 115, 117, 5869, 5873, 5936, 5948, 5955, 5960, 6008, 6013, 6112, 6118, 6201, 6224, 5901, 6461, 6472, 6512, 111, 116, 59, 27373, 256, 99, 114, 5878, 5918, 107, 512, 99, 101, 112, 115, 5888, 5893, 5901, 5907, 111, 110, 103, 59, 25164, 112, 115, 105, 108, 111, 110, 59, 17398, 114, 105, 109, 101, 59, 24629, 105, 109, 256, 59, 101, 5914, 5915, 25149, 113, 59, 25293, 374, 5922, 5926, 101, 101, 59, 25277, 101, 100, 256, 59, 103, 5932, 5933, 25349, 101, 187, 5933, 114, 107, 256, 59, 116, 4956, 5943, 98, 114, 107, 59, 25526, 256, 111, 121, 5889, 5953, 59, 17457, 113, 117, 111, 59, 24606, 640, 99, 109, 112, 114, 116, 5971, 5979, 5985, 5988, 5992, 97, 117, 115, 256, 59, 101, 266, 265, 112, 116, 121, 118, 59, 27056, 115, 233, 5900, 110, 111, 245, 275, 384, 97, 104, 119, 5999, 6001, 6003, 59, 17330, 59, 24886, 101, 101, 110, 59, 25196, 114, 59, 49152, 55349, 56607, 103, 896, 99, 111, 115, 116, 117, 118, 119, 6029, 6045, 6067, 6081, 6101, 6107, 6110, 384, 97, 105, 117, 6036, 6038, 6042, 240, 1888, 114, 99, 59, 26095, 112, 187, 4977, 384, 100, 112, 116, 6052, 6056, 6061, 111, 116, 59, 27136, 108, 117, 115, 59, 27137, 105, 109, 101, 115, 59, 27138, 625, 6073, 0, 0, 6078, 99, 117, 112, 59, 27142, 97, 114, 59, 26117, 114, 105, 97, 110, 103, 108, 101, 256, 100, 117, 6093, 6098, 111, 119, 110, 59, 26045, 112, 59, 26035, 112, 108, 117, 115, 59, 27140, 101, 229, 5188, 229, 5293, 97, 114, 111, 119, 59, 26893, 384, 97, 107, 111, 6125, 6182, 6197, 256, 99, 110, 6130, 6179, 107, 384, 108, 115, 116, 6138, 1451, 6146, 111, 122, 101, 110, 103, 101, 59, 27115, 114, 105, 97, 110, 103, 108, 101, 512, 59, 100, 108, 114, 6162, 6163, 6168, 6173, 26036, 111, 119, 110, 59, 26046, 101, 102, 116, 59, 26050, 105, 103, 104, 116, 59, 26040, 107, 59, 25635, 433, 6187, 0, 6195, 434, 6191, 0, 6193, 59, 26002, 59, 26001, 52, 59, 26003, 99, 107, 59, 25992, 256, 101, 111, 6206, 6221, 256, 59, 113, 6211, 6214, 49152, 61, 8421, 117, 105, 118, 59, 49152, 8801, 8421, 116, 59, 25360, 512, 112, 116, 119, 120, 6233, 6238, 6247, 6252, 102, 59, 49152, 55349, 56659, 256, 59, 116, 5067, 6243, 111, 109, 187, 5068, 116, 105, 101, 59, 25288, 1536, 68, 72, 85, 86, 98, 100, 104, 109, 112, 116, 117, 118, 6277, 6294, 6314, 6331, 6359, 6363, 6380, 6399, 6405, 6410, 6416, 6433, 512, 76, 82, 108, 114, 6286, 6288, 6290, 6292, 59, 25943, 59, 25940, 59, 25942, 59, 25939, 640, 59, 68, 85, 100, 117, 6305, 6306, 6308, 6310, 6312, 25936, 59, 25958, 59, 25961, 59, 25956, 59, 25959, 512, 76, 82, 108, 114, 6323, 6325, 6327, 6329, 59, 25949, 59, 25946, 59, 25948, 59, 25945, 896, 59, 72, 76, 82, 104, 108, 114, 6346, 6347, 6349, 6351, 6353, 6355, 6357, 25937, 59, 25964, 59, 25955, 59, 25952, 59, 25963, 59, 25954, 59, 25951, 111, 120, 59, 27081, 512, 76, 82, 108, 114, 6372, 6374, 6376, 6378, 59, 25941, 59, 25938, 59, 25872, 59, 25868, 640, 59, 68, 85, 100, 117, 1725, 6391, 6393, 6395, 6397, 59, 25957, 59, 25960, 59, 25900, 59, 25908, 105, 110, 117, 115, 59, 25247, 108, 117, 115, 59, 25246, 105, 109, 101, 115, 59, 25248, 512, 76, 82, 108, 114, 6425, 6427, 6429, 6431, 59, 25947, 59, 25944, 59, 25880, 59, 25876, 896, 59, 72, 76, 82, 104, 108, 114, 6448, 6449, 6451, 6453, 6455, 6457, 6459, 25858, 59, 25962, 59, 25953, 59, 25950, 59, 25916, 59, 25892, 59, 25884, 256, 101, 118, 291, 6466, 98, 97, 114, 32827, 166, 16550, 512, 99, 101, 105, 111, 6481, 6486, 6490, 6496, 114, 59, 49152, 55349, 56503, 109, 105, 59, 24655, 109, 256, 59, 101, 5914, 5916, 108, 384, 59, 98, 104, 6504, 6505, 6507, 16476, 59, 27077, 115, 117, 98, 59, 26568, 364, 6516, 6526, 108, 256, 59, 101, 6521, 6522, 24610, 116, 187, 6522, 112, 384, 59, 69, 101, 303, 6533, 6535, 59, 27310, 256, 59, 113, 1756, 1755, 3297, 6567, 0, 6632, 6673, 6677, 6706, 0, 6711, 6736, 0, 0, 6836, 0, 0, 6849, 0, 0, 6945, 6958, 6989, 6994, 0, 7165, 0, 7180, 384, 99, 112, 114, 6573, 6578, 6621, 117, 116, 101, 59, 16647, 768, 59, 97, 98, 99, 100, 115, 6591, 6592, 6596, 6602, 6613, 6617, 25129, 110, 100, 59, 27204, 114, 99, 117, 112, 59, 27209, 256, 97, 117, 6607, 6610, 112, 59, 27211, 112, 59, 27207, 111, 116, 59, 27200, 59, 49152, 8745, 65024, 256, 101, 111, 6626, 6629, 116, 59, 24641, 238, 1683, 512, 97, 101, 105, 117, 6640, 6651, 6657, 6661, 496, 6645, 0, 6648, 115, 59, 27213, 111, 110, 59, 16653, 100, 105, 108, 32827, 231, 16615, 114, 99, 59, 16649, 112, 115, 256, 59, 115, 6668, 6669, 27212, 109, 59, 27216, 111, 116, 59, 16651, 384, 100, 109, 110, 6683, 6688, 6694, 105, 108, 32955, 184, 429, 112, 116, 121, 118, 59, 27058, 116, 33024, 162, 59, 101, 6701, 6702, 16546, 114, 228, 434, 114, 59, 49152, 55349, 56608, 384, 99, 101, 105, 6717, 6720, 6733, 121, 59, 17479, 99, 107, 256, 59, 109, 6727, 6728, 26387, 97, 114, 107, 187, 6728, 59, 17351, 114, 896, 59, 69, 99, 101, 102, 109, 115, 6751, 6752, 6754, 6763, 6820, 6826, 6830, 26059, 59, 27075, 384, 59, 101, 108, 6761, 6762, 6765, 17094, 113, 59, 25175, 101, 609, 6772, 0, 0, 6792, 114, 114, 111, 119, 256, 108, 114, 6780, 6785, 101, 102, 116, 59, 25018, 105, 103, 104, 116, 59, 25019, 640, 82, 83, 97, 99, 100, 6802, 6804, 6806, 6810, 6815, 187, 3911, 59, 25800, 115, 116, 59, 25243, 105, 114, 99, 59, 25242, 97, 115, 104, 59, 25245, 110, 105, 110, 116, 59, 27152, 105, 100, 59, 27375, 99, 105, 114, 59, 27074, 117, 98, 115, 256, 59, 117, 6843, 6844, 26211, 105, 116, 187, 6844, 748, 6855, 6868, 6906, 0, 6922, 111, 110, 256, 59, 101, 6861, 6862, 16442, 256, 59, 113, 199, 198, 621, 6873, 0, 0, 6882, 97, 256, 59, 116, 6878, 6879, 16428, 59, 16448, 384, 59, 102, 108, 6888, 6889, 6891, 25089, 238, 4448, 101, 256, 109, 120, 6897, 6902, 101, 110, 116, 187, 6889, 101, 243, 589, 487, 6910, 0, 6919, 256, 59, 100, 4795, 6914, 111, 116, 59, 27245, 110, 244, 582, 384, 102, 114, 121, 6928, 6932, 6935, 59, 49152, 55349, 56660, 111, 228, 596, 33024, 169, 59, 115, 341, 6941, 114, 59, 24855, 256, 97, 111, 6949, 6953, 114, 114, 59, 25013, 115, 115, 59, 26391, 256, 99, 117, 6962, 6967, 114, 59, 49152, 55349, 56504, 256, 98, 112, 6972, 6980, 256, 59, 101, 6977, 6978, 27343, 59, 27345, 256, 59, 101, 6985, 6986, 27344, 59, 27346, 100, 111, 116, 59, 25327, 896, 100, 101, 108, 112, 114, 118, 119, 7008, 7020, 7031, 7042, 7084, 7124, 7161, 97, 114, 114, 256, 108, 114, 7016, 7018, 59, 26936, 59, 26933, 624, 7026, 0, 0, 7029, 114, 59, 25310, 99, 59, 25311, 97, 114, 114, 256, 59, 112, 7039, 7040, 25014, 59, 26941, 768, 59, 98, 99, 100, 111, 115, 7055, 7056, 7062, 7073, 7077, 7080, 25130, 114, 99, 97, 112, 59, 27208, 256, 97, 117, 7067, 7070, 112, 59, 27206, 112, 59, 27210, 111, 116, 59, 25229, 114, 59, 27205, 59, 49152, 8746, 65024, 512, 97, 108, 114, 118, 7093, 7103, 7134, 7139, 114, 114, 256, 59, 109, 7100, 7101, 25015, 59, 26940, 121, 384, 101, 118, 119, 7111, 7124, 7128, 113, 624, 7118, 0, 0, 7122, 114, 101, 227, 7027, 117, 227, 7029, 101, 101, 59, 25294, 101, 100, 103, 101, 59, 25295, 101, 110, 32827, 164, 16548, 101, 97, 114, 114, 111, 119, 256, 108, 114, 7150, 7155, 101, 102, 116, 187, 7040, 105, 103, 104, 116, 187, 7101, 101, 228, 7133, 256, 99, 105, 7169, 7175, 111, 110, 105, 110, 244, 503, 110, 116, 59, 25137, 108, 99, 116, 121, 59, 25389, 2432, 65, 72, 97, 98, 99, 100, 101, 102, 104, 105, 106, 108, 111, 114, 115, 116, 117, 119, 122, 7224, 7227, 7231, 7261, 7273, 7285, 7306, 7326, 7340, 7351, 7419, 7423, 7437, 7547, 7569, 7595, 7611, 7622, 7629, 114, 242, 897, 97, 114, 59, 26981, 512, 103, 108, 114, 115, 7240, 7245, 7250, 7252, 103, 101, 114, 59, 24608, 101, 116, 104, 59, 24888, 242, 4403, 104, 256, 59, 118, 7258, 7259, 24592, 187, 2314, 363, 7265, 7271, 97, 114, 111, 119, 59, 26895, 97, 227, 789, 256, 97, 121, 7278, 7283, 114, 111, 110, 59, 16655, 59, 17460, 384, 59, 97, 111, 818, 7292, 7300, 256, 103, 114, 703, 7297, 114, 59, 25034, 116, 115, 101, 113, 59, 27255, 384, 103, 108, 109, 7313, 7316, 7320, 32827, 176, 16560, 116, 97, 59, 17332, 112, 116, 121, 118, 59, 27057, 256, 105, 114, 7331, 7336, 115, 104, 116, 59, 27007, 59, 49152, 55349, 56609, 97, 114, 256, 108, 114, 7347, 7349, 187, 2268, 187, 4126, 640, 97, 101, 103, 115, 118, 7362, 888, 7382, 7388, 7392, 109, 384, 59, 111, 115, 806, 7370, 7380, 110, 100, 256, 59, 115, 806, 7377, 117, 105, 116, 59, 26214, 97, 109, 109, 97, 59, 17373, 105, 110, 59, 25330, 384, 59, 105, 111, 7399, 7400, 7416, 16631, 100, 101, 33024, 247, 59, 111, 7399, 7408, 110, 116, 105, 109, 101, 115, 59, 25287, 110, 248, 7415, 99, 121, 59, 17490, 99, 623, 7430, 0, 0, 7434, 114, 110, 59, 25374, 111, 112, 59, 25357, 640, 108, 112, 116, 117, 119, 7448, 7453, 7458, 7497, 7509, 108, 97, 114, 59, 16420, 102, 59, 49152, 55349, 56661, 640, 59, 101, 109, 112, 115, 779, 7469, 7479, 7485, 7490, 113, 256, 59, 100, 850, 7475, 111, 116, 59, 25169, 105, 110, 117, 115, 59, 25144, 108, 117, 115, 59, 25108, 113, 117, 97, 114, 101, 59, 25249, 98, 108, 101, 98, 97, 114, 119, 101, 100, 103, 229, 250, 110, 384, 97, 100, 104, 4398, 7517, 7527, 111, 119, 110, 97, 114, 114, 111, 119, 243, 7299, 97, 114, 112, 111, 111, 110, 256, 108, 114, 7538, 7542, 101, 102, 244, 7348, 105, 103, 104, 244, 7350, 354, 7551, 7557, 107, 97, 114, 111, 247, 3906, 623, 7562, 0, 0, 7566, 114, 110, 59, 25375, 111, 112, 59, 25356, 384, 99, 111, 116, 7576, 7587, 7590, 256, 114, 121, 7581, 7585, 59, 49152, 55349, 56505, 59, 17493, 108, 59, 27126, 114, 111, 107, 59, 16657, 256, 100, 114, 7600, 7604, 111, 116, 59, 25329, 105, 256, 59, 102, 7610, 6166, 26047, 256, 97, 104, 7616, 7619, 114, 242, 1065, 97, 242, 4006, 97, 110, 103, 108, 101, 59, 27046, 256, 99, 105, 7634, 7637, 121, 59, 17503, 103, 114, 97, 114, 114, 59, 26623, 2304, 68, 97, 99, 100, 101, 102, 103, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 7681, 7689, 7705, 7736, 1400, 7740, 7753, 7777, 7806, 7845, 7855, 7869, 7905, 7978, 7991, 8004, 8014, 8026, 256, 68, 111, 7686, 7476, 111, 244, 7305, 256, 99, 115, 7694, 7700, 117, 116, 101, 32827, 233, 16617, 116, 101, 114, 59, 27246, 512, 97, 105, 111, 121, 7714, 7719, 7729, 7734, 114, 111, 110, 59, 16667, 114, 256, 59, 99, 7725, 7726, 25174, 32827, 234, 16618, 108, 111, 110, 59, 25173, 59, 17485, 111, 116, 59, 16663, 256, 68, 114, 7745, 7749, 111, 116, 59, 25170, 59, 49152, 55349, 56610, 384, 59, 114, 115, 7760, 7761, 7767, 27290, 97, 118, 101, 32827, 232, 16616, 256, 59, 100, 7772, 7773, 27286, 111, 116, 59, 27288, 512, 59, 105, 108, 115, 7786, 7787, 7794, 7796, 27289, 110, 116, 101, 114, 115, 59, 25575, 59, 24851, 256, 59, 100, 7801, 7802, 27285, 111, 116, 59, 27287, 384, 97, 112, 115, 7813, 7817, 7831, 99, 114, 59, 16659, 116, 121, 384, 59, 115, 118, 7826, 7827, 7829, 25093, 101, 116, 187, 7827, 112, 256, 49, 59, 7837, 7844, 307, 7841, 7843, 59, 24580, 59, 24581, 24579, 256, 103, 115, 7850, 7852, 59, 16715, 112, 59, 24578, 256, 103, 112, 7860, 7864, 111, 110, 59, 16665, 102, 59, 49152, 55349, 56662, 384, 97, 108, 115, 7876, 7886, 7890, 114, 256, 59, 115, 7882, 7883, 25301, 108, 59, 27107, 117, 115, 59, 27249, 105, 384, 59, 108, 118, 7898, 7899, 7903, 17333, 111, 110, 187, 7899, 59, 17397, 512, 99, 115, 117, 118, 7914, 7923, 7947, 7971, 256, 105, 111, 7919, 7729, 114, 99, 187, 7726, 617, 7929, 0, 0, 7931, 237, 1352, 97, 110, 116, 256, 103, 108, 7938, 7942, 116, 114, 187, 7773, 101, 115, 115, 187, 7802, 384, 97, 101, 105, 7954, 7958, 7962, 108, 115, 59, 16445, 115, 116, 59, 25183, 118, 256, 59, 68, 565, 7968, 68, 59, 27256, 112, 97, 114, 115, 108, 59, 27109, 256, 68, 97, 7983, 7987, 111, 116, 59, 25171, 114, 114, 59, 26993, 384, 99, 100, 105, 7998, 8001, 7928, 114, 59, 24879, 111, 244, 850, 256, 97, 104, 8009, 8011, 59, 17335, 32827, 240, 16624, 256, 109, 114, 8019, 8023, 108, 32827, 235, 16619, 111, 59, 24748, 384, 99, 105, 112, 8033, 8036, 8039, 108, 59, 16417, 115, 244, 1390, 256, 101, 111, 8044, 8052, 99, 116, 97, 116, 105, 111, 238, 1369, 110, 101, 110, 116, 105, 97, 108, 229, 1401, 2529, 8082, 0, 8094, 0, 8097, 8103, 0, 0, 8134, 8140, 0, 8147, 0, 8166, 8170, 8192, 0, 8200, 8282, 108, 108, 105, 110, 103, 100, 111, 116, 115, 101, 241, 7748, 121, 59, 17476, 109, 97, 108, 101, 59, 26176, 384, 105, 108, 114, 8109, 8115, 8129, 108, 105, 103, 59, 32768, 64259, 617, 8121, 0, 0, 8125, 103, 59, 32768, 64256, 105, 103, 59, 32768, 64260, 59, 49152, 55349, 56611, 108, 105, 103, 59, 32768, 64257, 108, 105, 103, 59, 49152, 102, 106, 384, 97, 108, 116, 8153, 8156, 8161, 116, 59, 26221, 105, 103, 59, 32768, 64258, 110, 115, 59, 26033, 111, 102, 59, 16786, 496, 8174, 0, 8179, 102, 59, 49152, 55349, 56663, 256, 97, 107, 1471, 8183, 256, 59, 118, 8188, 8189, 25300, 59, 27353, 97, 114, 116, 105, 110, 116, 59, 27149, 256, 97, 111, 8204, 8277, 256, 99, 115, 8209, 8274, 945, 8218, 8240, 8248, 8261, 8264, 0, 8272, 946, 8226, 8229, 8231, 8234, 8236, 0, 8238, 32827, 189, 16573, 59, 24915, 32827, 188, 16572, 59, 24917, 59, 24921, 59, 24923, 435, 8244, 0, 8246, 59, 24916, 59, 24918, 692, 8254, 8257, 0, 0, 8259, 32827, 190, 16574, 59, 24919, 59, 24924, 53, 59, 24920, 438, 8268, 0, 8270, 59, 24922, 59, 24925, 56, 59, 24926, 108, 59, 24644, 119, 110, 59, 25378, 99, 114, 59, 49152, 55349, 56507, 2176, 69, 97, 98, 99, 100, 101, 102, 103, 105, 106, 108, 110, 111, 114, 115, 116, 118, 8322, 8329, 8351, 8357, 8368, 8372, 8432, 8437, 8442, 8447, 8451, 8466, 8504, 791, 8510, 8530, 8606, 256, 59, 108, 1613, 8327, 59, 27276, 384, 99, 109, 112, 8336, 8341, 8349, 117, 116, 101, 59, 16885, 109, 97, 256, 59, 100, 8348, 7386, 17331, 59, 27270, 114, 101, 118, 101, 59, 16671, 256, 105, 121, 8362, 8366, 114, 99, 59, 16669, 59, 17459, 111, 116, 59, 16673, 512, 59, 108, 113, 115, 1598, 1602, 8381, 8393, 384, 59, 113, 115, 1598, 1612, 8388, 108, 97, 110, 244, 1637, 512, 59, 99, 100, 108, 1637, 8402, 8405, 8421, 99, 59, 27305, 111, 116, 256, 59, 111, 8412, 8413, 27264, 256, 59, 108, 8418, 8419, 27266, 59, 27268, 256, 59, 101, 8426, 8429, 49152, 8923, 65024, 115, 59, 27284, 114, 59, 49152, 55349, 56612, 256, 59, 103, 1651, 1563, 109, 101, 108, 59, 24887, 99, 121, 59, 17491, 512, 59, 69, 97, 106, 1626, 8460, 8462, 8464, 59, 27282, 59, 27301, 59, 27300, 512, 69, 97, 101, 115, 8475, 8477, 8489, 8500, 59, 25193, 112, 256, 59, 112, 8483, 8484, 27274, 114, 111, 120, 187, 8484, 256, 59, 113, 8494, 8495, 27272, 256, 59, 113, 8494, 8475, 105, 109, 59, 25319, 112, 102, 59, 49152, 55349, 56664, 256, 99, 105, 8515, 8518, 114, 59, 24842, 109, 384, 59, 101, 108, 1643, 8526, 8528, 59, 27278, 59, 27280, 33536, 62, 59, 99, 100, 108, 113, 114, 1518, 8544, 8554, 8558, 8563, 8569, 256, 99, 105, 8549, 8551, 59, 27303, 114, 59, 27258, 111, 116, 59, 25303, 80, 97, 114, 59, 27029, 117, 101, 115, 116, 59, 27260, 640, 97, 100, 101, 108, 115, 8580, 8554, 8592, 1622, 8603, 496, 8585, 0, 8590, 112, 114, 111, 248, 8350, 114, 59, 27000, 113, 256, 108, 113, 1599, 8598, 108, 101, 115, 243, 8328, 105, 237, 1643, 256, 101, 110, 8611, 8621, 114, 116, 110, 101, 113, 113, 59, 49152, 8809, 65024, 197, 8618, 1280, 65, 97, 98, 99, 101, 102, 107, 111, 115, 121, 8644, 8647, 8689, 8693, 8698, 8728, 8733, 8751, 8808, 8829, 114, 242, 928, 512, 105, 108, 109, 114, 8656, 8660, 8663, 8667, 114, 115, 240, 5252, 102, 187, 8228, 105, 108, 244, 1705, 256, 100, 114, 8672, 8676, 99, 121, 59, 17482, 384, 59, 99, 119, 2292, 8683, 8687, 105, 114, 59, 26952, 59, 25005, 97, 114, 59, 24847, 105, 114, 99, 59, 16677, 384, 97, 108, 114, 8705, 8718, 8723, 114, 116, 115, 256, 59, 117, 8713, 8714, 26213, 105, 116, 187, 8714, 108, 105, 112, 59, 24614, 99, 111, 110, 59, 25273, 114, 59, 49152, 55349, 56613, 115, 256, 101, 119, 8739, 8745, 97, 114, 111, 119, 59, 26917, 97, 114, 111, 119, 59, 26918, 640, 97, 109, 111, 112, 114, 8762, 8766, 8771, 8798, 8803, 114, 114, 59, 25087, 116, 104, 116, 59, 25147, 107, 256, 108, 114, 8777, 8787, 101, 102, 116, 97, 114, 114, 111, 119, 59, 25001, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 25002, 102, 59, 49152, 55349, 56665, 98, 97, 114, 59, 24597, 384, 99, 108, 116, 8815, 8820, 8824, 114, 59, 49152, 55349, 56509, 97, 115, 232, 8692, 114, 111, 107, 59, 16679, 256, 98, 112, 8834, 8839, 117, 108, 108, 59, 24643, 104, 101, 110, 187, 7259, 2785, 8867, 0, 8874, 0, 8888, 8901, 8910, 0, 8917, 8947, 0, 0, 8952, 8994, 9063, 9058, 9087, 0, 9094, 9130, 9140, 99, 117, 116, 101, 32827, 237, 16621, 384, 59, 105, 121, 1905, 8880, 8885, 114, 99, 32827, 238, 16622, 59, 17464, 256, 99, 120, 8892, 8895, 121, 59, 17461, 99, 108, 32827, 161, 16545, 256, 102, 114, 927, 8905, 59, 49152, 55349, 56614, 114, 97, 118, 101, 32827, 236, 16620, 512, 59, 105, 110, 111, 1854, 8925, 8937, 8942, 256, 105, 110, 8930, 8934, 110, 116, 59, 27148, 116, 59, 25133, 102, 105, 110, 59, 27100, 116, 97, 59, 24873, 108, 105, 103, 59, 16691, 384, 97, 111, 112, 8958, 8986, 8989, 384, 99, 103, 116, 8965, 8968, 8983, 114, 59, 16683, 384, 101, 108, 112, 1823, 8975, 8979, 105, 110, 229, 1934, 97, 114, 244, 1824, 104, 59, 16689, 102, 59, 25271, 101, 100, 59, 16821, 640, 59, 99, 102, 111, 116, 1268, 9004, 9009, 9021, 9025, 97, 114, 101, 59, 24837, 105, 110, 256, 59, 116, 9016, 9017, 25118, 105, 101, 59, 27101, 100, 111, 244, 8985, 640, 59, 99, 101, 108, 112, 1879, 9036, 9040, 9051, 9057, 97, 108, 59, 25274, 256, 103, 114, 9045, 9049, 101, 114, 243, 5475, 227, 9037, 97, 114, 104, 107, 59, 27159, 114, 111, 100, 59, 27196, 512, 99, 103, 112, 116, 9071, 9074, 9078, 9083, 121, 59, 17489, 111, 110, 59, 16687, 102, 59, 49152, 55349, 56666, 97, 59, 17337, 117, 101, 115, 116, 32827, 191, 16575, 256, 99, 105, 9098, 9103, 114, 59, 49152, 55349, 56510, 110, 640, 59, 69, 100, 115, 118, 1268, 9115, 9117, 9121, 1267, 59, 25337, 111, 116, 59, 25333, 256, 59, 118, 9126, 9127, 25332, 59, 25331, 256, 59, 105, 1911, 9134, 108, 100, 101, 59, 16681, 491, 9144, 0, 9148, 99, 121, 59, 17494, 108, 32827, 239, 16623, 768, 99, 102, 109, 111, 115, 117, 9164, 9175, 9180, 9185, 9191, 9205, 256, 105, 121, 9169, 9173, 114, 99, 59, 16693, 59, 17465, 114, 59, 49152, 55349, 56615, 97, 116, 104, 59, 16951, 112, 102, 59, 49152, 55349, 56667, 483, 9196, 0, 9201, 114, 59, 49152, 55349, 56511, 114, 99, 121, 59, 17496, 107, 99, 121, 59, 17492, 1024, 97, 99, 102, 103, 104, 106, 111, 115, 9227, 9238, 9250, 9255, 9261, 9265, 9269, 9275, 112, 112, 97, 256, 59, 118, 9235, 9236, 17338, 59, 17392, 256, 101, 121, 9243, 9248, 100, 105, 108, 59, 16695, 59, 17466, 114, 59, 49152, 55349, 56616, 114, 101, 101, 110, 59, 16696, 99, 121, 59, 17477, 99, 121, 59, 17500, 112, 102, 59, 49152, 55349, 56668, 99, 114, 59, 49152, 55349, 56512, 2944, 65, 66, 69, 72, 97, 98, 99, 100, 101, 102, 103, 104, 106, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 9328, 9345, 9350, 9357, 9361, 9486, 9533, 9562, 9600, 9806, 9822, 9829, 9849, 9853, 9882, 9906, 9944, 10077, 10088, 10123, 10176, 10241, 10258, 384, 97, 114, 116, 9335, 9338, 9340, 114, 242, 2502, 242, 917, 97, 105, 108, 59, 26907, 97, 114, 114, 59, 26894, 256, 59, 103, 2452, 9355, 59, 27275, 97, 114, 59, 26978, 2403, 9381, 0, 9386, 0, 9393, 0, 0, 0, 0, 0, 9397, 9402, 0, 9414, 9416, 9421, 0, 9465, 117, 116, 101, 59, 16698, 109, 112, 116, 121, 118, 59, 27060, 114, 97, 238, 2124, 98, 100, 97, 59, 17339, 103, 384, 59, 100, 108, 2190, 9409, 9411, 59, 27025, 229, 2190, 59, 27269, 117, 111, 32827, 171, 16555, 114, 1024, 59, 98, 102, 104, 108, 112, 115, 116, 2201, 9438, 9446, 9449, 9451, 9454, 9457, 9461, 256, 59, 102, 2205, 9443, 115, 59, 26911, 115, 59, 26909, 235, 8786, 112, 59, 25003, 108, 59, 26937, 105, 109, 59, 26995, 108, 59, 24994, 384, 59, 97, 101, 9471, 9472, 9476, 27307, 105, 108, 59, 26905, 256, 59, 115, 9481, 9482, 27309, 59, 49152, 10925, 65024, 384, 97, 98, 114, 9493, 9497, 9501, 114, 114, 59, 26892, 114, 107, 59, 26482, 256, 97, 107, 9506, 9516, 99, 256, 101, 107, 9512, 9514, 59, 16507, 59, 16475, 256, 101, 115, 9521, 9523, 59, 27019, 108, 256, 100, 117, 9529, 9531, 59, 27023, 59, 27021, 512, 97, 101, 117, 121, 9542, 9547, 9558, 9560, 114, 111, 110, 59, 16702, 256, 100, 105, 9552, 9556, 105, 108, 59, 16700, 236, 2224, 226, 9513, 59, 17467, 512, 99, 113, 114, 115, 9571, 9574, 9581, 9597, 97, 59, 26934, 117, 111, 256, 59, 114, 3609, 5958, 256, 100, 117, 9586, 9591, 104, 97, 114, 59, 26983, 115, 104, 97, 114, 59, 26955, 104, 59, 25010, 640, 59, 102, 103, 113, 115, 9611, 9612, 2441, 9715, 9727, 25188, 116, 640, 97, 104, 108, 114, 116, 9624, 9636, 9655, 9666, 9704, 114, 114, 111, 119, 256, 59, 116, 2201, 9633, 97, 233, 9462, 97, 114, 112, 111, 111, 110, 256, 100, 117, 9647, 9652, 111, 119, 110, 187, 1114, 112, 187, 2406, 101, 102, 116, 97, 114, 114, 111, 119, 115, 59, 25031, 105, 103, 104, 116, 384, 97, 104, 115, 9677, 9686, 9694, 114, 114, 111, 119, 256, 59, 115, 2292, 2215, 97, 114, 112, 111, 111, 110, 243, 3992, 113, 117, 105, 103, 97, 114, 114, 111, 247, 8688, 104, 114, 101, 101, 116, 105, 109, 101, 115, 59, 25291, 384, 59, 113, 115, 9611, 2451, 9722, 108, 97, 110, 244, 2476, 640, 59, 99, 100, 103, 115, 2476, 9738, 9741, 9757, 9768, 99, 59, 27304, 111, 116, 256, 59, 111, 9748, 9749, 27263, 256, 59, 114, 9754, 9755, 27265, 59, 27267, 256, 59, 101, 9762, 9765, 49152, 8922, 65024, 115, 59, 27283, 640, 97, 100, 101, 103, 115, 9779, 9785, 9789, 9801, 9803, 112, 112, 114, 111, 248, 9414, 111, 116, 59, 25302, 113, 256, 103, 113, 9795, 9797, 244, 2441, 103, 116, 242, 9356, 244, 2459, 105, 237, 2482, 384, 105, 108, 114, 9813, 2273, 9818, 115, 104, 116, 59, 27004, 59, 49152, 55349, 56617, 256, 59, 69, 2460, 9827, 59, 27281, 353, 9833, 9846, 114, 256, 100, 117, 9650, 9838, 256, 59, 108, 2405, 9843, 59, 26986, 108, 107, 59, 25988, 99, 121, 59, 17497, 640, 59, 97, 99, 104, 116, 2632, 9864, 9867, 9873, 9878, 114, 242, 9665, 111, 114, 110, 101, 242, 7432, 97, 114, 100, 59, 26987, 114, 105, 59, 26106, 256, 105, 111, 9887, 9892, 100, 111, 116, 59, 16704, 117, 115, 116, 256, 59, 97, 9900, 9901, 25520, 99, 104, 101, 187, 9901, 512, 69, 97, 101, 115, 9915, 9917, 9929, 9940, 59, 25192, 112, 256, 59, 112, 9923, 9924, 27273, 114, 111, 120, 187, 9924, 256, 59, 113, 9934, 9935, 27271, 256, 59, 113, 9934, 9915, 105, 109, 59, 25318, 1024, 97, 98, 110, 111, 112, 116, 119, 122, 9961, 9972, 9975, 10010, 10031, 10049, 10055, 10064, 256, 110, 114, 9966, 9969, 103, 59, 26604, 114, 59, 25085, 114, 235, 2241, 103, 384, 108, 109, 114, 9983, 9997, 10004, 101, 102, 116, 256, 97, 114, 2534, 9991, 105, 103, 104, 116, 225, 2546, 97, 112, 115, 116, 111, 59, 26620, 105, 103, 104, 116, 225, 2557, 112, 97, 114, 114, 111, 119, 256, 108, 114, 10021, 10025, 101, 102, 244, 9453, 105, 103, 104, 116, 59, 25004, 384, 97, 102, 108, 10038, 10041, 10045, 114, 59, 27013, 59, 49152, 55349, 56669, 117, 115, 59, 27181, 105, 109, 101, 115, 59, 27188, 353, 10059, 10063, 115, 116, 59, 25111, 225, 4942, 384, 59, 101, 102, 10071, 10072, 6144, 26058, 110, 103, 101, 187, 10072, 97, 114, 256, 59, 108, 10084, 10085, 16424, 116, 59, 27027, 640, 97, 99, 104, 109, 116, 10099, 10102, 10108, 10117, 10119, 114, 242, 2216, 111, 114, 110, 101, 242, 7564, 97, 114, 256, 59, 100, 3992, 10115, 59, 26989, 59, 24590, 114, 105, 59, 25279, 768, 97, 99, 104, 105, 113, 116, 10136, 10141, 2624, 10146, 10158, 10171, 113, 117, 111, 59, 24633, 114, 59, 49152, 55349, 56513, 109, 384, 59, 101, 103, 2482, 10154, 10156, 59, 27277, 59, 27279, 256, 98, 117, 9514, 10163, 111, 256, 59, 114, 3615, 10169, 59, 24602, 114, 111, 107, 59, 16706, 33792, 60, 59, 99, 100, 104, 105, 108, 113, 114, 2091, 10194, 9785, 10204, 10208, 10213, 10218, 10224, 256, 99, 105, 10199, 10201, 59, 27302, 114, 59, 27257, 114, 101, 229, 9714, 109, 101, 115, 59, 25289, 97, 114, 114, 59, 26998, 117, 101, 115, 116, 59, 27259, 256, 80, 105, 10229, 10233, 97, 114, 59, 27030, 384, 59, 101, 102, 10240, 2349, 6171, 26051, 114, 256, 100, 117, 10247, 10253, 115, 104, 97, 114, 59, 26954, 104, 97, 114, 59, 26982, 256, 101, 110, 10263, 10273, 114, 116, 110, 101, 113, 113, 59, 49152, 8808, 65024, 197, 10270, 1792, 68, 97, 99, 100, 101, 102, 104, 105, 108, 110, 111, 112, 115, 117, 10304, 10309, 10370, 10382, 10387, 10400, 10405, 10408, 10458, 10466, 10468, 2691, 10483, 10498, 68, 111, 116, 59, 25146, 512, 99, 108, 112, 114, 10318, 10322, 10339, 10365, 114, 32827, 175, 16559, 256, 101, 116, 10327, 10329, 59, 26178, 256, 59, 101, 10334, 10335, 26400, 115, 101, 187, 10335, 256, 59, 115, 4155, 10344, 116, 111, 512, 59, 100, 108, 117, 4155, 10355, 10359, 10363, 111, 119, 238, 1164, 101, 102, 244, 2319, 240, 5073, 107, 101, 114, 59, 26030, 256, 111, 121, 10375, 10380, 109, 109, 97, 59, 27177, 59, 17468, 97, 115, 104, 59, 24596, 97, 115, 117, 114, 101, 100, 97, 110, 103, 108, 101, 187, 5670, 114, 59, 49152, 55349, 56618, 111, 59, 24871, 384, 99, 100, 110, 10415, 10420, 10441, 114, 111, 32827, 181, 16565, 512, 59, 97, 99, 100, 5220, 10429, 10432, 10436, 115, 244, 5799, 105, 114, 59, 27376, 111, 116, 32955, 183, 437, 117, 115, 384, 59, 98, 100, 10450, 6403, 10451, 25106, 256, 59, 117, 7484, 10456, 59, 27178, 355, 10462, 10465, 112, 59, 27355, 242, 8722, 240, 2689, 256, 100, 112, 10473, 10478, 101, 108, 115, 59, 25255, 102, 59, 49152, 55349, 56670, 256, 99, 116, 10488, 10493, 114, 59, 49152, 55349, 56514, 112, 111, 115, 187, 5533, 384, 59, 108, 109, 10505, 10506, 10509, 17340, 116, 105, 109, 97, 112, 59, 25272, 3072, 71, 76, 82, 86, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, 109, 111, 112, 114, 115, 116, 117, 118, 119, 10562, 10579, 10622, 10633, 10648, 10714, 10729, 10773, 10778, 10840, 10845, 10883, 10901, 10916, 10920, 11012, 11015, 11076, 11135, 11182, 11316, 11367, 11388, 11497, 256, 103, 116, 10567, 10571, 59, 49152, 8921, 824, 256, 59, 118, 10576, 3023, 49152, 8811, 8402, 384, 101, 108, 116, 10586, 10610, 10614, 102, 116, 256, 97, 114, 10593, 10599, 114, 114, 111, 119, 59, 25037, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 25038, 59, 49152, 8920, 824, 256, 59, 118, 10619, 3143, 49152, 8810, 8402, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 25039, 256, 68, 100, 10638, 10643, 97, 115, 104, 59, 25263, 97, 115, 104, 59, 25262, 640, 98, 99, 110, 112, 116, 10659, 10663, 10668, 10673, 10700, 108, 97, 187, 734, 117, 116, 101, 59, 16708, 103, 59, 49152, 8736, 8402, 640, 59, 69, 105, 111, 112, 3460, 10684, 10688, 10693, 10696, 59, 49152, 10864, 824, 100, 59, 49152, 8779, 824, 115, 59, 16713, 114, 111, 248, 3460, 117, 114, 256, 59, 97, 10707, 10708, 26222, 108, 256, 59, 115, 10707, 2872, 499, 10719, 0, 10723, 112, 32955, 160, 2871, 109, 112, 256, 59, 101, 3065, 3072, 640, 97, 101, 111, 117, 121, 10740, 10750, 10755, 10768, 10771, 496, 10745, 0, 10747, 59, 27203, 111, 110, 59, 16712, 100, 105, 108, 59, 16710, 110, 103, 256, 59, 100, 3454, 10762, 111, 116, 59, 49152, 10861, 824, 112, 59, 27202, 59, 17469, 97, 115, 104, 59, 24595, 896, 59, 65, 97, 100, 113, 115, 120, 2962, 10793, 10797, 10811, 10817, 10821, 10832, 114, 114, 59, 25047, 114, 256, 104, 114, 10803, 10806, 107, 59, 26916, 256, 59, 111, 5106, 5104, 111, 116, 59, 49152, 8784, 824, 117, 105, 246, 2915, 256, 101, 105, 10826, 10830, 97, 114, 59, 26920, 237, 2968, 105, 115, 116, 256, 59, 115, 2976, 2975, 114, 59, 49152, 55349, 56619, 512, 69, 101, 115, 116, 3013, 10854, 10873, 10876, 384, 59, 113, 115, 3004, 10861, 3041, 384, 59, 113, 115, 3004, 3013, 10868, 108, 97, 110, 244, 3042, 105, 237, 3050, 256, 59, 114, 2998, 10881, 187, 2999, 384, 65, 97, 112, 10890, 10893, 10897, 114, 242, 10609, 114, 114, 59, 25006, 97, 114, 59, 27378, 384, 59, 115, 118, 3981, 10908, 3980, 256, 59, 100, 10913, 10914, 25340, 59, 25338, 99, 121, 59, 17498, 896, 65, 69, 97, 100, 101, 115, 116, 10935, 10938, 10942, 10946, 10949, 10998, 11001, 114, 242, 10598, 59, 49152, 8806, 824, 114, 114, 59, 24986, 114, 59, 24613, 512, 59, 102, 113, 115, 3131, 10958, 10979, 10991, 116, 256, 97, 114, 10964, 10969, 114, 114, 111, 247, 10945, 105, 103, 104, 116, 97, 114, 114, 111, 247, 10896, 384, 59, 113, 115, 3131, 10938, 10986, 108, 97, 110, 244, 3157, 256, 59, 115, 3157, 10996, 187, 3126, 105, 237, 3165, 256, 59, 114, 3125, 11006, 105, 256, 59, 101, 3098, 3109, 105, 228, 3472, 256, 112, 116, 11020, 11025, 102, 59, 49152, 55349, 56671, 33152, 172, 59, 105, 110, 11033, 11034, 11062, 16556, 110, 512, 59, 69, 100, 118, 2953, 11044, 11048, 11054, 59, 49152, 8953, 824, 111, 116, 59, 49152, 8949, 824, 481, 2953, 11059, 11061, 59, 25335, 59, 25334, 105, 256, 59, 118, 3256, 11068, 481, 3256, 11073, 11075, 59, 25342, 59, 25341, 384, 97, 111, 114, 11083, 11107, 11113, 114, 512, 59, 97, 115, 116, 2939, 11093, 11098, 11103, 108, 108, 101, 236, 2939, 108, 59, 49152, 11005, 8421, 59, 49152, 8706, 824, 108, 105, 110, 116, 59, 27156, 384, 59, 99, 101, 3218, 11120, 11123, 117, 229, 3237, 256, 59, 99, 3224, 11128, 256, 59, 101, 3218, 11133, 241, 3224, 512, 65, 97, 105, 116, 11144, 11147, 11165, 11175, 114, 242, 10632, 114, 114, 384, 59, 99, 119, 11156, 11157, 11161, 24987, 59, 49152, 10547, 824, 59, 49152, 8605, 824, 103, 104, 116, 97, 114, 114, 111, 119, 187, 11157, 114, 105, 256, 59, 101, 3275, 3286, 896, 99, 104, 105, 109, 112, 113, 117, 11197, 11213, 11225, 11012, 2936, 11236, 11247, 512, 59, 99, 101, 114, 3378, 11206, 3383, 11209, 117, 229, 3397, 59, 49152, 55349, 56515, 111, 114, 116, 621, 11013, 0, 0, 11222, 97, 114, 225, 11094, 109, 256, 59, 101, 3438, 11231, 256, 59, 113, 3444, 3443, 115, 117, 256, 98, 112, 11243, 11245, 229, 3320, 229, 3339, 384, 98, 99, 112, 11254, 11281, 11289, 512, 59, 69, 101, 115, 11263, 11264, 3362, 11268, 25220, 59, 49152, 10949, 824, 101, 116, 256, 59, 101, 3355, 11275, 113, 256, 59, 113, 3363, 11264, 99, 256, 59, 101, 3378, 11287, 241, 3384, 512, 59, 69, 101, 115, 11298, 11299, 3423, 11303, 25221, 59, 49152, 10950, 824, 101, 116, 256, 59, 101, 3416, 11310, 113, 256, 59, 113, 3424, 11299, 512, 103, 105, 108, 114, 11325, 11327, 11333, 11335, 236, 3031, 108, 100, 101, 32827, 241, 16625, 231, 3139, 105, 97, 110, 103, 108, 101, 256, 108, 114, 11346, 11356, 101, 102, 116, 256, 59, 101, 3098, 11354, 241, 3110, 105, 103, 104, 116, 256, 59, 101, 3275, 11365, 241, 3287, 256, 59, 109, 11372, 11373, 17341, 384, 59, 101, 115, 11380, 11381, 11385, 16419, 114, 111, 59, 24854, 112, 59, 24583, 1152, 68, 72, 97, 100, 103, 105, 108, 114, 115, 11407, 11412, 11417, 11422, 11427, 11440, 11446, 11475, 11491, 97, 115, 104, 59, 25261, 97, 114, 114, 59, 26884, 112, 59, 49152, 8781, 8402, 97, 115, 104, 59, 25260, 256, 101, 116, 11432, 11436, 59, 49152, 8805, 8402, 59, 49152, 62, 8402, 110, 102, 105, 110, 59, 27102, 384, 65, 101, 116, 11453, 11457, 11461, 114, 114, 59, 26882, 59, 49152, 8804, 8402, 256, 59, 114, 11466, 11469, 49152, 60, 8402, 105, 101, 59, 49152, 8884, 8402, 256, 65, 116, 11480, 11484, 114, 114, 59, 26883, 114, 105, 101, 59, 49152, 8885, 8402, 105, 109, 59, 49152, 8764, 8402, 384, 65, 97, 110, 11504, 11508, 11522, 114, 114, 59, 25046, 114, 256, 104, 114, 11514, 11517, 107, 59, 26915, 256, 59, 111, 5095, 5093, 101, 97, 114, 59, 26919, 4691, 6805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11565, 0, 11576, 11592, 11616, 11621, 11634, 11652, 6919, 0, 0, 11661, 11691, 0, 11720, 11726, 0, 11740, 11801, 11819, 11838, 11843, 256, 99, 115, 11569, 6807, 117, 116, 101, 32827, 243, 16627, 256, 105, 121, 11580, 11589, 114, 256, 59, 99, 6814, 11586, 32827, 244, 16628, 59, 17470, 640, 97, 98, 105, 111, 115, 6816, 11602, 11607, 456, 11610, 108, 97, 99, 59, 16721, 118, 59, 27192, 111, 108, 100, 59, 27068, 108, 105, 103, 59, 16723, 256, 99, 114, 11625, 11629, 105, 114, 59, 27071, 59, 49152, 55349, 56620, 879, 11641, 0, 0, 11644, 0, 11650, 110, 59, 17115, 97, 118, 101, 32827, 242, 16626, 59, 27073, 256, 98, 109, 11656, 3572, 97, 114, 59, 27061, 512, 97, 99, 105, 116, 11669, 11672, 11685, 11688, 114, 242, 6784, 256, 105, 114, 11677, 11680, 114, 59, 27070, 111, 115, 115, 59, 27067, 110, 229, 3666, 59, 27072, 384, 97, 101, 105, 11697, 11701, 11705, 99, 114, 59, 16717, 103, 97, 59, 17353, 384, 99, 100, 110, 11712, 11717, 461, 114, 111, 110, 59, 17343, 59, 27062, 112, 102, 59, 49152, 55349, 56672, 384, 97, 101, 108, 11732, 11735, 466, 114, 59, 27063, 114, 112, 59, 27065, 896, 59, 97, 100, 105, 111, 115, 118, 11754, 11755, 11758, 11784, 11789, 11792, 11798, 25128, 114, 242, 6790, 512, 59, 101, 102, 109, 11767, 11768, 11778, 11781, 27229, 114, 256, 59, 111, 11774, 11775, 24884, 102, 187, 11775, 32827, 170, 16554, 32827, 186, 16570, 103, 111, 102, 59, 25270, 114, 59, 27222, 108, 111, 112, 101, 59, 27223, 59, 27227, 384, 99, 108, 111, 11807, 11809, 11815, 242, 11777, 97, 115, 104, 32827, 248, 16632, 108, 59, 25240, 105, 364, 11823, 11828, 100, 101, 32827, 245, 16629, 101, 115, 256, 59, 97, 475, 11834, 115, 59, 27190, 109, 108, 32827, 246, 16630, 98, 97, 114, 59, 25405, 2785, 11870, 0, 11901, 0, 11904, 11933, 0, 11938, 11961, 0, 0, 11979, 3740, 0, 12051, 0, 0, 12075, 12220, 0, 12232, 114, 512, 59, 97, 115, 116, 1027, 11879, 11890, 3717, 33024, 182, 59, 108, 11885, 11886, 16566, 108, 101, 236, 1027, 617, 11896, 0, 0, 11899, 109, 59, 27379, 59, 27389, 121, 59, 17471, 114, 640, 99, 105, 109, 112, 116, 11915, 11919, 11923, 6245, 11927, 110, 116, 59, 16421, 111, 100, 59, 16430, 105, 108, 59, 24624, 101, 110, 107, 59, 24625, 114, 59, 49152, 55349, 56621, 384, 105, 109, 111, 11944, 11952, 11956, 256, 59, 118, 11949, 11950, 17350, 59, 17365, 109, 97, 244, 2678, 110, 101, 59, 26126, 384, 59, 116, 118, 11967, 11968, 11976, 17344, 99, 104, 102, 111, 114, 107, 187, 8189, 59, 17366, 256, 97, 117, 11983, 11999, 110, 256, 99, 107, 11989, 11997, 107, 256, 59, 104, 8692, 11995, 59, 24846, 246, 8692, 115, 1152, 59, 97, 98, 99, 100, 101, 109, 115, 116, 12019, 12020, 6408, 12025, 12029, 12036, 12038, 12042, 12046, 16427, 99, 105, 114, 59, 27171, 105, 114, 59, 27170, 256, 111, 117, 7488, 12034, 59, 27173, 59, 27250, 110, 32955, 177, 3741, 105, 109, 59, 27174, 119, 111, 59, 27175, 384, 105, 112, 117, 12057, 12064, 12069, 110, 116, 105, 110, 116, 59, 27157, 102, 59, 49152, 55349, 56673, 110, 100, 32827, 163, 16547, 1280, 59, 69, 97, 99, 101, 105, 110, 111, 115, 117, 3784, 12095, 12097, 12100, 12103, 12161, 12169, 12178, 12158, 12214, 59, 27315, 112, 59, 27319, 117, 229, 3801, 256, 59, 99, 3790, 12108, 768, 59, 97, 99, 101, 110, 115, 3784, 12121, 12127, 12134, 12136, 12158, 112, 112, 114, 111, 248, 12099, 117, 114, 108, 121, 101, 241, 3801, 241, 3790, 384, 97, 101, 115, 12143, 12150, 12154, 112, 112, 114, 111, 120, 59, 27321, 113, 113, 59, 27317, 105, 109, 59, 25320, 105, 237, 3807, 109, 101, 256, 59, 115, 12168, 3758, 24626, 384, 69, 97, 115, 12152, 12176, 12154, 240, 12149, 384, 100, 102, 112, 3820, 12185, 12207, 384, 97, 108, 115, 12192, 12197, 12202, 108, 97, 114, 59, 25390, 105, 110, 101, 59, 25362, 117, 114, 102, 59, 25363, 256, 59, 116, 3835, 12212, 239, 3835, 114, 101, 108, 59, 25264, 256, 99, 105, 12224, 12229, 114, 59, 49152, 55349, 56517, 59, 17352, 110, 99, 115, 112, 59, 24584, 768, 102, 105, 111, 112, 115, 117, 12250, 8930, 12255, 12261, 12267, 12273, 114, 59, 49152, 55349, 56622, 112, 102, 59, 49152, 55349, 56674, 114, 105, 109, 101, 59, 24663, 99, 114, 59, 49152, 55349, 56518, 384, 97, 101, 111, 12280, 12297, 12307, 116, 256, 101, 105, 12286, 12293, 114, 110, 105, 111, 110, 243, 1712, 110, 116, 59, 27158, 115, 116, 256, 59, 101, 12304, 12305, 16447, 241, 7961, 244, 3860, 2688, 65, 66, 72, 97, 98, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 112, 114, 115, 116, 117, 120, 12352, 12369, 12373, 12377, 12512, 12558, 12587, 12615, 12642, 12658, 12686, 12806, 12821, 12836, 12841, 12888, 12910, 12914, 12944, 12976, 12983, 384, 97, 114, 116, 12359, 12362, 12364, 114, 242, 4275, 242, 989, 97, 105, 108, 59, 26908, 97, 114, 242, 7269, 97, 114, 59, 26980, 896, 99, 100, 101, 110, 113, 114, 116, 12392, 12405, 12408, 12415, 12431, 12436, 12492, 256, 101, 117, 12397, 12401, 59, 49152, 8765, 817, 116, 101, 59, 16725, 105, 227, 4462, 109, 112, 116, 121, 118, 59, 27059, 103, 512, 59, 100, 101, 108, 4049, 12425, 12427, 12429, 59, 27026, 59, 27045, 229, 4049, 117, 111, 32827, 187, 16571, 114, 1408, 59, 97, 98, 99, 102, 104, 108, 112, 115, 116, 119, 4060, 12460, 12463, 12471, 12473, 12476, 12478, 12480, 12483, 12487, 12490, 112, 59, 26997, 256, 59, 102, 4064, 12468, 115, 59, 26912, 59, 26931, 115, 59, 26910, 235, 8797, 240, 10030, 108, 59, 26949, 105, 109, 59, 26996, 108, 59, 24995, 59, 24989, 256, 97, 105, 12497, 12501, 105, 108, 59, 26906, 111, 256, 59, 110, 12507, 12508, 25142, 97, 108, 243, 3870, 384, 97, 98, 114, 12519, 12522, 12526, 114, 242, 6117, 114, 107, 59, 26483, 256, 97, 107, 12531, 12541, 99, 256, 101, 107, 12537, 12539, 59, 16509, 59, 16477, 256, 101, 115, 12546, 12548, 59, 27020, 108, 256, 100, 117, 12554, 12556, 59, 27022, 59, 27024, 512, 97, 101, 117, 121, 12567, 12572, 12583, 12585, 114, 111, 110, 59, 16729, 256, 100, 105, 12577, 12581, 105, 108, 59, 16727, 236, 4082, 226, 12538, 59, 17472, 512, 99, 108, 113, 115, 12596, 12599, 12605, 12612, 97, 59, 26935, 100, 104, 97, 114, 59, 26985, 117, 111, 256, 59, 114, 526, 525, 104, 59, 25011, 384, 97, 99, 103, 12622, 12639, 3908, 108, 512, 59, 105, 112, 115, 3960, 12632, 12635, 4252, 110, 229, 4283, 97, 114, 244, 4009, 116, 59, 26029, 384, 105, 108, 114, 12649, 4131, 12654, 115, 104, 116, 59, 27005, 59, 49152, 55349, 56623, 256, 97, 111, 12663, 12678, 114, 256, 100, 117, 12669, 12671, 187, 1147, 256, 59, 108, 4241, 12676, 59, 26988, 256, 59, 118, 12683, 12684, 17345, 59, 17393, 384, 103, 110, 115, 12693, 12793, 12796, 104, 116, 768, 97, 104, 108, 114, 115, 116, 12708, 12720, 12738, 12760, 12772, 12782, 114, 114, 111, 119, 256, 59, 116, 4060, 12717, 97, 233, 12488, 97, 114, 112, 111, 111, 110, 256, 100, 117, 12731, 12735, 111, 119, 238, 12670, 112, 187, 4242, 101, 102, 116, 256, 97, 104, 12746, 12752, 114, 114, 111, 119, 243, 4074, 97, 114, 112, 111, 111, 110, 243, 1361, 105, 103, 104, 116, 97, 114, 114, 111, 119, 115, 59, 25033, 113, 117, 105, 103, 97, 114, 114, 111, 247, 12491, 104, 114, 101, 101, 116, 105, 109, 101, 115, 59, 25292, 103, 59, 17114, 105, 110, 103, 100, 111, 116, 115, 101, 241, 7986, 384, 97, 104, 109, 12813, 12816, 12819, 114, 242, 4074, 97, 242, 1361, 59, 24591, 111, 117, 115, 116, 256, 59, 97, 12830, 12831, 25521, 99, 104, 101, 187, 12831, 109, 105, 100, 59, 27374, 512, 97, 98, 112, 116, 12850, 12861, 12864, 12882, 256, 110, 114, 12855, 12858, 103, 59, 26605, 114, 59, 25086, 114, 235, 4099, 384, 97, 102, 108, 12871, 12874, 12878, 114, 59, 27014, 59, 49152, 55349, 56675, 117, 115, 59, 27182, 105, 109, 101, 115, 59, 27189, 256, 97, 112, 12893, 12903, 114, 256, 59, 103, 12899, 12900, 16425, 116, 59, 27028, 111, 108, 105, 110, 116, 59, 27154, 97, 114, 242, 12771, 512, 97, 99, 104, 113, 12923, 12928, 4284, 12933, 113, 117, 111, 59, 24634, 114, 59, 49152, 55349, 56519, 256, 98, 117, 12539, 12938, 111, 256, 59, 114, 532, 531, 384, 104, 105, 114, 12951, 12955, 12960, 114, 101, 229, 12792, 109, 101, 115, 59, 25290, 105, 512, 59, 101, 102, 108, 12970, 4185, 6177, 12971, 26041, 116, 114, 105, 59, 27086, 108, 117, 104, 97, 114, 59, 26984, 59, 24862, 3425, 13013, 13019, 13023, 13100, 13112, 13169, 0, 13178, 13220, 0, 0, 13292, 13296, 0, 13352, 13384, 13402, 13485, 13489, 13514, 13553, 0, 13846, 0, 0, 13875, 99, 117, 116, 101, 59, 16731, 113, 117, 239, 10170, 1280, 59, 69, 97, 99, 101, 105, 110, 112, 115, 121, 4589, 13043, 13045, 13055, 13058, 13067, 13071, 13087, 13094, 13097, 59, 27316, 496, 13050, 0, 13052, 59, 27320, 111, 110, 59, 16737, 117, 229, 4606, 256, 59, 100, 4595, 13063, 105, 108, 59, 16735, 114, 99, 59, 16733, 384, 69, 97, 115, 13078, 13080, 13083, 59, 27318, 112, 59, 27322, 105, 109, 59, 25321, 111, 108, 105, 110, 116, 59, 27155, 105, 237, 4612, 59, 17473, 111, 116, 384, 59, 98, 101, 13108, 7495, 13109, 25285, 59, 27238, 896, 65, 97, 99, 109, 115, 116, 120, 13126, 13130, 13143, 13147, 13150, 13155, 13165, 114, 114, 59, 25048, 114, 256, 104, 114, 13136, 13138, 235, 8744, 256, 59, 111, 2614, 2612, 116, 32827, 167, 16551, 105, 59, 16443, 119, 97, 114, 59, 26921, 109, 256, 105, 110, 13161, 240, 110, 117, 243, 241, 116, 59, 26422, 114, 256, 59, 111, 13174, 8277, 49152, 55349, 56624, 512, 97, 99, 111, 121, 13186, 13190, 13201, 13216, 114, 112, 59, 26223, 256, 104, 121, 13195, 13199, 99, 121, 59, 17481, 59, 17480, 114, 116, 621, 13209, 0, 0, 13212, 105, 228, 5220, 97, 114, 97, 236, 11887, 32827, 173, 16557, 256, 103, 109, 13224, 13236, 109, 97, 384, 59, 102, 118, 13233, 13234, 13234, 17347, 59, 17346, 1024, 59, 100, 101, 103, 108, 110, 112, 114, 4779, 13253, 13257, 13262, 13270, 13278, 13281, 13286, 111, 116, 59, 27242, 256, 59, 113, 4785, 4784, 256, 59, 69, 13267, 13268, 27294, 59, 27296, 256, 59, 69, 13275, 13276, 27293, 59, 27295, 101, 59, 25158, 108, 117, 115, 59, 27172, 97, 114, 114, 59, 26994, 97, 114, 242, 4413, 512, 97, 101, 105, 116, 13304, 13320, 13327, 13335, 256, 108, 115, 13309, 13316, 108, 115, 101, 116, 109, 233, 13162, 104, 112, 59, 27187, 112, 97, 114, 115, 108, 59, 27108, 256, 100, 108, 5219, 13332, 101, 59, 25379, 256, 59, 101, 13340, 13341, 27306, 256, 59, 115, 13346, 13347, 27308, 59, 49152, 10924, 65024, 384, 102, 108, 112, 13358, 13363, 13378, 116, 99, 121, 59, 17484, 256, 59, 98, 13368, 13369, 16431, 256, 59, 97, 13374, 13375, 27076, 114, 59, 25407, 102, 59, 49152, 55349, 56676, 97, 256, 100, 114, 13389, 1026, 101, 115, 256, 59, 117, 13396, 13397, 26208, 105, 116, 187, 13397, 384, 99, 115, 117, 13408, 13433, 13471, 256, 97, 117, 13413, 13423, 112, 256, 59, 115, 4488, 13419, 59, 49152, 8851, 65024, 112, 256, 59, 115, 4532, 13429, 59, 49152, 8852, 65024, 117, 256, 98, 112, 13439, 13455, 384, 59, 101, 115, 4503, 4508, 13446, 101, 116, 256, 59, 101, 4503, 13453, 241, 4509, 384, 59, 101, 115, 4520, 4525, 13462, 101, 116, 256, 59, 101, 4520, 13469, 241, 4526, 384, 59, 97, 102, 4475, 13478, 1456, 114, 357, 13483, 1457, 187, 4476, 97, 114, 242, 4424, 512, 99, 101, 109, 116, 13497, 13502, 13506, 13509, 114, 59, 49152, 55349, 56520, 116, 109, 238, 241, 105, 236, 13333, 97, 114, 230, 4542, 256, 97, 114, 13518, 13525, 114, 256, 59, 102, 13524, 6079, 26118, 256, 97, 110, 13530, 13549, 105, 103, 104, 116, 256, 101, 112, 13539, 13546, 112, 115, 105, 108, 111, 238, 7904, 104, 233, 11951, 115, 187, 10322, 640, 98, 99, 109, 110, 112, 13563, 13662, 4617, 13707, 13710, 1152, 59, 69, 100, 101, 109, 110, 112, 114, 115, 13582, 13583, 13585, 13589, 13598, 13603, 13612, 13617, 13622, 25218, 59, 27333, 111, 116, 59, 27325, 256, 59, 100, 4570, 13594, 111, 116, 59, 27331, 117, 108, 116, 59, 27329, 256, 69, 101, 13608, 13610, 59, 27339, 59, 25226, 108, 117, 115, 59, 27327, 97, 114, 114, 59, 27001, 384, 101, 105, 117, 13629, 13650, 13653, 116, 384, 59, 101, 110, 13582, 13637, 13643, 113, 256, 59, 113, 4570, 13583, 101, 113, 256, 59, 113, 13611, 13608, 109, 59, 27335, 256, 98, 112, 13658, 13660, 59, 27349, 59, 27347, 99, 768, 59, 97, 99, 101, 110, 115, 4589, 13676, 13682, 13689, 13691, 13094, 112, 112, 114, 111, 248, 13050, 117, 114, 108, 121, 101, 241, 4606, 241, 4595, 384, 97, 101, 115, 13698, 13704, 13083, 112, 112, 114, 111, 248, 13082, 113, 241, 13079, 103, 59, 26218, 1664, 49, 50, 51, 59, 69, 100, 101, 104, 108, 109, 110, 112, 115, 13737, 13740, 13743, 4636, 13746, 13748, 13760, 13769, 13781, 13786, 13791, 13800, 13805, 32827, 185, 16569, 32827, 178, 16562, 32827, 179, 16563, 59, 27334, 256, 111, 115, 13753, 13756, 116, 59, 27326, 117, 98, 59, 27352, 256, 59, 100, 4642, 13765, 111, 116, 59, 27332, 115, 256, 111, 117, 13775, 13778, 108, 59, 26569, 98, 59, 27351, 97, 114, 114, 59, 27003, 117, 108, 116, 59, 27330, 256, 69, 101, 13796, 13798, 59, 27340, 59, 25227, 108, 117, 115, 59, 27328, 384, 101, 105, 117, 13812, 13833, 13836, 116, 384, 59, 101, 110, 4636, 13820, 13826, 113, 256, 59, 113, 4642, 13746, 101, 113, 256, 59, 113, 13799, 13796, 109, 59, 27336, 256, 98, 112, 13841, 13843, 59, 27348, 59, 27350, 384, 65, 97, 110, 13852, 13856, 13869, 114, 114, 59, 25049, 114, 256, 104, 114, 13862, 13864, 235, 8750, 256, 59, 111, 2603, 2601, 119, 97, 114, 59, 26922, 108, 105, 103, 32827, 223, 16607, 3041, 13905, 13917, 13920, 4814, 13939, 13945, 0, 13950, 14018, 0, 0, 0, 0, 0, 14043, 14083, 0, 14089, 14188, 0, 0, 0, 14215, 626, 13910, 0, 0, 13915, 103, 101, 116, 59, 25366, 59, 17348, 114, 235, 3679, 384, 97, 101, 121, 13926, 13931, 13936, 114, 111, 110, 59, 16741, 100, 105, 108, 59, 16739, 59, 17474, 108, 114, 101, 99, 59, 25365, 114, 59, 49152, 55349, 56625, 512, 101, 105, 107, 111, 13958, 13981, 14005, 14012, 498, 13963, 0, 13969, 101, 256, 52, 102, 4740, 4737, 97, 384, 59, 115, 118, 13976, 13977, 13979, 17336, 121, 109, 59, 17361, 256, 99, 110, 13986, 14002, 107, 256, 97, 115, 13992, 13998, 112, 112, 114, 111, 248, 4801, 105, 109, 187, 4780, 115, 240, 4766, 256, 97, 115, 14010, 13998, 240, 4801, 114, 110, 32827, 254, 16638, 492, 799, 14022, 8935, 101, 115, 33152, 215, 59, 98, 100, 14031, 14032, 14040, 16599, 256, 59, 97, 6415, 14037, 114, 59, 27185, 59, 27184, 384, 101, 112, 115, 14049, 14051, 14080, 225, 10829, 512, 59, 98, 99, 102, 1158, 14060, 14064, 14068, 111, 116, 59, 25398, 105, 114, 59, 27377, 256, 59, 111, 14073, 14076, 49152, 55349, 56677, 114, 107, 59, 27354, 225, 13154, 114, 105, 109, 101, 59, 24628, 384, 97, 105, 112, 14095, 14098, 14180, 100, 229, 4680, 896, 97, 100, 101, 109, 112, 115, 116, 14113, 14157, 14144, 14161, 14167, 14172, 14175, 110, 103, 108, 101, 640, 59, 100, 108, 113, 114, 14128, 14129, 14134, 14144, 14146, 26037, 111, 119, 110, 187, 7611, 101, 102, 116, 256, 59, 101, 10240, 14142, 241, 2350, 59, 25180, 105, 103, 104, 116, 256, 59, 101, 12970, 14155, 241, 4186, 111, 116, 59, 26092, 105, 110, 117, 115, 59, 27194, 108, 117, 115, 59, 27193, 98, 59, 27085, 105, 109, 101, 59, 27195, 101, 122, 105, 117, 109, 59, 25570, 384, 99, 104, 116, 14194, 14205, 14209, 256, 114, 121, 14199, 14203, 59, 49152, 55349, 56521, 59, 17478, 99, 121, 59, 17499, 114, 111, 107, 59, 16743, 256, 105, 111, 14219, 14222, 120, 244, 6007, 104, 101, 97, 100, 256, 108, 114, 14231, 14240, 101, 102, 116, 97, 114, 114, 111, 247, 2127, 105, 103, 104, 116, 97, 114, 114, 111, 119, 187, 3933, 2304, 65, 72, 97, 98, 99, 100, 102, 103, 104, 108, 109, 111, 112, 114, 115, 116, 117, 119, 14288, 14291, 14295, 14308, 14320, 14332, 14350, 14364, 14371, 14388, 14417, 14429, 14443, 14505, 14540, 14546, 14570, 14582, 114, 242, 1005, 97, 114, 59, 26979, 256, 99, 114, 14300, 14306, 117, 116, 101, 32827, 250, 16634, 242, 4432, 114, 483, 14314, 0, 14317, 121, 59, 17502, 118, 101, 59, 16749, 256, 105, 121, 14325, 14330, 114, 99, 32827, 251, 16635, 59, 17475, 384, 97, 98, 104, 14339, 14342, 14347, 114, 242, 5037, 108, 97, 99, 59, 16753, 97, 242, 5059, 256, 105, 114, 14355, 14360, 115, 104, 116, 59, 27006, 59, 49152, 55349, 56626, 114, 97, 118, 101, 32827, 249, 16633, 353, 14375, 14385, 114, 256, 108, 114, 14380, 14382, 187, 2391, 187, 4227, 108, 107, 59, 25984, 256, 99, 116, 14393, 14413, 623, 14399, 0, 0, 14410, 114, 110, 256, 59, 101, 14405, 14406, 25372, 114, 187, 14406, 111, 112, 59, 25359, 114, 105, 59, 26104, 256, 97, 108, 14422, 14426, 99, 114, 59, 16747, 32955, 168, 841, 256, 103, 112, 14434, 14438, 111, 110, 59, 16755, 102, 59, 49152, 55349, 56678, 768, 97, 100, 104, 108, 115, 117, 4427, 14456, 14461, 4978, 14481, 14496, 111, 119, 110, 225, 5043, 97, 114, 112, 111, 111, 110, 256, 108, 114, 14472, 14476, 101, 102, 244, 14381, 105, 103, 104, 244, 14383, 105, 384, 59, 104, 108, 14489, 14490, 14492, 17349, 187, 5114, 111, 110, 187, 14490, 112, 97, 114, 114, 111, 119, 115, 59, 25032, 384, 99, 105, 116, 14512, 14532, 14536, 623, 14518, 0, 0, 14529, 114, 110, 256, 59, 101, 14524, 14525, 25373, 114, 187, 14525, 111, 112, 59, 25358, 110, 103, 59, 16751, 114, 105, 59, 26105, 99, 114, 59, 49152, 55349, 56522, 384, 100, 105, 114, 14553, 14557, 14562, 111, 116, 59, 25328, 108, 100, 101, 59, 16745, 105, 256, 59, 102, 14128, 14568, 187, 6163, 256, 97, 109, 14575, 14578, 114, 242, 14504, 108, 32827, 252, 16636, 97, 110, 103, 108, 101, 59, 27047, 1920, 65, 66, 68, 97, 99, 100, 101, 102, 108, 110, 111, 112, 114, 115, 122, 14620, 14623, 14633, 14637, 14773, 14776, 14781, 14815, 14820, 14824, 14835, 14841, 14845, 14849, 14880, 114, 242, 1015, 97, 114, 256, 59, 118, 14630, 14631, 27368, 59, 27369, 97, 115, 232, 993, 256, 110, 114, 14642, 14647, 103, 114, 116, 59, 27036, 896, 101, 107, 110, 112, 114, 115, 116, 13539, 14662, 14667, 14674, 14685, 14692, 14742, 97, 112, 112, 225, 9237, 111, 116, 104, 105, 110, 231, 7830, 384, 104, 105, 114, 13547, 11976, 14681, 111, 112, 244, 12213, 256, 59, 104, 5047, 14690, 239, 12685, 256, 105, 117, 14697, 14701, 103, 109, 225, 13235, 256, 98, 112, 14706, 14724, 115, 101, 116, 110, 101, 113, 256, 59, 113, 14717, 14720, 49152, 8842, 65024, 59, 49152, 10955, 65024, 115, 101, 116, 110, 101, 113, 256, 59, 113, 14735, 14738, 49152, 8843, 65024, 59, 49152, 10956, 65024, 256, 104, 114, 14747, 14751, 101, 116, 225, 13980, 105, 97, 110, 103, 108, 101, 256, 108, 114, 14762, 14767, 101, 102, 116, 187, 2341, 105, 103, 104, 116, 187, 4177, 121, 59, 17458, 97, 115, 104, 187, 4150, 384, 101, 108, 114, 14788, 14802, 14807, 384, 59, 98, 101, 11754, 14795, 14799, 97, 114, 59, 25275, 113, 59, 25178, 108, 105, 112, 59, 25326, 256, 98, 116, 14812, 5224, 97, 242, 5225, 114, 59, 49152, 55349, 56627, 116, 114, 233, 14766, 115, 117, 256, 98, 112, 14831, 14833, 187, 3356, 187, 3417, 112, 102, 59, 49152, 55349, 56679, 114, 111, 240, 3835, 116, 114, 233, 14772, 256, 99, 117, 14854, 14859, 114, 59, 49152, 55349, 56523, 256, 98, 112, 14864, 14872, 110, 256, 69, 101, 14720, 14870, 187, 14718, 110, 256, 69, 101, 14738, 14878, 187, 14736, 105, 103, 122, 97, 103, 59, 27034, 896, 99, 101, 102, 111, 112, 114, 115, 14902, 14907, 14934, 14939, 14932, 14945, 14954, 105, 114, 99, 59, 16757, 256, 100, 105, 14912, 14929, 256, 98, 103, 14917, 14921, 97, 114, 59, 27231, 101, 256, 59, 113, 5626, 14927, 59, 25177, 101, 114, 112, 59, 24856, 114, 59, 49152, 55349, 56628, 112, 102, 59, 49152, 55349, 56680, 256, 59, 101, 5241, 14950, 97, 116, 232, 5241, 99, 114, 59, 49152, 55349, 56524, 2787, 6030, 14983, 0, 14987, 0, 14992, 15003, 0, 0, 15005, 15016, 15019, 15023, 0, 0, 15043, 15054, 0, 15064, 6108, 6111, 116, 114, 233, 6097, 114, 59, 49152, 55349, 56629, 256, 65, 97, 14996, 14999, 114, 242, 963, 114, 242, 2550, 59, 17342, 256, 65, 97, 15009, 15012, 114, 242, 952, 114, 242, 2539, 97, 240, 10003, 105, 115, 59, 25339, 384, 100, 112, 116, 6052, 15029, 15038, 256, 102, 108, 15034, 6057, 59, 49152, 55349, 56681, 105, 109, 229, 6066, 256, 65, 97, 15047, 15050, 114, 242, 974, 114, 242, 2561, 256, 99, 113, 15058, 6072, 114, 59, 49152, 55349, 56525, 256, 112, 116, 6102, 15068, 114, 233, 6100, 1024, 97, 99, 101, 102, 105, 111, 115, 117, 15088, 15101, 15112, 15116, 15121, 15125, 15131, 15137, 99, 256, 117, 121, 15094, 15099, 116, 101, 32827, 253, 16637, 59, 17487, 256, 105, 121, 15106, 15110, 114, 99, 59, 16759, 59, 17483, 110, 32827, 165, 16549, 114, 59, 49152, 55349, 56630, 99, 121, 59, 17495, 112, 102, 59, 49152, 55349, 56682, 99, 114, 59, 49152, 55349, 56526, 256, 99, 109, 15142, 15145, 121, 59, 17486, 108, 32827, 255, 16639, 1280, 97, 99, 100, 101, 102, 104, 105, 111, 115, 119, 15170, 15176, 15188, 15192, 15204, 15209, 15213, 15220, 15226, 15232, 99, 117, 116, 101, 59, 16762, 256, 97, 121, 15181, 15186, 114, 111, 110, 59, 16766, 59, 17463, 111, 116, 59, 16764, 256, 101, 116, 15197, 15201, 116, 114, 230, 5471, 97, 59, 17334, 114, 59, 49152, 55349, 56631, 99, 121, 59, 17462, 103, 114, 97, 114, 114, 59, 25053, 112, 102, 59, 49152, 55349, 56683, 99, 114, 59, 49152, 55349, 56527, 256, 106, 110, 15237, 15239, 59, 24589, 106, 59, 24588]);\n//# sourceMappingURL=decode-data-html.js.map","// Generated using scripts/write-decode-map.ts\n// prettier-ignore\nexport default new Uint16Array([512, 97, 103, 108, 113, 9, 21, 24, 27, 621, 15, 0, 0, 18, 112, 59, 16422, 111, 115, 59, 16423, 116, 59, 16446, 116, 59, 16444, 117, 111, 116, 59, 16418]);\n//# sourceMappingURL=decode-data-xml.js.map","// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134\nvar _a;\nconst decodeMap = new Map([\n [0, 65533],\n [128, 8364],\n [130, 8218],\n [131, 402],\n [132, 8222],\n [133, 8230],\n [134, 8224],\n [135, 8225],\n [136, 710],\n [137, 8240],\n [138, 352],\n [139, 8249],\n [140, 338],\n [142, 381],\n [145, 8216],\n [146, 8217],\n [147, 8220],\n [148, 8221],\n [149, 8226],\n [150, 8211],\n [151, 8212],\n [152, 732],\n [153, 8482],\n [154, 353],\n [155, 8250],\n [156, 339],\n [158, 382],\n [159, 376],\n]);\nexport const fromCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins\n(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function (codePoint) {\n let output = \"\";\n if (codePoint > 0xffff) {\n codePoint -= 0x10000;\n output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);\n codePoint = 0xdc00 | (codePoint & 0x3ff);\n }\n output += String.fromCharCode(codePoint);\n return output;\n};\nexport function replaceCodePoint(codePoint) {\n var _a;\n if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {\n return 0xfffd;\n }\n return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;\n}\nexport default function decodeCodePoint(codePoint) {\n return fromCodePoint(replaceCodePoint(codePoint));\n}\n//# sourceMappingURL=decode_codepoint.js.map","import htmlDecodeTree from \"./generated/decode-data-html.js\";\nimport xmlDecodeTree from \"./generated/decode-data-xml.js\";\nimport decodeCodePoint from \"./decode_codepoint.js\";\n// Re-export for use by eg. htmlparser2\nexport { htmlDecodeTree, xmlDecodeTree, decodeCodePoint };\nexport { replaceCodePoint, fromCodePoint } from \"./decode_codepoint.js\";\nvar CharCodes;\n(function (CharCodes) {\n CharCodes[CharCodes[\"NUM\"] = 35] = \"NUM\";\n CharCodes[CharCodes[\"SEMI\"] = 59] = \"SEMI\";\n CharCodes[CharCodes[\"ZERO\"] = 48] = \"ZERO\";\n CharCodes[CharCodes[\"NINE\"] = 57] = \"NINE\";\n CharCodes[CharCodes[\"LOWER_A\"] = 97] = \"LOWER_A\";\n CharCodes[CharCodes[\"LOWER_F\"] = 102] = \"LOWER_F\";\n CharCodes[CharCodes[\"LOWER_X\"] = 120] = \"LOWER_X\";\n /** Bit that needs to be set to convert an upper case ASCII character to lower case */\n CharCodes[CharCodes[\"To_LOWER_BIT\"] = 32] = \"To_LOWER_BIT\";\n})(CharCodes || (CharCodes = {}));\nexport var BinTrieFlags;\n(function (BinTrieFlags) {\n BinTrieFlags[BinTrieFlags[\"VALUE_LENGTH\"] = 49152] = \"VALUE_LENGTH\";\n BinTrieFlags[BinTrieFlags[\"BRANCH_LENGTH\"] = 16256] = \"BRANCH_LENGTH\";\n BinTrieFlags[BinTrieFlags[\"JUMP_TABLE\"] = 127] = \"JUMP_TABLE\";\n})(BinTrieFlags || (BinTrieFlags = {}));\nfunction getDecoder(decodeTree) {\n return function decodeHTMLBinary(str, strict) {\n let ret = \"\";\n let lastIdx = 0;\n let strIdx = 0;\n while ((strIdx = str.indexOf(\"&\", strIdx)) >= 0) {\n ret += str.slice(lastIdx, strIdx);\n lastIdx = strIdx;\n // Skip the \"&\"\n strIdx += 1;\n // If we have a numeric entity, handle this separately.\n if (str.charCodeAt(strIdx) === CharCodes.NUM) {\n // Skip the leading \"&#\". For hex entities, also skip the leading \"x\".\n let start = strIdx + 1;\n let base = 10;\n let cp = str.charCodeAt(start);\n if ((cp | CharCodes.To_LOWER_BIT) === CharCodes.LOWER_X) {\n base = 16;\n strIdx += 1;\n start += 1;\n }\n do\n cp = str.charCodeAt(++strIdx);\n while ((cp >= CharCodes.ZERO && cp <= CharCodes.NINE) ||\n (base === 16 &&\n (cp | CharCodes.To_LOWER_BIT) >= CharCodes.LOWER_A &&\n (cp | CharCodes.To_LOWER_BIT) <= CharCodes.LOWER_F));\n if (start !== strIdx) {\n const entity = str.substring(start, strIdx);\n const parsed = parseInt(entity, base);\n if (str.charCodeAt(strIdx) === CharCodes.SEMI) {\n strIdx += 1;\n }\n else if (strict) {\n continue;\n }\n ret += decodeCodePoint(parsed);\n lastIdx = strIdx;\n }\n continue;\n }\n let resultIdx = 0;\n let excess = 1;\n let treeIdx = 0;\n let current = decodeTree[treeIdx];\n for (; strIdx < str.length; strIdx++, excess++) {\n treeIdx = determineBranch(decodeTree, current, treeIdx + 1, str.charCodeAt(strIdx));\n if (treeIdx < 0)\n break;\n current = decodeTree[treeIdx];\n const masked = current & BinTrieFlags.VALUE_LENGTH;\n // If the branch is a value, store it and continue\n if (masked) {\n // If we have a legacy entity while parsing strictly, just skip the number of bytes\n if (!strict || str.charCodeAt(strIdx) === CharCodes.SEMI) {\n resultIdx = treeIdx;\n excess = 0;\n }\n // The mask is the number of bytes of the value, including the current byte.\n const valueLength = (masked >> 14) - 1;\n if (valueLength === 0)\n break;\n treeIdx += valueLength;\n }\n }\n if (resultIdx !== 0) {\n const valueLength = (decodeTree[resultIdx] & BinTrieFlags.VALUE_LENGTH) >> 14;\n ret +=\n valueLength === 1\n ? String.fromCharCode(decodeTree[resultIdx] & ~BinTrieFlags.VALUE_LENGTH)\n : valueLength === 2\n ? String.fromCharCode(decodeTree[resultIdx + 1])\n : String.fromCharCode(decodeTree[resultIdx + 1], decodeTree[resultIdx + 2]);\n lastIdx = strIdx - excess + 1;\n }\n }\n return ret + str.slice(lastIdx);\n };\n}\nexport function determineBranch(decodeTree, current, nodeIdx, char) {\n const branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7;\n const jumpOffset = current & BinTrieFlags.JUMP_TABLE;\n // Case 1: Single branch encoded in jump offset\n if (branchCount === 0) {\n return jumpOffset !== 0 && char === jumpOffset ? nodeIdx : -1;\n }\n // Case 2: Multiple branches encoded in jump table\n if (jumpOffset) {\n const value = char - jumpOffset;\n return value < 0 || value >= branchCount\n ? -1\n : decodeTree[nodeIdx + value] - 1;\n }\n // Case 3: Multiple branches encoded in dictionary\n // Binary search for the character.\n let lo = nodeIdx;\n let hi = lo + branchCount - 1;\n while (lo <= hi) {\n const mid = (lo + hi) >>> 1;\n const midVal = decodeTree[mid];\n if (midVal < char) {\n lo = mid + 1;\n }\n else if (midVal > char) {\n hi = mid - 1;\n }\n else {\n return decodeTree[mid + branchCount];\n }\n }\n return -1;\n}\nconst htmlDecoder = getDecoder(htmlDecodeTree);\nconst xmlDecoder = getDecoder(xmlDecodeTree);\n/**\n * Decodes an HTML string, allowing for entities not terminated by a semi-colon.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nexport function decodeHTML(str) {\n return htmlDecoder(str, false);\n}\n/**\n * Decodes an HTML string, requiring all entities to be terminated by a semi-colon.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nexport function decodeHTMLStrict(str) {\n return htmlDecoder(str, true);\n}\n/**\n * Decodes an XML string, requiring all entities to be terminated by a semi-colon.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nexport function decodeXML(str) {\n return xmlDecoder(str, true);\n}\n//# sourceMappingURL=decode.js.map","/** All valid namespaces in HTML. */\nexport var NS;\n(function (NS) {\n NS[\"HTML\"] = \"http://www.w3.org/1999/xhtml\";\n NS[\"MATHML\"] = \"http://www.w3.org/1998/Math/MathML\";\n NS[\"SVG\"] = \"http://www.w3.org/2000/svg\";\n NS[\"XLINK\"] = \"http://www.w3.org/1999/xlink\";\n NS[\"XML\"] = \"http://www.w3.org/XML/1998/namespace\";\n NS[\"XMLNS\"] = \"http://www.w3.org/2000/xmlns/\";\n})(NS || (NS = {}));\nexport var ATTRS;\n(function (ATTRS) {\n ATTRS[\"TYPE\"] = \"type\";\n ATTRS[\"ACTION\"] = \"action\";\n ATTRS[\"ENCODING\"] = \"encoding\";\n ATTRS[\"PROMPT\"] = \"prompt\";\n ATTRS[\"NAME\"] = \"name\";\n ATTRS[\"COLOR\"] = \"color\";\n ATTRS[\"FACE\"] = \"face\";\n ATTRS[\"SIZE\"] = \"size\";\n})(ATTRS || (ATTRS = {}));\n/**\n * The mode of the document.\n *\n * @see {@link https://dom.spec.whatwg.org/#concept-document-limited-quirks}\n */\nexport var DOCUMENT_MODE;\n(function (DOCUMENT_MODE) {\n DOCUMENT_MODE[\"NO_QUIRKS\"] = \"no-quirks\";\n DOCUMENT_MODE[\"QUIRKS\"] = \"quirks\";\n DOCUMENT_MODE[\"LIMITED_QUIRKS\"] = \"limited-quirks\";\n})(DOCUMENT_MODE || (DOCUMENT_MODE = {}));\nexport var TAG_NAMES;\n(function (TAG_NAMES) {\n TAG_NAMES[\"A\"] = \"a\";\n TAG_NAMES[\"ADDRESS\"] = \"address\";\n TAG_NAMES[\"ANNOTATION_XML\"] = \"annotation-xml\";\n TAG_NAMES[\"APPLET\"] = \"applet\";\n TAG_NAMES[\"AREA\"] = \"area\";\n TAG_NAMES[\"ARTICLE\"] = \"article\";\n TAG_NAMES[\"ASIDE\"] = \"aside\";\n TAG_NAMES[\"B\"] = \"b\";\n TAG_NAMES[\"BASE\"] = \"base\";\n TAG_NAMES[\"BASEFONT\"] = \"basefont\";\n TAG_NAMES[\"BGSOUND\"] = \"bgsound\";\n TAG_NAMES[\"BIG\"] = \"big\";\n TAG_NAMES[\"BLOCKQUOTE\"] = \"blockquote\";\n TAG_NAMES[\"BODY\"] = \"body\";\n TAG_NAMES[\"BR\"] = \"br\";\n TAG_NAMES[\"BUTTON\"] = \"button\";\n TAG_NAMES[\"CAPTION\"] = \"caption\";\n TAG_NAMES[\"CENTER\"] = \"center\";\n TAG_NAMES[\"CODE\"] = \"code\";\n TAG_NAMES[\"COL\"] = \"col\";\n TAG_NAMES[\"COLGROUP\"] = \"colgroup\";\n TAG_NAMES[\"DD\"] = \"dd\";\n TAG_NAMES[\"DESC\"] = \"desc\";\n TAG_NAMES[\"DETAILS\"] = \"details\";\n TAG_NAMES[\"DIALOG\"] = \"dialog\";\n TAG_NAMES[\"DIR\"] = \"dir\";\n TAG_NAMES[\"DIV\"] = \"div\";\n TAG_NAMES[\"DL\"] = \"dl\";\n TAG_NAMES[\"DT\"] = \"dt\";\n TAG_NAMES[\"EM\"] = \"em\";\n TAG_NAMES[\"EMBED\"] = \"embed\";\n TAG_NAMES[\"FIELDSET\"] = \"fieldset\";\n TAG_NAMES[\"FIGCAPTION\"] = \"figcaption\";\n TAG_NAMES[\"FIGURE\"] = \"figure\";\n TAG_NAMES[\"FONT\"] = \"font\";\n TAG_NAMES[\"FOOTER\"] = \"footer\";\n TAG_NAMES[\"FOREIGN_OBJECT\"] = \"foreignObject\";\n TAG_NAMES[\"FORM\"] = \"form\";\n TAG_NAMES[\"FRAME\"] = \"frame\";\n TAG_NAMES[\"FRAMESET\"] = \"frameset\";\n TAG_NAMES[\"H1\"] = \"h1\";\n TAG_NAMES[\"H2\"] = \"h2\";\n TAG_NAMES[\"H3\"] = \"h3\";\n TAG_NAMES[\"H4\"] = \"h4\";\n TAG_NAMES[\"H5\"] = \"h5\";\n TAG_NAMES[\"H6\"] = \"h6\";\n TAG_NAMES[\"HEAD\"] = \"head\";\n TAG_NAMES[\"HEADER\"] = \"header\";\n TAG_NAMES[\"HGROUP\"] = \"hgroup\";\n TAG_NAMES[\"HR\"] = \"hr\";\n TAG_NAMES[\"HTML\"] = \"html\";\n TAG_NAMES[\"I\"] = \"i\";\n TAG_NAMES[\"IMG\"] = \"img\";\n TAG_NAMES[\"IMAGE\"] = \"image\";\n TAG_NAMES[\"INPUT\"] = \"input\";\n TAG_NAMES[\"IFRAME\"] = \"iframe\";\n TAG_NAMES[\"KEYGEN\"] = \"keygen\";\n TAG_NAMES[\"LABEL\"] = \"label\";\n TAG_NAMES[\"LI\"] = \"li\";\n TAG_NAMES[\"LINK\"] = \"link\";\n TAG_NAMES[\"LISTING\"] = \"listing\";\n TAG_NAMES[\"MAIN\"] = \"main\";\n TAG_NAMES[\"MALIGNMARK\"] = \"malignmark\";\n TAG_NAMES[\"MARQUEE\"] = \"marquee\";\n TAG_NAMES[\"MATH\"] = \"math\";\n TAG_NAMES[\"MENU\"] = \"menu\";\n TAG_NAMES[\"META\"] = \"meta\";\n TAG_NAMES[\"MGLYPH\"] = \"mglyph\";\n TAG_NAMES[\"MI\"] = \"mi\";\n TAG_NAMES[\"MO\"] = \"mo\";\n TAG_NAMES[\"MN\"] = \"mn\";\n TAG_NAMES[\"MS\"] = \"ms\";\n TAG_NAMES[\"MTEXT\"] = \"mtext\";\n TAG_NAMES[\"NAV\"] = \"nav\";\n TAG_NAMES[\"NOBR\"] = \"nobr\";\n TAG_NAMES[\"NOFRAMES\"] = \"noframes\";\n TAG_NAMES[\"NOEMBED\"] = \"noembed\";\n TAG_NAMES[\"NOSCRIPT\"] = \"noscript\";\n TAG_NAMES[\"OBJECT\"] = \"object\";\n TAG_NAMES[\"OL\"] = \"ol\";\n TAG_NAMES[\"OPTGROUP\"] = \"optgroup\";\n TAG_NAMES[\"OPTION\"] = \"option\";\n TAG_NAMES[\"P\"] = \"p\";\n TAG_NAMES[\"PARAM\"] = \"param\";\n TAG_NAMES[\"PLAINTEXT\"] = \"plaintext\";\n TAG_NAMES[\"PRE\"] = \"pre\";\n TAG_NAMES[\"RB\"] = \"rb\";\n TAG_NAMES[\"RP\"] = \"rp\";\n TAG_NAMES[\"RT\"] = \"rt\";\n TAG_NAMES[\"RTC\"] = \"rtc\";\n TAG_NAMES[\"RUBY\"] = \"ruby\";\n TAG_NAMES[\"S\"] = \"s\";\n TAG_NAMES[\"SCRIPT\"] = \"script\";\n TAG_NAMES[\"SECTION\"] = \"section\";\n TAG_NAMES[\"SELECT\"] = \"select\";\n TAG_NAMES[\"SOURCE\"] = \"source\";\n TAG_NAMES[\"SMALL\"] = \"small\";\n TAG_NAMES[\"SPAN\"] = \"span\";\n TAG_NAMES[\"STRIKE\"] = \"strike\";\n TAG_NAMES[\"STRONG\"] = \"strong\";\n TAG_NAMES[\"STYLE\"] = \"style\";\n TAG_NAMES[\"SUB\"] = \"sub\";\n TAG_NAMES[\"SUMMARY\"] = \"summary\";\n TAG_NAMES[\"SUP\"] = \"sup\";\n TAG_NAMES[\"TABLE\"] = \"table\";\n TAG_NAMES[\"TBODY\"] = \"tbody\";\n TAG_NAMES[\"TEMPLATE\"] = \"template\";\n TAG_NAMES[\"TEXTAREA\"] = \"textarea\";\n TAG_NAMES[\"TFOOT\"] = \"tfoot\";\n TAG_NAMES[\"TD\"] = \"td\";\n TAG_NAMES[\"TH\"] = \"th\";\n TAG_NAMES[\"THEAD\"] = \"thead\";\n TAG_NAMES[\"TITLE\"] = \"title\";\n TAG_NAMES[\"TR\"] = \"tr\";\n TAG_NAMES[\"TRACK\"] = \"track\";\n TAG_NAMES[\"TT\"] = \"tt\";\n TAG_NAMES[\"U\"] = \"u\";\n TAG_NAMES[\"UL\"] = \"ul\";\n TAG_NAMES[\"SVG\"] = \"svg\";\n TAG_NAMES[\"VAR\"] = \"var\";\n TAG_NAMES[\"WBR\"] = \"wbr\";\n TAG_NAMES[\"XMP\"] = \"xmp\";\n})(TAG_NAMES || (TAG_NAMES = {}));\n/**\n * Tag IDs are numeric IDs for known tag names.\n *\n * We use tag IDs to improve the performance of tag name comparisons.\n */\nexport var TAG_ID;\n(function (TAG_ID) {\n TAG_ID[TAG_ID[\"UNKNOWN\"] = 0] = \"UNKNOWN\";\n TAG_ID[TAG_ID[\"A\"] = 1] = \"A\";\n TAG_ID[TAG_ID[\"ADDRESS\"] = 2] = \"ADDRESS\";\n TAG_ID[TAG_ID[\"ANNOTATION_XML\"] = 3] = \"ANNOTATION_XML\";\n TAG_ID[TAG_ID[\"APPLET\"] = 4] = \"APPLET\";\n TAG_ID[TAG_ID[\"AREA\"] = 5] = \"AREA\";\n TAG_ID[TAG_ID[\"ARTICLE\"] = 6] = \"ARTICLE\";\n TAG_ID[TAG_ID[\"ASIDE\"] = 7] = \"ASIDE\";\n TAG_ID[TAG_ID[\"B\"] = 8] = \"B\";\n TAG_ID[TAG_ID[\"BASE\"] = 9] = \"BASE\";\n TAG_ID[TAG_ID[\"BASEFONT\"] = 10] = \"BASEFONT\";\n TAG_ID[TAG_ID[\"BGSOUND\"] = 11] = \"BGSOUND\";\n TAG_ID[TAG_ID[\"BIG\"] = 12] = \"BIG\";\n TAG_ID[TAG_ID[\"BLOCKQUOTE\"] = 13] = \"BLOCKQUOTE\";\n TAG_ID[TAG_ID[\"BODY\"] = 14] = \"BODY\";\n TAG_ID[TAG_ID[\"BR\"] = 15] = \"BR\";\n TAG_ID[TAG_ID[\"BUTTON\"] = 16] = \"BUTTON\";\n TAG_ID[TAG_ID[\"CAPTION\"] = 17] = \"CAPTION\";\n TAG_ID[TAG_ID[\"CENTER\"] = 18] = \"CENTER\";\n TAG_ID[TAG_ID[\"CODE\"] = 19] = \"CODE\";\n TAG_ID[TAG_ID[\"COL\"] = 20] = \"COL\";\n TAG_ID[TAG_ID[\"COLGROUP\"] = 21] = \"COLGROUP\";\n TAG_ID[TAG_ID[\"DD\"] = 22] = \"DD\";\n TAG_ID[TAG_ID[\"DESC\"] = 23] = \"DESC\";\n TAG_ID[TAG_ID[\"DETAILS\"] = 24] = \"DETAILS\";\n TAG_ID[TAG_ID[\"DIALOG\"] = 25] = \"DIALOG\";\n TAG_ID[TAG_ID[\"DIR\"] = 26] = \"DIR\";\n TAG_ID[TAG_ID[\"DIV\"] = 27] = \"DIV\";\n TAG_ID[TAG_ID[\"DL\"] = 28] = \"DL\";\n TAG_ID[TAG_ID[\"DT\"] = 29] = \"DT\";\n TAG_ID[TAG_ID[\"EM\"] = 30] = \"EM\";\n TAG_ID[TAG_ID[\"EMBED\"] = 31] = \"EMBED\";\n TAG_ID[TAG_ID[\"FIELDSET\"] = 32] = \"FIELDSET\";\n TAG_ID[TAG_ID[\"FIGCAPTION\"] = 33] = \"FIGCAPTION\";\n TAG_ID[TAG_ID[\"FIGURE\"] = 34] = \"FIGURE\";\n TAG_ID[TAG_ID[\"FONT\"] = 35] = \"FONT\";\n TAG_ID[TAG_ID[\"FOOTER\"] = 36] = \"FOOTER\";\n TAG_ID[TAG_ID[\"FOREIGN_OBJECT\"] = 37] = \"FOREIGN_OBJECT\";\n TAG_ID[TAG_ID[\"FORM\"] = 38] = \"FORM\";\n TAG_ID[TAG_ID[\"FRAME\"] = 39] = \"FRAME\";\n TAG_ID[TAG_ID[\"FRAMESET\"] = 40] = \"FRAMESET\";\n TAG_ID[TAG_ID[\"H1\"] = 41] = \"H1\";\n TAG_ID[TAG_ID[\"H2\"] = 42] = \"H2\";\n TAG_ID[TAG_ID[\"H3\"] = 43] = \"H3\";\n TAG_ID[TAG_ID[\"H4\"] = 44] = \"H4\";\n TAG_ID[TAG_ID[\"H5\"] = 45] = \"H5\";\n TAG_ID[TAG_ID[\"H6\"] = 46] = \"H6\";\n TAG_ID[TAG_ID[\"HEAD\"] = 47] = \"HEAD\";\n TAG_ID[TAG_ID[\"HEADER\"] = 48] = \"HEADER\";\n TAG_ID[TAG_ID[\"HGROUP\"] = 49] = \"HGROUP\";\n TAG_ID[TAG_ID[\"HR\"] = 50] = \"HR\";\n TAG_ID[TAG_ID[\"HTML\"] = 51] = \"HTML\";\n TAG_ID[TAG_ID[\"I\"] = 52] = \"I\";\n TAG_ID[TAG_ID[\"IMG\"] = 53] = \"IMG\";\n TAG_ID[TAG_ID[\"IMAGE\"] = 54] = \"IMAGE\";\n TAG_ID[TAG_ID[\"INPUT\"] = 55] = \"INPUT\";\n TAG_ID[TAG_ID[\"IFRAME\"] = 56] = \"IFRAME\";\n TAG_ID[TAG_ID[\"KEYGEN\"] = 57] = \"KEYGEN\";\n TAG_ID[TAG_ID[\"LABEL\"] = 58] = \"LABEL\";\n TAG_ID[TAG_ID[\"LI\"] = 59] = \"LI\";\n TAG_ID[TAG_ID[\"LINK\"] = 60] = \"LINK\";\n TAG_ID[TAG_ID[\"LISTING\"] = 61] = \"LISTING\";\n TAG_ID[TAG_ID[\"MAIN\"] = 62] = \"MAIN\";\n TAG_ID[TAG_ID[\"MALIGNMARK\"] = 63] = \"MALIGNMARK\";\n TAG_ID[TAG_ID[\"MARQUEE\"] = 64] = \"MARQUEE\";\n TAG_ID[TAG_ID[\"MATH\"] = 65] = \"MATH\";\n TAG_ID[TAG_ID[\"MENU\"] = 66] = \"MENU\";\n TAG_ID[TAG_ID[\"META\"] = 67] = \"META\";\n TAG_ID[TAG_ID[\"MGLYPH\"] = 68] = \"MGLYPH\";\n TAG_ID[TAG_ID[\"MI\"] = 69] = \"MI\";\n TAG_ID[TAG_ID[\"MO\"] = 70] = \"MO\";\n TAG_ID[TAG_ID[\"MN\"] = 71] = \"MN\";\n TAG_ID[TAG_ID[\"MS\"] = 72] = \"MS\";\n TAG_ID[TAG_ID[\"MTEXT\"] = 73] = \"MTEXT\";\n TAG_ID[TAG_ID[\"NAV\"] = 74] = \"NAV\";\n TAG_ID[TAG_ID[\"NOBR\"] = 75] = \"NOBR\";\n TAG_ID[TAG_ID[\"NOFRAMES\"] = 76] = \"NOFRAMES\";\n TAG_ID[TAG_ID[\"NOEMBED\"] = 77] = \"NOEMBED\";\n TAG_ID[TAG_ID[\"NOSCRIPT\"] = 78] = \"NOSCRIPT\";\n TAG_ID[TAG_ID[\"OBJECT\"] = 79] = \"OBJECT\";\n TAG_ID[TAG_ID[\"OL\"] = 80] = \"OL\";\n TAG_ID[TAG_ID[\"OPTGROUP\"] = 81] = \"OPTGROUP\";\n TAG_ID[TAG_ID[\"OPTION\"] = 82] = \"OPTION\";\n TAG_ID[TAG_ID[\"P\"] = 83] = \"P\";\n TAG_ID[TAG_ID[\"PARAM\"] = 84] = \"PARAM\";\n TAG_ID[TAG_ID[\"PLAINTEXT\"] = 85] = \"PLAINTEXT\";\n TAG_ID[TAG_ID[\"PRE\"] = 86] = \"PRE\";\n TAG_ID[TAG_ID[\"RB\"] = 87] = \"RB\";\n TAG_ID[TAG_ID[\"RP\"] = 88] = \"RP\";\n TAG_ID[TAG_ID[\"RT\"] = 89] = \"RT\";\n TAG_ID[TAG_ID[\"RTC\"] = 90] = \"RTC\";\n TAG_ID[TAG_ID[\"RUBY\"] = 91] = \"RUBY\";\n TAG_ID[TAG_ID[\"S\"] = 92] = \"S\";\n TAG_ID[TAG_ID[\"SCRIPT\"] = 93] = \"SCRIPT\";\n TAG_ID[TAG_ID[\"SECTION\"] = 94] = \"SECTION\";\n TAG_ID[TAG_ID[\"SELECT\"] = 95] = \"SELECT\";\n TAG_ID[TAG_ID[\"SOURCE\"] = 96] = \"SOURCE\";\n TAG_ID[TAG_ID[\"SMALL\"] = 97] = \"SMALL\";\n TAG_ID[TAG_ID[\"SPAN\"] = 98] = \"SPAN\";\n TAG_ID[TAG_ID[\"STRIKE\"] = 99] = \"STRIKE\";\n TAG_ID[TAG_ID[\"STRONG\"] = 100] = \"STRONG\";\n TAG_ID[TAG_ID[\"STYLE\"] = 101] = \"STYLE\";\n TAG_ID[TAG_ID[\"SUB\"] = 102] = \"SUB\";\n TAG_ID[TAG_ID[\"SUMMARY\"] = 103] = \"SUMMARY\";\n TAG_ID[TAG_ID[\"SUP\"] = 104] = \"SUP\";\n TAG_ID[TAG_ID[\"TABLE\"] = 105] = \"TABLE\";\n TAG_ID[TAG_ID[\"TBODY\"] = 106] = \"TBODY\";\n TAG_ID[TAG_ID[\"TEMPLATE\"] = 107] = \"TEMPLATE\";\n TAG_ID[TAG_ID[\"TEXTAREA\"] = 108] = \"TEXTAREA\";\n TAG_ID[TAG_ID[\"TFOOT\"] = 109] = \"TFOOT\";\n TAG_ID[TAG_ID[\"TD\"] = 110] = \"TD\";\n TAG_ID[TAG_ID[\"TH\"] = 111] = \"TH\";\n TAG_ID[TAG_ID[\"THEAD\"] = 112] = \"THEAD\";\n TAG_ID[TAG_ID[\"TITLE\"] = 113] = \"TITLE\";\n TAG_ID[TAG_ID[\"TR\"] = 114] = \"TR\";\n TAG_ID[TAG_ID[\"TRACK\"] = 115] = \"TRACK\";\n TAG_ID[TAG_ID[\"TT\"] = 116] = \"TT\";\n TAG_ID[TAG_ID[\"U\"] = 117] = \"U\";\n TAG_ID[TAG_ID[\"UL\"] = 118] = \"UL\";\n TAG_ID[TAG_ID[\"SVG\"] = 119] = \"SVG\";\n TAG_ID[TAG_ID[\"VAR\"] = 120] = \"VAR\";\n TAG_ID[TAG_ID[\"WBR\"] = 121] = \"WBR\";\n TAG_ID[TAG_ID[\"XMP\"] = 122] = \"XMP\";\n})(TAG_ID || (TAG_ID = {}));\nconst TAG_NAME_TO_ID = new Map([\n [TAG_NAMES.A, TAG_ID.A],\n [TAG_NAMES.ADDRESS, TAG_ID.ADDRESS],\n [TAG_NAMES.ANNOTATION_XML, TAG_ID.ANNOTATION_XML],\n [TAG_NAMES.APPLET, TAG_ID.APPLET],\n [TAG_NAMES.AREA, TAG_ID.AREA],\n [TAG_NAMES.ARTICLE, TAG_ID.ARTICLE],\n [TAG_NAMES.ASIDE, TAG_ID.ASIDE],\n [TAG_NAMES.B, TAG_ID.B],\n [TAG_NAMES.BASE, TAG_ID.BASE],\n [TAG_NAMES.BASEFONT, TAG_ID.BASEFONT],\n [TAG_NAMES.BGSOUND, TAG_ID.BGSOUND],\n [TAG_NAMES.BIG, TAG_ID.BIG],\n [TAG_NAMES.BLOCKQUOTE, TAG_ID.BLOCKQUOTE],\n [TAG_NAMES.BODY, TAG_ID.BODY],\n [TAG_NAMES.BR, TAG_ID.BR],\n [TAG_NAMES.BUTTON, TAG_ID.BUTTON],\n [TAG_NAMES.CAPTION, TAG_ID.CAPTION],\n [TAG_NAMES.CENTER, TAG_ID.CENTER],\n [TAG_NAMES.CODE, TAG_ID.CODE],\n [TAG_NAMES.COL, TAG_ID.COL],\n [TAG_NAMES.COLGROUP, TAG_ID.COLGROUP],\n [TAG_NAMES.DD, TAG_ID.DD],\n [TAG_NAMES.DESC, TAG_ID.DESC],\n [TAG_NAMES.DETAILS, TAG_ID.DETAILS],\n [TAG_NAMES.DIALOG, TAG_ID.DIALOG],\n [TAG_NAMES.DIR, TAG_ID.DIR],\n [TAG_NAMES.DIV, TAG_ID.DIV],\n [TAG_NAMES.DL, TAG_ID.DL],\n [TAG_NAMES.DT, TAG_ID.DT],\n [TAG_NAMES.EM, TAG_ID.EM],\n [TAG_NAMES.EMBED, TAG_ID.EMBED],\n [TAG_NAMES.FIELDSET, TAG_ID.FIELDSET],\n [TAG_NAMES.FIGCAPTION, TAG_ID.FIGCAPTION],\n [TAG_NAMES.FIGURE, TAG_ID.FIGURE],\n [TAG_NAMES.FONT, TAG_ID.FONT],\n [TAG_NAMES.FOOTER, TAG_ID.FOOTER],\n [TAG_NAMES.FOREIGN_OBJECT, TAG_ID.FOREIGN_OBJECT],\n [TAG_NAMES.FORM, TAG_ID.FORM],\n [TAG_NAMES.FRAME, TAG_ID.FRAME],\n [TAG_NAMES.FRAMESET, TAG_ID.FRAMESET],\n [TAG_NAMES.H1, TAG_ID.H1],\n [TAG_NAMES.H2, TAG_ID.H2],\n [TAG_NAMES.H3, TAG_ID.H3],\n [TAG_NAMES.H4, TAG_ID.H4],\n [TAG_NAMES.H5, TAG_ID.H5],\n [TAG_NAMES.H6, TAG_ID.H6],\n [TAG_NAMES.HEAD, TAG_ID.HEAD],\n [TAG_NAMES.HEADER, TAG_ID.HEADER],\n [TAG_NAMES.HGROUP, TAG_ID.HGROUP],\n [TAG_NAMES.HR, TAG_ID.HR],\n [TAG_NAMES.HTML, TAG_ID.HTML],\n [TAG_NAMES.I, TAG_ID.I],\n [TAG_NAMES.IMG, TAG_ID.IMG],\n [TAG_NAMES.IMAGE, TAG_ID.IMAGE],\n [TAG_NAMES.INPUT, TAG_ID.INPUT],\n [TAG_NAMES.IFRAME, TAG_ID.IFRAME],\n [TAG_NAMES.KEYGEN, TAG_ID.KEYGEN],\n [TAG_NAMES.LABEL, TAG_ID.LABEL],\n [TAG_NAMES.LI, TAG_ID.LI],\n [TAG_NAMES.LINK, TAG_ID.LINK],\n [TAG_NAMES.LISTING, TAG_ID.LISTING],\n [TAG_NAMES.MAIN, TAG_ID.MAIN],\n [TAG_NAMES.MALIGNMARK, TAG_ID.MALIGNMARK],\n [TAG_NAMES.MARQUEE, TAG_ID.MARQUEE],\n [TAG_NAMES.MATH, TAG_ID.MATH],\n [TAG_NAMES.MENU, TAG_ID.MENU],\n [TAG_NAMES.META, TAG_ID.META],\n [TAG_NAMES.MGLYPH, TAG_ID.MGLYPH],\n [TAG_NAMES.MI, TAG_ID.MI],\n [TAG_NAMES.MO, TAG_ID.MO],\n [TAG_NAMES.MN, TAG_ID.MN],\n [TAG_NAMES.MS, TAG_ID.MS],\n [TAG_NAMES.MTEXT, TAG_ID.MTEXT],\n [TAG_NAMES.NAV, TAG_ID.NAV],\n [TAG_NAMES.NOBR, TAG_ID.NOBR],\n [TAG_NAMES.NOFRAMES, TAG_ID.NOFRAMES],\n [TAG_NAMES.NOEMBED, TAG_ID.NOEMBED],\n [TAG_NAMES.NOSCRIPT, TAG_ID.NOSCRIPT],\n [TAG_NAMES.OBJECT, TAG_ID.OBJECT],\n [TAG_NAMES.OL, TAG_ID.OL],\n [TAG_NAMES.OPTGROUP, TAG_ID.OPTGROUP],\n [TAG_NAMES.OPTION, TAG_ID.OPTION],\n [TAG_NAMES.P, TAG_ID.P],\n [TAG_NAMES.PARAM, TAG_ID.PARAM],\n [TAG_NAMES.PLAINTEXT, TAG_ID.PLAINTEXT],\n [TAG_NAMES.PRE, TAG_ID.PRE],\n [TAG_NAMES.RB, TAG_ID.RB],\n [TAG_NAMES.RP, TAG_ID.RP],\n [TAG_NAMES.RT, TAG_ID.RT],\n [TAG_NAMES.RTC, TAG_ID.RTC],\n [TAG_NAMES.RUBY, TAG_ID.RUBY],\n [TAG_NAMES.S, TAG_ID.S],\n [TAG_NAMES.SCRIPT, TAG_ID.SCRIPT],\n [TAG_NAMES.SECTION, TAG_ID.SECTION],\n [TAG_NAMES.SELECT, TAG_ID.SELECT],\n [TAG_NAMES.SOURCE, TAG_ID.SOURCE],\n [TAG_NAMES.SMALL, TAG_ID.SMALL],\n [TAG_NAMES.SPAN, TAG_ID.SPAN],\n [TAG_NAMES.STRIKE, TAG_ID.STRIKE],\n [TAG_NAMES.STRONG, TAG_ID.STRONG],\n [TAG_NAMES.STYLE, TAG_ID.STYLE],\n [TAG_NAMES.SUB, TAG_ID.SUB],\n [TAG_NAMES.SUMMARY, TAG_ID.SUMMARY],\n [TAG_NAMES.SUP, TAG_ID.SUP],\n [TAG_NAMES.TABLE, TAG_ID.TABLE],\n [TAG_NAMES.TBODY, TAG_ID.TBODY],\n [TAG_NAMES.TEMPLATE, TAG_ID.TEMPLATE],\n [TAG_NAMES.TEXTAREA, TAG_ID.TEXTAREA],\n [TAG_NAMES.TFOOT, TAG_ID.TFOOT],\n [TAG_NAMES.TD, TAG_ID.TD],\n [TAG_NAMES.TH, TAG_ID.TH],\n [TAG_NAMES.THEAD, TAG_ID.THEAD],\n [TAG_NAMES.TITLE, TAG_ID.TITLE],\n [TAG_NAMES.TR, TAG_ID.TR],\n [TAG_NAMES.TRACK, TAG_ID.TRACK],\n [TAG_NAMES.TT, TAG_ID.TT],\n [TAG_NAMES.U, TAG_ID.U],\n [TAG_NAMES.UL, TAG_ID.UL],\n [TAG_NAMES.SVG, TAG_ID.SVG],\n [TAG_NAMES.VAR, TAG_ID.VAR],\n [TAG_NAMES.WBR, TAG_ID.WBR],\n [TAG_NAMES.XMP, TAG_ID.XMP],\n]);\nexport function getTagID(tagName) {\n var _a;\n return (_a = TAG_NAME_TO_ID.get(tagName)) !== null && _a !== void 0 ? _a : TAG_ID.UNKNOWN;\n}\nconst $ = TAG_ID;\nexport const SPECIAL_ELEMENTS = {\n [NS.HTML]: new Set([\n $.ADDRESS,\n $.APPLET,\n $.AREA,\n $.ARTICLE,\n $.ASIDE,\n $.BASE,\n $.BASEFONT,\n $.BGSOUND,\n $.BLOCKQUOTE,\n $.BODY,\n $.BR,\n $.BUTTON,\n $.CAPTION,\n $.CENTER,\n $.COL,\n $.COLGROUP,\n $.DD,\n $.DETAILS,\n $.DIR,\n $.DIV,\n $.DL,\n $.DT,\n $.EMBED,\n $.FIELDSET,\n $.FIGCAPTION,\n $.FIGURE,\n $.FOOTER,\n $.FORM,\n $.FRAME,\n $.FRAMESET,\n $.H1,\n $.H2,\n $.H3,\n $.H4,\n $.H5,\n $.H6,\n $.HEAD,\n $.HEADER,\n $.HGROUP,\n $.HR,\n $.HTML,\n $.IFRAME,\n $.IMG,\n $.INPUT,\n $.LI,\n $.LINK,\n $.LISTING,\n $.MAIN,\n $.MARQUEE,\n $.MENU,\n $.META,\n $.NAV,\n $.NOEMBED,\n $.NOFRAMES,\n $.NOSCRIPT,\n $.OBJECT,\n $.OL,\n $.P,\n $.PARAM,\n $.PLAINTEXT,\n $.PRE,\n $.SCRIPT,\n $.SECTION,\n $.SELECT,\n $.SOURCE,\n $.STYLE,\n $.SUMMARY,\n $.TABLE,\n $.TBODY,\n $.TD,\n $.TEMPLATE,\n $.TEXTAREA,\n $.TFOOT,\n $.TH,\n $.THEAD,\n $.TITLE,\n $.TR,\n $.TRACK,\n $.UL,\n $.WBR,\n $.XMP,\n ]),\n [NS.MATHML]: new Set([$.MI, $.MO, $.MN, $.MS, $.MTEXT, $.ANNOTATION_XML]),\n [NS.SVG]: new Set([$.TITLE, $.FOREIGN_OBJECT, $.DESC]),\n [NS.XLINK]: new Set(),\n [NS.XML]: new Set(),\n [NS.XMLNS]: new Set(),\n};\nexport function isNumberedHeader(tn) {\n return tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6;\n}\nconst UNESCAPED_TEXT = new Set([\n TAG_NAMES.STYLE,\n TAG_NAMES.SCRIPT,\n TAG_NAMES.XMP,\n TAG_NAMES.IFRAME,\n TAG_NAMES.NOEMBED,\n TAG_NAMES.NOFRAMES,\n TAG_NAMES.PLAINTEXT,\n]);\nexport function hasUnescapedText(tn, scriptingEnabled) {\n return UNESCAPED_TEXT.has(tn) || (scriptingEnabled && tn === TAG_NAMES.NOSCRIPT);\n}\n//# sourceMappingURL=html.js.map","import { Preprocessor } from './preprocessor.js';\nimport { CODE_POINTS as $, SEQUENCES as $$, REPLACEMENT_CHARACTER, isSurrogate, isUndefinedCodePoint, isControlCodePoint, } from '../common/unicode.js';\nimport { TokenType, getTokenAttr, } from '../common/token.js';\nimport { htmlDecodeTree, BinTrieFlags, determineBranch } from 'entities/lib/decode.js';\nimport { ERR } from '../common/error-codes.js';\nimport { TAG_ID, getTagID } from '../common/html.js';\n//C1 Unicode control character reference replacements\nconst C1_CONTROLS_REFERENCE_REPLACEMENTS = new Map([\n [0x80, 8364],\n [0x82, 8218],\n [0x83, 402],\n [0x84, 8222],\n [0x85, 8230],\n [0x86, 8224],\n [0x87, 8225],\n [0x88, 710],\n [0x89, 8240],\n [0x8a, 352],\n [0x8b, 8249],\n [0x8c, 338],\n [0x8e, 381],\n [0x91, 8216],\n [0x92, 8217],\n [0x93, 8220],\n [0x94, 8221],\n [0x95, 8226],\n [0x96, 8211],\n [0x97, 8212],\n [0x98, 732],\n [0x99, 8482],\n [0x9a, 353],\n [0x9b, 8250],\n [0x9c, 339],\n [0x9e, 382],\n [0x9f, 376],\n]);\n//States\nvar State;\n(function (State) {\n State[State[\"DATA\"] = 0] = \"DATA\";\n State[State[\"RCDATA\"] = 1] = \"RCDATA\";\n State[State[\"RAWTEXT\"] = 2] = \"RAWTEXT\";\n State[State[\"SCRIPT_DATA\"] = 3] = \"SCRIPT_DATA\";\n State[State[\"PLAINTEXT\"] = 4] = \"PLAINTEXT\";\n State[State[\"TAG_OPEN\"] = 5] = \"TAG_OPEN\";\n State[State[\"END_TAG_OPEN\"] = 6] = \"END_TAG_OPEN\";\n State[State[\"TAG_NAME\"] = 7] = \"TAG_NAME\";\n State[State[\"RCDATA_LESS_THAN_SIGN\"] = 8] = \"RCDATA_LESS_THAN_SIGN\";\n State[State[\"RCDATA_END_TAG_OPEN\"] = 9] = \"RCDATA_END_TAG_OPEN\";\n State[State[\"RCDATA_END_TAG_NAME\"] = 10] = \"RCDATA_END_TAG_NAME\";\n State[State[\"RAWTEXT_LESS_THAN_SIGN\"] = 11] = \"RAWTEXT_LESS_THAN_SIGN\";\n State[State[\"RAWTEXT_END_TAG_OPEN\"] = 12] = \"RAWTEXT_END_TAG_OPEN\";\n State[State[\"RAWTEXT_END_TAG_NAME\"] = 13] = \"RAWTEXT_END_TAG_NAME\";\n State[State[\"SCRIPT_DATA_LESS_THAN_SIGN\"] = 14] = \"SCRIPT_DATA_LESS_THAN_SIGN\";\n State[State[\"SCRIPT_DATA_END_TAG_OPEN\"] = 15] = \"SCRIPT_DATA_END_TAG_OPEN\";\n State[State[\"SCRIPT_DATA_END_TAG_NAME\"] = 16] = \"SCRIPT_DATA_END_TAG_NAME\";\n State[State[\"SCRIPT_DATA_ESCAPE_START\"] = 17] = \"SCRIPT_DATA_ESCAPE_START\";\n State[State[\"SCRIPT_DATA_ESCAPE_START_DASH\"] = 18] = \"SCRIPT_DATA_ESCAPE_START_DASH\";\n State[State[\"SCRIPT_DATA_ESCAPED\"] = 19] = \"SCRIPT_DATA_ESCAPED\";\n State[State[\"SCRIPT_DATA_ESCAPED_DASH\"] = 20] = \"SCRIPT_DATA_ESCAPED_DASH\";\n State[State[\"SCRIPT_DATA_ESCAPED_DASH_DASH\"] = 21] = \"SCRIPT_DATA_ESCAPED_DASH_DASH\";\n State[State[\"SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN\"] = 22] = \"SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN\";\n State[State[\"SCRIPT_DATA_ESCAPED_END_TAG_OPEN\"] = 23] = \"SCRIPT_DATA_ESCAPED_END_TAG_OPEN\";\n State[State[\"SCRIPT_DATA_ESCAPED_END_TAG_NAME\"] = 24] = \"SCRIPT_DATA_ESCAPED_END_TAG_NAME\";\n State[State[\"SCRIPT_DATA_DOUBLE_ESCAPE_START\"] = 25] = \"SCRIPT_DATA_DOUBLE_ESCAPE_START\";\n State[State[\"SCRIPT_DATA_DOUBLE_ESCAPED\"] = 26] = \"SCRIPT_DATA_DOUBLE_ESCAPED\";\n State[State[\"SCRIPT_DATA_DOUBLE_ESCAPED_DASH\"] = 27] = \"SCRIPT_DATA_DOUBLE_ESCAPED_DASH\";\n State[State[\"SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH\"] = 28] = \"SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH\";\n State[State[\"SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN\"] = 29] = \"SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN\";\n State[State[\"SCRIPT_DATA_DOUBLE_ESCAPE_END\"] = 30] = \"SCRIPT_DATA_DOUBLE_ESCAPE_END\";\n State[State[\"BEFORE_ATTRIBUTE_NAME\"] = 31] = \"BEFORE_ATTRIBUTE_NAME\";\n State[State[\"ATTRIBUTE_NAME\"] = 32] = \"ATTRIBUTE_NAME\";\n State[State[\"AFTER_ATTRIBUTE_NAME\"] = 33] = \"AFTER_ATTRIBUTE_NAME\";\n State[State[\"BEFORE_ATTRIBUTE_VALUE\"] = 34] = \"BEFORE_ATTRIBUTE_VALUE\";\n State[State[\"ATTRIBUTE_VALUE_DOUBLE_QUOTED\"] = 35] = \"ATTRIBUTE_VALUE_DOUBLE_QUOTED\";\n State[State[\"ATTRIBUTE_VALUE_SINGLE_QUOTED\"] = 36] = \"ATTRIBUTE_VALUE_SINGLE_QUOTED\";\n State[State[\"ATTRIBUTE_VALUE_UNQUOTED\"] = 37] = \"ATTRIBUTE_VALUE_UNQUOTED\";\n State[State[\"AFTER_ATTRIBUTE_VALUE_QUOTED\"] = 38] = \"AFTER_ATTRIBUTE_VALUE_QUOTED\";\n State[State[\"SELF_CLOSING_START_TAG\"] = 39] = \"SELF_CLOSING_START_TAG\";\n State[State[\"BOGUS_COMMENT\"] = 40] = \"BOGUS_COMMENT\";\n State[State[\"MARKUP_DECLARATION_OPEN\"] = 41] = \"MARKUP_DECLARATION_OPEN\";\n State[State[\"COMMENT_START\"] = 42] = \"COMMENT_START\";\n State[State[\"COMMENT_START_DASH\"] = 43] = \"COMMENT_START_DASH\";\n State[State[\"COMMENT\"] = 44] = \"COMMENT\";\n State[State[\"COMMENT_LESS_THAN_SIGN\"] = 45] = \"COMMENT_LESS_THAN_SIGN\";\n State[State[\"COMMENT_LESS_THAN_SIGN_BANG\"] = 46] = \"COMMENT_LESS_THAN_SIGN_BANG\";\n State[State[\"COMMENT_LESS_THAN_SIGN_BANG_DASH\"] = 47] = \"COMMENT_LESS_THAN_SIGN_BANG_DASH\";\n State[State[\"COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH\"] = 48] = \"COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH\";\n State[State[\"COMMENT_END_DASH\"] = 49] = \"COMMENT_END_DASH\";\n State[State[\"COMMENT_END\"] = 50] = \"COMMENT_END\";\n State[State[\"COMMENT_END_BANG\"] = 51] = \"COMMENT_END_BANG\";\n State[State[\"DOCTYPE\"] = 52] = \"DOCTYPE\";\n State[State[\"BEFORE_DOCTYPE_NAME\"] = 53] = \"BEFORE_DOCTYPE_NAME\";\n State[State[\"DOCTYPE_NAME\"] = 54] = \"DOCTYPE_NAME\";\n State[State[\"AFTER_DOCTYPE_NAME\"] = 55] = \"AFTER_DOCTYPE_NAME\";\n State[State[\"AFTER_DOCTYPE_PUBLIC_KEYWORD\"] = 56] = \"AFTER_DOCTYPE_PUBLIC_KEYWORD\";\n State[State[\"BEFORE_DOCTYPE_PUBLIC_IDENTIFIER\"] = 57] = \"BEFORE_DOCTYPE_PUBLIC_IDENTIFIER\";\n State[State[\"DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED\"] = 58] = \"DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED\";\n State[State[\"DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED\"] = 59] = \"DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED\";\n State[State[\"AFTER_DOCTYPE_PUBLIC_IDENTIFIER\"] = 60] = \"AFTER_DOCTYPE_PUBLIC_IDENTIFIER\";\n State[State[\"BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS\"] = 61] = \"BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS\";\n State[State[\"AFTER_DOCTYPE_SYSTEM_KEYWORD\"] = 62] = \"AFTER_DOCTYPE_SYSTEM_KEYWORD\";\n State[State[\"BEFORE_DOCTYPE_SYSTEM_IDENTIFIER\"] = 63] = \"BEFORE_DOCTYPE_SYSTEM_IDENTIFIER\";\n State[State[\"DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED\"] = 64] = \"DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED\";\n State[State[\"DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED\"] = 65] = \"DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED\";\n State[State[\"AFTER_DOCTYPE_SYSTEM_IDENTIFIER\"] = 66] = \"AFTER_DOCTYPE_SYSTEM_IDENTIFIER\";\n State[State[\"BOGUS_DOCTYPE\"] = 67] = \"BOGUS_DOCTYPE\";\n State[State[\"CDATA_SECTION\"] = 68] = \"CDATA_SECTION\";\n State[State[\"CDATA_SECTION_BRACKET\"] = 69] = \"CDATA_SECTION_BRACKET\";\n State[State[\"CDATA_SECTION_END\"] = 70] = \"CDATA_SECTION_END\";\n State[State[\"CHARACTER_REFERENCE\"] = 71] = \"CHARACTER_REFERENCE\";\n State[State[\"NAMED_CHARACTER_REFERENCE\"] = 72] = \"NAMED_CHARACTER_REFERENCE\";\n State[State[\"AMBIGUOUS_AMPERSAND\"] = 73] = \"AMBIGUOUS_AMPERSAND\";\n State[State[\"NUMERIC_CHARACTER_REFERENCE\"] = 74] = \"NUMERIC_CHARACTER_REFERENCE\";\n State[State[\"HEXADEMICAL_CHARACTER_REFERENCE_START\"] = 75] = \"HEXADEMICAL_CHARACTER_REFERENCE_START\";\n State[State[\"DECIMAL_CHARACTER_REFERENCE_START\"] = 76] = \"DECIMAL_CHARACTER_REFERENCE_START\";\n State[State[\"HEXADEMICAL_CHARACTER_REFERENCE\"] = 77] = \"HEXADEMICAL_CHARACTER_REFERENCE\";\n State[State[\"DECIMAL_CHARACTER_REFERENCE\"] = 78] = \"DECIMAL_CHARACTER_REFERENCE\";\n State[State[\"NUMERIC_CHARACTER_REFERENCE_END\"] = 79] = \"NUMERIC_CHARACTER_REFERENCE_END\";\n})(State || (State = {}));\n//Tokenizer initial states for different modes\nexport const TokenizerMode = {\n DATA: State.DATA,\n RCDATA: State.RCDATA,\n RAWTEXT: State.RAWTEXT,\n SCRIPT_DATA: State.SCRIPT_DATA,\n PLAINTEXT: State.PLAINTEXT,\n CDATA_SECTION: State.CDATA_SECTION,\n};\n//Utils\n//OPTIMIZATION: these utility functions should not be moved out of this module. V8 Crankshaft will not inline\n//this functions if they will be situated in another module due to context switch.\n//Always perform inlining check before modifying this functions ('node --trace-inlining').\nfunction isAsciiDigit(cp) {\n return cp >= $.DIGIT_0 && cp <= $.DIGIT_9;\n}\nfunction isAsciiUpper(cp) {\n return cp >= $.LATIN_CAPITAL_A && cp <= $.LATIN_CAPITAL_Z;\n}\nfunction isAsciiLower(cp) {\n return cp >= $.LATIN_SMALL_A && cp <= $.LATIN_SMALL_Z;\n}\nfunction isAsciiLetter(cp) {\n return isAsciiLower(cp) || isAsciiUpper(cp);\n}\nfunction isAsciiAlphaNumeric(cp) {\n return isAsciiLetter(cp) || isAsciiDigit(cp);\n}\nfunction isAsciiUpperHexDigit(cp) {\n return cp >= $.LATIN_CAPITAL_A && cp <= $.LATIN_CAPITAL_F;\n}\nfunction isAsciiLowerHexDigit(cp) {\n return cp >= $.LATIN_SMALL_A && cp <= $.LATIN_SMALL_F;\n}\nfunction isAsciiHexDigit(cp) {\n return isAsciiDigit(cp) || isAsciiUpperHexDigit(cp) || isAsciiLowerHexDigit(cp);\n}\nfunction toAsciiLower(cp) {\n return cp + 32;\n}\nfunction isWhitespace(cp) {\n return cp === $.SPACE || cp === $.LINE_FEED || cp === $.TABULATION || cp === $.FORM_FEED;\n}\nfunction isEntityInAttributeInvalidEnd(nextCp) {\n return nextCp === $.EQUALS_SIGN || isAsciiAlphaNumeric(nextCp);\n}\nfunction isScriptDataDoubleEscapeSequenceEnd(cp) {\n return isWhitespace(cp) || cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN;\n}\n//Tokenizer\nexport class Tokenizer {\n constructor(options, handler) {\n this.options = options;\n this.handler = handler;\n this.paused = false;\n /** Ensures that the parsing loop isn't run multiple times at once. */\n this.inLoop = false;\n /**\n * Indicates that the current adjusted node exists, is not an element in the HTML namespace,\n * and that it is not an integration point for either MathML or HTML.\n *\n * @see {@link https://html.spec.whatwg.org/multipage/parsing.html#tree-construction}\n */\n this.inForeignNode = false;\n this.lastStartTagName = '';\n this.active = false;\n this.state = State.DATA;\n this.returnState = State.DATA;\n this.charRefCode = -1;\n this.consumedAfterSnapshot = -1;\n this.currentCharacterToken = null;\n this.currentToken = null;\n this.currentAttr = { name: '', value: '' };\n this.preprocessor = new Preprocessor(handler);\n this.currentLocation = this.getCurrentLocation(-1);\n }\n //Errors\n _err(code) {\n var _a, _b;\n (_b = (_a = this.handler).onParseError) === null || _b === void 0 ? void 0 : _b.call(_a, this.preprocessor.getError(code));\n }\n // NOTE: `offset` may never run across line boundaries.\n getCurrentLocation(offset) {\n if (!this.options.sourceCodeLocationInfo) {\n return null;\n }\n return {\n startLine: this.preprocessor.line,\n startCol: this.preprocessor.col - offset,\n startOffset: this.preprocessor.offset - offset,\n endLine: -1,\n endCol: -1,\n endOffset: -1,\n };\n }\n _runParsingLoop() {\n if (this.inLoop)\n return;\n this.inLoop = true;\n while (this.active && !this.paused) {\n this.consumedAfterSnapshot = 0;\n const cp = this._consume();\n if (!this._ensureHibernation()) {\n this._callState(cp);\n }\n }\n this.inLoop = false;\n }\n //API\n pause() {\n this.paused = true;\n }\n resume(writeCallback) {\n if (!this.paused) {\n throw new Error('Parser was already resumed');\n }\n this.paused = false;\n // Necessary for synchronous resume.\n if (this.inLoop)\n return;\n this._runParsingLoop();\n if (!this.paused) {\n writeCallback === null || writeCallback === void 0 ? void 0 : writeCallback();\n }\n }\n write(chunk, isLastChunk, writeCallback) {\n this.active = true;\n this.preprocessor.write(chunk, isLastChunk);\n this._runParsingLoop();\n if (!this.paused) {\n writeCallback === null || writeCallback === void 0 ? void 0 : writeCallback();\n }\n }\n insertHtmlAtCurrentPos(chunk) {\n this.active = true;\n this.preprocessor.insertHtmlAtCurrentPos(chunk);\n this._runParsingLoop();\n }\n //Hibernation\n _ensureHibernation() {\n if (this.preprocessor.endOfChunkHit) {\n this._unconsume(this.consumedAfterSnapshot);\n this.active = false;\n return true;\n }\n return false;\n }\n //Consumption\n _consume() {\n this.consumedAfterSnapshot++;\n return this.preprocessor.advance();\n }\n _unconsume(count) {\n this.consumedAfterSnapshot -= count;\n this.preprocessor.retreat(count);\n }\n _reconsumeInState(state) {\n this.state = state;\n this._unconsume(1);\n }\n _advanceBy(count) {\n this.consumedAfterSnapshot += count;\n for (let i = 0; i < count; i++) {\n this.preprocessor.advance();\n }\n }\n _consumeSequenceIfMatch(pattern, caseSensitive) {\n if (this.preprocessor.startsWith(pattern, caseSensitive)) {\n // We will already have consumed one character before calling this method.\n this._advanceBy(pattern.length - 1);\n return true;\n }\n return false;\n }\n //Token creation\n _createStartTagToken() {\n this.currentToken = {\n type: TokenType.START_TAG,\n tagName: '',\n tagID: TAG_ID.UNKNOWN,\n selfClosing: false,\n ackSelfClosing: false,\n attrs: [],\n location: this.getCurrentLocation(1),\n };\n }\n _createEndTagToken() {\n this.currentToken = {\n type: TokenType.END_TAG,\n tagName: '',\n tagID: TAG_ID.UNKNOWN,\n selfClosing: false,\n ackSelfClosing: false,\n attrs: [],\n location: this.getCurrentLocation(2),\n };\n }\n _createCommentToken(offset) {\n this.currentToken = {\n type: TokenType.COMMENT,\n data: '',\n location: this.getCurrentLocation(offset),\n };\n }\n _createDoctypeToken(initialName) {\n this.currentToken = {\n type: TokenType.DOCTYPE,\n name: initialName,\n forceQuirks: false,\n publicId: null,\n systemId: null,\n location: this.currentLocation,\n };\n }\n _createCharacterToken(type, chars) {\n this.currentCharacterToken = {\n type,\n chars,\n location: this.currentLocation,\n };\n }\n //Tag attributes\n _createAttr(attrNameFirstCh) {\n this.currentAttr = {\n name: attrNameFirstCh,\n value: '',\n };\n this.currentLocation = this.getCurrentLocation(0);\n }\n _leaveAttrName() {\n var _a;\n var _b;\n const token = this.currentToken;\n if (getTokenAttr(token, this.currentAttr.name) === null) {\n token.attrs.push(this.currentAttr);\n if (token.location && this.currentLocation) {\n const attrLocations = ((_a = (_b = token.location).attrs) !== null && _a !== void 0 ? _a : (_b.attrs = Object.create(null)));\n attrLocations[this.currentAttr.name] = this.currentLocation;\n // Set end location\n this._leaveAttrValue();\n }\n }\n else {\n this._err(ERR.duplicateAttribute);\n }\n }\n _leaveAttrValue() {\n if (this.currentLocation) {\n this.currentLocation.endLine = this.preprocessor.line;\n this.currentLocation.endCol = this.preprocessor.col;\n this.currentLocation.endOffset = this.preprocessor.offset;\n }\n }\n //Token emission\n prepareToken(ct) {\n this._emitCurrentCharacterToken(ct.location);\n this.currentToken = null;\n if (ct.location) {\n ct.location.endLine = this.preprocessor.line;\n ct.location.endCol = this.preprocessor.col + 1;\n ct.location.endOffset = this.preprocessor.offset + 1;\n }\n this.currentLocation = this.getCurrentLocation(-1);\n }\n emitCurrentTagToken() {\n const ct = this.currentToken;\n this.prepareToken(ct);\n ct.tagID = getTagID(ct.tagName);\n if (ct.type === TokenType.START_TAG) {\n this.lastStartTagName = ct.tagName;\n this.handler.onStartTag(ct);\n }\n else {\n if (ct.attrs.length > 0) {\n this._err(ERR.endTagWithAttributes);\n }\n if (ct.selfClosing) {\n this._err(ERR.endTagWithTrailingSolidus);\n }\n this.handler.onEndTag(ct);\n }\n this.preprocessor.dropParsedChunk();\n }\n emitCurrentComment(ct) {\n this.prepareToken(ct);\n this.handler.onComment(ct);\n this.preprocessor.dropParsedChunk();\n }\n emitCurrentDoctype(ct) {\n this.prepareToken(ct);\n this.handler.onDoctype(ct);\n this.preprocessor.dropParsedChunk();\n }\n _emitCurrentCharacterToken(nextLocation) {\n if (this.currentCharacterToken) {\n //NOTE: if we have a pending character token, make it's end location equal to the\n //current token's start location.\n if (nextLocation && this.currentCharacterToken.location) {\n this.currentCharacterToken.location.endLine = nextLocation.startLine;\n this.currentCharacterToken.location.endCol = nextLocation.startCol;\n this.currentCharacterToken.location.endOffset = nextLocation.startOffset;\n }\n switch (this.currentCharacterToken.type) {\n case TokenType.CHARACTER: {\n this.handler.onCharacter(this.currentCharacterToken);\n break;\n }\n case TokenType.NULL_CHARACTER: {\n this.handler.onNullCharacter(this.currentCharacterToken);\n break;\n }\n case TokenType.WHITESPACE_CHARACTER: {\n this.handler.onWhitespaceCharacter(this.currentCharacterToken);\n break;\n }\n }\n this.currentCharacterToken = null;\n }\n }\n _emitEOFToken() {\n const location = this.getCurrentLocation(0);\n if (location) {\n location.endLine = location.startLine;\n location.endCol = location.startCol;\n location.endOffset = location.startOffset;\n }\n this._emitCurrentCharacterToken(location);\n this.handler.onEof({ type: TokenType.EOF, location });\n this.active = false;\n }\n //Characters emission\n //OPTIMIZATION: specification uses only one type of character tokens (one token per character).\n //This causes a huge memory overhead and a lot of unnecessary parser loops. parse5 uses 3 groups of characters.\n //If we have a sequence of characters that belong to the same group, the parser can process it\n //as a single solid character token.\n //So, there are 3 types of character tokens in parse5:\n //1)TokenType.NULL_CHARACTER - \\u0000-character sequences (e.g. '\\u0000\\u0000\\u0000')\n //2)TokenType.WHITESPACE_CHARACTER - any whitespace/new-line character sequences (e.g. '\\n \\r\\t \\f')\n //3)TokenType.CHARACTER - any character sequence which don't belong to groups 1 and 2 (e.g. 'abcdef1234@@#$%^')\n _appendCharToCurrentCharacterToken(type, ch) {\n if (this.currentCharacterToken) {\n if (this.currentCharacterToken.type !== type) {\n this.currentLocation = this.getCurrentLocation(0);\n this._emitCurrentCharacterToken(this.currentLocation);\n this.preprocessor.dropParsedChunk();\n }\n else {\n this.currentCharacterToken.chars += ch;\n return;\n }\n }\n this._createCharacterToken(type, ch);\n }\n _emitCodePoint(cp) {\n let type = TokenType.CHARACTER;\n if (isWhitespace(cp)) {\n type = TokenType.WHITESPACE_CHARACTER;\n }\n else if (cp === $.NULL) {\n type = TokenType.NULL_CHARACTER;\n }\n this._appendCharToCurrentCharacterToken(type, String.fromCodePoint(cp));\n }\n //NOTE: used when we emit characters explicitly.\n //This is always for non-whitespace and non-null characters, which allows us to avoid additional checks.\n _emitChars(ch) {\n this._appendCharToCurrentCharacterToken(TokenType.CHARACTER, ch);\n }\n // Character reference helpers\n _matchNamedCharacterReference(cp) {\n let result = null;\n let excess = 0;\n let withoutSemicolon = false;\n for (let i = 0, current = htmlDecodeTree[0]; i >= 0; cp = this._consume()) {\n i = determineBranch(htmlDecodeTree, current, i + 1, cp);\n if (i < 0)\n break;\n excess += 1;\n current = htmlDecodeTree[i];\n const masked = current & BinTrieFlags.VALUE_LENGTH;\n // If the branch is a value, store it and continue\n if (masked) {\n // The mask is the number of bytes of the value, including the current byte.\n const valueLength = (masked >> 14) - 1;\n // Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.\n // See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state\n if (cp !== $.SEMICOLON &&\n this._isCharacterReferenceInAttribute() &&\n isEntityInAttributeInvalidEnd(this.preprocessor.peek(1))) {\n //NOTE: we don't flush all consumed code points here, and instead switch back to the original state after\n //emitting an ampersand. This is fine, as alphanumeric characters won't be parsed differently in attributes.\n result = [$.AMPERSAND];\n // Skip over the value.\n i += valueLength;\n }\n else {\n // If this is a surrogate pair, consume the next two bytes.\n result =\n valueLength === 0\n ? [htmlDecodeTree[i] & ~BinTrieFlags.VALUE_LENGTH]\n : valueLength === 1\n ? [htmlDecodeTree[++i]]\n : [htmlDecodeTree[++i], htmlDecodeTree[++i]];\n excess = 0;\n withoutSemicolon = cp !== $.SEMICOLON;\n }\n if (valueLength === 0) {\n // If the value is zero-length, we're done.\n this._consume();\n break;\n }\n }\n }\n this._unconsume(excess);\n if (withoutSemicolon && !this.preprocessor.endOfChunkHit) {\n this._err(ERR.missingSemicolonAfterCharacterReference);\n }\n // We want to emit the error above on the code point after the entity.\n // We always consume one code point too many in the loop, and we wait to\n // unconsume it until after the error is emitted.\n this._unconsume(1);\n return result;\n }\n _isCharacterReferenceInAttribute() {\n return (this.returnState === State.ATTRIBUTE_VALUE_DOUBLE_QUOTED ||\n this.returnState === State.ATTRIBUTE_VALUE_SINGLE_QUOTED ||\n this.returnState === State.ATTRIBUTE_VALUE_UNQUOTED);\n }\n _flushCodePointConsumedAsCharacterReference(cp) {\n if (this._isCharacterReferenceInAttribute()) {\n this.currentAttr.value += String.fromCodePoint(cp);\n }\n else {\n this._emitCodePoint(cp);\n }\n }\n // Calling states this way turns out to be much faster than any other approach.\n _callState(cp) {\n switch (this.state) {\n case State.DATA: {\n this._stateData(cp);\n break;\n }\n case State.RCDATA: {\n this._stateRcdata(cp);\n break;\n }\n case State.RAWTEXT: {\n this._stateRawtext(cp);\n break;\n }\n case State.SCRIPT_DATA: {\n this._stateScriptData(cp);\n break;\n }\n case State.PLAINTEXT: {\n this._statePlaintext(cp);\n break;\n }\n case State.TAG_OPEN: {\n this._stateTagOpen(cp);\n break;\n }\n case State.END_TAG_OPEN: {\n this._stateEndTagOpen(cp);\n break;\n }\n case State.TAG_NAME: {\n this._stateTagName(cp);\n break;\n }\n case State.RCDATA_LESS_THAN_SIGN: {\n this._stateRcdataLessThanSign(cp);\n break;\n }\n case State.RCDATA_END_TAG_OPEN: {\n this._stateRcdataEndTagOpen(cp);\n break;\n }\n case State.RCDATA_END_TAG_NAME: {\n this._stateRcdataEndTagName(cp);\n break;\n }\n case State.RAWTEXT_LESS_THAN_SIGN: {\n this._stateRawtextLessThanSign(cp);\n break;\n }\n case State.RAWTEXT_END_TAG_OPEN: {\n this._stateRawtextEndTagOpen(cp);\n break;\n }\n case State.RAWTEXT_END_TAG_NAME: {\n this._stateRawtextEndTagName(cp);\n break;\n }\n case State.SCRIPT_DATA_LESS_THAN_SIGN: {\n this._stateScriptDataLessThanSign(cp);\n break;\n }\n case State.SCRIPT_DATA_END_TAG_OPEN: {\n this._stateScriptDataEndTagOpen(cp);\n break;\n }\n case State.SCRIPT_DATA_END_TAG_NAME: {\n this._stateScriptDataEndTagName(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPE_START: {\n this._stateScriptDataEscapeStart(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPE_START_DASH: {\n this._stateScriptDataEscapeStartDash(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED: {\n this._stateScriptDataEscaped(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_DASH: {\n this._stateScriptDataEscapedDash(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_DASH_DASH: {\n this._stateScriptDataEscapedDashDash(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN: {\n this._stateScriptDataEscapedLessThanSign(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_END_TAG_OPEN: {\n this._stateScriptDataEscapedEndTagOpen(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_END_TAG_NAME: {\n this._stateScriptDataEscapedEndTagName(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPE_START: {\n this._stateScriptDataDoubleEscapeStart(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPED: {\n this._stateScriptDataDoubleEscaped(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPED_DASH: {\n this._stateScriptDataDoubleEscapedDash(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH: {\n this._stateScriptDataDoubleEscapedDashDash(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN: {\n this._stateScriptDataDoubleEscapedLessThanSign(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPE_END: {\n this._stateScriptDataDoubleEscapeEnd(cp);\n break;\n }\n case State.BEFORE_ATTRIBUTE_NAME: {\n this._stateBeforeAttributeName(cp);\n break;\n }\n case State.ATTRIBUTE_NAME: {\n this._stateAttributeName(cp);\n break;\n }\n case State.AFTER_ATTRIBUTE_NAME: {\n this._stateAfterAttributeName(cp);\n break;\n }\n case State.BEFORE_ATTRIBUTE_VALUE: {\n this._stateBeforeAttributeValue(cp);\n break;\n }\n case State.ATTRIBUTE_VALUE_DOUBLE_QUOTED: {\n this._stateAttributeValueDoubleQuoted(cp);\n break;\n }\n case State.ATTRIBUTE_VALUE_SINGLE_QUOTED: {\n this._stateAttributeValueSingleQuoted(cp);\n break;\n }\n case State.ATTRIBUTE_VALUE_UNQUOTED: {\n this._stateAttributeValueUnquoted(cp);\n break;\n }\n case State.AFTER_ATTRIBUTE_VALUE_QUOTED: {\n this._stateAfterAttributeValueQuoted(cp);\n break;\n }\n case State.SELF_CLOSING_START_TAG: {\n this._stateSelfClosingStartTag(cp);\n break;\n }\n case State.BOGUS_COMMENT: {\n this._stateBogusComment(cp);\n break;\n }\n case State.MARKUP_DECLARATION_OPEN: {\n this._stateMarkupDeclarationOpen(cp);\n break;\n }\n case State.COMMENT_START: {\n this._stateCommentStart(cp);\n break;\n }\n case State.COMMENT_START_DASH: {\n this._stateCommentStartDash(cp);\n break;\n }\n case State.COMMENT: {\n this._stateComment(cp);\n break;\n }\n case State.COMMENT_LESS_THAN_SIGN: {\n this._stateCommentLessThanSign(cp);\n break;\n }\n case State.COMMENT_LESS_THAN_SIGN_BANG: {\n this._stateCommentLessThanSignBang(cp);\n break;\n }\n case State.COMMENT_LESS_THAN_SIGN_BANG_DASH: {\n this._stateCommentLessThanSignBangDash(cp);\n break;\n }\n case State.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH: {\n this._stateCommentLessThanSignBangDashDash(cp);\n break;\n }\n case State.COMMENT_END_DASH: {\n this._stateCommentEndDash(cp);\n break;\n }\n case State.COMMENT_END: {\n this._stateCommentEnd(cp);\n break;\n }\n case State.COMMENT_END_BANG: {\n this._stateCommentEndBang(cp);\n break;\n }\n case State.DOCTYPE: {\n this._stateDoctype(cp);\n break;\n }\n case State.BEFORE_DOCTYPE_NAME: {\n this._stateBeforeDoctypeName(cp);\n break;\n }\n case State.DOCTYPE_NAME: {\n this._stateDoctypeName(cp);\n break;\n }\n case State.AFTER_DOCTYPE_NAME: {\n this._stateAfterDoctypeName(cp);\n break;\n }\n case State.AFTER_DOCTYPE_PUBLIC_KEYWORD: {\n this._stateAfterDoctypePublicKeyword(cp);\n break;\n }\n case State.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER: {\n this._stateBeforeDoctypePublicIdentifier(cp);\n break;\n }\n case State.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED: {\n this._stateDoctypePublicIdentifierDoubleQuoted(cp);\n break;\n }\n case State.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED: {\n this._stateDoctypePublicIdentifierSingleQuoted(cp);\n break;\n }\n case State.AFTER_DOCTYPE_PUBLIC_IDENTIFIER: {\n this._stateAfterDoctypePublicIdentifier(cp);\n break;\n }\n case State.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS: {\n this._stateBetweenDoctypePublicAndSystemIdentifiers(cp);\n break;\n }\n case State.AFTER_DOCTYPE_SYSTEM_KEYWORD: {\n this._stateAfterDoctypeSystemKeyword(cp);\n break;\n }\n case State.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER: {\n this._stateBeforeDoctypeSystemIdentifier(cp);\n break;\n }\n case State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED: {\n this._stateDoctypeSystemIdentifierDoubleQuoted(cp);\n break;\n }\n case State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED: {\n this._stateDoctypeSystemIdentifierSingleQuoted(cp);\n break;\n }\n case State.AFTER_DOCTYPE_SYSTEM_IDENTIFIER: {\n this._stateAfterDoctypeSystemIdentifier(cp);\n break;\n }\n case State.BOGUS_DOCTYPE: {\n this._stateBogusDoctype(cp);\n break;\n }\n case State.CDATA_SECTION: {\n this._stateCdataSection(cp);\n break;\n }\n case State.CDATA_SECTION_BRACKET: {\n this._stateCdataSectionBracket(cp);\n break;\n }\n case State.CDATA_SECTION_END: {\n this._stateCdataSectionEnd(cp);\n break;\n }\n case State.CHARACTER_REFERENCE: {\n this._stateCharacterReference(cp);\n break;\n }\n case State.NAMED_CHARACTER_REFERENCE: {\n this._stateNamedCharacterReference(cp);\n break;\n }\n case State.AMBIGUOUS_AMPERSAND: {\n this._stateAmbiguousAmpersand(cp);\n break;\n }\n case State.NUMERIC_CHARACTER_REFERENCE: {\n this._stateNumericCharacterReference(cp);\n break;\n }\n case State.HEXADEMICAL_CHARACTER_REFERENCE_START: {\n this._stateHexademicalCharacterReferenceStart(cp);\n break;\n }\n case State.DECIMAL_CHARACTER_REFERENCE_START: {\n this._stateDecimalCharacterReferenceStart(cp);\n break;\n }\n case State.HEXADEMICAL_CHARACTER_REFERENCE: {\n this._stateHexademicalCharacterReference(cp);\n break;\n }\n case State.DECIMAL_CHARACTER_REFERENCE: {\n this._stateDecimalCharacterReference(cp);\n break;\n }\n case State.NUMERIC_CHARACTER_REFERENCE_END: {\n this._stateNumericCharacterReferenceEnd();\n break;\n }\n default: {\n throw new Error('Unknown state');\n }\n }\n }\n // State machine\n // Data state\n //------------------------------------------------------------------\n _stateData(cp) {\n switch (cp) {\n case $.LESS_THAN_SIGN: {\n this.state = State.TAG_OPEN;\n break;\n }\n case $.AMPERSAND: {\n this.returnState = State.DATA;\n this.state = State.CHARACTER_REFERENCE;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._emitCodePoint(cp);\n break;\n }\n case $.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // RCDATA state\n //------------------------------------------------------------------\n _stateRcdata(cp) {\n switch (cp) {\n case $.AMPERSAND: {\n this.returnState = State.RCDATA;\n this.state = State.CHARACTER_REFERENCE;\n break;\n }\n case $.LESS_THAN_SIGN: {\n this.state = State.RCDATA_LESS_THAN_SIGN;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // RAWTEXT state\n //------------------------------------------------------------------\n _stateRawtext(cp) {\n switch (cp) {\n case $.LESS_THAN_SIGN: {\n this.state = State.RAWTEXT_LESS_THAN_SIGN;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data state\n //------------------------------------------------------------------\n _stateScriptData(cp) {\n switch (cp) {\n case $.LESS_THAN_SIGN: {\n this.state = State.SCRIPT_DATA_LESS_THAN_SIGN;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // PLAINTEXT state\n //------------------------------------------------------------------\n _statePlaintext(cp) {\n switch (cp) {\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // Tag open state\n //------------------------------------------------------------------\n _stateTagOpen(cp) {\n if (isAsciiLetter(cp)) {\n this._createStartTagToken();\n this.state = State.TAG_NAME;\n this._stateTagName(cp);\n }\n else\n switch (cp) {\n case $.EXCLAMATION_MARK: {\n this.state = State.MARKUP_DECLARATION_OPEN;\n break;\n }\n case $.SOLIDUS: {\n this.state = State.END_TAG_OPEN;\n break;\n }\n case $.QUESTION_MARK: {\n this._err(ERR.unexpectedQuestionMarkInsteadOfTagName);\n this._createCommentToken(1);\n this.state = State.BOGUS_COMMENT;\n this._stateBogusComment(cp);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofBeforeTagName);\n this._emitChars('<');\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.invalidFirstCharacterOfTagName);\n this._emitChars('<');\n this.state = State.DATA;\n this._stateData(cp);\n }\n }\n }\n // End tag open state\n //------------------------------------------------------------------\n _stateEndTagOpen(cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this.state = State.TAG_NAME;\n this._stateTagName(cp);\n }\n else\n switch (cp) {\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingEndTagName);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofBeforeTagName);\n this._emitChars('');\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n break;\n }\n default: {\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data escaped less-than sign state\n //------------------------------------------------------------------\n _stateScriptDataEscapedLessThanSign(cp) {\n if (cp === $.SOLIDUS) {\n this.state = State.SCRIPT_DATA_ESCAPED_END_TAG_OPEN;\n }\n else if (isAsciiLetter(cp)) {\n this._emitChars('<');\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPE_START;\n this._stateScriptDataDoubleEscapeStart(cp);\n }\n else {\n this._emitChars('<');\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._stateScriptDataEscaped(cp);\n }\n }\n // Script data escaped end tag open state\n //------------------------------------------------------------------\n _stateScriptDataEscapedEndTagOpen(cp) {\n if (isAsciiLetter(cp)) {\n this.state = State.SCRIPT_DATA_ESCAPED_END_TAG_NAME;\n this._stateScriptDataEscapedEndTagName(cp);\n }\n else {\n this._emitChars('');\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n break;\n }\n default: {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data double escaped less-than sign state\n //------------------------------------------------------------------\n _stateScriptDataDoubleEscapedLessThanSign(cp) {\n if (cp === $.SOLIDUS) {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPE_END;\n this._emitChars('/');\n }\n else {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._stateScriptDataDoubleEscaped(cp);\n }\n }\n // Script data double escape end state\n //------------------------------------------------------------------\n _stateScriptDataDoubleEscapeEnd(cp) {\n if (this.preprocessor.startsWith($$.SCRIPT, false) &&\n isScriptDataDoubleEscapeSequenceEnd(this.preprocessor.peek($$.SCRIPT.length))) {\n this._emitCodePoint(cp);\n for (let i = 0; i < $$.SCRIPT.length; i++) {\n this._emitCodePoint(this._consume());\n }\n this.state = State.SCRIPT_DATA_ESCAPED;\n }\n else if (!this._ensureHibernation()) {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._stateScriptDataDoubleEscaped(cp);\n }\n }\n // Before attribute name state\n //------------------------------------------------------------------\n _stateBeforeAttributeName(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.SOLIDUS:\n case $.GREATER_THAN_SIGN:\n case $.EOF: {\n this.state = State.AFTER_ATTRIBUTE_NAME;\n this._stateAfterAttributeName(cp);\n break;\n }\n case $.EQUALS_SIGN: {\n this._err(ERR.unexpectedEqualsSignBeforeAttributeName);\n this._createAttr('=');\n this.state = State.ATTRIBUTE_NAME;\n break;\n }\n default: {\n this._createAttr('');\n this.state = State.ATTRIBUTE_NAME;\n this._stateAttributeName(cp);\n }\n }\n }\n // Attribute name state\n //------------------------------------------------------------------\n _stateAttributeName(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED:\n case $.SOLIDUS:\n case $.GREATER_THAN_SIGN:\n case $.EOF: {\n this._leaveAttrName();\n this.state = State.AFTER_ATTRIBUTE_NAME;\n this._stateAfterAttributeName(cp);\n break;\n }\n case $.EQUALS_SIGN: {\n this._leaveAttrName();\n this.state = State.BEFORE_ATTRIBUTE_VALUE;\n break;\n }\n case $.QUOTATION_MARK:\n case $.APOSTROPHE:\n case $.LESS_THAN_SIGN: {\n this._err(ERR.unexpectedCharacterInAttributeName);\n this.currentAttr.name += String.fromCodePoint(cp);\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.name += REPLACEMENT_CHARACTER;\n break;\n }\n default: {\n this.currentAttr.name += String.fromCodePoint(isAsciiUpper(cp) ? toAsciiLower(cp) : cp);\n }\n }\n }\n // After attribute name state\n //------------------------------------------------------------------\n _stateAfterAttributeName(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.SOLIDUS: {\n this.state = State.SELF_CLOSING_START_TAG;\n break;\n }\n case $.EQUALS_SIGN: {\n this.state = State.BEFORE_ATTRIBUTE_VALUE;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this._createAttr('');\n this.state = State.ATTRIBUTE_NAME;\n this._stateAttributeName(cp);\n }\n }\n }\n // Before attribute value state\n //------------------------------------------------------------------\n _stateBeforeAttributeValue(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.QUOTATION_MARK: {\n this.state = State.ATTRIBUTE_VALUE_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n this.state = State.ATTRIBUTE_VALUE_SINGLE_QUOTED;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingAttributeValue);\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n default: {\n this.state = State.ATTRIBUTE_VALUE_UNQUOTED;\n this._stateAttributeValueUnquoted(cp);\n }\n }\n }\n // Attribute value (double-quoted) state\n //------------------------------------------------------------------\n _stateAttributeValueDoubleQuoted(cp) {\n switch (cp) {\n case $.QUOTATION_MARK: {\n this.state = State.AFTER_ATTRIBUTE_VALUE_QUOTED;\n break;\n }\n case $.AMPERSAND: {\n this.returnState = State.ATTRIBUTE_VALUE_DOUBLE_QUOTED;\n this.state = State.CHARACTER_REFERENCE;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.value += REPLACEMENT_CHARACTER;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this.currentAttr.value += String.fromCodePoint(cp);\n }\n }\n }\n // Attribute value (single-quoted) state\n //------------------------------------------------------------------\n _stateAttributeValueSingleQuoted(cp) {\n switch (cp) {\n case $.APOSTROPHE: {\n this.state = State.AFTER_ATTRIBUTE_VALUE_QUOTED;\n break;\n }\n case $.AMPERSAND: {\n this.returnState = State.ATTRIBUTE_VALUE_SINGLE_QUOTED;\n this.state = State.CHARACTER_REFERENCE;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.value += REPLACEMENT_CHARACTER;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this.currentAttr.value += String.fromCodePoint(cp);\n }\n }\n }\n // Attribute value (unquoted) state\n //------------------------------------------------------------------\n _stateAttributeValueUnquoted(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this._leaveAttrValue();\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n break;\n }\n case $.AMPERSAND: {\n this.returnState = State.ATTRIBUTE_VALUE_UNQUOTED;\n this.state = State.CHARACTER_REFERENCE;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._leaveAttrValue();\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.value += REPLACEMENT_CHARACTER;\n break;\n }\n case $.QUOTATION_MARK:\n case $.APOSTROPHE:\n case $.LESS_THAN_SIGN:\n case $.EQUALS_SIGN:\n case $.GRAVE_ACCENT: {\n this._err(ERR.unexpectedCharacterInUnquotedAttributeValue);\n this.currentAttr.value += String.fromCodePoint(cp);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this.currentAttr.value += String.fromCodePoint(cp);\n }\n }\n }\n // After attribute value (quoted) state\n //------------------------------------------------------------------\n _stateAfterAttributeValueQuoted(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this._leaveAttrValue();\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n break;\n }\n case $.SOLIDUS: {\n this._leaveAttrValue();\n this.state = State.SELF_CLOSING_START_TAG;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._leaveAttrValue();\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingWhitespaceBetweenAttributes);\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n this._stateBeforeAttributeName(cp);\n }\n }\n }\n // Self-closing start tag state\n //------------------------------------------------------------------\n _stateSelfClosingStartTag(cp) {\n switch (cp) {\n case $.GREATER_THAN_SIGN: {\n const token = this.currentToken;\n token.selfClosing = true;\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.unexpectedSolidusInTag);\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n this._stateBeforeAttributeName(cp);\n }\n }\n }\n // Bogus comment state\n //------------------------------------------------------------------\n _stateBogusComment(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentComment(token);\n break;\n }\n case $.EOF: {\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.data += REPLACEMENT_CHARACTER;\n break;\n }\n default: {\n token.data += String.fromCodePoint(cp);\n }\n }\n }\n // Markup declaration open state\n //------------------------------------------------------------------\n _stateMarkupDeclarationOpen(cp) {\n if (this._consumeSequenceIfMatch($$.DASH_DASH, true)) {\n this._createCommentToken($$.DASH_DASH.length + 1);\n this.state = State.COMMENT_START;\n }\n else if (this._consumeSequenceIfMatch($$.DOCTYPE, false)) {\n // NOTE: Doctypes tokens are created without fixed offsets. We keep track of the moment a doctype *might* start here.\n this.currentLocation = this.getCurrentLocation($$.DOCTYPE.length + 1);\n this.state = State.DOCTYPE;\n }\n else if (this._consumeSequenceIfMatch($$.CDATA_START, true)) {\n if (this.inForeignNode) {\n this.state = State.CDATA_SECTION;\n }\n else {\n this._err(ERR.cdataInHtmlContent);\n this._createCommentToken($$.CDATA_START.length + 1);\n this.currentToken.data = '[CDATA[';\n this.state = State.BOGUS_COMMENT;\n }\n }\n //NOTE: Sequence lookups can be abrupted by hibernation. In that case, lookup\n //results are no longer valid and we will need to start over.\n else if (!this._ensureHibernation()) {\n this._err(ERR.incorrectlyOpenedComment);\n this._createCommentToken(2);\n this.state = State.BOGUS_COMMENT;\n this._stateBogusComment(cp);\n }\n }\n // Comment start state\n //------------------------------------------------------------------\n _stateCommentStart(cp) {\n switch (cp) {\n case $.HYPHEN_MINUS: {\n this.state = State.COMMENT_START_DASH;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.abruptClosingOfEmptyComment);\n this.state = State.DATA;\n const token = this.currentToken;\n this.emitCurrentComment(token);\n break;\n }\n default: {\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment start dash state\n //------------------------------------------------------------------\n _stateCommentStartDash(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.HYPHEN_MINUS: {\n this.state = State.COMMENT_END;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.abruptClosingOfEmptyComment);\n this.state = State.DATA;\n this.emitCurrentComment(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += '-';\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment state\n //------------------------------------------------------------------\n _stateComment(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.HYPHEN_MINUS: {\n this.state = State.COMMENT_END_DASH;\n break;\n }\n case $.LESS_THAN_SIGN: {\n token.data += '<';\n this.state = State.COMMENT_LESS_THAN_SIGN;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.data += REPLACEMENT_CHARACTER;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += String.fromCodePoint(cp);\n }\n }\n }\n // Comment less-than sign state\n //------------------------------------------------------------------\n _stateCommentLessThanSign(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.EXCLAMATION_MARK: {\n token.data += '!';\n this.state = State.COMMENT_LESS_THAN_SIGN_BANG;\n break;\n }\n case $.LESS_THAN_SIGN: {\n token.data += '<';\n break;\n }\n default: {\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment less-than sign bang state\n //------------------------------------------------------------------\n _stateCommentLessThanSignBang(cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = State.COMMENT_LESS_THAN_SIGN_BANG_DASH;\n }\n else {\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n // Comment less-than sign bang dash state\n //------------------------------------------------------------------\n _stateCommentLessThanSignBangDash(cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = State.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH;\n }\n else {\n this.state = State.COMMENT_END_DASH;\n this._stateCommentEndDash(cp);\n }\n }\n // Comment less-than sign bang dash dash state\n //------------------------------------------------------------------\n _stateCommentLessThanSignBangDashDash(cp) {\n if (cp !== $.GREATER_THAN_SIGN && cp !== $.EOF) {\n this._err(ERR.nestedComment);\n }\n this.state = State.COMMENT_END;\n this._stateCommentEnd(cp);\n }\n // Comment end dash state\n //------------------------------------------------------------------\n _stateCommentEndDash(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.HYPHEN_MINUS: {\n this.state = State.COMMENT_END;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += '-';\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment end state\n //------------------------------------------------------------------\n _stateCommentEnd(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentComment(token);\n break;\n }\n case $.EXCLAMATION_MARK: {\n this.state = State.COMMENT_END_BANG;\n break;\n }\n case $.HYPHEN_MINUS: {\n token.data += '-';\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += '--';\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment end bang state\n //------------------------------------------------------------------\n _stateCommentEndBang(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.HYPHEN_MINUS: {\n token.data += '--!';\n this.state = State.COMMENT_END_DASH;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.incorrectlyClosedComment);\n this.state = State.DATA;\n this.emitCurrentComment(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += '--!';\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // DOCTYPE state\n //------------------------------------------------------------------\n _stateDoctype(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this.state = State.BEFORE_DOCTYPE_NAME;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.state = State.BEFORE_DOCTYPE_NAME;\n this._stateBeforeDoctypeName(cp);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n this._createDoctypeToken(null);\n const token = this.currentToken;\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingWhitespaceBeforeDoctypeName);\n this.state = State.BEFORE_DOCTYPE_NAME;\n this._stateBeforeDoctypeName(cp);\n }\n }\n }\n // Before DOCTYPE name state\n //------------------------------------------------------------------\n _stateBeforeDoctypeName(cp) {\n if (isAsciiUpper(cp)) {\n this._createDoctypeToken(String.fromCharCode(toAsciiLower(cp)));\n this.state = State.DOCTYPE_NAME;\n }\n else\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._createDoctypeToken(REPLACEMENT_CHARACTER);\n this.state = State.DOCTYPE_NAME;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingDoctypeName);\n this._createDoctypeToken(null);\n const token = this.currentToken;\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n this._createDoctypeToken(null);\n const token = this.currentToken;\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._createDoctypeToken(String.fromCodePoint(cp));\n this.state = State.DOCTYPE_NAME;\n }\n }\n }\n // DOCTYPE name state\n //------------------------------------------------------------------\n _stateDoctypeName(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this.state = State.AFTER_DOCTYPE_NAME;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.name += REPLACEMENT_CHARACTER;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.name += String.fromCodePoint(isAsciiUpper(cp) ? toAsciiLower(cp) : cp);\n }\n }\n }\n // After DOCTYPE name state\n //------------------------------------------------------------------\n _stateAfterDoctypeName(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default:\n if (this._consumeSequenceIfMatch($$.PUBLIC, false)) {\n this.state = State.AFTER_DOCTYPE_PUBLIC_KEYWORD;\n }\n else if (this._consumeSequenceIfMatch($$.SYSTEM, false)) {\n this.state = State.AFTER_DOCTYPE_SYSTEM_KEYWORD;\n }\n //NOTE: sequence lookup can be abrupted by hibernation. In that case lookup\n //results are no longer valid and we will need to start over.\n else if (!this._ensureHibernation()) {\n this._err(ERR.invalidCharacterSequenceAfterDoctypeName);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // After DOCTYPE public keyword state\n //------------------------------------------------------------------\n _stateAfterDoctypePublicKeyword(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this.state = State.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;\n break;\n }\n case $.QUOTATION_MARK: {\n this._err(ERR.missingWhitespaceAfterDoctypePublicKeyword);\n token.publicId = '';\n this.state = State.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n this._err(ERR.missingWhitespaceAfterDoctypePublicKeyword);\n token.publicId = '';\n this.state = State.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingQuoteBeforeDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // Before DOCTYPE public identifier state\n //------------------------------------------------------------------\n _stateBeforeDoctypePublicIdentifier(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.QUOTATION_MARK: {\n token.publicId = '';\n this.state = State.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n token.publicId = '';\n this.state = State.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingQuoteBeforeDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // DOCTYPE public identifier (double-quoted) state\n //------------------------------------------------------------------\n _stateDoctypePublicIdentifierDoubleQuoted(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.QUOTATION_MARK: {\n this.state = State.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.publicId += REPLACEMENT_CHARACTER;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.abruptDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.publicId += String.fromCodePoint(cp);\n }\n }\n }\n // DOCTYPE public identifier (single-quoted) state\n //------------------------------------------------------------------\n _stateDoctypePublicIdentifierSingleQuoted(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.APOSTROPHE: {\n this.state = State.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.publicId += REPLACEMENT_CHARACTER;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.abruptDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.publicId += String.fromCodePoint(cp);\n }\n }\n }\n // After DOCTYPE public identifier state\n //------------------------------------------------------------------\n _stateAfterDoctypePublicIdentifier(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this.state = State.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.QUOTATION_MARK: {\n this._err(ERR.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n this._err(ERR.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // Between DOCTYPE public and system identifiers state\n //------------------------------------------------------------------\n _stateBetweenDoctypePublicAndSystemIdentifiers(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.QUOTATION_MARK: {\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // After DOCTYPE system keyword state\n //------------------------------------------------------------------\n _stateAfterDoctypeSystemKeyword(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this.state = State.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;\n break;\n }\n case $.QUOTATION_MARK: {\n this._err(ERR.missingWhitespaceAfterDoctypeSystemKeyword);\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n this._err(ERR.missingWhitespaceAfterDoctypeSystemKeyword);\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // Before DOCTYPE system identifier state\n //------------------------------------------------------------------\n _stateBeforeDoctypeSystemIdentifier(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.QUOTATION_MARK: {\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // DOCTYPE system identifier (double-quoted) state\n //------------------------------------------------------------------\n _stateDoctypeSystemIdentifierDoubleQuoted(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.QUOTATION_MARK: {\n this.state = State.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.systemId += REPLACEMENT_CHARACTER;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.abruptDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.systemId += String.fromCodePoint(cp);\n }\n }\n }\n // DOCTYPE system identifier (single-quoted) state\n //------------------------------------------------------------------\n _stateDoctypeSystemIdentifierSingleQuoted(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.APOSTROPHE: {\n this.state = State.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.systemId += REPLACEMENT_CHARACTER;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.abruptDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.systemId += String.fromCodePoint(cp);\n }\n }\n }\n // After DOCTYPE system identifier state\n //------------------------------------------------------------------\n _stateAfterDoctypeSystemIdentifier(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.unexpectedCharacterAfterDoctypeSystemIdentifier);\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // Bogus DOCTYPE state\n //------------------------------------------------------------------\n _stateBogusDoctype(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.GREATER_THAN_SIGN: {\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n break;\n }\n case $.EOF: {\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default:\n // Do nothing\n }\n }\n // CDATA section state\n //------------------------------------------------------------------\n _stateCdataSection(cp) {\n switch (cp) {\n case $.RIGHT_SQUARE_BRACKET: {\n this.state = State.CDATA_SECTION_BRACKET;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInCdata);\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // CDATA section bracket state\n //------------------------------------------------------------------\n _stateCdataSectionBracket(cp) {\n if (cp === $.RIGHT_SQUARE_BRACKET) {\n this.state = State.CDATA_SECTION_END;\n }\n else {\n this._emitChars(']');\n this.state = State.CDATA_SECTION;\n this._stateCdataSection(cp);\n }\n }\n // CDATA section end state\n //------------------------------------------------------------------\n _stateCdataSectionEnd(cp) {\n switch (cp) {\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n break;\n }\n case $.RIGHT_SQUARE_BRACKET: {\n this._emitChars(']');\n break;\n }\n default: {\n this._emitChars(']]');\n this.state = State.CDATA_SECTION;\n this._stateCdataSection(cp);\n }\n }\n }\n // Character reference state\n //------------------------------------------------------------------\n _stateCharacterReference(cp) {\n if (cp === $.NUMBER_SIGN) {\n this.state = State.NUMERIC_CHARACTER_REFERENCE;\n }\n else if (isAsciiAlphaNumeric(cp)) {\n this.state = State.NAMED_CHARACTER_REFERENCE;\n this._stateNamedCharacterReference(cp);\n }\n else {\n this._flushCodePointConsumedAsCharacterReference($.AMPERSAND);\n this._reconsumeInState(this.returnState);\n }\n }\n // Named character reference state\n //------------------------------------------------------------------\n _stateNamedCharacterReference(cp) {\n const matchResult = this._matchNamedCharacterReference(cp);\n //NOTE: Matching can be abrupted by hibernation. In that case, match\n //results are no longer valid and we will need to start over.\n if (this._ensureHibernation()) {\n // Stay in the state, try again.\n }\n else if (matchResult) {\n for (let i = 0; i < matchResult.length; i++) {\n this._flushCodePointConsumedAsCharacterReference(matchResult[i]);\n }\n this.state = this.returnState;\n }\n else {\n this._flushCodePointConsumedAsCharacterReference($.AMPERSAND);\n this.state = State.AMBIGUOUS_AMPERSAND;\n }\n }\n // Ambiguos ampersand state\n //------------------------------------------------------------------\n _stateAmbiguousAmpersand(cp) {\n if (isAsciiAlphaNumeric(cp)) {\n this._flushCodePointConsumedAsCharacterReference(cp);\n }\n else {\n if (cp === $.SEMICOLON) {\n this._err(ERR.unknownNamedCharacterReference);\n }\n this._reconsumeInState(this.returnState);\n }\n }\n // Numeric character reference state\n //------------------------------------------------------------------\n _stateNumericCharacterReference(cp) {\n this.charRefCode = 0;\n if (cp === $.LATIN_SMALL_X || cp === $.LATIN_CAPITAL_X) {\n this.state = State.HEXADEMICAL_CHARACTER_REFERENCE_START;\n }\n else {\n this.state = State.DECIMAL_CHARACTER_REFERENCE_START;\n this._stateDecimalCharacterReferenceStart(cp);\n }\n }\n // Hexademical character reference start state\n //------------------------------------------------------------------\n _stateHexademicalCharacterReferenceStart(cp) {\n if (isAsciiHexDigit(cp)) {\n this.state = State.HEXADEMICAL_CHARACTER_REFERENCE;\n this._stateHexademicalCharacterReference(cp);\n }\n else {\n this._err(ERR.absenceOfDigitsInNumericCharacterReference);\n this._flushCodePointConsumedAsCharacterReference($.AMPERSAND);\n this._flushCodePointConsumedAsCharacterReference($.NUMBER_SIGN);\n this._unconsume(2);\n this.state = this.returnState;\n }\n }\n // Decimal character reference start state\n //------------------------------------------------------------------\n _stateDecimalCharacterReferenceStart(cp) {\n if (isAsciiDigit(cp)) {\n this.state = State.DECIMAL_CHARACTER_REFERENCE;\n this._stateDecimalCharacterReference(cp);\n }\n else {\n this._err(ERR.absenceOfDigitsInNumericCharacterReference);\n this._flushCodePointConsumedAsCharacterReference($.AMPERSAND);\n this._flushCodePointConsumedAsCharacterReference($.NUMBER_SIGN);\n this._reconsumeInState(this.returnState);\n }\n }\n // Hexademical character reference state\n //------------------------------------------------------------------\n _stateHexademicalCharacterReference(cp) {\n if (isAsciiUpperHexDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x37;\n }\n else if (isAsciiLowerHexDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x57;\n }\n else if (isAsciiDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x30;\n }\n else if (cp === $.SEMICOLON) {\n this.state = State.NUMERIC_CHARACTER_REFERENCE_END;\n }\n else {\n this._err(ERR.missingSemicolonAfterCharacterReference);\n this.state = State.NUMERIC_CHARACTER_REFERENCE_END;\n this._stateNumericCharacterReferenceEnd();\n }\n }\n // Decimal character reference state\n //------------------------------------------------------------------\n _stateDecimalCharacterReference(cp) {\n if (isAsciiDigit(cp)) {\n this.charRefCode = this.charRefCode * 10 + cp - 0x30;\n }\n else if (cp === $.SEMICOLON) {\n this.state = State.NUMERIC_CHARACTER_REFERENCE_END;\n }\n else {\n this._err(ERR.missingSemicolonAfterCharacterReference);\n this.state = State.NUMERIC_CHARACTER_REFERENCE_END;\n this._stateNumericCharacterReferenceEnd();\n }\n }\n // Numeric character reference end state\n //------------------------------------------------------------------\n _stateNumericCharacterReferenceEnd() {\n if (this.charRefCode === $.NULL) {\n this._err(ERR.nullCharacterReference);\n this.charRefCode = $.REPLACEMENT_CHARACTER;\n }\n else if (this.charRefCode > 1114111) {\n this._err(ERR.characterReferenceOutsideUnicodeRange);\n this.charRefCode = $.REPLACEMENT_CHARACTER;\n }\n else if (isSurrogate(this.charRefCode)) {\n this._err(ERR.surrogateCharacterReference);\n this.charRefCode = $.REPLACEMENT_CHARACTER;\n }\n else if (isUndefinedCodePoint(this.charRefCode)) {\n this._err(ERR.noncharacterCharacterReference);\n }\n else if (isControlCodePoint(this.charRefCode) || this.charRefCode === $.CARRIAGE_RETURN) {\n this._err(ERR.controlCharacterReference);\n const replacement = C1_CONTROLS_REFERENCE_REPLACEMENTS.get(this.charRefCode);\n if (replacement !== undefined) {\n this.charRefCode = replacement;\n }\n }\n this._flushCodePointConsumedAsCharacterReference(this.charRefCode);\n this._reconsumeInState(this.returnState);\n }\n}\n//# sourceMappingURL=index.js.map","import { TAG_ID as $, NS, isNumberedHeader } from '../common/html.js';\n//Element utils\nconst IMPLICIT_END_TAG_REQUIRED = new Set([$.DD, $.DT, $.LI, $.OPTGROUP, $.OPTION, $.P, $.RB, $.RP, $.RT, $.RTC]);\nconst IMPLICIT_END_TAG_REQUIRED_THOROUGHLY = new Set([\n ...IMPLICIT_END_TAG_REQUIRED,\n $.CAPTION,\n $.COLGROUP,\n $.TBODY,\n $.TD,\n $.TFOOT,\n $.TH,\n $.THEAD,\n $.TR,\n]);\nconst SCOPING_ELEMENT_NS = new Map([\n [$.APPLET, NS.HTML],\n [$.CAPTION, NS.HTML],\n [$.HTML, NS.HTML],\n [$.MARQUEE, NS.HTML],\n [$.OBJECT, NS.HTML],\n [$.TABLE, NS.HTML],\n [$.TD, NS.HTML],\n [$.TEMPLATE, NS.HTML],\n [$.TH, NS.HTML],\n [$.ANNOTATION_XML, NS.MATHML],\n [$.MI, NS.MATHML],\n [$.MN, NS.MATHML],\n [$.MO, NS.MATHML],\n [$.MS, NS.MATHML],\n [$.MTEXT, NS.MATHML],\n [$.DESC, NS.SVG],\n [$.FOREIGN_OBJECT, NS.SVG],\n [$.TITLE, NS.SVG],\n]);\nconst NAMED_HEADERS = [$.H1, $.H2, $.H3, $.H4, $.H5, $.H6];\nconst TABLE_ROW_CONTEXT = [$.TR, $.TEMPLATE, $.HTML];\nconst TABLE_BODY_CONTEXT = [$.TBODY, $.TFOOT, $.THEAD, $.TEMPLATE, $.HTML];\nconst TABLE_CONTEXT = [$.TABLE, $.TEMPLATE, $.HTML];\nconst TABLE_CELLS = [$.TD, $.TH];\n//Stack of open elements\nexport class OpenElementStack {\n constructor(document, treeAdapter, handler) {\n this.treeAdapter = treeAdapter;\n this.handler = handler;\n this.items = [];\n this.tagIDs = [];\n this.stackTop = -1;\n this.tmplCount = 0;\n this.currentTagId = $.UNKNOWN;\n this.current = document;\n }\n get currentTmplContentOrNode() {\n return this._isInTemplate() ? this.treeAdapter.getTemplateContent(this.current) : this.current;\n }\n //Index of element\n _indexOf(element) {\n return this.items.lastIndexOf(element, this.stackTop);\n }\n //Update current element\n _isInTemplate() {\n return this.currentTagId === $.TEMPLATE && this.treeAdapter.getNamespaceURI(this.current) === NS.HTML;\n }\n _updateCurrentElement() {\n this.current = this.items[this.stackTop];\n this.currentTagId = this.tagIDs[this.stackTop];\n }\n //Mutations\n push(element, tagID) {\n this.stackTop++;\n this.items[this.stackTop] = element;\n this.current = element;\n this.tagIDs[this.stackTop] = tagID;\n this.currentTagId = tagID;\n if (this._isInTemplate()) {\n this.tmplCount++;\n }\n this.handler.onItemPush(element, tagID, true);\n }\n pop() {\n const popped = this.current;\n if (this.tmplCount > 0 && this._isInTemplate()) {\n this.tmplCount--;\n }\n this.stackTop--;\n this._updateCurrentElement();\n this.handler.onItemPop(popped, true);\n }\n replace(oldElement, newElement) {\n const idx = this._indexOf(oldElement);\n this.items[idx] = newElement;\n if (idx === this.stackTop) {\n this.current = newElement;\n }\n }\n insertAfter(referenceElement, newElement, newElementID) {\n const insertionIdx = this._indexOf(referenceElement) + 1;\n this.items.splice(insertionIdx, 0, newElement);\n this.tagIDs.splice(insertionIdx, 0, newElementID);\n this.stackTop++;\n if (insertionIdx === this.stackTop) {\n this._updateCurrentElement();\n }\n this.handler.onItemPush(this.current, this.currentTagId, insertionIdx === this.stackTop);\n }\n popUntilTagNamePopped(tagName) {\n let targetIdx = this.stackTop + 1;\n do {\n targetIdx = this.tagIDs.lastIndexOf(tagName, targetIdx - 1);\n } while (targetIdx > 0 && this.treeAdapter.getNamespaceURI(this.items[targetIdx]) !== NS.HTML);\n this.shortenToLength(targetIdx < 0 ? 0 : targetIdx);\n }\n shortenToLength(idx) {\n while (this.stackTop >= idx) {\n const popped = this.current;\n if (this.tmplCount > 0 && this._isInTemplate()) {\n this.tmplCount -= 1;\n }\n this.stackTop--;\n this._updateCurrentElement();\n this.handler.onItemPop(popped, this.stackTop < idx);\n }\n }\n popUntilElementPopped(element) {\n const idx = this._indexOf(element);\n this.shortenToLength(idx < 0 ? 0 : idx);\n }\n popUntilPopped(tagNames, targetNS) {\n const idx = this._indexOfTagNames(tagNames, targetNS);\n this.shortenToLength(idx < 0 ? 0 : idx);\n }\n popUntilNumberedHeaderPopped() {\n this.popUntilPopped(NAMED_HEADERS, NS.HTML);\n }\n popUntilTableCellPopped() {\n this.popUntilPopped(TABLE_CELLS, NS.HTML);\n }\n popAllUpToHtmlElement() {\n //NOTE: here we assume that the root element is always first in the open element stack, so\n //we perform this fast stack clean up.\n this.tmplCount = 0;\n this.shortenToLength(1);\n }\n _indexOfTagNames(tagNames, namespace) {\n for (let i = this.stackTop; i >= 0; i--) {\n if (tagNames.includes(this.tagIDs[i]) && this.treeAdapter.getNamespaceURI(this.items[i]) === namespace) {\n return i;\n }\n }\n return -1;\n }\n clearBackTo(tagNames, targetNS) {\n const idx = this._indexOfTagNames(tagNames, targetNS);\n this.shortenToLength(idx + 1);\n }\n clearBackToTableContext() {\n this.clearBackTo(TABLE_CONTEXT, NS.HTML);\n }\n clearBackToTableBodyContext() {\n this.clearBackTo(TABLE_BODY_CONTEXT, NS.HTML);\n }\n clearBackToTableRowContext() {\n this.clearBackTo(TABLE_ROW_CONTEXT, NS.HTML);\n }\n remove(element) {\n const idx = this._indexOf(element);\n if (idx >= 0) {\n if (idx === this.stackTop) {\n this.pop();\n }\n else {\n this.items.splice(idx, 1);\n this.tagIDs.splice(idx, 1);\n this.stackTop--;\n this._updateCurrentElement();\n this.handler.onItemPop(element, false);\n }\n }\n }\n //Search\n tryPeekProperlyNestedBodyElement() {\n //Properly nested element (should be second element in stack).\n return this.stackTop >= 1 && this.tagIDs[1] === $.BODY ? this.items[1] : null;\n }\n contains(element) {\n return this._indexOf(element) > -1;\n }\n getCommonAncestor(element) {\n const elementIdx = this._indexOf(element) - 1;\n return elementIdx >= 0 ? this.items[elementIdx] : null;\n }\n isRootHtmlElementCurrent() {\n return this.stackTop === 0 && this.tagIDs[0] === $.HTML;\n }\n //Element in scope\n hasInScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (tn === tagName && ns === NS.HTML) {\n return true;\n }\n if (SCOPING_ELEMENT_NS.get(tn) === ns) {\n return false;\n }\n }\n return true;\n }\n hasNumberedHeaderInScope() {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (isNumberedHeader(tn) && ns === NS.HTML) {\n return true;\n }\n if (SCOPING_ELEMENT_NS.get(tn) === ns) {\n return false;\n }\n }\n return true;\n }\n hasInListItemScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (tn === tagName && ns === NS.HTML) {\n return true;\n }\n if (((tn === $.UL || tn === $.OL) && ns === NS.HTML) || SCOPING_ELEMENT_NS.get(tn) === ns) {\n return false;\n }\n }\n return true;\n }\n hasInButtonScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (tn === tagName && ns === NS.HTML) {\n return true;\n }\n if ((tn === $.BUTTON && ns === NS.HTML) || SCOPING_ELEMENT_NS.get(tn) === ns) {\n return false;\n }\n }\n return true;\n }\n hasInTableScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (ns !== NS.HTML) {\n continue;\n }\n if (tn === tagName) {\n return true;\n }\n if (tn === $.TABLE || tn === $.TEMPLATE || tn === $.HTML) {\n return false;\n }\n }\n return true;\n }\n hasTableBodyContextInTableScope() {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (ns !== NS.HTML) {\n continue;\n }\n if (tn === $.TBODY || tn === $.THEAD || tn === $.TFOOT) {\n return true;\n }\n if (tn === $.TABLE || tn === $.HTML) {\n return false;\n }\n }\n return true;\n }\n hasInSelectScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (ns !== NS.HTML) {\n continue;\n }\n if (tn === tagName) {\n return true;\n }\n if (tn !== $.OPTION && tn !== $.OPTGROUP) {\n return false;\n }\n }\n return true;\n }\n //Implied end tags\n generateImpliedEndTags() {\n while (IMPLICIT_END_TAG_REQUIRED.has(this.currentTagId)) {\n this.pop();\n }\n }\n generateImpliedEndTagsThoroughly() {\n while (IMPLICIT_END_TAG_REQUIRED_THOROUGHLY.has(this.currentTagId)) {\n this.pop();\n }\n }\n generateImpliedEndTagsWithExclusion(exclusionId) {\n while (this.currentTagId !== exclusionId && IMPLICIT_END_TAG_REQUIRED_THOROUGHLY.has(this.currentTagId)) {\n this.pop();\n }\n }\n}\n//# sourceMappingURL=open-element-stack.js.map","//Const\nconst NOAH_ARK_CAPACITY = 3;\nexport var EntryType;\n(function (EntryType) {\n EntryType[EntryType[\"Marker\"] = 0] = \"Marker\";\n EntryType[EntryType[\"Element\"] = 1] = \"Element\";\n})(EntryType || (EntryType = {}));\nconst MARKER = { type: EntryType.Marker };\n//List of formatting elements\nexport class FormattingElementList {\n constructor(treeAdapter) {\n this.treeAdapter = treeAdapter;\n this.entries = [];\n this.bookmark = null;\n }\n //Noah Ark's condition\n //OPTIMIZATION: at first we try to find possible candidates for exclusion using\n //lightweight heuristics without thorough attributes check.\n _getNoahArkConditionCandidates(newElement, neAttrs) {\n const candidates = [];\n const neAttrsLength = neAttrs.length;\n const neTagName = this.treeAdapter.getTagName(newElement);\n const neNamespaceURI = this.treeAdapter.getNamespaceURI(newElement);\n for (let i = 0; i < this.entries.length; i++) {\n const entry = this.entries[i];\n if (entry.type === EntryType.Marker) {\n break;\n }\n const { element } = entry;\n if (this.treeAdapter.getTagName(element) === neTagName &&\n this.treeAdapter.getNamespaceURI(element) === neNamespaceURI) {\n const elementAttrs = this.treeAdapter.getAttrList(element);\n if (elementAttrs.length === neAttrsLength) {\n candidates.push({ idx: i, attrs: elementAttrs });\n }\n }\n }\n return candidates;\n }\n _ensureNoahArkCondition(newElement) {\n if (this.entries.length < NOAH_ARK_CAPACITY)\n return;\n const neAttrs = this.treeAdapter.getAttrList(newElement);\n const candidates = this._getNoahArkConditionCandidates(newElement, neAttrs);\n if (candidates.length < NOAH_ARK_CAPACITY)\n return;\n //NOTE: build attrs map for the new element, so we can perform fast lookups\n const neAttrsMap = new Map(neAttrs.map((neAttr) => [neAttr.name, neAttr.value]));\n let validCandidates = 0;\n //NOTE: remove bottommost candidates, until Noah's Ark condition will not be met\n for (let i = 0; i < candidates.length; i++) {\n const candidate = candidates[i];\n // We know that `candidate.attrs.length === neAttrs.length`\n if (candidate.attrs.every((cAttr) => neAttrsMap.get(cAttr.name) === cAttr.value)) {\n validCandidates += 1;\n if (validCandidates >= NOAH_ARK_CAPACITY) {\n this.entries.splice(candidate.idx, 1);\n }\n }\n }\n }\n //Mutations\n insertMarker() {\n this.entries.unshift(MARKER);\n }\n pushElement(element, token) {\n this._ensureNoahArkCondition(element);\n this.entries.unshift({\n type: EntryType.Element,\n element,\n token,\n });\n }\n insertElementAfterBookmark(element, token) {\n const bookmarkIdx = this.entries.indexOf(this.bookmark);\n this.entries.splice(bookmarkIdx, 0, {\n type: EntryType.Element,\n element,\n token,\n });\n }\n removeEntry(entry) {\n const entryIndex = this.entries.indexOf(entry);\n if (entryIndex >= 0) {\n this.entries.splice(entryIndex, 1);\n }\n }\n clearToLastMarker() {\n const markerIdx = this.entries.indexOf(MARKER);\n if (markerIdx >= 0) {\n this.entries.splice(0, markerIdx + 1);\n }\n else {\n this.entries.length = 0;\n }\n }\n //Search\n getElementEntryInScopeWithTagName(tagName) {\n const entry = this.entries.find((entry) => entry.type === EntryType.Marker || this.treeAdapter.getTagName(entry.element) === tagName);\n return entry && entry.type === EntryType.Element ? entry : null;\n }\n getElementEntry(element) {\n return this.entries.find((entry) => entry.type === EntryType.Element && entry.element === element);\n }\n}\n//# sourceMappingURL=formatting-element-list.js.map","import { DOCUMENT_MODE } from '../common/html.js';\nexport var NodeType;\n(function (NodeType) {\n NodeType[\"Document\"] = \"#document\";\n NodeType[\"DocumentFragment\"] = \"#document-fragment\";\n NodeType[\"Comment\"] = \"#comment\";\n NodeType[\"Text\"] = \"#text\";\n NodeType[\"DocumentType\"] = \"#documentType\";\n})(NodeType || (NodeType = {}));\nfunction createTextNode(value) {\n return {\n nodeName: NodeType.Text,\n value,\n parentNode: null,\n };\n}\nexport const defaultTreeAdapter = {\n //Node construction\n createDocument() {\n return {\n nodeName: NodeType.Document,\n mode: DOCUMENT_MODE.NO_QUIRKS,\n childNodes: [],\n };\n },\n createDocumentFragment() {\n return {\n nodeName: NodeType.DocumentFragment,\n childNodes: [],\n };\n },\n createElement(tagName, namespaceURI, attrs) {\n return {\n nodeName: tagName,\n tagName,\n attrs,\n namespaceURI,\n childNodes: [],\n parentNode: null,\n };\n },\n createCommentNode(data) {\n return {\n nodeName: NodeType.Comment,\n data,\n parentNode: null,\n };\n },\n //Tree mutation\n appendChild(parentNode, newNode) {\n parentNode.childNodes.push(newNode);\n newNode.parentNode = parentNode;\n },\n insertBefore(parentNode, newNode, referenceNode) {\n const insertionIdx = parentNode.childNodes.indexOf(referenceNode);\n parentNode.childNodes.splice(insertionIdx, 0, newNode);\n newNode.parentNode = parentNode;\n },\n setTemplateContent(templateElement, contentElement) {\n templateElement.content = contentElement;\n },\n getTemplateContent(templateElement) {\n return templateElement.content;\n },\n setDocumentType(document, name, publicId, systemId) {\n const doctypeNode = document.childNodes.find((node) => node.nodeName === NodeType.DocumentType);\n if (doctypeNode) {\n doctypeNode.name = name;\n doctypeNode.publicId = publicId;\n doctypeNode.systemId = systemId;\n }\n else {\n const node = {\n nodeName: NodeType.DocumentType,\n name,\n publicId,\n systemId,\n parentNode: null,\n };\n defaultTreeAdapter.appendChild(document, node);\n }\n },\n setDocumentMode(document, mode) {\n document.mode = mode;\n },\n getDocumentMode(document) {\n return document.mode;\n },\n detachNode(node) {\n if (node.parentNode) {\n const idx = node.parentNode.childNodes.indexOf(node);\n node.parentNode.childNodes.splice(idx, 1);\n node.parentNode = null;\n }\n },\n insertText(parentNode, text) {\n if (parentNode.childNodes.length > 0) {\n const prevNode = parentNode.childNodes[parentNode.childNodes.length - 1];\n if (defaultTreeAdapter.isTextNode(prevNode)) {\n prevNode.value += text;\n return;\n }\n }\n defaultTreeAdapter.appendChild(parentNode, createTextNode(text));\n },\n insertTextBefore(parentNode, text, referenceNode) {\n const prevNode = parentNode.childNodes[parentNode.childNodes.indexOf(referenceNode) - 1];\n if (prevNode && defaultTreeAdapter.isTextNode(prevNode)) {\n prevNode.value += text;\n }\n else {\n defaultTreeAdapter.insertBefore(parentNode, createTextNode(text), referenceNode);\n }\n },\n adoptAttributes(recipient, attrs) {\n const recipientAttrsMap = new Set(recipient.attrs.map((attr) => attr.name));\n for (let j = 0; j < attrs.length; j++) {\n if (!recipientAttrsMap.has(attrs[j].name)) {\n recipient.attrs.push(attrs[j]);\n }\n }\n },\n //Tree traversing\n getFirstChild(node) {\n return node.childNodes[0];\n },\n getChildNodes(node) {\n return node.childNodes;\n },\n getParentNode(node) {\n return node.parentNode;\n },\n getAttrList(element) {\n return element.attrs;\n },\n //Node data\n getTagName(element) {\n return element.tagName;\n },\n getNamespaceURI(element) {\n return element.namespaceURI;\n },\n getTextNodeContent(textNode) {\n return textNode.value;\n },\n getCommentNodeContent(commentNode) {\n return commentNode.data;\n },\n getDocumentTypeNodeName(doctypeNode) {\n return doctypeNode.name;\n },\n getDocumentTypeNodePublicId(doctypeNode) {\n return doctypeNode.publicId;\n },\n getDocumentTypeNodeSystemId(doctypeNode) {\n return doctypeNode.systemId;\n },\n //Node types\n isTextNode(node) {\n return node.nodeName === '#text';\n },\n isCommentNode(node) {\n return node.nodeName === '#comment';\n },\n isDocumentTypeNode(node) {\n return node.nodeName === NodeType.DocumentType;\n },\n isElementNode(node) {\n return Object.prototype.hasOwnProperty.call(node, 'tagName');\n },\n // Source code location\n setNodeSourceCodeLocation(node, location) {\n node.sourceCodeLocation = location;\n },\n getNodeSourceCodeLocation(node) {\n return node.sourceCodeLocation;\n },\n updateNodeSourceCodeLocation(node, endLocation) {\n node.sourceCodeLocation = { ...node.sourceCodeLocation, ...endLocation };\n },\n};\n//# sourceMappingURL=default.js.map","import { DOCUMENT_MODE } from './html.js';\n//Const\nconst VALID_DOCTYPE_NAME = 'html';\nconst VALID_SYSTEM_ID = 'about:legacy-compat';\nconst QUIRKS_MODE_SYSTEM_ID = 'http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd';\nconst QUIRKS_MODE_PUBLIC_ID_PREFIXES = [\n '+//silmaril//dtd html pro v0r11 19970101//',\n '-//as//dtd html 3.0 aswedit + extensions//',\n '-//advasoft ltd//dtd html 3.0 aswedit + extensions//',\n '-//ietf//dtd html 2.0 level 1//',\n '-//ietf//dtd html 2.0 level 2//',\n '-//ietf//dtd html 2.0 strict level 1//',\n '-//ietf//dtd html 2.0 strict level 2//',\n '-//ietf//dtd html 2.0 strict//',\n '-//ietf//dtd html 2.0//',\n '-//ietf//dtd html 2.1e//',\n '-//ietf//dtd html 3.0//',\n '-//ietf//dtd html 3.2 final//',\n '-//ietf//dtd html 3.2//',\n '-//ietf//dtd html 3//',\n '-//ietf//dtd html level 0//',\n '-//ietf//dtd html level 1//',\n '-//ietf//dtd html level 2//',\n '-//ietf//dtd html level 3//',\n '-//ietf//dtd html strict level 0//',\n '-//ietf//dtd html strict level 1//',\n '-//ietf//dtd html strict level 2//',\n '-//ietf//dtd html strict level 3//',\n '-//ietf//dtd html strict//',\n '-//ietf//dtd html//',\n '-//metrius//dtd metrius presentational//',\n '-//microsoft//dtd internet explorer 2.0 html strict//',\n '-//microsoft//dtd internet explorer 2.0 html//',\n '-//microsoft//dtd internet explorer 2.0 tables//',\n '-//microsoft//dtd internet explorer 3.0 html strict//',\n '-//microsoft//dtd internet explorer 3.0 html//',\n '-//microsoft//dtd internet explorer 3.0 tables//',\n '-//netscape comm. corp.//dtd html//',\n '-//netscape comm. corp.//dtd strict html//',\n \"-//o'reilly and associates//dtd html 2.0//\",\n \"-//o'reilly and associates//dtd html extended 1.0//\",\n \"-//o'reilly and associates//dtd html extended relaxed 1.0//\",\n '-//sq//dtd html 2.0 hotmetal + extensions//',\n '-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//',\n '-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//',\n '-//spyglass//dtd html 2.0 extended//',\n '-//sun microsystems corp.//dtd hotjava html//',\n '-//sun microsystems corp.//dtd hotjava strict html//',\n '-//w3c//dtd html 3 1995-03-24//',\n '-//w3c//dtd html 3.2 draft//',\n '-//w3c//dtd html 3.2 final//',\n '-//w3c//dtd html 3.2//',\n '-//w3c//dtd html 3.2s draft//',\n '-//w3c//dtd html 4.0 frameset//',\n '-//w3c//dtd html 4.0 transitional//',\n '-//w3c//dtd html experimental 19960712//',\n '-//w3c//dtd html experimental 970421//',\n '-//w3c//dtd w3 html//',\n '-//w3o//dtd w3 html 3.0//',\n '-//webtechs//dtd mozilla html 2.0//',\n '-//webtechs//dtd mozilla html//',\n];\nconst QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES = [\n ...QUIRKS_MODE_PUBLIC_ID_PREFIXES,\n '-//w3c//dtd html 4.01 frameset//',\n '-//w3c//dtd html 4.01 transitional//',\n];\nconst QUIRKS_MODE_PUBLIC_IDS = new Set([\n '-//w3o//dtd w3 html strict 3.0//en//',\n '-/w3c/dtd html 4.0 transitional/en',\n 'html',\n]);\nconst LIMITED_QUIRKS_PUBLIC_ID_PREFIXES = ['-//w3c//dtd xhtml 1.0 frameset//', '-//w3c//dtd xhtml 1.0 transitional//'];\nconst LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES = [\n ...LIMITED_QUIRKS_PUBLIC_ID_PREFIXES,\n '-//w3c//dtd html 4.01 frameset//',\n '-//w3c//dtd html 4.01 transitional//',\n];\n//Utils\nfunction hasPrefix(publicId, prefixes) {\n return prefixes.some((prefix) => publicId.startsWith(prefix));\n}\n//API\nexport function isConforming(token) {\n return (token.name === VALID_DOCTYPE_NAME &&\n token.publicId === null &&\n (token.systemId === null || token.systemId === VALID_SYSTEM_ID));\n}\nexport function getDocumentMode(token) {\n if (token.name !== VALID_DOCTYPE_NAME) {\n return DOCUMENT_MODE.QUIRKS;\n }\n const { systemId } = token;\n if (systemId && systemId.toLowerCase() === QUIRKS_MODE_SYSTEM_ID) {\n return DOCUMENT_MODE.QUIRKS;\n }\n let { publicId } = token;\n if (publicId !== null) {\n publicId = publicId.toLowerCase();\n if (QUIRKS_MODE_PUBLIC_IDS.has(publicId)) {\n return DOCUMENT_MODE.QUIRKS;\n }\n let prefixes = systemId === null ? QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES : QUIRKS_MODE_PUBLIC_ID_PREFIXES;\n if (hasPrefix(publicId, prefixes)) {\n return DOCUMENT_MODE.QUIRKS;\n }\n prefixes =\n systemId === null ? LIMITED_QUIRKS_PUBLIC_ID_PREFIXES : LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES;\n if (hasPrefix(publicId, prefixes)) {\n return DOCUMENT_MODE.LIMITED_QUIRKS;\n }\n }\n return DOCUMENT_MODE.NO_QUIRKS;\n}\n//# sourceMappingURL=doctype.js.map","import { TAG_ID as $, NS, ATTRS, getTagID } from './html.js';\n//MIME types\nconst MIME_TYPES = {\n TEXT_HTML: 'text/html',\n APPLICATION_XML: 'application/xhtml+xml',\n};\n//Attributes\nconst DEFINITION_URL_ATTR = 'definitionurl';\nconst ADJUSTED_DEFINITION_URL_ATTR = 'definitionURL';\nconst SVG_ATTRS_ADJUSTMENT_MAP = new Map([\n 'attributeName',\n 'attributeType',\n 'baseFrequency',\n 'baseProfile',\n 'calcMode',\n 'clipPathUnits',\n 'diffuseConstant',\n 'edgeMode',\n 'filterUnits',\n 'glyphRef',\n 'gradientTransform',\n 'gradientUnits',\n 'kernelMatrix',\n 'kernelUnitLength',\n 'keyPoints',\n 'keySplines',\n 'keyTimes',\n 'lengthAdjust',\n 'limitingConeAngle',\n 'markerHeight',\n 'markerUnits',\n 'markerWidth',\n 'maskContentUnits',\n 'maskUnits',\n 'numOctaves',\n 'pathLength',\n 'patternContentUnits',\n 'patternTransform',\n 'patternUnits',\n 'pointsAtX',\n 'pointsAtY',\n 'pointsAtZ',\n 'preserveAlpha',\n 'preserveAspectRatio',\n 'primitiveUnits',\n 'refX',\n 'refY',\n 'repeatCount',\n 'repeatDur',\n 'requiredExtensions',\n 'requiredFeatures',\n 'specularConstant',\n 'specularExponent',\n 'spreadMethod',\n 'startOffset',\n 'stdDeviation',\n 'stitchTiles',\n 'surfaceScale',\n 'systemLanguage',\n 'tableValues',\n 'targetX',\n 'targetY',\n 'textLength',\n 'viewBox',\n 'viewTarget',\n 'xChannelSelector',\n 'yChannelSelector',\n 'zoomAndPan',\n].map((attr) => [attr.toLowerCase(), attr]));\nconst XML_ATTRS_ADJUSTMENT_MAP = new Map([\n ['xlink:actuate', { prefix: 'xlink', name: 'actuate', namespace: NS.XLINK }],\n ['xlink:arcrole', { prefix: 'xlink', name: 'arcrole', namespace: NS.XLINK }],\n ['xlink:href', { prefix: 'xlink', name: 'href', namespace: NS.XLINK }],\n ['xlink:role', { prefix: 'xlink', name: 'role', namespace: NS.XLINK }],\n ['xlink:show', { prefix: 'xlink', name: 'show', namespace: NS.XLINK }],\n ['xlink:title', { prefix: 'xlink', name: 'title', namespace: NS.XLINK }],\n ['xlink:type', { prefix: 'xlink', name: 'type', namespace: NS.XLINK }],\n ['xml:base', { prefix: 'xml', name: 'base', namespace: NS.XML }],\n ['xml:lang', { prefix: 'xml', name: 'lang', namespace: NS.XML }],\n ['xml:space', { prefix: 'xml', name: 'space', namespace: NS.XML }],\n ['xmlns', { prefix: '', name: 'xmlns', namespace: NS.XMLNS }],\n ['xmlns:xlink', { prefix: 'xmlns', name: 'xlink', namespace: NS.XMLNS }],\n]);\n//SVG tag names adjustment map\nexport const SVG_TAG_NAMES_ADJUSTMENT_MAP = new Map([\n 'altGlyph',\n 'altGlyphDef',\n 'altGlyphItem',\n 'animateColor',\n 'animateMotion',\n 'animateTransform',\n 'clipPath',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n 'foreignObject',\n 'glyphRef',\n 'linearGradient',\n 'radialGradient',\n 'textPath',\n].map((tn) => [tn.toLowerCase(), tn]));\n//Tags that causes exit from foreign content\nconst EXITS_FOREIGN_CONTENT = new Set([\n $.B,\n $.BIG,\n $.BLOCKQUOTE,\n $.BODY,\n $.BR,\n $.CENTER,\n $.CODE,\n $.DD,\n $.DIV,\n $.DL,\n $.DT,\n $.EM,\n $.EMBED,\n $.H1,\n $.H2,\n $.H3,\n $.H4,\n $.H5,\n $.H6,\n $.HEAD,\n $.HR,\n $.I,\n $.IMG,\n $.LI,\n $.LISTING,\n $.MENU,\n $.META,\n $.NOBR,\n $.OL,\n $.P,\n $.PRE,\n $.RUBY,\n $.S,\n $.SMALL,\n $.SPAN,\n $.STRONG,\n $.STRIKE,\n $.SUB,\n $.SUP,\n $.TABLE,\n $.TT,\n $.U,\n $.UL,\n $.VAR,\n]);\n//Check exit from foreign content\nexport function causesExit(startTagToken) {\n const tn = startTagToken.tagID;\n const isFontWithAttrs = tn === $.FONT &&\n startTagToken.attrs.some(({ name }) => name === ATTRS.COLOR || name === ATTRS.SIZE || name === ATTRS.FACE);\n return isFontWithAttrs || EXITS_FOREIGN_CONTENT.has(tn);\n}\n//Token adjustments\nexport function adjustTokenMathMLAttrs(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n if (token.attrs[i].name === DEFINITION_URL_ATTR) {\n token.attrs[i].name = ADJUSTED_DEFINITION_URL_ATTR;\n break;\n }\n }\n}\nexport function adjustTokenSVGAttrs(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n const adjustedAttrName = SVG_ATTRS_ADJUSTMENT_MAP.get(token.attrs[i].name);\n if (adjustedAttrName != null) {\n token.attrs[i].name = adjustedAttrName;\n }\n }\n}\nexport function adjustTokenXMLAttrs(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n const adjustedAttrEntry = XML_ATTRS_ADJUSTMENT_MAP.get(token.attrs[i].name);\n if (adjustedAttrEntry) {\n token.attrs[i].prefix = adjustedAttrEntry.prefix;\n token.attrs[i].name = adjustedAttrEntry.name;\n token.attrs[i].namespace = adjustedAttrEntry.namespace;\n }\n }\n}\nexport function adjustTokenSVGTagName(token) {\n const adjustedTagName = SVG_TAG_NAMES_ADJUSTMENT_MAP.get(token.tagName);\n if (adjustedTagName != null) {\n token.tagName = adjustedTagName;\n token.tagID = getTagID(token.tagName);\n }\n}\n//Integration points\nfunction isMathMLTextIntegrationPoint(tn, ns) {\n return ns === NS.MATHML && (tn === $.MI || tn === $.MO || tn === $.MN || tn === $.MS || tn === $.MTEXT);\n}\nfunction isHtmlIntegrationPoint(tn, ns, attrs) {\n if (ns === NS.MATHML && tn === $.ANNOTATION_XML) {\n for (let i = 0; i < attrs.length; i++) {\n if (attrs[i].name === ATTRS.ENCODING) {\n const value = attrs[i].value.toLowerCase();\n return value === MIME_TYPES.TEXT_HTML || value === MIME_TYPES.APPLICATION_XML;\n }\n }\n }\n return ns === NS.SVG && (tn === $.FOREIGN_OBJECT || tn === $.DESC || tn === $.TITLE);\n}\nexport function isIntegrationPoint(tn, ns, attrs, foreignNS) {\n return (((!foreignNS || foreignNS === NS.HTML) && isHtmlIntegrationPoint(tn, ns, attrs)) ||\n ((!foreignNS || foreignNS === NS.MATHML) && isMathMLTextIntegrationPoint(tn, ns)));\n}\n//# sourceMappingURL=foreign-content.js.map","import { Tokenizer, TokenizerMode } from '../tokenizer/index.js';\nimport { OpenElementStack } from './open-element-stack.js';\nimport { FormattingElementList, EntryType } from './formatting-element-list.js';\nimport { defaultTreeAdapter } from '../tree-adapters/default.js';\nimport * as doctype from '../common/doctype.js';\nimport * as foreignContent from '../common/foreign-content.js';\nimport { ERR } from '../common/error-codes.js';\nimport * as unicode from '../common/unicode.js';\nimport { TAG_ID as $, TAG_NAMES as TN, NS, ATTRS, SPECIAL_ELEMENTS, DOCUMENT_MODE, isNumberedHeader, getTagID, } from '../common/html.js';\nimport { TokenType, getTokenAttr, } from '../common/token.js';\n//Misc constants\nconst HIDDEN_INPUT_TYPE = 'hidden';\n//Adoption agency loops iteration count\nconst AA_OUTER_LOOP_ITER = 8;\nconst AA_INNER_LOOP_ITER = 3;\n//Insertion modes\nvar InsertionMode;\n(function (InsertionMode) {\n InsertionMode[InsertionMode[\"INITIAL\"] = 0] = \"INITIAL\";\n InsertionMode[InsertionMode[\"BEFORE_HTML\"] = 1] = \"BEFORE_HTML\";\n InsertionMode[InsertionMode[\"BEFORE_HEAD\"] = 2] = \"BEFORE_HEAD\";\n InsertionMode[InsertionMode[\"IN_HEAD\"] = 3] = \"IN_HEAD\";\n InsertionMode[InsertionMode[\"IN_HEAD_NO_SCRIPT\"] = 4] = \"IN_HEAD_NO_SCRIPT\";\n InsertionMode[InsertionMode[\"AFTER_HEAD\"] = 5] = \"AFTER_HEAD\";\n InsertionMode[InsertionMode[\"IN_BODY\"] = 6] = \"IN_BODY\";\n InsertionMode[InsertionMode[\"TEXT\"] = 7] = \"TEXT\";\n InsertionMode[InsertionMode[\"IN_TABLE\"] = 8] = \"IN_TABLE\";\n InsertionMode[InsertionMode[\"IN_TABLE_TEXT\"] = 9] = \"IN_TABLE_TEXT\";\n InsertionMode[InsertionMode[\"IN_CAPTION\"] = 10] = \"IN_CAPTION\";\n InsertionMode[InsertionMode[\"IN_COLUMN_GROUP\"] = 11] = \"IN_COLUMN_GROUP\";\n InsertionMode[InsertionMode[\"IN_TABLE_BODY\"] = 12] = \"IN_TABLE_BODY\";\n InsertionMode[InsertionMode[\"IN_ROW\"] = 13] = \"IN_ROW\";\n InsertionMode[InsertionMode[\"IN_CELL\"] = 14] = \"IN_CELL\";\n InsertionMode[InsertionMode[\"IN_SELECT\"] = 15] = \"IN_SELECT\";\n InsertionMode[InsertionMode[\"IN_SELECT_IN_TABLE\"] = 16] = \"IN_SELECT_IN_TABLE\";\n InsertionMode[InsertionMode[\"IN_TEMPLATE\"] = 17] = \"IN_TEMPLATE\";\n InsertionMode[InsertionMode[\"AFTER_BODY\"] = 18] = \"AFTER_BODY\";\n InsertionMode[InsertionMode[\"IN_FRAMESET\"] = 19] = \"IN_FRAMESET\";\n InsertionMode[InsertionMode[\"AFTER_FRAMESET\"] = 20] = \"AFTER_FRAMESET\";\n InsertionMode[InsertionMode[\"AFTER_AFTER_BODY\"] = 21] = \"AFTER_AFTER_BODY\";\n InsertionMode[InsertionMode[\"AFTER_AFTER_FRAMESET\"] = 22] = \"AFTER_AFTER_FRAMESET\";\n})(InsertionMode || (InsertionMode = {}));\nconst BASE_LOC = {\n startLine: -1,\n startCol: -1,\n startOffset: -1,\n endLine: -1,\n endCol: -1,\n endOffset: -1,\n};\nconst TABLE_STRUCTURE_TAGS = new Set([$.TABLE, $.TBODY, $.TFOOT, $.THEAD, $.TR]);\nconst defaultParserOptions = {\n scriptingEnabled: true,\n sourceCodeLocationInfo: false,\n treeAdapter: defaultTreeAdapter,\n onParseError: null,\n};\n//Parser\nexport class Parser {\n constructor(options, document, fragmentContext = null, scriptHandler = null) {\n this.fragmentContext = fragmentContext;\n this.scriptHandler = scriptHandler;\n this.currentToken = null;\n this.stopped = false;\n this.insertionMode = InsertionMode.INITIAL;\n this.originalInsertionMode = InsertionMode.INITIAL;\n this.headElement = null;\n this.formElement = null;\n /** Indicates that the current node is not an element in the HTML namespace */\n this.currentNotInHTML = false;\n /**\n * The template insertion mode stack is maintained from the left.\n * Ie. the topmost element will always have index 0.\n */\n this.tmplInsertionModeStack = [];\n this.pendingCharacterTokens = [];\n this.hasNonWhitespacePendingCharacterToken = false;\n this.framesetOk = true;\n this.skipNextNewLine = false;\n this.fosterParentingEnabled = false;\n this.options = {\n ...defaultParserOptions,\n ...options,\n };\n this.treeAdapter = this.options.treeAdapter;\n this.onParseError = this.options.onParseError;\n // Always enable location info if we report parse errors.\n if (this.onParseError) {\n this.options.sourceCodeLocationInfo = true;\n }\n this.document = document !== null && document !== void 0 ? document : this.treeAdapter.createDocument();\n this.tokenizer = new Tokenizer(this.options, this);\n this.activeFormattingElements = new FormattingElementList(this.treeAdapter);\n this.fragmentContextID = fragmentContext ? getTagID(this.treeAdapter.getTagName(fragmentContext)) : $.UNKNOWN;\n this._setContextModes(fragmentContext !== null && fragmentContext !== void 0 ? fragmentContext : this.document, this.fragmentContextID);\n this.openElements = new OpenElementStack(this.document, this.treeAdapter, this);\n }\n // API\n static parse(html, options) {\n const parser = new this(options);\n parser.tokenizer.write(html, true);\n return parser.document;\n }\n static getFragmentParser(fragmentContext, options) {\n const opts = {\n ...defaultParserOptions,\n ...options,\n };\n //NOTE: use a