diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1970fec..0000000 --- a/.gitattributes +++ /dev/null @@ -1,141 +0,0 @@ -# https://docs.github.com/en/get-started/git-basics/configuring-git-to-handle-line-endings#example -# inspired by -# - https://github.com/alexkaratarakis/gitattributes/blob/master/Java.gitattributes -# - https://github.com/alexkaratarakis/gitattributes/blob/master/Common.gitattributes - -# Handle line endings automatically for files detected as text -# and leave all files detected as binary untouched. -* text=auto - -# -# The above will handle all files with names NOT matching patterns defined below -# - -# Git files -.gitattributes text eol=lf -**/.gitattributes text eol=lf -.gitignore text eol=lf -**/.gitignore text eol=lf - - -# Documents -*.doc binary diff=astextplain -*.docx binary diff=astextplain -*.dot binary diff=astextplain -*.pdf binary diff=astextplain -*.ppt binary diff=astextplain -*.pptx binary diff=astextplain -*.rtf binary diff=astextplain -*.vsd binary diff=astextplain -*.vsdx binary diff=astextplain -*.odt binary diff=odf -*.ods binary diff=odf -*.odp binary diff=odf -*.adoc text -*.csv text -*.md text diff=markdown -*.txt text - - -# Config/Serialisation -.editorconfig text -**/.editorconfig text -*.graphql text -*.ini text -*.properties text -*.json text -*.toml text -*.xml text -*.yaml text -*.yml text - - -# Scripts -*.bat text eol=crlf -*.cmd text eol=crlf -*.ps1 text eol=crlf -*.bash text eol=lf -*.fish text eol=lf -*.sh text eol=lf -*.zsh text eol=lf -*.dart text -*.hx text -*.lua text -*.php text -*.py text -*.python text -*.sql text -mvnw text eol=lf -**/Dockerfile text eol=lf -**/*.Dockerfile text eol=lf - - -# Archives -*.7z binary -*.gz binary -*.tar binary -*.tar.gz binary -*.tgz binary -*.xz binary -*.zip binary - - -# Native binaries -*.dll binary -*.dylib binary -*.exe binary -*.so binary - - -# Images -*.eps binary -*.gif binary -*.ico binary -*.jpg binary -*.jpeg binary -*.png binary -*.svg text -*.svgz binary -*.tif binary -*.tiff binary - - -# Fonts -*.eot binary -*.otf binary -*.ttf binary -*.woff binary - - -# Java -*.gradle text diff=java -*.gradle.kts text diff=java -*.java text diff=java -*.class binary -*.ear binary -*.jceks binary -*.jks binary -*.jar binary -*.pak binary -*.war binary -*.jsp text -*.jspf text -*.jspx text -*.tld text -*.tag text -*.tagx text - - -# Web -*.css text diff=css -*.htm text diff=html -*.html text diff=html -*.js text -*.ts text -*.vue text - - -# https://git-scm.com/docs/gitattributes#_export_ignore -.gitattributes export-ignore -.gitignore export-ignore -.gitkeep export-ignore diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 6bdaa99..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,6 +0,0 @@ -*Issue #, if available:* - -*Description of changes:* - - -By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice. diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 4bd5819..0000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,32 +0,0 @@ -# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference -version: 2 -updates: -- package-ecosystem: github-actions - directory: / - schedule: - interval: weekly - day: monday - time: "14:00" - commit-message: - prefix: ci - prefix-development: ci - include: scope - labels: - - dependencies - - gha - - pinned - -- package-ecosystem: maven - directory: / - schedule: - interval: weekly - day: monday - time: "14:00" - commit-message: - prefix: fix - prefix-development: build - include: scope - labels: - - dependencies - - mvn - - pinned diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 9f88495..0000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,83 +0,0 @@ -# SPDX-FileCopyrightText: © Sebastian Thomschke and contributors -# SPDX-FileContributor: Sebastian Thomschke (https://sebthom.de) -# SPDX-License-Identifier: EPL-2.0 -# SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previwer-eclipse-plugin -# -# https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax -name: Build - -on: - schedule: - # https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows - - cron: "0 15 1 * *" - push: - branches-ignore: # build all branches except: - - "dependabot/**" # prevent GHA triggered twice (once for commit to the branch and once for opening/syncing the PR) - tags-ignore: # don't build tags - - "**" - paths-ignore: - - ".act*" - - "**/*.adoc" - - "**/*.md" - - ".editorconfig" - - ".git*" - - ".github/*.yml" - - ".github/ISSUE_TEMPLATE/*" - - ".github/workflows/stale.yml" - pull_request: - paths-ignore: - - ".act*" - - "**/*.adoc" - - "**/*.md" - - ".editorconfig" - - ".git*" - - ".github/*.yml" - - ".github/ISSUE_TEMPLATE/*" - - ".github/workflows/stale.yml" - workflow_dispatch: - # https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows#workflow_dispatch - inputs: - extra-maven-args: - description: "Additional command-line arguments to append to all Maven invocations" - required: false - type: string - debug-with-ssh: - description: "Start an SSH session for debugging purposes at the end of the build:" - default: never - type: choice - options: [ always, on_failure, on_failure_or_cancelled, never ] - debug-with-ssh-only-for-actor: - description: "Restrict SSH debug session access to the GitHub user who triggered the workflow" - default: true - type: boolean - - -jobs: - ########################################################### - eclipse-plugin-build: - ########################################################### - uses: sebthom/gha-shared/.github/workflows/reusable.eclipse-plugin-build.yml@v1 - with: - timeout-minutes: 10 - - target-files: build.target - - extra-maven-args: ${{ inputs.extra-maven-args }} - jarsigner-alias: sebthom.github.io - - development-branch: main - development-updatesite-branch: updatesite-preview - release-branch: release - release-updatesite-branch: updatesite - release-archive-name: de.sebthom.eclipse.previewer.updatesite.zip - - debug-with-ssh: ${{ inputs.debug-with-ssh }} - debug-with-ssh-only-for-actor: ${{ inputs.debug-with-ssh-only-for-actor }} - - secrets: - JARSIGNER_KEYSTORE: ${{ secrets.CERTDB }} # populated by https://github.com/sebthom/sebthom.github.io/actions/workflows/renew-cert.yml - - permissions: - actions: write # to delete action cache entries - contents: write # to create releases (commit to updatesite branches) - pull-requests: write # for dependabot auto merges diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml deleted file mode 100644 index e548916..0000000 --- a/.github/workflows/stale.yml +++ /dev/null @@ -1,20 +0,0 @@ -# https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax -name: Stale issues - -on: - schedule: - # https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows - - cron: '0 15 1,15 * *' - workflow_dispatch: - # https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows#workflow_dispatch - -permissions: - issues: write - pull-requests: write - -jobs: - stale: - runs-on: ubuntu-latest - steps: - - name: Run stale action - uses: sebthom/gha-shared/.github/actions/stale@v1 diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 94edbe8..0000000 --- a/.gitignore +++ /dev/null @@ -1,38 +0,0 @@ -# Local work folders that is not checked in -_*/ - -.* -!.editorconfig -!.git* - -# Eclipse -!**/.settings/org.eclipse.jdt.core.prefs -bin/ - -# Maven -target/ -pom.xml.tag -pom.xml.releaseBackup -pom.xml.versionsBackup -pom.xml.next -release.properties -dependency-reduced-pom.xml -buildNumber.properties -.mvn/timing.properties - -# IntelliJ -/.idea -/*.iml -/*.ipr -/*.iws - -# NetBeans -nb-configuration.xml - -# Vim -*.swo -*.swp - -# patch -*.orig -*.rej diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index b5fbb64..0000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,132 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body -size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, caste, color, religion, or sexual -identity and orientation. - -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. - -## Our Standards - -Examples of behavior that contributes to a positive environment for our -community include: - -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -* Focusing on what is best not just for us as individuals, but for the overall - community - -Examples of unacceptable behavior include: - -* The use of sexualized language or imagery, and sexual attention or advances of - any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email address, - without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community leaders are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -Community leaders have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, and will communicate reasons for moderation -decisions when appropriate. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. -Examples of representing our community include using an official email address, -posting via an official social media account, or acting as an appointed -representative at an online or offline event. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at -https://github.com/sebthom/previewer-eclipse-plugin/issues -All complaints will be reviewed and investigated promptly and fairly. - -All community leaders are obligated to respect the privacy and security of the -reporter of any incident. - -## Enforcement Guidelines - -Community leaders will follow these Community Impact Guidelines in determining -the consequences for any action they deem in violation of this Code of Conduct: - -### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -**Consequence**: A private, written warning from community leaders, providing -clarity around the nature of the violation and an explanation of why the -behavior was inappropriate. A public apology may be requested. - -### 2. Warning - -**Community Impact**: A violation through a single incident or series of -actions. - -**Consequence**: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction with -those enforcing the Code of Conduct, for a specified period of time. This -includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or permanent -ban. - -### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including -sustained inappropriate behavior. - -**Consequence**: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No public or -private interaction with the people involved, including unsolicited interaction -with those enforcing the Code of Conduct, is allowed during this period. -Violating these terms may lead to a permanent ban. - -### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an -individual, or aggression toward or disparagement of classes of individuals. - -**Consequence**: A permanent ban from any sort of public interaction within the -community. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 2.1, available at -[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. - -Community Impact Guidelines were inspired by -[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. - -For answers to common questions about this code of conduct, see the FAQ at -[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at -[https://www.contributor-covenant.org/translations][translations]. - -[homepage]: https://www.contributor-covenant.org -[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html -[Mozilla CoC]: https://github.com/mozilla/diversity -[FAQ]: https://www.contributor-covenant.org/faq -[translations]: https://www.contributor-covenant.org/translations diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 292a859..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,51 +0,0 @@ -# Contributing to the Project - -Thank you for your interest in contributing to this project! We strive to make the contribution process clear and welcoming. - -Please take a moment to review the guidelines below. - - -## Code of Conduct - -Please review and adhere to our [Code of Conduct](CODE_OF_CONDUCT.md) in all your interactions with the project. -This helps us maintain a positive and respectful environment for everyone involved. - - -## How to Contribute - -### Contributor Responsibilities - -By submitting your contributions, you agree to the following: -- You are the sole author of the content you contribute, or you have the appropriate rights and permissions to contribute it. -- If employed, you have obtained any necessary permissions from your employer to contribute to this project. -- All contributions will be made available under the project’s license. - -### Issues - -We use GitHub Issues to track bugs and feature requests. When submitting an issue, please ensure: -- The description is clear and concise. -- You provide enough details and steps to reproduce the issue, if applicable. - -### Pull Requests - -Before making substantial contributions: -1. **Discuss Changes**: Please file an issue first to discuss your proposed changes with the team. This helps ensure your contribution aligns with the project’s goals. -2. **Follow Best Practices**: Adhere to the guidelines and ensure your code meets the project’s standards. - -When submitting a pull request: -- Ensure your changes are well-documented. -- Include tests for any new features or significant changes. -- Reference the relevant issue(s) in your pull request description. - -### Source Code Formatting - -Before committing your code ensure it is formatted according the [vegardit.com Eclipse formatter rules](https://github.com/vegardit/vegardit-maven-parent/blob/main/src/etc/eclipse-formatter.xml). - -IntelliJ users can use the [Eclipse Code Formatter](https://plugins.jetbrains.com/plugin/6546-eclipse-code-formatter) plugin to import and use the formatter settings. - - -## Licensing - -By contributing to this project, you agree that your contributions will be licensed under the [Eclipse Public License 2.0](LICENSE.txt). - -The project itself is also licensed under the [Eclipse Public License 2.0](LICENSE.txt)). diff --git a/LICENSE.txt b/LICENSE.txt deleted file mode 100644 index e48e096..0000000 --- a/LICENSE.txt +++ /dev/null @@ -1,277 +0,0 @@ -Eclipse Public License - v 2.0 - - THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE - PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION - OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial content - Distributed under this Agreement, and - - b) in the case of each subsequent Contributor: - i) changes to the Program, and - ii) additions to the Program; - where such changes and/or additions to the Program originate from - and are Distributed by that particular Contributor. A Contribution - "originates" from a Contributor if it was added to the Program by - such Contributor itself or anyone acting on such Contributor's behalf. - Contributions do not include changes or additions to the Program that - are not Modified Works. - -"Contributor" means any person or entity that Distributes the Program. - -"Licensed Patents" mean patent claims licensable by a Contributor which -are necessarily infringed by the use or sale of its Contribution alone -or when combined with the Program. - -"Program" means the Contributions Distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this Agreement -or any Secondary License (as applicable), including Contributors. - -"Derivative Works" shall mean any work, whether in Source Code or other -form, that is based on (or derived from) the Program and for which the -editorial revisions, annotations, elaborations, or other modifications -represent, as a whole, an original work of authorship. - -"Modified Works" shall mean any work in Source Code or other form that -results from an addition to, deletion from, or modification of the -contents of the Program, including, for purposes of clarity any new file -in Source Code form that contains any contents of the Program. Modified -Works shall not include works that contain only declarations, -interfaces, types, classes, structures, or files of the Program solely -in each case in order to link to, bind by name, or subclass the Program -or Modified Works thereof. - -"Distribute" means the acts of a) distributing or b) making available -in any manner that enables the transfer of a copy. - -"Source Code" means the form of a Program preferred for making -modifications, including but not limited to software source code, -documentation source, and configuration files. - -"Secondary License" means either the GNU General Public License, -Version 2.0, or any later versions of that license, including any -exceptions or additional permissions as identified by the initial -Contributor. - -2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby - grants Recipient a non-exclusive, worldwide, royalty-free copyright - license to reproduce, prepare Derivative Works of, publicly display, - publicly perform, Distribute and sublicense the Contribution of such - Contributor, if any, and such Derivative Works. - - b) Subject to the terms of this Agreement, each Contributor hereby - grants Recipient a non-exclusive, worldwide, royalty-free patent - license under Licensed Patents to make, use, sell, offer to sell, - import and otherwise transfer the Contribution of such Contributor, - if any, in Source Code or other form. This patent license shall - apply to the combination of the Contribution and the Program if, at - the time the Contribution is added by the Contributor, such addition - of the Contribution causes such combination to be covered by the - Licensed Patents. The patent license shall not apply to any other - combinations which include the Contribution. No hardware per se is - licensed hereunder. - - c) Recipient understands that although each Contributor grants the - licenses to its Contributions set forth herein, no assurances are - provided by any Contributor that the Program does not infringe the - patent or other intellectual property rights of any other entity. - Each Contributor disclaims any liability to Recipient for claims - brought by any other entity based on infringement of intellectual - property rights or otherwise. As a condition to exercising the - rights and licenses granted hereunder, each Recipient hereby - assumes sole responsibility to secure any other intellectual - property rights needed, if any. For example, if a third party - patent license is required to allow Recipient to Distribute the - Program, it is Recipient's responsibility to acquire that license - before distributing the Program. - - d) Each Contributor represents that to its knowledge it has - sufficient copyright rights in its Contribution, if any, to grant - the copyright license set forth in this Agreement. - - e) Notwithstanding the terms of any Secondary License, no - Contributor makes additional grants to any Recipient (other than - those set forth in this Agreement) as a result of such Recipient's - receipt of the Program under the terms of a Secondary License - (if permitted under the terms of Section 3). - -3. REQUIREMENTS - -3.1 If a Contributor Distributes the Program in any form, then: - - a) the Program must also be made available as Source Code, in - accordance with section 3.2, and the Contributor must accompany - the Program with a statement that the Source Code for the Program - is available under this Agreement, and informs Recipients how to - obtain it in a reasonable manner on or through a medium customarily - used for software exchange; and - - b) the Contributor may Distribute the Program under a license - different than this Agreement, provided that such license: - i) effectively disclaims on behalf of all other Contributors all - warranties and conditions, express and implied, including - warranties or conditions of title and non-infringement, and - implied warranties or conditions of merchantability and fitness - for a particular purpose; - - ii) effectively excludes on behalf of all other Contributors all - liability for damages, including direct, indirect, special, - incidental and consequential damages, such as lost profits; - - iii) does not attempt to limit or alter the recipients' rights - in the Source Code under section 3.2; and - - iv) requires any subsequent distribution of the Program by any - party to be under a license that satisfies the requirements - of this section 3. - -3.2 When the Program is Distributed as Source Code: - - a) it must be made available under this Agreement, or if the - Program (i) is combined with other material in a separate file or - files made available under a Secondary License, and (ii) the initial - Contributor attached to the Source Code the notice described in - Exhibit A of this Agreement, then the Program may be made available - under the terms of such Secondary Licenses, and - - b) a copy of this Agreement must be included with each copy of - the Program. - -3.3 Contributors may not remove or alter any copyright, patent, -trademark, attribution notices, disclaimers of warranty, or limitations -of liability ("notices") contained within the Program from any copy of -the Program which they Distribute, provided that Contributors may add -their own appropriate notices. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities -with respect to end users, business partners and the like. While this -license is intended to facilitate the commercial use of the Program, -the Contributor who includes the Program in a commercial product -offering should do so in a manner which does not create potential -liability for other Contributors. Therefore, if a Contributor includes -the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and indemnify every -other Contributor ("Indemnified Contributor") against any losses, -damages and costs (collectively "Losses") arising from claims, lawsuits -and other legal actions brought by a third party against the Indemnified -Contributor to the extent caused by the acts or omissions of such -Commercial Contributor in connection with its distribution of the Program -in a commercial product offering. The obligations in this section do not -apply to any claims or Losses relating to any actual or alleged -intellectual property infringement. In order to qualify, an Indemnified -Contributor must: a) promptly notify the Commercial Contributor in -writing of such claim, and b) allow the Commercial Contributor to control, -and cooperate with the Commercial Contributor in, the defense and any -related settlement negotiations. The Indemnified Contributor may -participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those performance -claims and warranties, and if a court requires any other Contributor to -pay any damages as a result, the Commercial Contributor must pay -those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT -PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS" -BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR -IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF -TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR -PURPOSE. Each Recipient is solely responsible for determining the -appropriateness of using and distributing the Program and assumes all -risks associated with its exercise of rights under this Agreement, -including but not limited to the risks and costs of program errors, -compliance with applicable laws, damage to or loss of data, programs -or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT -PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS -SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST -PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE -EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other software -or hardware) infringes such Recipient's patent(s), then such Recipient's -rights granted under Section 2(b) shall terminate as of the date such -litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign the -responsibility to serve as the Agreement Steward to a suitable separate -entity. Each new version of the Agreement will be given a distinguishing -version number. The Program (including Contributions) may always be -Distributed subject to the version of the Agreement under which it was -received. In addition, after a new version of the Agreement is published, -Contributor may elect to Distribute the Program (including its -Contributions) under the new version. - -Except as expressly stated in Sections 2(a) and 2(b) above, Recipient -receives no rights or licenses to the intellectual property of any -Contributor under this Agreement, whether expressly, by implication, -estoppel or otherwise. All rights in the Program not expressly granted -under this Agreement are reserved. Nothing in this Agreement is intended -to be enforceable by any entity that is not a Contributor or Recipient. -No third-party beneficiary rights are created under this Agreement. - -Exhibit A - Form of Secondary Licenses Notice - -"This Source Code may also be made available under the following -Secondary Licenses when the conditions for such availability set forth -in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), -version(s), and exceptions or additional permissions here}." - - Simply including a copy of this Agreement, including this Exhibit A - is not sufficient to license the Source Code under Secondary Licenses. - - If it is not possible or desirable to put the notice in a particular - file, then You may include the notice in a location (such as a LICENSE - file in a relevant directory) where a recipient would be likely to - look for such a notice. - - You may add additional accurate notices of copyright ownership. diff --git a/META-INF/LICENSE.THIRD-PARTY.txt b/META-INF/LICENSE.THIRD-PARTY.txt new file mode 100644 index 0000000..96e038a --- /dev/null +++ b/META-INF/LICENSE.THIRD-PARTY.txt @@ -0,0 +1,47 @@ + +Lists of 45 third-party dependencies. + (MIT license) Animal Sniffer Annotations (org.codehaus.mojo:animal-sniffer-annotations:1.9 - http://mojo.codehaus.org/animal-sniffer/animal-sniffer-annotations) + (Apache-2.0) Apache Commons Codec (commons-codec:commons-codec:1.19.0 - https://commons.apache.org/proper/commons-codec/) + (Apache-2.0) Apache Commons CSV (org.apache.commons:commons-csv:1.14.1 - https://commons.apache.org/proper/commons-csv/) + (Apache-2.0) Apache Commons IO (commons-io:commons-io:2.20.0 - https://commons.apache.org/proper/commons-io/) + (Apache-2.0) Apache Commons Lang (org.apache.commons:commons-lang3:3.19.0 - https://commons.apache.org/proper/commons-lang/) + (Apache License, Version 2.0) Apache Felix Declarative Services (org.apache.felix:org.apache.felix.scr:2.2.6 - http://felix.apache.org/org.apache.felix.scr/) + (MIT License) autolink-java (org.nibor.autolink:autolink:0.12.0 - https://github.com/robinst/autolink-java) + (Apache Software License, Version 2.0) (Bouncy Castle Licence) Bouncy Castle OpenPGP API (org.bouncycastle:bcpg-jdk18on:1.76 - https://www.bouncycastle.org/java.html) + (Bouncy Castle Licence) Bouncy Castle Provider (org.bouncycastle:bcprov-jdk18on:1.76 - https://www.bouncycastle.org/java.html) + (BSD-2-Clause) commonmark-java core (org.commonmark:commonmark:0.28.0 - https://github.com/commonmark/commonmark-java/commonmark) + (BSD-2-Clause) commonmark-java extension for (underline) (org.commonmark:commonmark-ext-ins:0.28.0 - https://github.com/commonmark/commonmark-java/commonmark-ext-ins) + (BSD-2-Clause) commonmark-java extension for adding id attributes to h tags (org.commonmark:commonmark-ext-heading-anchor:0.28.0 - https://github.com/commonmark/commonmark-java/commonmark-ext-heading-anchor) + (BSD-2-Clause) commonmark-java extension for alerts (org.commonmark:commonmark-ext-gfm-alerts:0.28.0 - https://github.com/commonmark/commonmark-java/commonmark-ext-gfm-alerts) + (BSD-2-Clause) commonmark-java extension for autolinking (org.commonmark:commonmark-ext-autolink:0.28.0 - https://github.com/commonmark/commonmark-java/commonmark-ext-autolink) + (BSD-2-Clause) commonmark-java extension for footnotes (org.commonmark:commonmark-ext-footnotes:0.28.0 - https://github.com/commonmark/commonmark-java/commonmark-ext-footnotes) + (BSD-2-Clause) commonmark-java extension for image attributes (org.commonmark:commonmark-ext-image-attributes:0.28.0 - https://github.com/commonmark/commonmark-java/commonmark-ext-image-attributes) + (BSD-2-Clause) commonmark-java extension for strikethrough (org.commonmark:commonmark-ext-gfm-strikethrough:0.28.0 - https://github.com/commonmark/commonmark-java/commonmark-ext-gfm-strikethrough) + (BSD-2-Clause) commonmark-java extension for tables (org.commonmark:commonmark-ext-gfm-tables:0.28.0 - https://github.com/commonmark/commonmark-java/commonmark-ext-gfm-tables) + (BSD-2-Clause) commonmark-java extension for task list items (org.commonmark:commonmark-ext-task-list-items:0.28.0 - https://github.com/commonmark/commonmark-java/commonmark-ext-task-list-items) + (BSD-2-Clause) commonmark-java extension for YAML front matter (org.commonmark:commonmark-ext-yaml-front-matter:0.28.0 - https://github.com/commonmark/commonmark-java/commonmark-ext-yaml-front-matter) + (Unknown license) de.sebthom.eclipse.previewer.drawio (de.sebthom.eclipse.previewer:de.sebthom.eclipse.previewer.drawio:1.0.0-SNAPSHOT - no url defined) + (Unknown license) de.sebthom.eclipse.previewer.graphviz (de.sebthom.eclipse.previewer:de.sebthom.eclipse.previewer.graphviz:1.0.0-SNAPSHOT - no url defined) + (Unknown license) de.sebthom.eclipse.previewer.markdown (de.sebthom.eclipse.previewer:de.sebthom.eclipse.previewer.markdown:1.0.0-SNAPSHOT - no url defined) + (Unknown license) de.sebthom.eclipse.previewer.mermaid (de.sebthom.eclipse.previewer:de.sebthom.eclipse.previewer.mermaid:1.0.0-SNAPSHOT - no url defined) + (Unknown license) de.sebthom.eclipse.previewer.plantuml (de.sebthom.eclipse.previewer:de.sebthom.eclipse.previewer.plantuml:1.0.0-SNAPSHOT - no url defined) + (Unknown license) de.sebthom.eclipse.previewer.textmate (de.sebthom.eclipse.previewer:de.sebthom.eclipse.previewer.textmate:1.0.0-SNAPSHOT - no url defined) + (Apache 2.0) error-prone annotations (com.google.errorprone:error_prone_annotations:2.38.0 - https://errorprone.info/error_prone_annotations) + (Apache-2.0) Gson (com.google.code.gson:gson:2.13.1 - https://github.com/google/gson) + (Unicode/ICU License) ICU4J (com.ibm.icu:icu4j:73.2 - https://icu.unicode.org/) + (Apache-2.0) (LGPL-2.1-or-later) Java Native Access (net.java.dev.jna:jna:5.13.0 - https://github.com/java-native-access/jna) + (Apache-2.0) (LGPL-2.1-or-later) Java Native Access Platform (net.java.dev.jna:jna-platform:5.13.0 - https://github.com/java-native-access/jna) + (Eclipse Public License 2.0) jstuff-core (net.sf.jstuff:jstuff-core:8.2.0 - https://github.com/sebthom/jstuff/jstuff-core) + (Eclipse Public License 2.0) no-npe-eea-all (com.vegardit.no-npe:no-npe-eea-all:1.3.13-20260505.110916-5 - https://github.com/vegardit/no-npe/no-npe-eea-all) + (Apache License, Version 2.0) org.osgi:org.osgi.namespace.extender (org.osgi:org.osgi.namespace.extender:1.0.1 - http://www.osgi.org/) + (Apache License, Version 2.0) org.osgi:org.osgi.namespace.implementation (org.osgi:org.osgi.namespace.implementation:1.0.0 - http://www.osgi.org/) + (Apache-2.0) org.osgi:org.osgi.service.component (org.osgi:org.osgi.service.component:1.5.1 - https://docs.osgi.org/) + (Apache-2.0) org.osgi:org.osgi.service.event (org.osgi:org.osgi.service.event:1.4.1 - https://docs.osgi.org/) + (Apache-2.0) org.osgi:org.osgi.service.prefs (org.osgi:org.osgi.service.prefs:1.1.2 - https://docs.osgi.org/) + (Apache-2.0) org.osgi:org.osgi.util.function (org.osgi:org.osgi.util.function:1.2.0 - https://docs.osgi.org/) + (Apache-2.0) org.osgi:org.osgi.util.promise (org.osgi:org.osgi.util.promise:1.3.0 - https://docs.osgi.org/) + (Apache-2.0) org.osgi:osgi.annotation (org.osgi:osgi.annotation:8.1.0 - https://docs.osgi.org/) + (Unknown license) previewer-eclipse-feature (de.sebthom.eclipse.previewer:de.sebthom.eclipse.previewer.feature:1.0.0-SNAPSHOT - no url defined) + (Unknown license) previewer-eclipse-plugin (de.sebthom.eclipse.previewer:de.sebthom.eclipse.previewer:1.0.0-SNAPSHOT - no url defined) + (Apache License, Version 2.0) SnakeYAML Engine (org.snakeyaml:snakeyaml-engine:2.9 - https://bitbucket.org/snakeyaml/snakeyaml-engine) + (Public Domain) XZ for Java (org.tukaani:xz:1.9 - https://tukaani.org/xz/java.html) diff --git a/README.md b/README.md deleted file mode 100644 index c3b8ed1..0000000 --- a/README.md +++ /dev/null @@ -1,170 +0,0 @@ -# previewer-eclipse-plugin - -[![Build Status](https://github.com/sebthom/previewer-eclipse-plugin/actions/workflows/build.yml/badge.svg)](https://github.com/sebthom/previewer-eclipse-plugin/actions/workflows/build.yml) -[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.1%20adopted-ff69b4.svg)](CODE_OF_CONDUCT.md) -[![License](https://img.shields.io/github/license/sebthom/previewer-eclipse-plugin.svg?color=blue)](LICENSE.txt) -[![Eclipse Marketplace](https://img.shields.io/eclipse-marketplace/dt/previewer-plugin?logo=eclipse&label=Downloads)](https://marketplace.eclipse.org/content/previewer-plugin) - - -**Feedback and high-quality pull requests are highly welcome!** - -1. [What is it?](#what-is-it) -1. [Installation](#installation) -1. [Adding support for other formats](#extending) -1. [Building from Sources](#building) -1. [Acknowledgement](#acknowledgement) -1. [License](#license) - - -## What is it? - -This **extensible** [EclipseⓇ](https://eclipse.org) plugin contributes a new **Preview** view that displays rendered versions of files -opened in text editors. - -The following formats are supported out of the box: -- CSV and TSV files -- [Draw.io](https://www.drawio.com/) diagrams -- [GitHub flavored Markdown (GFM)](https://github.github.com/gfm/), including fenced blocks for: - - Mermaid: `mermaid` - - PlantUML: `plantuml`, `puml`, `iuml`, `pu` - - Graphviz DOT: `dot`, `graphviz` -- Graphviz [DOT](https://graphviz.org/doc/info/lang.html) diagrams -- HTML -- [Mermaid](https://mermaid.js.org/) diagrams -- [PlantUML](https://plantuml.com/) diagrams -- [Scalable Vector Graphics (SVG)](https://en.wikipedia.org/wiki/SVG) -- Terrastruct [D2](https://d2lang.com/) diagrams (requires `d2` executable from https://github.com/terrastruct/d2/releases installed locally) -- TextMate grammars (requires the [Eclipse TM4E](https://github.com/eclipse-tm4e/tm4e) plugin) - -Embedded Graphviz DOT blocks use the configured Graphviz renderer from the Eclipse preferences. - -This plugin is best used together with the [TM4E incl. Language Pack](https://github.com/eclipse/tm4e) -and [Extra Syntax Highlighting Plugin](https://github.com/sebthom/extra-syntax-highlighting-eclipse-plugin) -which provide syntax highlighting for the supported source files. - -- Markdown example: - - ![](src/site/img/screen_markdown.png) - -- Graphviz example: - - ![](src/site/img/screen_graphviz.png) - -- TextMate Grammar example: - - ![](src/site/img/screen_textmate.png) - - -## Installation - -To install the plugin into an existing Eclipse installation do: -1. Within Eclipse go to: Help -> Install New Software... -1. Enter the following update site URL: https://raw.githubusercontent.com/sebthom/previewer-eclipse-plugin/updatesite -1. Select the `Previewer` feature to install. -1. Ensure that the option `Contact all update sites during install to find required software` is enabled. -1. Click `Next` twice. -1. Read/accept the license terms and click `Finish`. -1. Eclipse will now download the necessary files in the background. -1. When the download has finished, Eclipse will ask about installing unsigned content. You need to accept if you want to -1. After installation you will be prompted for a restart of Eclipse, which is recommended. - - -## Adding support for other formats - -The plugin provides extension points that allow registration of additional renderers to support more file formats. -If you are new to Eclipse plugin development please consult https://github.com/eclipse-platform/eclipse.platform/blob/master/docs/FAQ/FAQ_What_are_extensions_and_extension_points.md -for more details about extension points. - -1. The `htmlPreviewerRenderer` extension point allows to register classes implementing [de.sebthom.eclipse.previewer.api.HtmlPreviewRenderer](plugin/src/main/java/de/sebthom/eclipse/previewer/api/HtmlPreviewRenderer.java): - HtmlPreviewRenderer are used to render source files to a HTML representation. The renderer plugin display the generated HTML inside managed browser component. - ```xml - - - - ``` - -1. The `previewerRenderer` extension point allows to register classes implementing [de.sebthom.eclipse.previewer.api.PreviewRenderer](plugin/src/main/java/de/sebthom/eclipse/previewer/api/PreviewRenderer.java): - If rendering to HTML is not desirable or possible PreviewRenderers can be used to render source files onto an SWT Composite managed by the renderer itself. - ```xml - - - - ``` - -## Building from Sources - -To ensure reproducible builds this Maven project inherits from the [vegardit-maven-parent](https://github.com/vegardit/vegardit-maven-parent) -project which declares fixed versions and sensible default settings for all official Maven plug-ins. - -The project also uses the [maven-toolchains-plugin](http://maven.apache.org/plugins/maven-toolchains-plugin/) which decouples the JDK that is -used to execute Maven and it's plug-ins from the target JDK that is used for compilation and/or unit testing. This ensures full binary -compatibility of the compiled artifacts with the runtime library of the required target JDK. - -To build the project follow these steps: - -1. Download and install a Java 17 SDK, e.g. from: - - https://adoptium.net/releases.html?variant=openjdk17 - - https://www.azul.com/downloads/?version=java-17-lts&architecture=x86-64-bit&package=jdk - -1. Download and install the latest [Maven distribution](https://maven.apache.org/download.cgi). - -1. In your user home directory create the file `.m2/toolchains.xml` with the following content: - - ```xml - - - - jdk - - 17 - default - - - [PATH_TO_YOUR_JDK_17] - - - - ``` - - Set the `[PATH_TO_YOUR_JDK_17]` parameter accordingly. - -1. Checkout the code using one of the following methods: - - - `git clone https://github.com/sebthom/previewer-eclipse-plugin` - - `svn co https://github.com/sebthom/previewer-eclipse-plugin previewer-eclipse-plugin` - -1. Run `mvn clean verify` in the project root directory. This will execute compilation, unit-testing, integration-testing and - packaging of all artifacts. - - -## Acknowledgement - -**Draw.io** diagrams are rendered using https://www.draw.io/js/viewer.min.js, which is licensed under [Apache License 2.0 ](https://github.com/jgraph/drawio/blob/dev/LICENSE). - -By default, **Graphviz DOT** files are rendered using a bundled version of [Viz.js](https://github.com/mdaines/viz-js), which is licensed under [MIT](https://github.com/mdaines/viz-js/blob/v3/LICENSE). - -By default, **Markdown** files are rendered using a bundled version of [CommonMark Java](https://github.com/commonmark/commonmark-java), which is licensed under [BSD-2-Clause](https://github.com/commonmark/commonmark-java/blob/main/LICENSE.txt). - -Rendered **Markdown** files are styled using [GitHub MarkDown CSS](https://github.com/sindresorhus/github-markdown-css/), which is licensed under [MIT](https://github.com/sindresorhus/github-markdown-css/blob/main/license). - -**Mermaid** files are rendered using a bundled version of [Mermaid JS](https://github.com/mermaid-js/mermaid), which is licensed under [MIT](https://github.com/mermaid-js/mermaid/blob/develop/LICENSE). - -**PlantUML** files are rendered using a bundled version of [PlantUML](https://github.com/plantuml/plantuml/), which is licensed under [MIT](https://github.com/plantuml/plantuml/blob/master/plantuml-mit/mit-license.txt) - - -## License - -If not otherwise specified (see below), files in this repository fall under the [Eclipse Public License 2.0](LICENSE.txt). - -Individual files contain the following tag instead of the full license text: -``` -SPDX-License-Identifier: EPL-2.0 -``` - -This enables machine processing of license information based on the SPDX License Identifiers that are available here: https://spdx.org/licenses/. - -An exception is made for: -1. files in readable text which contain their own license information, or -2. files in a directory containing a separate `LICENSE.txt` file, or -3. files where an accompanying file exists in the same directory with a `.LICENSE.txt` suffix added to the base-name of the original file. - For example `foobar.js` is may be accompanied by a `foobar.LICENSE.txt` license file. diff --git a/artifacts.jar b/artifacts.jar new file mode 100644 index 0000000..6ba8b59 Binary files /dev/null and b/artifacts.jar differ diff --git a/artifacts.xml.xz b/artifacts.xml.xz new file mode 100644 index 0000000..91fd8db Binary files /dev/null and b/artifacts.xml.xz differ diff --git a/build.target b/build.target deleted file mode 100644 index 719435d..0000000 --- a/build.target +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - net.sourceforge.plantuml - plantuml-mit - 1.2026.2 - jar - - - org.apache.commons - commons-csv - 1.14.1 - jar - - - - - - - - - org.commonmark - commonmark - 0.28.0 - jar - - - - - - - - - org.commonmark - commonmark-ext-autolink - 0.28.0 - jar - - - org.commonmark - commonmark-ext-footnotes - 0.28.0 - jar - - - org.commonmark - commonmark-ext-gfm-alerts - 0.28.0 - jar - - - org.commonmark - commonmark-ext-gfm-strikethrough - 0.28.0 - jar - - - org.commonmark - commonmark-ext-gfm-tables - 0.28.0 - jar - - - org.commonmark - commonmark-ext-heading-anchor - 0.28.0 - jar - - - org.commonmark - commonmark-ext-image-attributes - 0.28.0 - jar - - - org.commonmark - commonmark-ext-ins - 0.28.0 - jar - - - org.commonmark - commonmark-ext-task-list-items - 0.28.0 - jar - - - org.commonmark - commonmark-ext-yaml-front-matter - 0.28.0 - jar - - - - - - - - diff --git a/content.jar b/content.jar new file mode 100644 index 0000000..5388cbf Binary files /dev/null and b/content.jar differ diff --git a/content.xml.xz b/content.xml.xz new file mode 100644 index 0000000..b8a4136 Binary files /dev/null and b/content.xml.xz differ diff --git a/feature/build.properties b/feature/build.properties deleted file mode 100644 index b3a611b..0000000 --- a/feature/build.properties +++ /dev/null @@ -1,2 +0,0 @@ -bin.includes = feature.xml,\ - feature.properties diff --git a/feature/feature.properties b/feature/feature.properties deleted file mode 100644 index 7ce4e35..0000000 --- a/feature/feature.properties +++ /dev/null @@ -1,14 +0,0 @@ -name=Previewer -description=Eclipse view that displays rendered versions of files (e.g. Markdown, GraphViz, Mermaid, SVG). - -copyright=\ -Copyright 2024 by Sebastian Thomschke and contributors.\n\ -\n\ -All rights reserved. This program and the accompanying materials \ -are made available under the terms of the Eclipse Public License v2.0 \ -which accompanies this distribution, and is available at \ -https://www.eclipse.org/legal/epl-v20.html\n\ -\n\ -Visit https://github.com/sebthom/previewer-eclipse-plugin\n - -licenseURL=https://www.eclipse.org/legal/epl-v20.html diff --git a/feature/feature.xml b/feature/feature.xml deleted file mode 100644 index b32d945..0000000 --- a/feature/feature.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/feature/pom.xml b/feature/pom.xml deleted file mode 100644 index 30254b9..0000000 --- a/feature/pom.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - 4.0.0 - - - de.sebthom.eclipse.previewer - de.sebthom.eclipse.previewer.parent - 1.0.0-SNAPSHOT - - - previewer-eclipse-feature - de.sebthom.eclipse.previewer.feature - eclipse-feature - diff --git a/features/de.sebthom.eclipse.previewer.feature_1.0.0.20260601-1954.jar b/features/de.sebthom.eclipse.previewer.feature_1.0.0.20260601-1954.jar new file mode 100644 index 0000000..298a299 Binary files /dev/null and b/features/de.sebthom.eclipse.previewer.feature_1.0.0.20260601-1954.jar differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..d67dc15 --- /dev/null +++ b/index.html @@ -0,0 +1,9 @@ + + + + sebthom/previewer-eclipse-plugin - Update Site + + +

4836GITHUB_REPO - Update Site

+ + diff --git a/p2.index b/p2.index new file mode 100644 index 0000000..7e944d3 --- /dev/null +++ b/p2.index @@ -0,0 +1,4 @@ +#Mon Jun 01 19:55:48 UTC 2026 +artifact.repository.factory.order=artifacts.xml.xz,artifacts.xml,\! +metadata.repository.factory.order=content.xml.xz,content.xml,\! +version=1 diff --git a/plugin-d2/.settings/org.eclipse.jdt.core.prefs b/plugin-d2/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index b1dda13..0000000 --- a/plugin-d2/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,123 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.annotationPath.allLocations=enabled -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.notowning=org.eclipse.jdt.annotation.NotOwning -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled -org.eclipse.jdt.core.compiler.annotation.owning=org.eclipse.jdt.annotation.Owning -org.eclipse.jdt.core.compiler.annotation.resourceanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=17 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompatibleOwningContract=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.insufficientResourceAnalysis=warning -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=error -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=warning -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=enabled -org.eclipse.jdt.core.compiler.source=17 diff --git a/plugin-d2/META-INF/MANIFEST.MF b/plugin-d2/META-INF/MANIFEST.MF deleted file mode 100644 index 9857f91..0000000 --- a/plugin-d2/META-INF/MANIFEST.MF +++ /dev/null @@ -1,27 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %PluginName -Bundle-SymbolicName: de.sebthom.eclipse.previewer.d2;singleton:=true -Bundle-Version: 1.0.0.qualifier -Bundle-Vendor: Sebastian Thomschke -Bundle-Localization: src/main/java/de/sebthom/eclipse/previewer/d2/localization/messages -Automatic-Module-Name: de.sebthom.eclipse.previewer.d2 -Bundle-Activator: de.sebthom.eclipse.previewer.d2.Plugin -Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-17 -Bundle-ClassPath: . -Require-Bundle: org.eclipse.platform;bundle-version="4.25.0", - org.eclipse.core.filebuffers, - org.eclipse.core.net, - org.eclipse.core.resources, - org.eclipse.core.runtime, - org.eclipse.osgi, - org.eclipse.jface.text, - org.eclipse.ui, - org.eclipse.ui.ide, - org.eclipse.ui.workbench.texteditor, - org.apache.commons.commons-io;bundle-version="[2.20.0,3.0.0)", - org.apache.commons.lang3;bundle-version="[3.19.0,4.0.0)", - net.sf.jstuff.core;bundle-version="[8.2.0,9.0.0)", - de.sebthom.eclipse.commons;bundle-version="[1.0.0.20251127-1946,2.0.0)", - de.sebthom.eclipse.previewer;bundle-version="[1.0.0,2.0.0)" diff --git a/plugin-d2/about.ini b/plugin-d2/about.ini deleted file mode 100644 index b8ff690..0000000 --- a/plugin-d2/about.ini +++ /dev/null @@ -1,12 +0,0 @@ -# https://ekkescorner.wordpress.com/2010/06/13/brand-your-feature-and-be-part-of-about-eclipse/ -aboutText=\ -Previewer plugin to render Terrastruct D2 diagrams.\n\ -\n\ -Copyright 2025 by Sebastian Thomschke and contributors.\n\ -\n\ -All rights reserved. This program and the accompanying materials \ -are made available under the terms of the Eclipse Public License v2.0 \ -which accompanies this distribution, and is available at \ -https://www.eclipse.org/legal/epl-v20.html\n\ -\n\ -Visit https://github.com/sebthom/previewer-eclipse-plugin diff --git a/plugin-d2/build.properties b/plugin-d2/build.properties deleted file mode 100644 index 2832a79..0000000 --- a/plugin-d2/build.properties +++ /dev/null @@ -1,11 +0,0 @@ -source.. = src/main/java/ -output.. = target/classes/ -bin.includes = META-INF/,\ - .,\ - plugin.xml,\ - about.ini,\ - src/main/java/de/sebthom/eclipse/previewer/d2/localization/ -bin.excludes = src/main/java/de/sebthom/eclipse/previewer/d2/localization/Messages.java - -# JDT Null Analysis for Eclipse -additional.bundles = org.eclipse.jdt.annotation diff --git a/plugin-d2/plugin.xml b/plugin-d2/plugin.xml deleted file mode 100644 index 384d47c..0000000 --- a/plugin-d2/plugin.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugin-d2/pom.xml b/plugin-d2/pom.xml deleted file mode 100644 index c98d12d..0000000 --- a/plugin-d2/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - 4.0.0 - - - de.sebthom.eclipse.previewer - de.sebthom.eclipse.previewer.parent - 1.0.0-SNAPSHOT - - - de.sebthom.eclipse.previewer.d2 - eclipse-plugin - - - - true - - - - \ No newline at end of file diff --git a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/Constants.java b/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/Constants.java deleted file mode 100644 index c583550..0000000 --- a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/Constants.java +++ /dev/null @@ -1,14 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.d2; - -/** - * @author Sebastian Thomschke - */ -public interface Constants { - String D2_JS = "src/main/resources/d2/d2.js"; -} diff --git a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/D2HtmlPreviewRenderer.java b/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/D2HtmlPreviewRenderer.java deleted file mode 100644 index 63f1f11..0000000 --- a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/D2HtmlPreviewRenderer.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.d2; - -import java.io.IOException; - -import org.apache.commons.lang3.SystemUtils; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.api.HtmlPreviewRenderer; -import de.sebthom.eclipse.previewer.d2.prefs.PluginPreferences; -import de.sebthom.eclipse.previewer.util.MiscUtils; -import de.sebthom.eclipse.previewer.util.StringUtils; - -/** - * @author Sebastian Thomschke - */ -public class D2HtmlPreviewRenderer implements HtmlPreviewRenderer { - - @Override - public void dispose() { - } - - @Override - public void renderToHtml(final ContentSource source, final Appendable out) throws IOException { - - out.append(""" - - - - - - - """); - - final var renderer = PluginPreferences.getD2Renderer(); - - if (SystemUtils.IS_OS_WINDOWS) { - out.append(""" - - """); - } - - renderer.d2ToHTML(source, out); - out.append(StringUtils.htmlInfoBox(source.shortDisplayPath() + MiscUtils.getCurrentTime())); - out.append(""); - } -} diff --git a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/Plugin.java b/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/Plugin.java deleted file mode 100644 index a2aac6a..0000000 --- a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/Plugin.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.d2; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.asNonNull; - -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jface.resource.ImageRegistry; -import org.osgi.framework.BundleContext; - -import de.sebthom.eclipse.commons.AbstractEclipsePlugin; -import de.sebthom.eclipse.commons.BundleResources; -import de.sebthom.eclipse.commons.logging.PluginLogger; -import de.sebthom.eclipse.commons.logging.StatusFactory; -import net.sf.jstuff.core.reflection.Fields; - -/** - * @author Sebastian Thomschke - */ -public class Plugin extends AbstractEclipsePlugin { - - /** - * during runtime you can get ID with getBundle().getSymbolicName() - */ - public static final String PLUGIN_ID = asNonNull(Plugin.class.getPackage()).getName().replace('_', '-'); - - private static @Nullable Plugin instance; - - /** - * @return the shared instance - */ - public static Plugin get() { - return asNonNull(instance, "Default plugin instance is still null."); - } - - public static boolean isInitialized() { - return instance != null; - } - - public static PluginLogger log() { - return get().getLogger(); - } - - public static BundleResources resources() { - return get().getBundleResources(); - } - - public static StatusFactory status() { - return get().getStatusFactory(); - } - - @Override - public BundleResources getBundleResources() { - var bundleResources = this.bundleResources; - if (bundleResources == null) { - bundleResources = this.bundleResources = new BundleResources(this, "src/main/resources"); - } - return bundleResources; - } - - @Override - protected void initializeImageRegistry(final ImageRegistry registry) { - for (final var field : Constants.class.getFields()) { - if (Fields.isStatic(field) && field.getType() == String.class && field.getName().startsWith("IMAGE_")) { - final String imagePath = Fields.read(null, field); - if (imagePath != null) { - registerImage(registry, imagePath); - } - } - } - } - - @Override - public void start(final BundleContext context) throws Exception { - super.start(context); - instance = this; - } - - @Override - public void stop(final BundleContext context) throws Exception { - instance = null; - super.stop(context); - } -} diff --git a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/localization/Messages.java b/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/localization/Messages.java deleted file mode 100644 index 711d75b..0000000 --- a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/localization/Messages.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.d2.localization; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.lateNonNull; - -import de.sebthom.eclipse.commons.localization.MessagesInitializer; - -/** - * @author Sebastian Thomschke - */ -public final class Messages { - - private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; - - // Keys with default values directly assigned in this class are only used by Java classes. - // Keys without default values are loaded from messages.properties, because they are also referenced in plugin.xml - - // CHECKSTYLE:IGNORE .* FOR NEXT 100 LINES - - public static String PluginName = lateNonNull(); - - static { - MessagesInitializer.initializeMessages(BUNDLE_NAME, Messages.class); - } - - private Messages() { - } -} diff --git a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/localization/messages.properties b/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/localization/messages.properties deleted file mode 100644 index 0181b04..0000000 --- a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/localization/messages.properties +++ /dev/null @@ -1,2 +0,0 @@ -PluginName=Previewer: D2 -PreferencePageName=D2 diff --git a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/localization/package-info.java b/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/localization/package-info.java deleted file mode 100644 index 019e908..0000000 --- a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/localization/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.d2.localization; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/package-info.java b/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/package-info.java deleted file mode 100644 index 035c529..0000000 --- a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.d2; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/prefs/PluginPreferencePage.java b/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/prefs/PluginPreferencePage.java deleted file mode 100644 index 793a6c9..0000000 --- a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/prefs/PluginPreferencePage.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.d2.prefs; - -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.List; - -import org.eclipse.jface.preference.FieldEditorPreferencePage; -import org.eclipse.jface.preference.FileFieldEditor; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; - -import de.sebthom.eclipse.commons.prefs.fieldeditor.GroupFieldEditor; -import net.sf.jstuff.core.SystemUtils; - -/** - * @author Sebastian Thomschke - */ -public final class PluginPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { - - @Override - protected void createFieldEditors() { - final var parent = getFieldEditorParent(); - - addField(new GroupFieldEditor("External renderer", parent, group -> List.of( // - new FileFieldEditor(PluginPreferences.PREF_D2_NATIVE_EXE, "D2 Executable", group) { - @Override - protected boolean checkState() { - String msg = null; - final String path = getTextControl().getText().trim(); - if (path.isEmpty()) { - msg = "The name of the D2 command must be specified!"; - } else if (path.contains("/") || path.contains("\\")) { - if (!Files.exists(Path.of(path))) { - msg = "Given path does not point to an existing file!"; - } else if (!Files.isExecutable(Path.of(path))) { - msg = "Given path does not point to an executable file!"; - } - } else { - if (SystemUtils.findExecutable(path, false) == null) { - msg = "The D2 executable cannot be found on PATH!"; - } - } - - if (msg != null) { // error - showErrorMessage(msg); - return false; - } - - clearErrorMessage(); - return true; - } - }))); - } - - public PluginPreferencePage() { - super(FieldEditorPreferencePage.GRID); - } - - @Override - public void init(final IWorkbench workbench) { - setPreferenceStore(PluginPreferences.STORE); - } -} diff --git a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/prefs/PluginPreferences.java b/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/prefs/PluginPreferences.java deleted file mode 100644 index 682557e..0000000 --- a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/prefs/PluginPreferences.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.d2.prefs; - -import java.io.IOException; - -import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; -import org.eclipse.jface.preference.IPersistentPreferenceStore; -import org.eclipse.jface.util.IPropertyChangeListener; - -import de.sebthom.eclipse.previewer.d2.Plugin; -import de.sebthom.eclipse.previewer.d2.renderer.D2NativeRenderer; -import de.sebthom.eclipse.previewer.d2.renderer.D2Renderer; -import net.sf.jstuff.core.io.RuntimeIOException; - -/** - * @author Sebastian Thomschke - */ -public final class PluginPreferences { - - public static final IPersistentPreferenceStore STORE = Plugin.get().getPreferenceStore(); - - public static final String PREF_D2_NATIVE_EXE = "d2NativeExe"; - - public static final class Initializer extends AbstractPreferenceInitializer { - - @Override - public void initializeDefaultPreferences() { - STORE.setDefault(PREF_D2_NATIVE_EXE, "d2"); - } - } - - public static void addListener(final IPropertyChangeListener listener) { - STORE.addPropertyChangeListener(listener); - } - - public static void removeListener(final IPropertyChangeListener listener) { - STORE.removePropertyChangeListener(listener); - } - - public static void save() { - if (STORE.needsSaving()) { - try { - STORE.save(); - } catch (final IOException ex) { - throw new RuntimeIOException(ex); - } - } - } - - public static D2Renderer getD2Renderer() { - return D2NativeRenderer.INSTANCE; - } - - public static String getD2NativeExe() { - return STORE.getString(PREF_D2_NATIVE_EXE); - } - - private PluginPreferences() { - } -} diff --git a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/prefs/package-info.java b/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/prefs/package-info.java deleted file mode 100644 index b3196de..0000000 --- a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/prefs/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.d2.prefs; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/renderer/D2NativeRenderer.java b/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/renderer/D2NativeRenderer.java deleted file mode 100644 index 2aff7db..0000000 --- a/plugin-d2/src/main/java/de/sebthom/eclipse/previewer/d2/renderer/D2NativeRenderer.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.d2.renderer; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.concurrent.TimeUnit; - -import org.apache.commons.io.IOUtils; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.d2.prefs.PluginPreferences; -import de.sebthom.eclipse.previewer.util.StringUtils; -import net.sf.jstuff.core.SystemUtils; -import net.sf.jstuff.core.io.Processes; - -/** - * @author Sebastian Thomschke - */ -public enum D2NativeRenderer implements D2Renderer { - - INSTANCE; - - public boolean isAvailable() { - var exe = Path.of(PluginPreferences.getD2NativeExe()); - if (exe.getParent() == null) { // check if exe is given without path - final var foundPath = SystemUtils.findExecutable(exe.toString(), false); - if (foundPath != null) { - exe = foundPath; - } - } - return Files.isExecutable(exe); - } - - @Override - public void d2ToHTML(final ContentSource source, final Appendable out) throws IOException { - final var exe = PluginPreferences.getD2NativeExe(); - - final var sb = new StringBuilder(); - final var proc = Processes.builder(exe).withArgs("--bundle", "--no-xml-tag", "-") // - .withRedirectOutput(sb) // - .withRedirectErrorToOutput() // - .start(); - - try (var raw = source.contentAsInputStream(); - var dotStdIn = proc.getStdIn()) { - IOUtils.copy(raw, dotStdIn); - } - - try { - proc.waitForExit(5, TimeUnit.SECONDS); - } catch (final InterruptedException ex) { - Thread.currentThread().interrupt(); - throw new IOException(ex); - } finally { - proc.terminate(); - } - - out.append(StringUtils.htmlSvgWithHoverDownloadButton(" - - - - - - - - - - - diff --git a/plugin-drawio/pom.xml b/plugin-drawio/pom.xml deleted file mode 100644 index 745c63c..0000000 --- a/plugin-drawio/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - 4.0.0 - - - de.sebthom.eclipse.previewer - de.sebthom.eclipse.previewer.parent - 1.0.0-SNAPSHOT - - - de.sebthom.eclipse.previewer.drawio - eclipse-plugin - - - - true - - - - \ No newline at end of file diff --git a/plugin-drawio/src/main/java/de/sebthom/eclipse/previewer/drawio/DrawIoHtmlPreviewRenderer.java b/plugin-drawio/src/main/java/de/sebthom/eclipse/previewer/drawio/DrawIoHtmlPreviewRenderer.java deleted file mode 100644 index 37420db..0000000 --- a/plugin-drawio/src/main/java/de/sebthom/eclipse/previewer/drawio/DrawIoHtmlPreviewRenderer.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.drawio; - -import java.io.IOException; - -import org.apache.commons.lang3.SystemUtils; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.api.HtmlPreviewRenderer; -import de.sebthom.eclipse.previewer.util.MiscUtils; -import de.sebthom.eclipse.previewer.util.StringUtils; - -/** - * @author Sebastian Thomschke - */ -public class DrawIoHtmlPreviewRenderer implements HtmlPreviewRenderer { - - @Override - public void dispose() { - } - - @Override - public void renderToHtml(final ContentSource source, final Appendable out) throws IOException { - out.append(""); - out.append(""); - out.append(""); - out.append(""); - out.append(""); - out.append(""); - out.append("\n\n"); - if (SystemUtils.IS_OS_WINDOWS) { - out.append( - """ - - - - """); - } - - out.append(""" -
- - """); - out.append(StringUtils.htmlInfoBox(source.shortDisplayPath() + " " + MiscUtils.getCurrentTime())); - out.append(""); - } -} diff --git a/plugin-drawio/src/main/java/de/sebthom/eclipse/previewer/drawio/Plugin.java b/plugin-drawio/src/main/java/de/sebthom/eclipse/previewer/drawio/Plugin.java deleted file mode 100644 index 14aa5cf..0000000 --- a/plugin-drawio/src/main/java/de/sebthom/eclipse/previewer/drawio/Plugin.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.drawio; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.asNonNull; - -import org.eclipse.jdt.annotation.Nullable; -import org.osgi.framework.BundleContext; - -import de.sebthom.eclipse.commons.AbstractEclipsePlugin; -import de.sebthom.eclipse.commons.logging.PluginLogger; -import de.sebthom.eclipse.commons.logging.StatusFactory; - -/** - * @author Sebastian Thomschke - */ -public class Plugin extends AbstractEclipsePlugin { - - /** - * during runtime you can get ID with getBundle().getSymbolicName() - */ - public static final String PLUGIN_ID = asNonNull(Plugin.class.getPackage()).getName().replace('_', '-'); - - private static @Nullable Plugin instance; - - /** - * @return the shared instance - */ - public static Plugin get() { - return asNonNull(instance, "Default plugin instance is still null."); - } - - public static boolean isInitialized() { - return instance != null; - } - - public static PluginLogger log() { - return get().getLogger(); - } - - public static StatusFactory status() { - return get().getStatusFactory(); - } - - @Override - public void start(final BundleContext context) throws Exception { - super.start(context); - instance = this; - } - - @Override - public void stop(final BundleContext context) throws Exception { - instance = null; - super.stop(context); - } -} diff --git a/plugin-drawio/src/main/java/de/sebthom/eclipse/previewer/drawio/localization/Messages.java b/plugin-drawio/src/main/java/de/sebthom/eclipse/previewer/drawio/localization/Messages.java deleted file mode 100644 index 01b5130..0000000 --- a/plugin-drawio/src/main/java/de/sebthom/eclipse/previewer/drawio/localization/Messages.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.drawio.localization; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.lateNonNull; - -import de.sebthom.eclipse.commons.localization.MessagesInitializer; - -/** - * @author Sebastian Thomschke - */ -public final class Messages { - - private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; - - // Keys with default values directly assigned in this class are only used by Java classes. - // Keys without default values are loaded from messages.properties, because they are also referenced in plugin.xml - - // CHECKSTYLE:IGNORE .* FOR NEXT 100 LINES - - public static String PluginName = lateNonNull(); - - static { - MessagesInitializer.initializeMessages(BUNDLE_NAME, Messages.class); - } - - private Messages() { - } -} diff --git a/plugin-drawio/src/main/java/de/sebthom/eclipse/previewer/drawio/localization/messages.properties b/plugin-drawio/src/main/java/de/sebthom/eclipse/previewer/drawio/localization/messages.properties deleted file mode 100644 index afe0cff..0000000 --- a/plugin-drawio/src/main/java/de/sebthom/eclipse/previewer/drawio/localization/messages.properties +++ /dev/null @@ -1,2 +0,0 @@ -PluginName=Previewer: draw.io -PreferencePageName=draw.io diff --git a/plugin-drawio/src/main/java/de/sebthom/eclipse/previewer/drawio/localization/package-info.java b/plugin-drawio/src/main/java/de/sebthom/eclipse/previewer/drawio/localization/package-info.java deleted file mode 100644 index 6cf3ee3..0000000 --- a/plugin-drawio/src/main/java/de/sebthom/eclipse/previewer/drawio/localization/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.drawio.localization; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-drawio/src/main/java/de/sebthom/eclipse/previewer/drawio/package-info.java b/plugin-drawio/src/main/java/de/sebthom/eclipse/previewer/drawio/package-info.java deleted file mode 100644 index 802c9fa..0000000 --- a/plugin-drawio/src/main/java/de/sebthom/eclipse/previewer/drawio/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.drawio; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-graphviz/.settings/org.eclipse.jdt.core.prefs b/plugin-graphviz/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index b1dda13..0000000 --- a/plugin-graphviz/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,123 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.annotationPath.allLocations=enabled -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.notowning=org.eclipse.jdt.annotation.NotOwning -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled -org.eclipse.jdt.core.compiler.annotation.owning=org.eclipse.jdt.annotation.Owning -org.eclipse.jdt.core.compiler.annotation.resourceanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=17 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompatibleOwningContract=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.insufficientResourceAnalysis=warning -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=error -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=warning -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=enabled -org.eclipse.jdt.core.compiler.source=17 diff --git a/plugin-graphviz/META-INF/MANIFEST.MF b/plugin-graphviz/META-INF/MANIFEST.MF deleted file mode 100644 index 1b86b74..0000000 --- a/plugin-graphviz/META-INF/MANIFEST.MF +++ /dev/null @@ -1,23 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %PluginName -Bundle-SymbolicName: de.sebthom.eclipse.previewer.graphviz;singleton:=true -Bundle-Version: 1.0.0.qualifier -Bundle-Vendor: Sebastian Thomschke -Bundle-Localization: src/main/java/de/sebthom/eclipse/previewer/graphviz/localization/messages -Automatic-Module-Name: de.sebthom.eclipse.previewer.graphviz -Bundle-Activator: de.sebthom.eclipse.previewer.graphviz.Plugin -Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-17 -Bundle-ClassPath: . -Export-Package: de.sebthom.eclipse.previewer.graphviz;x-friends:="de.sebthom.eclipse.previewer.markdown" -Require-Bundle: org.eclipse.platform;bundle-version="4.25.0", - org.eclipse.core.resources, - org.eclipse.core.runtime, - org.eclipse.osgi, - org.eclipse.ui, - org.apache.commons.commons-io;bundle-version="[2.20.0,3.0.0)", - org.apache.commons.lang3;bundle-version="[3.19.0,4.0.0)", - net.sf.jstuff.core;bundle-version="[8.2.0,9.0.0)", - de.sebthom.eclipse.commons;bundle-version="[1.0.0.20251127-1946,2.0.0)", - de.sebthom.eclipse.previewer;bundle-version="[1.0.0,2.0.0)" diff --git a/plugin-graphviz/about.ini b/plugin-graphviz/about.ini deleted file mode 100644 index edfb280..0000000 --- a/plugin-graphviz/about.ini +++ /dev/null @@ -1,12 +0,0 @@ -# https://ekkescorner.wordpress.com/2010/06/13/brand-your-feature-and-be-part-of-about-eclipse/ -aboutText=\ -Previewer plugin to render Graphviz diagrams from DOT files.\n\ -\n\ -Copyright 2024 by Sebastian Thomschke and contributors.\n\ -\n\ -All rights reserved. This program and the accompanying materials \ -are made available under the terms of the Eclipse Public License v2.0 \ -which accompanies this distribution, and is available at \ -https://www.eclipse.org/legal/epl-v20.html\n\ -\n\ -Visit https://github.com/sebthom/previewer-eclipse-plugin diff --git a/plugin-graphviz/build.properties b/plugin-graphviz/build.properties deleted file mode 100644 index b885bce..0000000 --- a/plugin-graphviz/build.properties +++ /dev/null @@ -1,12 +0,0 @@ -source.. = src/main/java/ -output.. = target/classes/ -bin.includes = META-INF/,\ - .,\ - plugin.xml,\ - about.ini,\ - src/main/resources/,\ - src/main/java/de/sebthom/eclipse/previewer/graphviz/localization/ -bin.excludes = src/main/java/de/sebthom/eclipse/previewer/graphviz/localization/Messages.java - -# JDT Null Analysis for Eclipse -additional.bundles = org.eclipse.jdt.annotation diff --git a/plugin-graphviz/plugin.xml b/plugin-graphviz/plugin.xml deleted file mode 100644 index b9f8f8b..0000000 --- a/plugin-graphviz/plugin.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugin-graphviz/pom.xml b/plugin-graphviz/pom.xml deleted file mode 100644 index a5062a3..0000000 --- a/plugin-graphviz/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - 4.0.0 - - - de.sebthom.eclipse.previewer - de.sebthom.eclipse.previewer.parent - 1.0.0-SNAPSHOT - - - de.sebthom.eclipse.previewer.graphviz - eclipse-plugin - - - - true - - - - \ No newline at end of file diff --git a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/Constants.java b/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/Constants.java deleted file mode 100644 index 136b6e0..0000000 --- a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/Constants.java +++ /dev/null @@ -1,14 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.graphviz; - -/** - * @author Sebastian Thomschke - */ -public interface Constants { - String VIZ_JS = "src/main/resources/viz-js/viz-global.js"; -} diff --git a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/GraphvizHtmlPreviewRenderer.java b/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/GraphvizHtmlPreviewRenderer.java deleted file mode 100644 index 5c7b00c..0000000 --- a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/GraphvizHtmlPreviewRenderer.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.graphviz; - -import java.io.IOException; - -import org.apache.commons.lang3.SystemUtils; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.api.HtmlPreviewRenderer; -import de.sebthom.eclipse.previewer.graphviz.prefs.PluginPreferences; -import de.sebthom.eclipse.previewer.graphviz.renderer.GraphvizEmbeddedRenderer; -import de.sebthom.eclipse.previewer.graphviz.renderer.GraphvizNativeRenderer; -import de.sebthom.eclipse.previewer.util.MiscUtils; -import de.sebthom.eclipse.previewer.util.StringUtils; - -/** - * @author Sebastian Thomschke - */ -public class GraphvizHtmlPreviewRenderer implements HtmlPreviewRenderer { - - @Override - public void dispose() { - } - - @Override - public void renderToHtml(final ContentSource source, final Appendable out) throws IOException { - - out.append(""" - - - - - - - """); - - final var renderer = PluginPreferences.getGraphvizRenderer(); - - final var rendererName = renderer instanceof GraphvizNativeRenderer // - ? "dot" - : renderer instanceof GraphvizEmbeddedRenderer // - ? "viz.js" - : renderer.getClass().getSimpleName(); - - if (SystemUtils.IS_OS_WINDOWS && !(renderer instanceof GraphvizEmbeddedRenderer)) { - out.append(""" - - """); - } - - renderer.dotToHTML(source, out); - out.append(StringUtils.htmlInfoBox(source.shortDisplayPath() + " (" + rendererName + ") " + MiscUtils.getCurrentTime())); - out.append(""); - } -} diff --git a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/GraphvizRendering.java b/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/GraphvizRendering.java deleted file mode 100644 index 6d41e18..0000000 --- a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/GraphvizRendering.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.graphviz; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.Reader; -import java.io.StringReader; -import java.nio.charset.StandardCharsets; -import java.nio.file.Path; -import java.util.List; - -import org.eclipse.core.runtime.content.IContentType; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.graphviz.prefs.PluginPreferences; - -/** - * Renders DOT source through the configured Graphviz renderer. - * - * @author Sebastian Thomschke - */ -public final class GraphvizRendering { - - private static final class DotContentSource implements ContentSource { - private final ContentSource delegate; - private final String content; - - DotContentSource(final ContentSource delegate, final String content) { - this.delegate = delegate; - this.content = content; - } - - @Override - public InputStream contentAsInputStream() { - return new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8)); - } - - @Override - public Reader contentAsReader() { - return new StringReader(content); - } - - @Override - public String contentAsString() { - return content; - } - - @Override - public List contentTypes() { - return List.of(); - } - - @Override - public boolean isSnapshot() { - return true; - } - - @Override - public boolean isSynced() { - return delegate.isSynced(); - } - - @Override - public long lastModified() throws IOException { - return delegate.lastModified(); - } - - @Override - public Path path() { - return delegate.path(); - } - } - - public static String renderToHtmlFragment(final String dotSource, final ContentSource source) throws IOException { - final var html = new StringBuilder(); - renderToHtmlFragment(dotSource, source, html); - return html.toString(); - } - - public static void renderToHtmlFragment(final String dotSource, final ContentSource source, final Appendable out) throws IOException { - PluginPreferences.getGraphvizRenderer().dotToHTML(new DotContentSource(source, dotSource), out); - } - - private GraphvizRendering() { - } -} diff --git a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/Plugin.java b/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/Plugin.java deleted file mode 100644 index 019afda..0000000 --- a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/Plugin.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.graphviz; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.asNonNull; - -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jface.resource.ImageRegistry; -import org.osgi.framework.BundleContext; - -import de.sebthom.eclipse.commons.AbstractEclipsePlugin; -import de.sebthom.eclipse.commons.BundleResources; -import de.sebthom.eclipse.commons.logging.PluginLogger; -import de.sebthom.eclipse.commons.logging.StatusFactory; -import net.sf.jstuff.core.reflection.Fields; - -/** - * @author Sebastian Thomschke - */ -public class Plugin extends AbstractEclipsePlugin { - - /** - * during runtime you can get ID with getBundle().getSymbolicName() - */ - public static final String PLUGIN_ID = asNonNull(Plugin.class.getPackage()).getName().replace('_', '-'); - - private static @Nullable Plugin instance; - - /** - * @return the shared instance - */ - public static Plugin get() { - return asNonNull(instance, "Default plugin instance is still null."); - } - - public static boolean isInitialized() { - return instance != null; - } - - public static PluginLogger log() { - return get().getLogger(); - } - - public static BundleResources resources() { - return get().getBundleResources(); - } - - public static StatusFactory status() { - return get().getStatusFactory(); - } - - @Override - public BundleResources getBundleResources() { - var bundleResources = this.bundleResources; - if (bundleResources == null) { - bundleResources = this.bundleResources = new BundleResources(this, "src/main/resources"); - } - return bundleResources; - } - - @Override - protected void initializeImageRegistry(final ImageRegistry registry) { - for (final var field : Constants.class.getFields()) { - if (Fields.isStatic(field) && field.getType() == String.class && field.getName().startsWith("IMAGE_")) { - final String imagePath = Fields.read(null, field); - if (imagePath != null) { - registerImage(registry, imagePath); - } - } - } - } - - @Override - public void start(final BundleContext context) throws Exception { - super.start(context); - instance = this; - } - - @Override - public void stop(final BundleContext context) throws Exception { - instance = null; - super.stop(context); - } -} diff --git a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/localization/Messages.java b/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/localization/Messages.java deleted file mode 100644 index d56f81b..0000000 --- a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/localization/Messages.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.graphviz.localization; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.lateNonNull; - -import de.sebthom.eclipse.commons.localization.MessagesInitializer; - -/** - * @author Sebastian Thomschke - */ -public final class Messages { - - private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; - - // Keys with default values directly assigned in this class are only used by Java classes. - // Keys without default values are loaded from messages.properties, because they are also referenced in plugin.xml - - // CHECKSTYLE:IGNORE .* FOR NEXT 100 LINES - - public static String PluginName = lateNonNull(); - - static { - MessagesInitializer.initializeMessages(BUNDLE_NAME, Messages.class); - } - - private Messages() { - } -} diff --git a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/localization/messages.properties b/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/localization/messages.properties deleted file mode 100644 index 851791a..0000000 --- a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/localization/messages.properties +++ /dev/null @@ -1,2 +0,0 @@ -PluginName=Previewer: Graphviz -PreferencePageName=Graphviz diff --git a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/localization/package-info.java b/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/localization/package-info.java deleted file mode 100644 index ffd58b0..0000000 --- a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/localization/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.graphviz.localization; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/package-info.java b/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/package-info.java deleted file mode 100644 index fdb219e..0000000 --- a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.graphviz; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/prefs/PluginPreferencePage.java b/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/prefs/PluginPreferencePage.java deleted file mode 100644 index 3fd2e09..0000000 --- a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/prefs/PluginPreferencePage.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.graphviz.prefs; - -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.List; - -import org.eclipse.jface.preference.BooleanFieldEditor; -import org.eclipse.jface.preference.ComboFieldEditor; -import org.eclipse.jface.preference.FieldEditorPreferencePage; -import org.eclipse.jface.preference.FileFieldEditor; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; - -import de.sebthom.eclipse.commons.prefs.fieldeditor.GroupFieldEditor; -import net.sf.jstuff.core.SystemUtils; - -/** - * @author Sebastian Thomschke - */ -public final class PluginPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { - - @Override - protected void createFieldEditors() { - final var parent = getFieldEditorParent(); - - final var rendererCombo = new ComboFieldEditor(PluginPreferences.PREF_GRAPHVIZ_RENDERER, "Graphviz Renderer:", new String[][] { // - {"GraphViz dot (external)", PluginPreferences.PREF_GRAPHVIZ_RENDERER_NATIVE}, // - {"viz.js (built-in)", PluginPreferences.PREF_GRAPHVIZ_RENDERER_EMBEDDED} // - }, parent); - addField(rendererCombo); - - addField(new GroupFieldEditor("External renderer", parent, group -> List.of( // - new FileFieldEditor(PluginPreferences.PREF_GRAPHVIZ_NATIVE_EXE, "GraphViz dot Executable", group) { - @Override - protected boolean checkState() { - final var renderer = rendererCombo.getPreferenceStore().getString(rendererCombo.getPreferenceName()); - - if (!PluginPreferences.PREF_GRAPHVIZ_RENDERER_NATIVE.equals(renderer)) - return true; - - String msg = null; - final String path = getTextControl().getText().trim(); - if (path.isEmpty()) { - msg = "The name of the GraphViz dot command must be specified!"; - } else if (path.contains("/") || path.contains("\\")) { - if (!Files.exists(Path.of(path))) { - msg = "Given path does not point to an existing file!"; - } else if (!Files.isExecutable(Path.of(path))) { - msg = "Given path does not point to an executable file!"; - } - } else { - if (SystemUtils.findExecutable(path, false) == null) { - msg = "The GraphViz dot executable cannot be found on PATH!"; - } - } - - if (msg != null) { // error - showErrorMessage(msg); - return false; - } - - clearErrorMessage(); - return true; - } - }, // - new BooleanFieldEditor(PluginPreferences.PREF_GRAPHVIZ_NATIVE_FALLBACK_TO_EMBEDDED, - "Use embedded renderer when native renderer is unavailable", group)) // - )); - } - - public PluginPreferencePage() { - super(FieldEditorPreferencePage.GRID); - } - - @Override - public void init(final IWorkbench workbench) { - setPreferenceStore(PluginPreferences.STORE); - } -} diff --git a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/prefs/PluginPreferences.java b/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/prefs/PluginPreferences.java deleted file mode 100644 index 84a78e1..0000000 --- a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/prefs/PluginPreferences.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.graphviz.prefs; - -import java.io.IOException; - -import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; -import org.eclipse.jface.preference.IPersistentPreferenceStore; -import org.eclipse.jface.util.IPropertyChangeListener; - -import de.sebthom.eclipse.previewer.graphviz.Plugin; -import de.sebthom.eclipse.previewer.graphviz.renderer.GraphvizEmbeddedRenderer; -import de.sebthom.eclipse.previewer.graphviz.renderer.GraphvizNativeRenderer; -import de.sebthom.eclipse.previewer.graphviz.renderer.GraphvizRenderer; -import net.sf.jstuff.core.io.RuntimeIOException; - -/** - * @author Sebastian Thomschke - */ -public final class PluginPreferences { - - public static final IPersistentPreferenceStore STORE = Plugin.get().getPreferenceStore(); - - public static final String PREF_GRAPHVIZ_RENDERER = "graphvizRenderer"; - public static final String PREF_GRAPHVIZ_RENDERER_EMBEDDED = "embedded"; - public static final String PREF_GRAPHVIZ_RENDERER_NATIVE = "native"; - public static final String PREF_GRAPHVIZ_NATIVE_EXE = "graphvizNativeExe"; - public static final String PREF_GRAPHVIZ_NATIVE_FALLBACK_TO_EMBEDDED = "graphvizNativeFallbackToEmbedded"; - - public static final class Initializer extends AbstractPreferenceInitializer { - @Override - public void initializeDefaultPreferences() { - STORE.setDefault(PREF_GRAPHVIZ_RENDERER, PREF_GRAPHVIZ_RENDERER_EMBEDDED); - STORE.setDefault(PREF_GRAPHVIZ_NATIVE_EXE, "dot"); - STORE.setDefault(PREF_GRAPHVIZ_NATIVE_FALLBACK_TO_EMBEDDED, true); - } - } - - public static void addListener(final IPropertyChangeListener listener) { - STORE.addPropertyChangeListener(listener); - } - - public static void removeListener(final IPropertyChangeListener listener) { - STORE.removePropertyChangeListener(listener); - } - - public static void save() { - if (STORE.needsSaving()) { - try { - STORE.save(); - } catch (final IOException ex) { - throw new RuntimeIOException(ex); - } - } - } - - public static GraphvizRenderer getGraphvizRenderer() { - final boolean wantsNative = PREF_GRAPHVIZ_RENDERER_NATIVE.equals(STORE.getString(PREF_GRAPHVIZ_RENDERER)); - if (wantsNative) { - final boolean nativeAvailable = GraphvizNativeRenderer.INSTANCE.isAvailable(); - final boolean fallbackAllowed = STORE.getBoolean(PREF_GRAPHVIZ_NATIVE_FALLBACK_TO_EMBEDDED); - if (nativeAvailable || !fallbackAllowed) - return GraphvizNativeRenderer.INSTANCE; - } - return GraphvizEmbeddedRenderer.INSTANCE; - } - - public static String getGraphvizNativeExe() { - return STORE.getString(PREF_GRAPHVIZ_NATIVE_EXE); - } - - private PluginPreferences() { - } -} diff --git a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/prefs/package-info.java b/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/prefs/package-info.java deleted file mode 100644 index b1b64e0..0000000 --- a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/prefs/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.graphviz.prefs; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/renderer/GraphvizEmbeddedRenderer.java b/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/renderer/GraphvizEmbeddedRenderer.java deleted file mode 100644 index e428d73..0000000 --- a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/renderer/GraphvizEmbeddedRenderer.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.graphviz.renderer; - -import java.io.File; -import java.io.IOException; -import java.io.UncheckedIOException; -import java.nio.charset.StandardCharsets; -import java.util.Base64; -import java.util.concurrent.atomic.AtomicLong; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.graphviz.Constants; -import de.sebthom.eclipse.previewer.graphviz.Plugin; - -/** - * @author Sebastian Thomschke - */ -public enum GraphvizEmbeddedRenderer implements GraphvizRenderer { - - INSTANCE; - - private static final AtomicLong PLACEHOLDER_IDS = new AtomicLong(); - - private final File vizJS; - - GraphvizEmbeddedRenderer() { - try { - vizJS = Plugin.resources().extract(Constants.VIZ_JS); - } catch (final IOException ex) { - throw new UncheckedIOException(ex); - } - } - - @Override - public void dotToHTML(final ContentSource source, final Appendable out) throws IOException { - final String id = "previewer_graphviz_" + PLACEHOLDER_IDS.incrementAndGet(); - final String buttonId = id + "_download"; - final String innerId = id + "_inner"; - final String unsupportedId = id + "_unsupported"; - final String encodedDot = Base64.getEncoder().encodeToString(source.contentAsString().getBytes(StandardCharsets.UTF_8)); - - out.append(""" - -
- Previewing GraphViz diagrams using the embedded viz.js library is not supported using the Internet Explorer WebView.
-
- Please switch to Edge WebView2 under Window > Preferences > Previewer > Web View Implementation or - switch to the GraphViz DOT renderer under Window > Preferences > Previewer > GraphViz > GraphViz renderer . -
-
- -
-
- - - - """.replace("${VIZ_JS}", vizJS.toURI().toString()) // - .replace("${ID}", id) // - .replace("${BUTTON_ID}", buttonId) // - .replace("${INNER_ID}", innerId) // - .replace("${UNSUPPORTED_ID}", unsupportedId) // - .replace("${DOT_SOURCE}", encodedDot)); - } -} diff --git a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/renderer/GraphvizNativeRenderer.java b/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/renderer/GraphvizNativeRenderer.java deleted file mode 100644 index aaf073d..0000000 --- a/plugin-graphviz/src/main/java/de/sebthom/eclipse/previewer/graphviz/renderer/GraphvizNativeRenderer.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.graphviz.renderer; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.concurrent.TimeUnit; - -import org.apache.commons.io.IOUtils; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.graphviz.prefs.PluginPreferences; -import de.sebthom.eclipse.previewer.util.StringUtils; -import net.sf.jstuff.core.SystemUtils; -import net.sf.jstuff.core.io.Processes; - -/** - * @author Sebastian Thomschke - */ -public enum GraphvizNativeRenderer implements GraphvizRenderer { - - INSTANCE; - - private static final String SVG_VIEW_BOX_ATTRIBUTE = " viewBox"; - - public boolean isAvailable() { - var exe = Path.of(PluginPreferences.getGraphvizNativeExe()); - if (exe.getParent() == null) { // check if exe is given without path - final var foundPath = SystemUtils.findExecutable(exe.toString(), false); - if (foundPath != null) { - exe = foundPath; - } - } - return Files.isExecutable(exe); - } - - @Override - public void dotToHTML(final ContentSource source, final Appendable out) throws IOException { - final var exe = PluginPreferences.getGraphvizNativeExe(); - - final var sb = new StringBuilder(); - final var proc = Processes.builder(exe).withArg("-Tsvg") // - .withRedirectOutput(sb) // - .withRedirectErrorToOutput() // - .start(); - - try (var raw = source.contentAsInputStream(); - var dotStdIn = proc.getStdIn()) { - IOUtils.copy(raw, dotStdIn); - } - - try { - proc.waitForExit(5, TimeUnit.SECONDS); - } catch (final InterruptedException ex) { - Thread.currentThread().interrupt(); - throw new IOException(ex); - } finally { - proc.terminate(); - } - - final String svg = sb.toString(); - final int viewBoxIndex = svg.indexOf(SVG_VIEW_BOX_ATTRIBUTE); - if (viewBoxIndex < 0) { - throw new IOException("Graphviz did not produce SVG output: " + svg); - } - - out.append(StringUtils.htmlSvgWithHoverDownloadButton("r.stderrMessages.push(A);var j,t="undefined"==typeof document&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:"undefined"==typeof document?location.href:v&&"SCRIPT"===v.tagName.toUpperCase()&&v.src||new URL("viz-global.js",document.baseURI).href;try{new URL(".",t).href}catch{}j=async A=>{var v=await fetch(A,{credentials:"same-origin"});if(v.ok)return v.arrayBuffer();throw new Error(v.status+" : "+v.url)};var b,f,n=console.log.bind(console),e=console.error.bind(console),E=!1;var x,a,s,o,l,k,i,d,D,F=!1;function c(){var A=aA.buffer;l=new Int8Array(A),a=new Int16Array(A),D=new Uint8Array(A),s=new Int32Array(A),d=new Uint32Array(A),k=new Float32Array(A),i=new Float64Array(A),o=new BigInt64Array(A),new BigUint64Array(A)}function p(A){e(A=`Aborted(${A})`),E=!0,A+=". Build with -sASSERTIONS for more info.";var v=new WebAssembly.RuntimeError(A);throw f?.(v),v}function u(){return function(A){for(var v,r=0,j=A.length,t=new Uint8Array(j);r>8&v;return t}('\0asm\0\0\0Ön``\0``\0``\0``\0```\0`\0`\0`\0\0`\b``||`|`|`\0`|`||\0`||||`|\0`||\0`|||`~~~~\0`|\0`~~`||`||||`\t\0`~\0`\0|`|`~`~`~`~`~~\0`|\0`||`|`~`~`|`|||`|\0`\b\0`|`\n`|\0`~\0`|`\0~`~\0`|`|\0`|`}}}`}\0`||||||`|`||\0`|\0`|`~~`~~`~`~`~\0`~`\n\0`|||`|\0`\t`||\0`~~~~`}`~`\b|||\0`}\0`~~~\0`|`}\0`}\0`||`|\0`||\0`|||\0`~~}`~~|`|`|||\0`|\0`|\0`||||\0`||||||\0`||||`}`\v`~~~`~~`~~~\0`|`\n|\0`|||\0`|`|||`|||||‘aa\0ab\0ac\0ad\0ae\0af\0ag\0!ah\0ai\0\raj\0ak\0al\0am\0Dan\0Eao\0ap\0Faq\0ar\0Gas\0\0at\0\0au\0av\0\0aw\0%ax\0¤¢\0\0\0\0\0\0\0\0\0\r\0\r\0\0H\0\0I\0\b\0\0\0\0\0\0!\n5J\f\0\0\0\r\'\n\r\n\0\0\f6!"\0(\07\0\b\t\0"\n\b\v\0\0\0K\0\0\0\0\0\08L\0\x009\0)\n\n:*\0+\0\0\b\n\'M\0\0*\0\0\v\0\0N,\0\b\f\0\0\0O\b\fP!\0Q:-\n\0\0\vR\0\t\0\b\0\tS.\0\b(\r\06\0\0\0\0\0\b\t\f\0\0\b\0\0\0\0\n\n\0\0\n\0\n\0T\0\0\0;\f\0\n\0U<\t==\b\b\0\0/0/\0\t\f\0\0V\0\b\0 \0\0\0\0W\0\b\0\t\tX\0\0Y\0\v\0\0\0\0\0\0\t-Z[\b\0\0\n\0\\\0\0]>\0\0\f\n\0\0\0\0\0\0\0\b\t\r\b-\n\0"\0\0\0\0\0?\0\0\n\0\f#\0\0\0\t\b\0,^\b\0\f\n_\0\0`ab\0\b\v\0\t+\0c\t\t\t2\0\0%\b\b\0\b\0\b2d2\0\0\0\0\b) &\0\0\0\0\0\0@?@\0\0\0\0\r\0\t\b\f\0\v\0\0\b\b\0\n\0\t\t\0\0e\0\0 \f).f#\'g\03%;\f\b\f3(\0\0\n\0\0\rh>5\vi*\vj\0/\tk\r.l\b\0\0\0\b\0\r\0\0\0\0"\0<\r8\n\n\n\n\n\v\n,\0\0\0\t\b#\x007\0\0\0\0\v\0\0\n\0\0\0\0\b\v\v\n\0\0\0\b\03\r\0\n\n\v\0\b\0\0#\0\0\0\0\0+\n\0\0\n\f\n9m\b\0\0\0\0\n\n\n\n\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\0\0\0\0\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\0\0\0\b\b\b\0\0\0\0\0\0\0\0\0\0\b\b\b\b\0\0\0&\b\b\0\0\0 \b\0\0\b\0\0\0\0\0\0\0\0\0\0\0\0\f\v\v\v\n\n\n00\0\b\b\b\b\0\0\b\0\0\v\v\tB\tB\t\t\t\t\t\t\t\t\t\t\bC1$\b$\b\b\bC1$\b$\b\b\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\b\b4\0\04\0A\r\r\f\0\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\0\0\0\0\0\rpÄÄ„€€\bAà˜\v  y\0z\0¹A\0ªB\0©C\0¨D\0E\0VF\0§G\0¦H\0¥I\0¤J\0£K\0¢L\0¡M\0 N\0ŸO\0žP\0Q\0œR\0›S\0šT\0™U\0˜V\0—W\0–X\0•Y\0”Z\0“_\0†$\0Õaa\0Ôba\0Ó\té\f\0A\vÃŽÏ¿´¯ª¡ž˜“û\rú\rù\rÍÛ\rÔ\r£ƒ‚îíìåÑÐÀ\n½·¡¼ö¨¨ÒÑÐÎÍÌËÊÉÈÇù\bÆÅÄÃÂù\bÁÀ¾½¼¹¸·¶µ»³²±Ô\b°®­©¨§¦¥º¤£¢¬« Ÿœ›š™—–•”’‘ŽŒ‹Š‰ˆ‡†…„È\bƒ‚€ÿþý½\büûúùøçæåäãâáàßÞÝÜÛÚÙØ×÷öõôóòñðïîíìëêéèÖÕÔÔ\bÒ¼¯\bÑÐÏÎÍÌËÊÉÈÇÆÅÄÃÂÁÀ·Ó¯©¨¿¾¹½»º¸¶µ´³²±°®­¬«ª§bV¦ÈÅ\bÓ¥Ã\bÔÆ¤Ä\bÇ\b£¢½Ž\b¡ ŸŒ\b¨žœ›š™˜—–•”“’‘ŽŒ‹Š‰ˆ‡†…„ƒ‚€Œ\bÿ\r\bþ\rý\rü\r‚ø\r÷\rö\rõ\rô\ró\rò\rñ\rð\rï\rî\rí\rì\rë\rê\ré\rè\rç\ræ\rå\r\b¨4õã\râ\rá\rà\rß\rÞ\rÝ\rÜ\rÚ\rÙ\rØ\r×\r—Ö\r—Õ\r—Ó\rÒ\rÑ\rÐ\rÏ\rÎ\r´öÍ\rÌ\rË\rÊ\rÉ\rÈ\rÇ\rÆ\rÅ\rÄ\r•±•±•Ã\rÂ\rÁ\rÀ\r¿\r¾\r½\r¼\rö»\rº\r¹\r¸\r¨·\r¨¶\r¨µ\r¨´\r¨³\r²\r±\r°\r¸·¶µ§\r´³¯²±°¯®­¬«ª´©¨§¦¥¤¢¡ Ÿžœ›š™˜—–•”“’‘ŽŒ‡‹Š‰ˆ†…ä\r„¦€ÿþýüû™ú§\rù™ø÷öŠŠõôóòñðïèëêéèçæäãç\vâáàßÞÝܙٝ\tÕÖ·\vÓØ×éÔÒ§\vÏν\bh \tÛÍÌ…\vÊËÙÉâ\nÆÈÇŠŠ…\vÅÃÂÁ\nÀ¾¶µ´±ÀÄ¿Á»º¹¸³²°¯®­¬«‘’ÙŠ‹Š‰‡•…”„ƒ‚ŠŠ€ÿÖ\tþÖ\tôõóø÷öÎ\tòñýÓ\tüû‡ð¦´\t€þüúøöôòðîìêèæ¶\t«ä²\tŸžœ›³\tš™˜¸\t–•“’‘А©\t‹‰‡…ƒ¨\tŒŠˆ†„‚Ûhhª©¨§¦¥¤£³\t¢¡ h±\t±\tÆ‚‚—‚h¯\t®\tÆŠŠ­\t¯h¯\t®\tÆŠŠ­\t¯h¬\t«\tÆŠŠª\t¯h¬\t«\tÆŠŠª\t¯ÛhïîíÛhìëéhèçæåÈ\tÈ\täãâáàhßÞÝÜÇ\tÇ\tÛÚÙØ×hÖÕÔÓÒÑÏÎhÍÌËÊÉÈÆÅÛh¿\tÄÃÂÁÀ¾ýùíéõñÛh¿\t½¼»º¹¸ÿû÷ëçó\t·‡¦\t¶h²²ÌÌ̾\tб±h²²ÌÌ̾\tб±h±±ÌÌ̼\tб±h±±ÌÌ̼\tб±hµ´h³²h±°h¯®hº\t­”hº\t¬”Ûh¦¦áØÛàhÙÜßhÚÝÞhמ\tó\nÖó\nž\t\f–\nÅç2¢‚\f\b@ \0E\r\0 \0A\bk" \0Ak(\0"Axq"\0j!@ Aq\r\0 AqE\r  (\0"k"A…\v(\0I\r \0 j!\0@@@A”…\v(\0 G@ (\f! AÿM@  (\b"G\rA€…\vA€…\v(\0A~ Avwq6\0\f\v (!  G@ (\b" 6\f  6\b\f\v (" Aj ("E\r Aj\v!@ ! "Aj! ("\r\0 Aj! ("\r\0\v A\x006\0\f\v ("AqAG\rAˆ…\v \x006\0  A~q6  \0Ar6  \x006\0\v  6\f  6\b\f\vA\0!\v E\r\0@ ("At"(°‡\v F@ A°‡\vj 6\0 \rA„…\vA„…\v(\0A~ wq6\0\f\v@  (F@  6\f\v  6\v E\r\v  6 ("@  6  6\v ("E\r\0  6  6\v  O\r\0 ("AqE\r\0@@@@ AqE@A˜…\v(\0 F@A˜…\v 6\0AŒ…\vAŒ…\v(\0 \0j"\x006\0  \0Ar6 A”…\v(\0G\rAˆ…\vA\x006\0A”…\vA\x006\0\vA”…\v(\0" F@A”…\v 6\0Aˆ…\vAˆ…\v(\0 \0j"\x006\0  \0Ar6 \0 j \x006\0\v Axq \0j!\0 (\f! AÿM@ (\b" F@A€…\vA€…\v(\0A~ Avwq6\0\f\v  6\f  6\b\f\v (!\b  G@ (\b" 6\f  6\b\f\v (" Aj ("E\r Aj\v!@ ! "Aj! ("\r\0 Aj! ("\r\0\v A\x006\0\f\v  A~q6  \0Ar6 \0 j \x006\0\f\vA\0!\v \bE\r\0@ ("At"(°‡\v F@ A°‡\vj 6\0 \rA„…\vA„…\v(\0A~ wq6\0\f\v@  \b(F@ \b 6\f\v \b 6\v E\r\v  \b6 ("@  6  6\v ("E\r\0  6  6\v  \0Ar6 \0 j \x006\0  G\r\0Aˆ…\v \x006\0\v \0AÿM@ \0AøqA¨…\vj!A€…\v(\0"A \0Avt"\0qE@A€…\v \0 r6\0 \f\v (\b\v!\0  6\b \0 6\f  6\f  \x006\b\vA! \0AÿÿÿM@ \0A& \0A\bvg"kvAq AtrA>s!\v  6 B\x007 AtA°‡\vj!@A„…\v(\0"A t"qE@A„…\v  r6\0  6\0A!A\b\f\v \0A AvkA\0 AGt! (\0!@ "(Axq \0F\r Av! At!  Aqj"("\r\0\v  6A! !A\b\v!\0 "\f\v (\b" 6\f  6\bA!\0A\b!A\0\v!  j 6\0  6\f \0 j 6\0A …\vA …\v(\0Ak"\0A \06\0\v\v-\0 \0(\b M@A¹´AÕ¸AÒA“Å\0\0\v \0( j \0(\fp\v~#\0A k"$\0@ \0A\0 \0­ ­~B ˆ§E@A\0 \0 \0 C"\r A j$\0 \v  6  \x006\0Aˆ÷\b(\0AØê .\0\v  \0 l6Aˆ÷\b(\0A§ê Aj.\0\v\0AA \0  9"\0ð \0F\v$#\0Ak"$\0  6\f \0  ß\t Aj$\0\v% \0(,"\0A\0A€ \0(\0\0"\0 \0(A\0\v\v4@ \0 ¾"E\r\0 \0(,"\0 A\b \0(\0\0"\0E\r\0 \0(!\v \vo#\0A k"$\0 B\x007 B\x007  6\f@ Aj  Ž\t"A\0H@ AÔð\n(\0À6\0A¼€ 4\f\v \0 Aj"\0ª ð \0N\v A j$\0\v¤#\0Ak"$\0@ \0+" \0(\0Aq \0)\bâ\b" (A\0\v"\r\0 (L"(\0(\f"@ (\b \0(\0Aq \0)\b &\0"\r\vA\0! \0(\0AqAF\r\0  \0)\b7\b A%6\0AÎ\n!AÎ\nA A… ß\v Aj$\0 \v\0 \0   A\0†\n\vC\0 \0 \0 ¥ ½Bÿÿÿÿÿÿÿÿÿ\0ƒB€€€€€€€øÿ\0V  \0½Bÿÿÿÿÿÿÿÿÿ\0ƒB€€€€€€€øÿ\0X\v\0 \0&@ \0-\0\v \0(\v£@@ \0@ \0(\b" \0(\f"F@ \0 AtA  Í \0(\f!\v E\r \0(\b" O\r \0 \0( j p" · \0 \0(\bAj6\b \vA¨ÔAÕ¸A;A¶Ä\0\0\vA±–AÕ¸AÃ\0A¶Ä\0\0\vA¿\fAÕ¸AÄ\0A¶Ä\0\0\v&\0 \0 ¬"E@A\0\v \0Ä(\f (Atj(\0\v.\0 \0-\0"\0AjAÿqAO@A„¼Aòü\0AÜ\0A¶˜\0\0\v \0AÿG\vC\0 \0 \0 ¤ ½Bÿÿÿÿÿÿÿÿÿ\0ƒB€€€€€€€øÿ\0V  \0½Bÿÿÿÿÿÿÿÿÿ\0ƒB€€€€€€€øÿ\0X\v\v\0 \0 A\0ú\v<A!@@@ \0A(j\b\0\0\0\0\vA\b\v \0AG A}MrE@A\0\vA!\v \vB \0 ¾"E@A\0\v \0(4 ( ¿ \0(4"A\0A€ (\0\0  \0(4¢6 \v,\0@@@ \0(\0AqAk\0\0\v \0((!\0\v \0(!\0\v \0\vo \0-\0\0"@@ -\0\0"E\r@  F\r\0 ò -\0\0òF\r\0 \0-\0\0!\f\v Aj! \0-\0! \0Aj!\0 \r\0\vA\0!\v A\0\vò -\0\0òk\vn#\0Ak"$\0@ \0@@  \0(\bO\r  \0)\b7\b  \0)\x007\0 \0   · Aj!\f\0\v\0\vA¨ÔAÕ¸AøA±Å\0\0\v \0B\x007 Aj$\0\v\0A\0\vV \0 A(AØ\0 (\0AqAFj(\0¾"E@A\0\v \0(4 ( ¿ \0(4" A\b (\0\0  \0(4¢6 \v¤|~ \0½"B4ˆ§Aÿq"A²\bM| AýM@ \0D\0\0\0\0\0\0\0\0¢\v| \0™"\0D\0\0\0\0\0\x000C D\0\0\0\0\0\x000à \0¡"D\0\0\0\0\0\0à?d@ \0  D\0\0\0\0\0\0ð¿ \f\v \0  "\0 D\0\0\0\0\0\0à¿eE\r\0 \0D\0\0\0\0\0\0ð? \v"\0š \0 B\0S \0\v\v*#\0Ak"$\0  6\f \0  A‰A\0˜ Aj$\0\v/\0 \0E@A¨ÔAÕ¸A‚AƒÆ\0\0\v \0(\0 \0B\x007\b \0B\x007\0\vÇ#\0Ak"$\0 \0+!@@ \0 A\0\\" Er\r\0 AC"E\r   ”6\0@ \0("E@  6\f\v  ("F@  6  6\f\v  6  6\v \0-\0\0Aq\r\0 \0 A\0Ç\v @ \0 A\\\v Aj$\0 \v  6\0Aˆ÷\b(\0A§ê .\0\v\v\0 \0 Aú\v\0\b\0\v9\0 \0E@A\0\v@@@ \0(\0AqAk\0\0\v \0(((\v \0(\v \0(H\v%\0 \0  l"\0 ø\t" \0F@ A\0 \v  n\v`@ \0(<"E\r\0 (l"E\r\0 \0((˜E\r\0 \0-\0™A q@ \0   \0\v \0 \0  A è"\0  (l\0 \0\v\v}@@ \0"AqE\r\0 -\0\0E@A\0\v@ Aj"AqE\r -\0\0\r\0\v\f\v@ "Aj!A€‚„\b (\0"k rA€‚„xqA€‚„xF\r\0\v@ "Aj! -\0\0\r\0\v\v  \0k\v#\0 \0ðA\0H@A…ÎA‚½A¡Aš1\0\0\v \0ð\v7\0@ \0@ E\r \0 GE\vA«×A¦ü\0A\fA<\0\0\vAëÖA¦ü\0A\rA<\0\0\v‚#\0A k"$\0@ \0A\0 \0­ ­~B ˆ§E@ \0E Er \0 C"rE\r A j$\0 \v  6  \x006\0Aˆ÷\b(\0AØê .\0\v  \0 l6Aˆ÷\b(\0A§ê Aj.\0\vÌ\n|~#\0A k"\r$\0@ !@@@@@ "AkA}K\r\0 \r \0)\0"7˜  B ˆ§O\r Av"\f \rA˜j § B€€€€Tj-\0\0 Aq"vAq\r\0 (\0 \r )\b7 \r )\x007ˆ \rAˆj   \0("\nO\rAÈ\0lj!\v \0! \nA!O \0(\0 \v \fj" -\0\0A tr:\0\0@ \v+" \v+ "DH¯¼šò×z> dE\r\0  \v(\0A8lj"+\0" +¡™DH¯¼šò×z>eE\r\0  \v(A8lj"+\0" +¡™DH¯¼šò×z>eE\r\0@ E@ ! !\f\v š! š! ! !\v  90  9(  9  9 A $! (\0 Atj" )07  )(7  ) 7\b  )7\0\v@ \v(("Ak"A~I\r\0 \v(,AkA~I\r\0@ \v(0AkA}K\r\0 \v(4"\bAkA}K\r\0 \vA0j! \vA4j!\f (\0 \r )\b7€ \r )\x007x \rAø\0j \bAÈ\0lj(\0!\b \v(\0! \v(4 F@ \t   \bž \0     \f(\0  A \t=!A\f\b\v \t  \b ž \0     \v(0  A \t=! \f!A\f\v \0       A \t= \0     \v(,  A \t= \0     \v(0  A \t= \vA4j!A\f\v \vA(j!\f@ \v(0Ak"A~I"\r\0 \v(4AkA~I\r\0@ A}K\r\0 \v(,AkA}K\r\0 \vA,j! \v(!\b (\0 \r )\b7p \r )\x007h \rAè\0j AÈ\0lj(! \v(, F@ \t   \bž \0     \v(,  A \t=! \f!A\f\b\v \t  \b ž \0     \f(\0  A \t=!A\f\v \vA4j! \0       A \t= \0     \v(,  A \t= \0     \v(0  A \t=A\f\v \v"\nA0j! \nA,j!\v \n(,Ak!@ A}M@ A}K\r@ A}K\r\0 \n(4"AkA}K\r\0 \nA4j! (\0 \r )\b7 \r )\x007 \rAj AÈ\0lj(\0! (\0 \f(\0! \r )\b7 \r )\x007\b \rA\bj AÈ\0lj(!@ \bAF@ (\0 F\r\f\t\v \v(\0 G\r\b\v \t   ž! \0     \v(\0  A \t= \0     (\0  A \t= \0     \f(\0  A \t= !A\f\b\v@ \n+  \n(\0A8lj"+¡™DH¯¼šò×z>eE\r\0 \n+ +¡™DH¯¼šò×z>eE\r\0 (\0 \r )\b7@ \r )\x0078 \rA8j AÈ\0lj(!  \n(\0A8lj(,!\v@ \bAG\r\0 \f(\0 G\r\0 \t  \v ž!\f \0     \n((  A \t= \0    \f \n(0  A \t= \0    \f \n(,  A \t= \nA4j! \f!A\f\t\v \t   \vž \0     \n(,  A \t= \0     \n(0  A \t= \0     \n(4  A \t=! \f!A\f\b\v \n(! (\0 \r )\b70 \r )\x007( \rA(j AÈ\0lj(!@ \bAG\r\0 \v(\0 G\r\0 \t   ž! \0     \n(,  A \t= \0     \n(4  A \t= \0     \n(0  A \t= ! \f!A\f\b\v \t   ž \0     \n((  A \t= \0     \n(0  A \t= \0     \n(4  A \t=! \v!A\f\v A}K\r\v E@ \n+! \n(\0!\f\v \n+! \n(\0! \n(4"AkA}K\r \nA4j!\f@   A8lj"\v+\b¡™DH¯¼šò×z>eE\r\0 \n+\b \v+\0¡™DH¯¼šò×z>eE\r\0 (\0 \r )\b7` \r )\x007X \rAØ\0j AÈ\0lj(\0!\v \n(\0!@ \bAF@ \n(0 F\r\v \t   \vž \0     \n(,  A \t= \0     \n(4  A \t= \0     \n((  A \t=!A\f\v \t  \v ž! \0     \n(0  A \t= \0     \n((  A \t= \0     \n(,  A \t= ! \f!A\f\v (\0 \r )\b7P \r )\x007H \rAÈ\0j AÈ\0lj(\0!\v  \n(A8lj(,!@ \bAG\r\0 \f(\0 G\r\0 \t   \vž!\f \0     \n(4  A \t= \0    \f \n(,  A \t= \0    \f \n((  A \t= \f!A\f\v \t  \v ž \0     \n((  A \t= \0     \n(0  A \t= \0     \n(,  A \t=! \f!A\f\v \rA j$\0\vA™³AÁû\0AÂ\0AŽ#\0\0\vAç²AÁû\0AÑ\0A„"\0\0\v \n+\b!@@@   A8lj"\f+\b¡™DH¯¼šò×z>eE\r\0  \f+\0¡™DH¯¼šò×z>eE\r\0 \n+  \n("A8lj"+\b¡™DH¯¼šò×z>eE\r\0 \n+ +\0¡™DH¯¼šò×z>e\r\v@   \n(A8lj"+¡™DH¯¼šò×z>eE\r\0  +¡™DH¯¼šò×z>eE\r\0 \n+ \f+¡™DH¯¼šò×z>eE\r\0 \n+ \f+¡™DH¯¼šò×z>e\r\v \0       A \t= \0     \n(0  A \t= \0     \n(,  A \t= \nA4j!A\f\v \bAF@ \t   ž!\f \0     \n((  A \t= \0     \n(,  A \t= \0    \f \n(4  A \t= \f!A\f\v \t   ž! \0     \n(4  A \t= \0     \n(0  A \t= \0     \n((  A \t= ! \v!A\f\v \f(,!\f (,! \bAF@ \t  \f ž!\f \0     \n((  A \t= \0     \n(,  A \t= \0    \f \n(4  A \t= \f!A\f\v \t   \fž! \0     \n(4  A \t= \0     \n(0  A \t= \0     \n((  A \t= ! \v!A\f\v \t   ž! \0     \f(\0  A \t= \0     \n(0  A \t= \0     \v(\0  A \t= ! !A\v!\b (\0!\f\0\v\0\v \0@ A\0LE@ \0AëÎ Ak!\f\v\v\vC \0Ä@ ("A\0N@ \0¼ J\r\vA ¥AçºAÌAÚ"\0\0\v(\f (Atj(\0\v®|~#\0A k"$\0@ \0™" ™" ½ ½T""½"B4ˆ"BÿQ\r\0   !\0@ P\r\0 \0½"\bB4ˆ"\tBÿQ\r\0 \t§ §kAÁ\0N@   !\f\v| \bB€€€€€€€ðß\0Z@ D\0\0\0\0\0\x000¢! \0D\0\0\0\0\0\x000¢!\0D\0\0\0\0\0\0°k\f\vD\0\0\0\0\0\0ð? Bÿÿÿÿÿÿÿç#V\r\0 D\0\0\0\0\0\0°k¢! \0D\0\0\0\0\0\0°k¢!\0D\0\0\0\0\0\x000\v Aj Aj \0÷\t A\bj  ÷\t +\0 +  +\b  + Ÿ¢!\f\v \0!\v A j$\0 \vÃ#\0A0k"$\0@ \0(<"E\r\0 (dE\r\0 \0("(˜E\r\0 Aq"@ A\bj Aj"\bA(ü\n\0\0 \b A8jA(ü\n\0\0 A{q!\v@ \0-\0™A q@ \0    (d\0\f\v \0 \0  A è"   (d\0 \v E\r\0 \0(Aj A\bjA(ü\n\0\0\v A0j$\0\v\v\0 \0 Aœ\t\vZ~@A\0 \0E\r\0 \0­ ­~"§" \0 rA€€I\r\0A  B ˆ§\v"V"\0E\r\0 \0Ak-\0\0AqE\r\0 \0A\0 ’\v \0\vÂ|#\0Ak"$\0| \0½B ˆ§Aÿÿÿÿq"AûäÿM@D\0\0\0\0\0\0ð? AžÁšòI\r \0D\0\0\0\0\0\0\0\0Ð\f\v \0 \0¡ A€€ÀÿO\r\0 \0 §! +\b!\0 +\0!@@@@ AqAk\0\v  \0Ð\f\v  \0AÏš\f\v  \0К\f\v  \0AÏ\v Aj$\0\vA! \0&A \0(\b\v\vV#\0Ak"$\0@ \0E Er\r\0 \0 ?"\0E\r\0 \0-\0\0E\r\0   \0 A\fjÂ"  c \0 (\fF!\v Aj$\0 \vJ@ \0-\0\0"E  -\0\0"Gr\r\0@ -\0! \0-\0"E\r Aj! \0Aj!\0  F\r\0\v\v  k\v\b\0A \0\v$#\0Ak"$\0  6\f \0  ˆ Aj$\0\vÓ~@ \0)p"PE  \0)x \0(" \0(,"k¬|"WqE@ \0É"A\0N\r \0(,! \0(!\v \0B7p \0 6h \0   k¬|7xA\v B|! \0(! \0(\b!@ \0)p"P\r\0  }"  k¬Y\r\0  §j!\v \0 6h \0  \0(,"\0 k¬|7x \0 O@ Ak :\0\0\v \vÊ|#\0Ak"$\0@ \0½B ˆ§Aÿÿÿÿq"AûäÿM@ A€€ÀòI\r \0D\0\0\0\0\0\0\0\0A\0Ï!\0\f\v A€€ÀÿO@ \0 \0¡!\0\f\v \0 §! +\b!\0 +\0!@@@@ AqAk\0\v  \0AÏ!\0\f\v  \0Ð!\0\f\v  \0AÏš!\0\f\v  \0К!\0\v Aj$\0 \0\v±@ É\t" \0(\b"AÿÿÿÿqAkA \0,\0\v"A\0H""M@ \0(\0 \0 !@  At"@   ü\n\0\0\v \0,\0\v Av\vÀA\0H@ \0 6\f\v \0 Aÿ\0q:\0\v\v  AtjA\x006\0\f\v \0   k \0(  "\0A\0 \0  â\v\v¨@ 9" \0(\b"AÿÿÿÿqAkA\n \0,\0\v"A\0H""M@ \0(\0 \0 !@  @   ü\n\0\0\v \0,\0\v Av\vÀA\0H@ \0 6\f\v \0 Aÿ\0q:\0\v\v  jA\0:\0\0\f\v \0   k \0(  "\0A\0 \0  ä\v\v\0 \0-\0AÿF@ \0(\0\v\v\v\0 \0 A8œ\t\vÒ@@@ \0("E\r\0 \0("E@ \0 6\0 \0 (\x006 A\x006\0 \0 \0(\0"A\bj"6 (! \0 6\f \0  j6\b\f\v \0(\b k" (N\r\0 (\0!  \0(\x006\0 \0(! \0 6 \0 6\0 @ A\bj  ü\n\0\0\v \0(! \0 \0(\0"A\bj"6 \0  \0(\f kj6\f \0  (j6\b\f\v \0(\b! \0(\0"E \0(" A\bjGrE@A\0!  kAt"A\0H\r E\r A\bj"A\0 A\0J"E\r \0(\f! \0(  AŒÀ\0ê"E\r \0 6\0  6 \0 A\bj"6 \0   kj6\f \0  j6\b\f\vA\0!  k"A\0H\rA€\b! A€\bO@ At"A\0H\r\v A\bj"A\0 A\0J"E\r \0( A´À\0"E\r  6  \0(\x006\0 \0 6\0 \0(\f" \0("F@ \f\v  k"@ A\bj  ü\n\0\0\v \0(! \0(\f\v! \0 A\bj"6 \0   kj6\f \0  j6\b\vA!\v \v~#\0Aà\0k"$\0@@@@@@ \0A  AØ\0jA\0ÎE@ \r @ \0éE\r\v B\x007P B\x007H\f\v B\x007H  )X7P A6H\v  )P7@  )H78 \0   A8j"\r \0¹\v@  )P70  )H7( \0   A(j"\r\v E\r\0 \06  )P7  )H7   Aj"E@ \0¹\vE\r \06  )P7  )H7\b   A\bj"E\r\v \0 ª\f\v \r\0A\0!\f\vA\0!#\0A k"$\0 B\x007 B\x007 \0é@ A\x006  )7\b  )7\0A\0 \0   \r\v \0-\0AqE  Gr\v A j$\0E\r\0 \0A  AØ\0jAÎE\r\0 )X!\b \0 At \0 AtAAà\0C"E\r \0AÙ\v"\tB€€€€Z\r  \b78  \b7\b  6X  6(  \t§At"Ar60  Ar6\0 \0 ª \0-\0A q@ A•—AA\03 \0 Í\v \0 Ö \0A ’\v Aà\0j$\0 \v Aà\x006\0Aˆ÷\b(\0A§ê .\0\vAÓ®A¬¾AÍAé\0\0\vƒ#\0A k"$\0  \0 Ažj "\x006”   A\0Gk6˜ A\0Aü\v\0 A6L A‹6$ A6P  AŸj6,  A”j6T \0A\0:\0\0   A‰AŠ˜ A j$\0\v\r\0 \06((¼\vR#\0Ak"$\0@ E\r\0 \0 ?"\0E\r\0 \0-\0\0E\r\0  \0 A\fj™"   J \0 (\fF!\v Aj$\0 \v\0 E@AëÖA¦ü\0A\rA<\0\0\v \0 GE\vÂ(\v#\0Ak"\n$\0@@@@@@@@@@ \0AôM@A€…\v(\0"A \0A\vjAøq \0A\vI"Av"\0v"Aq@@ AsAq \0j"At"A¨…\vj"\0 (°…\v"(\b"F@A€…\v A~ wq6\0\f\v  \x006\f \0 6\b\v A\bj!\0  Ar6  j" (Ar6\f\v\v Aˆ…\v(\0"\bM\r @@A \0t"A\0 kr  \0tqh"At"A¨…\vj" (°…\v"\0(\b"F@A€…\v A~ wq"6\0\f\v  6\f  6\b\v \0 Ar6 \0 j"  k"Ar6 \0 j 6\0 \b@ \bAxqA¨…\vj!A”…\v(\0! A \bAvt"qE@A€…\v  r6\0 \f\v (\b\v!  6\b  6\f  6\f  6\b\v \0A\bj!\0A”…\v 6\0Aˆ…\v 6\0\f\v\vA„…\v(\0"\vE\r \vhAt(°‡\v"(Axq k! !@@ ("\0E@ ("\0E\r\v \0(Axq k"   I"! \0  ! \0!\f\v\v (!\t  (\f"\0G@ (\b" \x006\f \0 6\b\f\n\v (" Aj ("E\r Aj\v!@ ! "\0Aj! \0("\r\0 \0Aj! \0("\r\0\v A\x006\0\f\t\vA! \0A¿K\r\0 \0A\vj"Axq!A„…\v(\0"E\r\0A!\bA\0 k! \0AôÿÿM@ A& A\bvg"\0kvAq \0AtkA>j!\b\v@@@ \bAt(°‡\v"E@A\0!\0\f\vA\0!\0 A \bAvkA\0 \bAGt!@@ (Axq k" O\r\0 ! "\r\0A\0! !\0\f\v \0 ("   AvAqj("F \0 !\0 At! \r\0\v\v \0 rE@A\0!A \bt"\0A\0 \0kr q"\0E\r \0hAt(°‡\v!\0\v \0E\r\v@ \0(Axq k" I!   ! \0  ! \0("  \0(\v"\0\r\0\v\v E\r\0 Aˆ…\v(\0 kO\r\0 (!\b  (\f"\0G@ (\b" \x006\f \0 6\b\f\b\v (" Aj ("E\r Aj\v!@ ! "\0Aj! \0("\r\0 \0Aj! \0("\r\0\v A\x006\0\f\v Aˆ…\v(\0"M@A”…\v(\0!\0@  k"AO@ \0 j" Ar6 \0 j 6\0 \0 Ar6\f\v \0 Ar6 \0 j" (Ar6A\0!A\0!\vAˆ…\v 6\0A”…\v 6\0 \0A\bj!\0\f\t\v AŒ…\v(\0"I@AŒ…\v  k"6\0A˜…\vA˜…\v(\0"\0 j"6\0  Ar6 \0 Ar6 \0A\bj!\0\f\t\vA\0!\0 A/j"A؈\v(\0@Aàˆ\v(\0\f\vAäˆ\vB7\0A܈\vB€ €€€€7\0A؈\v \nA\fjApqAتժs6\0Aìˆ\vA\x006\0A¼ˆ\vA\x006\0A€ \v"j"A\0 k"q" M\r\bA¸ˆ\v(\0"@A°ˆ\v(\0"\b j"\t \bM  \tIr\r\t\v@A¼ˆ\v-\0\0AqE@@@@@A˜…\v(\0"@AÀˆ\v!\0@ \0(\0"\b M@  \b \0(jI\r\v \0(\b"\0\r\0\v\vA\0‰"AF\r !A܈\v(\0"\0Ak" q@  k  jA\0 \0kqj!\v  M\rA¸ˆ\v(\0"\0@A°ˆ\v(\0" j" M \0 Ir\r\v ‰"\0 G\r\f\v  k q"‰" \0(\0 \0(jF\r !\0\v \0AF\r A0j M@ \0!\f\vAàˆ\v(\0"  kjA\0 kq"‰AF\r  j! \0!\f\v AG\r\vA¼ˆ\vA¼ˆ\v(\0Ar6\0\v ‰"AFA\0‰"\0AFr \0 Mr\r \0 k" A(jM\r\vA°ˆ\vA°ˆ\v(\0 j"\x006\0A´ˆ\v(\0 \0I@A´ˆ\v \x006\0\v@A˜…\v(\0"@AÀˆ\v!\0@  \0(\0" \0("jF\r \0(\b"\0\r\0\v\f\vA…\v(\0"\0A\0 \0 ME@A…\v 6\0\vA\0!\0AĈ\v 6\0AÀˆ\v 6\0A …\vA6\0A¤…\vA؈\v(\x006\0Ä\vA\x006\0@ \0At" A¨…\vj"6°…\v  6´…\v \0Aj"\0A G\r\0\vAŒ…\v A(k"\0Ax kAq"k"6\0A˜…\v  j"6\0  Ar6 \0 jA(6Aœ…\vAèˆ\v(\x006\0\f\v  M  Kr\r \0(\fA\bq\r \0  j6A˜…\v Ax kAq"\0j"6\0AŒ…\vAŒ…\v(\0 j" \0k"\x006\0  \0Ar6  jA(6Aœ…\vAèˆ\v(\x006\0\f\vA\0!\0\f\vA\0!\0\f\vA…\v(\0 K@A…\v 6\0\v  j!AÀˆ\v!\0@@  \0(\0"G@ \0(\b"\0\r\f\v\v \0-\0\fA\bqE\r\vAÀˆ\v!\0@@ \0(\0" M@   \0(j"I\r\v \0(\b!\0\f\v\vAŒ…\v A(k"\0Ax kAq"k"6\0A˜…\v  j"6\0  Ar6 \0 jA(6Aœ…\vAèˆ\v(\x006\0  A\' kAqjA/k"\0 \0 AjI"A6 AȈ\v)\x007 AÀˆ\v)\x007\bAȈ\v A\bj6\0AĈ\v 6\0AÀˆ\v 6\0Ä\vA\x006\0 Aj!\0@ \0A6 \0A\bj \0Aj!\0 I\r\0\v  F\r\0  (A~q6   k"Ar6  6\0 AÿM@ AøqA¨…\vj!\0A€…\v(\0"A Avt"qE@A€…\v  r6\0 \0\f\v \0(\b\v! \0 6\b  6\fA\f!A\b\f\vA!\0 AÿÿÿM@ A& A\bvg"\0kvAq \0AtrA>s!\0\v  \x006 B\x007 \0AtA°‡\vj!@@A„…\v(\0"A \0t"qE@A„…\v  r6\0  6\0\f\v A \0AvkA\0 \0AGt!\0 (\0!@ "(Axq F\r \0Av! \0At!\0  Aqj"("\r\0\v  6\v  6A\b! "!\0A\f\f\v (\b"\0 6\f  6\b  \x006\bA\0!\0A!A\f\v j 6\0  j \x006\0\vAŒ…\v(\0"\0 M\r\0AŒ…\v \0 k"6\0A˜…\vA˜…\v(\0"\0 j"6\0  Ar6 \0 Ar6 \0A\bj!\0\f\vAÔð\nA06\0A\0!\0\f\v \0 6\0 \0 \0( j6 Ax kAqj"\b Ar6 Ax kAqj"  \bj"k!@A˜…\v(\0 F@A˜…\v 6\0AŒ…\vAŒ…\v(\0 j"\x006\0  \0Ar6\f\vA”…\v(\0 F@A”…\v 6\0Aˆ…\vAˆ…\v(\0 j"\x006\0  \0Ar6 \0 j \x006\0\f\v ("\0AqAF@ \0Axq!\t (\f!@ \0AÿM@ (\b" F@A€…\vA€…\v(\0A~ \0Avwq6\0\f\v  6\f  6\b\f\v (!@  G@ (\b"\0 6\f  \x006\b\f\v@ ("\0 Aj ("\0E\r Aj\v!@ ! \0"Aj! \0("\0\r\0 Aj! ("\0\r\0\v A\x006\0\f\vA\0!\v E\r\0@ ("\0At"(°‡\v F@ A°‡\vj 6\0 \rA„…\vA„…\v(\0A~ \0wq6\0\f\v@  (F@  6\f\v  6\v E\r\v  6 ("\0@  \x006 \0 6\v ("\0E\r\0  \x006 \0 6\v  \tj!  \tj"(!\0\v  \0A~q6  Ar6  j 6\0 AÿM@ AøqA¨…\vj!\0A€…\v(\0"A Avt"qE@A€…\v  r6\0 \0\f\v \0(\b\v! \0 6\b  6\f  \x006\f  6\b\f\vA! AÿÿÿM@ A& A\bvg"\0kvAq \0AtrA>s!\v  6 B\x007 AtA°‡\vj!\0@@A„…\v(\0"A t"qE@A„…\v  r6\0 \0 6\0\f\v A AvkA\0 AGt! \0(\0!@ "\0(Axq F\r Av! At! \0 Aqj"("\r\0\v  6\v  \x006  6\f  6\b\f\v \0(\b" 6\f \0 6\b A\x006  \x006\f  6\b\v \bA\bj!\0\f\v@ \bE\r\0@ ("At"(°‡\v F@ A°‡\vj \x006\0 \0\rA„…\v A~ wq"6\0\f\v@  \b(F@ \b \x006\f\v \b \x006\v \0E\r\v \0 \b6 ("@ \0 6  \x006\v ("E\r\0 \0 6  \x006\v@ AM@   j"\0Ar6 \0 j"\0 \0(Ar6\f\v  Ar6  j" Ar6  j 6\0 AÿM@ AøqA¨…\vj!\0A€…\v(\0"A Avt"qE@A€…\v  r6\0 \0\f\v \0(\b\v! \0 6\b  6\f  \x006\f  6\b\f\vA!\0 AÿÿÿM@ A& A\bvg"\0kvAq \0AtrA>s!\0\v  \x006 B\x007 \0AtA°‡\vj!@@ A \0t"qE@A„…\v  r6\0  6\0  6\f\v A \0AvkA\0 \0AGt!\0 (\0!@ "(Axq F\r \0Av! \0At!\0  Aqj"("\r\0\v  6  6\v  6\f  6\b\f\v (\b"\0 6\f  6\b A\x006  6\f  \x006\b\v A\bj!\0\f\v@ \tE\r\0@ ("At"(°‡\v F@ A°‡\vj \x006\0 \0\rA„…\v \vA~ wq6\0\f\v@  \t(F@ \t \x006\f\v \t \x006\v \0E\r\v \0 \t6 ("@ \0 6  \x006\v ("E\r\0 \0 6  \x006\v@ AM@   j"\0Ar6 \0 j"\0 \0(Ar6\f\v  Ar6  j" Ar6  j 6\0 \b@ \bAxqA¨…\vj!\0A”…\v(\0!A \bAvt" qE@A€…\v  r6\0 \0\f\v \0(\b\v! \0 6\b  6\f  \x006\f  6\b\vA”…\v 6\0Aˆ…\v 6\0\v A\bj!\0\v \nAj$\0 \0\v(#\0Ak"$\0  :\0 \0 AjAð Aj$\0\v@#\0Ak"$\0 \0…"E@  \09Aj6\0Aˆ÷\b(\0A§ê .\0\v Aj$\0 \v­~@@ \0@ @ \0A\0†"(ô\r )°" A\bk"(\0A\bj­"T\r   }"7° (ÀAO@ A-   )¸ ¸\v  \0(\0\v\vAˆÕAë½AŒAƒ \0\0\vA‡ÓAë½A“Aƒ \0\0\vA¾©Aë½AœAƒ \0\0\v\t\0 \0A\0ê\vÑ\n\t~#\0Aà\0k"$\0 Bÿÿÿÿÿÿ?ƒ!\n  …B€€€€€€€€€ƒ!\v Bÿÿÿÿÿÿ?ƒ"\fB ˆ! B0ˆ§Aÿÿq!@@ B0ˆ§Aÿÿq"\tAÿÿkA‚€~O@ AÿÿkA€~K\r\v P Bÿÿÿÿÿÿÿÿÿ\0ƒ"\rB€€€€€€Àÿÿ\0T \rB€€€€€€Àÿÿ\0QE@ B€€€€€€ „!\v\f\v P Bÿÿÿÿÿÿÿÿÿ\0ƒ"B€€€€€€Àÿÿ\0T B€€€€€€Àÿÿ\0QE@ B€€€€€€ „!\v !\f\v  \rB€€€€€€Àÿÿ\0…„P@  „P@B€€€€€€àÿÿ\0!\vB\0!\f\v \vB€€€€€€Àÿÿ\0„!\vB\0!\f\v  B€€€€€€Àÿÿ\0…„P@  \r„B\0!P@B€€€€€€àÿÿ\0!\v\f\v \vB€€€€€€Àÿÿ\0„!\v\f\v  \r„P@B\0!\f\v  „P@B\0!\f\v \rBÿÿÿÿÿÿ?X@ AÐ\0j  \f  \f \fP"yBÀ\0B\0 |§"Ak—A k! )X"\fB ˆ! )P!\v Bÿÿÿÿÿÿ?V\r\0 A@k  \n  \n \nP"\byBÀ\0B\0 \b|§"\bAk—  \bkAj! )H!\n )@!\v  \tj jAÿÿ\0k!@ \nB†"B ˆB€€€€\b„" B ˆ"~" B†"B ˆ"\n B€€„"\r~|" T­  B1ˆ „Bÿÿÿÿƒ" \fBÿÿÿÿƒ"\f~|" T­|  \r~|   B€€þÿƒ" \f~"  \n~|" T­    Bÿÿÿÿƒ"~|"V­||"V­|  \r~"  \f~|" T­B † B ˆ„|   B †|"V­|  \r ~"\r \n \f~|"\f  ~|"  ~|"B ˆ  V­ \f \rT­  \fT­||B †„|" T­|    ~"\f  \n~|"B ˆ  \fT­B †„|"\n T­ \n B †|" \nT­||"\n T­| \n  B †"  ~|" T­|" T­|" \nT­|"B€€€€€€À\0ƒPE@ Aj!\f\v B?ˆ B† B?ˆ„! B† B?ˆ„! B†! B†„!\v AÿÿN@ \vB€€€€€€Àÿÿ\0„!\vB\0!\f\v~ A\0L@A k"Aÿ\0M@ A0j   Aÿ\0j"— A j   — Aj   Ö    Ö )0 )8„B\0R­ ) )„„! )( )„! )\0! )\b\f\vB\0!\f\v Bÿÿÿÿÿÿ?ƒ ­B0†„\v \v„!\v P B\0Y B€€€€€€€€€QE@ \v B|"P­|!\v\f\v  B€€€€€€€€€…„PE@ !\f\v \v  Bƒ|" T­|!\v\v \0 7\0 \0 \v7\b Aà\0j$\0\v¤ \0("!@@@@ E\r E\r (\0"E\r  G@ (" G\r\f\v\v@ \0-\0\0Aq@ E  Fr\rAùA\04\f\v E  Fq\r\0 \0  A\0GÇ\v !\v \vA«×A¦ü\0A\fA<\0\0\vAëÖA¦ü\0A\rA<\0\0\v \0 \0@ \0( \0( \0( \0\v\v \0 *"  \0 „\v\v=A \0 \0AM!@@ V"\0\r\0Aܘ\v(\0"E\r\0 \r\0\f\v\v \0E@£\0\v \0\vr#\0Ak"$\0  \x006 \0(\0AG@  Aj6\f  A\fj6\b A\bj!@ \0(\0AF\r\0\v \0(\0E@ \0A6\0 ´\t \0A6\0\v\v \0( Aj$\0Ak\v:@@ E\r\0 \0+ ú" G\r\0 iE\r\0 \0  Ê\f\v \0  Ï\t\v\vŽ\b\v \0E@ V\v A@O@AÔð\nA06\0A\0\vA A\vjAxq A\vI! \0A\bk"("\tAxq!\b@ \tAqE@ A€I\r Aj \bM@ ! \b kAàˆ\v(\0AtM\r\vA\0\f\v  \bj!@  \bM@ \b k"AI\r   \tAqrAr6  j" Ar6  (Ar6  »\f\vA˜…\v(\0 F@AŒ…\v(\0 \bj"\b M\r   \tAqrAr6  j" \b k"Ar6AŒ…\v 6\0A˜…\v 6\0\f\vA”…\v(\0 F@Aˆ…\v(\0 \bj" I\r@  k"AO@   \tAqrAr6  j"\b Ar6  j" 6\0  (A~q6\f\v  \tAq rAr6  j" (Ar6A\0!\bA\0!\vA”…\v \b6\0Aˆ…\v 6\0\f\v ("Aq\r Axq \bj"\v I\r \v k!\f (\f!@ AÿM@ (\b" F@A€…\vA€…\v(\0A~ Avwq6\0\f\v  6\f  6\b\f\v (!\n@  G@ (\b" 6\f  6\b\f\v@ (" Aj ("E\r Aj\v!\b@ \b! "Aj!\b ("\r\0 Aj!\b ("\r\0\v A\x006\0\f\vA\0!\v \nE\r\0@ ("At"(°‡\v F@ A°‡\vj 6\0 \rA„…\vA„…\v(\0A~ wq6\0\f\v@  \n(F@ \n 6\f\v \n 6\v E\r\v  \n6 ("@  6  6\v ("E\r\0  6  6\v \fAM@  \tAq \vrAr6  \vj" (Ar6\f\v   \tAqrAr6  j" \fAr6  \vj" (Ar6  \f»\v !\v \v"@ A\bj\v V"E@A\0\v  \0A|Ax \0Ak(\0"Aq Axqj"   K¤ \0 \vo\0@@ (\0AqAF@ \0 /"\rA\0!@ E@ \0 „\f\v \0 È\v"E\r (( F\r\0\v\f\v@ \0 È"E\r (( F\r\0\v\v \vA\0\v \0#! \0& \0 \0(\0\v j\vù#\0A0k"$\0  6\f  6,  6@@@@@A\0A\0  R"A\0H\r\0 Aj!@ \0E \0#k" K\r\0  k! \0&@A! AF\r\v \0 ¡A\0!\v B\x007 B\x007  AOq\r Aj!    \0d\v   (,R"G A\0Nq\r A\0L\r\0 \0&@ A€O\r@ E\r\0 \0d E\r\0 Aj ü\n\0\0\v \0 \0-\0 j:\0 \0#AI\rAã¶Aòü\0AêA\0\0\v \r \0 \0( j6\v A0j$\0\vA–§Aòü\0AÝA\0\0\vAýžAòü\0AâA\0\0\vAÐÎAòü\0AåA\0\0\vAþžAòü\0AìA\0\0\v{@ \0E Er\r\0A4V"E\r\0 A\x006 B\x007\0  \0Ÿ B\x007, B\x007$ (!\0 B\x007\f  \x006\b B\x007 A\x006 (\0!\0  6  \x006\0 !\v \vÝ#\0Ak"$\0 \0 \0(Aj6  \x006\f@A¤‹\v(\0A ‹\v(\0"\0kAu M@ Aj"\0A¤‹\v(\0A ‹\v(\0"kAu"K@#\0A k"$\0@ \0 k"A¨‹\v(\0A¤‹\v(\0"kAuM@A ‹\v ·\t\f\v A ‹\v(\0kAu j"\0A€€€€O@£\0\vAÿÿÿÿA¨‹\v(\0A ‹\v(\0k"Au" \0 \0 I AüÿÿÿO!A¤‹\v(\0A ‹\v(\0kAu!A\0! A\fj"\0A¬‹\v6 \0A\x006\f @A¬‹\v ¥\t!\v \0 6\0 \0  Atj"6\b \0  Atj6\f \0 6 \0(\b" Atj!@  G@ A\x006\0 Aj!\f\v\v \0 6\bA ‹\v \0ë \0¾\v \0(\0"@ \0(\f \0( ¤\t\v\v A j$\0\f\v \0 I@A¤‹\v  \0Atj6\0\v\vA ‹\v(\0 \0\v Atj(\0"\0E\r\0 \0 \0("Ak6 \r\0 \0 \0(\0(\b\0\v (\f!\0 A\x006\fA ‹\v(\0 Atj \x006\0 (\f!\0 A\x006\f@ \0E\r\0 \0 \0("Ak6 \r\0 \0 \0(\0(\b\0\v Aj$\0\v\0 \0\v\0 \0E@A\0\v \0A\bk)\0B?ˆ§\v% \0(D"E@A\0\v (<" \0A\b (\0\0\v\0 \0(<"\0A\0A€ \0(\0\0\v\0 \0E Er  \0 ?\v\vÊ#\0AÐ\0k"$\0@@ ™D{®Gázt?c@ \0AğAð\f\v  9\0 Aj"A2Aá† ß \0 Aj@ A.¬"\0E\r\0 \0,\0"A0kA\tK\r \0,\0"A0kA\tK\r \0-\0\r A0G\r\0 \0 k"\0 \0Aj A0F\f\v Aj9\vð\v AÐ\0j$\0\vAÄ­Aí¾AôAÿ*\0\0\vù#\0A0k"$\0  6\f  6,  6@@@@@A\0A\0  R"A\0H\r\0 Aj!@ \0E \0#k" K\r\0  k! \0&@A! AF\r\v \0 A\0!\v B\x007 B\x007  AOq\r Aj!    \0d\v   (,R"G A\0Nq\r A\0L\r\0 \0&@ A€O\r@ E\r\0 \0d E\r\0 Aj ü\n\0\0\v \0 \0-\0 j:\0 \0#AI\rAã¶Aòü\0AêA\0\0\v \r \0 \0( j6\v A0j$\0\vA–§Aòü\0AÝA\0\0\vAýžAòü\0AâA\0\0\vAÐÎAòü\0AåA\0\0\vAþžAòü\0AìA\0\0\vs \0# \0EO@ \0Aþ\v \0#!@ \0&@ \0 j :\0\0 \0 \0-\0Aj:\0 \0#AI\rAã¶Aòü\0A¯AŸ³\0\0\v \0(\0 j :\0\0 \0 \0(Aj6\v\v\v\0 \0 Aú\v\v\0 \0 Aï\v\0 \0,\0\vA\0H@ \0(\b \0(\0\v \0\vù#\0A0k"$\0  6\f  6,  6@@@@@A\0A\0  R"A\0H\r\0 Aj!@ \0E \0#k" K\r\0  k! \0&@A! AF\r\v \0 þA\0!\v B\x007 B\x007  AOq\r Aj!    \0d\v   (,R"G A\0Nq\r A\0L\r\0 \0&@ A€O\r@ E\r\0 \0d E\r\0 Aj ü\n\0\0\v \0 \0-\0 j:\0 \0#AI\rAã¶Aòü\0AêA\0\0\v \r \0 \0( j6\v A0j$\0\vA–§Aòü\0AÝA\0\0\vAýžAòü\0AâA\0\0\vAÐÎAòü\0AåA\0\0\vAþžAòü\0AìA\0\0\vD@ \06 (G\r\0 \0 )\bî" Er\r\0A\0! \0(D"E\r\0 \0   t"«\r\v \vM@ \0   ŒE\r\0 \0(\f" \0(\bF@ \0PE\r \0(\f!\v \0 Aj6\f A\0:\0\0 \0(!\v \vÆ#\0Ak"$\0  6\f@ -\0DE@ \0(œ F@ \0A¨j! \0A¬j\f\v \0(´"Aj\v!@  \0(86\b  A\fj  A\bj \0(< (8\b\0  (\f6\0 \0( \0(8" (\b k \0(\\\0  (\f6\0AK\r\0\v\f\v \0(   k \0(\\\0\v Aj$\0\v" \0  A\0!"  \0  Añ€!\v\v.#\0Ak"$\0 Aė(\x006\f  A\fjA \0à Aj$\0\v\0AA\0 \0A \09"\0 7 \0G\vÒ~ E@A\v@ \0í(\0"\0  ¾"E\r\0 A\bj" G\r\0  )\0"\nB}Bÿÿÿÿÿÿÿÿÿ\0ƒ"\v \nB€€€€€€€€€ƒ„7\0 \vB\0R\r\0 \0@ AG@  \nB?ˆ§Î!A\0! \0(\0"@A \0(\bt!\v Ak!\b@  F\r@@   j \bq"\tAtj(\0"Aj\0\v  )\0B?ˆ§ ‰\bE\r\0 \0(@  \0(\0 \tAtjA6\0 \0 \0(Ak6\f\vA…˜AîºA›Aú‰\0\0\v Aj!\f\0\v\0\vAÞÛAîºA†Aú‰\0\0\vAÆÔAîºA„Aú‰\0\0\vA\0A \và~#\0Ak"$\0 \06!@@@@@ \0A  A\bjA\0ÎE\r\0 \0 )\bî"\r E \0 Fr\r\0  )\bî"E\r \0 At!\f\vA\0! E\r\v \0A  A\bjAÎE@A\0!\f\v )\b! \0AÙ\v"B€€€€Z\rAÀ\0H" 7\b  (\0A\fq §AtrAr6\0  \066 \06-\0A q@ A•—AA\03\v \0!@  «\r (D"\r\0\v \06-\0A q@ \0 Í\v \0 Ö \0 ¾E\r \0A ’\v Aj$\0 \vAÓ®AؾAÍ\0Aœ \0\0\vAͤAؾA¥A° \0\0\v\0…\nA˜Ð\n(\0k·D\0\0\0\0€„.A£\v\0 \0  l"\0 \0  \0-\0\0 \v\vÛ\n\b|#\0A€k"$\0 \0A(AØ\0 \0(\0AqAFj(\0"+!\r \0 ð!\t \0!@ "\v("\n(x"@ \n-\0p\r\v\v@@ -\0\b\r\0 ("(ô ("\b(ôG\r\0   (ø \b(øJ"!\b   !\f\v !\b\v \nAÐ\0A( \b \vA(AØ\0 \v(\0AqAFj(\0F"j(\0!\v \nAÖ\0A. j-\0\0!A\0!@ \nA.AÖ\0 j-\0\0E\r\0 \b((\b"\fE\r\0 \f((\fE\r\0 \nA(AÐ\0 j(\0! A8jA\0AÀ\0ü\v\0  64  \b60 Ak!\n@@  \nO\r\0   Atj"\f+0 \b("+¡"9  \f+8 +¡"9( (\b((\f!  9  9 A0j Aj \0\0E\r\0 Aj!\f\v\v A0j \b  AtjAñ\v@@ E\r\0 ((\b"\bE\r\0 \b((\fE\r\0 A8jA\0AÀ\0ü\v\0  \v64  60 Ak"!@@ E\r\0   Atj"\v+\0 ("\b+¡"9  \v+\b \b+¡"9( \b(\b((\f!\b  9\b  9\0 A0j  \b\0\0E\r\0 Ak!\f\v\v A0j   AtjA\0ñ\f\v Ak"!\v@  "\bK@  \bAtj"\v+\0  \bAj"Atj"\n+\0¡" ¢ \v+\b \n+\b¡" ¢ Díµ ÷ư>c\r\v\v@@ E\r\0  Atj"+\0 +0¡" ¢ +\b +8¡" ¢ Díµ ÷ư>cE\r\0 Ak!\f\v\v \0!@ "((x"\r\0\vA\0! -\0\bE@  (\0\0!\v  A0j A jî  (\0@ A\x006 \v \0A(AØ\0 \0(\0AqAFj(\0 (\0@ A\x0060\v @ (0!\0  ( 60  \x006 \v@ -\0\tAF@ ( "\0 (0"rE\r@@@ \0E E  \bGrrE@  Atj"+\b! +8! +\0! +0!  ü!  ¡" ¢  ¡" ¢ Ÿ"D\0\0\0\0\0\0\b@£"  \0ü"    f"!   !  a@  d@   !  ¡!\f\v  ¡!   !\f\v|  c@  ¡!   \f\v   !  ¡\v! "!\f\v \0@  \0ü!  Atj"+\0" +0"¡" ¢ +\b" +8"¡" ¢ ŸDÍÌÌÌÌÌì?¢"   f! |  a@  d@  ¡! \f\v   ! \f\v !  ¡     c\v98  90  9  9  )07  )87( \t 9( \t 9 \t \x006\f\v E\r  ü!  \bAtj"\0+\0" \0+0"¡" ¢ \0+\b" \0+8"¡" ¢ ŸDÍÌÌÌÌÌì?¢"   f!|  a@  d@   ! \f\v  ¡! \f\v !     ¡  d\v! \0 9\0 \0 9\bA! \0 9 \0 9 \0 9( \0 9 \t 6\bA\f\v "!\v  9\0  9\b  9  9  98  90  )07 A(!  )87( \t 9 \t 9 \t 6\b \t \x006\fA \v \tj 9\0  \tj 9\0\v\f\v (0"\0@   \b  \t \0ë!\b\v ( "\0E\r\0   \b  \t \0ì!\v Aj! A@k! \b!@@  M\r\0 \t(\0  \bkAtj"  Atj"\0)\b7\b  \0)\x007\0  \0)\b78  \0)\x0070 Aj"\0 O\r\0 \t(\0 \0 \bkAtj"  \0Atj"\0)\b7\b  \0)\x007\0  \0)\b7\b  \0)\x007\0 \t(\0 Aj"\0 \bkAtj"  \0Atj"\0)\b7\b  \0)\x007\0  \0)\b7X  \0)\x007P   Aj"Atj"\0)\b7h  \0)\x007` \r(Aj A0jþ\f\v\v \t  \bkAj6 A€j$\0\vê~#\0Ak"$\0@@@ E\r\0 \0A\0  A\bjA\0ÎE\r\0 \0 )\b¦\v"\r\vA\0! E\r\0 \0A\0  A\bjAÎE\r\0 \0 )\b"¦\v"E@AAÐ\0C"E\r  \0(L6L  \0("6  \x006D  A÷q:\0 \0(H!  7\b  6H à\v!\v \0A\0 ’\v Aj$\0 \v AÐ\x006\0Aˆ÷\b(\0A§ê .\0\v“@@@@ (\bE@ E\r AÀ\x006\b A:\0  (A€A¿="6\0 \r A\x006\bA\0\v \0 Á"\rA\0 (\b"\tkq!\n \r \tAk"q! Av!\v (\0!\f@ \f Atj(\0"@ (\0! !@ -\0\0" -\0\0F@ E\r Aj! Aj!\f\v\v \bAÿqE@ \n -\0Akv \vqAr!\b\v  \bAÿq"k \tA\0  Kj!\f\v\vA\0! E\r (\f -\0"AkvE\r Aj"Aÿq"AK AKr\r (A t"Aç="\bE\rA t"Ak!\t @ \bA\0 ü\v\0\v \tAv!\n Ak!\vA\0 k!\fA\0!@ (\b K@ At" (\0j(\0"@ \0 (\0Á" \tq!  \fq \vv \nqAr!A\0!@ \b Atj"(\0@    Aÿq"Aÿq"k A\0  Ij!\f\v\v  (\0 j(\x006\0\v Aj!\f\v\v ( (\0A÷=Y  6\b  :\0  \b6\0 \t \rq! \f \rq \vv \nqAr!\0A\0!@ \b Atj(\0E\r   \0 Aÿq"Aÿq"k A\0  Kj!\f\0\v\0\v A\0A€ü\v\0 \0 Á (\bAkq!\v ( A„>!\0 At" (\0j \x006\0 (\0 j(\0"\0E\r @ \0A\0 ü\v\0\v (\0 Atj"\0(\0 6\0  (\fAj6\f \0(\0!\v \vA\0\v»~@@ AwK\r\0 \0A\0†"(ô\r A\bj"­" )°B…V\r\0   ­\bE\r\0  \0(\f\0"\0E\r\0 \0 6\0  )° |"7° (ÀAO@ A+   )¸" T~  7¸  \v ¸\v \0A\bj!\v \vA‡ÓAë½AÜAý³\0\0\vcA!@ \0E\r\0 \0($A\0J\r\0 \0((@ \0A\0¬\v \0A\0AÀ\0 \0( (\0\0 \0ƒA\0J\r\0 \0(A\0J@ \0(\v \0A\0!\v \vA \0-\0\tAq@ \0A\0¿\v@ \0("A\0N\r\0 \0-\0\bA\fqE\r\0 \0 \0(\fë\b"6\v \vu~ \0  ~  ~| B ˆ" B ˆ"~| Bÿÿÿÿƒ" Bÿÿÿÿƒ"~"B ˆ  ~|"B ˆ|  ~ Bÿÿÿÿƒ|"B ˆ|7\b \0 Bÿÿÿÿƒ B †„7\0\v! \09Aj"V"E@A\0\v  \0 ¤\v§~ \0½Bÿÿÿÿÿÿÿÿÿ\0ƒB€€€€€€øÿ\0T ½Bÿÿÿÿÿÿÿÿÿ\0ƒB€€€€€€€øÿ\0XqE@ \0  \v ½"B ˆ§"A€€Àÿk §"rE@ \0Ì\v AvAq" \0½"B?ˆ§r!@@@@@ B ˆ§Aÿÿÿÿq" §rE@ Ak\v Aÿÿÿÿq" rE@D-DTû!ù? \0¦\v A€€ÀÿG\r A€€ÀÿG\r At+àÍ\b\vD-DTû!\t@\vD-DTû!\tÀ\v A€€ÀÿG A€€€ j OqE@D-DTû!ù? \0¦\v| @D\0\0\0\0\0\0\0\0 A€€€ j I\r\v \0 £™Ì\v!\0@@@ Ak\0\v \0š\vD-DTû!\t@ \0D\\3&¦¡¼ ¡\v \0D\\3&¦¡¼ D-DTû!\tÀ \v At+€Î\b!\0\v \0\vä|\b~D\0\0\0\0\0\0ð?!@@@ ½"B ˆ"§"Aÿÿÿÿq"\t §"\frE\r\0 \0½"§"E B ˆ"B€€ÀÿQq\r\0 §"\vAÿÿÿÿq"\nA€€ÀÿK \nA€€ÀÿF A\0Gqr \tA€€ÀÿKrE \fE \tA€€ÀÿGrqE@ \0  \v@@@@@A\0 B\0Y\r\0A \tAÿÿÿ™K\r\0A\0 \tA€€ÀÿI\r\0 \tAv!\r \tA€€€ŠI\rA\0 \fA³\b \rk"v"\r t \fG\r\0A \rAqk\v! \f\r \tA€€ÀÿG\r \nA€€Àÿk rE\r \nA€€ÀÿI\r D\0\0\0\0\0\0\0\0 B\0Y\v \f\r \tA“\b \rk"\fv"\r \ft \tG\r\0A \rAqk!\v \tA€€ÀÿF@ B\0Y@ \0\vD\0\0\0\0\0\0ð? \0£\v B€€€€Q@ \0 \0¢\v B€€€ÿR B\0Sr\r\0 \0Ÿ\v \0™! \r@ \vA\0H@ \vA€€€€xF \vA€€Àÿ{Fr \vA€€@Fr\r\f\v \vE \vA€€ÀÿFr\r\0 \vA€€ÀÿG\r\vD\0\0\0\0\0\0ð? £  B\0S! B\0Y\r  \nA€€ÀÿkrE@  ¡"\0 \0£\v š  AF\vD\0\0\0\0\0\0\0\0 š B\0Y\v@ B\0Y\r\0@@ \0\v \0 \0¡"\0 \0£\vD\0\0\0\0\0\0ð¿!\v| \tA€€O@ \tA€ÀŸO@ \nAÿÿ¿ÿM@D\0\0\0\0\0\0ðD\0\0\0\0\0\0\0\0 B\0S\vD\0\0\0\0\0\0ðD\0\0\0\0\0\0\0\0 A\0J\v \nAþÿ¿ÿM@ Dœu\0ˆ<ä7~¢Dœu\0ˆ<ä7~¢ DYóøÂn¥¢DYóøÂn¥¢ B\0S\v \nA€ÀÿO@ Dœu\0ˆ<ä7~¢Dœu\0ˆ<ä7~¢ DYóøÂn¥¢DYóøÂn¥¢ A\0J\v D\0\0\0\0\0\0ð¿ "\0DDß]ø\v®T>¢ \0 \0¢D\0\0\0\0\0\0à? \0 \0D\0\0\0\0\0\0п¢DUUUUUUÕ? ¢¡¢Dþ‚+eG÷¿¢ "  \0D\0\0\0`G÷?¢" ½B€€€€pƒ¿"\0 ¡¡\f\v D\0\0\0\0\0\0@C¢"\0  \nA€€À\0I"\t! \0½B ˆ§ \n \t"\fAÿÿ?q"\nA€€Àÿr!\v \fAuAÌwAx \tj!\fA\0!\t@ \nA±I\r\0 \nAúì.I@A!\t\f\v \nA€€€ÿr!\v \fAj!\f\v \tAt"\n+€Í\b ½Bÿÿÿÿƒ \v­B †„¿" \n+ðÌ\b"¡"D\0\0\0\0\0\0ð?   £"¢"½B€€€€pƒ¿"\0 \0 \0¢"\bD\0\0\0\0\0\0\b@    \0 \tAt \vAvjA€€ €j­B †¿"¢¡ \0  ¡  ¢¡¢"  \0 ¢  ¢"\0 \0¢ \0 \0 \0 \0 \0DïNEJ(~Ê?¢DeÛɓJ†Í? ¢DA©`tÑ? ¢DM&QUUÕ? ¢Dÿ«oÛ¶mÛ? ¢D33333ã? ¢ " ½B€€€€pƒ¿"\0¢"  \0¢   \0D\0\0\0\0\0\0\bÀ  \b¡¡¢ " ½B€€€€pƒ¿"\0Dõ[à/>¾¢  \0 ¡¡Dý:Ü\tÇî?¢  " \n+Í\b"  \0D\0\0\0à\tÇî?¢"   \f·" ½B€€€€pƒ¿"\0 ¡ ¡ ¡¡\v!  B€€€€pƒ¿"¡ \0¢  ¢ " \0 ¢" "\0½"§!\t@ B ˆ§"\nA€€À„N@ \nA€€À„k \tr\r Dþ‚+eG—<  \0 ¡dE\r\f\v \nA€øÿÿqA€˜Ã„I\r\0 \nA€è¼ûj \tr\r  \0 ¡eE\r\0\f\vA\0!\t | \nAÿÿÿÿq"\vA€€ÿO~A\0A€€À\0 \vAvAþkv \nj"\nAÿÿ?qA€€À\0rA“\b \nAvAÿq"\vkv"\tk \t B\0S!\t  A€€@ \vAÿku \nq­B †¿¡" ½ \vB€€€€pƒ¿"\0D\0\0\0\0C.æ?¢"  \0 ¡¡Dï9úþB.æ?¢ \0D9l¨\fa\\ ¾¢ " "\0 \0 \0 \0 \0¢"    DФ¾ri7f>¢DñkÒÅA½»¾ ¢D,Þ%¯jV? ¢D“½¾lÁf¿ ¢D>UUUUUÅ? ¢¡"¢ D\0\0\0\0\0\0\0À £ \0  \0 ¡¡"\0¢ \0 ¡¡D\0\0\0\0\0\0ð? "\0½"B ˆ§ \tAtj"\nAÿÿ?L@ \0 \t´\f\v Bÿÿÿÿƒ \n­B †„¿\v¢!\v \v Dœu\0ˆ<ä7~¢Dœu\0ˆ<ä7~¢\v DYóøÂn¥¢DYóøÂn¥¢\vg#\0Ak"$\0 \0 (\x006\0 (\b! (! B\x007  \0(6\b \0 6  \0(\b6\f \0 6\b A\bj® \0 +9 Aj$\0\vÌ|#\0Ak"$\0Aà\0H" (0Ar60  (\0A|qAr6\0A¸H!  \x006X  6  6(D\0\0ÀÿÿÿßA!@ D\0\0ÀÿÿÿßAdE@ !\f\v Aÿÿÿÿ6\b  9\0Aê 4\v  6œ  D\0\0\0\0\0\0à?D\0\0\0\0\0\0à¿ D\0\0\0\0\0\0\0\0f ü6¬ ‰\r Aj$\0 \v\0A\0\v•\b|#\0AÀk"$\0@ AF@D\0\0\0\0\0\0ð? ¡!\rA!A!@ AFE@  Aà\0lj"\nAà\0k!\bA\0!@  FE@ \n At"\tj"\v \r \b \tj"\t+\0¢  \b Aj"Atj"\f+\0¢ 9\0 \v \r \t+\b¢  \f+\b¢ 9\b\f\v\v Ak! Aj!\f\v\v@ E\r\0A\0!@ AF\r  Atj"  Aà\0lj")\b7\b  )\x007\0 Aj!\f\0\v\0\v@ E\r\0A\0!@ AF\r  At"j" A kAà\0lj j")\b7\b  )\x007\0 Aj!\f\0\v\0\v \0 )¨7\b \0 ) 7\0 AÀj$\0  At"j"\b  j")\b7\b \b )\x007\0 Aj!\f\v\v\v?@ \0("(ð"E \0 FrE@ "\0((ð"E\r  6ð !\0\f\v\v \0\v§#\0Ak"$\0@@ \0@ \0(\b"E\r E\r  \0)\b7\b  \0)\x007\0 \0  Ak ·! @   ü\n\0\0\v \0 \0(\bAk6\b Aj$\0\vA¨ÔAÕ¸A˜AÀÅ\0\0\vAö—AÕ¸A™AÀÅ\0\0\vAÓÕAÕ¸AšAÀÅ\0\0\v\0 \0-\0\0A qE@   \0ø\t\v\v)~A ó\nA ó\n)\0B­þÕäԅý¨Ø\0~B|"\x007\0 \0B!ˆ§\v¿@ (L"A\0N@ E\rA¼ò\n(\0 AÿÿÿÿqG\r\v@ \0Aÿq" (PF\r\0 (" (F\r\0  Aj6  \0:\0\0 \v  ¢\v AÌ\0j"€\n@@ \0Aÿq" (PF\r\0 (" (F\r\0  Aj6  \0:\0\0\f\v  ¢!\v ÿ\t \v•~@ \06 6G\r\0@@@ (\0Aq\0\v@ \0 F"\r (D"\r\0\v\f\v@ \0 )\b"î"Ar\r\0A\0! \0 \06"F\r\0  î"E\r\0 \0 At !\v A\0G\v \0 A\0›A\0G!\v \vD| \0A\0 \0A\0J!\0@ \0 FE@  At"j+\0  j+\0¢  ! Aj!\f\v\v \v7 \0("@ !\0@ \0"(\0"\0\r\0\v \v@ \0 \0(\b"\0(\0G\r\0\v \0\v:@ E\r\0 \0í(\0 A¾"E A\bj Gr\r\0 \0 ™\v \0 A\0Ç\v\f\0A˜Ð\n…\n6\0\v› \0(\b"A€ q@ \0(\f\v@ Aq@ \0(" \0(Atj!@  O\r (\0"@@ E@ "!\f\v  6\0\v@ "(\0"\r\0\v  6\0 !\v Aj!\f\0\v\0\v \0(\f"E@A\0!\f\v@ ("@  (\x006  6\0 !\f\v\v !@ "(\0"@ ("E\r@ " "(\x006  6\0 ("\r\0\v  6\0\f\v\v \0(\b!\v \0 6\f \0 A€ r6\b \vP~@ AÀ\0q@  A@j­†!B\0!\f\v E\r\0  ­"† AÀ\0 k­ˆ„!  †!\v \0 7\0 \0 7\b\vÔ\t~#\0Að\0k"$\0 Bÿÿÿÿÿÿÿÿÿ\0ƒ!\t@@ P" Bÿÿÿÿÿÿÿÿÿ\0ƒ"\nB€€€€€€Àÿÿ\0}B€€€€€€À€€T \nPE@ B\0R \tB€€€€€€Àÿÿ\0}"\vB€€€€€€À€€V \vB€€€€€€À€€Q\r\v  \nB€€€€€€Àÿÿ\0T \nB€€€€€€Àÿÿ\0QE@ B€€€€€€ „! !\f\v P \tB€€€€€€Àÿÿ\0T \tB€€€€€€Àÿÿ\0QE@ B€€€€€€ „!\f\v  \nB€€€€€€Àÿÿ\0…„P@B€€€€€€àÿÿ\0   …  …B€€€€€€€€€…„P"!B\0  !\f\v  \tB€€€€€€Àÿÿ\0…„P\r  \n„P@  \t„B\0R\r  ƒ!  ƒ!\f\v  \t„PE\r\0 ! !\f\v    T \t \nV \t \nQ"\b!\n   \b"\fBÿÿÿÿÿÿ?ƒ!\t   \b"\vB0ˆ§Aÿÿq! \fB0ˆ§Aÿÿq"E@ Aà\0j \n \t \n \t \tP"yBÀ\0B\0 |§"Ak— )h!\t )`!\nA k!\v   \b! \vBÿÿÿÿÿÿ?ƒ! ~  AÐ\0j     P"yBÀ\0B\0 |§"Ak—A k! )P! )X\vB† B=ˆ„B€€€€€€€„! \tB† \nB=ˆ„  …!~ B†"  F\r\0  k"Aÿ\0K@B\0!B\f\v A@k  A€ k— A0j   Ö )8! )0 )@ )H„B\0R­„\v!\tB€€€€€€€„!\v \nB†!\n@ B\0S@B\0!B\0! \t \n…  \v…„P\r \n \t}! \v } \t \nV­}"BÿÿÿÿÿÿÿV\r A j     P"yBÀ\0B\0 „§A\fk"—  k! )(! ) !\f\v \t \n|" \tT­  \v||"B€€€€€€€\bƒP\r\0 \tBƒ B?† Bˆ„„! Aj! Bˆ!\v \fB€€€€€€€€€ƒ! AÿÿN@ B€€€€€€Àÿÿ\0„!B\0!\f\vA\0!@ A\0J@ !\f\v Aj   Aÿ\0j—   A kÖ )\0 ) )„B\0R­„! )\b!\v B=† Bˆ„! BˆBÿÿÿÿÿÿ?ƒ ­B0†„ „!@@ §Aq"AG@    AK­|"V­|!\f\v    Bƒ|"V­|!\f\v E\r\v\v \0 7\0 \0 7\b Að\0j$\0\vk#\0A€k"$\0 A€Àq  LrE@    k"A€ A€I"’ E@@ \0 A€Ž A€k"AÿK\r\0\v\v \0  Ž\v A€j$\0\vÎ#\0AÐk"$\0 B7\b@  l"E\r\0  6  6A!@ Aj Atj" Ak(\0 A\bk(\0 jj"6\0 Aj!  K\r\0\v  k"A\0L@A!A\0\f\v \0 j!A!A!@ AqAF@ \0    AjŸ A\bjAÆ Aj\f\v@ Aj" Ak"Atj(\0  \0kO@ \0   A\bj A\0 Å\f\v \0    AjŸ\v AF@ A\bjAÄA\0\f\v A\bj ÄA\v!  (\bAr"6\b \0 j"\0 I\r\0\v (\fA\0G\v!A\0 k! \0   A\bj A\0 AjÅ@ AG\r\0 (\bAG\r\0 E\r\v@ AL@ A\bj" ô\t"Æ  j\f\v A\bj"AÄ  (\bAs6\b AÆ \0 j"\t Aj" Ak"\bAtj(\0k    AkA Å AÄ  (\bAr6\b \t    \bA Å \b\v! \0 j!\0 (\f AG (\bAGrr\r\0\v\v AÐj$\0\vY@@@@ (\0"Aq  \0 (DG\r (\0\vAqAk\0\v \0 ò\v \0 Ÿ\v \vAÈú\0A\04\v^#\0A k"$\0  \0(\x006\b  \0(6\f  \0(\b6 \0B\x007  \0+9 \0 ˆ  A\bj"\0ˆ \0Ar® A j$\0\vÁ \0(D! \0k!@ @ j !\f\v\v \0!@ @ \0  \0 ò!\f\v\v \0(LA,jÚ\b \0(LA8jÚ\b \0 \0Î@@@@@@ \0(0"@ §\r@ \0A0j"@ (\0" (\0 (\0A\0\v A\x006\0\f\vAüÕAؾA¨AõŸ\0\0\v \0(,ƒ\r@ \0 \0(,ª\r\0 \0(8ƒ\r \0 \0(8ª\r\0 \0(4ƒ\r \0 \0(4ª\r\0 \0(<ƒ\r \0 \0(<ª\r\0 \0(@ƒ\r \0 \0(@ª\r\0 \0-\0A q@A\0! \0Ä"@ \0 Ü\t \0 (\0º\v@ \0A\0ø"E\r\0A! \0 (\bª\r\0 \0 (\fª\r\0 \0 (ª\r\0 \0 (\0ºA\0!\v \r\v \0² \0A\0 \0)\bÏ@ @  \0”\v\f\v@ \0(L"(("@ (\0! \0(L"(("E\r@  (\0F@  (\b6(\f\v@ "(\b"(\0 G\r\0\v  (\b6\b !\v \f\v\v (\b (\0(\0A\0" \0í"(\0"E\r\0  (\0E\r\0 (\0!  (\bv  (\0  Atj(\0"AG@  (\0!\v Aj!\f\v\v\v A\x006\0 \0(L\v \0\v\vAüÕAŠü\0A8Aº\t\0\0\vAó§A‚½Aõ\0A”\0\0\vA‘A‚½A÷\0A”\0\0\vAûA‚½Aú\0A”\0\0\vA½A‚½Aü\0A”\0\0\vA§A‚½Aÿ\0A”\0\0\vAæA‚½A‚A”\0\0\v”|#\0A k"$\0Aüí\nAüí\n(\0Aj"6\0Aðí\n(\0" A8lj!\t  A8lj"\nAj!\rD\0\0\0\0\0\0À!@ AFE@@ \r Atj(\0"A\0L\r\0 \n  A8lj \t¾\f" dE\r\0 ! !\b\v Aj!\f\v\v \tAj!D\0\0\0\0\0\0À!A\0!A\0!@ AFE@@  Atj(\0"A\0L\r\0 \t  A8lj \n¾\f" dE\r\0 ! !\v Aj!\f\v\v \tA j" Atj(\0! \nA j" \bAt"j(\0!Aøí\nAøí\n(\0"Aj"\b6\0 \0 Aj"Æ 6\0 \0 \bÆ 6\0 Aj"\f \0 £ (!\v \0 Æ \v6 \f \0 £ \0 (Æ 6\b \0 Æ \b6\b \0 \bÆ 6 \f \0 £ (!\v \0 \bÆ \v6\b \f \0 £ \0 (Æ \b6 \0 Æ 6 \0 Æ 6\b \t(0! \n(0!\v \r j 6\0  \vAt"j 6\0  \0 £ \f \0 (£  \rj (6\0  At"\0j \b6\0 \0 j 6\0 \n \n(0Aj60 \t \t(0Aj60Aôí\n(\0"\0 Atj 6\0 \0 Atj 6\0 A j$\0 \vE\0@ \0&@ \0#AF\r\v \0A\0ø\v@ \0&@ \0A\0:\0\f\v \0A\x006\v \0& \0 \0(\0\v\vA \0@ \0(\0 \0(H!@ \0-\0RAF@ E\r Aº\f\v  \0(Lî\v \0\v\vŸ#\0A k"$\0 \0E" j" AtA€\b "  K! \0#!@@@@ \0-\0AÿF@ AF\r \0(\0! E@ A\0!\f\v  b"E\r  M\r  k"E\r  jA\0 ü\v\0\f\vA\0  AC"\r @  \0 ü\n\0\0\v \0 6\v \0Aÿ:\0 \0 6\b \0 6\0 A j$\0\vAÞÀA¤ý\0AÍ\0A˜´\0\0\v  6\0Aˆ÷\b(\0A§ê .\0\v  6Aˆ÷\b(\0A§ê Aj.\0\v1A!@ \0 \0(HF\r\0 \0 A–8AÐE\r\0 \0A–8%Z!\v \v\05\0\v\0 @ \0  ü\n\0\0\v \0\v• \0 \0(" \0(\bI@  (\x006\0 Aj\f\v#\0A k"$\0 A\fj \0 \0( \0(\0kAuAjì \0( \0(\0kAu \0Á\v"(\b" (\x006\0  Aj6\b \0 ë \0( À\v A j$\0\v6\v$\0 \0  Atj(\0(\0")\b7\b \0 )\x007\0\v:\0@ \0&@ \0#AF\r\v \0A\0o\v@ \0&@ \0A\0:\0\f\v \0A\x006\v \0©\v\0 \0AA\bA€€€€ý\v*@ \0(<"E\r\0 (H"E\r\0 \0     \n\0\v\vA|#\0Ak"$\0 \0 A\fjÂ!@ \0 (\f"F@A\0!\f\v  9\0\v Aj$\0 \vb\0@ \0@ E\r \0 Ü  \0(\x006\0\0 @  \0(\b6\0\v \0B\x007\b \0B\x007\0\vA¨ÔAÕ¸A¨AÒÅ\0\0\vAÅÕAÕ¸A©AÒÅ\0\0\v\0 \0 Á"\0A\0 \0-\0\0 AÿqF\v\0 \0AAA€€€€ý\v[ \0("\0@ \0 \0("Ak6 E@ \0 \0(\0(\b\0@ \0(\b@ \0 \0(\b"Ak6\b \r\v \0 \0(\0(\0\v\v\v\v>\0 @ \0  ¬"@  k\f\v 9\v6 \0 6\0\vAµÔAÛû\0AAô\0\0\vìA”‹\v-\0\0@A‹\v(\0\v#\0A k"$\0@@@ A\bj" \0At"jA \0tAÿÿÿÿq"ArE@ (\0\f\v \0AâÞAñ€ ž\v"6\0 AF\r \0Aj"\0AG\r\0\vA\0Í\tE@Aèõ\b! Aèõ\bA¹E\rA€ö\b! A€ö\bA¹E\rA\0!\0A ‰\v-\0\0E@@ \0At \0Añ€ž6ðˆ\v \0Aj"\0AG\r\0\vA ‰\vA:\0\0Aˆ‰\vAðˆ\v(\x006\0\vAðˆ\v! A\bj"\0Aðˆ\vA¹E\rAˆ‰\v! \0Aˆ‰\vA¹E\rAV"E\r\v  )7  )7\b  )\b7\0\f\vA\0!\v A j$\0A”‹\vA:\0\0A‹\v 6\0 \v( \0(D"AF@ \0ú\t \0A\x006D\v \0 Ak6D\v™@@A¼ò\n(\0" \0(L"Aÿÿÿÿ{qF@A! \0(D"AÿÿÿÿF\r \0 Aj6D\f\v \0AÌ\0j!A!@ A\0H@ A\x006\0\f\v \r\v  (\0"  6\0 \r \0A¤ò\nù\t\vA\0!\v @ \0A¤ò\nù\t\v\v\0D\0\0\0\0\0@@£ü\vv~A°Æ\nA¼Æ\n3\0A¶Æ\n5\0AºÆ\n3\0B †„A°Æ\n5\0A´Æ\n3\0B †„~|"\0=\0A´Æ\n \0B ˆ=\0A²Æ\n \0Bˆ=\0 \0Bÿÿÿÿÿÿ?ƒB†B€€€€€€€ø?„¿D\0\0\0\0\0\0ð¿ \vd| A\0 A\0J! \0  lAtj! \0  lAtj!\0@  FE@ \0 At"j+\0  j+\0¡" ¢  ! Aj!\f\v\v Ÿ\v\0 \0  AAA€€€€Aÿÿÿÿš\t\vE\0@ \0@ E Er \0(\0"\0rE\r \0  lj\vA¨ÔAÕ¸AAê\0\0\vAϜAÕ¸AAê\0\0\v…~#\0Ak"$\0 \0~ E@B\0\f\v   Au"s k"­B\0 g"AÑ\0j— )\bB€€€€€€À\0…Až€ k­B0†|B€€€€€€€€€B\0 A\0H„! )\0\v7\0 \0 7\b Aj$\0\vC@ E\r\0@ \0-\0\0" -\0\0"F@ Aj! \0Aj!\0 Ak"\r\f\v\v  k!\v \v“ \0+! \0 A\0\\"E@\v \0("!@@ (" F\r " G\r\0\vAçÁA°¿A…A‹·\0\0\v  (6@ \0-\0\0AqE@  \0 À\n\f\v 6 \0A A\0÷\v  (\0A\0z \vÕ#\0Ak"$\0AÈ\0ž" E@AðÞ\t!A€à\t\f\v (\0"AðÞ\t ! ("A€à\t \v6  6\0AÐ\0ž" 6L  (\0A|q6\0  (\0"6  A\br:\0  6H   (\0\0\0! (L 6\b A\0 \0 A\bjAÎ@  )\b7\b\v à\v"\0A\0 \0’ Aj$\0 \0\v\0 \0  ¥‰\r\v®#\0Ak"$\0 \0(\0@ \0@ E\r \0  9ÏE\vAßÔA½ü\0A\fAð÷\0\0\0\vAÙÓA½ü\0A\rAð÷\0\0\0\vE\0 AF@ \b\v@  F@ ! !\f\vA!Až! AG\r\0 \0(\r\0A;\v \0 6\0 \v,\0 E@ \0( (F\v \0 F@A\v \0( (GE\v0@ \0A˜‹\vF\r\0 \0 \0("Ak6 \r\0 \0 \0(\0(\b\0\v\vµ#\0A k"$\0@@ ,\0\0"@ -\0\r\v \0 Á!\f\v A\0A ’ -\0\0"@@  AvAqj" (\0A tr6\0 -\0! Aj! \r\0\v\v \0"-\0\0"E\r\0@  AvAqj(\0 vAq\r -\0! Aj! \r\0\v\v A j$\0  \0k\v\0 \0A F \0A\tkAIr\vA \0(" M@A™³AÁû\0AÂ\0AŽ#\0\0\v Av \0 \0(\0 A!Ij-\0\0 AqvAq\v”| \0+\0! \0("( \0F@ (\0\f\v \0Aj\v"+\0!@ E\r\0 ("( F@ (\0!\f\v Aj!\v +\0!  a@  b@A\0\v \0+\b +\b +\bÞ\nAG\v   Þ\n\v\0 \0AAA€€€€ý\vE| \0A\0 \0A\0J!\0@ \0 FE@   At"j*\0  j*\0”» ! Aj!\f\v\v \v]| \0! !@ @ Ak!  +\0 ! A\bj!\f\v\v  \0·£!@ \0@  +\0 ¡9\0 \0Ak!\0 A\bj!\f\v\v\vv  \0 (\0\0\0!   (\0\0\0!@ E@ E\r  œ  \0 (\0\0\0E\r \0 œ\v @ \0 œ\v \0 œ   (\0\0\0E\r\0  œ\v\vâ 9!#\0Ak"$\0@ A\bj \0¹"-\0\0AG\r\0 \0 \0(\0A\fk(\0j"(   j"  (A°qA F  @ -\0PAF@ (L!\f\v#\0Ak"$\0 A\fj" Î AЌ\v†"A (\0(\0\0! ‚ Aj$\0  6L A:\0P\v Àï\r\0 \0 \0(\0A\fk(\0jAã\v ¸ Aj$\0 \0\vÕ\b#\0Ak"\r$\0@@ \0E\r\0@@@@@ \0( E@A! \0-\0$"Aq  qr\r\b \0(\0 \0(G\rA\0! \0û"\vE\r\b \0(\0"A\0 A\0J! \v(!\f \v(!\b \0(! \0(!\t AdE\r\0\v\f\b\v\0\v At! Aj!  \tj(\0  \bj(\0F\r\0\v\f\vAøÐAâ·A•AÏ´\0\0\v \rAÛ6 \rAâ·6\0Aˆ÷\b(\0AØÀ \r5\0\v@  F\r \t Atj(\0" \t Aj"Atj(\0"  H! !@  FE@   Atj(\0Atj 6\0 Aj!\f\v\v \b Atj(\0" \b Atj(\0"  J!@  F@ !\f\v At! Aj!    \fj(\0Atj(\0L\r\0\v\v\f\v \v(! \0(!@  F\r \t At"j(\0" \t Aj"At"j(\0"  H!\n !@  \nFE@   Atj(\0Atj 6\0 Aj!\f\v\v  \bj(\0"  \bj(\0"  H! !@  G@ At!\n Aj!   \n \fj(\0Atj(\0L\r\f\v\v@  F\r At! Aj!  j(\0    \fj(\0Atj(\0Atj(\0F\r\0\v\v\f\v \0 \0-\0$AA r:\0$A\f\vA\0\v!  \v]\f\vA\0!\v \rAj$\0 \v¬@ \0&@ \0#AF\r\v \0# \0EO@ \0Aþ\v \0#! \0&@ \0 jA\0:\0\0 \0 \0-\0Aj:\0 \0#AI\rAã¶Aòü\0A¯AŸ³\0\0\v \0(\0 jA\0:\0\0 \0 \0(Aj6\v@ \0&@ \0A\0:\0\f\v \0A\x006\v \0& \0 \0(\0\v\v?#\0Ak"$\0 \0 C"E@  \0 l6\0Aˆ÷\b(\0A§ê .\0\v Aj$\0 \v\v\0 \0 AÇ\vJ| \0 +\0æAÐÓ\n(\0"E@AÎÖAñ¸A‡A±\0\0\v \0 +0 +\b"¡ AØË\n-\0\0æ\vÌ#\0Ak"$\0@  \0 A(AØ\0 (\0AqAFj(\0 t"rE\r\0 E \0 A(Ax (\0AqAFj(\0 t"Er\r\0  )\b7\b  )\x007\0@ \0   " ErE@ \0 ª !\f\v E\r\v (\0Aq"\0 (\0AqF@ !\f\v APA0 \0AFj!\v Aj$\0 \v9\0 (\f!@ A\0L@A\0\v Ak! Að€ \0(L((\0\0AG\r\0\vA\vx#\0A0k"$\0@ E Er\r\0  )\b7\b  )\x007\0  6( \0 ¾"E\r\0 \0(8 (¿ \0(8" A (\0\0!  \0(8¢6\v A0j$\0 \viA´Ò\n(\0!@ \0@A´Ò\n Aj6\0 \rA°Ò\nA\0X6\0Aâޝ\v A\0L\r\0A´Ò\n Ak"\x006\0 \0\r\0A°Ò\n(\0A°Ò\n(\0\v\vö6|~#\0A0k"$\0AAØ\0!\r @ -\0\0A\0G!@@@ \0áAk\0\v \0(H! \0!A\0\f\v \0+6! \0!A\0\f\v \0A(Ax \0(\0AqAFj(\0+6! \0\v!  q! \r 9 \r 6\b \r 6 \r (-\0s"6\f@ @ \r X6\0 E\r \rA:\0R\f\v @ X! \rA:\0R \r 6\0#\0Ak"\f$\0 \f \x006p \f@@@ \0áAk\0\v \0(H\f\v \0+\f\v \0A(Ax \0(\0AqAFj(\0+\v"6t (H! \f \r+9` \f \r(6P \r(\b! \fA\x006h \f 6T@@ \r(\0!#\0Ak"\t$\0 \tB\x007ˆ \tB\x007€ \tAˆj"A\0Aøü\v\0 \tAäj"A$! \t(ä Atj \t(ø6\0 \tAƒ6¸ \tA„6è \t \fA@k"(4((6ü \t \tA€j"6à B\x007  6\f B\x007  6 B\x007, B\x007 B\x0074 A;( (4(-\0s!#\0Ak"$\0 AO@  6\0AÊÅ 4Aíò\f\v At( ô\v! Aj$\0 @AðV"E\r\0 AÍ6 AÎ6 Aè6\0 B\x007¸ A\n6 B\x007À B\x007È B\x007ÐA§ÚŽ! B€€€ 7Ð A€€ –6Ì  6È B\x007˜ A\x006ü@@ A\bj"A\0†"(ôE@ )°"%B€€€€}B{Z\r  %Bð|"%7° (ÀAO@ A+Bð % )¸"& %T~  %7¸ % &\vA¡\v¸\v A6œ A\x006( A\x006  A€A«\v"6¨ E@  A­\vYA\0\f\v  A€\bA¸\v"6@ E@  (¨Aº\vY  A¾\vY\f\v  A€\bj6D A¼Aæ:"E\r A\x006` B\x007X B\x007P B\x007h  6d B\x007p A\x006x  6| B\x007\b A\0:\0 B\x007 A\0:\0  6 A\x006\0 B\x0070 A\0:\0,  6$ A\x006 B\x007D A\0:\0@  68 A\x006( A\x006<  6L B\x007Œ A\0:\0ˆ B7€  6” B\x007˜ A\0:\0  B\x007¤ B\x007¬ B\x007´ A\x006˜  6„ A\x006 A\x006Ð A\x006È A\x006À B\x007ð A!:\0ø A\x006ˆ A\x006 A\0;ü B\x007À A\x006ø B\x007È A\x006Ð B\x007¬ A\0:\0´  6Ô A\x006è B\x007à B\x007Ø  6ì AÏ6  A›6ˆ A\x006œ B€€€€7” @  9Aj"A³Â\0"\bE ErE@ \b  ü\n\0\0\v  \b6ð\v A\x006€ A j AœjA\0Ó B\x007\0 A@kA\0AÀ\0ü\v\0 B\x007Œ A\x006„ B\x007” B\x007° A\x0064 A:\x000 A\x006, B\x007$ A\x006Ä A\x006¼ B\x007¤ B\x007¬ A\x006´  (\b"6  6  6€ AÔjA\0A&ü\v\0 A\x006˜ A\x006Œ A\x006„ A\x006Ð A:\0Ì A\x006„ A\0:\0à A\x006ø B\x007ø B\x007 B\x007„ A\0;€ B\x007˜ B\x007  B\x007¨AÚŽ! B\x007Ð B€€€7¨ A€€ –6¤  6  B\x007Ø AéÙŽ6Ü@ E\r\0 (ø\r\0 «\b\f\v A …\b6ô \f\vA‡ÓAë½A“\vAŒ“\0\0\vA•Aë½A”\vAŒ“\0\0\v A\x006„  (@AÈ\vY  (¨AÉ\vY  AÍ\vYA\0\f\vA\0\v"6\0  (4((6<@ E\r\0 (\0  6\0 (G\r\0  6\v (\0"@ Aß6D AÞ6@\v (\0"@ Aà6H\v#\0A°\bk"$\0 A\x006¬\b Að\0j! Aè\0j! AÐ\0j!! AÈ\0j!\nAÈ! A@k"!\b Aàj"!A~!@@@@@@@  :\0\0   jAkO@ AÎ\0J\rAÎ\0 At" AÎ\0N"AlAjV"E\r  k"\bAj"\v@   \vü\n\0\0\v  AjAmAtj! \vAt"\v@   \vü\n\0\0\v Aàj G@ \v Ak \bL\r  \bj!  \vjAk!\b ! !\v AF\r@@@@@ AtA´\bj/\0"\vA®ÿF\r\0 A~F@A\0!#\0Ak"$\0 A\x006\b  A¬\bj6@ Aj!@@@@@A!@@ -\0)\0\v A:\0)AÃà!A\0!A\f\v@@@@@ ("-\0\0"AFr\r Aj!\f\0\v\0\v@@@ A&G@ E AF\r\vAôâA\0( A6 \f\v Aj!\v  k\v!@ #E\r\0 œ"9"E\r  jAk"-\0\0AÝ\0G@  Š\b\f\v A\0:\0\0  Š\b A„âÊ\v  ),74  60  6,@ #"@ A\0H\r (\0 œ A\0ª\b\f\v A\0H\r (\0   Eª\b\v\r\0 ($\r\0 (\0" (¤A)\vAk"A+M At(ܪ\bA\0\v!  ¼6  6\0A‡€ 4 \b AŒ6\b A6$\v @  6\v (\b"E\r\v\v Aj$\0 \f\vA´˜Añ·A€A—À\0\0\vAÃAñ·AÊ\bA¶\0\0\vAžÃAñ·AÍ\bA¶\0\0\v!\v A\0L@A\0!A\0\f\v A€F@A!\f\vA A§K\r\0 ,\0€¶\b\v" \vÁj"AK\r\0  ,\0°¸\bG\r\0 ,\0Àº\b"A\0J@ \b (¬\b6  A\0Gk!A~!\f\vA\0 k!\f\v Aм\bj,\0\0"E\r\v \bA Aн\bj,\0\0"kAtj(\0!\v@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Ak@\0\'\'\'\'\'\'\'\'\'\'\r\r\r\b\r\t\r\n\r\v\r\f\r&\'\'&\'\'&&&& !"#$&\'\v \n \bAk(\0Aˆ\b6\0\f&\v \n \bAk(\0Aˆ\b6\0\f%\v \n‡\b!\v\f$\v@ (Ø"&@  #"Þ"\r  Aj6\0Aˆ÷\b(\0A§ê .\0\v †\b (\0!\v B\x007\b B\x007\0 (Ü! (ä!  )ä7  )Ü7   Aj AkAtj(\x006l  6h A\0A0ü\v\0 !A8$! (P A8lj A8ü\n\0\0\f#\v \n \b(\0…\b\f"\v \n \b(\0¡\f!\v \n \b(\0¡\f \v \n \b(\0¡\f\v \n \b(\0¡\f\v \n \b(\0¡\f\v \n \b(\0¡\f\v \n \b(\0¡\f\v \n \b(\0¡\f\v#\0Ak"$\0 \n(œ!  \n)œ7\b  \n)”7\0  Ak! \nA”j!@@@ \n(¤"\0\v (\0 Atj(\0\f\v (\0 Atj(\0 \0\v  \nA¨jA Aj$\0\f\v \bAk(\0!\v\f\v (Ø„\bƒ\bE\r AØàŠ\f\v (Ø„\bƒ\bE\r A‹áŠ\v#\0Ak"$\0 \n(! \n(\0"@ Aº \nA\x006\0\v@ @ (P ‚\b!\f \nA\bj!A\0!@ \n( M@ A8- \nAØ\0j!A\0!@ \n(` M@ A - \nA”j!A\0!@ \n(œ K@  )\b7ˆ  )\x007€ A€j !@@@ \n(¤"\b\0\v (\0 Atj(\0\f\v (\0 Atj(\0 \b\0\v Aj!\f\v\v A- 2 Aj$\0  )\b7x  )\x007p Að\0j !@@ \n(h"\b\'\0\v  (\0 Atj")7h  )7`  )\b7X  )\x007P AÐ\0j \b\0\v Aj!\f\v\v  )\b7H  )\x007@ A@k !@@ \n("\b%\0\v A\bj"\v (\0 A8ljA8ü\n\0\0 \v \b\0\v Aj!\f\v\v\v\v\f\v  (L"\v(P6L\f\v \bAk(\0!\v\f\v \bAk(\0!\v\f\v \bAk(\0!\v\f\v \bAk(\0!\v\f\v \bAk(\0!\v\f\v \bA\bk(\0A:\0\f\r\v (L!AH! -\0„Aq@ A:\0\v  6h AÔ\0jA$! (T Atj (h6\0\f\r\v (L"(T (\\!\v  )\\78  )T70 A0j \vAkAtj(\0!\v\f\f\v \bA\bk(\0" -\0dAr:\0d\f\n\v \n \bAk(\0 \b(\0A‰\f\n\v \bA\fk(\0!\v\f\t\v \n \bAk(\0 \b(\0A‰\f\b\v \bA\fk(\0!\v\f\v \n \bAk(\0 \b(\0A‰\f\v \bA\fk(\0!\v\f\v \n \b(\0 \n‡\bA‰\f\v \bA\bk(\0!\v\f\v \bAk(\0!\v\f\v \b(\0 (L6P \b(\0"B\x007\\ B\x007T A\x006h A‚6d  \b(\x006L (Ü! (ä!  )ä7(  )Ü7 A j Ak! \b(\0  Atj(\x006€\v \b(\0!\v\v \b Atk"\b \v6@  k",\0\0" A ¾\bj,\0\0A)k"\vAtAð¾\bj.\0j"AK\r\0 -\0°¸\b AÿqG\r\0 AÀº\bj\f\v \vAÀ¿\bj\v,\0\0!\f\v@@ \0\v A\0J@A~!\f\v \r\f\v AÏ6Š\v@ \vA\bG@  F\r \bAk!\b Ak",\0\0AtA´\bj/\0!\v\f\v\v \b (¬\b6A!A!\v \bAj!\b Aj!\f\v\v A¼¨Š\f\v !\f\v  AàjF\r\v \v A°\bj$\0A! ($E@ ( !\v (\0«\b -\0AÿF@ (\v \t(Ð! \tA¨j! \tAØj! \f 6Œ@ \t(à M A8- 2A\0! \t(° M A - 2A\0! \t(ì M A- 2 \t-\0AÿF@ \t(€\v \tAj$\0  \t )\b7€ \t )\x007x \tAø\0j !@@@ \t(ô"\0\v \t(ä Atj(\0\f\v \t(ä Atj(\0 \0\v Aj!\f\v\v \t )\b7p \t )\x007h \tAè\0j !@@ \t(¸"\0\v \t \t(¨ Atj")\x007H \t )\b7P \t )7X \t )7` \tAÈ\0j \0\v Aj!\f\v\v \t )\b7@ \t )\x0078 \tA8j !@@ \t(è"\0\v \t \t(Ø A8ljA8ü\n\0\0 \t \0\v Aj!\f\v\v\f\v\vAâƒAÂ\0AAˆ÷\b(\075\0\v"E@A! \f(ŒAF@ \rA\0:\0R\f\v \fB\x007( \fB\x007 \rA\0:\0R \r(\0@ \fA j@@ \0á\0\0\v \0 \f\v \fA j" \0A(AØ\0 \0(\0AqAFj(\0 Ê  \0 \0A0k" \0(\0AqAF(( ÊAÃáA†¡ \0  \0(\0AqAF((+Ò\vÊ\v \r \fA j—X"6\0 \r(\fAF@ Á\f\v  \f(tä\v! \r(\0 \r 6\0 (( \rð \fA jN\f\v@ (AF@@ (\0(\r\0 \0ôE\r\0 \0ôX! (\0 6\v \f  (\0A\0 \fA@kó \f(Œr6Œ (\0"+@!" \f +HD\0\0\0\0\0\0à?¢"98 \f "D\0\0\0\0\0\0à?¢""90 \f "9 \f 9 \f š"#9( \f "š"$9 \f $9\0 \f #9\b  \fAò\f\v (( (\0 \fA@kñ (\0" +(D\0\0\0\0\0\0à?¢"9(  + D\0\0\0\0\0\0à?¢""9  š9  "š9\v \r   9 \r " " 9 \r 6H (AG\r\0 \r(\0 \rAƒáX6\0\v \f(Œ!\v \fAj$\0 E\r@@@ \0á\0\v   6\0Aäø p\f\v   6Aíü Ajp\f\v A(AØ\0 (\0AqAFj(\0 !\0 Ò!  A(Ax (\0AqAFj(\0 6( AÃáA†¡ 6$  \x006 A ò A jp\f\v  \0A\0ï!\0 AF@ \0Á\f\v \0 ä\v! \0 \r 6\0 (( \rð\v A0j$\0 \r\vA«×A¦ü\0A\fA<\0\0\v\b\0 \0‚\v¿|#\0A0k"$\0 \0(” \0(œ!  \0)œ7\b  \0)”7\0  AkAtj(\0!  )7(  )7  )\b7  )\x007 \0A”j@ E\r\0@ (\r\0 ("E\r\0  6\v@ + D\0\0\0\0\0\0\0\0cE\r\0 +"D\0\0\0\0\0\0\0\0fE\r\0  9 \v@ (\r\0 (\0"E\r\0  6\v (Aÿ\0q"E\r\0  (( r6(\v \0 \0(¬(ˆ" AjA (\0\x006¨A$! \0(” Atj \0(¨6\0 A0j$\0\vŽ@ \0(\b"A\fq@ \0(\f!\f\v@ Aq@ \0–! \0(" \0(Atj!@  O\r A\x006\0 Aj!\f\0\v\0\v \0(! \0A\x006\f\v \0(\b!\v \0A\x006 \0A\x006\f \0 Aÿ_q6\b \vo#\0A k"$\0 B\x007 B\x007\b B\x007\0 B€€€€€€€ø¿7  6 @ \0 A Ž\nA A·à¶\v \0(<(ˆ"\0 A \0(\0\0 A j$\0\v\v\0 \0A×К\b\v\0 \0(\0A4j  9±\b\vE\0@ \0&@ \0#AF\r\v \0A\0ù\v@ \0&@ \0A\0:\0\f\v \0A\x006\v \0& \0 \0(\0\v\vZ#\0Ak"$\0  6\f  A\vj"6 \0 A\fj"  Aj  \0(8\b\0 (!\0 ,\0\v! Aj$\0A  \0 F\v¥~#\0A€k"$\0 (\0"+((t  98  90Aq"@  )07  )87 A@k Aj AÚ\0l‚\t  )H78  )@70\v  )0"7` B\x007X B\x007P B\x007H B\x007@  )8"\b7h  7p  \b7x  ((\b((\f A@kA¤ @  )@7\0  )H7\b A j  AÚ\0lÔ  )(7H  ) 7@\v \0 )H7\b \0 )@7\0 A€j$\0\vF\0 \0((\b"\0E@A\0\v \0((\0"\0AF@A\vAA\0 \0A?F\v\0 A\0ŸA€Î\n \x006\0 ‚A\0G\vL \0((” \0("(\b" \0 ((\0 \0( \v(x  \0((|  \0A¡&º\v­ \0-\0\tAq@ \0A\0¿\v@ @ -\0\tAq@ A\0¿\v ( \0( G\r\v !@ @ \0 F\r ((!\f\v\v \0(("@  ($Ak6$\v \0B\x007( E@ \0 \0( (\x006\0 \v \0A6\0 \0 6(  ($Aj6$ \vA\0\v­\n|@@ +\0" +\0"a@ +\b +\ba\r\v  +\0"\bb@ +\b!\f\v +\b" +\bb\r\v \0 )\b7\b \0 )\x007\0 \0 )\x007 \0 )\b7 \0 )\x007 \0 )\b7(\v  ¡"   +\b¡"\t@"\v£"\fö! \b ¡"\b \b +\b ¡"\b@"\r£"ö"\n \nš \bD\0\0\0\0\0\0\0\0dD-DTû!\tÀ   š \tD\0\0\0\0\0\0\0\0d¡"D-DTû!@D\0\0\0\0\0\0\0\0 D-DTû!\tÀe "\nD\0\0\0\0\0\0\0\0f \nD-DTû!\t@eqE@A¤ÁAÞ¹AàAè–\0\0\v D\0\0\0\0\0\0à?¢" \f¢  !   \t \v£"\v¢¡!\t  ¢  !   \b \r£¢¡!D\0\0\0\0\0\0ð? \nD\0\0\0\0\0\0à?¢"\bK£D\0\0\0\0\0\0@d@ \0 9( \0 9 \0 9 \0 \t9 \0   D\0\0\0\0\0\0à?¢9\b \0 \t  D\0\0\0\0\0\0à?¢9\0\v \0 9( \0 9 \0 9 \0 \t9 \0  \bæ\t£" \v¢  9\b \0  \f¢ \t 9\0\vË|#\0A@j"$\0 \0("\t(\f!\v \t 6\f \0 \0(\0(Ƚ \0 ×  +\b +\b¡"D-Cëâ6?D-Cëâ6¿ D\0\0\0\0\0\0\0\0f D\0\0\0\0\0\0$@ +\0 +\0¡" @D-Cëâ6? £"¢9\b  D-Cëâ6?D-Cëâ6¿ D\0\0\0\0\0\0\0\0f  ¢9\0@@ \bAF\r\0  \bAtv"Aÿq"\fE\r\0  )\b78  )\x0070  )\x007  )\b7( Aq!\rA\0!@@ A\bF\r Al!\n Aj! \r \n(€áG\r\0\v  +0  \nA€áj"+\b¢"¢"90   +8¢"98  )\x007  )\b7  9\0  9\b A j \0 Aj    \f (\0\v  )(7\b  ) 7\0 \bAj!\b\f\v\v \t \v6\f A@k$\0\vÅ\b#\0A k"$\0@ \0 Aj¦"\0E\r\0 ("A\0L\r\0@ \0-\0\0"E\r A-G@ \0Aj!\0\f\v\v B\x007 B\x007\b \0Aj!A\0!@  H@  j",\0\0"\b@ A\bj \b…\t@ -\0\0AÜ\0F@ E\r \0 j-\0\0AÜ\0G\r\v Aj!\v Aj!\f A\bjNA\0!\f\v\0\v\v #\0Ak"$\0@ A\bj"\0&@ \0 \0#"Þ"\r  Aj6\0Aˆ÷\b(\0A§ê .\0\v \0A\0…\t \0(\0!\v \0B\x007\b \0B\x007\0 Aj$\0 6\0  j!\v A j$\0 \vT#\0Ak"$\0AØÎ\n(\0@ \0E\r\0 \0…"\r\0  \09Aj6\0Aˆ÷\b(\0A§ê .\0\vAØÎ\n 6\0 Aj$\0\v\f\0 \0A‚†€ 6\0\0\vE#\0Ak"$\0     B€€€€€€€€€…˜ )\0! \0 )\b7\b \0 7\0 Aj$\0\v\0 \0E@A\0\vAÔð\n \x006\0A\v¨\0@ A€\bN@ \0D\0\0\0\0\0\0à¢!\0 AÿI@ Aÿk!\f\v \0D\0\0\0\0\0\0à¢!\0Aý  AýOAþk!\f\v AxJ\r\0 \0D\0\0\0\0\0\0`¢!\0 A¸pK@ AÉj!\f\v \0D\0\0\0\0\0\0`¢!\0Aðh  AðhMA’j!\v \0 Aÿj­B4†¿¢\vÒ|#\0A k"$\0  6  6\f \0(\0"\0 A\fjA \0(\0\0!\0 A j$\0 E \0ErE@ \0A\bj!\0@ (\0! \0!@ (\0"@ (\0"((”"+\0 ((”"+\0¡" ¢ +\b +\b¡"\b \b¢ "\tAˆð\n+\0"\n \n¢c@    \b \t¿\n\v Aj!\f\v\v ("\r\0\v\v\vÏ|#\0A k"$\0@ A‚Ü\0%"@  \0D\0\0\0\0\0\0ð?D\0\0\0\0\0\0\0\0Ø\r\v AÜ\0%"@  \0Dš™™™™™é?D\0\0\0\0\0\0@Ø\r\v \0A:\0 \0B€€€€€€€ˆÀ\x007\0 \0B€€€€€€€ˆÀ\x007\b\vAŒË\n-\0\0@ \0-\0! \0+\0!  \0+\b9  9\b  6\0Aˆ÷\b(\0AÅô 1\v A j$\0\v®\b|#\0Ak"$\0  \0+\b"\b¡"  \0+\0"\t¡"£!Aðî\n(\0 \0(Aà\0lj"\r(\\!\0@@@@@@ \0 \vF@ \0!\v\f\v \r(X \vAtj"\f+\b! \f+\0"\n a  aq\r  \b¡! \n \t¡!@ D\0\0\0\0\0\0\0\0f@ D\0\0\0\0\0\0\0\0c\r D\0\0\0\0\0\0\0\0d@ D\0\0\0\0\0\0\0\0dE\r   £"c\r  dE  cr\r\f\v D\0\0\0\0\0\0\0\0d@ D\0\0\0\0\0\0\0\0eE\r\f\v  d@ D\0\0\0\0\0\0\0\0e\r\f\v D\0\0\0\0\0\0\0\0eE\r\f\v D\0\0\0\0\0\0\0\0f\r   £"c\r  cE\r  cE\r\f\v D\0\0\0\0\0\0\0\0dE\r\v \0Aÿÿÿÿ\0O\r \r(X \0At"\fAj"b"\0E\r \0 \fj"\fB\x007\0\b \fB\x007\0\0 \r \x006X \0 \vAtj!\0 \r(\\"\f \vkAt"\v@ \0Aj \0 \vü\n\0\0\v \0 9\b \0 9\0 \r \fAj6\\\v Aj$\0\vAÞÀA¤ý\0AÍ\0A˜´\0\0\v  6\0Aˆ÷\b(\0A§ê .\0\v \vAj!\v\f\0\v\0\v%| \0+\0 +\0¡" ¢ \0+\b +\b¡" ¢ \vÕ} A\0 A\0J!\b@  \bF@@  \bFE@ \0 Atj*\0  At"\tj*\0"\v”C\0\0\0\0’!\n Aj"!@ Aj!  FE@  At"j*\0!\f  j" \0 Atj*\0"\r \v” *\0’8\0 \r \f” \n’!\n Aj!\f\v\v  \tj" \n *\0’8\0\f\v\v  AtjA\x006\0 Aj!\f\v\v\v]} \0! !@ @ Ak!  *\0’! Aj!\f\v\v  \0²•!@ \0@  *\0 “8\0 \0Ak!\0 Aj!\f\v\v\vÞ|#\0Ak"$\0 (\0! \0@ ("E@ Aj"!\f\v +\b!@  "("+\b"\bcE  M  \bdrqE@ ! (\0"\r\f\v  I  \bdrE@ !A\0\f\v ("\r\0\v Aj!\vA_!  6\b  6 A:\0\f    ê A\x006 Ajª\vA\v:\0 \0 6\0 Aj$\0\vê A\0 A\0J!AØÁ\nA°Þ\t(\0f! !@  FE@  (6\b  A (\0\0 Aj! A0j!\f\v\v @  AÄÐ\v\f\v \0  AÄÏ\v\v"AAÿÿÿÿîA\0!@  FE@ (!\0  (((ô"6   \0k"\0 ($j6$  (, \0j6, Aj! A0j!\f\v\v Î\v ‚\vê A\0 A\0J!AØÁ\nA°Þ\t(\0f! !@  FE@  (\f6\b  A (\0\0 Aj! A0j!\f\v\v @  AÃÐ\v\f\v \0  AÃÏ\v\v"AAÿÿÿÿîA\0!@  FE@ (\f!\0  (((ô"6\f   \0k"\0 ( j6  (( \0j6( Aj! A0j!\f\v\v Î\v ‚\v\0 \0@ \0(\0 \0\v\v‡ \0A\0 \0A\0J! A\0 A\0J! \0A! \0 lA\b! At!@  FE@  Atj 6\0A\0!\0@ \0 FE@  \0Atj 9\0 \0Aj!\0\f\v\v Aj!  j!\f\v\v \vº \0(" (A¸ü\n\0\0 \0 A0ü\n\0\0 \0 6 \0A(AØ\0 \0(\0Aq"AFj A(Ax (\0AqAFj(\x006\0 \0A(Ax AFj A(AØ\0 (\0AqAFj(\x006\0 Aj (A8jA(ü\n\0\0 \0(A8j (AjA(ü\n\0\0 \0("\0 6x \0A:\0p\v„ \0 \0("Aj6 \0( Alj"\0 ( 6\f ( ! \0A\x006\b \0 9\0 \0 6 ( ."Atj 6\0  Aj; ( ."Atj 6\0  Aj; \0\vA@ \0+\0 +d\r\0 +\0 \0+d\r\0 \0+\b +d\r\0 +\b \0+d\r\0A!\v \vÂ\b| +\0" +"d@ \0 )7 \0 )7 \0 )\b7\b \0 )\x007\0\v +\0" +"d@ \0 )7 \0 )7 \0 )\b7\b \0 )\x007\0\v +\b! +\b!\b +!\t +!\n \0  \'9 \0  \'9\0 \0 \n \t\'9 \0 \b \'9\b\vˆ~#\0Ak"$\0@@ \0+\0 \0+d\r\0B!@ AF\r \0 Atj"+ +\0¡ü"P\r  B\0 B\0„ )\bP@ Aj!  ~!\f\v\vAµA\04.\0\vB\0!\v Aj$\0 \vÁ@@ \0("(°" G@ \0 ("(°G\r\vAð•A\0(\f\v E@  6° (¬"\0 (¬J@  \x006¬\v@ E\r ("\0 \0/¨ /¨j;¨ \0 \0/š /šj;š \0 \0(œ (œj6œ \0(°!\f\0\v\0\vAÃÓA÷ºAûA¬\0\0\v\vX#\0A k"$\0 B\x007 B\x007 @   \0\0\0\v  9\0 Aj"A´ƒ n  Ÿ \0\0\0 N A j$\0\vN@ \0(<"E\r\0 \0(D  \0(Aà\0j"Ó (\\"E\r\0 \0  \0\v \0("\0 9 \0 6ˆ\vU \0 A(Ax (\0AqAFj(\0¾"E@A\0\v \0(4 (¿ \0(4" A\b (\0\0  \0(4¢6\v¤|#\0A k"$\0 \0("\t(\f!\n \t 6\f@@ -\0RAF@ (H!\b#\0AÐ\0k"$\0 \0´" (\0"("\v6  (\f6\f@@ \vAI@  (\b6\b  (Ø6Ø  (ì6ì  (ü6ü  /ŒAþÿq /ŒAqr;Œ +@! +8!@ -\0P"Aâ\0G@ Aô\0G\r  +0 \bþ¡D\0\0\0\0\0\0à?¢ D\0\0\0\0\0\0ð¿ !\f\v  +0 \bþ¡D\0\0\0\0\0\0à¿¢ D\0\0\0\0\0\0ð¿ !\v  9  9\b  (\b6  (6  +9(  \0((\bA%"6@ \0((Ü! A\0:\0H  6D@ @ -\0\0\r\v Aǔ6@\v \b(\0! \b(AG\r \0 \0(\0(Ƚ \0 ("A×õ\0 B \0  A\bjý -\0HE\r (D\f\v AÁ6 A ¾6\0Aˆ÷\b(\0AØÀ 5\0\v \0  A\bjü\v \0("A\x006ü A\x006ì B\x007Ø \0³ AÐ\0j$\0\f\v (LE\r \0A\0Õ \0 (\bB +@! |@ -\0P"Aâ\0G@ Aô\0G\r  +0D\0\0\0\0\0\0à?¢ \f\v +  +0D\0\0\0\0\0\0à¿¢  \f\v  + D\0\0\0\0\0\0à?¢ \v +¡"9 \t-\0Aq@   ¡"9\vA\0!@ (L M@ \0Ô +8!@ A8l" (Hj"-\x000"\bAò\0G@ \bAì\0G\r  +(D\0\0\0\0\0\0à¿¢ !\f\v  +(D\0\0\0\0\0\0à?¢ !\v  9\0  )7\b  9 \0  ¨   (H j+(¡"9 Aj!\f\v\v\v \t \n6\f\v A j$\0\v  \0E"j" AtA€\b "  K! \0#!@ \0-\0AÿF@ \0(\0  AÉ!\f\v A! @  \0 ü\n\0\0\v \0 6\v \0Aÿ:\0 \0 6\b \0 6\0\vs \0# \0EO@ \0AÊ\v \0#!@ \0&@ \0 j :\0\0 \0 \0-\0Aj:\0 \0#AI\rAã¶Aòü\0A¯AŸ³\0\0\v \0(\0 j :\0\0 \0 \0(Aj6\v\vU@ \0(\0"@ E\r \0( 9"\0F   \0ÐA\vE\vA˜×AÛû\0AÀ\0A¯<\0\0\vAëÖAÛû\0AÁ\0A¯<\0\0\v@\0 \0A\0†"\0(ô@Aá8Aë½AûÃ\0A•”\0\0\v \0 AÒÛ –\b \0 \0(ÔAk6Ô\v®~@ @ -\0\0A%G@ \0(L"(\b     (\0(\b\0"\r\v#\0A k"$\0@ \0(LA  AFAtj(,"E\r\0 \0 ý\b"\bE\r\0  \b6  A (\0\0"E\r\0  )7\0A!\v A j$\0 "\r\v E\r\0 E \0(L"(\b A\0 A (\0(\b\0"Er\r\0 )\0!\t#\0Ak"$\0@AA C"@  \t7  \0 ”6 \0(L"A  AF"At"j(,"E@AÀÞ\tA¼Þ\t(\0f! \0(L" j 6,\v  j(8"E@AØÞ\tA¼Þ\t(\0f! \0(L Atj 68\v  A (\0\0  A (\0\0 Aj$\0\f\v A 6\0Aˆ÷\b(\0A§ê .\0\v\v \vÆ_\n|~#\0A k"$\0@@@@@ \0@ E\r E\r (\0"E\r@ A\bq@  6$  6(A\0!   A$jA\0Û! \0   A A@k!@  FE@   A0lj")(78  ) 70  )H7\b  A@k)\x007\0 \0 A0jA8 Aj!\f\v\v \f\v@ A\fvAÿ\0q"AG@ \r Aq@  6  60   A jAÛ! AlAjA!A\0!@  FE@  Atj"  Atj")\b7\b  )\x007\0  )7  )7  )7(  )7  )(78  ) 70 A@k ) 7\0  )(7H  )87X  )07P Aj! Aj!\f\v\v  Atj" )\b7\b  )\x007\0  Ar"Atj" )7\b  )7\0 \0 Aj  È  \f\v AÛ6 Aªº6Aˆ÷\b(\0AØÀ Aj5\0\v +\b!  )\b78  )\x0070  +9@    " +¡9H  + 9P   +(¡9X  +09`   +8¡9h  +@9p   +H¡9x  +P9€   +X¡9ˆ  )`7  )h7˜ \0   È \0 A0jAA\0È\f\v  (\x006\f   A\fjA\0Û!@@@@@@@@@@@@@@@@@@@@@@@@@@ Ak\0\b\t\n\v\f\r\v Aj"A!A!@  F@   A0lj"Aj)\x007\b  )7\0  Atj" Ak")\b7\b  )\x007\0 \0   A   )\b"78  )\0"70  )7H  )7@  +@ ¿ +\0¡ 9P  +H ¿ +\b¡ 9X \0 A@kA8  )X7H  )P7@ \0 A0jA8\f  At"j"  j")\b7\b  )\x007\0 Aj!\f\v\0\v\0\v Aj"A" )\b7\b  )\x007\0  ) 7  )(7  + +0" +@¡D\0\0\0\0\0\0\b@£" 9 +(!\b +H!\t +8!    90    \t¡D\0\0\0\0\0\0\b@£" 98  \b  9(A  AM!A!@  F@ \0   A   )878  )070  ) 7@  )(7H \0 A0jA8\f  At"j"  jA k")\b7\b  )\x007\0 Aj!\f\v\0\v\0\v Aj"A" )\b7\b  )\x007\0  +\0"  +¡"D\0\0\0\0\0\0п¢ 9 +\b!\b +H!\t  +8"98   D\0\0\0\0\0\0À¢ 90     ¡9  \b  \t¡D\0\0\0\0\0\0\b@£ "9(  9 +0!  9H  9@A  AM!A!@  F@ \0   A \f  At"j"  jA0k")\b7\b  )\x007\0 Aj!\f\v\0\v\0\v AG\rAA" )\b7\b  )\x007\0  )(7  ) 7  )H7(  )@7  )(78  ) 70  )€7@  )ˆ7H  ) 7P  )¨7X \0 A A   + +° +\0¡ 90  + +¸ +\b¡ 98  )@7@  )H7H \0 A0j"A8  )ˆ7H  )€7@ \0 A8  )\b7H  )\x007@ \0 A8\f\v AG\rA\fA" )\b7\b  )\x007\0  )7  )7  +0" +@ ¡"\t "9  +8" +H ¡"\n "\b9(    + ¡ "90 +(!\v  \t  "\t  ¡ 9P  \t9@  \b  \v¡ "98  \n  "9H   \b ¡ 9X  +`" +P ¡"\t "9  +h" +X ¡"\n "\b9˜    +p¡ "9€ +x!\v  \t  "\t9p  \t  ¡ 9`  \b  \v¡ "9ˆ  \n  "9x   \b ¡ 9h  ) 7   )(7¨  )07°  )87¸ \0 A\f A  )(78  ) 70  + " +0" ¡¡"9@  +(" +8"\b ¡¡"9H   +@ ¡ 9P   +H \b¡ 9X  )P7`  )X7h \0 A0j"A8  )h78  )`70  +`" +p" ¡¡"9@  +h" +x"\b ¡¡"9H   +€ ¡ 9P   +ˆ \b¡ 9X  )7`  )˜7h \0 A8 \f\v Aj"A" +\0" +" D\0\0\0\0\0\0à?¢"  ¡"D\0\0\0\0\0\0À?¢ "9\0 +H!\t +8!\n +(!\v +!\f   D\0\0\0\0\0\0Ð?¢¡"\b9  \b9  \f \v D\0\0\0\0\0\0à?¢"9(   \n \t¡"D\0\0\0\0\0\0\b@¢D\0\0\0\0\0\0à?¢ "\t9  \t9\b +0!\n + !\v  D\0\0\0\0\0\0Ð?¢"\f \t 9ˆ  9€  D\0\0\0\0\0\0à?¢   " \f¡"\t 9x  \t9h  9`  9X  9P  9H  98   \v \n¡" 9p  \b D\0\0\0\0\0\0à?¢ "9@  90 \0   A  +90  + +(" D\0\0\0\0\0\0à?¢98  +\x009@   +\b +8¡D\0\0\0\0\0\0à?¢ 9H \0 A0jA8 \f\v Aj"A" +"9\0  + +8" +H¡D\0\0\0\0\0\0à?¢"¡9\b +0!\b   ¡9  \b9  + 9 +(!  90    "98  9(  +\b"  +8¡D\0\0\0\0\0\0à?¢¡9H  +\x009@ \0   A \f\v Aj"A" +\0 + D\0\0\0\0\0\0à?¢" + +0¡"D\0\0\0\0\0\0Ð?¢"\t "9\0 +(!\b +!\n  9  \n \b D\0\0\0\0\0\0à?¢"\b9\b +H!\n +8!\v  \b9x   \t¡"\t9p  \t9`   D\0\0\0\0\0\0\bÀ¢D\0\0\0\0\0\0Ð?¢ "9P  9@  D\0\0\0\0\0\0à?¢  "90  9  \b \v \n¡D\0\0\0\0\0\0à?¢" "9h  9X  9(  9    "9H  98 \0   A  +90  + +(" D\0\0\0\0\0\0à?¢98  +\x009@   +\b +8¡D\0\0\0\0\0\0à?¢ 9H \0 A0jA8 \f\v Aj"A" +\0 + D\0\0\0\0\0\0à?¢" + +0¡"D\0\0\0\0\0\0\b@¢D\0\0\0\0\0\0Ð?¢"\b "9\0 +(!\t +!\n  9  \n \t D\0\0\0\0\0\0à?¢"9\b +H!\t +8!\n  9X   \b¡"\b9P  \b9@   D\0\0\0\0\0\0Ð?¢"¡90    9   \n \t¡"D\0\0\0\0\0\0Ð?¢ "9H  9  D\0\0\0\0\0\0à?¢  "98  9( \0   A  +90  + +(" D\0\0\0\0\0\0à?¢98  +\x009@   +\b +8¡D\0\0\0\0\0\0à?¢ 9H \0 A0jA8 \f\v Aj"A" +\0" +" D\0\0\0\0\0\0à?¢" + +0¡"\b "\t9\0 +(!\n +!\v +H!\f +8!\r    ¡D\0\0\0\0\0\0Ð?¢¡"9@  90  \t \b¡"9  9  \v \n D\0\0\0\0\0\0à?¢ \r \f¡"D\0\0\0\0\0\0Ð?¢ "9H  9\b  D\0\0\0\0\0\0à?¢  "98  9(    9 \0   A  +90  + +(" D\0\0\0\0\0\0à?¢98  +\x009@   +\b +8¡D\0\0\0\0\0\0à?¢ 9H \0 A0jA8 \f\v Aj"A" +\0" +" D\0\0\0\0\0\0à?¢"  ¡D\0\0\0\0\0\0À?¢"\b  + +0¡D\0\0\0\0\0\0à?¢" "9\0 +(!\t +!\n +H!\v +8!\f  9p   ¡"9`  9P   \b¡" ¡"9@  90  9  9  \n \t D\0\0\0\0\0\0à?¢" \f \v¡"D\0\0\0\0\0\0Ð?¢"\b¡"9X  9H   \b "9  9\b   D\0\0\0\0\0\0à?¢"¡"9x  9h    "98  9( \0   A  +90  + +(" D\0\0\0\0\0\0à?¢98  +@9@   +\b +8¡D\0\0\0\0\0\0à?¢ 9H \0 A0j"A8  +p90  + +(" D\0\0\0\0\0\0à?¢98  +\x009@   +\b +8¡D\0\0\0\0\0\0à?¢ 9H \0 A8 \f\v A" +"9\0  + +( D\0\0\0\0\0\0à?¢ +8 +H¡"D\0\0\0\0\0\0À?¢ "9\b +0!\b + !\t  D\0\0\0\0\0\0à?¢  "98  90  9(  9   \t \b¡"   "9  9 \0   A  A" + + +0¡" "9\0 +H! +8!\b +(!\t +!\n  90    "9  9  \n \t D\0\0\0\0\0\0à?¢ \b ¡"D\0\0\0\0\0\0À¢D\0\0\0\0\0\0À?¢ "9  9\b  D\0\0\0\0\0\0à?¢  "98  9( \0   A  +90  + +(" D\0\0\0\0\0\0à?¢98  +\x009@   +\b +8¡D\0\0\0\0\0\0à?¢ 9H \0 A0jA8 \f\r\v A" +\0"9\0 +(! +! +H!\b +8!\t  9    D\0\0\0\0\0\0à?¢ \t \b¡"D\0\0\0\0\0\0À?¢ "98     ¡"90  9  9\b  D\0\0\0\0\0\0à?¢  "9(  9 \0   A  A" +\0 + +0¡¡"9\0 +(! +! +H!\b +8!\t  9   \t \b¡"¡"\b90  \b9    D\0\0\0\0\0\0à?¢ D\0\0\0\0\0\0À¢D\0\0\0\0\0\0À?¢ "98  9\b  D\0\0\0\0\0\0à?¢  "9(  9 \0   A  +90  + +(" D\0\0\0\0\0\0à?¢98  +09@   +\b +8¡D\0\0\0\0\0\0à?¢ 9H \0 A0jA8 \f\f\v A" +\0 + D\0\0\0\0\0\0à?¢ + +0¡"D\0\0\0\0\0\0"@¢D\0\0\0\0\0\0À?¢¡"9\0 +(! +!\b +H!\t +8!\n  90    "9  9  \b  D\0\0\0\0\0\0à?¢ \n \t¡"D\0\0\0\0\0\0À?¢ "9  9\b  D\0\0\0\0\0\0à?¢  "98  9( \0   A  A" +\0 + D\0\0\0\0\0\0à?¢ + +0¡"D\0\0\0\0\0\0"@¢D\0\0\0\0\0\0À?¢¡"9\0 +H! +8!\b +(!\t +!\n  90    "9  9  \n \t D\0\0\0\0\0\0à?¢ \b ¡"D\0\0\0\0\0\0@¢D\0\0\0\0\0\0À?¢¡"9  9\b  D\0\0\0\0\0\0à?¢  "98  9( \0   A  A" +\0 + D\0\0\0\0\0\0à?¢ + +0¡"D\0\0\0\0\0\0À?¢ "9\0 +H! +8!\b +(!\t +!\n  90    "9  9  \n \t D\0\0\0\0\0\0à?¢ \b ¡"D\0\0\0\0\0\0@¢D\0\0\0\0\0\0À?¢¡"9  9\b  D\0\0\0\0\0\0à?¢  "98  9( \0   A  A" +\0 + D\0\0\0\0\0\0à?¢ + +0¡"D\0\0\0\0\0\0À?¢ "9\0 +(! +!\b +H!\t +8!\n  90    "9  9  \b  D\0\0\0\0\0\0à?¢ \n \t¡"D\0\0\0\0\0\0À?¢ "9  9\b  D\0\0\0\0\0\0à?¢  "98  9( \0   A  +90  + +(" D\0\0\0\0\0\0à?¢98  +\x009@   +\b +8¡D\0\0\0\0\0\0à?¢ 9H \0 A0j"A8  +\0 +" D\0\0\0\0\0\0à?¢ + +0¡D\0\0\0\0\0\0"@¢D\0\0\0\0\0\0À?¢¡90 +(! +!  9@    D\0\0\0\0\0\0à?¢98   +\b +8¡D\0\0\0\0\0\0à?¢ 9H \0 A8 \f\v\v A" +\0 + D\0\0\0\0\0\0à?¢ + +0¡"¡"9\0 +(! +!\b +H!\t +8!\n  90      "9  9  \b  D\0\0\0\0\0\0à?¢ \n \t¡"D\0\0\0\0\0\0À?¢ "9  9\b  D\0\0\0\0\0\0à?¢  "98  9( \0   A  A" +\0 + D\0\0\0\0\0\0à?¢ + +0¡"¡"9\0 +H! +8!\b +(!\t +!\n  90      "9  9  \n \t D\0\0\0\0\0\0à?¢ \b ¡"D\0\0\0\0\0\0À¢D\0\0\0\0\0\0À?¢ "9  9\b  D\0\0\0\0\0\0à?¢  "98  9( \0   A  +90  + +(" D\0\0\0\0\0\0à?¢98  +\x009@   +\b +8¡D\0\0\0\0\0\0à?¢ 9H \0 A0j"A8  +90  + +(" D\0\0\0\0\0\0à?¢98  +\x009@   +\b +8¡D\0\0\0\0\0\0à?¢ 9H \0 A8 \f\n\v A" +\0"9\0  + +8" +H¡D\0\0\0\0\0\0à?¢"¡9\b +0!\b   ¡9  \b9  + 9 +(!  90    "98  9( \0   A  + + +0¡D\0\0\0\0\0\0Ð?¢" "90 +(! +!\b +H!\t +8!\n    9@  \b  D\0\0\0\0\0\0à?¢ \n \t¡"D\0\0\0\0\0\0À?¢ "98   D\0\0\0\0\0\0Ð?¢¡9H \0 A0j"A8  + + +0¡D\0\0\0\0\0\0Ð?¢" "90 +(! +!\b +H!\t +8!\n    9@  \b  D\0\0\0\0\0\0à?¢ \n \t¡"D\0\0\0\0\0\0À?¢¡"98  D\0\0\0\0\0\0Ð?¢  9H \0 A8  + + +0¡D\0\0\0\0\0\0Ð?¢" 90  +( +8 +H¡D\0\0\0\0\0\0\b@¢D\0\0\0\0\0\0Ð?¢ "98 +\0!  9H   ¡9@ \0 A8 \f\t\v A" +\0 + D\0\0\0\0\0\0à?¢" + +0¡D\0\0\0\0\0\0à?¢" "9\0 +(!\b +!\t   ¡"90  9  9   \t \b D\0\0\0\0\0\0à?¢" "98   ¡"9(  9  9\b \0   A   +\0 + D\0\0\0\0\0\0à?¢" + +0¡D\0\0\0\0\0\0\b@¢D\0\0\0\0\0\0Ð?¢" "90 +(!\b +!\t   ¡"9`  9P  9@  9p   \t \b D\0\0\0\0\0\0à?¢" "9h   ¡"9X  9H  98  9x \0 A0j"A8  +\0" + D\0\0\0\0\0\0à?¢ + +0¡D\0\0\0\0\0\0\b@¢D\0\0\0\0\0\0Ð?¢ 90 +(! +!  9@    D\0\0\0\0\0\0à?¢98   +\b +8¡D\0\0\0\0\0\0à?¢ 9H \0 A8  +"90  + +(" D\0\0\0\0\0\0à?¢98   +\0 D\0\0\0\0\0\0à?¢ + +0¡D\0\0\0\0\0\0\b@¢D\0\0\0\0\0\0Ð?¢¡9@   +\b +8¡D\0\0\0\0\0\0à?¢ 9H \0 A8\f\b\v A\fj"A" +\0 + D\0\0\0\0\0\0à?¢" + +0¡"D\0\0\0\0\0\0Ð?¢ "9\0 +(!\t +!\n +H!\v +8!\f   D\0\0\0\0\0\0À?¢"¡"\b9ð  9à    ¡"\r ¡" "9Ð  9À  9°  9   9  9€  \r9p  9`  \b9P  9@  90  \b9  9  \n \t D\0\0\0\0\0\0à?¢ \f \v¡"D\0\0\0\0\0\0à?¢ "9ø  9Ø  9È  9\b  D\0\0\0\0\0\0À?¢"  "9è  9¸  9    "9¨  9(    "9˜  9h  98    "9ˆ  9x  9X  9H \0   A  +à"90 +(! +!  9@    D\0\0\0\0\0\0à?¢"98   +8 +H¡D\0\0\0\0\0\0À?¢ 9H \0 A0j"A8  +à"90 +(! +! +H!\b +8!\t  9@    D\0\0\0\0\0\0à?¢ \t \b¡"D\0\0\0\0\0\0Ð?¢ "98  D\0\0\0\0\0\0À?¢  9H \0 A8  +90  + +(" D\0\0\0\0\0\0à?¢98  +\x009@   +\b +8¡D\0\0\0\0\0\0à?¢ 9H \0 A8 \f\v Aj"A" +\0 + D\0\0\0\0\0\0à?¢ + +0¡"D\0\0\0\0\0\0À?¢" "9\0 +(!\b +!\t +H!\n +8!\v   D\0\0\0\0\0\0Ð?¢¡"9p   ¡"\f9`  \f9P  9@  90    "9  9  \t \b D\0\0\0\0\0\0à?¢ \v \n¡"D\0\0\0\0\0\0à?¢ "9x  9\b  D\0\0\0\0\0\0À?¢"  "9h  9   D\0\0\0\0\0\0Ð?¢ "9X  9(    "9H  98 \0   A  +\0 + D\0\0\0\0\0\0à?¢"90 +(! +!  9@    D\0\0\0\0\0\0à?¢"98   +8 +H¡D\0\0\0\0\0\0À?¢ 9H \0 A0j"A8  +\0 + D\0\0\0\0\0\0à?¢"90 +(! +! +H!\b +8!\t  9@    D\0\0\0\0\0\0à?¢ \t \b¡"D\0\0\0\0\0\0Ð?¢ "98   D\0\0\0\0\0\0À?¢ 9H \0 A8  +90  + +(" D\0\0\0\0\0\0à?¢98  +\x009@   +\b +8¡D\0\0\0\0\0\0à?¢ 9H \0 A8 \f\v A\fj"A" +\0 + D\0\0\0\0\0\0à?¢" + +0¡"D\0\0\0\0\0\0Ð?¢ "9\0 +(!\n +!\v +H!\f +8!\r   D\0\0\0\0\0\0À?¢"\b¡"\t9ð  9à   \b¡" \b¡" \b "\b9Ð  9À  9°  \b9   9  9€  9p  9`  \t9P  9@  90  \t9  9  \v \n D\0\0\0\0\0\0à?¢ \r \f¡"D\0\0\0\0\0\0à?¢ "9ø  9Ø  9È  9\b   D\0\0\0\0\0\0À?¢" "9è  9¸  9    "9¨  9(    "9˜  9h  98    "9ˆ  9x  9X  9H \0   A  )è78  )à"70  7@  + +( D\0\0\0\0\0\0à?¢9H \0 A0j"A8  +90  + +(" D\0\0\0\0\0\0à?¢98  +\x009@   +\b +8¡D\0\0\0\0\0\0à?¢ 9H \0 A8 \f\v Aj"A" +\0 + D\0\0\0\0\0\0à?¢ + +0¡"D\0\0\0\0\0\0À?¢" "9\0 +(!\b +!\t +H!\n +8!\v   D\0\0\0\0\0\0Ð?¢¡"9p   ¡"\f9`  \f9P  9@  90    "9  9  \t \b D\0\0\0\0\0\0à?¢ \v \n¡"D\0\0\0\0\0\0à?¢ "9x  9\b   D\0\0\0\0\0\0À?¢" "9h  9   D\0\0\0\0\0\0Ð?¢ "9X  9(    "9H  98 \0   A  +\0 + D\0\0\0\0\0\0à?¢"90 +\b!  9@  98  + +( D\0\0\0\0\0\0à?¢9H \0 A0j"A8  +90  + +(" D\0\0\0\0\0\0à?¢98  +\x009@   +\b +8¡D\0\0\0\0\0\0à?¢ 9H \0 A8 \f\v Aj"A" + + "\b +0"¡D\0\0\0\0\0\0à?¢"\t¡"9\0 +!\n +H!\v +8!  9    \v¡D\0\0\0\0\0\0à?¢"¡9  \n ¡9\b  + 9 +(!  9`  9P  \b \t "\b9@  98  \b90  9(    "9X  9H  +8"9h  +\b"  ¡D\0\0\0\0\0\0à?¢¡9x +\0!  9ˆ  9p  9€ \0   A \f\v Aj"A" + + +0"¡D\0\0\0\0\0\0à?¢¡"9\0 +!\b +H!\t +8!  9    \t¡D\0\0\0\0\0\0à?¢"¡9  \b ¡9\b  + 9 +(!  9@  90    "98  9(  +8"9H  +\b"  ¡D\0\0\0\0\0\0à?¢¡9X +\0!  9h  9P  9` \0   A \f\v Aj"A" +\0"\t9\0  +\b +8 +H¡D\0\0\0\0\0\0à?¢"¡"9\b +0!\b + !  9    \b¡D\0\0\0\0\0\0à?¢ "9  9  +(9(  +90 +!  +("\b9H  9@  9P  \b  9X    \b¡D\0\0\0\0\0\0à?¢¡98 +8!  \t9`    9h \0   A \f\v Aj"A" +\x009\0  +\b +8 +H¡D\0\0\0\0\0\0à?¢"¡"9\b +0!\b + !  9    \b¡D\0\0\0\0\0\0à?¢"\t "9  9  +(9(  +90 +!  +("\b9H  9@  9P  \b  9X    \b¡D\0\0\0\0\0\0à?¢¡98  +8"  9h +!  9x   \t¡"9p  9` +0!  9ˆ  9€ \0   A \v \v A j$\0\vAéÖAªºAÇAá)\0\0\vAÍ×AªºAÈAá)\0\0\vAî–AªºAÉAá)\0\0\vAºžAªºAÊAá)\0\0\vA÷¶AªºA¸Aá)\0\0\vA÷¶AªºAÏAá)\0\0\và#\0Ak"$\0@@ \0# \0EO@ \0E"Aj" AtA€\b "  K! \0#!@ \0-\0AÿF@ AF\r \0(\0! E@ A\0!\f\v  b"E\r  M\r  k"E\r  jA\0 ü\v\0\f\v A! @  \0 ü\n\0\0\v \0 6\v \0Aÿ:\0 \0 6\b \0 6\0\v \0#!@ \0&@ \0 j :\0\0 \0 \0-\0Aj:\0 \0#AI\rAã¶Aòü\0A¯AŸ³\0\0\v \0(\0 j :\0\0 \0 \0(Aj6\v Aj$\0\vAÞÀA¤ý\0AÍ\0A˜´\0\0\v  6\0Aˆ÷\b(\0A§ê .\0\ví|#\0AÐ\0k"$\0 \0 \0A0j" \0(\0AqAF((+! A\x0068 A\x006H@@A€Í\n(\0"E\r\0 \0 ?"E\r\0 -\0\0E\r\0 \0 A@kç \0  iA\0GA\0 +@" (H" (L"Ÿ! \0( 6` (" -\0qAr:\0q \0A¨Í\n(\0Aǔl! \0( Z:\0s\f\vA\0!\v@A„Í\n(\0"E\r\0 \0 ?"E\r\0 -\0\0E\r\0 E@ \0 A@kç (L! +@! (H!\v \0  iA\0GA\0   Ÿ! \0( 6l (" -\0qA r:\0q\v@@A´Í\n(\0"E\r\0 \0 ?"E\r\0 -\0\0E\r\0 \0 A@k A0jñ\b \0  iA\0GA\0 +0" (8" (<"Ÿ! \0( 6d (" -\0qAr:\0q\f\vA\0!\v@A¸Í\n(\0"E\r\0 \0 ?"E\r\0 -\0\0E\r\0 E@ \0 A@k A0jñ\b (c\r\0@ AF@  9¸ !\f\v +¸"™D•Ö&è\v.>c\r\v D\0\0\0\0\0\0ð?a D\0\0\0\0\0\0ð?aq\r\0AŒË\n-\0\0@  9˜  9Aˆ÷\b(\0AÑò Aj1\v \0!  ((”" +° +\0¢9\0  +¸ +\b¢9\b \0 !\fA\v\v!\v  j! (\0"E\r\0AŒË\n-\0\0@ \0 !  (6„  6€Aˆ÷\b(\0A“ù A€j (\0!\v AO@@@@@@@@ Ak\r\0\t\v \0Aø\f\v \0A\0ø\f\v !#\0A k"$\0 \0"\b:"\vA0!\0 A\bj \b¶ +"D\0\0\0\0\0\0@¢! +\b"D\0\0\0\0\0\0@¢! -\0 \b!Aq! \0!@ @ ("+ ! +(! (”"+\b! +\0!| @  D\0\0\0\0\0\0à?¢D\0\0\0\0\0\0R@¢"D\0\0\0\0\0\0à?D\0\0\0\0\0\0à¿ D\0\0\0\0\0\0\0\0f ü· D\0\0\0\0\0\0$@¢!  D\0\0\0\0\0\0à?¢D\0\0\0\0\0\0R@¢"D\0\0\0\0\0\0à?D\0\0\0\0\0\0à¿ D\0\0\0\0\0\0\0\0f ü· D\0\0\0\0\0\0$@¢\f\v  ¢D\0\0\0\0\0\0R@¢"D\0\0\0\0\0\0à?D\0\0\0\0\0\0à¿ D\0\0\0\0\0\0\0\0f !  ¢D\0\0\0\0\0\0R@¢"D\0\0\0\0\0\0à?D\0\0\0\0\0\0à¿ D\0\0\0\0\0\0\0\0f \v!  6  D\0\0\0\0\0\0$@¢D\0\0\0\0\0\0R@¢"D\0\0\0\0\0\0à?D\0\0\0\0\0\0à¿ D\0\0\0\0\0\0\0\0f ü"\n6  D\0\0\0\0\0\0$@¢D\0\0\0\0\0\0R@¢"D\0\0\0\0\0\0à?D\0\0\0\0\0\0à¿ D\0\0\0\0\0\0\0\0f ü"\t6\f  ü" \nj6,  ü" \tj6(  \n k6$  \t k6 A0j! \b !\f\v\vA \v \vALAk! \0!@@  F\r Aj"! A0j"!@ \v F@ !\f\v@@ (( ( H\r\0 (( ( H\r\0 (, ($H\r\0 (, ($N\r\v Aj! A0j!\f\v\v\v@@@@@@@@@ Ak\b\0\v \b \0 \vA¿A½ \b \0 \vAÀA¼\f\v \b \0 \vAÀA¼ \b \0 \vA¿A½\f\v \b \0 \vAÁA½ \b \0 \vAÀA¼\f\v \b \0 \vAÂA¼ \b \0 \vA¿A½\f\v \b \0 \vA¿A\0½ \b \0 \vAÀA\0¼\f\v \b \0 \vAÀA\0¼ \b \0 \vA¿A\0½\f\v \b \0 \vAÂA\0¼ \b \0 \vA¿A\0½\f\v \b \0 \vAÁA\0½ \b \0 \vAÀA\0¼\vA\0! \vA\0 \vA\0J! \0!@  F\r (\f! (((”" (·D\0\0\0\0\0\0R@£D\0\0\0\0\0\0$@£9\b  ·D\0\0\0\0\0\0R@£D\0\0\0\0\0\0$@£9\0 Aj! A0j!\f\0\v\0\v \0 A j$\0\f\v \0Aø\f\v \0:"\tA!  \tAtA"\b6˜  \b \tAtj6œ \0!@ @ ("(”!A\0!@ AF@  Atj" + 9\0  +(9\b Aj! \0 !\f A˜j Atj(\0 Atj  Atj+\0¶8\0 Aj!\f\v\0\v\0\v\v B\x007Ü A6À B\x007¸A\0! A\x006° B\x007ä B\x007ì A\x006ô A€j \0¶DÇqÇq¼?!DÇqÇq¼?! -\0@ +€D\0\0\0\0\0\0R@£"  ! +ˆD\0\0\0\0\0\0R@£"  !\v  6Ø  9Ð  9È \t A˜j A°j‚\v \0!@ @ ((”!A\0!@ AF@ Aj! \0 !\f  Atj A˜j Atj(\0 Atj*\0»9\0 Aj!\f\v\0\v\0\v\v \b \f\v  (6\0A©ö (\vA\0\v j!\f\vA¼î\n \0ð6\0AÀî\nA¼î\n(\0Aj¸Ÿü6\0Aðî\nA¼î\n(\0Aà\06\0 \0! A°j \0¶ +°!| -\0ÀE@AÜ! +¸\f\v D\0\0\0\0\0\0R@£!AÝ! +¸D\0\0\0\0\0\0R@£\v!@@ A¼î\n(\0"O\rAðî\n(\0 Aà\0lj" ((”"+\x009\b  +\b9 A(j    \0E@ B\x007X  6\0  6 Aj! \0 !\f\v\vAðî\n(\0Aðî\nA\x006\0ì\n\f\vA\0! A°jA\0AÐ\0ü\v\0 @Aðî\n(\0!Dÿÿÿÿÿÿï!Dÿÿÿÿÿÿïÿ!Dÿÿÿÿÿÿïÿ!Dÿÿÿÿÿÿï!@  F@Dš™™™™™©?!@ \0A¤å\0%"\0E\r\0 \0-\0\0E\r\0 \0õ!\vA\0!Aˆï\n   ¡ ¢" "9\0Aï\n  ¡"9\0A€ï\n   ¡ ¢"¡"9\0Aøî\n   "9\0  9Ø  9è  9¸  9Ð  9È  9ð  9À  9à (\0!\0A\0Í!@@ \0AF@ E\r A°jë\nA\0!@Aðî\n(\0!A¼î\n(\0!\0A\0!@ \0 G@  Aà\0lj" +\bDÍÌÌÌÌÌð?¢9\b  +DÍÌÌÌÌÌð?¢9 Aj!\f\v\v Aj"Í\r\0\vAŒË\n-\0\0E\r  6Aˆ÷\b(\0AžÞ Aj\f\v E\r A°jë\nA\0!@ A°j"!\0 @ \0é\n\vAÐî\nBÿÿÿÿÿÿÿw7\0AÈî\nBÿÿÿÿÿÿÿ÷ÿ\x007\0@A¼î\n(\0"@ \0(\0!Dÿÿÿÿÿÿï!Dÿÿÿÿÿÿïÿ!A\0!\0@ \0 F\rAÈî\n   \0Atj(\0"+\0\'"9\0AÐî\n  +\0""9\0 \0Aj!\0\f\0\v\0\vAã–AȸAÏA™“\0\0\vAØî\n (\0+\b9\0  AtjAk(\0+\b!Aèî\n  ¡9\0Aàî\n 9\0D\0\0\0\0\0\0\0\0!D\0\0\0\0\0\0\0\0!#\0A0k"\f$\0AA"\rAÀî\n(\0At"\x006 \r \0A(6\0A˜ï\n Ù6\0 \fB\x007( \fB\x007 \fB\x007#\0A k"$\0@@@ \fAj"@ B\x007 B\x007\b B\x007\0 AÀî\n(\0"At"\x006\b \0A€€€€O\rA\0  \0AC"\0\r  \x006\f  A\0A\0Ø6  A\0A\0Ø"\x006 (" \x006 A\x006\0 \0A\x006 \0 6\0 (\f"\0 6\0 \0 (\bAtjAk (6\0 A j$\0\f\vAªÔAÞºAAÉ\0\0\v A6  \x006\0Aˆ÷\b(\0AØê .\0\v  At6Aˆ÷\b(\0A§ê Aj.\0\v Ù!@ \rÒE@ \r(\f! \r(\0!\0@ \0 A(lj( "E@ \r Aj"6\f\f\v\v \f (+\x009\b \f +9 \f+! \f+\b!\v@ E\r\0@ \rÒ\r\0 +\b" c\r\0  b\r +\0 cE\r\vA\0!@ \fAj"\n@ \n(\b"\0A\0L\r@ +\0AÈî\n+\0¡Aèî\n+\0£ \0·¢"D\0\0\0\0\0\0\0\0c\r\0  \0Ak"¸d\r\0 ü!\v@ \n Ð"\r\0A!@ \n  kÐ"\r  j!\0 Aj! \n \0Ð"E\r\0\v\v \n(!@@ \n("\0 G@  F\r  ÏE\r\v@  ("G@  Ï\r\v\v (\0!\f\v@ (\0" \0F\r  ÏE\r\0\v\v@ A\0L\r\0  \n(\bAkN\r\0 \n(\f Atj 6\0\v \f\vAªÔAÞºA·Aë¥\0\0\vAñ7AÞºA¬A¾Ú\0\0\0\v"\t(! \t \n \tò\n  \nù\n"A\0Ø"Ñ \t  \nÚ"\0@ \r \tÓ \r \t \0 \0 ÛÜ\v  \fAj"\0 AØ"Ñ   \0Ú"\0@ \r  \0 \0 ÛÜ\v Ù!\f\v \rÒE@ \r(\0 \r(\fA(lj"\0 \0( "\n( 6 \r \r(\bAk6\b \n(\0! \n("(! \n(\b"\0 \0A$A \n-\0\fjA˜ï\n\v(\0!\t ò\n!\0 \n(\b \n,\0\f \n(" \fAj"Ô (\b ,\0\f  Ô \nõ\n \r Ó õ\n   \0 \t \t+\b \0+\bd"\n" \t \0 \n ù\n"\0 \nØ"\tÑ \0 \nE  Ô  \t Ú"\0@ \r Ó \r  \0 \0 ÛÜ\v \t  \fAjÚ"\0E\r \r \t \0 \0 ÛÜ\f\v\v \f(((!\0@ \f(, \0G@ \0(\bø\n \0(!\0\f\v\v@ \fAj@ \f(!@ @ (\0!\0  \f \x006 \0!\f\v\v \fB\x007\f\vA§×AÁ¿A§Aî!\0\0\v \f($ \r‹ \fA0j$\0 Aðî\n(\0")\b7ð  )7ø  )Ø7à  )à7è Aðj Aàj¸!  )7Ø  )\b7Ð  )¸7À  )À7È AÐj AÀj¸!  )7¸  )\b7°  )è7   )ð7¨ A°j A j¸!  )7˜  )\b7  )È7€  )Ð7ˆA! Aj A€j¸! "\0! \0!@A¼î\n(\0 K@ Aðî\n(\0 Aà\0lj")\b7  )7˜  )Ø7€  )à7ˆ Aj A€j¸!  )7x  )\b7p  )è7`  )ð7h Að\0j Aà\0j¸!  )7X  )\b7P  )¸7@  )À7H AÐ\0j A@k¸!  )78  )\b70  )È7  )Ð7(    d"!    c"\n!  \0  d"\t!\0   A0j A j¸" c"!   !   \n!   \t!   ! Aj!\f\v\v A\bj +Ø +à· A\bj +è +ð· \0A\bj +¸ +À· A\bj +È +зA\0!Aðî\n(\0!\nA¼î\n(\0!\t@  \tG@ \n Aà\0lj!@ E@ -\0 AG\r\vA (\\"\0 \0AMAk! (X"+\b! +\0!A!D\0\0\0\0\0\0\0\0!D\0\0\0\0\0\0\0\0!D\0\0\0\0\0\0\0\0!@  G@   Aj"\0Atj"+\0"   Atj"+\b"¡¢   +\b"¡¢ +\0"  ¡¢  ™D\0\0\0\0\0\0à?¢" !      D\0\0\0\0\0\0\b@£¢  !      D\0\0\0\0\0\0\b@£¢  ! \0!\f\v\v   £9   £9\b\v Aj!\f\v\v \vAj"\vÍ"\0@ \0 I!A!A! \0!A\0 \bAj "\bE\rAï\nAï\n+\0"Aˆï\n+\0" ¡Dš™™™™™©?¢"¡"9\0Aˆï\n   "9\0A€ï\nA€ï\n+\0"Aøî\n+\0" ¡Dš™™™™™©?¢"¡"9\0Aøî\n   "9\0  9Ø  9è  9¸  9Ð  9È  9ð  9À  9à Aj!\f\v\vAŒË\n-\0\0E\r\0Aˆ÷\b(\0"\t² ³7€ A€j"\bÃ"(! (! (\f! (\b! (!\0  (\x006ü  \x006ø  6ô  6ð AÈ6ä Aȸ6à  Aj6ì  Aìj6è \tAøÊ Aàj  \v6Ð \tA´ AÐjA\n \t \t±AŒË\n-\0\0E\r\0 \t² ³7€ \bÃ"\b(! \b(! \b(\f! \b(\b! \b(!\0  \b(\x006Ì  \x006È  6Ä  6À AÉ6´ Aȸ6°  Aj6¼  Aìj6¸ \tAøÊ A°j  6  \tAÎ A jA\n \t \t±\vA\0!Aðî\n(\0!A¼î\n(\0!A!@  F\r  Aà\0lj"\b(\0((”"\0 \b+\b9\0 \0 \b+9\b Aj!\f\0\v\0\vì\n (°  j!\f  Aà\0lj"+(! +\b! +0! +8! Aj!  +" +@ "!    "!    \'!    \'!\f\v\0\v\0\vAã–AȸAß\0AË\0\0\v A j$\0 \v˜#\0A k"$\0 A\0 A\0J!@  F@  \0AtjA\x006\0 A\x006 B\x007 B\x007\b  \x006 A\bjA$!\0 (\b \0Atj (6\0 Aj!\bAÿÿÿÿ!\0@@ (E@ \0A\nj!\0A\0!@  F\r  Atj"(\0A\0H@  \x006\0\v Aj!\f\0\v\0\v A\bj \bÇ  ("\0Alj!  \0Atj(\0!\0A!@  (\0O\r  At" (j(\0"\tAtj"\n(\0A\0H@ \n (\b (\b j*\0ü\0A\v \0j6\0  \t6 A\bjA$! (\b Atj (6\0\v Aj!\f\0\v\0\v\v A\bj"\0A- \02 A j$\0  AtjA6\0 Aj!\f\v\v\v2 \0A\0 \0A\0J!\0@ \0 FE@  Atj 8\0 Aj!\f\v\v\vH \0A\0 \0A\0J!@  F@ @ \v\v  Atj(\0"\0@ \0Ì\v\v \0 Aj!\f\0\v\0\v\0A _ \0  à\v\n\0 \0(Þ\v€#\0Ak"$\0#\0Ak"$\0 "Aj!@ ("E@ !\f\v (\0!\b@ "(" \bK@ ! (\0"\r\f\v  \bO\r Aj! ("\r\0\v\v  6\f  (\0"A\0A_!  6  (\x006 A:\0\b  (\f  ê A\x006\0 (\0! A\x006\0 @ \vA\v:\0\f  6\b Aj$\0 \0 (\b6\0 \0 -\0\f:\0 Aj$\0\vï#\0A@j"\f$\0@@@@@ A\0L A\0LrE@   \0  A\0Ö\v"\n(!\r \n(!\t Aj!\bA\0!@  \bF@@A\0!A\0!\b Ak\0\v \t AtjA\x006\0 Aj!\f\v\v \n(!@ \0 \bF@@  F@A\0!@ \0 F@@ A\0L\r\f \t Atj" Ak(\x006\0 Ak!\f\0\v\0  \t  At"j"\b(\0Atj(\0Atj  j(\x006\0  j(\0! \t \b(\0Atj"\b \b(\0"\bAj6\0 \r \bAtj 6\0 Aj!\f\v\0\v\0 At! \t Aj"Atj"\b \b(\0  \tj(\0j6\0\f\v\0\v\0\v@  \bAt"\vj(\0" O\r\0  \vj(\0 O\r\0 \t Atj"\v \v(Aj6 \bAj!\b\f\v\v \fA×6$ \fAâ·6 Aˆ÷\b(\0AØÀ \fA j5\0\vAЗAâ·A´A×ñ\0\0\0\v AF\r\v \fAó6 \fAâ·6\0Aˆ÷\b(\0AØÀ \f5\0\v@ \0 \bF@@  F@A\0!@ \0 F@@ A\0L\r\b \t Atj" Ak(\x006\0 Ak!\f\0\v\0  At"j(\0! \t  j(\0Atj" (\0"Aj6\0 \r Atj 6\0 Aj!\f\v\0\v\0 At! \t Aj"Atj" (\0  \tj(\0j6\0\f\v\0\v\0\v@  \bAt"j(\0" O\r\0  j(\0 O\r\0 \t Atj" (Aj6 \bAj!\b\f\v\v \fAç64 \fAâ·60Aˆ÷\b(\0AØÀ \fA0j5\0\v \n(!@ \0 \bF@@  F@A\0!@ \0 F@@ A\0L\r \t Atj" Ak(\x006\0 Ak!\f\0\v\0  \t  At"\bj(\0Atj"\v(\0"Atj  Atj+\x009\0  \bj(\0!\b \v Aj6\0 \r Atj \b6\0 Aj!\f\v\0\v\0 At! \t Aj"Atj"\b \b(\0  \tj(\0j6\0\f\v\0\v\0\v@  \bAt"\vj(\0" O\r\0  \vj(\0 O\r\0 \t Atj"\v \v(Aj6 \bAj!\b\f\v\v \fAÅ6 \fAâ·6Aˆ÷\b(\0AØÀ \fAj5\0\v \tA\x006\0 \n \x006\bA\0!A\0! \n"("\0A\0 \0A\0J!\n (! (! (! \0AcE@ \0 B  ¡! \n@ A j  AÀj A°jÜ \0 (À" (ÄA\0È A\0 ™Dñh㈵øä>cE\r (°!\f\v ™Dñh㈵øä>c@ \0 (°" (´A\0È\f\v A€\bj" A°j"\tA0ü\n\0\0     £ AÀj \tÜ (€\b \0 (À" (ÄA\0È A\0\v!\n !\v Aj!\f\v\v \f\v !\v (¨"@  )€7˜  )ˆ7  \0 (€" A˜jA\0Alj(\0B  )ˆ7  )€7ˆ \0  AˆjA\0Alj(\0O  )\x007ø  )\b7€  ( ")\x007è  )\b7ð \0A Aøj Aèj " ! ®\v (¬"@ \0 B \0 O  )\x007Ø  )\b7à  (  (¤AtjAk"\b)\x007È  \b)\b7Ð \0A AØj AÈj " ! ®\v  rE E ((\b(AIrrE@ \0 ½\v \vAj!\v\f\0\v\0\vA×õ\0!\v@@ (-\0t"Aq@Aё!\tAͶ\f\v Aq@A¦“!\tA‘ê\f\v A\bq@Aܐ!\tAԐ\f\v AqE\rAϓ!\tA‰ê\v!\v Aèj \tô !@@ -\0\0"A:G@ \r Aèjó" F\r \0 B\f\v  \t6À AèjAÃ3 AÀjn\v Aj!\f\0\v\0\v AðÌ\n(\0 }!\v !\v  \vG@ \0 \vO\v@@ \n@ \v-\0\0!\t -\0\0! \0AàB \0 A×õ\0 "O AÀj" ((\b(\0A0ü\n\0\0 A j!@AˆÍ\n(\0"E\r\0  ?"-\0\0E\r\0A˜ A¦£;\rA™ Aãõ\0;\rAš Aë÷\0;\r A—;E\r\0A›\f\vA˜A› A(Ax (\0AqAFj(\0+Ò\v!\nD\0\0\0\0\0\0\0\0!#\0A°k"$\0 B\x007 B\x007 B\x007\b (! (\0"+\0!  +\b9(  9 A0jA\0A0ü\v\0 A\bjAÀ\0$! (\b Atj A j"\bAÀ\0ü\n\0\0  )\b7¨  )\x007  A8j!\rA\0!@  Aj"K@  )¨7x  ) 7p  Atj!\fA!@ AF@A! +x! +p!@ AF@ !\f Aà\0j Að\0j ¸D\0\0\0\0\0\x004@£A\0A\0‹ +`!  +h"9(  9    ¡  ¡@ "90 \rA\0A(ü\v\0 A\bjAÀ\0$!\f (\b \fAtj \bAÀ\0ü\n\0\0 Aj! ! !\f\v\0\v\0 At" Að\0jj" \f j")\b7\b  )\x007\0 Aj!\f\v\0\v\0\v\v A\bj Aà\0j Að\0jAÀ\0« (`" (p"AtjA0k+\0!%D\0\0\0\0\0\0\0\0!D\0\0\0\0\0\0\0\0!D\0\0\0\0\0\0\0\0!A\0!D\0\0\0\0\0\0\0\0!@  "M@ B\x007\0A\0!@@  M@ D-DTû!\t@ "K!  D ¢    ¢  ƒ (p"\rA͖AŠ»A§A®9\0\0\v (` Atj"+(! + "K! +\b! D! +8! -\x000   ¢ +\0"    ¢ ƒAq@  A  ê\v Aj! (p!\f\v\v Ak!@@ (`! AF\r\0  Atj"+(! +8D-DTû!\t@ "K! +\b! D! + ! -\x000   ¢ +\0"    ¢ ƒAq@  A\0 D-DTû!\t@   ê\v Ak!\f\v\v  A°j$\0  Aj"A\0  GAtj"\r+\b  At"\fj"\b+\b"¡!D\0\0\0\0\0\0\0\0! \b+!#@ \r+\0 \b+\0"¡"D\0\0\0\0\0\0\0\0a D\0\0\0\0\0\0\0\0aq\r\0  †"D\0\0\0\0\0\0\0\0f\r\0 D-DTû!@ !\v    Atj"A8k+\0 ¡!D\0\0\0\0\0\0\0\0! @ A@j+\0 ¡"D\0\0\0\0\0\0\0\0a D\0\0\0\0\0\0\0\0aq\r\0  †" D\0\0\0\0\0\0\0\0f\r\0 D-DTû!@ ! \v # % ! \n\0!@| @ (p"Ak F@A\0!\b D-DTû!ù¿ \f\v D-DTû!ù? !D\0\0\0\0\0\0\0\0   ¡"D-DTû!@   D\0\0\0\0\0\0\0\0cD\0\0\0\0\0\0à¿¢D-DTû!ù? "$D"£ D\0\0\0\0\0\0\0\0a" D\0\0\0\0\0\0$@¢d@ D-DTû!ù¿ "D\0\0\0\0\0\0\0\0c D-DTû!@fr@  D-DTû!@£œD-DTû!@¢¡!\vA!\b D\0\0\0\0\0\0\0\0c D-DTû!@frE\r  D-DTû!@£œD-DTû!@¢¡!\f\vA\0!\b !  $ \f\vA\0!\b (p! D-DTû!ù? \v"!\v (`" \fj" 98  \b:\x000  9(  9 Aì\0:\0  #9  9\b  9\0\f\v\v ( "A\0H\r \0 (¤ AA (¤ \0 B  \vA×õ\0 \t"G@ \0 O\v (È"@  )Ð7X  )Ø7`  (À")\x007H  )\b7P \0A AØ\0j AÈ\0j " ! ®\v (Ì"E\r  )à78  )è7@  (À (ÄAtjAk")\x007(  )\b70 \0A A8j A(j " ! ®\f\v (! E\r ¸D\0\0\0\0\0\0\0@ D\0\0\0\0\0\0à¿¢!A\0! (\b("A0Y Aj!\f\v\v  Aœ>Y\vk~#\0A@j"$\0 \0)!  68  7(  7  7  6  µ µ•»90  7\b  \x006\0Aˆ÷\b(\0AËõ 1 A@k$\0\vKA!@ \0A\bu"AØkA\bI\r\0@ AÿG@ \r \0Aøþj-\0\0\r\f\v \0A~qAþÿF\r\v \0!\v \vÑ@ \0A\0H\r\0 \0Aÿ\0M@  \0:\0\0A\v \0AÿM@  \0A?qA€r:\0  \0AvAÀr:\0\0A\v \0AÿÿM@  \0A?qA€r:\0  \0A\fvAàr:\0\0  \0AvA?qA€r:\0A\v \0AÿÿÃ\0K\r\0  \0A?qA€r:\0  \0AvAðr:\0\0  \0AvA?qA€r:\0  \0A\fvA?qA€r:\0A!\v \v¯|@ \0A”ñ\0%"E\r\0 -\0\0E\r\0 \0(H(" -\0qA\br:\0q \0  iA\0GA\0 \0 \0A\0Aë‡A\0!D\0\0\0\0\0\0,@D\0\0\0\0\0\0ð?F \0 \0A\0A’™A\0!A¼ê\0} \0 \0A\0A“7A\0!A×õ\0}Ÿ! \0( 6\f \0Aô³%!@@ \06 \0G@ E\r -\0\0Aâ\0F\r\f\v E\r\0 -\0\0Aô\0F\r\vA\0\f\vA\v!@ \0A½%"E\r\0 -\0\0"Aò\0G@ Aì\0G\r Ar!\f\v Ar!\v \0( :\0“ \06 \0F\r\0 \0((\f"+ D\0\0\0\0\0\0 @ ! +D\0\0\0\0\0\x000@ ! \06 \0("\0A0j! \0-\0“!(-\0tAqE@  AtA qj"\0 9\b \0 9\0\v AA0 Aq"j 9\0 \0 j 98\v\vZ \0(˜!@ @ ( (È (Ì !\f\v\vA Ï\nA\x006\0A¤Ï\nA\x006\0 \0A\x006¸ \0B\x007˜ \0A\x006\vÚ\v\b\b|#\0A0k"$\0@ @ +! +\0!  +\b" +" D\0\0\0\0\0\0à?¢"9(    D\0\0\0\0\0\0à?¢"9 \f\v B\x007( B\x007 \0+! \0("\b+X" \b+PD\0\0\0\0\0\0à?¢" (-\0tAq"!   ! š" š" !   !\v A\0G!\r  "!A!\vD\0\0\0\0\0\0\0\0!@@ E\r\0 -\0\0"\fE\r\0 D\0\0\0\0\0\0@¢!A\0!\bA\0!@@@@@@@@@ \fAß\0k\v\0\v \fAó\0k\v -\0\r@ @ A j   ¨\f\v  9 \v Aq!A!\t\f\v  9( -\0"A÷\0G@ Aå\0G@ \r @ A j  š ¨\vA!\t Aq!D-DTû!ù¿!\f\b\v@ @ A j  š ¨\f\v  9 \v Aq!A!\tD-DTû!é¿!\f\v@ @ A j  š" ¨\f\v  9 \v A\tq!A!\tDÒ!3|ÙÀ!\f\v -\0\r@ @ A j   š¨\f\v  9 \v A\bq!A!\tD-DTû!\t@!\f\vA!\n \f\v \fAî\0G\r  9( -\0"A÷\0G@ Aå\0G@ \r @ A j   ¨\v Aq!A!\tD-DTû!ù?!\f\v@ @ A j   ¨\f\v  9 \v Aq!A!\tD-DTû!é?!\f\v@ @ A j   š¨\f\v  9 \v A\fq!A!\tDÒ!3|Ù@!\f\v  9(\vA!\bA\0\v!\f\vA\0!\vA!\r\f\vA\0!\bA\0!\v \0+((t!  )(7\b  ) 7\0 Aj  AqAÚ\0l‚\t  )7(  )7 @ \n\r\0@@@@@ \0+((tAqAk\0\v Ak\v iAG\r h"AO\rAˆ‚ˆ Atv!\f\v iAG\r h"AO\rAˆˆˆ\b Atv!\f\vA!\f\vA!\v  6  :\0!  ) 7\0  )(7\b !@@@@ \0+((tAqAk\0\v š!\f\v D-DTû!ù¿ !\f\v D-DTû!\t@a@D-DTû!ù¿!\f\v DÒ!3|Ù@a@D-DTû!é¿!\f\vD-DTû!ù?! D-DTû!ù?a@D\0\0\0\0\0\0\0\0!\f\v D\0\0\0\0\0\0\0\0a\r\0 D-DTû!é¿a@DÒ!3|Ù@!\f\v "D-DTû!ù¿b\r\0D-DTû!\t@!\v  9 +(! + "D\0\0\0\0\0\0\0\0a@A€ D\0\0\0\0\0\0\0\0a\r\v  †DÒ!3|Ù@ "D-DTû!À   D-DTû!@fD\0\0\0\0\0\0p@¢D-DTû!@£ü\v!  \t:\0  :\0  \n:\0  \v:\0  \r:\0 A0j$\0 \b\v¤@ \0@ E\r  Î! \0(\0"@A \0(\bt!\v Ak!@@A\0!\0  F\r\0@@   j qAtj(\0"\bAj\0\v   \b"\0‰\b\r\v Aj!\f\v\v \0\vAÆÔAîºAäAÍ¥\0\0\vAßÔAîºAåAÍ¥\0\0\vT| \0("\0 \0A(A j+\0D\0\0\0\0\0\0R@¢D\0\0\0\0\0\0à?¢"9X \0 9` \0 \0A A( j+\0D\0\0\0\0\0\0R@¢9P\vh \0("(\b"A\0! (\0! ( M  \0((\b \0(  A0lj(\0 Aj! \0((\b!\f\v\v \vA\x006\b\vÌ#\0A k"$\0 B\x007 B\x007\b@  \0Aj6 \0-\0\0"\0@@@ \0A&G\r\0 Ajæ\b"\0\r\0A&!\0\f\v \0Aþ\0M\r\0 \0AþM@ A\bj \0AvA@ro \0A?qA€r!\0\f\v A\bj" \0A\fvA`ro  \0AvA?qA€ro \0A?qA€r!\0\v A\bj \0Ào (!\0\f\v\v A\bjã A j$\0\v0\0 +  A\0AQ"A”&A¸A3 \0 · (A:\0q \vù\v#\0A0k"$\0 -\0\0"Aq!\v A\bq!\f Aq!\n Aq!\r@ \0"-\0\0"@ \b!\t À!\b Aj!\0@@@@@@ A¢DÕaÁ *¿ ¢D¦ø?  ! \0 ¢! E@   ¢DIUUUUUÅ¿ ¢ \0 \v \0  D\0\0\0\0\0\0à?¢  ¢¡¢ ¡ DIUUUUUÅ?¢ ¡\v’|D\0\0\0\0\0\0ð? \0 \0¢"D\0\0\0\0\0\0à?¢"¡"D\0\0\0\0\0\0ð? ¡ ¡    DË ú>¢DwQÁlÁV¿ ¢DLUUUUU¥? ¢  ¢" ¢  DÔ8ˆ¾éú¨½¢Dı´½žî!> ¢D­Rœ€O~’¾ ¢ ¢ \0 ¢¡  \v\0 \0 \0 \0 \0 \0 \0D\t÷ý\rá=?¢Dˆ²uàïI? ¢D;hµ(‚¤¿ ¢DUDˆUÁÉ? ¢D}oëÖÔ¿ ¢DUUUUUUÅ? ¢ \0 \0 \0 \0D‚’.±Å¸³?¢DYlæ¿ ¢DȊYœå*\0@ ¢DK-Š\':À ¢D\0\0\0\0\0\0ð? £\vj|#\0A k"$\0@ \0 %"\0E\r\0  Aj6  Aj6\0 \0A˜„ IAG\r\0 +! +! A:\0Q  9@  98\v A j$\0\vD \0A¡&AÀA3 \0› \0+(/°A\b! \0( 6” \0 \0+((tAq¿\v[ \0(" K@ A!O \0(\0 \0\v Avj"\0 \0-\0\0"\0A Aq"tr \0A~ wq :\0\0\vAç²AÁû\0AÑ\0A„"\0\0\v¸\t|@@AAA\0 \0+\b"\b +\b"\t¡" +\0"\v +\0"¡¢ +\b"\n \t¡ \0+\0" ¡"\f¢¡"D-Cëâ6¿c D-Cëâ6?d"\0\r\0  b@A!  \vc  \vdq\r  \vcE  \vdEr\r\f\vA! \b \nc \t \ndq\r \b \ndE\r\0 \t \nc\r\v@AAA\0  +\0" ¡¢ +\b" \t¡ \fš¢ "\fD-Cëâ6¿c \fD-Cëâ6?d"\r\0  b@A!  d  dq\r  cE  cEr\r\f\vA!  \tc  \bdq\r  \bcE\r\0  \td\r\v \0 lAAA\0 \n ¡"\n  ¡¢ \b ¡ \v ¡"¢¡"\bD-Cëâ6¿c \bD-Cëâ6?dAAA\0 \n  ¡¢ \t ¡ ¢¡"D-Cëâ6¿c D-Cëâ6?dlqAv!\v \væ|#\0A0k"$\0 \0("Ak! \0(\0!@  "\0G@   \0 j pAtj")\b7(  )\x007   \0Atj")\x007  )\b7  )\x007\0  )\b7\b \0Aj!AAA\0 +( +"¡ +\0 +"\b¡¢ +\b ¡ + \b¡¢¡"D-Cëâ6¿c D-Cëâ6?dAG\r\v\v A0j$\0 \0 O\v\0 \0 \0AÄÝ\0%ê\n\v\'\0 \0A(Õ"\0A\x006 \0 :\0\f \0 6\b \0A\x006 \0\vÎ#\0Ak"$\0 A\0 A\0J!\n@  \nF@  \0AtjA\x006\0A  \0Alj"(\0" AM!A!@  F@ Ak"­!  6\b  6  ­"\b6\fA\0!A\0!@  \nFE@ \0 G@  Atj 6\0 \b Atj 6\0 Aj!\v Aj!\f\v\v Am!@ A\0H@Aÿÿÿÿ!\0@@ E\r\0 (\0!   AtjAk(\0"6\0 \b AtjA\x006\0  Ak"6\b AjA\0 \v  Atj(\0"AÿÿÿÿF\r\0A!\tA  Alj"\f(\0"\0 \0AM!@ \t F@ !\0\f\v  \tAt"\0 \f(j(\0"At"j"\v(\0  \f(\b \0j*\0ü\0j"\rJ@  \bj"(\0! \v \r6\0@@ A\0L\r\0   Av"\0Atj(\0"\vAt"j(\0 \rL\r\0  Atj \v6\0 \b j 6\0 \0!\f\v\v  Atj 6\0  6\0\v \tAj!\t\f\0\v\0\v\v \0A\nj!\0A\0!@  \nG@  Atj"(\0AÿÿÿÿF@  \x006\0\v Aj!\f\v\v Ajß Aj$\0 Aj  \v Ak!\f\v\v  At"\b (j(\0Atj (\b \bj*\0ü\x006\0 Aj!\f\v\v  AtjAÿÿÿÿ6\0 Aj!\f\v\v\vû\t}| A! A! A!\b A!\n  º  º \0   \n¹  \nº A\0 A\0J!\t@  \tG@  At"\vj  \vj*\0 \n \vj*\0“8\0 Aj!\f\v\v   ’\v A\0 A\0J! Ak!\v   ’!A\0!@@@@  F\r\0A\0! A\0 A\0J!\tCÊòIñ!@  \tG@   Atj*\0‹È! Aj!\f\v\v »Dü©ñÒMbP?dE\r\0  º  º  º \0   \b¹  \bº   \b’"D\0\0\0\0\0\0\0\0a\r\0    £¶" á  \vN\r   Œ \bá   ’! D\0\0\0\0\0\0\0\0b\rA¥„A\04A!\f\v   \b \n \f\v  £¶!A\0!|  F|   At"\tj"\r  \r*\0”  \tj*\0’8\0 Aj!\f\v\v!\v Aj!\f\0\v\0\v>} \0A\0 \0A\0J!\0@ \0 FE@  Atj" *\0" ”8\0 Aj!\f\v\v\v;\0 Aj!@ @ \0  +\0¢ \0+\0 9\0 Ak! \0A\bj!\0 A\bj!\f\v\v\v\0A \0At \0AÿÿÿÿK_\v\0 \0@ \0(\0Þ \0(Þ \0\v\vY \0 \0(\0"("6\0 @  \x006\b\v  \0(\b"6\b@ (\0 \0F@  6\0\f\v  6\v  \x006 \0 6\b\vY \0 \0("(\0"6 @  \x006\b\v  \0(\b"6\b@ (\0 \0F@  6\0\f\v  6\v  \x006\0 \0 6\b\v2A\bý"\0A¤Ü\t6\0 \0AjA6ƒ \0AèÜ\t6\0 \0AôÜ\tA×\0\v¸\r \0(\0 \0(ñE@A†£AïÙ\0AÂ\0Aèå\0\0\0\v \0(\0! \0(!#\0Ak"$\0 AÇ6\f  kAu"\tAN@@ A\fj!\n (\0!\v ! \tAkAm!\f@ At"\rAr!  Atj"\bAj!@ \t \rAj"L@ !\f\v   (\0 \bA\bj"\b(\0 \n(\0\0\0"! \b  !\v  (\x006\0 !  \fL\r\0\v Ak" F@  \v6\0\f\v  (\x006\0  \v6\0  Aj" \n  kAuÂ\v\v\v Aj$\0 \0 \0(Ak6\v&\0 \0 \0(E \0( rr"6 \0( q@5\0\v\v¶@ \0( AF@ \0(AG\r \0(\f" \0(\b"AjM@ \0 \0(  A\vj"AÉ6 \0 \0( \0(\f AÉ6 \0(("@ \0 \0("@  \0(\f  É\f\v  <\v6\v \0 6\f\v At" \0(j 6\0 \0( j 6\0 \0(("E ErE@ \0(  lj  ü\n\0\0\v \0(\0 L@ \0 Aj6\0\v \0( L@ \0 Aj6\v \0 \0(\bAj6\b\vAœÝAâ·AôAÁÃ\0\0\vAã¼Aâ·AöAÁÃ\0\0\vÐ \0E@A\0\v \0(\0 \0( \0(\b \0( \0(( \0( Ö\v! \0(\0AtAj"@ ( \0( ü\n\0\0\v@ \0( \0(\0Atj(\0"E\r\0 At"E\r\0 ( \0( ü\n\0\0\v@ \0("E\r\0 \0(\b \0((l"E\r\0 (  ü\n\0\0\v  -\0$Aøq \0-\0$Aqr:\0$  \0(\b6\b \vš ("(°E@ A(AØ\0 (\0Aq"AFj(\0((ô" A(Ax AFj(\0((ô"  H!  6°@ (!@ E@ (!\f\v (" /¨ /¨j;¨\v  /š /šj;š  (œ (œj6œ   A0k" (\0AqAF(("((ôG@ \0 \f   (\0AqAF((((È(\0"\r\v\v\vAÃÓAÏ¿A†AÜå\0\0\0\vm@ \0("\0-\0T" ("-\0TG\r\0@ \0+8 +8a@ \0+@ +@a\r\v \r\v \0+ +a@A! \0+ +a\r\v \0-\0,As!\v \v/\0A\0 \0("\0-\0¬AG\r\0A \0(ÄAK\r\0 \0(ÌAK\v\vØ|  \0A8lj"\0+!| \0+" \0+\b"DH¯¼šò×z> dE \0+\0" cE  DH¯¼šò×z¾ crqE@  +\b"¡™DH¯¼šò×z>e@D\0\0\0\0\0\0ð?D\0\0\0\0\0\0ð¿ +\0 c\f\v +\0!\bD\0\0\0\0\0\0ð?D\0\0\0\0\0\0ð¿  \bd  ¡™DH¯¼šò×z>e\r  ¡  ¡¢  ¡ \b ¡¢¡\f\v  +\b"¡™DH¯¼šò×z>e@D\0\0\0\0\0\0ð?D\0\0\0\0\0\0ð¿ +\0 c\f\v +\0!\bD\0\0\0\0\0\0ð?D\0\0\0\0\0\0ð¿  \bd  ¡™DH¯¼šò×z>e\r\0  ¡  ¡¢  ¡ \b ¡¢¡\vD\0\0\0\0\0\0\0\0d\vþ~@@ @ E\r (\0"A?L@ A\bj!\bA\0!@@ AÀ\0F\r A(l Aj! \bj"\0( \r\0\v \0 A(ü\n\0\0  Aj6\0A\0\vAÅÝAؾA¢A·û\0\0\0\v E\r \0!#\0Aðk"$\0@ @ @ A\bj!\t A\bj! (!@@@ AÀ\0F@ Aˆj A(ü\n\0\0  \t)7È  \t)7À  \t)\b7¸  \t)\x007° A°j!A!@ AÁ\0F\r  )\x007€  )\b7ˆ  )7  )7˜  \t A(lj"\0)\x007à  \0)\b7è  \0)7ð  \0)7ø Aàj A€j Aàjà  )ø7  )ð7  )è7\b  )à7\0 Aj!\f\0\v\0\v  A(l"\bj"\0( E\r \b \tj \0A(ü\n\0\0 Aj!\f\v\v  )7Ø  )7Ð  )\b7È  )\x007À  AÀjÄ7Ð Ó\f B\x007à B\x007ø B\x007è B€€€€€€€ø¿7ð B€€€€€€€ø?7à  )ø7   )ð7˜  )è7  )à7ˆ B\x007¨ B\x007°  ) 7€  )˜7ø  )7ð  )ˆ7è AÜj! Aˆj!\v Aèj!\f Aàj! AØj!A\0!@ AÁ\0G@  At"\0jA\x006\0 \0 jA6\0 Aj!\f\v\vA\0!\0A\0!@@@@ AÁ\0F@@A\0!\b@ \0AÀ\0G@ \t \0A(lj!\r Aàj \0Atj! \0Aj"!@ AÁ\0F@ !\0\f  \r)\x007€  \r)\b7ˆ  \r)7  \r)7˜  \t A(lj"\n)\x007à  \n)\b7è  \n)7ð  \n)7ø AÀj A€j Aàjà  )Ø7Ø  )Ð7Ð  )È7È  )À7À AÀjÄ )\0 Aàj Atj)\0|}"   V"\n! \0  \n!  \b \n!\b Aj!\f\v\0\v\0\v\vA\0!\0  A\0†  \bA†A\0!\b@@ (ä" (à"j! AÀ\0J AÀ\0Jr AÀ\0Jr\r\0B\0!A\0!A\0!@ AÁ\0F@  \b \0†\f  Atj(\0E@  \t A(lj")7ø  )7ð  )\b7è  )\x007à  )\x007   )\b7¨  )7°  )7¸  \f)\x007€  \f)\b7ˆ  \f)7  \f)7˜ AÀj A j A€jà  )Ø7x  )Ð7p  )È7h  )À7` Aà\0jÄ! )¨!  )à7@  )è7H  )ð7P  )ø7X  \v)\x007  \v)\b7(  \v)70  \v)78 A j A@k A jà  )¸"7Ø  )°"7Ð  )¨"7È  ) "7À  7\0  7\b  7  7 Ä )°}"  }"T!@  }  }  T" X qE@ !\0 ! !\b\f\v  R\r\0  \b  Atj(\0  \0Atj(\0H"!\b  \0 !\0\vA!\v Aj!\f\v\0\v\0\v\v AÀ\0L@ AÀ\0J!\0A\0!@ AÁ\0G@  Atj(\0E@   \0†\v Aj!\f\v\v (ä! (à!\v  jAÁ\0G\r\0  rA\0H\r "6\0  6  6A\0!@ AÁ\0G@  Atj(\0"\0AO\r  \t A(lj   \0A\0ê Aj!\f\v\v (\0(\0 (\0jAÁ\0G\r Aðj$\0\f\t\v  \t A(lj")7¸  )7°  )\b7¨  )\x007  Aàj Atj A jÄ7\0 Aj!\f\v\vAìA»A¶AçÞ\0\0\0\vAµšA»A¸AçÞ\0\0\0\vA‡ŽA»AˆA¸1\0\0\vAďA»AÈ\0AÑ \0\0\vA§A»Aß\0A0\0\0\vAƒÁA»A\'AÑ \0\0\vA¡ì\0A»A&AÑ \0\0\vA\vAƒÁAؾA–A·û\0\0\0\vA¡ì\0AؾA—A·û\0\0\0\vAëAؾA¥A·û\0\0\0\v¬~#\0Ak"$\0A¼í\n(\0"\r("(è!@@ (ì J@ AÈ\0l"\0 (Äj"-\x001AF@ Aj! )8!\f\vA\0! (! \0A¼í\n(\0((Äj(HAjAcE@A¼Ò\n-\0\0A¼Ò\nA:\0\0 \t!\nAq\r  \x006€A­Ë A€j(A!\v \t!\n\v E@A\0!\f\v  Þ"\r  Aj6pAˆ÷\b(\0A§ê Að\0j.\0\vA\0!A¼Ò\n-\0\0A¼Ò\nA:\0\0A!AqE@  \x006°A¥ø A°j4A!\v@ (À M@ A¸j"\0A- \02\f\b  )À7¨  )¸7  A j !\0@@ (È"\f\0\v  (¸ \0Alj"\0)\x007ˆ  \0)\b7  \0)7˜ Aˆj \0\v Aj!\f\v\0\v\0\v  \nD\0\0\0\0\0\0\0\0d:\0à  \n9Ø A\x006Ô  6Ð A\x006\0ä A\x006\0á A¸jA$! (¸ Alj" \b)7  \b)\b7\b  \b)\x007\0 \t \n¡"\t™Dñh㈵øä>cE\rD\0\0\0\0\0\0\0\0!\t\v \tD\0\0\0\0\0\0\0\0dE\rA\0!A\0!\f\v  j!A\0!A\0!  \09 \0jF\r AôãË j"Aôã!\f\v\v@  (À"OE@  )¸7\b  )À7  (¸ A\bj Alj+\bD\0\0\0\0\0\0\0\0ej! Aj!\f\v\v @ \t ¸£!\tA\0!@  O\r  )¸7`  )À7h (¸ Aà\0j Alj"\0+\bD\0\0\0\0\0\0\0\0e@ \0 \t9\b\v Aj! (À!\f\0\v\0\v  )¸7P  )À7X (¸ AÐ\0j AkAlj"\0 \t \0+\b 9\b\v@@ (À"\0E\r\0  )¸7@  )À7H (¸ A@k \0AkAlj+\bD\0\0\0\0\0\0\0\0d\r\0  )¸70  )À78 A0j (ÀAk!\0@@ (È"\0\v  (¸ \0Alj"\0)\x007  \0)\b7  \0)7( Aj \0\v A¸j \bA\f\v\v  A¸jA0ü\n\0\0\v Aðj$\0 \vAšÔAŠý\0A-AÊó\0\0\0\vAâƒAÂ\0AAˆ÷\b(\075\0\vø#\0Ak"$\0 \0E" j" AtA€\b "  K! \0#!@@@ \0-\0AÿF@ AF\r \0(\0! E@ A\0!\f\v  b"E\r  M\r  k"E\r  jA\0 ü\v\0\f\v AY!\f\v\v \0(!@ @ (\0 \0( Aà>Y!\f\v\v\vn#\0Ak"$\0@ \0Ì"@AÔð\nA\x006\0 A\x006\f  A\fjA\n½!\0@AÔð\n(\0\r\0  (\f"F\r\0 -\0\0E\r\vAÔð\nA\x006\0\vA\0!\0\v Aj$\0 \0\vF \0 \0( \0(\fAtj(\0"(6 \0 (\b"6$ \0 6P \0 (\x006 \0 -\0\0:\0\vÊ@  k"AH\r\0@@@@@@@ -\0\0"E@ \0 -\0"j-\0H\f\v À ,\0")\vAÿq"Ak\0\v@ Ak\0\v AG\r AvAq -\0 \bAtr(°ô vAqE\r\v \0AÈ\0j!\t@@@  "\0Aj"k"AH\r\b \0-\0!@@@ \0-\0"E@  \tj-\0\0\f\v À À)\vAÿq"Ak\f\n\n\n\n\n\0\v Ak\t\v AvAq -\0 ƒ\bAtr(°ô vAq\r\f\b\v\v AF\r\f\v AI\r\f\v \0Aj!A\t!\b\f\v  Aj"kAH\r -\0"À! ,\0"E@ Aø\0F@  Aj"kAH\r ,\0\0"E@ \0 -\0j-\0H\f\v  ,\0)\vAþqAG@ !\f\v \0AÈ\0j! !@  "\0Aj"kAH\r\b \0-\0! \0,\0"E@  j-\0\0\f\v  À)\vAÿq"AkAI\r\0\v AG\r \0Aj!A\n!\b\f\v \0 j-\0H\f\v  )\vAG@ !\f\v \0AÈ\0j! !@  "\0Aj"kAH\r \0-\0! \0,\0"E@  j-\0\0\f\v  À)\vAÿq"AF\r\0\v AG\r \0Aj!A\n!\b\f\v AI\r\f\v AG\r\vA~\v  6\0 \b\vA\vÊ@  k"AH\r\0@@@@@@@ -\0"E@ \0 -\0\0"j-\0H\f\v À ,\0\0")\vAÿq"Ak\0\v@ Ak\0\v AG\r AvAq -\0 \bAtr(°ô vAqE\r\v \0AÈ\0j!\t@@@  "\0Aj"k"AH\r\b \0-\0!@@@ \0-\0"E@  \tj-\0\0\f\v À À)\vAÿq"Ak\f\n\n\n\n\n\0\v Ak\t\v AvAq -\0 ƒ\bAtr(°ô vAq\r\f\b\v\v AF\r\f\v AI\r\f\v \0Aj!A\t!\b\f\v  Aj"kAH\r -\0"À! ,\0"E@ Aø\0F@  Aj"kAH\r ,\0"E@ \0 -\0\0j-\0H\f\v  ,\0\0)\vAþqAG@ !\f\v \0AÈ\0j! !@  "\0Aj"kAH\r\b \0-\0! \0,\0"E@  j-\0\0\f\v  À)\vAÿq"AkAI\r\0\v AG\r \0Aj!A\n!\b\f\v \0 j-\0H\f\v  )\vAG@ !\f\v \0AÈ\0j! !@  "\0Aj"kAH\r \0-\0! \0,\0"E@  j-\0\0\f\v  À)\vAÿq"AF\r\0\v AG\r \0Aj!A\n!\b\f\v AI\r\f\v AG\r\vA~\v  6\0 \b\vA\v\0 \0(L"\0(\b   \0(\0(\0\v¥A!@  k"A\0L\r\0@@@@@@@@ \0AÈ\0j" -\0\0j-\0\0"\bAk\0\v \bAk\v AF\r \0  \0(à\0\0\r \0  \0(Ô\0\0E\rA!\f\v AI\r \0  \0(ä\0\0\r \0  \0(Ø\0\0E\rA!\f\v AI\r \0  \0(è\0\0\r \0  \0(Ü\0\0E\rA!\f\v  Aj"\0kA\0L\r \0-\0\0"Aø\0F@  Aj"kA\0L\r  -\0\0j-\0\0AþqAG\r@  "\0Aj"kA\0L\r  -\0\0j-\0\0"AkAI\r\0\v AG\r \0Aj!A\n!\f\v  j-\0\0AG@ \0!\f\v \0!@  "\0Aj"kA\0L\r  -\0\0j-\0\0"AF\r\0\v AG\r \0Aj!A\n!\f\v  j!@  k"A\0L\rA!@@@  -\0\0j-\0\0"\bAk\n\0\v@@@ \bAk\0\v AF\r \0  \0(à\0\0\r \0  \0(È\0\0E\rA!\f\v AI\r \0  \0(ä\0\0\r \0  \0(Ì\0\0E\rA!\f\v AI\r \0  \0(è\0\0\r \0  \0(Ð\0\0E\rA!\v  j!\f\v\v Aj!A\t!\v  6\0 \vA~\vA\vø  O@A|\v (H!@@@@  AjF@A! -\0E"\tAkAÿqAI\r -\0\0"\bAïk"\nAKA \ntA€qEr\r E\r \tE\r\f\v@@@ -\0"\b -\0\0"\tA\btr"A€ø\0G@ A»ßF\r AþÿF\r AÿýG\r @ -\0EE\r\v  Aj6\0  \0(6\0A\v@ -\0E"AG@ E AGr\r\f\v \r\v  \0("\x006\0\f\v @ -\0EE\r\v  Aj6\0  \0(6\0A\v@ E\r\0 -\0E"AK\r\0A tA9q\r\v  AjF@A\v -\0A¿G\r  Aj6\0  \0(\b6\0A\v \tE@ @ -\0EAF\r\v  \0("\x006\0\f\v  \br\r  \0("\x006\0 \0    \0(\0\0!\f\v \bE \bAs!\v \0 6 \0B\x007 AtA°‡\vj!@@A„…\v(\0"A t"qE@A„…\v  r6\0  \x006\0 \0 6\f\v A AvkA\0 AGt! (\0!@ "(Axq F\r Av! At!  Aqj"("\r\0\v  \x006 \0 6\v \0 \x006\f \0 \x006\b\v (\b" \x006\f  \x006\b \0A\x006 \0 6\f \0 6\b\v\v!\0 \0+6 \0(\0AqÜ"\0E@A\0\v \0ƒ\v\0 \0  Bÿÿÿÿé\t§\vk@ \0E@Aø„\v(\0"\0E\r\v \0 Ë \0j"-\0\0E@Aø„\vA\x006\0A\0\v   j"\0-\0\0@Aø„\v \0Aj6\0 \0A\0:\0\0 \vAø„\vA\x006\0\v \vÖ\n\f ,\0\0"E@ \0\v@ \0 ¬"\0E\r\0 -\0E@ \0\v \0-\0E\r\0 -\0E@ \0-\0"A\0G!@ E\r\0 \0-\0\0A\bt r" -\0 -\0\0A\btr"F\r\0 \0Aj!@ "\0-\0"A\0G! E\r Aj! A\btA€þq r" G\r\0\v\v \0A\0 \v \0-\0E\r\0 -\0E@ \0Aj! \0-\0"A\0G!@@ E\r\0 \0-\0At \0-\0\0Atr A\btr" -\0At -\0\0Atr -\0A\btr"F\r\0@ Aj!\0 -\0"A\0G! E\r \0!  rA\bt" G\r\0\v\f\v !\0\v \0AkA\0 \v \0-\0E\r\0 -\0E@ \0Aj! \0-\0"A\0G!@@ E\r\0 \0-\0At \0-\0\0Atr \0-\0A\btr r" (\0\0"\0AÿüqA\bx \0AxAÿüqr"F\r\0@ Aj!\0 -\0"A\0G! E\r \0! A\bt r" G\r\0\v\f\v !\0\v \0AkA\0 \v#\0A \bk"\t$\0 \tB\x007˜\b \tB\x007\b \tB\x007ˆ\b \tB\x007€\b@@@@@ "-\0\0"E@A!A!\f\v@ \0 j-\0\0E\r \t AÿqAtj Aj"6\0 \tA€\bj AvAqj" (\0A tr6\0  j-\0\0"\r\0\vA!A! AK\r\vA!A!\b\f\vA\0!\0\f\vA!\nA!@  j j-\0\0"  j-\0\0"\bF@  \nF@  \nj!A\f\v Aj\f\v  \bK@  k!\n !A\f\v "Aj!A!\nA\v" j" I\r\0\vA!A\0!A!A!\bA!@  j j-\0\0"\v  j-\0\0"\fF@  \bF@  \bj!A\f\v Aj\f\v \v \fI@  k!\b !A\f\v "Aj!A!\bA\v" j" I\r\0\v \n!\v   \b  Aj AjK""\nj   "\vAj"\b¹@ \v  \vAsj"  \vIAj!\nA\0\f\v  \nk\v! A?r!\fA\0! \0!@ !@  \0"k O\r\0A\0!\0 A\0 \fÚ"  \fj ! E\r\0  k I\r\vA\0! \tA€\bj  j"\0Ak-\0\0"\rAvAqj(\0 \rvAqE\r\0 \t \rAtj(\0"\0 G@   \0k"\0  \0 Kj!\0\f\v@  \b   \bI"\r"j-\0\0"\0E\r\0@  j-\0\0 \0AÿqF@  Aj"j-\0\0"\0\r\f\v\v   \vkj!\0A\0!\f\v \b!@ \rE\r\0@  Ak"j-\0\0  j-\0\0F@  K\r\f\v\v  \nj!\0 !\f\v\v !\0\v \tA \bj$\0 \0!\v \v=Aì6!@ \0A™K\r\0@ \0E@A\0!\0\f\v \0At/ ÷\b"\0E\r\v \0AÔù\bj!\v \vê@@@ Aÿq""@ \0Aq@@ \0-\0\0"E  Fr\r \0Aj"\0Aq\r\0\v\vA€‚„\b \0(\0"k rA€‚„xqA€‚„xG\r A‚„\bl!@A€‚„\b  s"k rA€‚„xqA€‚„xG\r \0(! \0Aj"!\0 A€‚„\b krA€‚„xqA€‚„xF\r\0\v\f\v \09 \0j\v \0!\v@ "\0-\0\0"E\r \0Aj!  AÿqG\r\0\v\v \0\v~#\0Ak"$\0@ \0\r\0A´Î\n(\0"\0\r\0 Aˆá\t(\x006\fA´Î\nA\0 A\fjA\0»"\x006\0\v@ E\r\0 \0 ú" G\r\0 iE\r\0 \0   Ž\f\v \0   !\v Aj$\0\v\0A ó\n \0Ak­7\0\vH AM@ \0(\0! \0Aj\f\v A k! \0\v(\0! \0  t6\0 \0  t A kvr6\vÇ#\0Aðk"\b$\0 \b (\0"6è (! \b \x006\0 \b 6ìA\0 k!\f E!\t@@@@ AG@ \0!A!\f\v \0!A! \r\0\f\v@   Atj"\n(\0k" \0 ÙA\0L\r \tAs!\vA!\t@ \v AHrAqE@ \nA\bk(\0!\n  \fj"\v  ÙA\0N\r \v \nk  ÙA\0N\r\v \b Atj 6\0 \bAèj" ô\t"Æ Aj!  j! ! \b(ì \b(èAGr\r\f\v\v !\f\v ! \tE\r\v  \b ó\t     Ÿ\v \bAðj$\0\vK \0(! \0 AM@ \0(\0! \f\v A k! !A\0\v" v6 \0 A kt  vr6\0\v§  (H"Ak r6H  l! (" (\b"F  \0   k"   I"¤   j6 \0 j!\0  k\v"@@@ ÊE@  \0  ( \0"\r\v  k n\v \0 j!\0  k"\r\0\v\v A\0 \v/\0 \0 \0 — ¼AÿÿÿÿqA€€€üK  \0¼AÿÿÿÿqA€€€üM\vA#\0Ak"$\0A!@ \0Ê\r\0 \0 AjA \0( \0AG\r\0 -\0!\v Aj$\0 \v| \0 \0(H"Ak r6H \0( \0(G@ \0A\0A\0 \0($\0\v \0A\x006 \0B\x007 \0(\0"Aq@ \0 A r6\0A\v \0 \0(, \0(0j"6\b \0 6 AtAu\v“!\0A÷Í\n-\0\0AìÍ\n(\0 \0\vô|~ \0½"B ˆ§Aÿÿÿÿq"A€€À O@ \0D-DTû!ù? \0¦ \0½Bÿÿÿÿÿÿÿÿÿ\0ƒB€€€€€€€øÿ\0V\v@ AÿÿïþM@A A€€€òO\r\f\v \0™!\0 AÿÿËÿM@ Aÿÿ—ÿM@ \0 \0 D\0\0\0\0\0\0ð¿  \0D\0\0\0\0\0\0\0@ £!\0A\0\f\v \0D\0\0\0\0\0\0ð¿  \0D\0\0\0\0\0\0ð? £!\0A\f\v Aÿÿ€M@ \0D\0\0\0\0\0\0ø¿  \0D\0\0\0\0\0\0ø?¢D\0\0\0\0\0\0ð? £!\0A\f\vD\0\0\0\0\0\0ð¿ \0£!\0A\v \0 \0¢" ¢"    D/lj,D´¢¿¢DšýÞR-Þ­¿ ¢Dmšt¯ò°³¿ ¢Dq#þÆq¼¿ ¢DÄ똙™™É¿ ¢!      DÚ"ã:­?¢Dë\rv$K{©? ¢DQ=Рf\r±? ¢Dn LÅÍE·? ¢Dÿƒ\0’$IÂ? ¢D\rUUUUUÕ? ¢! AÿÿïþM@ \0 \0   ¢¡\vAt"+ Í\b \0   ¢ +ÀÍ\b¡ \0¡¡"\0š \0 B\0S!\0\v \0\v@ Ä"@ (\b\r\v \0 ç\t\v\v¢\r|#\0AÐ\0k"$\0 (!\f (! (\0! (\0"\bA\0 \bA\0J!\n (!\r (!\t@  \nG@ \t Atj(\0" \t Aj"Atj(\0"\v  \vJ!\v@  \vF@ !\f\v At! Aj!  \r j(\0G\r\0\v\v\v@  \bN@ A\x006H  6L A!O@  Av AqA\0GjA6H\v A\0 A\0J!\b@ \b "G@  Aj"Atj(\0  Atj"(\0kAG\r  )H7( A(j \r \f (\0Atj(\0!  )H7 A j \r AÈ\0j ‡ B\x007@ B\x0078 B\x0070  Atj"(\0!D\0\0\0\0\0\0\0\0!@ ( J@  \f Atj"(\0"\tAtj"\n( \n(\0kAF@ AÈ\0j \t‡  \0  (\0µ!  (\x006D A0jA$! (0 Atj (D6\0   !\v Aj!\f\v\v (8"E\rD\0\0\0\0\0\0\0\0DL`w‡.U@ ¸"£ AF!  £!  \0 lAtj!A\0!Dš™™™™™¹?!A\0!@  K@  )07\0  )87\b D!  (0  Atj(\0 \0lAtj"  ¢ +\0 9\0  K ¢ +\b 9\b Aj!   ! (8!\f\v\v@  O@ A0j"A- 2\f  )87  )07 Aj !@@@ (@"\0\v (0 Atj(\0\f\v (0 Atj(\0 \0\v Aj! (8!\f\v\0\v\0\v\v (LA!O@ (H\v AÐ\0j$\0\vA ¨AÁ¼AÉA«.\0\0\vA»£AÁ¼AÜA«.\0\0\v¬\n| \0(! \0(! \0A–@  \0(\0"Atj(\0"\bE@D\0\0\0\0\0\0ð?\vA\0!\0 A\0 A\0J!\t A\0 A\0J!\n@ \0 \tG@  \0Atj(\0"  \0Aj"Atj(\0"  J!  \0 lAtj!\v@  F@ !\0\f  Atj!\fA\0!\0D\0\0\0\0\0\0\0\0!@ \0 \nFE@ \v \0Atj+\0  \f(\0 lAtj+\0¡" ¢  ! \0Aj!\0\f\v\v Aj! \r Ÿ !\r\f\v\0\v\0\v\v \r \b·£\vA¸¦AÁ¼AœA›ø\0\0\0\v˜ \0@ \0(! \0( \0(  \0(0 \0($@A t"A\0 A\0J!@ \0($!  FE@  Atj(\0Ð Aj!\f\v\v \v \0((!@ @ (! ¯ \0 6( !\f\v\v \0\v\v \0(0"E@ \0 A\b"60\v \vJ| A\0 A\0J!@  FE@ \0 At"j+\0  j+\0¡" ¢  ! Aj!\f\v\v Ÿ\vï#\0Ak"$\0 ((ˆ" ("I@ ! A!O (\0 \v Avj" -\0\0A Aqtr:\0\0  At \0 ^!@ @  A(AØ\0 (\0Aq"AFj(\0"F@ A(Ax AFj(\0!\v ((ˆ!  )\x007\b A\bj E@ \0   Ó\v \0  c!\f\v\v Aj$\0\vAç²AÁû\0AÑ\0A„"\0\0\væ\b| !@ @@  F  Fr\r\0 ("(è G\r\0 -\0†\r\0 \0  A\0Ü\n6 \0A$! \0(\0 Atj \0(6\0\v  !\fA!@ ("(´ N@ (¸ Atj(\0" F  FrE@AA\b˜! ("+(!\v + !\b +!\t +!\n A6 AA˜"6\0| -\0AF@ \t +\b"\f¡!\t \n +\0"\r¡!\n \b \r !\b \v \f \f\v +\b"\f \t¢ \t \v D\0\0\0\0\0\0à¿¢ \fD\0\0\0\0\0\0ð¿ ¢" !\t +\0"\r \n¢ \n \b D\0\0\0\0\0\0à¿¢ \rD\0\0\0\0\0\0ð¿ ¢" !\n \r \b¢  !\b \f \v¢  \v!\v  \t98  \b90  \v9(  \b9  \v9  \n9  \t9\b  \n9\0 \0 6 \0A$! \0(\0 Atj \0(6\0\v Aj!\f\v\v\v\v\vœ\b A\0 A\0J!\t Aj lAmA! A! !@  \tFE@  \0  —  j!\b !@  \bFE@  Atj  Atj(\0²8\0 Aj! Aj!\f\v\v Ak! Aj! \b!\f\v\v  \v) \0(/ˆAq! @ \0Ë\v @ \0 ×\v\v\r\0 \0Aá Ø\n\v»|#\0A k"$\0 \0-\0\0"A\tkAI A Fr \0Aj!\0\f A+F@A! \0Aj!\0\v  :\0  Aj6\0  Aj6@@@ \0A˜„ I"\0\0\v  +9\v | -\0AF@ D\0\0\0\0\0\0ð?d@   + £\'9\0  + £\'\f\v +! D\0\0\0\0\0\0ð?c@    £"9\0  + £"\f\v  9\0 +\f\v  + £D\0\0\0\0\0\0ð? 9\0 + £D\0\0\0\0\0\0ð? \v9\bA!\0\v A j$\0 \0\v\v\v& \0(H" \0(I \0 Aj6H (\0A\0\v\vƒ\b| @@ \0(\b"E\r\0 (\b"E\r\0 ($" ($"F\r\0 +\0"\v +\b"\b¢ +\b"\t +\0"\f¢¡"\n™D»½×Ùß|Û=c\r\0 +"\r \b¢ +" \t¢¡ \n£!\b@ +\b"\t +\b"c\r\0 \t a@ +\0 +\0c\r\v ! !\0\v \0-\0\f!\0@ +\0 \be@ \0\r\f\v \0AF\r\v AÕ"  \v¢ \r \f𢠠\n£9\b  \b9\0\v \vAöÔAÞºA.Aè#\0\0\v\0 \0+\0 +\0¡ \0+\b +\b¡@\v|  6   +\b 9 \0(\0 \0 ö\nA(lj!@@ "( "E\r\0 +" +"d\r  d\r\0 +\0 (+\0d\r\v\v  6  6 \0 \0(\bAj6\b\vµ|@ \0AÛ&%"@ à"AJ\r\vA!\v ‘!  \0("\0+(D\0\0\0\0\0\0à?¢ !  \0+ D\0\0\0\0\0\0à?¢ ! ¸!\bA\0!\0 \0 F  6\0   \0Atj" \0¸ \b£D-DTû!\t@¢"  "K ¢9\b  D ¢9\0 \0Aj!\0\f\v\v\v"\0 \0 +\0 +\0 9\0 \0 +\b +\b 9\b\v\b|#\0Ak"\r$\0 \0(\b \0(j"A !  (0"\tA\0 \tA\0JAtk"A\0 A\0J!  CG€?” »!@  G@  Atj"\b +D\0\0\0\0\0\0à?¢" (( Atj"+\0 ¢D\0\0\0\0\0\0à?¢" At" (\0j*\0»"  9 \b  ¡ ¡9\0 \b + D\0\0\0\0\0\0à?¢" +\b ¢D\0\0\0\0\0\0à?¢" ( j*\0»"  9 \b  ¡ ¡9\b Aj!\f\v\v@ \tA\0J@ \tAjA!A\0! (0AjA!A\0!@ (0" J@A\0! At"\n (4j(\0"\bA\0 \bA\0J!Dÿÿÿÿÿÿï!Dÿÿÿÿÿÿïÿ! \bAj"\fA! \fA !\tDÿÿÿÿÿÿïÿ!Dÿÿÿÿÿÿï!@  G@  At"\vj \0( (8 \nj(\0 \vj(\0"Atj(\x006\0 \t Atj"\v  Atj"+\0"9\0 \v +\b"9\b \v +"9 \v +"9 Aj!  \'!  \'!  "!  "!\f\v\v (D Atj" 9  9  9\b  9\0  \bAtj \0( Atj Atj"(\x006\0  \bAj"\vAtj (6\0 \t \bAtj" 9  9  9\b  9\0 \t \vAtj"\b 9 \b 9 \b 9\b \b 9\0 \n j!\v \n j E@  D-Cëâ6? 9 \b D-Cëâ6¿ 9\0 \f \t  \v æ\f\v  D-Cëâ6? 9 \b D-Cëâ6¿ 9\b \f \t  \vå\v"6\0  \t Aj!  j!\f\v\v (< j"A!\t A !\bA\0! (<"A\0 A\0J!\v@  \vF@    J!\f@  \fG@ \t Atj Aû\0jD\0\0\0\0\0\0ð?ç6\0 \b Atj" (D  ( "\vd\r \b \nDH¯¼šò×z¾ "\fcE \0+\0"\r +\b"\tdq\rA ! \b \n¡™DH¯¼šò×z>eE \r \t¡™DH¯¼šò×z>eEr\rA$! +\b"\b \vd\rA A$A +\0 \td \b \fc!\f\v \0+\0!\t@@ \0+\b"\b  ("A8lj"+\b¡™DH¯¼šò×z>e@ \t +\0¡™DH¯¼šò×z>e\r\v \b +¡™DH¯¼šò×z>eE\r \t +¡™DH¯¼šò×z>eE\r\v \b +\b¡™DH¯¼šò×z>e@A A$ +\0 \tc!\f\vA A$   é!\f\vA A$   \0é!\f\v A³6 Aƒ¿6\0Aˆ÷\b(\0AØÀ 5\0\v  j(\0!\f\0\v\0\v¢G\b|~#\0A€k"$\0AØí\n \0((t"Aq"\t:\0\0AÔí\n Aq6\0@ \t@ \0Ê\f\f\v \0É\f\v \0("/ˆ!\t@ -\0q"A6qE@ AqE\rAÄË\n(\0\r\v \tAq!\v \0!\nA\0!\t@ \n@@ \n((|"E\r\0 -\0QAF@ Aj!\f\v Aj!\v \0 \n*!@ @@ ("(l"E\r\0 -\0QAF@ Aj!\f\v \vE\r\0 \t (\bA\0Gj!\t\v@ (d"E\r\0 -\0QAF@ Aj!\f\v \vE\r\0 \t (\bA\0Gj!\t\v@ (h"E\r\0 -\0QAF@ Aj!\f\v \vE\r\0 \t (\bA\0Gj!\t\v@ (`"E\r\0 -\0QAF@ Aj!\f\v \vE\r\0 \t (\bA\0Gj!\t\v \0 /!\f\v\v \0 \n!\n\f\v\v \0(-\0qA\bq@ \0È\f!\f\v  \tj"E\r\0 \0:  \tj \fjj"A(!\t A(!\n Bÿÿÿÿÿÿÿw7ø Bÿÿÿÿÿÿÿw7ð Bÿÿÿÿÿÿÿ÷ÿ\x007è Bÿÿÿÿÿÿÿ÷ÿ\x007à \0! \t! \n!@ @ ("A(A AØí\n-\0\0"j+\0! +ð! +ø! +à! +è!  A A( j+\0D\0\0\0\0\0\0R@¢"9  D\0\0\0\0\0\0R@¢"9  )"7\0  )" 7\b  ¿ D\0\0\0\0\0\0à?¢¡"9\0  ¿ D\0\0\0\0\0\0à?¢¡"9\b     d9è     d9à     "  c9ø     "  c9ð@ ((|"E\r\0 -\0QAF@  )à7°  )è7¸  )ð7À  )ø7È Aøj  A(j" A°j¤  )7ø  )ˆ7ð  )€7è  )ø7à\f\v@ @  + 9\0  +9\b\f\v  ) 7\b  )7\0\v A\0:\0$  6  6 A(j!\v A(j! \0 *!@@@@@@ @ ("(`"\b@@ \b-\0QAF@  )à7€  )è7ˆ  )ð7  )ø7˜ Aøj \b  A€j¤  )7ø  )ˆ7ð  )€7è  )ø7à\f\v \vE\r (\bE\r AÐj \0 þ\b  )Ø7€  )Ð7ø B\x007 B\x007ˆ  )7  )ˆ7  )€7\b  )ø7\0 B\x007 @AØí\n-\0\0AF@  \b+ 9\0  \b+9\b\f\v  \b) 7\b  \b)7\0\v A\0:\0$  \b6  6 A(j!\v (! A(j!\v (h"\b@@ \b-\0QAF@  )à7Ð  )è7Ø  )ð7à  )ø7è Aøj \b  AÐj¤  )7ø  )ˆ7ð  )€7è  )ø7à\f\v \vE\r (\bE\r@ Ò"E@ B\x007È B\x007À\f\v (\0"(\b@  )7È  )7À\f\v  (\0")\b7È  )\x007À\v  )È7€  )À7ø B\x007 B\x007ˆ  )7  )ˆ7  )€7\b  )ø7\0 B\x007 @AØí\n-\0\0AF@  \b+ 9\0  \b+9\b\f\v  \b) 7\b  \b)7\0\v A\0:\0$  \b6  6 A(j!\v (! A(j!\v (d"\b@@ \b-\0QAF@  )à7   )è7¨  )ð7°  )ø7¸ Aøj \b  A j¤  )7ø  )ˆ7ð  )€7è  )ø7à\f\v \vE\r (\bE\r@ Ò"E@ B\x007¸ B\x007°\f\v (\0 (A0lj"A$k(\0@  Ak")\b7¸  )\x007°\f\v  A0k(\0 A,k(\0AtjAk")\b7¸  )\x007°\v  )¸7€  )°7ø B\x007 B\x007ˆ  )7  )ˆ7  )€7\b  )ø7\0 B\x007 @AØí\n-\0\0AF@  \b+ 9\0  \b+9\b\f\v  \b) 7\b  \b)7\0\v A\0:\0$  \b6  6 A(j!\v (! A(j!\v (l"\bE\r@ \b-\0QAF@  )à7ð  )è7ø  )ð7€  )ø7ˆ Aøj \b  Aðj¤  )7ø  )ˆ7ð  )€7è  )ø7à\f\v \vE\r (\bE\r A j \0 þ\b  )¨7€  ) 7ø B\x007 B\x007ˆ  )7  )ˆ7  )€7\b  )ø7\0 B\x007 @AØí\n-\0\0AF@  \b+ 9\0  \b+9\b\f\v  \b) 7\b  \b)7\0\v A\0:\0$  \b6  6 A(j!\v A(j!\f\v \0 !\f\v  \b(\x006 A¢÷ A j(\f\v  \b(\x006ðAùö Aðj(\f\v  \b(\x006ÀAÆ÷ AÀj(\f\v  \b(\x006AÔö Aj(\v \0 /!\f\0\v\0\v\v \f@  )ø7  )ð7ˆ  )è7€  )à7ø  6˜ AÈj" Aøj"A(ü\n\0\0 AÐj" \0 Ç\f  A(ü\n\0\0  )ø7à  )€7è  )ˆ7ð  )7ø\vA\0! \0A\0Aª-A\0!!  )ø7  )ð7ˆ  )è7€  )à7ø \0 Aö\b! A\x006\0™  :\0˜ A\x006\0œ Aøj!#\0A k"$\0Až"\vAì¿\nA°Þ\t(\0f"6@@@@@ @ A@k!A¸ž"\b"A\x006 6\0 \v 6 \v 6\f \v \n6\b \v 6 \v \t6\0 \v \b6 +ˆ +"0«œüAj!@@  F\rA8ž" \t A(lj"60| ( "\fE@D\0\0\0\0\0\0\0\0!D\0\0\0\0\0\0\0\0\f\v \f+\b! \f+\0\v! +! +! +\0!  +\b" ¡œ"9   ¡œ"9      ›"9(      ›"9   ¡D\0\0\0\0\0\0à?¢ "D\0\0\0\0\0\0àÁfE D\0\0ÀÿÿÿßAeEr\r   ¡D\0\0\0\0\0\0à?¢ "D\0\0\0\0\0\0àÁfE D\0\0ÀÿÿÿßAeEr\r ü!\r ü!A\0!\f !@ A\0J@  Ak"vAq"At \fAtr  \r vAq"sr!\f Ak"A\0 kq  \r sqs" \rs!\r  s!\f\v\v  \f6\b Aj!  A (\0\0\r\0\v\f\v A\0A€ (\0\0!@ @ (0!\f  )(7  ) 7  )7\b  )7\0#\0Að\0k"$\0 A\x006l@ \b@ +\0 +e@ +\b +e\r\vAÝÈAû·A²AÎ\0\0\vA¡ì\0Aû·A°AÎ\0\0\v \b(\0!  )7  )7  )\b7\b  )\x007\0 \b  \f  Aì\0jÍ\f@"\f \b(\0"\r(Aj6 A@k" \r…  \b(\x006` \b  \fA\0ê A j (l…  )87X  )07P  )(7H  ) 7@  (l6` \b  \fA\0ê \b \f6\0\v Að\0j$\0  A\b (\0\0!\f\v\vA\0!\r ƒ@ ƒ@ (\f"E\r ((\b"\fA\0H@ (\b\f\v  \fk\v"E\r  A€ (\0\0  \rAj!\r\f\v\v \rG\r ‚A\0H\rA\0!A\0!@  F@ \b(\0Ï\f \b(\0 \b \v\f \t A(lj"( "@ +! +\b! +! +\0! Að\0j"\fA\0A$ü\v\0  +\0 ¡9   +\b 9 AÐ\0j \v  \fÕ@ (PE@  )h7(  )`7 \f\v  +\b9 A0j \v  Að\0jÕ@@ (0E\r\0 +8 +Xc@  )H7h  )@7`  )87X  )07P\v  +\b +\b¡9 A0j \v  Að\0jÕ (0E\r\0 +8 +Xc@  )H7h  )@7`  )87X  )07P\v  +\x009  +\b + 9 A0j \v  Að\0jÕ (0E\r\0 +8 +Xc@  )H7h  )@7`  )87X  )07P\v  +\b +\b¡9 A0j \v  Að\0jÕ (0E\r\0 +8 +Xc@  )H7h  )@7`  )87X  )07P\v  +\0 + 9  +\b + 9 A0j \v  Að\0jÕ (0E\r\0 +8 +Xc@  )H7h  )@7`  )87X  )07P\v  +\b9 A0j \v  Að\0jÕ (0E\r\0 +8 +Xc@  )H7h  )@7`  )87X  )07P\v  +\b +\b¡9 A0j \v  Að\0jÕ (0E\r\0 +8 +Xc@  )H7h  )@7`  )87X  )07P\v     D\0\0\0\0\0\0à?¢!     D\0\0\0\0\0\0À?¢!@ (p"\f (Œ"\r (ˆr (|" ("rrrE@ +\b!A\0!\f\f\v +\b! \r r   +\0" +\0¡"9   + 9@  +  f@ A0j \v  Að\0jÕ (0E\r +8 +Xc@  )H7h  )@7`  )87X  )07P\v   + "9 +\0!\f\v\v +\b! (p!\f (|\v \fr\r\0  +\0 +\0¡9  + !@@  9   +\b¡fE\r\0 A0j \v  Að\0jÕ (0E\r +8 +Xc@  )H7h  )@7`  )87X  )07P\v + ¡! +\b!\f\v\v (p!\f\v  +\0" + "9   +\b¡9 (" (t" (xr \f („"\rrrrE\r \f r @  +\0¡ e@ A0j \v  Að\0jÕ (0E\r +8 +Xc@  )H7h  )@7`  )87X  )07P\v  + ¡"9 +\0!\f\v\v („!\r (\v \rr\r   + 9 +\b" +\b¡!@  9   + eE\r A0j \v  Að\0jÕ (0E\r +8 +Xc@  )H7h  )@7`  )87X  )07P\v  + ! +\b!\f\0\v\0\v  )\b7(  )\x007 \f\v  )`7  )h7( (PE\r\0 +XD\0\0\0\0\0\0\0\0a@ ( " )(7  ) 7\f\vA -\0˜AG\r ( " )(7  ) 7\v ( A:\0$ \v!\v Aj!\f\v\0\v\0\vAúÙAAAˆ÷\b(\07.\0\vAÙÊA ºAúAϱ\0\0\vA¼ÊA ºAûAϱ\0\0\vAÓ (\b  ‚ AÅÍ@ -\0AG\r\0@ (\b"A¡Ä;\r\0 A‘Ä;\r\0 A™Ä;\r\0 A÷Ã;\r\0 AˆÄ;\r\0 AÿÃ;E\r\v \0 ?"E\r -\0\0E\r A\0†\t"\bE@  6\0AÊû (\f\v Aî€  (\0"Aj6\0  > AþÎA\0!@ \b(\0 M@  (\0Ak6\0 Aî€  (\0> AÞÉ \b„\t\f\v @ A¹î\v \b(\b!  (\0"Aj6\0  > A¢Ù  (\0>@@@@@@@@@@@@  AÐ\0lj"(\0"\n\n\0\0\v\b\t\v AÐ\0Að\0 AF6P Aïí AÐ\0j  (\0>  A\bj°\f\n\v AÂ\0Aâ\0 AF6` Aïí Aà\0j  (\0>  A\bj°\f\t\v A¤îA\0  (\0>  A\bj°\f\b\v AŒîA\0  (\0> +\b!\v  +9˜  \v9 A÷ë Aj  (\0> Aã\0Aò\0 ("AFAì\0 6€ Aüí A€j  (\0>  + 9p A»ë Að\0j  (\0> A‰Í ((  ‚ A\nW\f\v AÃ\0Aã\0 A\bF6  Aïí A j  (\0> A£íA\0  (\0> A¢Í (\b  ‚ A\nW\f\v AÃ\0Aã\0 A\rF6 Aïí Aj  (\0>@@@ (\b\0\v A£íA\0  (\0> A¢Í (  ‚ A\nW\f\v AýìA\0  (\0>  (\0> +!\v  +9ˆ  \v9€ A£ì A€j  (\0> + !\v  +(9ø  \v9ð Aì Aðj  (\0>  (0 (4 ¦\r\f\v AíA\0  (\0>  (\0> +!\v +!\f  + 9à  \f9Ø  \v9Ð AÕì AÐj  (\0> +(!\v +0!\f  +89À  \f9¸  \v9° A¹ì A°j  (\0>  (@ (D ¦\r\f\v A°îA\0  (\0>  +\b9  AÌë A j  (\0> A¿Í (  ‚ A\nW\f\v A˜îA\0  (\0> AµÍ (\b  ‚ A\nW\f\v AñìA\0  (\0>  (\b6° AîÈ A°j\f\v A®6 AÑ»6Aˆ÷\b(\0AØÀ Aj5\0\v Aå\0AÅ\0 6@ Aïí A@k  (\0> +\b!\v +!\f +!\r  + 98  \r90  \f9(  \v9 AÉË A j\v  (\0Ak"6\0  > A¯\b Aj!\f\0\v\0\v \0 ?  ‚\v \t \n Œ!\f\0\v\0\v AÀj$\0\vü#\0A@j"$\0@ ™Dü©ñÒMb@?c@ \0A¿ã\f\v D\0\0\0\0\0\0𿠙Dü©ñÒMb@?c@ \0A›ã\f\v  90 \0Aóâ A0j\v (\0!@@@@@ ( "Ak\0\v A‰Â\bG\r \0AðÁ\b\f\v  Aÿq6  AvAÿq6(  A\bvAÿq6$ \0A A j\f\v A¡6 Aн6\0Aˆ÷\b(\0AØÀ 5\0\v \0 \v \0Aâ@@ AG\r\0 Av"AÿF\r\0  ¸D\0\0\0\0\0ào@£9 \0A҇ Aj\f\v@ AG\r\0 A‰Â\bG\r\0 \0Ağ\f\v \0Aë \v \0AËÕ A@k$\0\v³|#\0Að\0k"$\0A¬ì\nA¬ì\n(\0"Aj6\0| \0("(ˆ"E@D\0\0\0\0\0\0I@!D\0\0\0\0\0\0I@\f\v ·D-DTû!\t@¢D\0\0\0\0\0€f@£"DD\0\0\0\0\0\0ð? K¡D\0\0\0\0\0\0I@¢0!D\0\0\0\0\0\0ð? D\0\0\0\0\0\0I@¢0\v! \0AßÅ (Ü"@ \0 x \0Aß\0W\v  9`  9X  6P \0AØÖ AÐ\0j A(j" A8jA(ü\n\0\0 \0D\0\0\0\0\0\0\0\0 ’  Aà\0jA(ü\n\0\0 \0D\0\0\0\0\0\0ð? ’ \0AÑÓ Að\0j$\0 \v„|#\0A€k"$\0A¨ì\nA¨ì\n(\0"Aj6\0 \0("(ˆ! B\x007x B\x007p B\x007h B\x007`  Aà\0j  ·D-DTû!\t@¢D\0\0\0\0\0€f@£A\0â \0AÃÅ (Ü"@ \0 x \0Aß\0W\v  6P \0AÞÍ AÐ\0j \0A§Æ \0 +`m \0A Æ \0 +hm \0A™Æ \0 +pm \0A’Æ \0 +xm \0A•× +! A(j" A8jA(ü\n\0\0 \0 Dü©ñÒMbP¿ D\0\0\0\0\0\0\0\0 D\0\0\0\0\0\0\0\0d ’ +!  Aà\0jA(ü\n\0\0 \0 D\0\0\0\0\0\0ð? D\0\0\0\0\0\0\0\0d ’ \0A¶Ó A€j$\0 \v\v\0 \0A °\v£\b|#\0A°k"\b$\0@@ E Er\r\0 \0(@"\t ErE@ -\0\0E\r@@@@ \0\v +\0!\n +!\v +!\f \b +\b90 \b \f9( \b \v9 \b \n9 \b 6 \0A˜§ \bAj\f\v +!\v +\0!\n \b +\b9P \b \v \n¡9X \b \n9H \b 6@ \0Aþ¦ \bA@k\f\v \b 6p \0AŒ4 \bAð\0jA\0!@  F@ \0Aî€\f  Atj"+\0!\n \b +\b9h \b \n9` \0A€‡ \bAà\0j Aj!\f\v\0\v\0\v \bA;6 \bA®»6\0Aˆ÷\b(\0AØÀ \b5\0\v E \tAGrE@ -\0\0E\r E@ +\0!\n +!\v +!\f +\b!\r \b 6¤ \b 6  \b \r9˜ \b \f9 \b \v9ˆ \b \n9€ \0A÷ò \bA€j\f\v \bAÆ\x006´ \bA®»6°Aˆ÷\b(\0AØÀ \bA°j5\0\v \tA~qAG\r\0 AO\r \0 At(ÔÁ\b@ E\r\0 -\0\0E\r\0 \0A‡Æ \0 ³ \0AßÇ\v@ E\r\0 -\0\0E\r\0 \0AÅ \0 ³ \0AßÇ\v@ E\r\0 -\0\0E\r\0 \0A¡Ä \0 x \0AßÇ\v@ E\r\0 -\0\0E\r\0 \0A¯Å \0 x \0AßÇ\v \0AÙÇ \0AµÄ +\0!\n@@@@ Ak\0\v +!\v +!\f \b +\b9ø \b \f9ð \b \v9è \b \n9à \0Aì† \bAàj\f\v \b +\b9˜ \b \n9 \0A‡ \bAjA!@  F\r  Atj"+\0!\n \b +\b9ˆ \b \n9€ \0Aõ† \bA€j Aj!\f\0\v\0\v +\b!\v +!\f \b \n9À \b \f \n¡9Ð \b \v9È \0Añ† \bAÀj\v \0(@AF@ \0AÌÕ\f\v \0A‘×\v \bA°j$\0\v \bAÕ\x006¤ \bA®»6 Aˆ÷\b(\0AØÀ \bA j5\0\v\v\0AÔ\nA6\0\v;#\0Ak"$\0  9\0 \0A£† s \0œ \0A o \0Añ€ · Aj$\0\v\0 \0AðË \0(A8j¸\vï|#\0A0k"$\0 B\x007( B\x007 @ \0("+ " (\fAt"+À”\n¡™Dü©ñÒMb@?f AÀ”\nj 9\0 A j"A߬Ê  \0(+ 9 A܆ Ajs œ A)o \0AÞË §ï \0( \v(¨"E\r\0@ (\0"E\r Aj! A‰®U\r\0 A¤¦U\r\0 AÃø\0U\r\0 A j" Ê 9 j"-\0@ Aj! A(oAñ€!@ -\0\0@  6  6\0 A jAÝ2 s 9 jAj!AŠ¡!\f A jA)o\v\v\v \0AÞË A j§ï\f\0\v\0\v A jN A0j$\0\vi#\0Ak"$\0 B\x007\b B\x007\0@@ -\0\0"AÜ\0G@ \r \0  §a N Aj$\0\v AÜ\0o -\0\0!\v  Ào Aj!\f\0\v\0\v’ \0©! \0#!@@@@ "E\r  Ak"j-\0\0A.G\r\0\v \0#!@ Ak!  G@  j-\0\0A0G\r\v@ \0&@ \0-\0"E\r \0 Ak:\0\f\v \0 \0(Ak6\v  G !\r\0\v \0#"AI\r\0  j"Ak"-\0\0A-G\r\0 Ak-\0\0A0G\r\0 A0:\0\0 \0&@ \0-\0"E\r \0 Ak:\0\v \0 \0(Ak6\v\vAäAòü\0A’A+\0\0\vAäAòü\0A¨A+\0\0\v\0 \0 ”" ð \0 A\0z\vE\0 \0 AðÎ +\0D\0\0\0\0\0\0R@£Æ \0 AðÎ  +\b"¡ AØË\n-\0\0D\0\0\0\0\0\0R@£Æ\vÈ#\0Ak"$\0 APA\0 (\0AqAGj"A(Ax (\0Aq"AFj(\0! A(AØ\0 AFj(\0!  )\b7\b  )\x007\0@ \0   E\r\0 \06 \0F@ \0-\0A q@ Ù\t\v \0 Î ² \0A )\bÏ\v \0 AA\0A\0÷\r\0 \06 \0F@ \v\v Aj$\0\v}#\0A0k"$\0 \0 ! \0+!@@ @A!\0   ¢AG\r\f\v  \0)\b7\0 Aj"AA«Ð ßA!\0   (L((\0\0AF\r\vA\0!\0\v A0j$\0 \0\vÍ#\0A0k"$\0 E@ A\0¬!\t\v A\0A€ (\0\0!\b@@@ \b@@@ \b(\f"@ -\0\0\r\v \b-\0\r\0 \tE\r \t \bA \t(\0\0"E\r (\f"\v@ \v-\0\0\r\v -\0\r\v@ \nE@  )\b7  )\x007A! \0  AjœAF\r   \0(L((\0\0AF\r A÷É \0(L((\0\0AF\r  (\fAj6\f\f\vA! A¹î \0(L((\0\0AF\r  )\b7(  )\x007 \0  A jœAF\r\v \0  \b(\bAƒAF\r AÑá \0(L((\0\0AF\r \0  \b(\fAƒAF\r \nAj!\n\v  \bA\b (\0\0!\b\f\v\v@ \nA\0J@A!  (\fAk6\f \nAG@ Aî€ \0(L((\0\0AF\r  )\b7\b  )\x007\0 \0  œAF\r\vAA\0 AÄØ \0(L((\0\0AF"\0! \r \0E\r\f\vA\0! \r\v  \t¬A\0!\v A0j$\0 \vA£ì\0AؽA•AÝ#\0\0\v\0 \0  \0 ”"Aƒ \0 A\0z\v\0 \0(\0 \0( \0(\b\vï \t|#\0AÐk"$\0 \0 Ì\bAçF@  \0A Å6  6\0Añð 4A\f\v#\0Ak"\t$\0 A‡&A˜A3 ( \x006 6 G@ 6A‡&A˜A3 6( \x006\v@@@ Aœ%"E\r\0 \0A\x006¤ \0 Ì\bAçG\r\0 \t \0A Å6 \t 6\0Añð \t4\f\v \0(¤"\n\r\vA\f\vAž \0(¬(\0Aq!\v#\0A@j"$\0AAà\0!\0 ( \x006\b AÂã\0%"\0@ B\x0078 B\x0070 Ò!  \x006$ A‰ú\0AÚú\0 6 A0j!\0#\0A0k"$\0  A j"6\f  6,  6@@@@@@A\0A\0A§\b R"A\0H\r\0 Aj!@ \0E \0#k"\b K\r\0  \bk!\b \0&@A! \bAF\r\v \0 \bÊ\bA\0!\v B\x007 B\x007 AO q\r Aj!\b   \b \0d\v A§\b (,R"G A\0Nq\r A\0L\r\0 \0&@ A€O\r@ E\r\0 \0d E\r\0 Aj ü\n\0\0\v \0 \0-\0 j:\0 \0#AI\rAã¶Aòü\0AêA\0\0\v \r \0 \0( j6\v A0j$\0\f\vA–§Aòü\0AÝA\0\0\vAýžAòü\0AâA\0\0\vAÐÎAòü\0AåA\0\0\vAþžAòü\0AìA\0\0\v@ \0&@ \0#AF\r\v \0# \0EO@ \0AÊ\b\v \0#! \0&@ \0 jA\0:\0\0 \0 \0-\0Aj:\0 \0#AI\rAã¶Aòü\0A¯AŸ³\0\0\v \0(\0 jA\0:\0\0 \0 \0(Aj6\v@ \0&@ \0A\0:\0\f\v \0A\x006\v  \0& \0 \0(\0\vð\v \0N\v@ AÚø\0%"\0E@AÀÙÌ"\0E\r\v@@AÌÙA=Á"AÌÙG@ AÌÙk"AÌÙj-\0\0E\r\vAÔð\nA6\0\f\v  \09"jAjV"E\r\0 AÌÙ ¤  j"A=:\0\0 Aj \0 Aj¤@@@@AØð\n(\0"\0E@A\0!\0\f\v \0(\0"\r\vA\0!\f\v Aj!A\0!@   ÏE@ \0(\0 \0 6\0 ñ\t\f\v Aj! \0(! \0Aj!\0 \r\0\vAØð\n(\0!\0\v At"A\bj!@@ \0A¨ó\n(\0"\bF@ \b b"\0\r\f\v V"\0E\r @ \0AØð\n(\0 ¤\vA¨ó\n(\0\v \0 Atj" 6\0 A\x006AØð\n \x006\0A¨ó\n \x006\0 @A\0 ñ\t\v\f\v \v\v\vA!\0@  A\0AÑ!A\0!Aåò}"A΍,E\r\0 A†ñ,E\r\0 Aïñ,E\r\0 Aë,E\r\0 A֍,E\r\0 Aá,E\r\0 AŠ–,E\r\0A!\0 A؝,E\r\0 Aތ,E\r\0A\0!\0 Aåò,E\r\0 A„ê,E\r\0  6AÀÚ Aj(\v ( \0:\0s@AË\n(\0\r\0AˆË\n Aöø\0%"\x006\0 \0\r\0AˆË\nA„Ë\n(\x006\0\v  A\0A¹ì\0A\0!D\0\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\0F!\f ((\b \f9\0A\0 AÛ7%"\0E\r\0A \0AÑ;\r\0A \0A¹Ð;\r\0AA\0 \0A÷Ò;\v!\0 ( \0Al \0At \v6t   A\0AþÛ\0A\0!D\0\0\0\0\0\0Ð?D{®Gáz”?F"\r90D\0\0\0\0\0\0à?!\f ( \rD\0\0\0\0\0\0R@¢"\rD\0\0\0\0\0\0à?D\0\0\0\0\0\0à¿ \rD\0\0\0\0\0\0\0\0f ü6ø@  A\0AöÛ\0A\0!A\0l"@  A0j6\0@ A¬„ I@D{®Gáz”?!\f +0"\rD{®Gáz”?cE\r\v  \f90 \f!\r\v (!\0 A¼¿E\r \0A:\0”\f\v B€€€€€€€ð?70 (!\0D\0\0\0\0\0\0à?!\r\v \0 \rD\0\0\0\0\0\0R@¢"\fD\0\0\0\0\0\0à?D\0\0\0\0\0\0à¿ \fD\0\0\0\0\0\0\0\0f ü6ü  A\0A¡.A\0!A\0A\0T!\0 (Aÿ \0 \0AÿN:\0ñ  A\0A—/A\0!A\0lA ‹\nA°‹\nè!\0 ( \x006ô@ A¡ß\0%"E@ (!\0\f\v AµÞ\0;@ ("\0(\bA6T\f\v Aû(;@ ("\0(\bA6T\f\v Aõ¥;@ ("\0(\bA6T\f\v A…ï\0;@ ("\0(\bA6T\f\v (!\0 õ"\fD\0\0\0\0\0\0\0\0dE\r\0 \0(\b" \f9 A6T\v A´‰ \0(\bA@kË\b!\0 ((\b" \0:\0P AŸ A0jË\b AÀ8%Z!\0 ((\b \0:\0R@ A±’%"\0@ \0àAÚ\0F\f\v AÖã\0%"\0@ \0-\0\0AßqAÌ\0F\f\v Aô–%"\0E\r \0Z\v!\0 ((\b \0:\0Q\vA¨Ë\n AÆô\0%A€‹\nA‹\nè6\0A¬Ë\n A¸’%Z:\0\0AÀË\nA\x006\0AÄË\nA\x006\0  A\0AŸö\0A\0!  A\0Aãâ\0A\0!D\0\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\0FD\0\0\0\0\0\0\0\0F!\f ((\b \f9 »AÈË\nB›Òݚ„÷…ÏÇ\x007\0AÜË\n A\0A²ÿ\0A\0!6\0AèË\n A\0AŸ›A\0!6\0AìË\n A\0A©å\0A\0!6\0AðË\n AA¨!A\0!6\0AôË\n AAÊø\0A\0!6\0AøË\n AAî–A\0!6\0AüË\n AA²7A\0!6\0A€Ì\n AA¦7A\0!6\0AœÌ\n AA”šA\0!6\0A„Ì\n AAë‡A\0!6\0AˆÌ\n AA’™A\0!6\0AŒÌ\n AA“7A\0!6\0AÌ\n AA”ñ\0A\0!"\x006\0 \0E@AÌ\n AA”ñ\0A”Ò!6\0\vA”Ì\n AAóð\0A\0!6\0A Ì\n AA¡.A\0!6\0AÜÌ\n AA³ø\0A\0!6\0A¬Ì\n AA²ÿ\0A\0!6\0A¤Ì\n AAÂ1A\0!6\0A¨Ì\n AA0A\0!6\0A´Ì\n AAïA\0!6\0A°Ì\n AAÖã\0A\0!6\0A¸Ì\n AAîâ\0A\0!6\0A¼Ì\n AAÿ‡A\0!6\0AÀÌ\n AAA\0!6\0AÄÌ\n AA¬+A\0!6\0A˜Ì\n AAìA\0!6\0AÈÌ\n AAë7A\0!6\0AÌÌ\n AAêØ\0A\0!6\0AÐÌ\n AA‡ A\0!6\0AÔÌ\n AAÏ1A\0!6\0AØÌ\n AA”\tA\0!6\0AàÌ\n AAŸ›A\0!6\0AäÌ\n AA !A\0!6\0AìÌ\n AA²7A\0!6\0AðÌ\n AA¦7A\0!6\0AôÌ\n AAë‡A\0!6\0AøÌ\n AA’™A\0!6\0AüÌ\n AA“7A\0!6\0A€Í\n AA”ñ\0A\0!6\0A„Í\n AAóð\0A\0!6\0A¨Í\n AA°%A\0!6\0AˆÍ\n AAç7A\0!6\0A´Í\n AA„ñ\0A\0!6\0A¸Í\n AAúð\0A\0!6\0A¼Í\n AAæ‡A\0!6\0AÀÍ\n AA™A\0!6\0AÄÍ\n AAŽ7A\0!6\0AÈÍ\n AA©¢A\0!6\0AÌÍ\n AAÁ›A\0!6\0AèÌ\n AAïæ\0A\0!6\0A”Í\n AA¡.A\0!6\0AŒÍ\n AA”šA\0!6\0AÍ\n AAĒA\0!6\0A˜Í\n AA܇A\0!6\0AœÍ\n AAÕA\0!6\0A Í\n AAë7A\0!6\0A¤Í\n AA‡ A\0!6\0AÐÍ\n AAšÛ\0A\0!6\0AÔÍ\n AA£Û\0A\0!6\0AØÍ\n AA³ø\0A\0!6\0A\0!\0#\0A k"$\0@@ A´¤%"@ -\0\0\r\v A¡Ä%"E\r -\0\0E\r\v Aø\0†\t"\0\r\0   6A¯ø Aj(  6\0A’ÿ pA\0!\0\v A j$\0 ((\b \x006X@ A¨%"\0E\r\0 \0-\0\0E\r\0 \0 q!\0 ((\b \x006\\\v A@k$\0 ((\b!\0 6( \x006\b@ \n(\0"\0E\r\0  \0\0 \n("\0E\r\0 ( \x006”\vA\0žA\0\v!\0 \tAj$\0A \0AF\r\0@ ("\0(\b-\0QAF@ \0+!\f \0+!\r \0+(!  \0+ 09(  09  \r09  \f09 AÐ\0jA€A‹‡ Ajß\f\v \0+!\f \0+!\r \0+ !  \0+(09H A@k 09\0  \r098  \f090 AÐ\0jA€A‹‡ A0jß\v AÜÀ AÐ\0jŽA\0\v AÐj$\0\vœ\rA\0AA”ñ\0A”Ò!Ñ"\0A\x006$ \0AÆ\n6 \0AŸ6 \0A¸\n6\0@ \0"( "E\r\0@ (\0"\0E\r@ \0-\0\0Aç\0G\r\0 \0Aô\r¿E\r\0 (!#\0Ak"$\0 (\0!\0@AA\fC"@ A\x006  \0X6\b  (h6\0  6h (!@A\0!\b ("\v@@ \v \bAlj"\t("@ (\0!\0 \t(\b!\n#\0A0k"$\0 …"\f@ A(j A:¯  \0AtjA@k!@@ (\0"\0E\r\0 A j \0(A:¯  )(7  ) 7 Aj Aj§\tA\0L\r\0 (\0!\f\v\v@@ (\0"\0E\r\0 A j \0(A:¯  )(7\b  ) 7\0 A\bj ®E\r\0 \n (\0"\0(\bN\r\0 \0!\f\v\vAA"\0 (\x006\0  \x006\0 \0 \t6 \0 6\f \0 \n6\b \0 \f6\v A0j$\0 \bAj!\b\f\v\v A\bj!\f\v\v Aj$\0\f\v A\f6\0Aˆ÷\b(\0A§ê .\0\v\v A\bj!\f\0\v\0\v A\0:\0, AA€A\0€"\0@  \0((\f6Œ\v A#6„ A$6€ A%6| A6x B€€€€€7p  Að\0jA¤Þ\t(\0f6ˆ \vóAˆ÷\b(\0"²AœÐ\n(\0"@ ‚AœÐ\nA\x006\0\v ± \0(8!@ @ ( !\f\v\v \0(h!@ @ (\0 ( (\b !\f\v\v \0¼ \0(( \0(0 \0(ˆ‚ \0A@k!@ AG@  Atj(\0!@ @ (\0 ( !\f\v\v Aj!\f\v\v \0(¬ \0A”Ë\n(\0AøÍ\n(\0\v\0 \0(¸"\0@ \0®\v\v¹#\0A0k"$\0@ (\0"E\r\0 -\0\0E\r\0 \0( \0(\0! \0(!@  F@A\0\v \0 Aj"6\0 (\0! ! E\r\0\v \vÎ \0( \0(\fAtj(\0( \0(,j! \0($! \0(P!@  I@ -\0\0" -\0€A\v! AtA€ƒj/\0@ \0 6D \0 6@\v@@@  At"Aàˆj.\0 jAt"AÀ„j.\0F\r AÀŠj.\0"AÝ\0H\r\0\v -\0 Œ!\f\v\v Aj! AàŒj.\0!\f\v\v \v¼~ \0@ \0 \09"Axqj! ­!@ B•ÓÇÞµò©ÒF~! \0 FE@  \0)\0\0B•ÓÇÞµò©ÒF~"B/ˆ …B•ÓÇÞµò©ÒF~…! \0A\bj!\0\f\v\v B€€€€€€€€B\0 …!@@@@@@@@ AqAk\0\v 1\0B0† …!\v 1\0B(† …!\v 1\0B † …!\v 1\0B† …!\v 1\0B† …!\v 1\0B\b† …!\v  1\0\0…!\v B•ÓÇÞµò©ÒF~"B/ˆ …B•ÓÇÞµò©ÒF~"B/ˆ …§\vAßÔAîºAšAðù\0\0\0\v$\0 \0  Ý\b \0(L"\0(\b   \0(\0(\b \0\vÑ@  F@ A\x006\0\f\v@@ \0  §A\tk"AKA tA“€€qEr\r\0@ \0  \0(@j" §A\tk"AM@A tA“€€q\r\v\v  F@ A\x006\0\f\v  6\0@@@@@ \0  §"A\tkAI\r\0 A=F\r A\rF A Fr\r\0 AF\r  \0(@j!\f\v\v  6\0@ \0  \0(@j" §"A\tk"AK\rA tA“€€q\r\0\v\f\v  6\0\f\v A=G\r\v  (\0F\r\0@ \0  \0(@j" §"A\tkAI\r\0@ A k\0\v A\rF\r\0\v A\'F\r\v  6\0A\0\v   \0(@j"6\0@  \0  §"G@ A:kAuK A_qAÛ\0kAeKr Aß\0F A-kAIrr@  \0(@j!\f  6\0A\0\v\0\v\v   \0(@j6\0\vA\vz@@@ -\0\0! \0-\0\0!A! Aj! \0Aj!\0AA\0A A k  Aá\0kAÿqAIAÿq"  A k  Aá\0kAÿqAIAÿqGAk\0\v\vA\0!\v \v>@ \0E@A!\f\v@ AF@A\v \0 At(ˆ\bÑ\r Aj!\f\0\v\0\v \v\0 \0  AÛ\0AÚ\0”\t\v\n \0A°þAìü\n\0\0@@@ A€F@ \0Aôj!\b \0Aôj!\t \0AÈ\0j!A\0!@ A€G@@  At"\nj(\0"AF@  jA:\0\0 \b AtjAÿÿ;\0 \t \njA;\0\f\v A\0H@A\0 E A|Ir\r  jA k:\0\0 \t \njA\0:\0\0 \b AtjA\0;\0\f\v Aÿ\0M@ -\0øþ"E AFrE  Gq\r  j :\0\0 \t \nj" :\0 A:\0\0 \b Atj A ;\0\f\v ¹A\0H@  jA\0:\0\0 \b AtjAÿÿ;\0 \t \njA;\0\f\v AÿÿK\r@A t"\v AvAqAt"\f A\bv"\r-\0 \bAtr(°ôq@  jA:\0\0\f\v  j! \r-\0 ƒ\bAt \fr(°ô \vq@ A:\0\0\f\v A:\0\0\v \t \nj"  Ajº:\0\0 \b Atj ;\0\v Aj!\f\v\v \0 6ì \0 6ð @ \0AÔ\x006è \0AÔ\x006ä \0AÔ\x006à \0AÕ\x006Ü \0AÕ\x006Ø \0AÕ\x006Ô \0AÖ\x006Ð \0AÖ\x006Ì \0AÖ\x006È\v \0A×\x006< \0AØ\x0068 \0\v\v -\0øþ"E AFr\r  Atj(\0 F\r\vA\0\v Aj!\f\0\v\0\vI#\0Ak"$\0@ \0AËâ\0%"\0E\r\0  A\bj6\0 \0A¬„ IA\0L\r\0A°Ë\n +\b9\0\v Aj$\0\vs@ \0(˜"E@ \0•"6œ \0 6˜\f\vA¤Ï\n(\0"E\r\0 ("\r\0•!A¤Ï\n(\0 6\vA¤Ï\n 6\0  \x006\0  64 \0A A\0€A\0G\v\n\0 \0A„Ï\b\vG@  \0(0NE@ \0(8 Atj(\0Ø Aj!\f\v\v \0(< \0(4  \0(8 \0\vXA”Ï\n(\0@A˜Ï\n(\0 M@A\0\vA”Ï\n(\0 Atj(\0(\0 \0;E@ Aj!\f\v\vA”Ï\n(\0 Atj(\0A\0\v\v©\n#\0Ak"$\0AÈ\0H!\vAœÏ\n(\0! \0((x!\fA!@@@@@ -\0\0"\tAÜ\0G@ \t\r\f\v Aj!\b -\0"\tAû\0kAI\r \b! \tAÜ\0F\r\vA!\n@@@ \tAû\0k\0\0\v  E \tAü\0Fqj!\f\vA!\n\v  \nj"A\0H\r\f\v \b!\v Aj!\f\v\v A!\b \v :\0@ \v \b68 Aj! As!AœÏ\n(\0! As!A\0!A\0!\b !A\0!A\0!A\0!\n@@A!\t@@@@@@@@@@ \tAqE\r -\0\0"AkAÿqAM@A!\tAœÏ\n Aj"6\0\f\v@@@ Aû\0k\0\v@@@ AAÚ\r\0@ (ô"A>F\r AG\r\0\v\f\v A\x006ì\t Aì\tj"AA (ÇAG\r Ar!@ (ì\tA¼æÙ»F@A\b! A\b6 Aþ\x006\f\t\v (ô"AF\r /\0\0!  -\0:\0î\t  ;ì\t  :\0ï\t\f\0\v\0\v (ÈA׊‰‚G\r A\v6 AµÜ\x006\f\v\0\v\0\v A\x006 Aš¨6\f\v ß\f\vA†A‰¾AèA¸æ\0\0\0\v (!\v \r\v\f\t\f\f\0\n\f\v A\x006@ (AA\0ó (ô (!AØ\0G\r AA\0ó (A AÀjïE\r\v (A Aì\tjï\r\f\v\v  (\bÙ"6D \r\n  (\b6Aï‰ Aj(\f\f\v A\x006@ (AA\0ó (A AÀjïE\r\t (A Aì\tjïE\r\t  (À·90  (ì\t·98\f\t\v A\x006@ (AA\0ó (A AÀjîE\r\b (A Aì\tjîE\r\b  (À·90  (ì\t·98\f\b\v A\x006@ (AA\0ó (A AÀjïE\r (A Aì\tjïE\r (A Aà\tjïE\r (A AÐ\tjïE\r  (ì\t (ÀAtr·90  (Ð\t (à\tAtr·98\f\v A\x006@ (@ (A AÀjîE@  (\b6 AÀÀ A j(\f\b\v (À"AÿF\r\0AÅó A\vÚ\r\0 (!@@@ AÀk\0\v AAó\r\t (A AÐ\tjîE\r\t (A Aà\tjîE\r\t  (Ð\t·98  (à\t·90\f\t\v AAó\r\b (A AÐ\tjîE\r\b (A Aà\tjîE\r\b  (Ð\t·98  (à\t·90\f\b\v A Aì\tjîE\r ( (ì\tAkAó\f\0\v\0\v AÈ\x006@ (@ AÀj"A€\b (¥E\r A¬â¿"E\r\0  AÈ\tj6<  AÐ\tj68  Aà\tj64  Aì\tj60 Aײ A0jIAG\r\0\v  (ì\t"·9  (à\t"·9(  (Ð\t k·90  (È\t k·98\f\v AA\0ó (A AÀjïE\r (A Aì\tjïE\r\v  (À·90  (ì\t·98\f\v B\x007È B\x007À ( Aô\tj!\tA\0!D\0\0\0\0\0\0\0\0!\r@||@@ \v  qrE@@ (ô"AG@A\0 A\nF\r AÀj ÀÐ\f\v\vA\v!\v AÀjÞ\b!\b@A\0!@  \bj",\0\0"E\r@ Aá\0kAM@  6ì\tA!@  6ð\t Aj! \b "Aj"j-\0\0"\nAßqÀAÁ\0kAI\r\0\v \nA=G\r  \bj-\0A"G\r  \b Aj"j"6ô\tA\0!@  6ø\t  \bj-\0\0"\nE\r \nA"F\r Aj! Aj!\f\0\v\0\v Aj!\f\v\v  )ì\t7¨  jAj!\b A¨jAÊø\0Ý@  \t)\x007X AØ\0jÜ!  AÝ\tj"6T  Aà\tj"6P@ A 2 AÐ\0jIAG@  6@ A¬„ A@kIAG\rA„!\vA! +à\t Ü\b!\r\v A! AqA\0!E\r\f\v  )ì\t7  A jA¨!Ý@  \t)\x007x Aø\0jÜ!  AÝ\tj"6t  Aà\tj"6p@ A 2 Að\0jIAG@  6` A¬„ Aà\0jIAG\rA„!\vA! +à\t Ü\b!\v  A\0!E\rA!\f\v  )ì\t7˜ A˜jAÃÝE\r\0  \t)\x007 AjÜ!  AÐ\tj6€  AÈ\tj6„ A „ A€jIAF@A!\f +È\t! +Ð\t!\v \f\0\v\0\v A\x006@ D\0\0\0\0\0\0\0\0 Aq! \rD\0\0\0\0\0\0\0\0 \f\v !\v \f| A\x006@   Aq! \r   !\f\v\v\v"\rD\0\0\0\0\0\0\0\0fE \rD\0\0ÀÿÿÿßAeErE@  \rü·90 D\0\0\0\0\0\0\0\0fE D\0\0ÀÿÿÿßAeEr\r  ü·98 AÀjN\f\vAöÊA‰¾AÙA¥ˆ\0\0\vAáÌA‰¾AÛA¥ˆ\0\0\v A\x006@ (AA\0ó (A AÀjîE\r (A Aì\tjîE\r  (À·90  (ì\t·98\f\vA\0! A\x006@ ( ("E\r@@ A\tF@A\0!@ A\tF\r ô"AF\r Aj A/F  A×j,\0\0F!\f\0\v\0\v A×j! Aj"!@ A\tF@ !\f\v -\0× Aj! -\0\0G\r\0\v\vAÿÇA‰¾AßA†5\0\0\v B\x007ø\t B\x007ð\t  6ì\t Aì\tj"Û\b Að\tj!@ ôAÛ\0G\r\0 ™ AÀj˜\r\0 ™ AÈj˜\r\0 ™ AÐj˜\r\0 ™ AØj˜ N\r  +À"\r9  +È"9(  +Ð \r¡90  +Ø ¡98\f\v N\v ßAˆÏ\n(\0" A (\0\0\f\vAÿÕA‰¾AØA†5\0\0\v (\b"@A\0 A\0z\v A\0!\v  )¸7\b  )°7\0 \0  ß\b\v A€\nj$\0\v\'@ \0-\0AG\r\0 \0("E\r\0  \0A\x006\v\vº#\0A k"$\0A! \0"!@@@ \0\v@@ "-\0\0"E\r Aj! Aÿ\0I\r\0 Aj!A\0! AüqAÀF\r\0\vA€Ï\n-\0\0A€Ï\nA:\0\0 \0!Aq\rA®‡A\0(\f\v \0! \r\v \0!#\0Ak"$\0 B\x007\b B\x007\0@ -\0\0"@ Aÿ\0I Aj -\0A?q Atr! Aj\v!  Ào\f\v\v ã Aj$\0!\v B\x007 B\x007A(! !@@@ Aj" ÀÐ@ -\0\0"A(kAI AÜ\0FrE@ \r A)Ð \0 G@ \v Aj"\0&E\r \0 \0#"\0Þ"\r  \0Aj6\0Aˆ÷\b(\0A§ê .\0\v AjAÜ\0Ð -\0\0!\v Aj!\f\v\v AjA\0Ð (!\v A j$\0 \v©#\0A \bk"$\0@@@ E\r\0A!@ AqE\r  Atj(\0"E\r Aj! -\0\0A\0G!\f\0\v\0\v@ (\0"@ \0  \0Aî€ Aj!\f\v\v E\r\vA\0!@  Atj(\0"E\r@ -\0\0E\r\0 "E@  6\0A°û (\f\v A<Ä"@@ A j"A\0A€\bü\v\0 \0  AA€\b Ç"ð AÿK\r\0\v \0Aî€ \f\v  6A”û Aj(\v Aj!\f\0\v\0\v A \bj$\0\vŸ| Aq!\f@ AF@ \0+\b" \0+ ¡" !  ¡! \0+\0" \0+ ¡"\b !\n  \b¡!\b\f\v \0+\0"\n!\b \0+\b"!@  \vF\r \0 \vAtj"\r+\b"   d! \r+\0"\t \n \t \nd!\n    c! \t \b \b \td!\b \vAj!\v\f\0\v\0\v Aq!\0   ¡D\0\0\0\0\0\0à?¢ ! \b \n \b¡D\0\0\0\0\0\0à?¢ !\t \f@  \t9\0   š \09\b  \t \b¡  ¡@"D\0\0\0\0\0\0Ð?¢9A\f\v  ¡! \n \t¡!\b D!\n K!| \0@  ¢"  !  ¡\f\v  ¡š ¢ ¡!  ¢ ¡\v!  9  9\b  \t \b \n¢"¡9\0  \t !A\v j 9\0\vg#\0Ak"$\0@ \0&@ \0 \0#"Þ"\r  Aj6\0Aˆ÷\b(\0A§ê .\0\v \0A\0o \0(\0!\v \0B\x007\b \0B\x007\0 Aj$\0 \vˆ#\0A0k"$\0  \x006, AäÎ\n(\0G@AäÎ\n 6\0AèÎ\nA\0:\0\0\v B\x007 B\x007@  \0Aj6, \0-\0\0"@@@@@ AÀO@A AàI\rA AðI\rA AøI\rAèÎ\n-\0\0AèÎ\nA:\0\0AqE@   6A´Ò Aj(\v  Ajç\b!A\f\v A&F\rA\0\v!A\0! A\0 A\0J! (,!\0@  F\r \0,\0\0A¿J\r Aj Ào Aj! \0-\0\0! \0Aj!\0\f\0\v\0\v A,jæ\b"E@A&!\f\v Aþ\0M\r AþM@ Aj AvA@ro A?qA€r!\f\v Aj"\0 A\fvA`ro \0 AvA?qA€ro A?qA€r!\f\vAèÎ\n-\0\0AèÎ\nA:\0\0  \x006,AqE@   6  Aj6\0AÇÑ (\v Aÿq Ajç\b!\f\v  \x006,\v Aj Ào (,!\0\f\v\v Ajã A0j$\0\vÁ#\0A0k"$\0  6$  6 B\x007   A0j" (\0Aq"AF((6(   A0k" AF((6, \0 AjA \0(\0\0  6\f  6\b B\x007\0    (\0Aq"AF((6    AF((6 \0 A \0(\0\0 A0j$\0\v3@ \r\0A\0! á"AK\r\0 \0  Añ€!!\v   a \vL\0  \0AôÌ\n(\0D\0\0\0\0\0\0,@D\0\0\0\0\0\0ð?F9\0  \0AøÌ\n(\0A¼ê\0}6\b  \0AüÌ\n(\0A×õ\0}6\f\v<@@  Atj(\0"E\r\0 \0@ \0 GE\r\v Aj!\f\v\v  Atj(\0\v3\0 \0 ((”"+\0D\0\0\0\0\0\0R@¢9\0 \0 +\bD\0\0\0\0\0\0R@¢9\b\ve@ \0E\r\0 \0,\0\0"E\r\0@ \0Aǔ,E\r\0 \0A˜ß\0,E\r\0A! \0A‹‹,E\r\0 \0A.,E\r\0 ! A0kA\tK\r\0 \0àA\0G!\v \v \vï|#\0A k"$\0  \0 ü"\b9\b  6\b   Atj")\x007  )\b7@  O\r\0 +\0  Aj"\0Atj"+\0¡" ¢ +\b +\b¡" ¢ Ÿ \bcE\r\0 \0!\v   Atj"\0)87  \0)07  \0)(7(  \0) 7  \0)78  \0)70  )\x007@  )\b7H A@k! \bD\0\0\0\0\0\0\0\0d@  6X  A\bj6\\ AØ\0jA& AjA\0¤\v \0 )\b7\b \0 )\x007\0 \0 )87 \0 )07 \0 )(7( \0 ) 7 \0 )78 \0 )70 A j$\0 \vê|#\0A k"$\0  \0 ü"\b9\b  6\f   Atj"\0"A0j)\x007  \0)87(@  O\r\0 \0+\0 +0¡" ¢ \0+\b \0+8¡" ¢ Ÿ \bcE\r\0 Ak!\v   Atj"\0)\b7H  \0)\x007@  \0)78  \0)70  \0)(7(  \0) 7  )07  )87 \bD\0\0\0\0\0\0\0\0d@  A\bj6\\  Aj"6X AØ\0jA& A¤\v \0 A@k")\b7\b \0 )\x007\0 \0 )87 \0 )07 \0 )(7( \0 ) 7 \0 )78 \0 )70 A j$\0 \v_@@@ (\0" \0E\r \0  9"Ï\r  (\0 (r6\0 \0 j \0\v\vAßÔA½ü\0A\fAð÷\0\0\0\v A\bj!\f\0\v\0\vü#\0Ak"$\0 A\x006\0  \0+ÒA\0G"6\0@AˆÍ\n(\0"E\r\0@ \0 ?"-\0\0E\r\0Aß!@ (\0"E\r  G@ A\fj!\f  (6\0  (\b"6\0\f\v\0\v\0\v (\0!\v@ AG\r\0 \0+AAê±A\0!"E\r\0 \0 ?"-\0\0E\r\0  ü\b\v@ (\0AG\r\0 \0+AAÆï\0A\0!"E\r\0 \0 ?"-\0\0E\r\0  ü\b\v \0(-\0™AF@ \0 \0A0k" \0(\0AqAF((+ \0  \0(\0Aq"AF(( \0A(AØ\0 AFj(\0A\0A\0Q A\fj A\bjî  (\0 (\fr6\0  (\0 (\br6\0\v Aj$\0\v›\b\r|#\0Að\0k"$\0@@@@@@ \0(\0"\t("-\0,\r\0 -\0T\r\0 -\x001! -\0Y!\n\f\v -\x001"A\bq\r -\0Y"\nA\bq\r AqE\r\0  \nF\r\vAA \tA(AØ\0 \t(\0AqAFj(\0"\t("\b+"\r + " \r +@ "f"\v \b+" +8 !  + ! \b+`!\r  \n¡! D\0\0\0\0\0\0à?¢ ¸£D\0\0\0\0\0\0\0@"!   D\0\0\0\0\0\0à?¢!A\0!\bD\0\0\0\0\0\0\0\0! \r  \r " ¡D\0\0\0\0\0\0\b@¢\'! \r  ¡D\0\0\0\0\0\0\b@¢\'!AA \v AÁ\0G A Gq  br· ¢!@  \bF\r \0 \bAtj(\0!    \r "\r "9@  98  90  9  9h     "¡"9X  9`     "D\0\0\0\0\0\0\b@£ 9P  9H  9\b    "9(  9  9\0     "D\0\0\0\0\0\0\b@£ 9@ ((`E\r\0 A(AØ\0 (\0AqAFj(\0+!\n ((`" A A \n((tAqj+\0"D\0\0\0\0\0\0à?¢ \r \t("\n+  98 \n+! A:\0Q  9@  cE\r\0 \r  ¡ !\r\v  A(Ax (\0AqAFj(\0 A ~ \bAj!\b\f\0\v\0\v Aq\r -\0Y"\nAq\rAA \tA(AØ\0 \t(\0AqAFj(\0"\t("\b+"\r + " \r +@ "f"\v \b+" +8 !  + ! \b+X!\r  \n¡! D\0\0\0\0\0\0à?¢ ¸£D\0\0\0\0\0\0\0@"!   D\0\0\0\0\0\0à?¢!A\0!\bD\0\0\0\0\0\0\0\0! \r  \r  ¡D\0\0\0\0\0\0\b@¢\'! \r  \r  ¡D\0\0\0\0\0\0\b@¢\'!AA \v AÃ\0G A\fGq  br· ¢!@  \bF\r \0 \bAtj(\0!    \r "\r¡"9@  98  90  9  9h     "¡"9X  9`     "D\0\0\0\0\0\0\b@£¡9P  9H  9\b    "9(  9  9\0     "D\0\0\0\0\0\0\b@£¡9@ ((`E\r\0 A(AØ\0 (\0AqAFj(\0+!\n ((`" \t("\v+ \r¡ A A \n((tAqj+\0"D\0\0\0\0\0\0à¿¢ 98 \v+! A:\0Q  9@  cE\r\0 \r  ¡ !\r\v  A(Ax (\0AqAFj(\0 A ~ \bAj!\b\f\0\v\0\v Aq\r\0 Aq@ \tA(AØ\0 \t(\0AqAFj(\0"\v("\t+! \t+P +@! +!  \n¡! \t+"\r + " \r +8 " D\0\0\0\0\0\0à?¢!D\0\0\0\0\0\0\0\0!\r D\0\0\0\0\0\0à?¢ ¸£D\0\0\0\0\0\0\0@"!D\0\0\0\0\0\0à?¢"    "  ¡D\0\0\0\0\0\0\b@¢\'!     "  ¡D\0\0\0\0\0\0\b@¢\'! A\0AA  f"k  AÃ\0F·¢!@  \bF\r \0 \bAtj(\0!     "¡"9H  98  90  9(  9h     "D\0\0\0\0\0\0\b@£¡9X  9`    \r "\r¡"9P  9@  9\0   \r "9  9\b     "D\0\0\0\0\0\0\b@£¡9  9@ ((`E\r\0 A(AØ\0 (\0AqAFj(\0+!\t ((`" \v("\n+ ¡ AA \t((tAqj+\0"D\0\0\0\0\0\0à¿¢ 9@ \n+! A:\0Q  98  cE\r\0   ¡ !\v  A(Ax (\0AqAFj(\0 A ~ \bAj!\b\f\0\v\0\vAğAźA±\tAàž\0\0\v#\0Að\0k"$\0D\0\0\0\0\0\0ð?D\0\0\0\0\0\0ð¿ \0(\0"A(AØ\0 (\0AqAFj(\0"\n("\b+"\r ("+ " \r +8 "f! \b+PD\0\0\0\0\0\0à?¢! \b+" +@ !  + ! -\x001 -\0Y¡! D\0\0\0\0\0\0à?¢ ¸£D\0\0\0\0\0\0\0@"!@@@@@@@@@@@ A%k\n\n\n\n\n\n\n\n\n\0\v@ AÉ\0k\r\t\t\n\n\n\n\n\n\n\b\t\0\v@ Ak\0\v   \b+`  \r¡¡ ¢!\f\t\v   \b+X \r ¡¡ ¢!\f\b\v   \b+`  \r¡¡ ¢!\f\v   \b+`  \r¡¡ ¢!\f\v A9kAO\r\v  \b+X \r ¡¡ \b+`  \r¡¡ D\0\0\0\0\0\0\b@£¢!\f\v   \b+X \r ¡¡ ¢!\f\v  \b+X \r ¡¡¢!\f\v   \b+X \r ¡¡ \b+`  \r¡¡ D\0\0\0\0\0\0à?¢ ¢!\f\v     \b+X \r ¡¡ \b+`  \r¡¡ D\0\0\0\0\0\0à?¢ ¢!\v   D\0\0\0\0\0\0à?¢!A\0!    " ¡D\0\0\0\0\0\0\b@¢\'!\r   ¡D\0\0\0\0\0\0\b@¢\'!@  G@ \0 Atj(\0!\b     " "9H  98  90  9(  9h    \r "\rD\0\0\0\0\0\0\b@£ 9X  9`    ¢  "¡"9P  9@  9\0    "9  9\b     "D\0\0\0\0\0\0\b@£ 9  9@ \b((`E\r\0 \bA(AØ\0 \b(\0AqAFj(\0+!\v \b((`"\t \tAA \v((tAqj+\0"D\0\0\0\0\0\0à?¢  \n("\v+  9@ \v+! \tA:\0Q \t 98  cE\r\0   ¡ !\v \b \bA(Ax \b(\0AqAFj(\0 A ~ Aj!\f\v\v Að\0j$\0\v Að\0j$\0\vú#\0Ak"$\0@ \0"("(x"\0@ -\0p\r\v\v (\b"\0E@AA(!\0 ( \x006\b\v@ \0("AÕªÕ*I@ \0(\0 A0l"A0j"b"\0E\r \0 jA\0A0ü\v\0 ((\b" \x006\0  ("Aj6 A! \0 A0lj"\0 6 \0 6\0 \0A\bjA\0A(ü\v\0 Aj$\0 \0\vAÞÀA¤ý\0AÍ\0A˜´\0\0\v  6\0Aˆ÷\b(\0A§ê .\0\vÐ|#\0A@j"$\0 ("+`!\t@ AFE@  At"j"\b  j"+\0 +¡9\0 \b +\b +¡9\b Aj!\f\v\v \0 (\b((\f  ¤ (!\0A\0!@ AFE@  At"j"  j"+\0 \0+ 9\0  +\b \0+ 9\b Aj!\f\v\v \0 \t9` A@k$\0\vÎ\t|#\0A k"$\0 A\x006@ ("@ (\0"E\r (\bE@  Aðâ\tA#A$A"‘6\b\vAŒË\n-\0\0@ AjA\0 (\0±!\vA\0!@ (Œ"E\r\0 (\0"E\r\0   \0\0!\v@@ E@ ("(! +!\f B\x007  \f9 B\x007\b  \fD333333ó?¢9(  \fDš™™™™™¹?¢9  \f| (\0! (\0!\t Aq! AqAv!#\0A k"\b$\0@@@ @ \tE\r ƒ\t"\nAA AA  j!\vA\0!@ \t-\0\0"E\r@ ÀA\0N@ !\f\vA !AÜÎ\n-\0\0\r\0AÜÎ\nA:\0\0 \b 6A؈ \bAj(\v@ \v Atj.\0"AF@A\0!AÝÎ\n-\0\0\rAÝÎ\nA:\0\0 \b 6\0A×Þ \b(\f\v A\0H\r\v \tAj!\t  j!\f\0\v\0\vA¦™A¹¸AÃAï\0\0\vAìA¹¸AÄAï\0\0\v \n+\b!\f \bA j$\0 ¸ \f£\f\vAšA¹¸A½Aìò\0\0\0\v¢9 E\r A”É6\0\f\v E\r\v (\0!Aˆ÷\b(\0! ("@  6  6 AÕÿ Aj\f\v  6\0 A¯ü \v \0 )(7\b \0 ) 7\0 A j$\0\vA’Aˆ¼AÏ\0A—ˆ\0\0\vA°™Aˆ¼AÒ\0A—ˆ\0\0\v²#\0Ak"$\0@ \0 A\fj‡\t"@ (\f"A¢ü·"D\0\0\0\0\0\0pÁ¢ \0 ü6\0  AtjA\bk+\0  !\0 Ak! Aj" G\r\0\v\v \0 ´"\0 \0D\0\0\0\0\0\0À?¢œD\0\0\0\0\0\0 À¢ "\0 \0ü"\f·¡!\0@@@ A\0L"E@ At j" (Ü"  u" tk"6Ü  \fj!\f  u\f\v \r At j(ÜAu\v"\nA\0L\r\f\vA!\n \0D\0\0\0\0\0\0à?f\r\0A\0!\n\f\vA\0!A\0!A! A\0J@@ Aàj Atj"(\0!@  Aÿÿÿ E\rA€€€\b\v k6\0A!A\0\f\vA\0!A\v! Aj" G\r\0\v\v@ \r\0Aÿÿÿ!@@ Ak\0\vAÿÿÿ!\v At j" (Ü q6Ü\v \fAj!\f \nAG\r\0D\0\0\0\0\0\0ð? \0¡!\0A!\n \r\0 \0D\0\0\0\0\0\0ð? ´¡!\0\v \0D\0\0\0\0\0\0\0\0a@A\0! !@  \bL\r\0@ Aàj Ak"Atj(\0 r!  \bJ\r\0\v E\r\0@ Ak! Aàj Ak"Atj(\0E\r\0\v\f\vA!@ "Aj! Aàj \b kAtj(\0E\r\0\v  j!@ AÀj  j"Atj  Aj"Atj(\0·9\0A\0!D\0\0\0\0\0\0\0\0!\0 A\0J@@ \r Atj+\0 AÀj  kAtj+\0¢ \0 !\0 Aj" G\r\0\v\v  Atj \x009\0  H\r\0\v !\f\v\v@ \0A \vk´"\0D\0\0\0\0\0\0pAf@ Aàj Atj \0D\0\0\0\0\0\0p>¢ü"·D\0\0\0\0\0\0pÁ¢ \0 ü6\0 Aj! \v!\f\v \0ü!\v Aàj Atj 6\0\vD\0\0\0\0\0\0ð? ´!\0 A\0N@ !@  "Atj \0 Aàj Atj(\0·¢9\0 Ak! \0D\0\0\0\0\0\0p>¢!\0 \r\0\v !@@ \b  k"  \bJ"A\0H@D\0\0\0\0\0\0\0\0!\0\f\v  Atj!\vA\0!D\0\0\0\0\0\0\0\0!\0@ At"\r+€ä\b \v \rj+\0¢ \0 !\0  G Aj!\r\0\v\v A j Atj \x009\0 A\0J Ak!\r\0\v\vD\0\0\0\0\0\0\0\0!\0 A\0N@ !@ "Ak! \0 A j Atj+\0 !\0 \r\0\v\v \t \0š \0 \n9\0 +  \0¡!\0A! A\0J@@ \0 A j Atj+\0 !\0  G Aj!\r\0\v\v \t \0š \0 \n9\b A°j$\0 \fAq! \t+\0!\0 B\0S@  \0š9\0  \t+\bš9\bA\0 k!\f\v  \x009\0  \t+\b9\b\v \tA0j$\0 \v\0 \0"\0A\0 \0AG³\vö| \0½B ˆ§Aÿÿÿÿq"A€€ÀÿO@ \0 \0 \v@ Aÿÿ?K@ \0!A“ñýÔ\f\v \0D\0\0\0\0\0\0PC¢"½B ˆ§Aÿÿÿÿq"E\rA“ñýË\v Anj­B †¿ ¦"  ¢  \0£¢"  ¢¢ D×íäÔ\0°Â?¢DÙQç¾ËDè¿ ¢  DÂÖIJ`ñù?¢D $ð’à(þ¿ ¢D’æaæþ?  ¢½B€€€€|ƒB€€€€\b|¿" \0  ¢£"\0 ¡    \0 £¢  !\0\v \0\vV#\0A k"$\0 \0A\0¬! B\x007\b A\x006 B\x007 B\x007\0  6\b \0 A \0(\0\0 \0 ¬ A j$\0\vÁ|~@@ \0½"BÿÿÿÿÿÿÿW@ \0D\0\0\0\0\0\0\0\0a@D\0\0\0\0\0\0ðÿ\v B\0Y\r \0 \0¡D\0\0\0\0\0\0\0\0£\v Bÿÿÿÿÿÿÿ÷ÿ\0V\rAx!\t B ˆ"B€€ÀÿR@ §\f\vA€€Àÿ §\rD\0\0\0\0\0\0\0\0\vAËw!\t \0D\0\0\0\0\0\0PC¢½"B ˆ§\v!\b Bÿÿÿÿƒ \bAâ¾%j"\bAÿÿ?qAžÁšÿj­B †„¿D\0\0\0\0\0\0ð¿ "\0 \0 \0D\0\0\0\0\0\0à?¢¢"¡½B€€€€pƒ¿"D\0\0 eG÷?¢" \t \bAvj·" "   ¡  \0 \0D\0\0\0\0\0\0\0@ £"   ¢" ¢"  DŸÆxÐ\tšÃ?¢D¯xŽÅqÌ? ¢Dú—™™™Ù? ¢    DDR>ßñÂ?¢DÞ˖dFÇ? ¢DY“"”$IÒ? ¢D“UUUUUå? ¢  ¢ \0 ¡ ¡ "\0  D\0¢ï.üç=¢ \0D\0\0 eG÷?¢   !\0\v \0\vY#\0A k"$\0 \0Ä"\0 \0(\b!\0 B\x007\b A\x006 B\x007 B\x007\0  6\b \0 A \0(\0\0A\0\v A j$\0\v•| K"\bš!\t \0(\b! D! !@ @ ((”"  +\0"\n \b¢  +\b"\v¢  9\b   \n ¢ \v \t¢  9\0  !\f\v\v \0A8j!@ (\0"\0@ \0   ­ \0Aj!\f\v\v\vÁ#\0A0k"$\0 \0(\b O@ \0A\x006 \0A$! \0(\0 Atj \0(6\0 \0AÜ@ \0(\b AsjAt"E\r\0 \0(\0  \0)\b7(  \0)\x007 A j Aj \0(\0!  \0)\b7  \0)\x007 Aj !\b E\r\0Atj  \bAtj ü\n\0\0\v \0 6  \0)\b7\b  \0)\x007\0  !@@@ \0("\0\v \0(\0 Atj(\0\f\v \0(\0 Atj(\0 \0\v \0(\0 Atj \0(6\0 A0j$\0\vAÁ¢AѸAAÆ\0\0\v\0 \0(\b At ((€ \x006\f\vD \0@ \0("@ ]\v \0(\b"@ ]\v \0(\f \0("@  \0(\0\v \0\v\v\0 \0  A\bAA€€€€Aÿÿÿÿš\t\v= \0+! \0("@@ (  (\0A\0z " \0(G\r\0\v\v \0A\x006\v½| \0(!@@@@@@@@ \0(\0"E@ \0 9\b \0A6\0 \0 A\b"6 \0("A\0 A\0J!@  FE@  At"\bj  \bj+\x009\0 Aj!\f\v\v    ¯\n! \0((\r \0 6( \0\v \0(,"\n J@ \0  \0+\b 9\b A\0 A\0J!\b Aj·!\f ·!\r@  \bFE@ At" \0( j"\t \t+\0 \r¢  j+\0  \f£9\0 Aj!\f\v\vA t! \0($"E@ \0 A"6$\v  \0("\v ®\n"\b N \bA\0Hr\r  \bAt"\tj(\0"E@ \0( \v \0+D\0\0\0\0\0\0à?¢ \n \b°\n! \0($ \tj 6\0\v     Aj"³! \0($"\b \tj 6\0 E\r@ \0(("E\r\0 \0(\0AG\r (\f!\t +\0!   \0(" (\b"®\n"L A\0Hr\r \b At"j(\0"E@ \0(  \0+D\0\0\0\0\0\0à?¢ \n °\n! \0($ j 6\0\v    \t ³! \0($ j 6\0 E\r \0((!@ E\r (! ¯ \0 6( !\f\0\v\0\v \0 \0(\0Aj6\0 \0\v \0($\r \0 Aj"6\0 \0  \0+\b 9\b A\0 A\0J!\b Aj·!\f ·!\r@  \bFE@ At" \0( j" +\0 \r¢  j+\0  \f£9\0 Aj!\f\v\v    ¯\n! \0(("E\r  6 \0 6( \0\vA˜¥A;AÎA ò\0\0\0\vAö™A;AÚA ò\0\0\0\vA¯ÈA;AÞA ò\0\0\0\vAýA;AâA ò\0\0\0\vAö™A;AæA ò\0\0\0\vA¯ÈA;AëA ò\0\0\0\vA±£A;A÷A ò\0\0\0\vA–ó\0A;AýA ò\0\0\0\vÛ\n|@ \0A\b"E \0A\b"\bEr \0A\b"\nEr\r\0 \0A\0 \0A\0J!\t@  \tF@@  \tF@A  AL!\vA!@  \vG@  \0 lAtj!\fA\0!@  \tG@  At"j"\r \r+\0  \fj+\0"\'9\0  \bj" +\0 "9\0 Aj!\f\v\v Aj!\f\v\v \b+\0 +\0¡!A\0!@  \tG@ \n At"j  j+\0"  \bj+\0" D\0\0\0\0\0\0à?¢9\0 Aj!   ¡"!\f\v\vA\0! A\0 A\0J! \0 \n Dñh㈵øä>"D¤p=\n×£à?¢ ±\n!@  F\r @   \0 lAtjD\0\0\0\0\0\0ð? A\0³\v Aj!\f\0\v\0 \b At"j  j+\x009\0 Aj!\f\v\0\v\0  At"j  j+\x009\0 Aj!\f\v\0\v\0\v  \b \n \vx@@@ \0\0\0\v \0! AG!@ E\r@ E@  º\f\v \0 *!@ E\r  º \0 /!\f\0\v\0\v \0 !\f\0\v\0\v \0 \0A A÷\v\vF \0 A{"A¡&AÀA3A H! ( 6€ \0(/°A\b!\0 ( \x006” \vR \0A\0 A\0!"@ \0 ?!\0 A\0 A\0!"@   \0a\v \0i@ A\0  \0Ž\v A\0  \0!\v\vü#\0A0k"$\0 B\x007( B\x007 B\x007 E@ Aj"A$! ( Atj (,6\0 \f\v \v! \0k!@ @@ ¢@ A‡&A˜A3A8H! ( 6Œ 6! (" (/°;° ((Œ(,! (Œ" 60  Aj6,  6 A$! (\0 Atj (6\0 A\0 ¸\f\v   ¸\v j!\f\v\v@@ \r\0 ( "Ak"A\0H\r \0( 6´ AM@A\0!A!@  O@ Aj"\0A- \02\f  ) 7  )7\b A\bj !\0@@@ (("\0\v ( \0Atj(\0\f\v ( \0Atj(\0 \0\v Aj! ( !\f\v\0\v\0\v Aj"A°  \0(A¸jA\0A«\v A0j$\0\vAÍA°¸AßAÖ)\0\0\vD| \0(+(!A¸ð\n-\0\0AF@ D\0\0\0\0\0\0à?¢A°ð\n+\0 \v A°ð\n+\0¢D\0\0\0\0\0\0à?¢\vD| \0(+ !A¸ð\n-\0\0AF@ D\0\0\0\0\0\0à?¢A¨ð\n+\0 \v A¨ð\n+\0¢D\0\0\0\0\0\0à?¢\vL ((”"+\0 \0((”"+\0¡™ \0º º e +\b +\b¡™ \0¹ ¹ eA\0\v\v\b\0AA8\v\0 \0ˆ \0AÖ\v„±1\b|}~#\0AÐk"$\0@ AÇ8%"@ à!\f\vAÈ!@@ Ak\0\vA!\f\v :Aä\0l!\vA¸Ë\n 6\0@@  â\v"AH\r\0A¸Ë\n(\0A\0H\r\0@@@@ \0\v@@@@ Ak\0\vA\0!\0   A€jA\0AA\0Ç\n"\r(\b! \r Û \r ˆ\v!\f \r  Ú (( !@ \0 G@  \0At"j(\0!  \fj(\0!A\0!@  G@  Atj  Atj(\0·9\0 Aj!\f\v\v \0Aj!\0\f\v\v \f(\0 \f \rÓ\n\f\v  D\0\0\0\0\0\0\0\0¿!\n  D\0\0\0\0\0\0\0\0¿! !@ E@@  \n Ð\n"\rE\r\0A\0! A\0 A\0J!\f@  \fF\r  At"j!A\0!\0@ \0 G@ \0At" ((  j(\0j (\0" Atj+\0  \0Atj(\0 j+\0   j+\0"7 7 ¡9\0 \0Aj!\0\f\v\v Aj!\f\0\v\0\v \n¾ ¾ \r\f\v  ^!\0@ \0E@  !\f\v \0A(AØ\0 \0(\0Aq"AFj(\0(\0Av" \0A(Ax AFj(\0(\0Av"G@ \n Atj(\0 AtjD\0\0\0\0\0\0ð¿ \0(+ˆ£"79\0 \n Atj(\0 Atj 79\0\v  \0 c!\0\f\0\v\0\v\0\v\r   6`A“ Aà\0j(A´âA\0pAŒ—A\0pAÈàA\0p\v  Ú\v\f\v  Ú\v !\n@ \nE\r  \n*!@ @ A(AØ\0 (\0Aq"\0AFj(\0(\0Av" A(Ax \0AFj(\0(\0Av"G@ (( "\0 Atj(\0 Atj (+ˆ"79\0 \0 Atj(\0 Atj 79\0\v  /!\f\v\v  \n!\n\f\0\v\0\v !A\0!#\0A°k"\v$\0A·!\0@@@ Ak\0\vAƒ‘!\0\vA\0! \0A\0(\v :!AŒË\n-\0\0@A»âA7AAˆ÷\b(\07•\v A\0 A\0J!A\0!\0@@ \0 F@@A\0! A! !\n@@@ \nE@AA" AjA"6 \vAØ\0j Ê  \v)X7\b  A6 A!\0  6\0  \x006 A\0N\rAìËA¿A9Aš\0\0\v \n((ˆ G\r  \n^!\0@ \0@  \0A(AØ\0 \0(\0Aq"AFj(\0 \0A(Ax AFj(\0Gj!  \0 \nc!\0\f Aj!  \n!\n\f\v\0\v\0\v\v A\bj!\f  Atj 6\0A\0!\n !@@@@ E@  (\0F\rA£ë\0A¿AÏ\0Aš\0\0\v \nA\0H\r ( Atj \n6\0 \f  (-\0‡AKÔ  ^!\0@ \0E@ Aj!  !\f\v \0A(AØ\0 \0(\0Aq"AFj(\0" \0A(Ax AFj(\0"G@ \nAt" (j    F((ˆ6\0 ( j \0(+ˆ"7¶8\0 7D\0\0\0\0\0\06dE\r \nAj!\n\v  \0 c!\0\f\0\v\0\v\v \nA\0N@ (" Atj(\0 \nF@@ \t\0\v \vAØ\0j Ê \vA j ÊA\0!\0@ \0 F@ \vAØ\0jÉ \vA jÉA\0!\f\n\v  \0Aj"Atj!  \0Atj"(\0!A\0!\n@ (\0"\0 M@ (\0!@ \0 M@ (\0!@ \0 M@ !\0\f \vAØ\0j ( Atj(\0A\0Ô Aj! (\0!\0\f\v\0\v\0\v  (" At"j(\0Atj"(\0!\0A\0!A\0!@ (" \0M@@ ( j \n j Atk"\0²8\0 \0A\0J\r\0AԘA¿Aó\0Aš\0\0\v  \0Atj(\0!\r \v \v) 7P \vAÐ\0j \rE@ \vA j \rAÔ \v \v)X7H \vAÈ\0j \r j! Aj!\v \0Aj!\0\f\v\v (\0!\0@ \0 O@ Aj! (\0!\0\f \vA j  \0Atj(\0A\0Ô \0Aj!\0 (!\f\v\0\v\0\v\0 ( Atj(\0!\0 \v \v)X7@ \vA@k \0E@ \vAØ\0j \0AÔ \nAj!\n\v Aj!\f\v\0\v\0\v\0\vAÇA¿AÑ\0Aš\0\0\vAìËA¿AÐ\0Aš\0\0\vAê˜A¿AÊ\0Aš\0\0\vAìËA¿A>Aš\0\0\vA£1A¿A*Aš\0\0\v  Aj" ((˜ \0Atj(\0(-\0‡AK"!A\0  k  j! \0Aj!\0\f\v\v \vA‚6 \vA¿6\0Aˆ÷\b(\0AØÀ \v5\0\v !\0@  F@ \0 G@AÉ,A¿A±Aœ¨\0\0\v ((˜ Atj(\0(-\0‡AM@  \0Atj!A\0!\n#\0A k"$\0 (\0­!\r (\0!@  \nF@ \r At"jA\x006\0 ( j"(\0"\n ("  \nI!@@  \nF@ A\0N@ A\fj  \r Ž\vA\0! A\x006\b@@ A\fj A\bj \r\vE\r\0 \r (\b"At"j*\0">Cÿÿ[\r\0  )\b"D7  DB ˆ§O\r@  L@ Av Aj D§ DB€€€€Tj-\0\0 AqvAqE\r\v  Atj"C\0\0€? > >”•8\f  >8\b  6  6\0 Aj!\v (" j(\0!\n@ \n  j(O\r \nAt" (j(\0"A\0H\r A\fj  > ( j*\0’ \r‹\v \nAj!\n (!\f\0\v\0\v\v A\fjß \r A j$\0 \f\v \r \nAt" (j(\0Atj ( j*\x008\0 \nAj!\n\f\v\vAÍÌA¶¿AµA“¨\0\0\vAÉËA¶¿AËA“¨\0\0 \r \nAtjAÿÿÿû6\0 \nAj!\n\f\v\0\v\0\v \0j!\0\v Aj!\f\v\v ( \fÉ ( ( AŒË\n-\0\0@ \v|90Aˆ÷\b(\0AªË \vA0j1\vA  AL!A!\0 *\f"?!@@ \0 F@A\0!\0A¸Ë\n(\0!A°Ë\n+\0!7  Þ\v AtA\b! A!\r@ \0 F@@Aˆ÷\b(\0!\fAŒË\n-\0\0|@@D\0\0\0\0\0\0ð? @»£"9 7 ?»££"6½"EBÿÿÿÿÿÿÿW@D\0\0\0\0\0\0ðÿ 6D\0\0\0\0\0\0\0\0a\r EB\0Y\r 6 6¡D\0\0\0\0\0\0\0\0£\f\v EBÿÿÿÿÿÿÿ÷ÿ\0V\rAx!\0 EB ˆ"DB€€ÀÿR@ D§\f\vA€€Àÿ E§\rD\0\0\0\0\0\0\0\0\f\vAËw!\0 6D\0\0\0\0\0\0PC¢½"EB ˆ§\vAâ¾%j"Av \0j·"6D\0\0àþB.æ?¢ EBÿÿÿÿƒ Aÿÿ?qAžÁšÿj­B †„¿D\0\0\0\0\0\0ð¿ "7 7 7D\0\0\0\0\0\0\0@ £"8 7 7D\0\0\0\0\0\0à?¢¢"7 8 8¢"8 8¢": : :DŸÆxÐ\tšÃ?¢D¯xŽÅqÌ? ¢Dú—™™™Ù? ¢ 8 : : :DDR>ßñÂ?¢DÞ˖dFÇ? ¢DY“"”$IÒ? ¢D“UUUUUå? ¢  ¢ 6Dv 7 ; *\f»¢D\0\0\0\0\0\0ð?\' = >»¡¢ = = £"7¢!= 8 7¢!7  \rj-\0\0AF@  6 =¡9\b  : 7¡9\0\v  \rj-\0\0AF@  7 +\0 9\0  = +\b 9\b\v \0Aj!\0\f\v\v \v 69 \fAۆ \vAj1\v Aj!\f\v\0\v\0\v  \0Atj" ((˜ \0Atj(\0("(”"+\x009\0  +\b9\b \0 \rj -\0‡AI:\0\0 \0Aj!\0\f\v\v  \r \vA°j$\0 ?  \0Atj*\f">È!? @ >ý\t!@ \0Aj!\0\f\v\v\f\vA¼Ë\n/\0!  AA\0 AGÊ\n!\r  A\0AñA\0!AA\0T"#A\0 #AHE@ Añ6@Aû˜ A@k(A!#\v A"  lA\b"\f6\0AA¼Ë\n/\0" AM!A!@@@  F@@ # #Ar \r!AŒË\n-\0\0@ A°Ë\n+\x0090  6  \rE6$  Aq6( A¸Ë\n(\x006,Aˆ÷\b(\0"A« A j1AðÌAA 7•A´A\rA 7\v   AÌj   AÈjÇ\n!AŒË\n-\0\0@ |9  6Aˆ÷\b(\0A×Ê Aj1\v@ AG@  A\0AÌÝ\0A\0!D\0\0\0\0\0\0\0\0DÿÿÿÿÿÿïÿF!7 AF@ ! (È"#!\fA¼Ë\n/\0! !\0A¸Ë\n(\0!2A\0!#\0A0k"$\0 A\x006, A\x006(@@ (E\r\0 A\0 A\0J!1@  1G@A!A  Alj"(\0" AM!@  F@ Aj!\f  ( j-\0\0A\0Gr! Aj!\f\v\0\v\0\v\v AqE\r\0@@ \0Aq"@@ AI\r\0A!(A\0!   Aj \f Ak" \0 AÂA\0H\r  Atj!@  1F\r At" (\0j ( j+\x009\0 Aj!\f\0\v\0\v (\0!A!(   (" \v\r    A,j A(j A$jÙ\r ($"\nA\0L@ ((\f\v@ 7D\0\0\0\0\0\0\0\0dE\r\0 \nAk!\rA\0! ((!\f (,!@  \nF\r ! 6D\0\0\0\0\0\0\0\0 7   \f Atj"(\0"Atj"\0Ak(\0Atj+\0 6  \0(\0Atj+\0 ¡ "6 6D\0\0\0\0\0\0\0\0c !6  \rH@ (!\v    J!@  F@ Aj!\f   Atj(\0Atj"\0 6 \0+\0 9\0 Aj!\f\v\0\v\0\v\0\v AG\rA°Ë\n+\0!;A\0!A\0! A\0 A\0J! A! A\b!\n@ (\b@  ˆ\v!\f\v A\0 A\0J!  l­!\0 ­!@  F@@  \vF\r \v    \vAtj(\0— \vAj!\v\f\0\v\0  Atj \0  lAtj6\0 Aj!\f\v\0\v\0\v !\0@  G@ \0 Atj!A\0!\t@  \tG@ (\0 \tAtj" (\0A\bt6\0 \tAj!\t\f\v\v Aj!\f\v\v @A  AL!\rA!\v@ \v \rG@  \vAtj+\0!6 \0 \vAtj(\0!A\0!\t@ \t \vG@D\0\0\0\0\0\0ð?  \tAtj(\0"·£ 6  \tAtj+\0¡™"8¢ 9 !9D\0\0\0\0\0\0ð?  l¸£ 8¢ 8¢ : !: \tAj!\t\f\v\v \vAj!\v\f\v\vD\0\0\0\0\0\0\0\0 9 :£ :™D\0\0\0\0\0\0ða!D\0\0\0\0\0\0\0\0!:A\0!\v A!@ \v G@ \0 \vAt"j!D\0\0\0\0\0\0\0\0!9A\0!\t@  \tG@ (\0 \tAtj(\0·"6 6¢"6 9 !9 6 : !: \tAj!\t\f\v\v  j 9¶ >•8\0 \vAj!\v\f\v\v :¶ ³•!?A\0!A!\v@  G@  At"\fj(\0! \f j*\0!@ \0 \fj(\0!A\0!\t@ \t \vG@  \tAt"j  j*\0 @  j(\0²"> >”“’ ?“">8\0  j(\0 \fj >8\0 \tAj!\t\f\v\v \vAj!\v Aj!\f\v\v A\0!\tAA\b! A\b!A\0!\v@ \v F@D\0\0\0\0\0\0\0\0!9@ \t G@ 9  \tAtj+\0 !9 \tAj!\t\f\v\v 9 ·£!6A\0!\t@ \t G@  \tAtj" +\0 6¡9\0 \tAj!\t\f\v\v  Ak"Þ"6™D\0\0\0\0\0\0°dErE@  99\0A\0!\v \vAj!\v\f\v\v Aj!\f\v\v \0(\0 \0 (\0  \n \f\n  \vAt"j+\0!8  \nj"B\x007\0  \vAt"j! \0 j!A\0!\tD\0\0\0\0\0\0\0\0!9@  \tG@ \t \vG@  9 \tAt" (\0j(\0² (\0 j*\0Œ”»"6  9 6¡ 8  \tAtj+\0f"99\0\v \tAj!\t\f\v\v \vAj!\v\f\v\0\v\0 \0 At"j(\0!  Atj+\0!8A\0!\t@ \t G@ \0 \tAt"j(\0 j  j"(\0·"6 6¢ 8  \tAtj+\0¡"6 6¢¡"6ŸüA\0 6D\0\0\0\0\0\0\0\0d"6\0  6\0 \tAj!\t\f\v\v Aj!\f\v\0\v\0  \vAt"\fj   \vlAtj"6\0 \0 \fj!A\0!\tC\0\0\0\0!@@  \tG@ \t \vG@  \tAt"jC\0\0€¿ (\0 j(\0²"> >”•">8\0 @ >“!@\v \tAj!\t\f\v\v  \fj @8\0 \vAj!\v\f\v\0\v\0\vAíÕAƒ¸Aâ\0A þ\0\0\0  \vAt"j  j+\x009\0 \vAj!\v\f\v\0\v\0\vAÿÒAƒ¸A–A¬í\0\0\0\vE\r\f\v    \fÈA!(  A\0 A,j A(j A$jÙ\r\v AF@ ((A\0!(\f\v 2E@ ((A\0!(\f\vAŒË\n-\0\0@•\v@@@@@ Ak\0\vAŒË\n-\0\0@AÄð\0AAAˆ÷\b(\07\v  Ã\f\v  Æ"\'\rAǏA\0(A´âA\0p\f\vAŒË\n-\0\0@AÝð\0AAAˆ÷\b(\07\v  Å\v"\'\r\vAŒË\n-\0\0@A‚.AAAˆ÷\b(\07\v  Õ!\'\vAŒË\n-\0\0@ |9Aˆ÷\b(\0"\0A©Ë Aj1AË+AA \07•\v Ak" lAm!@ \r\0A\0! !D\0\0\0\0\0\0ð?!6@  G@  Atj!\0A\0!@  1F@ Aj!\f 6 \0(\0 Atj+\0™"!6 Aj!\f\v\0\v\0\v\vD\0\0\0\0\0\0$@ 6£!6A\0!@  F\r  Atj!A\0!@  1F@ Aj!\f (\0 Atj"\0 6 \0+\0¢9\0 Aj!\f\v\0\v\0\v\0\v  j!"D\0\0\0\0\0\0\0\0!6@ 7D\0\0\0\0\0\0\0\0dE\r\0A\0! A\0 A\0J!A\0!@  F@A\0! "A\0 "A\0J! 6 ·£¶!>@  F\r \' Atj"\0 \0*\0 >”8\0 Aj!\f\0\v\0\v Aj"\0!@ Aj!  N@ \0!\f 6    ‡\v \' Atj*\0»£ !6 Aj!\f\v\0\v\0\v\0\vA\0! !4@  4F@ ("+\0!6A\0!@  1F@A\0! A!,  l"\rA!3@  4F@A\0!AŒË\n-\0\0@ |9\0Aˆ÷\b(\0A€· 1\v ·!: " \'Û " \'â  A\b"$à A\0 A\0J!\v !A\0!\0@@ \0 \vF@A\0! !A\0!\f\v $ \0Atj!A! A  ALjAk!\fD\0\0\0\0\0\0\0\0!6@ Aj!  \fF@  +\0 6¡9\0 Ak! \0Aj!\0 !\f  Atj" +\0 \' Atj*\0»"8¡9\0 Aj! 6 8 !6 !\f\v\0\v\0\v\v@  1G@ \' Atj $ Atj+\0¶8\0  j! Aj! Ak!\f\v\v A" \rA"6\0A  AM!\0A!@@ \0 F@@ 7¶!BDÿÿÿÿÿÿï!7 A! A! "A!) (,! ((! ($!\0AA$" \x006  6  6  6  \' „\v6\0  A6\b  A6\f  A6  A6A\0!A\0!(@ Aq ( 2Nr\r  $à " \' )áA\0! !\0A\0!A\0!@  \vF@ !A\0!@A\0!  1F@A\0!|  4F|D\0\0\0\0\0\0\0\0 )  , At"\0j(\0 \0 j(\0¹ Aj!\f\v\v!6@  4G@ 6  , At"\0j(\0 \0 j(\0’ !6 Aj!\f\v\v 6 6  : !6A\0!@  4F@A\0! (AK 6 7dqA°Ë\n+\0 6 7¡ 7D»½×Ùß|Û= £™dr!@@  4G@ AF@ (!A\0!\0A\0!A\0!5#\0A k"\b$\0 ,(!% ( !\n (! (!! (\0!A\0! ("\rA\0 \rA\0J!\tC(knÎ!>A!@ \0 \tG@ \0 N@ \r! \n Aj"G@  Atj(\0!\v \0} B % ! \0AtjAk(\0Atj*\0’C(knÎ\v!> Ak" \0J@ ! \0Atj  \0kAjAÙ %†\v\v\v > % ! \0Atj(\0Atj"*\0^@  >8\0\v \0Aj!\0\f\v\v (!. (\f!/ (\b!& \bB\x007˜ \bB\x007 \bB\x007ˆA\0!A! \rA!+A\0!\0@ \0 \tF@@ \rAk! / \rAtjAk! (!*@@ 5AH@C(knÎ!C A\0!A!E\r\v +A\0!\0@ \b( \0M@ \bAˆj"\0A- \02\f \b \b)7 \b \b)ˆ7\b \bA\bj \0!@@@ \b(˜"\0\v \b(ˆ Atj(\0\f\v \b(ˆ Atj(\0 \0\v \0Aj!\0\f\v\0\v\0\v@  \rH@C\0\0\0\0!> % ! Atj(\0"\0Atj*\0"A!? !@ * \0Atj >8\0 Aj!@  F@ ! \r\f\v % ! At"j(\0"\0Atj*\0"> B ?’ ?  +j(\0 + Atj(\0J"?“‹»D•Ö&è\v.>dE\r \v!\f !@  H@A\0!\0@ \b( \0M@ \bAˆjA- !\0@ \0 J@A\0!C\0\0\0\0!>C\0\0\0\0!@@ \b("\0 M@ \rA\0H" \0 \rGrE@  A8\0\vC\0\0\0\0!>C\0\0\0\0!@@ \0E@  \b(" \rGrE@ . A8\0\vA\0!\0A!D\0\0\0\0\0\0\0\0!8@@@@ \0 F@@ AF\r . At"\0j*\0">!? @ \0 /jAk*\0!?\v > \r J} % ! \fAtj(\0At"\0j*\0!> + ! Atj(\0Atj(\0! \0 +j(\0!\0 \b \b)ˆ7Ø \b \b)7à > B“ > \0 J * \b(ˆ \bAØj AkAtj(\0Atj*\0“C(knN\vý\t"@ ? CÈ">]E\r @ A]E\r\0 A > > A^">!@\f\v . \0At"j*\0!?@ \0@ ?  /jAk*\0">]E\r ? A]@ A > > A^">!?\f\v > A^E\r\v ?!>\v  \0k³» ? A“‹»¢ \0³» > A“‹»¢ "7 8 7 8d"!8 \0  ! \0Aj!\0\f\v\v > A^E\r\0 @!>\vA\0!\0@ \0 G@ \b \b)ˆ7È \b \b)7Ð * \b(ˆ \bAÈj \0Atj(\0Atj*\0!? \b \b)ˆ7¸ \b \b)7À % \b(ˆ \bA¸j \0Atj(\0Atj > ?’8\0 \0Aj!\0\f\v\v@ \b("\0 K@ \b \b)ˆ7x \b \b)7€ * \b(ˆ \bAø\0j Atj(\0Atj*\0!? \b \b)ˆ7h \b \b)7p % \b(ˆ \bAè\0j Atj(\0Atj @ ?’8\0 Aj!\f\v\v}@ \r L\r\0 + ! \fAtj(\0Atj(\0 + ! Atj(\0Atj(\0L\r\0 \b \b)ˆ7˜ \b \b)7  B % \b(ˆ \bA˜j \0AkAtj(\0Atj*\0’\f\v \b \b)ˆ7¨ \b \b)7° % \b(ˆ \bA¨j \0AkAtj(\0Atj*\0\v!C !\0@ \0 J@  > A“‹C\n×#<]q @ A“‹C\n×#<]q!\f \b \b)ˆ7ˆ \b \b)7 ! \0Atj \b(ˆ \bAˆj \0 kAtj(\x006\0 \0Aj!\0\f\v\0\v\0\v@ \r J@ + ! \fAtj(\0Atj(\0 + ! Atj(\0Atj(\0J\r\v \b \b)ˆ7X \b \b)7` % \b(ˆ \bAØ\0j AkAtj(\0Atj*\0!C\f\v \b \b)ˆ7H \b \b)7P B % \b(ˆ \bAÈ\0j AkAtj(\0Atj*\0’!C\v \f!\f\r\v \b \b)ˆ7ø \b \b)7€  \b(ˆ \bAøj \0Ak"Atj(\0At"j(\0!C\0\0\0\0!?@ \b( \0M@ . Atj ? ?’"? A” > @”  &j*\0  j"\0*\0"@”“’ ? > @“’•"@8\0 > ? \0*\0“’!> !\0\f \b \b)ˆ7è \b \b)7ð ?  \b(ˆ \bAèj \0Atj(\0Atj*\0“!? \0Aj!\0\f\v\0\v\0\v\0\v \b \b)ˆ78 \b \b)7@  \b(ˆ \bA8j Atj(\0At"j(\0!A\0!\0C\0\0\0\0!?@ \0 F@ / Atj ? ?’"? A” > @”  &j*\0  j"\0*\0"@”“’ ? > @“’•"@8\0 Aj! > ? \0*\0“’!>\f \b \b)ˆ7( \b \b)70 ?  \b(ˆ \bA(j \0Atj(\0Atj*\0“!? \0Aj!\0\f\v\0\v\0\v\0\v \f! \n + ! \0Atj(\0Atj(\0"G@   Atj(\0"  J!\v  \0 \0 H! \0!@@  F@ \0!@  F\r A & ! Atj(\0"Atj*\0[@ \b 6œ \bAˆjA$! \b(ˆ Atj \b(œ6\0\v Aj!\f\0\v\0\v A & ! Atj(\0"Atj*\0^@ \b 6œ \bAˆjA$! \b(ˆ Atj \b(œ6\0\v Aj!\f\v\v@ \0 F@ !\0\f\v A & ! \0Atj(\0"Atj*\0]@ \b 6œ \bAˆjA$! \b(ˆ Atj \b(œ6\0\v \0Aj!\0\f\0\v\0\v\0 \b \b)7 \b \b)ˆ7 \bAj \0!@@@ \b(˜"\0\v \b(ˆ Atj(\0\f\v \b(ˆ Atj(\0 \0\v \0Aj!\0\f\v\0\v\0\v  ! Atj(\0"At"0j(\0!  0j*\0Œ!?A\0!\0@ \0 \tF@ & 0j ?  0j*\0Œ• * 0j*\0“8\0 Aj!\f \0 G@  \0At"j*\0  %j*\0” ?’!?\v \0Aj!\0\f\v\0\v\0\v\0\v > A“!> !\f\0\v\0\v\v \r %º 5Aj!5\f\0\v\0\v@ \0 H\r\0 Aj! \r!  \n"F\r\0  Atj(\0! !\v + ! \0Atj(\0Atj 6\0 \0Aj!\0\f\v\v \bA j$\0\f\v \' , At"\0j(\0 \0 j(\0  ÚE\rA!(\f\r\v (Aj!( 6!7\f\b\v Aj!\f\0\v\0 \'  , Atj"\0(\0 ¹ Aj! 6  \0(\0 ’¡!6\f\v\0\v\0 ) Atj $ Atj+\0¶8\0  j! Aj! Ak!\f\v\0\v\0\v \0A\0 \0A\0J!\f C\0\0\0\0 ˜  Asj!\rA\0!@  4F@ \r àA\0!@@  \fF@ $ Atj!A\0!D\0\0\0\0\0\0\0\0!6\f\v Atj"*\0">Cÿÿ` >C\0\0\0\0]r@ A\x006\0\v Aj!\f\v\v@ Aj!  \fG@ ) Atj" Atj*\0 *\0”">8\0  Atj" +\b >»"8¡9\b 6 8 !6 Aj!\f\v\v  +\0 6¡9\0 \0Ak!\0 Aj!\f \r At" , Atj"(\0j*\0 ˜ \r C\0\0€¿ (\0 jAjá \r Û \r  “\v Aj!\f\v\0\v\0\v\0\v\0\v  Atj   lAtj6\0 Aj!\f\v\v@ - 4G@  -At"\0j! \0 ,j!\0A\0!@  1F@ -Aj!-\f (\0 Atj \0(\0 Atj*\0»9\0 Aj!\f\v\0\v\0\v\v   $ \' )\v @ (\0(\0 (\0 (\b (\f ( ( \v (\0 \f\v , At"\0j 3  lAtj"6\0 \0 j!\0A\0!@  1F@ Aj!\f  Atj \0(\0 Atj+\0¶8\0 Aj!\f\v\0\v\0\v\0  Atj"\0 \0+\0 6¡9\0 Aj!\f\v\0\v\0   Atj(\0“ Aj!\f\v\0\v\0\v 3 , (, ((\f\v    \f  \0  2Â!(\v A0j$\0 (!\f\v  :"6l A\x006h A!O@  Av AqA\0GjA6h\v :!# \0k!@ @ ¢ )j!) j!\f\v\v )A! )A!\r \0k!\0 !\f \r!@ \0@@ \0¢E\r\0  \0:"6\0 \f A"\n6\0 \fAj!\f Aj!  j! \0!@ E\rA\0! !@@ E\r\0 (\0 (\0sAI\r\0 Aj!  !\f\v\v \n 6\0  (l"O\r Av Aè\0j (h A!Ij" -\0\0A Aqtr:\0\0 #Ak!# \nAj!\n \0 !\f\0\v\0\v \0j!\0\f\v\v )A ! #A! A€j )h"D§" DB€€€€T! DB ˆ§!\0A\0!A\0!@ : J@  D7€ \0 F\r\v  Avj-\0\0 AqvAqE@  Atj 6\0 Aj!\v Aj!\f\v\v # : kG\r DB€€€€Z@ \v A!  6Ä  6À  #6¼  6¸  \r6´  )6°  6¬  6¨  79ˆ@ Aè&%"\0Z@ A6€AŒË\n-\0\0E\rAéAAAˆ÷\b(\07\f\v@ \0E\r\0 \0AÞ9AÐ\r\0 A6€AŒË\n-\0\0E\rA¡éA(AAˆ÷\b(\07\f\v A\x006€\v@@@@ (\0Ak\0\v A6AŒË\n-\0\0E\rAÚèA&AAˆ÷\b(\07\f\v A6AŒË\n-\0\0E\rAÊéA$AAˆ÷\b(\07\f\v A\x006\v Aè\0j ¶DÇqÇq¼?!6DÇqÇq¼?!7 -\0xAF@ +hD\0\0\0\0\0\0R@£"6 6 !6 +pD\0\0\0\0\0\0R@£"7 7 !7\v  79   69˜A\0!AŒË\n-\0\0@  79\b  69\0Aˆ÷\b(\0AϪ 1\v !@ @  Atj" ("\0+ 9\0  \0+(9\b Aj!  !\f\v\v (È"#!A¼Ë\n/\0!\0A¸Ë\n(\0!\t A€j! A\0!A\0!A\0!#\0Aà\0k"$\0  \0  È@ AF\r\0 A\0 A\0J!-@  -G@A!A  Alj"(\0"\f \fAM!\f@  \fF@ Aj!\f (\b Atj*\0"> @ > @^!@ Aj!\f\v\0\v\0\v\v \tE\r\0AŒË\n-\0\0@•\v@@@@@ Ak\0\vAŒË\n-\0\0@AÄð\0AAAˆ÷\b(\07\v  Ã\f\v  Æ"\rAǏA\0(A´âA\0p\f\vAŒË\n-\0\0@AÝð\0AAAˆ÷\b(\07\v  Å\v"\r\vAŒË\n-\0\0@A‚.AAAˆ÷\b(\07\v  Õ!\vAŒË\n-\0\0@ |9PAˆ÷\b(\0"A©Ë AÐ\0j1AË+AA 7•\v \0!D\0\0\0\0\0\0ð?!6@  G@  Atj!\0A\0!@  -F@ Aj!\f 6 \0(\0 Atj+\0™"!6 Aj!\f\v\0\v\0\v\vD\0\0\0\0\0\0$@ 6£!7A\0!A\0!@@  F@@  F\r   Atj(\0“ Aj!\f\0\v\0\v  Atj!A\0!@  -F@ Aj!\f (\0 Atj"\0 7 \0+\0¢9\0 Aj!\f\v\0\v\0\v\v ("+\0!7A\0!@  -G@  Atj"\0 \0+\0 7¡9\0 Aj!\f\v\v Ak"\n lAm j!.AŒË\n-\0\0@ |9@Aˆ÷\b(\0A€· A@k1\v . Û . â@ (0"\0A\0L@ ! !\0\f\vC\0\0€? @ @”">• > >C\n×#<^!> \0At j"\0A\0 \0A\0J! \0Ak"\n \0lAm \0j".A! \0!\fA\0!A\0!A\0!@  G@ \fA\0 \fA\0J! Aq!  k!A\0!@  F@ \fAk!\f Aj!\f@  N  NrE@  Atj*\0!@ Aj!\f\vC\0\0\0\0 > AGC\0\0\0\0 !@\v  Atj @8\0 Aj! Aj!\f\v\0\v\0\v\v \v \0 \0A\b"*àA\0! \nA\0 \nA\0J! \0!A\0!\f@ \f G@ * \fAtj!A! A  ALjAk!D\0\0\0\0\0\0\0\0!6@ Aj!  F@  +\0 6¡9\0 Ak! \fAj!\f !\f  Atj" +\0  Atj*\0»"7¡9\0 Aj! 6 7 !6 !\f\v\0\v\0\v\vA\0! \0A\0 \0A\0J!\v \0!A\0!@  \vG@  Atj * Atj+\0¶8\0  j! Aj! Ak!\f\v\vA\0! A! \0 l"\fA!@  G@  At"j  \0 lAtj"6\0  j!A\0!@  \vF@ Aj!\f  Atj  H} (\0 Atj+\0¶C\0\0\0\0\v8\0 Aj!\f\v\0\v\0\v\v A"" \fA"6\0A  AM!A!@  G@ " Atj  \0 lAtj6\0 Aj!\f\v\v \0 \nlAm!A! \0A!$ \0A!&@@@ \0   A\0Ø"2E\r\0 \0   (\0Ø"3E\r\0 \tAk!Aˆ÷\b(\0!5 ²»!:Dÿÿÿÿÿÿï!7 .A!/D\0\0\0\0\0\0\0\0!6A\0!A\0!@ Aq  \tNrE@ \0 *à .  /áA\0! \n!A\0!A\0!\f@ \f F@ \0!A\0!@A\0!  \vF@A\0!@  F@@D\0\0\0\0\0\0\0\0!6@  F\r 6 \0  At"j(\0  "j(\0’ !6 Aj!\f\0\v\0\v / \0  At"j(\0  "j(\0¹ Aj!\f\v\v 6 6  : !6A\0!@  G@  \0  Atj"(\0 $¹ Aj! 6 \0 (\0 $’¡!6\f\v\v@AŒË\n-\0\0E\r\0  690 5AŸÊ A0j1 A\no\r\0A\n 5\vA\0!A\0! (! 6 7c@A°Ë\n+\0 6 7¡ 7D»½×Ùß|Û= £™d!\v@ E  Hq\r\0 ;D+‡ÙÎ÷ï?cE AGrE@ ;Dš™™™™™¹? !;AŒË\n-\0\0  6(  ;9 5AÌÁ A j1 (A\v!A\0!\f\v !\v ;Dü©ñÒMbP?dE AGrE@ 2 ;¶ A\0 ;D\0\0\0\0\0\0à?f ß\v@@@@ 2(A\0J@ 2 "(\0 (\0ƒ\v\f\v  (\0 "(\0 \0 \0ÚA\0H\r\v ;Dü©ñÒMbP?dE (AGrE@ 3 ;¶ AA\0 ß\v 3(A\0L\r 3 "( (ƒ\vA\0N\r\vA!\f\t\v  ( "( \0 \0Ú\v Aj! 6!7\f / Atj * Atj+\0¶8\0  j! Aj! Ak!\f\v\0\v\0 A\0 A\0J! \0C\0\0\0\0 &˜ \0 \fAsj!0A\0!@  G@ 0 \fAt"  Atj"(\0j*\0 $˜ 0 $C\0\0€¿ (\0 jAjá 0 $Û 0 $ & &“\v Aj!\f\v\v 0 &àA\0!@@  F@ * \fAtj!A\0!D\0\0\0\0\0\0\0\0!6\f\v & Atj"*\0">Cÿÿ` >C\0\0\0\0]r@ A\x006\0\v Aj!\f\v\v@ Aj!  G@ / Atj" & Atj*\0 *\0”">8\0  Atj" +\b >»"8¡9\b 6 8 !6 Aj!\f\v\v  +\0 6¡9\0 Ak! \fAj!\f\f\v\0\v\0\v\vAŒË\n-\0\0@ |9  6\b  69\0 5A±Ê 1\v 2× 3× (AG\r\0   ‚\v\v E\r\vA\0!\f@ \f G@  \fAt"\0j! \0 j!\0A\0!@  -F@ \fAj!\f\f (\0 Atj \0(\0 Atj*\0»9\0 Aj!\f\v\0\v\0\v\v (\0 \v "(\0 " $ & *  /\v Aà\0j$\0 ! )@ (\0  \r  \v \f\v    (È"#A¼Ë\n/\0  A¸Ë\n(\0Â!\v A\0H@Aý¸A\0p\f\v !\n@ \nE\rA\0!A¼Ë\n/\0! \n("(ˆAt!\0@  F@  \n!\n\f (” Atj  Atj(\0 \0j+\x009\0 Aj!\f\v\0\v\0\v\0\v  Atj \f  lAtj6\0 Aj!\f\v\vAç²AÁû\0AÑ\0A„"\0\0\vAý)Aœ¹AõAÀÜ\0\0\0\v Ó\n (\0  #\f\v  Þ\vA\0!#\0Aà\0k"$\0AŒË\n-\0\0@AÖÌAAAˆ÷\b(\07•\v A\0 A\0J! ("\0( ! \0(¤!\n@  G@ \n At"j!\r  j!\fA\0!\0@ \0 G@D\0\0\0\0\0\0ð? \0At" \f(\0j+\0"7 7¢£!6  ((˜" j(\0  \0At"j(\0A\0A\0Q"@ 6 (+€¢!6\v  \nj(\0 Atj 69\0 \r(\0 j 69\0 \0Aj!\0\f\v\v Aj!\f\v\vA\0!A¼Ë\n/\0!A\0!\0  F ("(˜!A\0@ \0 G@ ((¨ Atj(\0 \0AtjB\x007\0 \0Aj!\0\f\v\v Aj!\f\v\v!@@@  At"\nj(\0"\r@A\0!A¼Ë\n/\0!\f@  F\r@  F\r\0A\0!\0 \r((”  At"j(\0((” AjÝ\v!6@ \0 \fF\r \0At" (¬ \nj(\0 j(\0j At" (¤ \nj(\0j+\0 Aj j+\0"7 7 (  \nj(\0 j+\0¢ 6£¡¢"79\0 (¨ \nj(\0 j" 7 +\0 9\0 \0Aj!\0\f\0\v\0\v Aj!\f\0\v\0\vAŒË\n-\0\0@ |9\0Aˆ÷\b(\0A«Ë 1\v Aà\0j$\0\f\v Aj!\f\v\vAŒË\n-\0\0@  6P A¸Ë\n(\x006T A°Ë\n+\x009XAˆ÷\b(\0Aº« AÐ\0j1•\v !#\0AÀk"$\0A˜î\nA°Ë\n+\0"7 7¢9\0 A\0 A\0J!Aˆ÷\b(\0!@@A¬î\nA¬î\n(\0Aj"\f6\0 ("\r(œA¸Ë\n(\0N\r\0A\0!A¼Ë\n/\0!D\0\0\0\0\0\0\0\0!6A\0!@  G@@ At" \r(˜j(\0"(-\0‡AK\r\0D\0\0\0\0\0\0\0\0!7A\0!\0@ \0 G@ \r(¨ j(\0 \0Atj+\0"8 8¢ 7 !7 \0Aj!\0\f\v\v 6 7cE\r\0 7!6 !\v Aj!\f\v\v 6A˜î\n+\0c\r\0@AŒË\n-\0\0E \fAä\0or\r\0  6Ÿ9@ AŸÊ A@k1A¬î\n(\0Aèo\r\0A\n \v E\r\0A\0! A jA\0AÐ\0ü\v\0 AÐ\0jA\0AÐ\0ü\v\0 ((ˆ!A¼Ë\n/\0"\0 \0lA\b!\t ("(˜"\n At"\vj(\0!A¼Ë\n/\0! (  (¤!@  G@ \t  lAtj!A\0!\0@ \0 G@  \0AtjB\x007\0 \0Aj!\0\f\v\v Aj!\f\v\v Aj! \vj!\r  \vj!\fA\0!  FA!A  AM@  F\r\0 \n Atj(\0!D\0\0\0\0\0\0\0\0!6A\0!\0@ \0 G@ \0At" Aðjj ((” j+\0 ((” j+\0¡"79\0 7 7¢ 6 !6 \0Aj!\0\f\v\vD\0\0\0\0\0\0ð? 6D\0\0\0\0\0\0ø?‡£!L  Ä7\0 A#j"A)A˜§ ß \0Aä Á\v  (L6\0A!\v AÐ\0j$\0 \vŒK |}~#\0A°k"\r$\0 A\0N@AŒË\n-\0\0@•\v@@ AF@AŒË\n-\0\0@AÄð\0AAAˆ÷\b(\07\v \0 Ã\f\v@@ Ak\0\v \0 Æ"\rAǏA\0(A´âA\0p\f\vAŒË\n-\0\0@AÝð\0AAAˆ÷\b(\07\v \0 Å\v"\r\vAŒË\n-\0\0@A‚.AAAˆ÷\b(\07\v \0(\b@ \0 Ä!\f\v \0 Õ!\vAŒË\n-\0\0@ \r|9Aˆ÷\b(\0"\tA©Ë \rAj1AË+AA \t7•\v Aq! @@@ AqE AHrE@A2  A2O"\tA!  \tlA\b!A\0!@  \tG@  Atj   lAtj6\0 Aj!\f\v\vA\0! \rA\x006¬ AF! A2 \tAt" A2M"  I"\v l­! ­! \0"(\b! \r \v­"\x006¬ \vA\0 \vA\0J!@ \b G@ \0 \bAtj   \blAtj6\0 \bAj!\b\f\v\v @  Û\v o! \0(\0!\b@ @    \bÙ\f\v    \b—\v A\0 A\0J!A\0!\b@ \b F@A \v \vAL!A!@  G@ \0 Atj"(\0!\b@ @    \bÙ\f\v    \b—\vA\0!\bA\0!\n@ \b G@  \bAt"j" (\0" (\0 j(\0"  J"6\0  \n \n H"!\n \b  ! \bAj!\b\f\v\v Aj!\f\v\v  @   Ú\v  \bAt"j \0(\0 j(\0"6\0  \n \n H"!\n \b  ! \bAj!\b\f\v\v \r(¬!A\0!\n \vA\0 \vA\0J! A\0 A\0J!\b ·!(@ \n G@  \nAtj!D\0\0\0\0\0\0\0\0!)A\0!\0@ \0 \bG@ ) (\0 \0Atj(\0· !) \0Aj!\0\f\v\v ) (£ü!A\0!\0@ \0 \bG@ (\0 \0Atj" (\0 k6\0 \0Aj!\0\f\v\v \nAj!\n\f\v\v \r(¬! \t"\0A\0 \tA\0J! \tA!@  G@  Atj \vA\b6\0 Aj!\f\v\vA\0! \vA\0 \vA\0J! \vA!\t \v \vlA\b!\b \vAt!\n@  F@A\0!\b A\0 A\0J!A!\n@ \b G@  \bAt"j! \t j(\0!A\0!@ \n G@  At"j!D\0\0\0\0\0\0\0\0!(A\0!@  G@ ( At" (\0j(\0 (\0 j(\0l· !( Aj!\f\v\v \t j(\0 \bAtj (9\0  Atj (9\0 Aj!\f\v\v \nAj!\n \bAj!\b\f\v\v \t \v \0 ›\vA\0!A\0!\n@ \n F@@  G@  Atj(\0 Aj!\f\v\v  \nAt"\bj!\v \b j!A\0!\b@D\0\0\0\0\0\0\0\0!(A\0! \b G@@  G@  Atj(\0 \bAtj(\0· (\0 Atj+\0¢ ( !( Aj!\f\v\v \v(\0 \bAtj (9\0 \bAj!\b\f\v\v \nAj!\n\f\v\v  \t(\0 \t \t Atj \b6\0 Aj! \b \nj!\b\f\v\v \r(¬(\0 \r(¬ A!@  G@  AtjA6\0 Aj!\f\v\v (\b!# AF@  Û\vA\0! A!A(A! A(lA!\tA(A!@ A(G@  Atj \t  lAtj6\0 Aj!\f\v\v  o"\tAtjA\x006\0  \t6\0 (\0!@ AF@ \t   Ù\f\v \t   —\vA!\vA\0!@  F@@@ \vA(F@A\0!@  F\r  AtjA6\0 Aj!\f\0\v\0\v  \tAtj \v6\0  \vAt"j \t6\0  j(\0!\n@ AF@ \t   \nÙ\f\v \t   \n—\vA\0!\bA\0!@  F@ \vAj!\v\f  At"\fj" (\0" \n \fj(\0"\f \f J"\f6\0@ \b \fN@ \b \fG\r Ajo\r\v \f!\b !\t\v Aj!\f\v\0\v\0\v\v Ak!\b A! A!A\0!\vA\0!\fA\0!\t@@  \tG@  \tAt"j(\0"A\0H\r  \tAtj" \bA"6 \bA!\n A:\0\f  \b6\0  \n6\b  Atj!A\0!@  \tF@ \t!@  \bF@ \b\f  At"j Aj"6\0 \n j (\0 Atj(\x006\0\f\v\0\v\0  At"j 6\0 \n j (\0 j(\x006\0 Aj!\f\v\0\v\0\v    A\0!\v A!  j"A!\b A!\n AG!@  \vG@  \vAlj"\t \n6\b \t \b6A! \t  \vAtj"\t(\0Aj"\f6\0A \f \fAM! \t(\bAk!D\0\0\0\0\0\0\0\0!(@ E@@  F\r \b At"j \t( jAk(\x006\0 \n jC\0\0€¿  j(\0²", ,”•",8\0 Aj! ( ,»¡!(\f\0\v\0\v@  F\r \b At"j \t( jAk(\x006\0 \n jC\0\0€¿  j(\0²•",8\0 Aj! ( ,»¡!(\f\0\v\0\v \b \v6\0 \n (¶8\0 \vAj!\v \n \fAt"j!\n  \bj!\b\f\v\v A" \0 lA\b"\t6\0A  AL!\bA!@  \bF@A\0!\b A\0 A\0J!@ \b G@  \bAtj(\0!\fA\0!@ \0 G@ \f AtjB\x007\0 Aj!\f\v\v \bAj!\b\f\v\v@ AG@A\0!@  F\r  Atj(\0 AtjB€€€€€€€ø?7\0 Aj!\f\0\v\0\v \tB€€€€€€€ø?7\0 ("!!#\0Ak"\f$\0 \f 6\f \fA\x006 \fA\x006\0 (\0!\v At!A\0!#\0A°k"\b$\0 \bAè\0jA\0A(ü\v\0@ A\0N@ A! A! A!\n A!@  F@Aœï\n(\0A ï\n(\0rE@A ï\n \v6\0Aœï\nAæ6\0 AO@ \n AAçš\vA\0!A ï\nA\x006\0Aœï\nA\x006\0@  F@A\0! \b  A\0Gk"\t6¬ \b \t6¨ \b \tA"6¤ Ak!@ E\r\0@  F@ Av!@ AF\r \bA¤j Ï\n Ak!\f\0\v\0 \v \n Atj(\0"Atj+\0!( \v \n Aj"\tAtj(\0"Atj+\0!)  Atj" 6  6\0  ) (¡9\b \t!\f\v\0\v\0\vA  AM!\tA!@  \tF@@ E\r\0A\0!@  F\r  \n Atj(\0Atj \n Aj"Atj(\x006\0\f\0\v\0\v  \n Atj"(\0Atj Ak(\x006\0 Aj!\f\v\v A\0 A\0J!" \bA€j!A\0!@@  "F@ \b(¤!\f\v \b(¤! \b(¨"E\r\0 (\0!\t (!   AtjAk")\x007\0 +\b!(  )\b7\b \b Ak6¨ \bA¤j"$A\0Ï\n \b (9ˆ \b 6„ \b \t6€ \bAè\0jA$! \b(h Atj" )\b7\b  )\x007\0  At"%j(\0!@  \tAt"&j(\0"E\r\0   \n AtjAk(\0"Atj"\'(\0Atj(\0 O\r\0 \b 6” \b 6 \v Atj+\0!( \v Atj+\0!) \b \b)7X \b ) (¡"(9˜ \b (9` $ \bAØ\0jÎ\n \' 6\0  %j 6\0\v@  O\r\0   \n Atj("Atj"(\0Atj(\0 M\r\0 \b 6” \b \t6 \v \tAtj+\0!( \v Atj+\0!) \b \b)7H \b ) (¡"(9˜ \b (9P \bA¤j \bAÈ\0jÎ\n  \t6\0  &j 6\0\v Aj!\f\v\v   \n   A!\nA\0!\t \b(p"At j"A! A!A\0!\v@  \vF@ \t FA\0 \b \b)h78 \b \b)p7@ \b(h \bA8j \tAtj"\v(! \n \v(\0Atj"\v \v(\0Aj6\0 \n Atj"\v \v(\0Aj6\0 \tAj!\t\f\v\v!\t@ \t G@  \tAtjA€€€ü6\0 \tAj!\t\f\v\v A!\vA\0!\t@@  \tF@@ \n@ \b(p"@ \b \b)h7( \b \b)p70 \b(h \bA(j AkAtj"\t(! \t(\0!\n \b \b)h7 \b \b)p7 \bAj \b(pAk!\t@@@ \b(x"\0\vAâƒAÂ\0AAˆ÷\b(\075\0\v \b \b(h \tAtj"\t)\x007\b \b \t)\b7 \bA\bj \0\v \bAè\0j A \nA\0H\r A\0H\r \v \nAlj"(! (\0!A\0!\t@ \t G@ \tAt! \tAj!\t   j(\0G\r\f\v\v  Aj6\0  Atj 6\0 \v Alj" (\0"\tAj6\0 ( \tAtj \n6\0 \v(\bE\r (\b"\t \t*\0C\0\0€¿’8\0 (\b" *\0C\0\0€¿’8\0\f\v\v \f \v6\b \bAè\0j"A- 2 \bA°j$\0\f\f\v \v \tAlj" 6\b A6\0  6  \t6\0 A\x006\0  \n \tAtj(\0At"j!  j! \tAj!\t\f\v\vA´ËAç¸A§Ašú\0\0\0\vAžËAç¸A¨Ašú\0\0\0 \n \vAtjA6\0 \vAj!\v\f\v\0\v\0  \n Atj(\0Atj 6\0 Aj!\f\v\0\v\0\v \n Atj 6\0 Aj!\f\v\vA…¯Aôû\0AAç\0\0\vA¼™Aç¸A³A´ú\0\0\0\v \f(\b   \0 \fAj™\v \f(! \0 \0lA\b!\t \f \0A"\n6\0A\0! \0A\0 \0A\0J!\v \0At!\b@  \vF@A\0!\b \0A\0 \0A\0J! A\0 A\0J!@ \b \vG@ \n \bAt"j!  j!A\0!\t@D\0\0\0\0\0\0\0\0!(A\0! \t G@@  G@ (\0 Atj+\0  Atj(\0 \tAtj*\0»¢ ( !( Aj!\f\v\v (\0 \tAtj (9\0 \tAj!\t\f\v\v \bAj!\b\f\v\v \n Atj \t6\0 Aj! \b \tj!\t\f\v\v \f((\0 \f( \f(\0 \0A \fA\fj›\v \f(\0(\0 \f(\0 \fAj$\0\r\0A\0!@ \0 G@ ! AtjB\x007\0 Aj!\f\v\v !B€€€€€€€ø?7\b\vA\0!@  G@   \0  At"\tj(\0  \tj(\0•\v Aj!\f\v\v \rA\x006¤ \rA\x006¨    \0 \rA¨j™\v \r(¨!\v \0 \0lA! \r \0A"\b6¤A\0!\n \0A\0 \0A\0J!\f@ \n \fF@@A\0!\t \0A\0 \0A\0J! A\0 A\0J!@ \t \fF\r \b \tAt"j!  j!A\0!@D\0\0\0\0\0\0\0\0!(A\0!\n  F@ \tAj!\t\f@ \n G@ (\0 \nAtj+\0 \v \nAtj(\0 Atj*\0»¢ ( !( \nAj!\n\f\v\v (\0 Atj (¶8\0 Aj!\f\v\0\v\0\v\0\v \b \nAtj 6\0 \nAj!\n  \0Atj!\f\v\v \r(¨(\0 \r(¨ A\b!\v \0A\b!     Í\n!)A\0!A\0!\t@@A\0!\b \tA1K r"Aq\r\0@ \b G@  \bAt"j!A\0!\n@  \nG@ \v \nAt"j"\fB\x007\0  \nAtj(\bAk!  \nAlj"(\b!! (!A!D\0\0\0\0\0\0\0\0!(@ (\0 M@ \f ( (\0 j+\0¢ \f+\0 9\0 \nAj!\n\f   \n  At"j(\0""‡\v"*D ÂëþKH´9d@ \f  !j*\0Œ  j(\0²”» *£"* (\0 "Atj+\0¢ \f+\0 9\0 ( *¡!(\v Aj!\f\v\0\v\0\v\v  \0  \v š\v \r(¤  j(\0"  \0Dü©ñÒMbP? \0A\0‘\v\r   \0  (\0•\v \bAj!\b\f\v\vA\0! \tAqE@     Í\n"( )¡™ (D»½×Ùß|Û= £A°Ë\n+\0c! (!)\v \tAj!\t\f\v\v  \v AF@   #Ú\vA\0!@  G@  Atj"\0-\0\fAF@ \0( \0(\b\v Aj!\f\v\v  ( (\b    (\0  \r(¤"\0@ \0(\0 \r(¤\v (\0 A\0! AqE@A!\tA\0!A\0!A\0!A\0!A\0!A\0!\0A\0!\f\n\v@  F@A\f\n  Atj!\0D\0\0\0\0\0\0ð?!(A\0!A\0!\f@  \fG@ \0(\0 \fAtj+\0™") ( ( )c!( \fAj!\f\f\v\v@  G@ \0(\0 Atj" +\0 (£9\0 Aj!\f\v\vA\0!@  G@´!( \0(\0 Atj" (D\0\0\0\0\0\0à¿ Díµ ÷ư>¢ +\0 9\0 Aj!\f\v\v  \0(\0“ Aj!\f\v\0\v\0  Atj \t \0 lAtj6\0 Aj!\f\v\0\v\0\vA\0!A\0!\n \fA\'L@A!\n A! A!\v !\f\v  \tAtj" \v6\b  6  \n:\0\f A(6\0 A(F \fA(k!\f \vA j!\v A j!A(  At"\nj \n j(\x006\0 \n \vj \n j(\0 j(\x006\0 Aj!\f\v\v\v \tAj!\t j!\f\0\v\0  At"\bj \b j(\0"\b6\0 \b \f \b \fJ"\b!\f  \t \b!\t Aj!\f\v\0\v\0\v    ÈE\v!A\0!\tAŒË\n-\0\0@ \r|9€Aˆ÷\b(\0A€· \rA€j1\v E AFr\rA\0!\nAŒË\n-\0\0@ \r|9ðAˆ÷\b(\0"\0A©Ë \rAðj1Aã\0AA \07•\v A\0 A\0J! A\0 A\0J! A!  l"A!@ \n G@  \nAt"\0j   \nlAtj"6\0 \0 j!\0A\0!@  G@  Atj \0(\0 Atj+\0¶8\0 Aj!\f\v\v \nAj!\n\f\v\v@ AkAI@ Aj lAm! ² Ak"²” AF@  Û\v  âA\0!\v A\0 A\0J! A! !\tA\0!A\0!@  F@@ !\fA\0!@  F\r  \vAtj  Atj"\0)\0 \0)\b–8\0 \v \fj!\v Aj! \fAk!\f\f\0\v\0\v  Atj!\fA!\b A \t \tALjAk!\nB\0!-B\0!.@ Aj!\0  \nG@ \rAàj  \0Atj*\0º \rAÐj . - \r)à"- \r)è".˜ \rAÀj \f \bAtj")\0 )\b - .²  \r)À7\0  \r)È7\b \bAj!\b \r)Ø!- \r)Ð!. \0!\f\v\v \rA°j \f)\0 \f)\b . -² \f \r)°7\0 \f \r)¸7\b \tAk!\t Aj! \0!\f\v\v A" A"\x006\0A  AL!A!@  G@  Atj \0  lAtj6\0 Aj!\f\v\vAˆ÷\b(\0! A! A! A!\0AŒË\n-\0\0@ \r|9  A©Ë \rA j1AÆÌAA 7•\v At!C\0\0\0?”»!*Dÿÿÿÿÿÿï!( AG!A\0!A\0!\t@ Aq  \tLr\r @ A\0 ü\v\0\v E@   \0á\v (!)A\0!\n !A\0!\bA\0!@  F@ !\bA\0!\f@A\0! \f F@A\0!\f@ \f F@@D\0\0\0\0\0\0\0\0!(@  F\r (   At"j(\0  j(\0’ !( Aj!\f\0\v\0\v \0   \fAt"j(\0  j(\0¹ \fAj!\f\f\v\v ( (  * !(A\0!@  G@    Atj"(\0 ¹ Aj! (  (\0 ’¡!(\f\v\vA\0!\nA°Ë\n+\0"+ ) (¡™ )£d ( +cr!@@ \n G@  \nAt"j"\b(\0!@ E@   ’\vA\0!    j(\0  ÚA\0H\r@  F\r  At"j(\0(-\0‡AM@ \b(\0 j  j*\x008\0\v Aj!\f\0\v\0\v    j(\0  ÚA\0H\r\v \nAj!\n\f\v\v@ \tAp\r\0AŒË\n-\0\0E\r\0 \r (9 AŸÊ \rA j1 \tAjA2p\r\0A\n \v \tAj!\t\f\vA!\t\f \0 \nAtj  \fAtj")\0 )\b–8\0 \b \nj!\n \fAj!\f \bAk!\b\f\v\0\v\0 A\0 A\0J!  Asj"\fC\0\0\0\0 ˜A\0!\v@ \v G@  \vAtj!!A\0!@  G@  At"j"# !(\0 Atj""*\0  "j*“", ,” #*\0’8\0 Aj!\f\v\v \vAj!\v\f\v\v \f àA\0!@  G@  Atj"\f*\0",Cÿÿ` ,C\0\0\0\0]r@ \fA\x006\0\v Aj!\f\v\v \bAj!\b  Atj!\fB\0!-A\0!B\0!.@ E@@  F@\f \0 \bAtj"\v  Atj*\0 \v*\0”",8\0 \rAà\0j ,º \rAÐ\0j - . \r)`"- \r)h".˜ \rA@k \f Atj"\v) \v) - .² \v \r)@7 \v \r)H7 \bAj!\b Aj! \r)X!. \r)P!-\f\v\0\v\0\v@  F\r \0 \bAtj  Atj*\0",8\0 \rAj ,º \rA€j - . \r)"- \r)˜".˜ \rAð\0j \f Atj"\v) \v) - .² \v \r)p7 \v \r)x7 \bAj!\b Aj! \r)ˆ!. \r)€!-\f\0\v\0\v \rA0j \f)\0 \f)\b - .² \f \r)07\0 \f \r)87\b Ak! Aj!\f\v\0\v\0\v\0\vAÇïAò¹A¬Aÿï\0\0\0\vA\0!AŒË\n-\0\0@A  ALAk!D\0\0\0\0\0\0\0\0!)A\0!\n@  \nG@A  AL!A!\b !@  \bG@ Aj!D\0\0\0\0\0\0\0\0!(A\0!@  G@ (  Atj(\0 \nAtj"\f*\0 \f \bAtj*\0“", ,”» !( Aj!\f\v\vD\0\0\0\0\0\0ð?  Atj*\0»"*Ÿ * AF£ (Ÿ¡"( (¢ *¢ ) !) \bAj!\b\f\v\v Ak! \nAj!\n  j!\f\v\v \r|9 \r \t6\b \r )9\0 A±Ê \r1\vA\0!\n@ \n F\r  \nAt"j!  j!A\0!@  G@ (\0 Atj (\0 Atj*\0»9\0 Aj!\f\v\v \nAj!\n\f\0\v\0\v    @ (\0 \v   \f\v !\0\v \0\v \rA°j$\0 \t\v\v A\0 A\0J!\b \0(\b!\t@  \bFE@ \0 Alj(\0 j! Aj!\f\v\v A! A!A\0! \0(\bE@@  \bG@ \0 Alj" 6\b \0  Ý (\0"Ak!\n Ak!\vA!@  \vK@ \0  Ü Aj!  (\0Atj!\f  At"j \n \0 ( j(\0"Alj(\0j \0  ÞAtk³8\0 Aj!\f\v\0\v\0\v\v \0 Õ\f\v@  \bG@ \0  Ý \0 Alj"(\0"Ak!\v Ak!A!@  K@ \0  Ü  6\b Aj!  (\0Atj!\f  At"\nj \v \0 ( \nj(\0"\fAlj(\0j \0 \f ÞAtk³ (\b \nj*\0È8\0 Aj!\f\v\0\v\0\v\v \0 Ä\v  \0(\bA\0! \0A\x006\b@ \tE\r\0@  \bF\r \0 Alj" \t6\b Aj! \t (\0Atj!\t\f\0\v\0\v\vÉ\f} A\0 A\0J!\r Aj lAmA!\v A! !\t@ \n \rG@ \n!A\0!#\0Ak"$\0 A\x006\f A\0 A\0J!@  F@  AtjA\x006\0A \0 Alj"\f(\0" AM!A!@  F@    Ž\v@@  A\fj \vE\r\0  (\f"Atj*\0"Cÿÿ[\r\0 \0 Alj!A!@  (\0O\r  At" (j(\0  (\b j*\0’ ‹\v Aj!\f\0\v\0\v\v ß Aj$\0  At" \f(j(\0Atj \f(\b j*\x008\0 Aj!\f\v\v  AtjAÿÿÿû6\0 Aj!\f\v\v \b \tj!@  \bG@ \v \bAtj  Atj*\x008\0 Aj! \bAj!\b\f\v\v \tAk!\t \nAj!\n !\b\f\v\v  \v\vÿ\v|}#\0Ak"$\0@ \0(\bE@\f\v A\0 A\0J!\n \0 Ä!@  \nG@A!A \0 Alj"\t(\0" AM!   l  \bj"\bkAtj!\v@  F@ Aj!\f  At"\f \t(j(\0"L@ \v Atj"*\0!  \t(\b \fj*\0"8\0 \r  “‹» !\r\v Aj!\f\v\0\v\0\v\vAŒË\n-\0\0E\r\0  \r9\0Aˆ÷\b(\0AϬ 1\v Aj$\0 \vß\v|} A\0 A\0J! Aj lAmA!\n  D\0\0\0\0\0\0\0\0¿!  D\0\0\0\0\0\0\0\0¿!\v@ \0(\bE@@  F\rA!A \0 Alj"(\0" AM!  Atj!\b@  FE@  ( Atj(\0"\tAtj(\0 AtjB€€€€€€€ø¿7\0 \b(\0 \tAtjB€€€€€€€ø¿7\0 Aj!\f\v\v Aj!\f\0\v\0\v@  F\rA!A \0 Alj"(\0" AM!  Atj!\b@  F@ Aj!\f  At"\t (j(\0"\fAtj(\0 AtjD\0\0\0\0\0\0ð¿ (\b \tj*\0»£"\r9\0 \b(\0 \fAtj \r9\0 Aj!\f\v\0\v\0\v\0\v@   \vÐ\n@A\0! A\0 A\0J!A\0!@  F\r  j!\0 \v Atj! !@ \0 FE@ \n Atj  G} (\0"\b Atj+\0 At"\t \v Atj(\0j+\0  \b \tj+\0"\r \r ¡¶C\0\0\0\0\v8\0 Aj! Aj!\f\v\v Ak! Aj! \0!\f\0\v\0\v \nA\0!\n\v ¾ \v¾ \n\vS \0 6 \0AA\0 " \0(\0"A{qr6\0 Aq@ \0APA0 AqAFj"\0 6 \0 \0(\0A{q r6\0\v\vÒ\t| \0A\0 \0A\0J!\v (! (\0! AH!\t@  \vF@@A\0! A\0 A\0J!@  F\r \0  Atj(\0“ Aj!\f\0\v\0\v@@  Atj(\0("-\0‡"\f@  (”"+\x009\0  +\b9\0 \t\r Aj!\bA!@  F\r  Atj(\0 Atj \b+\x009\0 Aj! \bA\bj!\b\f\0\v\0\v ´9\0 ´9\0A! \t\r@  F\r´!\r  Atj(\0 Atj \r9\0 Aj!\f\0\v\0\vA \n \fAG!\n\v Aj! A\bj! A\bj!\f\v\v \n\v2\0 \0@ \0(A!O@ \0(\0\v \0B\x007\0\vAüÕAÁû\0Aó\0Aß!\0\0\v/\0 \0 6 \0A\x006\0 A!O@ \0 Av AqA\0GjA6\0\v\và\t\f\t|@ \0(H \0G\r\0 \0("(\b(TE\r\0@ +D\0\0\0\0\0\0\0\0b\r\0 +D\0\0\0\0\0\0\0\0b\r\0A\0\f\v \0×\n \0(!A\v! (tAq"@ +(!  + 9(  9 \v@|@@@ (\b"(TAk\0\v +@"\rD\0\0\0\0\0\0\0\0e\r \r + £"\rD\0\0\0\0\0\0ð?c +H +(£"D\0\0\0\0\0\0ð?crE\r \r c@  \r£!D\0\0\0\0\0\0ð?!\r\f\v \r £\f\v +@"D\0\0\0\0\0\0\0\0e\r  + £"D\0\0\0\0\0\0ð?dE\r +H +(£"\rD\0\0\0\0\0\0ð?dE\r  \r\'"!\r\f\v +( + £" +"\rc@ \r £!D\0\0\0\0\0\0ð?!\r\f\v  \r£\v!\rD\0\0\0\0\0\0ð?!\v  \r ! \r  !\r@A˜Ë\n(\0AH\r\0 \rD\0\0\0\0\0\0ð¿ ! D\0\0\0\0\0\0ð¿ ! \0!@ E\r \0 *!@@ @ ("(\b"E\r ("\bAk!\t  A(AØ\0 (\0Aq"AFj(\0((”"+\b¢D\0\0\0\0\0\0R@¢!  +\0¢D\0\0\0\0\0\0R@¢!  A(Ax AFj(\0((”"+\b¢D\0\0\0\0\0\0R@¢!  +\0¢D\0\0\0\0\0\0R@¢! (\0!A\0!@  \bF@@ (`"E\r\0 -\0QAG\r\0   +8¢98  \r +@¢9@\v@ (d"E\r\0 -\0QAG\r\0   +8 98   +@ 9@\v (h"E\r -\0QAG\r   +8 98   +@ 9@\f\v ("\nAk!\v (\0!A\0!  \tG!\f@  \nF@ (\b@   + 9   + 9\v (\f@   +  9   +( 9(\v Aj! A0j!\f |  rE@   +\0 9\0  +\b \f\v +\0! \f  \vGrE@    9\0  +\b \f\v   ¢9\0 \r +\b¢\v9\b Aj! Aj!\f\v\0\v\0\v\0\v \0 !\f\v \0 /!\f\0\v\0\v\0\v \0!@ @ ((”"  +\0¢9\0  \r +\b¢9\b \0 !\f\v\v \0  \rÖ\nA!\v \0!@ @ (" (”"+\0D\0\0\0\0\0\0R@¢9  +\bD\0\0\0\0\0\0R@¢9 \0 !\f\v\v \vì#\0A€k"$\0 A\0 A\0J!@@  \bF@    H!@  F"\r  Atj(\0!\b  \0)\b78  \0)\x0070  )\b7(  )\x007   Atj"\t)\b7  \t)\x007   \bAtj"\b)\x007\0  \b)\b7\b Aj! A0j A j Aj ÕE\r\0\v\f\v  \bAtj(\0!\t  \0)\b7x  \0)\x007p  )\b7h  )\x007`   \bAtj"\n)\b7X  \n)\x007P   \tAtj"\t)\x007@  \t)\b7H \bAj!\b Að\0j Aà\0j AÐ\0j A@kÕE\r\0\vA\0!\v A€j$\0 \v¹\f|#\0A0k"$\0Aðî\n(\0!A¼î\n(\0!@  F@@ Ak \nM@AŒË\n-\0\0AK@  6$  \x006 Aˆ÷\b(\0A¹Þ A j\v A0j$\0 \vAðî\n(\0 \nAà\0lj"A(j! \nAj"!\n@  \nM@ !\n\f  )\b7  )7 Aðî\n(\0 \nAà\0lj")\b7\0  )7\bA\0!A\0!\fA\0!\r#\0AÐk"$\0  )7À  )7È  )\x007°  )\b7¸ A€j AÀj A°jÞ  )7¨  )7   )7  )7˜ Aðj A j AjÞ  )\b7ˆ  )\x007€  )(7ð  )07ø Aàj A€j AðjÞ  )\b7è  )\x007à  )87Ð  )@7Ø AÐj Aàj AÐjÞ@ +€ +ÐeE\r\0 +à +ðeE\r\0 +ˆ +ØeE\r\0 +è +øeE\r\0A! (("Aq@ (PAq\r\v@ AqE\r\0 -\0PAqE\r\0 + +\0¡" ¢ + +\b¡" ¢  + +\0¡ +8  +(¡" ¢D\0\0\0\0\0\0Ð?¢e!\f\v ( ! ($  )7È  )7À  AÀjü\n! (H! (L  )\b7¸  )\x007°  A°jü\n! (H"At! ( "At! Ak! Ak!A\0!A\0!\b@@   \bAtj"\t)\b7¨  \t)\x007    \b j oAtj")\x007  )\b7˜ AÀj A j Aj\v   \fAtj"\v)\b7ˆ  \v)\x007€   \f j oAtj")\x007ð  )\b7ø A°j A€j Aðj\v B\x007˜ B\x007 B\x007à B\x007è  )À7Ð  )È7Ø  )°7À  )¸7È +è +Ø"¡ +À +Ð"¡¢ +È ¡ +à ¡¢¡!  )\b7¸  )\x007°  \t)\x007   \t)\b7¨  \v)\x007  \v)\b7˜ A°j A j Aj€\v!  )\b7ˆ  )\x007€  \v)\x007p  \v)\b7x  \t)\x007`  \t)\b7h A€j Að\0j Aà\0j€\v!  )\b7X  )\x007P  \t)\b7H  \t)\x007@  )\b78  )\x0070  \v)\x007  \v)\b7( +0" +X" A@k"\t+\b"!¡¢ + "% ! ¡""¢ +P" +(" +8"¡¢"& \t+\0"#  ¡¢   "$D\0\0\0\0\0\0\0\0b  %  ¡¢ &  ¡¢   $£" "¢  9¨   # ¡¢  9  D\0\0\0\0\0\0ð?e D\0\0\0\0\0\0\0\0fq "¢   !¡¢ #  ¡¢  š $£"D\0\0\0\0\0\0\0\0f D\0\0\0\0\0\0ð?eqqA\0\v@A!\f\v@  D\0\0\0\0\0\0\0\0b rrE@ Aj! \bAj o!\b\f\v D\0\0\0\0\0\0\0\0f@ @ Aj! \bAj o!\b\f\v \rAj!\r \fAj o!\f\f\v @ \rAj!\r \fAj o!\f\f\v Aj! \bAj o!\b\v  H \r HrE  NrE \r Hq\r\0\v@ +\0" +ÐeE\r\0  +àfE\r\0 +\b" +ØeE\r\0  +èfE\r\0 (H!\b  )\b7  )\x007A!  \b Ajû\n\r\vA\0! +\0" +ðeE\r\0  +€fE\r\0 +\b" +øeE\r\0  +ˆfE\r\0 ( !  )\b7\b  )\x007\0   û\n!\v  \v AÐj$\0 @ A:\0 A:\0 Aj!\v \nAj!\nA¼î\n(\0!\f\v\0\v\0\v\0  Aà\0ljA\0:\0 Aj!\f\v\0\v\0\v\0 \0  \0(L((ç\n\và| \0-\0\f!\b@ +\0" \0(\b"\0($"\t+\0"d"\n@ \b\rA\v \bAG\r\0A\0\v@@ \0+\0"D\0\0\0\0\0\0ð?a@  ¡! +\b" \t+\b¡! \0+\b!@ \nE@ D\0\0\0\0\0\0\0\0c\r\f\v D\0\0\0\0\0\0\0\0fE\r\v   ¢fE\rA\f\v +\b \0+  ¢¡"¡" ¢  ¡" ¢  \t+\b¡" ¢ d\f\v D\0\0\0\0\0\0\0\0c \0+  ¢  cG\r\0A\0\f\v   \0( +\0¡"¢  ¢    £D\0\0\0\0\0\0ð?  ¢!  ¢  ¢¡ ¢!  c D\0\0\0\0\0\0\0\0cE\r\0  cE\v \bA\0Gs\vF@ A\0H\r\0  \0(\bN\r\0 \0(\f Atj"(\0"\0E\r\0 \0"(\bA~G\r\0A\0! A\x006\0\v \v%  \x006\0  \0("6  6\0 \0 6\v\b\0 \0(\bE\vM (@ \0(\0 \0 ö\nA(lj!@ "( " G\r\0\v  ( 6 \0 \0(\bAk6\b A\x006\v\v[ @ \0Aj" Atj 6\0 A kAtj(\0@ \0ø\n E@A§×AÁ¿A˜AŽ \0\0\v\v\vAöÔAߺA²A¨\0\0\v¨#\0Ak"$\0@ \0@@ E\r\0 \0 ú\n"\r\0AAüÿ\0 Aj" Aüÿ\0M"Aj"C!A\0  \r  \0(\x006\0 \0 6 \0 6\0 \0 ú\n!\v Aj$\0 \vA§×AÁ¿Aù\0A¤´\0\0\v  6\0Aˆ÷\b(\0A§ê .\0\v\0 \0  \0(L((þ\n\v¸ \0(\0"@ (\0 \0(\0\v \0(A\0J@ \0($\v \0(" \0( "F ErE@A\0 ™ \0(!\v \0( ™A\0!@ \0(!  \0(\f \0(\b \0(jjNE@  Atj(\0Ÿ\v Aj!\f\v\v \v \0(( \0(, \0(0 \0\v£|#\0A k"\f$\0AA4"A\x006\0 (0! A\x006 A\x006\f  At"6\b  \0 k6  \0A"6 \0A\0 \0A\0J! A\fj!@  G@ D\0\0\0\0\0\0ð?ç! (" Atj 6\0 Aj!\f\v\v A\x006@@@@ Ak\0\vA\0!AŒË\n-\0\0@AºèAAAˆ÷\b(\07\v ("A\0 A\0J!\b@ \b G@A!A  Alj"(\0" AM!@  F@ Aj!\f\v ( j,\0\0A\0J@  (Aj6\v Aj!\f\0\v\0\v\v (Ý! A\x006  6 A\0!@  (N\r  Alj!\nA!@ \n(\0 M@ Aj!\f\v \n( j,\0\0A\0J@ (" Atj(\0  \n( Atj(\0Atj(\0 +\bš!\b  ("Aj"\t6 ( Atj \b6\0\v Aj!\f\0\v\0\v\0\v \fA\x006 \fA\x006  (A\0 \fAj \fAj ÙE@A\0! \f(! (!\t \f(!\r (\f"AjA\b" \r(\0"6  A"6\0 A\0 A\0J!  \vFA  AL!\nA!@ \n G@  Atj" \r Atj"(\0 Ak"\b(\0k"6  A"6\0A\0!\v A\0 A\0J!@  \vG@  \vAt"j  \b(\0Atj j(\x006\0 \vAj!\v\f\v\v Aj!\f\v\v@ A\0L\r\0  Atj" \t \r AtjAk"\b(\0k"6  A"6\0A\0!\v A\0 A\0J!@  \vF\r  \vAt"j  \b(\0Atj j(\x006\0 \vAj!\v\f\0\v\0\v   \vAt"j  j(\x006\0 \vAj!\v\f\v\v!AŒË\n-\0\0@ \f (\x006Aˆ÷\b(\0Aì \fAj\vA\0!\tA (\f"\bAj"\n \nAL!A!\r@  \rG@ \t  \rAtj"(j Ak(\0j!\t \rAj!\r\f\v\v  \b  \nAtjAk(\0 ( \tjjjAk"6 Ý! A\x006  6  (\f \0jA"6@  G@  At"j  j(\x006\0 Aj!\f\v\v A\0!@ (\0" J@ \0 j"\bDíµ ÷ư>ç! ( \bAtj 6\0 Aj!\f\v\v +\b!A\0!A\0!@@@  N@@  AkN\r ( \0Atj Atj"(\0 (D\0\0\0\0\0\0\0\0š!  ("Aj6 ( Atj 6\0 Aj! (\f!\f\0\v\0\vA\0!  Atj"("\bA\0 \bA\0J!\t \0 j!\r@  \tF@A\0!  Aj"Atj"("\bA\0 \bA\0J!\t@  \tF\r ("\b \rAtj(\0 \b (\0 Atj(\0Atj(\0 š!\n  ("\bAj6 ( \bAtj \n6\0 Aj!\f\0\v\0 ("\b (\0 Atj(\0Atj(\0 \b \rAtj(\0 š!\n  ("\bAj6 ( \bAtj \n6\0 Aj!\f\v\0\v\0\v (!\t\f\v (\0!\f\0\v\0\vA\0!\f\v (0A\0J@ ( !\b  \t (,AtjÝ"6 A\0! ("A\0 A\0J!@  G@  At"j  \bj(\x006\0 Aj!\f\v\v \b@A\0 \b™\vA\0!@ (0 J@ At!\tA\0! At!@ (4 j(\0 L@ Aj!\f (" (Atj \tj"(!\n (\0  (8 j(\0 Atj(\0Atj(\0"\bD\0\0\0\0\0\0\0\0š!  ("Aj6 ( Atj 6\0 \b \nD\0\0\0\0\0\0\0\0š!  ("Aj6 ( Atj 6\0 Aj!\f\v\0\v\0\v\v (!\t\v A\x006 A\x006 \tA\0J@  (\f \0j ( \t ( ¡\v6$  (6  ( 6\v @   \0„\v6\0\v  \0A6(  \0A6,  \0A60AŒË\n-\0\0E\r\0 \f (6\0Aˆ÷\b(\0AËä \f\v \fA j$\0 \v¼|@@ "E@A! \0  A\b" \v\r\v  A"\x006\0A\0! A\0 A\0J!@  G@ \0 Atj 6\0 Aj!\f\v\v \0 AÛ †\vD{®Gáz„?  \0 Ak"Atj(\0Atj+\0  \0(\0Atj+\0¡Dš™™™™™¹?¢ ·£"\n \nD{®Gáz„?c!\nA  AL!\bA\0!A!@  \bG@   \0 Atj"\t(\0Atj+\0  \tAk(\0Atj+\0¡ \ndj! Aj!\f\v\v  6\0@ E@ AA"\x006\0 \0 6\0\f\v  A"6\0A\0!A!@  \bF\r \n  \0 Atj"(\0Atj+\0  Ak(\0Atj+\0¡c@  Atj 6\0 Aj!\v Aj!\f\0\v\0\vA\0! \r\v \v \vV \0(\b \0A\x006\b@ E\r\0 A\0 A\0J!@  F\r \0 Alj" 6\b Aj!  (\0Atj!\f\0\v\0\v\vì\t A\0 A\0J! ­!A\0!@  FE@ \0 Alj(\0 j! Aj!\f\v\v ­!@  G@ \0 Alj" 6\b \0  Ý (\0"\bAk!\t \bAk!\nA!@  \nK@ \0  Ü Aj!  \bAtj!\f  At"j \t \0 ( j(\0"Alj(\0j \0  ÞAtk³8\0 Aj!\f\v\0\v\0\v\v \v\r\0 \0  A\0—\t\v\r\0 \0  A—\t\v[A \0 Alj"(\0"\0 \0AM!A\0!\0A!  F \0 \0  ( Atj(\0Atj(\0A\0Jj!\0 Aj!\f\v\v\v\0 \0(\b \0(\0\vL} \0A\0 \0A\0J!\0@ \0 G@  Atj"*\0"C\0\0\0\0^@ C\0\0€? ‘•8\0\v Aj!\f\v\v\vI} \0A\0 \0A\0J!\0@ \0 G@  At"j*\0"C\0\0\0\0`@  j ‘8\0\v Aj!\f\v\v\vK} \0A\0 \0A\0J!\0@ \0 G@  Atj"*\0"C\0\0\0\0\\@ C\0\0€? •8\0\v Aj!\f\v\v\vAý"\0A´Û\t6\0 \0AôÛ\tAØ\0\v\0 \0 \0(\0(\0\vµ|#\0Ak"\n$\0 \nA\x006\f \nB\x007 \0A\0 \0A\0J!\0 \0 F#\0A@j"$\0 A\x006< B\x0074 A4j \nAj"( (\0kAu³\v@ ( (\0"kAu M@@ (4 (8²\v  A,j"6( B\x007, A\x006 B\x007 (8! (4!\b@  \bF@ A ( ("k"\0 \0Au"AÿÿÿÿK_"6\0A\0! A\0 A\0J!@  F\r  At"\0j \0 j(\x006\0 Aj!\f\0\v\0  \b("6@ \b(\0E@ A\fj A(j" Aj"\0»  \0ß"\0 ((G@  \0è("\x006 \0 6\v A(j Ajß“"\0 F\r  \0("\x006 \0 6\f\v (!\t ("@ ("\0+!\f \0+!\r ("\0+! \0+!\v A _ (\0 (\0 \v ¡ \r \f¡ D\0\0\0\0\0\0à?¢à6\f Aj A\fj¥  (6\v \t@ \t("\0+!\f \0+!\r ("\0+! \0+!\v A _ (\0 \t(\0 \v ¡ \r \f¡ D\0\0\0\0\0\0à?¢à6\f Aj A\fj¥ \t (6\v A(j Ajæ\v \bAj!\b\f\v\0\v\0\v  Atj"\0(\0  At"\tj"+"\v + \v¡D\0\0\0\0\0\0à?¢ "\v9\b  \v9 A(j"\b \0  Aj"®\v A\x006\f  (\0 \tj+\x009 A4j" A\fj"\0 \b å A6\f  (\0 \tj+\b9 Aj!  \0 \b å \b®\f\v\v AjÑ A(j› A4j¯\v A@k$\0 Ñ \nAj$\0  \nAj  Atj" Aj A\bj Aj \v Aj!\f\v\v\v‚\n|#\0Ak"\n$\0 \nA\x006\f \nB\x007 \0A\0 \0A\0J!  FA\0!#\0Aà\0k"\0$\0 \0A\x006L \0B\x007D \0AÄ\0j \nAj""( (\0kAu³\v@ ( (\0"kAu M@ \0(D \0(H²\v \0 \0A A€€€€O@á\0\vAÿÿÿÿ \0(\b \0(\0k"\0Au"   I \0AüÿÿÿO\vU A\0:\0AÈ\0_"A\0÷  6\0 \0  (\0 (ìAÈ\0_"A\0÷  6\0 \0  ( (\0ì\v¡\b|#\0Ak"\v$\0 + ( + +  +\b¡¢! (,!\f ((!\b AF!\r@ \b \fF@@ (8!\f (4!\b@ \b \fF\r@ \b(\0"\n("( G  Fr\r\0 \n-\0AqE\r\0 \v A\0   F"\r"  A AF r"Aq"î \n \v+\0"9 \n \t \r!\t@ E\r\0 \v(\b"E\r\0 @ \n!\t  +c\r\v !\t\v   !\v \bAj!\b\f\0\v\0\v@ \b(\0"\n(\0"( G  Fr\r\0 \n-\0AqE\r\0 \v A\0   F""  A  \rr"Aqî \n \v+\0"š9 \v(\b" \n \t "\t  \t !\t   !\v \bAj!\b\f\v\v \0 \t6\b \0 9\0 \vAj$\0\v©| + ( + +  +\b¡¢!\b (8! (4!@  F@@ (,! ((!@  F\r@ (\0"(\0"( \0G  Fr\r\0 -\0AqE\r\0  \0   ï"\tš"\n9 \b \t !\b (\0"@ + \ndE\r\v  6\0\v Aj!\f\0\v\0\v@ (\0"("( \0G  Fr\r\0 -\0AqE\r\0  \0   ï"\t9 \b \t !\b (\0"@ \t +cE\r\v  6\0\v Aj!\f\v\v \b\vO@ \0(< \0(@G@ \0A| ·!@A¼Ë\n/\0 J@´! \0((” Atj  ¢9\0 Aj!\f\v\v\vö|#\0A0k"$\0 \0 *!@ @@@ E\r\0  ?"-\0\0E\r\0  A(j6 @ A¬„ A jIA\0L\r\0 +("D\0\0\0\0\0\0\0\0c\r\0 D\0\0\0\0\0\0\0\0b\rA˜Ë\n(\0\r\v  6A¹¶ Aj( \0 ! B€€€€€€€ø?7\b  6\0A㦠p\v B€€€€€€€ø?7(D\0\0\0\0\0\0ð?!\v ( 9ˆ   ! \0 /!\f\v\v A0j$\0 \v‰#\0A0k"$\0 \0AAøô\0Añ€!! \0AA™:Añ€!! \0! AI!@ @ Aj" (4ôã\v   a E@  (4øã\v   a\v \0 !\f\v\v A0j$\0\vØ \0k!@ @ € j!\f\v\v@ \0A‡&A\0A3E\r\0 \0((\b \0("A\x006\b (¸ \0((Œ \0((Ø \0("(Ä@ (è!@  (ìJE@ (Ä AÈ\0lj(\f Aj! \0(!\f\v\v (ÄA¸A\0 (èAFj\v \06 \0F\r\0 \0((\f \v\vÍ#\0AÐ\0k"$\0 B\x007H B\x007@ \0:E@ A\x006\0A\0\f\v B\x0078 B\x0070 B\x007( B\x007 B\x007 B\x007\b Aº6$ A»6 \0!@ @ (A\x006° \0 !\f\v\v \0!@ @ A ($\0\0E@ A@k"A\0÷  (06\0  ö \0 âA"A‡&A˜A3 \0   A\bjõ  6< A(jA$! (( Atj (<6\0\v \0 !\f\v\v A\bj‚ A@kN A(j Aj A« (\v AÐ\0j$\0\vŒ#\0Ak"$\0@  \0(\bOE@  \0)\b7\b  \0)\x007\0  !@@@ \0("\0\v \0(\0 Atj(\0\f\v \0(\0 Atj(\0 \0\v Aj!\f\v\v \0A- \02 Aj$\0\v€} \0AÈ %!#\0Aà\0k"\0$\0@@ @  6 B\x007 A\x006 E\r A¹ï\v@ A6 -\0Aß\0G@ Aj!\f\v Aj!@A\0! @@@@@@@ \r\vA!@ -\0\0"Aì\0k\n\0\v@ Aâ\0k\0\v E\r\v Aé\0G\r\0\vAÀ\0\f\vA\f\vA\f\vA \f\vA\f\vA\b\f\vA\v (r6 Aj!\f\0\v\0\v A¯$ï\v@ A6 \0 \0AÜ\0j6P@ AjA҇ \0AÐ\0jIA\0L\r\0 \0*\\"C\0\0\0\0^E\r\0  8\0\f\v A€€€ü6\0\f\v A–8U@ A6\f\v AÚú\0U@ A6\f\v AàUE\r A6\f\vAÂß\0Aï¼A¿\tAùß\0\0\0\v \0 \0AÜ\0j6@ Aœ³ \0A@kIA\0L\r\0 \0(\\"A\0L\r\0  6\vAŒË\n-\0\0@A˜ÚA\vAAˆ÷\b(\0"7 \0 (Ak"AM At(ìÉ\bAŸ­\v60 AՃ \0A0j (AF@ \0 *\0»9 AÚª \0A j1\v \0 (6 A‹É \0Aj \0 (6\0 AþÈ \0\v ( \0Aà\0j$\0\ví|  (\fAtj"+!\n +!\v +\b!\f +\0!\r@ \0E@ \v \r¡ At¸"  ¸"£›üA~m \n \f¡   £›üA~m     Ó\r\vA\0A\0     Ó\r\0A!\0 \v \r¡› \n \f¡›fE@@A\0!A\0 \0k!@@  N@ !\b@ \0 \bF\r \b      Ó \bAj!\bE\r\0\v\f\v       Ó\r Ak!\f\v\v@ \0 G@ \0      Ó Aj!E\r\f\v\v \0!@@  N@ \0!@ A\0L\r       Ó Ak!E\r\0\v\f\v  \0     Ó\r Ak!\f\v\v \0Aj!\0\f\0\v\0\v@A\0!A\0 \0k!\b@ \0 F@ \b!@ \0 F@ \0!@@  \bL@ \0!@  \bL\r       Ó\r\t Ak!\f\0\v\0\v  \0     Ó\r Ak!\f\v\v@ @       Ó Aj!E\r\f\v\v \0Aj!\0\f\v \0      Ó Aj!E\r\0\v\f\v  \b     Ó Aj!E\r\0\v\v\v\vù\t|~#\0A°k"$\0@@ E\r\0 \0((\b"E\r\0 ¸!\f@ \b (O\r (\0 \bA0lj"(\f (\b! (!\t (\0!  )(7¨  ) 7   @  )7˜  )7A! \f\v  )\b7˜  )\x007A! Aj\v")\b7ˆ  )\x007€  +˜ !\r |  + "\vD\0\0\0\0\0\0\0\0f@ \v \f£\f\v \vD\0\0\0\0\0\0ð?  \f£D\0\0\0\0\0\0ð¿ \v9  \rD\0\0\0\0\0\0\0\0f| \r \f£ \rD\0\0\0\0\0\0ð?  \f£D\0\0\0\0\0\0ð¿ \v9˜  +ˆ !\r |  +€ "\vD\0\0\0\0\0\0\0\0f@ \v \f£\f\v \vD\0\0\0\0\0\0ð?  \f£D\0\0\0\0\0\0ð¿ \v9€  \rD\0\0\0\0\0\0\0\0f| \r \f£ \rD\0\0\0\0\0\0ð?  \f£D\0\0\0\0\0\0ð¿ \v"\v9ˆ  )7p  )˜7x  )€7`  \v9h Að\0j Aà\0j ø  \t  \tK!@  FE@  )ˆ7˜  )€7   Atj"\t)\0"7€  \t)\b"7ˆ  ¿ !\r |  ¿ "\vD\0\0\0\0\0\0\0\0f@ \v \f£\f\v \vD\0\0\0\0\0\0ð?  \f£D\0\0\0\0\0\0ð¿ \v9€  \rD\0\0\0\0\0\0\0\0f| \r \f£ \rD\0\0\0\0\0\0ð?  \f£D\0\0\0\0\0\0ð¿ \v"\v9ˆ  )7P  )˜7X  )€7@  \v9H AÐ\0j A@k ø Aj!\f\v\v@  )ˆ7˜  )€7  ) "7€  )¨"7ˆ  ¿ !\r |  ¿ "\vD\0\0\0\0\0\0\0\0f@ \v \f£\f\v \vD\0\0\0\0\0\0ð?  \f£D\0\0\0\0\0\0ð¿ \v9€  \rD\0\0\0\0\0\0\0\0f| \r \f£ \rD\0\0\0\0\0\0ð?  \f£D\0\0\0\0\0\0ð¿ \v"\v9ˆ  )70  )˜78  )€7  \v9( A0j A j ø\v \bAj!\b \0((\b!\f\0\v\0\v A€j \0A(Ax \0(\0AqAFj(\0é  +ˆ ! |  +€ "D\0\0\0\0\0\0\0\0f@  ¸£\f\v D\0\0\0\0\0\0ð?  ¸£D\0\0\0\0\0\0ð¿ \v9€  D\0\0\0\0\0\0\0\0f|  ¸£ D\0\0\0\0\0\0ð?  ¸£D\0\0\0\0\0\0ð¿ \v"\v9ˆ  )\x007  )\b7  )€7\0  \v9\b Aj  ø\v A°j$\0\v© \0!@ @ (A\x006è \0 *!@ @@ ((°"E\r\0@  A0k" (\0AqAF((("-\0¬AG\r A\x006è   (\0AqAF((((È(\0"\r\0\v\v \0 /!\f\v\v \0 !\f\v\v \0ú\v\vb \0 F@A\v \0((È!A\0!\0@@  \0Atj(\0"A\0G! E\r\0 \0Aj!\0 A(Ax (\0AqAFj(\0 ‡E\r\v\v \v˜| \0("(Ä@ (È!@ (\0"("Aø\0j! -\0p\r\0\v (`"+ ! +! \0+! ((`" \0("\0+   ((tAqD\0\0\0\0\0\0à?¢ 98 \0+! A:\0Q  9@\v\v\v\0A\0 \0 ¶\f\vW \0("A\0 A\0JAj!A!@@  F\r \0(\0 Atj(\0( F Aj!\r\0\vA÷\0AÉ¿A.AÅõ\0\0\0\v\v\0 \0@ \0(\0\v \0\vã#\0A°k"$\0 (\0!  )\b7¨  )\x007 @@  A j AÈ\0lj((AkA}K\r\0 (\0  )\b7˜  )\x007 Aj AÈ\0lj(,AkA}K\r\0 (\0  )\b7Ø  )\x007Ð AÐj AÈ\0lj(< (\0  )\b7È  )\x007À AÀj AÈ\0lj!\0AkA}M@ (\0! \0(@AF@  )\b7È  )\x007À  AÀj AÈ\0lj(,!\0 (\0  )\b7¸  )\x007° A°j AÈ\0lj \x006( (\0  )\b7¨  )\x007  A j AÈ\0ljA6, (\0  )\b7˜  )\x007 Aj AÈ\0lj(| \0 +\0"09\0 \0 +\b"09\b \0  + 09 \0  + 09\vC#\0Ak"\0$\0AAˆC"E@ \0Aˆ6\0Aˆ÷\b(\0A§ê \0.\0\v Ó\f \0Aj$\0 \v, \0("@  6\f\v \0 6 \0(\0E@ \0 6\0\v\vß@ ("(è\r\0AÀí\n(\0!@ E@ (À!A\0!@  Atj(\0"E\r Û\fE@  Atj 6\0 Aj!\v Aj!\f\0\v\0\v (È!A\0!@  Atj(\0"E\r Û\fE@  Atj 6\0 Aj!\v Aj!\f\0\v\0\v AH\r\0  AtjA\x006\0  AA¦šAxAØ\0 !AA !A!@  Atj"(\0"E\r Ak(\0"A(  (\0Aq Fj(\0" A(  (\0Aq Fj(\0"Š\r\r  A\0¥"(A:\0p \0 ‹ Aj!\f\0\v\0\v\v§\r~ \0("(ì! (è!@  J@@@ (è!B\0!@ (ì!@@  J\r (Ä" AÈ\0l"\tj"-\x000E@ Aj!\f\v\vA\0!\b A\0:\x000 Aj!A¼í\n(\0!\fB\0! AkAÈ\0l!\n@  AÈ\0l"\vj!\r  \tj"(\0Ak!@@  \bL\r (" \bAtj(\0"((ø  \bAj"\bAtj(\0"((øN\r \0  ë\f\r\0~ A\0L@B\0!B\0\f\v  á\f!  á\f\v! \r(\0A\0J@   à\f¬|!   à\f¬|!\v E B\0Wr  Rr  Wq\r\0\v  “ \f((Ä" \tjA\0:\x001 \0("(Ä" \tjA:\x000 (è H@  \njA\0:\x001  \njA:\x000\v  } |!  (ìN\r  \vjA\0:\x001  \vjA:\x000\f\v\v  |! !\f\v\v B\0U\r\0\v\v (Ä AÈ\0ljA:\x000 Aj!\f\v\vAã¡Aç¹AA¿Û\0\0\0\vb \0("(ø!  ("(ø"6øA¼í\n(\0((Ä (ôAÈ\0lj(" Atj \x006\0  6ø  Atj 6\0\v¦#\0A k"$\0 \0(\0"\0(! \0(\b!@ E@ !\0\f\v B\x007 B\x007  6\0  6 Aj"A¹3 s  —”!\0  A\0z  A\0z N\v A\bjAƒ (\0 A{ \0ˆ  A\0z A j$\0\v‚ \0("(ì! (è!@  JE@A\0!\0 (Ä AÈ\0lj"(\0"A\0 A\0J!@ \0 FE@ ( \0Atj(\0(" (ø·9 \0Aj!\0\f\v\v Aj!\f\v\v\vòA!@ \0("(´ H@@ (ŒE\r\0 (è!@  (ìJ\r At" (Œj(\0"@ \0 Aè\f! \0 Aè\f! \0((Œ j 6\0 \0S! AÈ\0l" \0("(Äj" ((Ä j( ((ø"Atj6  ((ø kAj6\0\v Aj!\f\0\v\0\v (¸ Atj(\0– Aj!\f\v\v\vÏ~|#\0A k"\n$\0Bÿÿÿÿÿÿÿÿÿ\0! AO@ë! \0•\vAˆ÷\b(\0! !@@@ !@@@ Ak\0\vA¸Ë\n(\0!@ \0S \0G\r\0 \0 ï\fE\r\0B!\f\v E@ \0î\f\vA  AN! \0í\fë" U\r \0• !\f\vA¸Ë\n(\0!  S@ \0ì\f\v !\vA\0!\r A\0 A\0J!A\0!@@@ \r F\r\0AŒË\n-\0\0@ \n 7 \n 7 \n 6\b \n \r6 \n 6\0 A¹· \n\v P AÄí\n(\0Nr\r\0 \0(! \rAq"E@ Aìj!A! (è" A¼í\n(\0((èLj\f\v Aèj!A! (ì" A¼í\n(\0((ìNk\v! Aj! \rAq! (\0 j!@  F\r \0((Ä" AÈ\0l"j(!\vA\0!AÈí\n(\0!@  j"\t(\0" L@A\0! A\0 A\0J!\fA\0!@@@  \fG@ \v Atj(\0("(Ì\r (Ä\r | (Ü@ (Ø"\b(\0"A(AØ\0 (\0AqAFj(\0!A!@ \b Atj(\0"@ A(AØ\0 (\0AqAFj(\0"  ((ø ((øJ! Aj!\f\v\v (+€"D\0\0\0\0\0\0\0\0fE\r D\0\0\0\0\0\0ð? \f\v (ÔE\r (Ð"\b(\0"A(Ax (\0AqAFj(\0!A!@ \b Atj(\0"@ A(Ax (\0AqAFj(\0"  ((ø ((øH! Aj!\f\v\v (+€"D\0\0\0\0\0\0\0\0dE\r D\0\0\0\0\0\0ð¿ \v9€\f\vA\0!\fA\0A| A\0 !\b \t(" Atj!@@ A\0J@ Ak! !@  O\r@  O\r (\0"\t(+€"D\0\0\0\0\0\0\0\0c@ Aj!\fA\0!@ Aj" O\r (\0!\v "Aq@A! \v((è\r\v \0 \t \vë\f\r \v("+€"D\0\0\0\0\0\0\0\0fE@ (èA\0G r!\f\v\v E  fq  drE\r \t \v“ \fAj!\f\f\v\0\v\0\v\0\v@ \fE\r\0A¼í\n(\0((Ä j"A\0:\x001 A\0L\r\0 AkA\0:\0\0\v  j!\f\v  \bj!\f\0\v\0\vA!\v Aj!\f\0\v\0 \v Atj(\0"\f(!@ E@ (À!\tA\0!A\0!@ \t Atj(\0"E\r ("\b.šA\0J@  Atj \b-\x000 A(AØ\0 (\0AqAFj(\0((øA\btr6\0 Aj!\v Aj!\f\0\v\0\v (È!\tA\0!A\0!@ \t Atj(\0"E\r ("\b.šA\0J@  Atj \b-\0X A(Ax (\0AqAFj(\0((øA\btr6\0 Aj!\v Aj!\f\0\v\0\vD\0\0\0\0\0\0ð¿!@@@@ \0\v (\0·!\f\v ( (\0jAm·!\f\v  AA¤š Av!| Aq@  Atj(\0·\f\v  Atj"Ak(\0" (\0k"  AtjAk(\0 (\0"k"F@  jAm·\f\v · ·¢ · ·¢   j·£\v! \f(!\v  9€ Aj! \0((Ä!\f\v\0\v\0\v\0\v Aj!B\0! B\0R\r\f\v \0 A\0G’ ë"Y@ \0•A\0  ¹ ¹D×£p=\n×ï?¢c! !\v \rAj!\r\f\0\v\0\v\v  S@ \0ì\f\v B\0W\r\0 \0A\0’ë!\v \nA j$\0 \v¢#\0A k"$\0@AÜË\n(\0"A¬Ì\n(\0rE\r\0 \0 A\0l"@ AªU@ \0Aß\f\f\v A÷å\0U@ \0A\0ß\f\f\v -\0\0E\r  6A„ä Aj4\f\v \0k!@ @ ¢E@ ˜\v j!\f\v\vA¬Ì\n(\0E\r\0 \0!@ E\r@ A¬Ì\n(\0A\0l"E\r\0 AªU@ \0 A‘\f\v A÷å\0U@ \0 A\0‘\f\v -\0\0E\r\0   6  6\0AÍê 4\v \0 !\f\0\v\0\v A j$\0\v\0 \0(\0"\0 (\0"J \0 Hk\vº ("A6\b (((ø!  :Atj 6\0  At \0 *!@ @  A(Ax (\0Aq"AFj(\0"("\b(((ø A(AØ\0 AFj(\0((((øJj! \b(\bE@ \0   š j!\v \0 /!\f\v\v \0 „!@ @  A(Ax (\0Aq"AFj(\0((((ø A(AØ\0 AFj(\0"("(((øJj! (\bE@ \0   š j!\v \0 È!\f\v\v \v\0 @ \0Ö!\0 Ö( \x006¨\v \0\vr#\0A k"$\0@ \0A€€€€I@ \0AC"E\r A j$\0 \v A6  \x006\0Aˆ÷\b(\0AØê .\0\v  \0At6Aˆ÷\b(\0A§ê Aj.\0\vŽ@ ("(\r\0  6 \0 *!@ @ \0 A(Ax (\0AqAFj(\0  \0 /!\f\v\v \0 „!@ E\r \0 A(AØ\0 (\0AqAFj(\0  \0 È!\f\0\v\0\v\v\v\0 \0Að$%Z\v!\0 \0E@A«×A¦ü\0A\fA<\0\0\v \0A‘—GE\vÏ\n#\0AÐ\0k"$\0A¨í\nAA¨í\n(\0Aj" AM6\0 B\x007( B\x007 B\x007 \0(A\x006Ü A,j!\b \0! A\0L!\t@@ E@A\0!@  ( OE@  ) 7\b  )7\0  !\0@@@ (("\0\v ( \0Atj(\0\f\v ( \0Atj(\0 \0\v Aj!\f\v\v Aj"\0A- \02 AÐ\0j$\0\v@@@@ \t\r\0 ("(è"E\r\0 ((Œ (ôAtj(\0!\f\v "Œ G\r\v ((°A¨í\n(\0F\r\0 \0(A\x006ÀA¬í\nA\x006\0 Aj …\r@@ ( E\r\0 Aj \bA (,"E\r\0A¨í\n(\0" ("(°F\r  6°A\0!A¬í\n(\0" \0 (A¸AÀ j 6\0  6¼A¬í\n 6\0 A\x006¸  )Ø70  )Ð78  )À7@  )È7H@ AF\r@ A0j Atj"(\0"\nE\r\0 ("E\r\0@ E\r  \n Ak"Atj(\0"A(Ax (\0Aq"\vAFj(\0"F@ A(AØ\0 \vAFj(\0!\v ((°A¨í\n(\0F\r\0 Œ G\r\0 Aj …\r\f\0\v\0\v Aj!\f\0\v\0\v\v \0(" (Ü"Aj"6Ü AÿÿÿÿO\r (Ø At"b"E\r \0(" 6Ø  Atj (À6\0\v \0 !\f\v\vAÞÀA¤ý\0AÍ\0A˜´\0\0\v  6Aˆ÷\b(\0A§ê Aj.\0\vm \0ä \0 \0A0k" \0(\0Aq"AF(( \0 \0A0j" AF((è"@ \0 Å\v \0  \0(\0Aq"AF(( \0  AF(( \0¼\v‰ \0@@ \0((x"E\r\0 ("(° \0G\r\0 A\x006°\v \0A(AØ\0 \0(\0AqAFj(\0(AÐj \0Ž \0A(Ax \0(\0AqAFj(\0(AØj \0Ž\vAÄÖA÷ºAàA‚ž\0\0\v© \0(Aj! AG!@@ (\0"@ (\0A‹G\r (!@ E@ Ÿ\r\v  \0((\0  A\0!"6 E@  \0((\0  Añ€!6\v AŠ6\0 \0(\b A\0z\v A\fj!\f\v\v\vAöì\0AA¹A¿)\0\0\vV (" \0("(À"\x006¸ \0@ \0( 6¼\v  6À A\x006¼ \0 F@AÛ¤A÷ºAºA¾ \0\0\v\vôAà\0" (0Ar"60  (\0A|qAr"6\0A¸!  \x006X  6  6( A:\0p @  (\0"Apq" Aqr60  Aq r6\0  ("/¨;¨  /š;š  (œ6œ  (¬6¬A!@ Aj A(AØ\0 Aq"AFj(\0" \0G \0 A(Ax AFj(\0G\rA8A\v jA(ü\n\0\0\vA8!\0@ A8j ((" A(Ax AFj(\0G  G\rAA8\v jA(ü\n\0\0\v (°E@  6°\v  6x \v A6¬ A;¨ A;š A6œ \v¹ \0(" (ô j6ô@ (˜ Atj(\0"@  A(AØ\0 (\0AqAFj(\0"G@  \0 ¦ \0(!\v Aj!\f@@ (  Atj(\0"E\r\0  A(Ax (\0AqAFj(\0"G@  \0 ¦ \0(!\v Aj!\f\v\v\v\v\vÑ \0(! \0(\0! !@ At"Aj!  Ar"K@    Atj(\0(  Atj(\0(H!\v  K@    Atj(\0(  Atj(\0(H!\v  G@  Atj"(\0!   Atj"(\x006\0  6\0 (\0 6\b  6\b \0(" "K\r\v\v\vÔ@@Aܳ ("(¤A\0N\r\0 \0(\f"A\0H\r  6¤ \0 6 \0AjA$! \0( Atj \0(6\0 A(AØ\0 (\0AqAFj(\0("A6°  (¤"\0Aj"6¤ ( " \0Atj 6\0A\0!\0  At"jA\x006\0A€ß (È jAk(\0E\r\0 A(Ax (\0AqAFj(\0("A6°  (œ"Aj"6œ (˜" Atj 6\0  At"jA\x006\0 (À jAk(\0\rA£ß\vA\04A!\0\v \0\vAžÎA“ºA?A“ž\0\0\v¸|#\0A€k"$\0  \0(P6pAˆ÷\b(\0"AŒÚ Að\0j@ \0(P M@ \0+\0! \0+\b! \0-\0!  \0+9` A­­A©­ 6h  9X  9P A³‚ AÐ\0j1 \0+(! \0+0! \0-\0E! A@k \0+89\0 A­­A©­ 6H  98  90 Aæ‚ A0j1 A€j$\0 \0(T Atj"+\0! +\b! +!  +9  9  9  9\b  6\0 AÃñ 1 Aj!\f\v\v\v¥\n|#\0A€k"\b$\0@@@@@ A\0J@A!\v A(C"\nE\rA!@  F@ \n A(ljA(k!A!@  F@ +\b! +\0! +\b! +\0!!A\0!@  F@  Atj"A\bk+\0! Ak+\0! +\b! +\0!A\0!@  FE@  \n A(lj"+"  Atj"\t+\0  +\0" ¢D\0\0\0\0\0\0ð? ¡"D\0\0\0\0\0\0\b@¢  ¢"¢   ¢ D\0\0\0\0\0\0\b@¢  ¢"¢ ¡"¢ + " \t+\b  ¢  ¢ ¡""¢  !  +\b" ¢ +" "¢  !   ¢  ¢  !   ¢  ¢  !   ¢  ¢  ! Aj!\f\v\vD\0\0\0\0\0\0\0\0!D\0\0\0\0\0\0\0\0!  ¢  ¢¡"™"Díµ ÷ư>f@  ¢  ¢¡ £!  ¢  𢠠£!\v Díµ ÷ư>c D\0\0\0\0\0\0\0\0er D\0\0\0\0\0\0\0\0er@  ¡  ¡@D\0\0\0\0\0\0\b@£"!\v  ¢!  ¢! ¢! ! ¢!!A\0!D\0\0\0\0\0\0@!@ \b 9x \b   ¢D\0\0\0\0\0\0\b@£¡"9h \b 9p \b   ¢D\0\0\0\0\0\0\b@£¡"9` \b 9H \b  ¢D\0\0\0\0\0\0\b@£ "9X \b 9@ \b  ! ¢D\0\0\0\0\0\0\b@£ "9P AqE@ \bA@kAœ\r  œ\rDü©ñÒMbP¿ c\r\f\v D\0\0\0\0\0\0À¢ D\0\0\0\0\0\0\b@¢ D\0\0\0\0\0\0\b@¢"  !" D\0\0\0\0\0\0\b@¢     ¡!% D\0\0\0\0\0\0À¢ D\0\0\0\0\0\0\b@¢ D\0\0\0\0\0\0\b@¢"  !& D\0\0\0\0\0\0\b@¢     ¡!\'  ¡D\0\0\0\0\0\0\b@¢!(  ¡D\0\0\0\0\0\0\b@¢!)A\0!\f@  \fF@Aí\n(\0Aj«A\0H\r\fAí\n(\0!A”í\n(\0!\0A!@ AF\r\f \0 Atj" \bA@k Atj"+\x009\0  +\b9\b Aj! Aj!\f\0\v\0\v \0 \fAtj"+"* +\b"¡!@@@@ +"+ +\0"¡"D\0\0\0\0\0\0\0\0a@ \b &9ð \b \'9ø \b )9è \b  ¡9à \bAàj" \bAÀj­! D\0\0\0\0\0\0\0\0a@ \b "9ð \b %9ø \b (9è \b  ¡9à  \bA j­!\t AF@ \tAF\rA\0! \tA\0 \tA\0J!\tA\0!@  \tF\r \bA j Atj+\0"D\0\0\0\0\0\0\0\0fE D\0\0\0\0\0\0ð?eErE@ \bA€j Atj 9\0 Aj!\v Aj!\f\0\v\0\v \tAF\rA\0! A\0 A\0J!\r \tA\0 \tA\0J!A\0!\t@ \t \rF\r \bAÀj \tAtj!A\0!@  FE@ +\0" \bA j Atj+\0b D\0\0\0\0\0\0\0\0fEr D\0\0\0\0\0\0ð?eErE@ \bA€j Atj 9\0 Aj!\v Aj!\f\v\v \tAj!\t\f\0\v\0\v AF\rA\0! A\0 A\0J!\tA\0!@  \tF\r@ \bAÀj Atj+\0"D\0\0\0\0\0\0\0\0fE D\0\0\0\0\0\0ð?eEr\r\0    %¢ " ¢ ( ¢   ¡ £"D\0\0\0\0\0\0\0\0fE D\0\0\0\0\0\0ð?eEr\r\0 \bA€j Atj 9\0 Aj!\v Aj!\f\0\v\0\v \b  £" ¢ ¡   ¢¡" 9à \b   ¢¡"# ¡D\0\0\0\0\0\0\b@¢9è \b #D\0\0\0\0\0\0À¢ D\0\0\0\0\0\0\b@¢   ¢¡D\0\0\0\0\0\0\b@¢"$  9ð \b #D\0\0\0\0\0\0\b@¢   ¢¡  $  ¡9ø \bAàj \bAÀj­"AF\rA\0! A\0 A\0J!\tA\0!@  \tF\r@ \bAÀj Atj+\0"D\0\0\0\0\0\0\0\0fE D\0\0\0\0\0\0ð?eEr\r\0    \'¢ & ¢ ) ¢   ¡ £"D\0\0\0\0\0\0\0\0fE D\0\0\0\0\0\0ð?eEr\r\0 \bA€j Atj 9\0 Aj!\v Aj!\f\0\v\0\vA\0! A\0 A\0J!\tA\0!@  \tF\r \bAÀj Atj+\0"D\0\0\0\0\0\0\0\0fE D\0\0\0\0\0\0ð?eErE@ \bA€j Atj 9\0 Aj!\v Aj!\f\0\v\0\v AF\r\0A\0! A\0 A\0J!@  F\r@ \bA€j Atj+\0"Díµ ÷ư>c Dé\v!çýÿï?dr\r\0   ¢¢" ¢D\0\0\0\0\0\0ð? ¡"  D\0\0\0\0\0\0\b@¢"¢¢"# ¢   ¢¢"$ ¢    ¢¢"¢   " ¡", ,¢  ¢ # ¢ $ ¢  ¢   " ¡" ¢ Dü©ñÒMbP?c\r\0  +¡" ¢  *¡" ¢ Dü©ñÒMbP?cE\r\v Aj!\f\0\v\0\v \fAj!\f\f\v\v D{®Gázt?c\r\b D\0\0\0\0\0\0à?¢D\0\0\0\0\0\0\0\0 D{®Gáz„?d!A!\f\0\v\0 \n A(lj"D\0\0\0\0\0\0ð? +\0"¡"  D\0\0\0\0\0\0\b@¢"¢¢" ¢9   ¢9    ¢¢"¢9  ! ¢9\b Aj!\f\v\0\v\0 \n A(lj"\t \t+\0 +\0£9\0 Aj!\f\v\0\v\0 \n A(lj   Atj"Ak+\0 +\0¡ A\bk+\0 +\b¡@ "9\0 Aj!\f\v\0\v\0\vA¦—AнAç\0Aú—\0\0\v AG\rAí\n(\0Aj«A\0H\rAí\n(\0!A”í\n(\0!\0A!@ AF\r \0 Atj" \bA@k Atj"+\x009\0  +\b9\b Aj! Aj!\f\0\v\0\vA\0!\vAí\n 6\0\v \n\f\v  DUUUUUUÕ?¢¡!  DUUUUUUÕ?¢¡!  DUUUUUUÕ?¢ !  !DUUUUUUÕ?¢ !A!A  ALAk!\tD\0\0\0\0\0\0ð¿!A!@  \tF@@ \n  Atj"+\0" Ak+\0¡" ¢ +\b" A\bk+\0¡" ¢ "Díµ ÷ư>d|  Ÿ"£!  £ \v  Aj"\nAtj"\t+\0 ¡" ¢ \t+\b ¡" ¢ "Díµ ÷ư>d|  Ÿ"£!  £ \v " ¢   " ¢ "Díµ ÷ư>d@  Ÿ"£!  £!\v \b 9H \b 9@ \b )\x0070 \b )\b78 \b 9 \b 9( \0   \n \bA0j \bA jªA\0N\r\0A!\v\f\v  Atj"\v+\0 \n A(lj+\0"  ¢¢" ¢D\0\0\0\0\0\0ð? ¡"  D\0\0\0\0\0\0\b@¢"¢¢" ¢   ¢¢" ¢    ¢¢"¢   ¡ \v+\b  ¢  ¢  ¢  ¢   ¡@"   d"\v!   \v! Aj!\f\v\v \b \b)H7 \b \b)@7 \b )\x007\0 \b )\b7\b \0    k \bAj \bª!\v\v \bA€j$\0 \v\v<A˜í\n(\0 \0I@A”í\nA”í\n(\0 \0Atb"6\0 E@A\vA˜í\n \x006\0\vA\0\vï|#\0A k"\b$\0 ("\nA\0N@ +\0" ¢ +\b" ¢ "Díµ ÷ư>d@  Ÿ"£!  £!\v (\0!  9\b  9\0 +" ¢ +" ¢ "Díµ ÷ư>d@  Ÿ"£!  £!\v  9  9Aí\nA\x006\0AA«A\0H\r\0Aí\nAí\n(\0"\tAj6\0A”í\n(\0 \tAtj"\t )\b7\b \t )\x007\0 \b )\b7 \b )\x007 \b Aj)\b7\b \b )7\0A \0   \n \bAj \bªAF\r\0 Aí\n(\x006 A”í\n(\x006\0A\0\v \bA j$\0\vA³ÌAнAÍ\0AŒ˜\0\0\vå|@@@ \0+"™DH¯¼šò×z>c@ \0+"™DH¯¼šò×z>c@ \0+\0! \0+\b"™DH¯¼šò×z>cE\rAA\0 ™DH¯¼šò×z>c\v \0+\b   £" ¢ \0+\0 £¡"D\0\0\0\0\0\0\0\0c\r D\0\0\0\0\0\0\0\0d@  Ÿ ¡"9\0  D\0\0\0\0\0\0\0À¢ ¡9\bA\v  š9\0\f\v \0+\0 £ \0+ D\0\0\0\0\0\0\b@¢£"    ¢"¢  \0+\b £"¢¡ " ¢" D\0\0\0\0\0\0\b@£ ¡"  D\0\0\0\0\0\0@¢¢¢ "D\0\0\0\0\0\0\0\0c@  ¡ŸD\0\0\0\0\0\0à?¢©!  šŸ š†"D\0\0\0\0\0\0\b@£D   "¢9\0  D-DTû!\t@ D-DTû!\t@ D\0\0\0\0\0\0\b@£D ¢9\b D-DTû!\tÀ D-DTû!\tÀ D\0\0\0\0\0\0\b@£D ¢!A\f\v  Ÿ ¡D\0\0\0\0\0\0à?¢"© š ¡© "9\0A D\0\0\0\0\0\0\0\0d\r  D\0\0\0\0\0\0à¿¢"9A\b\v j 9\0A\v!A\0!\0@ \0 F\r  \0Atj"\b \b+\0 ¡9\0 \0Aj!\0\f\0\v\0\v  š £9\0\vA!\v \vz#\0Ak"$\0@ \0AŒí\n(\0M\r\0Aˆí\n(\0 \0Atb"E@ Aª*6\b A¹6 Aܸ6\0Aˆ÷\b(\0Aä A!\f\vAŒí\n \x006\0Aˆí\n 6\0\v Aj$\0 \v\r\0 \0(\b \0\v‰|#\0Ak"$\0 (! (\0! \0AãÉA\0A\0!@  G@ @ \0AŠ¡A\0\v  Alj"+\0!  +\b9\b  9\0 \0A†É  Aj!\f\v\v \0AÀÎA\0 Aj$\0\v\v\0 \0A­\v®@@ \0@ \0-\0\fAF@  \0)T\r\v  \0)V\r §! \0(\0"@A \0(\bt!\v Ak!@A\0!\0  F\r@@   j qAtj(\0"Aj\0\v "\0()\b Q\r\v Aj!\f\0\v\0\vAüÕAؾAäA¿¥\0\0\vA\0!\0\v \0\v1#\0Ak"$\0 A\x006\b A\x006\f  A\bjAº \0à Aj$\0\v%#\0Ak"$\0  6\0 \0Aσ  Aj$\0\v\r\0 \0 A”‡ü\vˆ|#\0A k"$\0@  F@ @ +\0!  +\b9\b  9\0 \0A”‡ \v \0Aî€ A j$\0  Atj"+\0!  +\b9  9 \0A”‡ Aj Aj!\f\v\v\v±#\0A@j"$\0@ -\0"AÿF@ -\0\0! -\0!  -\06  6\f  6\b A6  6\0 \0A›È s\f\v -\0\0! -\0! -\0!  64  60  6,  6( A\t6$  6 \0AÈ A js\v A@k$\0\v\0 \0((\fAt(ðÀ\b  ·\v{#\0A k"$\0 \0((\f  6  6At(ðÀ\b"A±È AjsA\0!\0@ \0 F@ A j$\0   \0Atj")\b7\b  )\x007\0  š \0Aj!\0\f\v\v\vŠ|#\0Ak"$\0@@AÐÓ\n(\0/(A\rM@ \0™\f\v \0("(ˆ·D-DTû!\t@¢D\0\0\0\0\0€f@£! B\x007H B\x007@@ AF@  Að\0j  Aâ A@k"AÛ\0o  )x7  )p7  Ajš  )ˆ7\b  )€7\0  š\f\v  Að\0j D\0\0\0\0\0\0\0\0Aâ +p!\b +ˆ!\t| (ˆE@ \tD\0\0\0\0\0\0Ð?¢!\n +x"\v!\f \b\f\v \tD\0\0\0\0\0\0Ð?¢"\n K¢ +x"\v !\f \n D¢ \b \v!  \f9h  9`  \v9X  \b9P A@k"A(o  )h78  )`70  A0jš  \næ  )X7(  )P7  A jš  \tæ\v A@k"AÈÍÊ A8j! A@k"| +"D\0\0\0\0\0\0\0\0d@   ˜ +\f\v A@kD\0\0\0\0\0\0\0\0 ˜D\0\0\0\0\0\0ð?\v Aà\0j˜@ #E\r\0 &@ -\0O"E\r  Ak:\0O\f\v  (DAk6D\v A@k"AÝ\0A) AFo \0AðË §ï N\v Aj$\0\vAäAòü\0AŠA“Ú\0\0\0\v„#\0Ak"$\0@@@ \0 j-\0\0"@ À"A0kA\tK\r Aÿÿq" AsAñrAÿÿqA\nnM\r  \x006\0AÙþ\0 (\v Aj$\0 Aÿÿq\v  A\nljAÐÿj!\v Aj!\f\0\v\0\v\f\0 \0A\0A\0¿\v–|#\0Aà\0k"$\0 B\x007X B\x007P \0("+!\t +!\v +(!\n A@k + 9\0   \n¡ \nAØË\n-\0\0"9H  \v90   \t¡ \t 98 AÐ\0j"\bA›ƒ A0jn \0  \bŸa@ \0((\f"E\r\0 (\0-\0\0E\r\0 +@!\t  +89   \t¡ \tAØË\n-\0\09( \bA¥ƒ A jn \0  \bŸa \0((\f"+ !\t  +D\0\0\0\0\0\0R@£9 \bAç† Ajn \0  \bŸa  \tD\0\0\0\0\0\0R@£9\0 \bAç† n \0  \bŸa\vA!@  \0("\b(´JE@ \b(¸ Atj(\0     ½ Aj!\f\v\v AÐ\0jN Aà\0j$\0\vÈ|#\0A k"$\0 (0E@ +!\b +!\t +(! \0("+!  +"\n +  9     "¡ AØË\n-\0\0"9  \t \n 9\0   \b  "¡  9\b AîÉ n\vA\0!@  (0NE@ \0 (8 Atj(\0  ¾ Aj!\f\v\v A j$\0\v¦|#\0A€k"$\0 \0(/²AžAØË\n-\0\0AF@ \0("+( + "D\0\0\0\0\0\0R@£!\v B\x007ø B\x007ð \0AA±+w \0AA­(wAôË\n \0AAÊø\0w6\0AðË\n \0AA¨!w6\0 \0AA±+w \0(-\0q"Aq@ \0AAÄÚ\0w \0(-\0q!\v Aq@ \0AAßÚ\0w \0(-\0q!\v A q@ \0AAÄÚ\0w \0(-\0q!\v Aq@ \0AAÚÚ\0w \0(-\0q!\v Aq \0AAÒÚ\0w \0(-\0q \vA\bq@ \0A\0AßÚ\0w!\f \0A\0A¼ø\0w!\r \0A\0A§!w!\n\v \0A\0AÜÀw! \0!AI!@@@ @  ("+"¡ AØË\n-\0\0! +!@ E@  (”+D\0\0\0\0\0\0R@¢9Ð  9È  9À AðjA ƒ AÀjnA!@  \0(/²O\r  ((” Atj+\0D\0\0\0\0\0\0R@¢9\0 AðjA©ƒ n Aj!\f\0\v\0\v  9è  9à AðjA¥ƒ Aàjn\v A±+ Aðj"ŸÁ  (+PD\0\0\0\0\0\0R@£9° A´ƒ A°jn AðË\n(\0 Ÿa  ("+X +` D\0\0\0\0\0\0R@£9  A´ƒ A jn AôË\n(\0 Ÿa@ ("(|"E\r\0 -\0QAG\r\0 +@!  +89   ¡ AØË\n-\0\09˜ A¥ƒ Ajn AÄÚ\0 ŸÁ (!\v (\b(\0AŸ£GE@  (\f Aðj" ¾@ #E\r\0 &@ -\0ÿ"E\r  Ak:\0ÿ\f\v  (ôAk6ô\v A­( AðjŸÁ\f\vAÔÌ\n(\0E\r ((\b" ((\0A˜¿ D\0\0\0\0\0\0Ð?c"\0¢DÇig÷‚¿D#›P-Ǥ? \0 ¢D*kå-p\\¿D>Â{X¹‘¿ \0  DäWbT\bšu?D-|}­KÆ? \0 £!\r  Då©XF4˱¿D x„‰õü? \0¢D\0ÉÏ¡g¦¿Di5$î±ô‘¿ \0 ¢D\\µÆûÌ´ˆ?D¸Í3z^¿j? \0  DM¤T:³?D’>­¢?4Í¿ \0 £!  DúDž$]3пD»´†÷Áž“? \0¢Dð™6-Â^?D¨{SG} ¿ \0 ¢D\rœ}/ϔ—?D!+®àm”‹? \0  D‰µø\0ã‰?D3s܄Öµ¿ \0 £!  D–~TÃÄ¿D­ ¼,ܐ? \0¢D¥I)èöâ#@D(,ñ€²É#@ \0 ¢D©Ù­ÀÁ?D#ZáLŠ·? \0  D\bĐA“i‰?DH£eQ–)? \0 £!  DÌ΢w*ä¿D¶;P§<®? \0¢DÑ­×ô  È?DQLÞ\x003ß¹¿ \0 ¢Djß7°?„?Dõv•ÿÚ\v¦? \0  D¾Ê^ÿ„?DÔ¥5¼ö”? \0 £!  D°ã¿@ í¿DM.ÆÀ:ŽÍ? \0¢D­¡Ô^DÛØ?DYk(µÑÜ¿ \0 ¢D;¡|æQ–v?D?ªa¿\'Ì? \0  DÓnpùz„{?D¦GS=™Ú? \0 £!  DŸåypwÖù¿DÚÿ\0kÕ®Á? \0¢D~ý,œæ?DN(DÀ!T÷¿ \0 ¢D–ìØ\bÄëÌ?DªH…±… õ? \0  DÍ΢w*àÐ?DhW!å\'ö? \0 £!  DQ OäIÒ@DÑñ‡Ur·? \0¢D´Èv¾Ÿ:5ÀD•Ô\th"<3À \0 ¢D:"ߥÔ%Õ¿Dd#¯ëwÀ \0  Dó‚>Gš.Š?D§!ªðgxÇ? \0 £!   Dü©ñÒMbP?¢DìQ¸…ë@ ¢DåÐ"Ûù~Ê?  DS–!Žuq{? £¢!A!@ \n ¸£!\b@ Aq AÿKrE@A!\0A\0! !A\0! \bD-DTû!ù?eE\r@ \0AqE@ \0!\f\v \0!  M\r  \b  " D\0\0\0\0\0\0à?¢"D\0\0\0\0\0\0@¢D!   D!\t  D\0\0\0\0\0\0@¢D" \r¢  ¢ \t ¢      ¡¢  ¢  ¢ \t ¢     ‚\n¢Dñh㈵øä>e!\0 Aj! !\f\0\v\0\v B\x007( B\x007 B\x007  \f90  \v98 Aj"A$!\0 ( \0Atj"\0 )87\b \0 )07\0 K!   D"\r¢ \f "  ¢ \v "ì \bD\0\0\0\0\0\0à?¢æ\t! \bK  D\0\0\0\0\0\0\b@¢¢D\0\0\0\0\0\0@ ŸD\0\0\0\0\0\0ð¿ ¢D\0\0\0\0\0\0\b@£"\tš!\n  \r¢!  š¢!A\0!\0@ \0 FE@ Aj \t ¢   \t ¢   \n  \b  "K"š¢"¢ \f  D"¢ "  \n  ¢"¢ \v  ¢ "   ë \0Aj!\0\f\v\v  )7\b  ) 7 Aj" ( A\bjA\0Atj"\0+\0 \0+\bì   AjA« A@k$\0 \v At!\f\0\v\0\v A\b6\0Aˆ÷\b(\0A§ê .\0\vR \0@ \0!@  F@ \0 (\0@ (\b"E\r\0 (\f"E\r\0  \0\v Aj! A8j!\f\v\v\v\vÎ#\0AÐ\0k"$\0AÖÒ!A£Ï!\nA³Ù!\vA¿Û!A”Ò!AæÙ!\bAñ€!\fAñ€!\tA!@@@@@ á\0\v  !\b ((\f"E\r (\0!\f\v + !\b  ! ((x"E\r (\0!\f\v  A0j" (\0AqAF((+6 !\b   (\0AqAF(( !\n ((4"\f@ \f-\0\0A\0G!\v A(Ax (\0AqAFj(\0 !\v ("(\\"\t@ \t-\0\0A\0G!\v (`" (\0AÖÒ\v!AÃáA†¡   (\0AqAF((+6Ò!A\0!\f\v\v B\x007H B\x007@@ \0Aj!@@ \0-\0\0"AÜ\0G@ E\r\f\v ,\0\0"Aÿq"\rE\r \0Aj!\0@@@@@@@@ \rAÅ\0k\n\0\v \rAÔ\0F\r E \rAÜ\0Gr\r A@kAÜ\0Ë\f\t\v A@k \bö\f\b\v A@k ö\f\v \r A@k" \nö @  \f60 AÃ3 A0j„\v  \v6$  6 A@k"AÝ2 A j„ E\r  \t6 AÃ3 Aj„\f\v A@k \nö\f\v A@k \vö\f\v A@k ö\f\v  6\0 A@kAþ¿ „\f\v A@k… AÐ\0j$\0\v A@k ÀË !\0\f\0\v\0\vÔ#\0Ak"$\0 B\x007 B\x007 (\0"-\0\0"@ B\x007\b B\x007\0@@ E\r\0@ Aß\0jAÿqAÝ\0K\r\0 (\fAG\r\0  ÀË  ,\0"Ë E\r Aj\f\v Aj!@@ A\nG@ AÜ\0G\r@ -\0\0"Aì\0k"AKA tAÅ\0qErE@ \0  … ,\0\0¹\f\v  ÀË\v Aj  -\0\f\v \0  …Aî\0¹\f\v  ÀË\v \v"-\0\0!\f\v\v #@ \0  …Aî\0¹\v -\0AÿF@ (\0\v  ) 70  )7(\v Aj$\0\vó\t\f|#\0Að\0k"$\0 B\x0070 B\x007( B\x007 B\x007 (!D\0\0\0\0\0\0ð¿!\r@@  F\r\0 (\0 Atj"(AK\r\0@@ (\0("@ -\0Aÿ\0q\r +"\fD\0\0\0\0\0\0\0\0dE@ + !\f\v  \f9( (\0"E\r\f\v  + "\f9(\v (!\v  6@ E@ \f!\r\f\v \f \rb\r\v@ E@ !\f\v  G\r\v Aj!\f\v\v   M"\v:\0\bD\0\0\0\0\0\0\0\0!\r@  \bME@ (\0!A\0!D\0\0\0\0\0\0\0\0!\f \bAt!\tD\0\0\0\0\0\0\0\0!D\0\0\0\0\0\0\0\0!D\0\0\0\0\0\0\0\0!D\0\0\0\0\0\0\0\0!\r|@  \tj"( M@@  9 \vE\r\0 ! \r"\f    \b\f\v  A8l" (\0j(\0 (0q68@ (\0 \tj"(\0 j("@  (Aÿ\0q"\n \n ((Aÿ\0q\v (0A€qr60  (\0 j("+"D\0\0\0\0\0\0\0\0d|  + \v9(  (\0"\n \n (\v6 ("@  6\f\v  (6\f\v  + 9(  (6  (6  (0A€q ((Aÿ\0qr60\v  \0(ˆ" AjA (\0\x006< A\bj \0 A8jò +! +\b! (\0 \tj(\0 j(\0 (8! (\0" \tj(\0 j" 9  6\0  +H"9  +P"9  (<6  (@6\b  (D6\f  \r \r c!\r    c!    c! +(" \f \f c!\f Aj!   !\f\v\v \f ¡ \bE\r\0 !  \f  ¡ ¡\v!  9    d! \bAj!\b  \f !  + ! (!\f\v\v  9  \r  AF9( Að\0j$\0\v²\b|#\0A@j"$\0 \0(T!\t@ \0(P"E\r\0 ("E\r\0 \0(\r\0 \0 X6\v \0/$! +\0! +!\r \0+@!\v +" +\b"¡ \0+H"¡D\0\0\0\0\0\0\0\0"!\f \r ¡ \v¡D\0\0\0\0\0\0\0\0"!\v@ AqE\r\0 \vD\0\0\0\0\0\0\0\0d@@@@@ AqAk\0\v    9\f\v   \v "9\0  \r \v 9\f\v  \r \vD\0\0\0\0\0\0à?¢"\v¡9   \v "9\0\vD\0\0\0\0\0\0\0\0!\v\v \fD\0\0\0\0\0\0\0\0dE\r\0 |@ Aq"A\bG@ AG\r   \f\v   \f "\f9\b  \f \f\v   \fD\0\0\0\0\0\0à?¢"\f 9\b  \f¡\v"9D\0\0\0\0\0\0\0\0!\f\v \v \v \0(|"¸"\v£"\r \v¢¡"\vD\0\0\0\0\0\0à?D\0\0\0\0\0\0à¿ \vD\0\0\0\0\0\0\0\0f ü! Aj!  \0-\0!¸"  \0,\0 ·" !\v \0(t!A\0!@  F@ \f \f \0(x"¸"\f£"\r \f¢¡"\fD\0\0\0\0\0\0à?D\0\0\0\0\0\0à¿ \fD\0\0\0\0\0\0\0\0f ü! Aj!  ¡ ¡!\v \0(p!A\0!@  F@@ \t(\0"@ /V! /T! E@ /R!\b /P!\nA\0\f\v \0(x /R"\b jFA\0A\b " Ar "Ar  \0(| /P"\n jFr q\v! \0(p Atj" \bAtj+\0 \0,\0 ·! \0(t Atj" \nAtj+\0!\r +\0! +\0!\f@ (\r\0 (`("E\r\0  X6\v  !\v \r ¡!@ /$"AqE\r\0 +H!@  \f¡ +@"¡"\rD\0\0\0\0\0\0\0\0dE\r\0@@@ AqAk\0\v \f  !\f\v \f \r !\f  \r !\f\v  \rD\0\0\0\0\0\0à?¢"\r¡! \f \r !\f\v  \v¡ ¡"\rD\0\0\0\0\0\0\0\0dE\r\0@ Aq"A\bG@ AG\r \v  !\f\v \v \r !\v  \r !\f\v  \rD\0\0\0\0\0\0à?¢"\r¡! \v \r !\v\v \tAj!\t  9H  9@  \v98  \f90  :\0#   -\0!¸"\r¡ -\0"¸"¡"98   \r¡ ¡"90  \v \r   "\v9(  \f \r   "\f9 (X!@@@ (\\Ak\0\v  )87  )07  )(7\b  ) 7\0   ò\f\v +!@  \f¡ +¡"\rD\0\0\0\0\0\0\0\0dE\r\0@@ AqAk\0\v   \r¡90\f\v  \f \r 9 \v@  \v¡ ¡"\fD\0\0\0\0\0\0\0\0dE\r\0 Aq"A\bG@ AG\r   \f¡98\f\v  \v \f 9(\v  )87  )07  )(7\b  ) 7\0\f\v +(!@  \f¡ + ¡"\rD\0\0\0\0\0\0\0\0dE\r\0@@@@ AqAk\0\v   \r¡90\f\v  \f \r 9 \f\v\0\v   \rD\0\0\0\0\0\0à?¢"¡90  \f  9 \v@  \v¡ ¡"\fD\0\0\0\0\0\0\0\0dE\r\0@ Aq"A\bG@ AG\r   \f¡98\f\v  \v \f 9(\f\v   \fD\0\0\0\0\0\0à?¢"¡98  \v  9(\v  )87(  )07  )(7  ) 7Aì\0Aò\0Aî\0 /$A€q"A€F A€F! (X"(!A\0!@  F\r (\0 Atj"\b-\0\bE@ \b :\0\b\v Aj!\f\0\v\0\v\v \0 :\0# \0 )\x0070 \0 )\b78 \0 )7@ \0 )7H A@k$\0  Atj"\b+\0!\f \b \v9\0 \v \r \f   H A\0Nq¸   ¡!\v Aj!\f\v\v  Atj"\b+\0! \b \v9\0 \v \r    H A\0Nq¸    !\v Aj!\f\v\v\vÎ|~#\0Að\0k"$\0 (€"@  AÐÏ\nû\v  6P  )d7`  )\\7X  )T7Pø! A€€6L A€À\0A6HA\0!@ (X" Aÿÿq"\tM@  AjA"6T@ \vAÿÿq"\t O@  \f6|  \r6xA\0!@  ME@  )X7@  )P78 A8j !\0@@@ (`"\0\v (P \0Atj(\0\f\v (P \0Atj(\0 \0\v Aj! (X!\f\v\v AÐ\0j"\0A- \02 (LA!O@ (H\v   /$"\0A€qE@ A:\0 \v \0A qE@ A:\0!\v (tE@  (|AjA\b"\t6t (T"!@ (\0"\0E@ !@ (\0"@@ /P"\0AF\r\0 (| /T"\b \0jO@ +@! \t \bAtj!\bD\0\0\0\0\0\0\0\0!A\0!@ \0 F@  ,\0 \0Akl·"  cE\r  ¡ ¡ \0¸£!A\0!@ \0 F\r \b Atj"  +\0 9\0 Aj!\f\0\v\0  \b Atj+\0 ! Aj!\f\v\0\v\0\vAƒÀA ¾A‰\nAò-\0\0\v Aj!\f@@ (\0"\0@ (| \0/P" \0/T"jI\r \t Atj!\bA\0!D\0\0\0\0\0\0\0\0!@  F@ \0 \0+@  ,\0 Akl· "9@ Aj!\f  \b Atj+\0 ! Aj!\f\v\0\v\0\v\v (pE@  (xAjA\b"\t6p (T"!@ (\0"\0E@ !@ (\0"@@ /R"\0AF\r\0 (x /V"\b \0jO@ +H! \t \bAtj!\bD\0\0\0\0\0\0\0\0!A\0!@ \0 F@  ,\0 \0Akl·"  cE\r  ¡ ¡ \0¸£!A\0!@ \0 F\r \b Atj"  +\0 9\0 Aj!\f\0\v\0  \b Atj+\0 ! Aj!\f\v\0\v\0\vA;A ¾AÇ\nAœ(\0\0\v Aj!\f@@ (\0"\0@ (x \0/R" \0/V"jI\r \t Atj!\bA\0!D\0\0\0\0\0\0\0\0!@  F@ \0 \0+H  ,\0 Akl· "9H Aj!\f  \b Atj+\0 ! Aj!\f\v\0\v\0\v\v (|"¸D\0\0\0\0\0\0ð?  ,\0 ·"¢ -\0!At¸" ! (x!\0A\0!@  F@ \0¸D\0\0\0\0\0\0ð?  ¢  !A\0!@ \0 F@@ -\0$AqE\r\0AÙã!@ /&"\0E\r\0 /("E\r\0  \0¸dD\0\0\0\0\0\0\0\0!A±â!@D\0\0\0\0\0\0\0\0!\f\v  ¸dD\0\0\0\0\0\0\0\0!E\r\v A\0(A!\v   /&¸"9@   /(¸"9H (€@ AÐÏ\n÷\v Að\0j$\0   \t Atj+\0 ! Aj!\f\v\0\v\0  (t Atj+\0 ! Aj!\f\v\0\v\0\vAò½A ¾AÛ\nAœ(\0\0\v\0\v\0\v@ \0/RAM@ \0/V" (xO\r \t Atj" +\0 \0+H"9\0\v Aj!\f\v\vA›·A ¾Aº\nAœ(\0\0\vAØÁA ¾A²\nAœ(\0\0\vA¦¿A ¾A \nAò-\0\0\v\0\v\0\v@ \0/PAM@ \0/T" (|O\r \t Atj" +\0 \0+@"9\0\v Aj!\f\v\vAηA ¾Aø\tAò-\0\0\vA‘ÂA ¾Aë\tAò-\0\0\v  )P7(  )X70 \t¸! (P A(j \tAtj(\0!A\0!A\0!@ (\b M@ \vAj!\v (X!\f\v (\0!  )\b7  )\x007   Aj Atj(\0"6\0  6` /$"AÀ\0qE@A!  -\0$AÀ\0q -\0"A\v:\0"\v A qE@@ ,\0l"A\0N\r\0A! -\0$A qE\r\0 -\0!!\v  :\0!\v@@@ (\\Ak\0\vAÀ\0! \0 (X  ó!\nAÈ\0\f\v Aè\0j (4 (X"( Þ| (h" (l"\bqAF@  ( 6AÞú Aj4A!\nD\0\0\0\0\0\0\0\0!D\0\0\0\0\0\0\0\0\f\v (4(A:\0r ·!A\0!\n \b·\v! B\x007\b B\x007\0  9  9A!A\f\v \0(( (X ñA\0!\nA !A(\v (X"j+\0 -\0! -\0"jAt¸" !  j+\0  !@ -\0$Aq@A§ã!@ /&"E\r\0 /("\bE\r\0@  ¸d\r\0D\0\0\0\0\0\0\0\0!  \b¸d\r\0D\0\0\0\0\0\0\0\0!\f\vAâ!D\0\0\0\0\0\0\0\0!D\0\0\0\0\0\0\0\0! (\\AF\r\v A\0(A!\n\v\v Aj!   /&¸"  d9@   /(¸"  d9H Aÿÿq! /PAk!@  j!\bA\0!@@ \b! Aq@ !\f\v@  H@A!\f\v  · »E@ Ak!\f\v\v\v Aj!\f\v\v@@  /Pj" J@ ·! \t!@  /R \tjO\r   ¸… Aj!\f\0\v\0\v@ A€€I@  ;T  \v;V /R  )H"7h \tj" B ˆ§O\r Aÿÿq" \fK!\b Av Aè\0j § B€€€€Tj-\0\0 AqvAq@  -\0dAr:\0d\v \n r!  \f \b!\f  \r  \rK!\r Aj!\f\vAúÎA ¾Aœ\tAôí\0\0\0\vA™³AÁû\0AÂ\0AŽ#\0\0\v Aj!\f\0\v\0\v\0\v\0\v  )P7\0  )X7\b (P  \tAtj(\0"(\b!\b@ -\0AF@ \tAj" (L"\tO\r Av AÈ\0j (H \tA!Ij"\t \t-\0\0A Aqtr:\0\0\v  \bj! Aj!\f\v\vAç²AÁû\0AÑ\0A„"\0\0\v3@ \0A7%"@ -\0\0\r\v \0A²7%"@ -\0\0\r\vA\0!\v \vs@ \0("@  ,E\r\v \0(T!@ (\0"E@A\0\v@ ("\0E\r\0 \0 ,\r\0 \vA\0!\0 Aj! (\\AF@ (X õ!\0\v \0E\r\0\v\v \0\v“@ \0E\r\0 \0(\0!@ \0( M@  \0\f\v  Atj"(\0!A\0!@ ( M@  Aj!\f  A8lj"(\0@ (\b"E\r\0 (\f"E\r\0  \0\v Aj!\f\v\0\v\0\v\0\v\vC| (\0"@ \0 6\v ("@ \0 6\v +"D\0\0\0\0\0\0\0\0f@ \0 9 \v\vÚ\b|~#\0A k"$\0 \0 ("A×õ\0 B@ -\0*"Aq"@ A\x006, AÓ®Aµ¨ AqA\0 6( \0 A(j½\f\v \0 \0(\0(Ƚ\v \0 -\0!¸×@ -\0*Aq@ -\0!!  )\b78  )\0"\n70  )"\v7P  )7X \n¿! \v¿!\b@ AM@ +X! +8!\t\f\v  ¸D\0\0\0\0\0\0à?¢"  "90   +8 "\t98  \b ¡"\b9P  +X ¡"9X\v  9h  9`  \t9H  \b9@ A6$ A6 \0 A0jA A jA\0Ï\f\v /$A€ø\0q"@ -\0!!  )\b7H  )\0"\n7@  )"\v7`  )7h \n¿! \v¿!\b@ AM@ +h! +H!\t\f\v  ¸D\0\0\0\0\0\0à?¢"  "9@   +H "\t9H  \b ¡"\b9`  +h ¡"9h\v Aà\0j! A@k!  9x  9p  \t9X  \b9P AÐ\0j!@@@@@@@@@@@@@@ A€\bkA\nv\r\t\0\f\n\v\b\v \0 A8\f\v \0 A8\f\r\v \0 A8\f\f\v  )x78  )p70 \0 A0jA8\f\v\v \0 A8\f\n\v \0 A8\f\t\v  )\b7ˆ  )\x007€ \0 A8\f\b\v  )x78  )p70 \0 A0jA8\f\v \0 A8\f\v  )\b7ˆ  )\x007€ \0 A8\f\v  )\x007€  )\b7ˆ  )\x007  )\b7˜ \0 A8\f\v  )x78  )p70 \0 A0jA8\f\v \0 A8 \0 A8\f\v  )x78  )p70 \0 A0jA8 \0 A8\f\v -\0!"AO@  ¸D\0\0\0\0\0\0à?¢" +\0 9\0   +\b 9\b  + ¡9  + ¡9\v  )7  )7  )\b7\b  )\x007\0 \0 A\0Ø\v A j$\0\vg#\0Ak"$\0   A\bj²@ \0 (\0O \0 ("A×õ\0   +\bÇAA -\0\0Aq\f\v \0 OA\v \0AàB Aj$\0\vX @ \0   \0\v \0k!@ @   \0\0"@      ú\v j!\f\v\v E@ \0   \0\v\v¬|@ \0("E\r\0 (\0@  6\0 \0 (\x006\f\v A\x006\0\v@ \0("E\r\0 (@  6 \0 (6\f\v A\x006\v \0+ "D\0\0\0\0\0\0\0\0f@ +D\0\0\0\0\0\0\0\0f@  9 \0 +9 \v B€€€€€€€ø¿7\v\v¥\f\b|#\0A€k"$\0 ("\f@ + ! (! (!\n -\0\b!\r (\0! +\0! +! + ! +\b +! +(! B\x007 \0AÕ   D\0\0\0\0\0\0à?¢   ¡D\0\0\0\0\0\0à?¢ !  ¡D\0\0\0\0\0\0à?¢"    D\0\0\0\0\0\0à?¢ " !  ¡!@  \fG@|   Atj"-\0\b"Aì\0F\r\0 Aò\0F@  +¡\f\v  +D\0\0\0\0\0\0à¿¢ \v!   +¡"9 (\0!A\0!\b@ ( \bM@ Aj!\f @ ("E@  6,  \n6(  98 (@!\t !\v\f\v  +"  D\0\0\0\0\0\0\0\0d98  (\0" \n 6(  ("  "\v6, (@!\t (Aÿ\0q"E\r\0 \tA€q r\f\v \tA€q\v6@ \0 \vB  (\x006H  A(j6L  +9X  \r| +D\0\0\0\0\0\0ð?\v9`  ((\b60  (\b6P  + 9h +! Aì\0:\0x  9p  9  9\b  ) 7 \0 A\bj AÈ\0j¨ \bAj!\b  +  ! A8j!\f\v\0\v\0\v\v \0Ô\v A€j$\0\vð\n\b|~#\0AÀk"$\0  )H7à  )@7Ø  )87Ð  )07ÈA!\n@ (\0\r\0 (\b\r\0 (\fA\0G!\n\v +\0!\r +\b! (T! (€"@  A¨Ï\nû\v  \r +È 9È  \r +Ø 9Ø   +Р9Ð   +à 9àA!\v@ \nE\r\0 \0-\0˜Aq\r\0  )à7Ð  )Ø7È  )Ð7À  )È7¸ \0   A¸j A¤jˆE!\v\v@@@ -\0*Aq\r\0 ("@ B\x007à (!\b  -\0*:\0· \0  \b A·j Aàjù!@ -\0*Aq@ -\0!!\b  )Ð7è  )È"7à  )Ø"7€  )à7ˆ ¿! ¿!\r@ \bAM@ +ˆ! +è!\f\v  \b¸D\0\0\0\0\0\0à?¢"  "9à   +è "9è  \r ¡"\r9€  +ˆ ¡"9ˆ\v  9˜  9  9ø  \r9ð A6Ü A6° \0 AàjA A°j Ï\f\v  )à7¨  )Ø7   )Ð7˜  )È7 \0 Aj Ø\v (à (ä\v@ (\0"@  )H7¸  )@7°  )87¨  )07 A!\tA (\0\r\0A (\b\r\0 (\fA\0G\v!\b +\b!\r  +\0" +  9    +° 9°  \r +¨ 9¨  \r +¸ 9¸@ \bE\r\0 \0-\0˜Aq\r\0  )¸7ˆ  )°7€  )¨7ø  ) 7ð \0   Aðj A¼jˆE!\t\v@ -\0*Aq\r\0 ("@ (!  -\0*:\0ï \0   Aïj Aàjù!@ -\0*Aq@ -\0!!  )¨7ø  ) 7ð  )¸7˜  )°7 +ð! +!\r@ AM@ +˜! +ø!\f\v  ¸D\0\0\0\0\0\0à?¢"  "9ð   +ø "9ø  \r ¡"\r9  +˜ ¡"9˜\v  9¨  9   9ˆ  \r9€ A6ì A6è \0 AðjA Aèj Ï\f\v  )¸7à  )°7Ø  )¨7Ð  ) 7È \0 AÈj Ø\v (à\v -\0!@  )¸7À  )°7¸  )¨7°  ) 7¨ \0  A¨jø\v (X!@@@ (\\Ak\0\v \0  ý\f\v +! +! +\0!\r +\0!  +\b +\b" "9ˆ   \r "9€    "9è   \r "\r9à  9˜  \r9  9ø  9ð ($"E@ (8!\v ( "E\r -\0\0E\r \0  AàjAA AÌ´Ò\f\v \0  ü\v \tE@ \0 A¼j‡\v@ \bE\r\0 \0-\0˜AqE\r\0  )¸7   )°7˜  )¨7  ) 7ˆ \0   Aˆj A¼j"ˆE\r\0 \0 ‡\v Aj!\f\v\v (T!\b \0D\0\0\0\0\0\0ð?×@ \b(\0"@ \bAj!\b -\0dAqE\r \b(\0!\t +\0! +\b!\r \0 ("A×õ\0 "O \0 B \r +8 !  +@ ! +0!@ -\0d"AqE\r\0 (`"(| /P /TjM\r\0 \r +H !@ /V"E@  ,\0 "AmÀ"·"¡!\r  -\0!j·!\f\v (x /R jF@  ,\0 "AmÀ"·"¡  -\0!j·"¡!\r\f\v  ,\0 "AmÀ·"¡!\rD\0\0\0\0\0\0\0\0!\v  \r9è  \r9p    "9ð  9à  9h  9x  \r    ¡ ·  "\r9ø  \r9€ \0 Aè\0jAØ -\0d!\v AqE\r (`"(x /V" /RjM\r   !@ /T"E@  ,\0 "AmÀ"\f -\0!j·"¡ \f·"\r¡! (| /PF@   !\f\v \tE\r \t/V F\r  +@   \r ¡  !\f\v (| /P jF@  ,\0 "AmÀ"·"\r¡!  -\0!j·!\f\v  ,\0 "AmÀ·"\r¡!D\0\0\0\0\0\0\0\0! \tE\r\0 \t/V F\r\0  +@   \r ¡D\0\0\0\0\0\0\0\0 !\v  9à  9H   \r¡"\r9è  \r9P  \rD\0\0\0\0\0\0\0\0 "\r9ø  \r9`      ¡ ·  "\r9ð  \r9X \0 AÈ\0jAØ\f\v\v -\0!E\r\0  )à7@  )Ø78  )Ð70  )È7( \0  A(jø\v \vE@ \0 A¤j‡\v@ \nE\r\0 \0-\0˜AqE\r\0  )à7  )Ø7  )Ð7  )È7\b \0   A\bj A¤j"ˆE\r\0 \0 ‡\v (€@ A¨Ï\n÷\v AÀj$\0\vA­³A ¾AëAȁ\0\0\vAÐÉA ¾AìAȁ\0\0\vs|#\0Ak"$\0 \0(Ak"AO@ Aä6 A ¾6\0Aˆ÷\b(\0AØÀ 5\0\v \0(\0"\0 At"(ô¿\bj+\0! \0 (è¿\bj+\0 Aj$\0 ¡\vH \0ƒA! \0–!\0 !@ \0@  \0)7\b  \0)\b7\0 Aj! \0(\0!\0\f\v\v \v4AH" )\b7  )\x007\b \0 A \0(\0\0 G@ \v\v\t\0 \0(\0\vç#\0A0k"$\0 \0AÔ\0j!@ \0(\\" M@A\0!@  ME@  )\b7(  )\x007 A j !@@@ \0(d"\0\v (\0 Atj(\0\f\v (\0 Atj(\0 \0\v Aj! \0(\\!\f\v\v A- 2 \0† \0 A0j$\0\v (\0  )\b7  )\x007 Aj Atj(\0!A\0!@ (\b M@ Aj!\f (\0!  )\b7\b  )\x007\0@@@   Atj(\0"(\\Ak\0\v (X‚\b\f\v (Xö\v †  Aj!\f\v\0\v\0\v\0\v!@ \0-\0\0! \0Aj!\0 A F\r\0\v A\0G\vC\0@ \0&@ \0#AF\r\v \0†\b\v@ \0&@ \0A\0:\0\f\v \0A\x006\v \0& \0 \0(\0\v\v‚\b#\0Að\0k"$\0 \0A\bj!@@@ \0("@ A8!@  \0(O\r (\0!  )\b7h  )\x007`  A8lj  Aà\0j A8lj"A8ü\n\0\0 A\0A8ü\v\0 Aj!\f\0\v\0\vA8H!Añ€…"E\r  6\0 \0(”! \0(œ!  \0)œ7X  \0)”7P   AÐ\0j AkAtj(\x006A!\vA\0!@  \0(O\r  )\b7H  )\x007@ A@k !@@@ \0("\b\0\vAâƒAÂ\0AAˆ÷\b(\075\0\v A\bj"\t (\0 A8ljA8ü\n\0\0 \t \b\0\v Aj!\f\0\v\0\v A6\0Aˆ÷\b(\0A§ê .\0\v A8- \0B\x007\0y \0 :\0x \0 6t \0 6p \0B\x007\0 \0B\x007\0ˆ \0AØ\0jA $! \0(X Atj" \0)ˆ7  \0)€7  \0)x7\b  \0)p7\0 Að\0j$\0\và#\0Ak"$\0@@ \0# \0EO@ \0E"Aj" AtA€\b "  K! \0#!@ \0-\0AÿF@ AF\r \0(\0! E@ A\0!\f\v  b"E\r  M\r  k"E\r  jA\0 ü\v\0\f\v A! @  \0 ü\n\0\0\v \0 6\v \0Aÿ:\0 \0 6\b \0 6\0\v \0#!@ \0&@ \0 jA\0:\0\0 \0 \0-\0Aj:\0 \0#AI\rAã¶Aòü\0A¯AŸ³\0\0\v \0(\0 jA\0:\0\0 \0 \0(Aj6\v Aj$\0\vAÞÀA¤ý\0AÍ\0A˜´\0\0\v  6\0Aˆ÷\b(\0A§ê .\0\vˆ#\0A@j"$\0A0H! \0(@ \0A\0…\b\v  \0(`"6  A "6\0 \0AØ\0j!@ \0(`" M@@A\0!@  O\r  )\b78  )\x0070 A0j !@@@ \0(h"\0\vAâƒAÂ\0AAˆ÷\b(\075\0\v  (\0 Atj")7(  )7  )\b7  )\x007 Aj \0\v Aj! \0(`!\f\0\v\0\v (\0!  )\b7\b  )\x007\0  Atj"   Atj")7  )7  )\b7\b  )\x007\0 B\x007\0 B\x007\b B\x007 B\x007 Aj!\f\v\v A - A@k$\0 \vA\bH" \x006\0  6 \v )\0B\0Y G \0 A\bjGA\vE\vI#\0Ak"$\0 …"E@  9Aj6\0Aˆ÷\b(\0A§ê .\0\v \0 Ê  Aj$\0\v<#\0Ak"$\0 \0A6$ \0AŒ6\b  \0¼6  6\0Aßÿ 4 Aj$\0\v#\0Ak"$\0@  \0(\bOE@  \0)\b7\b  \0)\x007\0  !@@@ \0("\0\v \0(\0 Atj(\0\f\v \0(\0 Atj(\0 \0\v Aj!\f\v\v \0A- \02 \0 Aj$\0\v<~#\0Ak"$\0 \0)4!  \0),B ‰7\b  B ‰7\0Aïé p Aj$\0\v;A!@ \0A \0(œ    \0-\0üEAÀ"E@ \0™\bE\r\v !\v \vº#\0Ak"$\0  (\0"\b6\f \0(œ F@ \0 \b6¨ \0A¨j!\t \0A¬j\f\v \0(´"\tAj\v!\f \t \b6\0 A\x006\0@  (\f"\b6\b \0  \b  A\bj (\b\0"\n (\f (\bA$ ëE@ \0¤A+\f\v \f (\b"\b6\0@@@@@@@@@@@ \nAj\f\n\0\v \nA(G\r@ \0(X"@ \0( \0\f\v \0(\\E\r\0 \0  (\f \bv\v  (\b"6\0  6\0A#A\0 \0(øAF\f\v\v \0(H"\n@ A\n:\0 \0( AjA \n\0\f\v \0(\\E\r \0  (\f \bv\f\v \0(H"\n@ -\0D\r@  \0(86\0  A\fj \b  \0(< (8\b\0 \f (\b6\0 \0( \0(8"\v (\0 \vk \n\0AM\r \t (\f6\0 (\b!\b\f\0\v\0\v \0(\\E\r \0  (\f \bv\f\vA E\r\b  (\f6\0A\0\f\b\vA E\r  (\f6\0A\0\f\v \t \b6\0\f\v \0( (\f"\v \b \vk \n\0\v@@@ \0(øAk\0\v \t (\b"\x006\0  \x006\0A\0\f\v \t (\b6\0A#\f\v \0-\0àE\r\vA\f\v  (\b"\b6\f \t \b6\0\f\v\v \t \b6\0A\v Aj$\0\vQ@ @ \0(t"@ \0( (\0(\0 \0\v (  \0(6 \0 6 (\0 (\b6!\f\v\v\vø~#\0AÐ\0k"\r$\0@@ \0 \0(ü"Aj"\n (\0A\0€"\b\r\0A!\t AÐ\0j! (\0!\b@ (\f" (\bF@A\0 PE\r (\f!\v \b-\0\0!\v  Aj6\f  \v:\0\0 \b-\0\0 \bAj!\b\r\0\v (  (\f6\v"E\r \0 \n A€"\bE\r \0-\0ôE\r\0 \0 \b˜\bE\r\v \b(\f!A!\t   \0(” \0(  ($\0" AÿÿÿÿsJ\r\0@@  j"\v \0(”"\nL\r\0 Aïÿÿÿ kJ AïÿÿÿJr\r \0 \vAj"\v6” \vA€€€€O\r \0 \0(  \vAtA¸ê"\vE\r \0 \v6   \nL\r\0    \v ($\0\vA\0!\v A\0 A\0J! A\0 A\0J! \0A¸j! \0( !A\0!\nA\0!@ \n G@A!\t \0  \nAt" \0( j(\0"   (\0\0 j£\b"E\r (\0Ak"-\0\0@A\b!\t  \0(œG\r \0  \0( j(\x006¨\f\v A:\0\0  Atj (\x006\0 Aj!\f@ \0(  j"-\0\fE@A\0!@ -\0\bE\r\0@  F\r A\fl! Aj!   \b(j"(\0G\r\0\v -\0!\t\v \0  \t ( (\b  ¡\b"\t\r  \fAtj \0(È6\0\f\v  \fAtj   ( (\bu"6\0 E\r\v \0 \0(Ä6È@@ ("@ -\0\t\r (\0AkA:\0\0 \vAj!\v\v Aj!\f\v \0    \fAtj(\0 Ë"\t\r\v \nAj!\n\f\v\v \0 6˜@@ \b(\b"E@A!\f\vA! (\0"Ak-\0\0E\r\0A\0!@  N\r  Atj(\0 F\r Aj!\f\0\v\0\v \0 6œ\vA\0!@  G@@ \b( A\flj"(\0"(\0Ak"-\0\0\r\0 (\b"\tE\r\0@ ("\n@ -\0\tE@ A:\0\0 \vAj!\v\f\v \0 \n  \t Ë"\tE\r\f\v A:\0\0\v  Atj" (\0(\x006\0  (\b6 Aj!\v Aj!\f\v\v  AtjA\x006\0A\0!\n@@@@ \vE\r\0 \0-\0¬"AK\r@@@ \vAt u@ !@ Aÿq! Aj"! \v u\r\0\v \0 :\0¬ Aÿq"AM@A! \0A:\0¬A\b\f\v A O\rA!\t Aÿq"AO\rA t\v! \0 \0(¤A\f tAûê"E\r \0 6¤\f\vA t! \0(¨"\t\r\v \0(¤!A!\t !@ E\r  Ak"A\fljA6\0\f\0\v\0\v \0 \tAk"6¨A\0 k! A(j! Ak"Av! \rA8j!@  \nL\r@  \nAtj"(\0"Ak"-\0\0AF@ \0 \rA\bj”\b \rB\x007H \r 6@ \r \r)\b"BõÊ̓׬۷ó\0…7 \r \r)"BóÊÑ˧ŒÙ²ô\0…70 \r Báä•óÖìÙ¼ì\0…7( \r Bíޑó–ÌÜ·ä\0…7 A\0:\0\0A!\t \0  A\0€"E\r\t ("E\r\t ("E\rA\0!@@ (!  ("\fO\r\0  j-\0\0!\f \0(Ä" \0(ÀF@ PE\r\f \0(Ä!\v \0 Aj6Ä  \f:\0\0 Aj!\f\v\v \rAj  \f¿@ "Aj! -\0\0A:G\r\0\v  “\b¿@ \0(Ä" \0(ÀF@ PE\r\v \0(Ä!\v -\0\0!\f \0 Aj6Ä  \f:\0\0 -\0\0 Aj!\r\0\v’\b§"\f q! \f q! \0(¤!A\0!@   A\fl"j"(\0F@@ ( \fG\r\0 (\b! \0(È!@@ -\0\0"E\r\0  -\0\0G\r\0 Aj! Aj!\f\v\v \r\0A\b!\t\f\f\v AÿqE@  \0-\0¬Akv qAr!\v  Aÿq"k A\0  Ij!\f\v\v \0-\0õ@ \0(ÄAk \0-\0ð:\0\0 (\0(\0!@ \0(Ä" \0(ÀF@ PE\r\f \0(Ä!\v -\0\0! \0 Aj6Ä  :\0\0 -\0\0 Aj!\r\0\v \0(¤!\v \0(È! \0 \0(Ä6È  6\0  j" 6\b  \f6  6\0 \vAk"\v\r \nAj!\n\f\v A\0:\0\0\v \nAj!\n\f\0\v\0\v \0 :\0¬\f\v@  \nL@@ (\0"@ (\f(\0AkA\0:\0\0 Aj!\f\v\v  \nAtj(\0AkA\0:\0\0 \nAj!\n\f\v\vA\0!\t \0-\0ôE\r@ \b("@ ("\bE\r (\0!@ "Aj! -\0\0A:G\r\0\v\f\v (œ"\bE\r (\0!\vA\0! \0-\0õE \b(\0(\0"ErE@ 9Aj!\v  6 \b(!  6  6\b  6A!\t 9!  AÿÿÿÿsJ\r   j"AÿÿÿÿsO\r@  Aj"j" \b(L@ \b(!\f\v AçÿÿÿJ\r \0 Aj"A°!"E\r \b 6 \b("@  \b( ü\n\0\0\v \0A„j!\t@ \t(\0"\t@ \t(\f \b(G\r \t 6\f\f\v\v \0 \b(A¸!Y \b 6 \b(!\v  j! @   ü\n\0\0\v@ E\r\0  j" \0-\0ð:\0\0 E\r\0 Aj \b(\0(\0 ü\n\0\0\v  \b(6\0A\0!\t\f\vA!\t\f\v \0 :\0¬\vA!\t\f\v \0 \n6”\v \rAÐ\0j$\0 \t\vì~ \0)0 \0(( \0A jk"­|B8†!@@@@@@@@ ÀAk\0\v \x001\0&B0† „!\v \x001\0%B(† „!\v \x001\0$B † „!\v \x001\0#B† „!\v \x001\0"B† „!\v \x001\0!B\b† „!\v  \x001\0 „!\v \0 \0) …7 \0A¾ \0 \0)\0 …7\0 \0 \0)Bÿ…7 \0A¾ \0) \0) \0)\b \0)\0………\v!@ \0-\0\0@ Aj! \0Aj!\0\f\v\v \v4\0 B\x007\0 \0A\0†"\0(ô@Aá8Aë½Aå\tA \0\0\v  \x005ˆ7\b\vy@@ \0-\0\0"@ A\rG\r \0!@ A\rF@ A\n:\0\0 \0Aj \0Aj \0-\0A\nF\f\v  :\0\0 \0Aj\v!\0 Aj! \0-\0\0"\r\0\v A\0:\0\0\v\v \0Aj!\0\f\0\v\0\vÔ#\0A0k"$\0 \0(ôE@ \0(Ü@ \0(Ð! \0(Ø! \0(Ô! -\0"!\b (\0!\t (\b!  6(  6$  6  \t6 Añ€6 Aˆ®A†® \b6  AtAk6  6\f  6\b  6  \x006\0Aˆ÷\b(\0AÃö \v A0j$\0\vAá8Aë½AÔÃ\0AÉ(\0\0\vÀ\b#\0Ak"\t$\0 \0AÐj!\v \tA\bj!\f  \0(ü"\nAÐ\0jG!\r@@@ \t 6\f \0    \tA\fj (\0"\b  \t(\fAÊ3 ëE@ \0¤A+!\f\v@@@@@@@@@@@@@@ \bAj\n\0\v\vA!  \0(œG\r \0 \t(\f6¨\f\vA!  \0(œG\r\f\r\v   ((\0\0"\bA\0H@A!  \0(œF\r\r\f\v  \bA GrE@ (\f" (F\r\n Ak-\0\0A F\r\n\vA\0! \b \tA\bjº"\bA\0 \bA\0J!@  F\r\n (\f"\b (\bF@ PE\r\f (\f!\b\v \tA\bj j-\0\0!  \bAj6\f \b :\0\0 Aj!\f\0\v\0\v    \t(\fŒE\r\t\f\b\v \t  (@j6\f\f\v \t   (@"\bj \t(\f \bk (,\0"\b:\0 \bAÿq@ \0A\t \tAj \fA’4Aë (\f" (\bF@ PE\r\t (\f!\v \t-\0!\b  Aj6\f  \b:\0\0\f\v \v   (@"\bj \t(\f \bku"\bE\r \0 \n \bA\0€!\b \0 \0(à6Ü@@ \rE@ \0(˜E\r \n-\0‚E\r \0(´E\r\f\v \n-\0E\r \n-\0‚E\r\f\v \n-\0E\r\v \bE\r\f\v \bA\'F\r\vA!  \0(œF\r\f\b\v \bE@A\v!\f\b\v \b-\0#\r\0A!\f\v \b-\0 @A\f!  \0(œF\r\f\v \b(@A!  \0(œF\r\f\v \b(E@A!  \0(œF\r\f\vA! \0 \bA\0A‹\r\v  \t(\f6\0A\0!\f\v (\f! E@  (F\r Ak-\0\0A F\r\v (\b F@ PE\r (\f!\v  Aj6\f A :\0\0\v \t(\f!\f\v\vA!\f\v \0 6¨\v \tAj$\0 \v \0(ü!A! (\0"!@@@@ -\0\0"E\r\0 A:G\r AÐ\0j!@@ (X! (\\!  F\r\0  F@ PE\r (\\!\v -\0\0!  Aj6\\  :\0\0 Aj!\f\v\v  F@ PE\r (\\!\v  Aj6\\A\0! A\0:\0\0 \0 A$?\0\n>=< "#!\f\r;\v:*++,&5324(\'0-/.A@%))I\v \0A\0  \f(¤\b"\v\rR\fM\v \0(` \0    \f(u"6Ø E\rL \0A\x006à \0 \0(Ä6ÈA\0A\v! \0A\x006Ü\fF\v \0(`"E\rF \0( \0(Ø \0(Ü \0(àA \n\0 \0A\x006Ø ì\fL\v \0A  \f(¤\b"\vE\rJ\fO\v \0A\0:\0 \0 \0 A˜©\bA$€"6Ô E\rH \nA:\0 \0(`E\r\0   \f(  (4\0E\rG    (@"j \f( ku"E\rH Ç \0 6à \0 \0(Ä6ÈA\0!\f\v   \f(  (4\0E\rF\v \n-\0€E\rA \0(ÔE\rA    (@"j \f( ku"E\rF Ç \0(Ô 6 \n \n(\\6` AG\rA \0(”E\rA\fH\v \b\r\vA!\v\fJ\v \0(Ø" \0(  \0(Ü \0(àA\0 \0(`\n\0 ìA\0A\v!@ \0(ÜE@ \0-\0E\r\v \n-\0! \nA:\0@ \0(„E\r\0 \0(|E\r\0 \0 A˜©\bA$€"E\rE@ \0-\0E@ (!\v\f\v  \0(€"\v6\v \nA\0:\0ƒ \0(€A\0 \v ( ( \0(|\b\0E\rC \n-\0ƒ@ \n-\0‚\r \0(x"E\r \0( \0\r\fC\v \0(Ü\r\0 \n :\0\v \0A\0:\0\v \0(d"E\r> \0( \0\fE\v@ \0-\0E\r\0 \n-\0! \nA:\0 \0(„E\r\0 \0(|E\r\0 \0 A˜©\bA$€"E\rC  \0(€"6 \nA\0:\0ƒ \0(€A\0  ( ( \0(|\b\0E\rA \n-\0ƒ@ \n-\0‚\r \0(x"E\r \0( \0E\rA\f\v \n :\0\v \0AÖ6  \0   Æ!\v\fH\v \0 \0   \f(Å"6ð E\rA\f\t\v \0 \0   \f(£\b"6ô E\r@ \0A\x006ä \0A\0;ø\f\b\v \0Aš©\b6ä \0A:\0ø\f\v \0A ©\b6ä \0A:\0ù\f\v \0A£©\b6ä\f\v \0A©©\b6ä\f\v \0A°©\b6ä\f\v \0A·©\b6ä\f\v \0AÀ©\b6ä\f\v \0AÈ©\b6ä\v \n-\0€E\r3 \0(E\r3\f9\v \n-\0€E\r2 \0(E\r2A»\bA˜­A£­ A F \0(ä!@ -\0\0"\r@ \0(Ä" \0(ÀF@ PE\r9 \0(Ä!\v \0 Aj6Ä  \r:\0\0 Aj!\f\v\vA!\v \0(ÈE\r<    \f(ŒE\r< \0 \0(È6ä\f8\v \n-\0€E@\f0\v \0(ð \0(ô \0-\0ø \0-\0ùA\0 \0¢\bE\r5 \0("E\r/ \0(ä"\rE\r/@ \r-\0\0"A(G@ AÎ\0G\r \r-\0AÏ\0G\r\v \0(Ä" \0(ÀF@ PE\r7 \0(Ä!\vA!\v \0 Aj6Ä A):\0\0 \0(Ä" \0(ÀF@ PE\r= \0(Ä!\v \0 Aj6Ä A\0:\0\0 \0 \0(È6ä \0 \0(Ä6È \0(!\v  6\0A\0! \0( \0(ð(\0 \0(ô(\0 \0(äA\0 A$F \v\0\f/\v \n-\0€E\r0 \0  \0-\0ø  (@"j \f( k A¡\b"\v\r: \n(`! \n \n(\\6`A!\v \0(ð \0(ô \0-\0øA\0  \0¢\bE\r: \0("E\r0 \0(ä"\rE\r0@ \r-\0\0"A(G@ AÎ\0G\r \r-\0AÏ\0G\r\v \0(Ä" \0(ÀF@ PE\r< \0(Ä!\v \0 Aj6Ä A):\0\0 \0(Ä" \0(ÀF@ PE\r< \0(Ä!\v \0 Aj6Ä A\0:\0\0 \0 \0(È6ä \0 \0(Ä6È \0(!\v  6\0 \0( \0(ð(\0 \0(ô(\0 \0(ä  A&F \v\0 ì\f6\v \n-\0€E\r/ \f( \f  (@"j"\r6\f k!@@@ \0(Ä"@ (\f"(\b!\v \f (" (\fj"6\b -\0!@ \0 \0(ì  \v j"A \fA\bjŸ\b"\v\r  \f(\b"G@   (k6\f\f\v A\0:\0!\f\v \0 Aè6Í \0(Ä"\v G\r! A\0:\0 \0 \v(\b"6Ä  \0(È6\b \0 6È\f\v \0  \r A \fA\fjŸ\b"\v\r \0(Ä! \f(\f!\r\v  \r Gr\r\0\vA\0!\v\v \n(x!@ \0(Ô"@  6  \n(t"\r k"6\b \n \r6x \0(”"\rE\r  6\0 \0( (\0 -\0" (  \0(€A\0A\0A\0 \r\0A\0\f\v \n 6t\vA\v! \vE\r.\f9\v \0A\0:\0A!\v \nA:\0 \0(`@ \0    (@"j \f( ku"6Ü E\r: \0 \0(Ä6ÈA\0\f\v \0A˜©\b6ÜA\v!@ \n-\0‚\r\0 \0(„\r\0 \0(x"E\r\0 \0( \0E\r0\v \0(Ô\r\0 \0 \0 A˜©\bA$€"6Ô E\r8 A\x006\v \n-\0€E\r, \0(ÔE\r,    (@"j \f( ku! \0(Ô"\r 6 E\r1 \r \0(€6 \n \n(\\6` A\rG\r, \0(”E\r,\f3\v \n-\0€E\r, \0(Ô"E\r, \0(”"E\r,  6\0 \0( (\0 -\0"A\0A\0 ( ( (A\0 \0\f2\v \n-\0€E\r+ \0(ÔE\r+    \f(u! \0(Ô" 6 E\r/ \n \n(\\6` \0(h"@  6\0 \0( (\0 ( ( ( ( \v\0\f2\v \0(”"E\r+  6\0 \0( (\0A\0A\0A\0 ( ( ( ( \0\f1\v   \f( (,\0@ \0A\x006Ô\f+\v \n-\0€E\rA!\v    \f(u"E\r4 \0 \0 \n A$€"6Ô E\r4  (\0G@ \n \n(`6\\ \0A\x006Ô\f+\v \n \n(\\6`A\0! A\0:\0" A\x006  \0(ôA \0(´\vE:\0# \0(”E\r*\f0\v \n-\0€@A!\v    \f(u"E\r4 \0 \0  A$€"6Ô E\r4  (\0G@ \n \n(`6\\ \0A\x006Ô\f+\v \n \n(\\6` A:\0"A\0! A\x006  \0(ôA \0(´\vE:\0# \0(”E\r*\f0\v \n \n(`6\\ \0A\x006Ô\f)\v \0B\x007è \0(lE\r( \0    \f(u"6è E\r, \0 \0(Ä6È\f.\v   \f(  (4\0E\r* \0(èE\r\'    (@"j \f( ku"E\r+ Ç \0 6ì \0 \0(Ä6È\f-\v \0(èE\r$ \0(lE\r$    (@"j \f( ku"E\r*  6\0 \0( \0(è \0(€  \0(ì \0(l\n\0A\0!\f$\v \0(ìE\r# \0(l"E\r#  6\0A\0! \0( \0(è \0(€A\0 \0(ì \n\0\f#\vA\nAA A\fF AF!\v\f.\v \0(\\@ \0   \f(v\v \0  \fAj   ž\b"\v\r- \f(\r) \0A×6 A\0!\v\f-\v@ \0(ì" \0(ŒK\r\0@ @ A\0H\r)A!\v \0 At"6ì \0 \0(è A¦.ê"E@ \0 \0(ìAv6ì\f0\v \0 6è \n(¸"E\r \0(ì"A€€€€O@ \0 Av6ì\f0\v \0  AtA».ê"\r \0 \0(ìAv6ì\f/\v \0A 6ì \0 \0A AÃ."6è \r \0A\x006ì\f(\v \n 6¸\v \0(è \0(ŒjA\0:\0\0 \n-\0 E\r" \0\b"A\0H\r& \n(¸"E\r  \n(´Atj 6\0 \n \n(´Aj6´ \n(¤ AljA6\0 \0(ŒE\r"\f(\v \0(è \0(Œj"-\0\0Aü\0F\r A,:\0\0 \n-\0 E\r! \0(ŒE\r!\f\'\v \0(è \0(Œj"-\0\0"A,F\r@ \r\0 \n-\0 E\r\0 \n(¤ \n(¸ \n(´AtjAk(\0Alj"(\0AF\r\0 A6\0 \0(ŒE!\v Aü\0:\0\0\f\vA!\v \nA:\0 \0(„E@ \n \n-\0‚":\0€\f\v    (@"j \f( ku"\rE\r) \0  \rA\0€! \n \n(`6\\ \0(˜E\r@ \n-\0‚@ \0(´E\r\f\v \n-\0\r\v E@A\v!\v\f*\v -\0#\rA!\v\f)\v \0(ŒE\r \0 \0   \f(Å"6ð E\r" \nB\x007° \nA:\0 \f$\v \n-\0 E\r \0(ŒA \0(\f\0"E\r" B\x007\f B\x007 AA A)F6\0  6\0 \0( \0(ð(\0  \0(Œ\0A\0A\v! \nA\0:\0 \f\v \n-\0 E\r \n(¤ \n(¸ \n(´AtjAk(\0AljA6\0 \0(ŒE\r\f"\vA!\f\vA!\v \n-\0 E\r \f( (@k\f\v \n-\0 E\rA\0! \f(\v!A!\v \0\b"A\0H\r! Al" \n(¤j"\r 6 \rA6\0 \0   Å"E\r! \n(¤ j (\0"6\b 9Aj" \n(¨"AsK\r! \n  j6¨ \0(ŒE\r\f\vA!\v\f\vA!\v\f\vA!\v\v \n-\0 E\r \0(Œ! \n \n(´Ak"6´ \n(¤ \n(¸ Atj(\0Alj \v6 E! \r E\r\fA!\v \0(ü"(°"A̙³æ\0K\r Al" (¨"AsK\r  j \0(\f\0"E\r (°! A\x006\f Aj!\v "\r Alj"!@@ \r I@ \r (¤" \r(\fAlj"(\0"6\0 \r (6 AF@ \r 6\b (\b!@  -\0\0":\0\0 Aj! Aj! \r\0\v \rB\x007\f\f\vA\0! \rA\x006\b (! \r \v6 \r 6\f A\fj!@  O\r \v (\0"6\f Aj! \vAj!\v  AljAj! \r(\f!\f\0\v\0\v  6\0 \0( \0(ð(\0  \0(Œ\0\f\v \rAj!\r\f\0\v\0\vAèÓAë½AÏ.A—þ\0\0\0\vAÞ\vAë½Aî6A\0\0\vA!\v\f\v \n \n(`6\\ \0A\x006Ô\f\v \0(ŒE\r\f\v \n-\0€E\r\r \0(E\r\r\f\v \0(lE\r\f\f\v \n-\0€E\r\v \0(”E\r\v\f\v \0(`E\r\n\f\v AG\r\t\f\v \0   \f(ÄE\r\f\f\v \0   \f(ÃE\r\v\f\r\v \nA\x006¨ \nA\0:\0 \f\v \r\0 \n \n-\0‚:\0€ AG\r  Aj6\0\f\v Aj!\0\f\0\v\0\v   \bA\fj°\bE\r  \0Aj"kAH\r \0-\0\r \0-\0A>G\r  \0Aj6\0\v \b(\f!\t\f\v  6\0\f\vA~!\t\f\v  6\0\vA\0!\t\v \bAj$\0 \t\v­A!@@  kAH\r\0@ -\0\0\r\0 -\0A-G\r\0 \0AÈ\0j! Aj!\0@  \0"k"AH\r -\0!\0@@@@@ ,\0\0"\bE@ \0 j-\0\0\f\v \b \0À)\vAÿq"\0\t\0\v AF\r Aj!\0\f\v AI\r Aj!\0\f\v \0AF\r\v Aj!\0\f\v  Aj"\0kAH\r \0-\0\0\r\0 -\0A-G\r\0\v  Aj"\0kAH\r \0-\0\0@ \0!\f\v Aj \0 -\0A>F"\0!A\rA\0 \0!\v  6\0 !\v \vA~\v‰ AÈ\0j!@  "k"AH@A\v -\0!@@@@@@@ ,\0\0"E@  j-\0\0\f\v  À)\v"\0\v AF\r Aj!\f\v AI\r Aj!\f\v Aj! \0 G\r  kAH@Ae\v  6\0 -\0!\0 ,\0"E@ \0 j-\0\0\f\v  \0À)\vAÿq"\0AKA \0tA€œÀqEr\rA\v  6\0\vA\0\v Aj!\f\v\vA~\v– A\v6\0A!@  \0kAG\r\0 \0-\0\r\0 \0-\0\0"Aø\0FA\0 AØ\0G\rA\v! \0-\0\r\0 \0-\0"Aí\0G@ AÍ\0G\rA!\v \0-\0\r\0 \0-\0"\0Aì\0G@ \0AÌ\0G\rA\0\vA\0! \r\0 A\f6\0A!\v \vN@A0V"@ A€€6\f A‚€V"6 E\r A6  \0 ¬\b \vA«í\0\vA«í\0\v¤@@ \0("E@ \0AV"6 E\r A\x006\0 \0B€€€€7\f\v \0(\f \0("AkO@ \0  A\bj"Atb"6 E\r  \0(Atj"B\x007 B\x007 B\x007\b B\x007\0 \0 6\v\vA¼«í\0\vA¼«í\0\vý@  k"AH\r\0A!@@@@@@@@ -\0"E@ \0 -\0\0"j-\0H\f\v À ,\0\0")\vAÿq"\bAk\n\0\v \bAk\v AvAq -\0 \bAtr(°ô vAq\r\f\v AG\r\f\v AO\r\f\v \0AÈ\0j!\t@@@  "\0Aj"k"AH\r \0-\0!A\0!@@@ \0-\0"E@  \tj-\0\0\f\v À À)\vAÿq"\bAk\f\b\b\b\b\b\0\v \bAk\v AvAq -\0 ƒ\bAtr(°ô vAq\r\f\v\v AF\r\f\v AI\r\f\v \0Aj!A!\f\vA~\vA\0!\v  6\0 \vA\v¡#\0Ak"\b$\0A!\t@  k"AH\r\0@@@@@@@ -\0"E@ \0 -\0\0"j-\0H\f\v À ,\0\0")\vAÿq"Ak\0\v@ Ak\0\v AG\r AvAq -\0 \bAtr(°ô vAq\r\f\v AG\r\f\v AO\r\f\v \0AÈ\0j! !@@@@@@  "\0Aj"k"AH\r\t \0-\0!@@ \0-\0"\nE@  j-\0\0\f\v \nÀ À)\vAÿqAk\0\v AvAq \n-\0 ƒ\bAtr(°ô vAq\r\f\v\v AF\r\f\v AI\r\f\v   \bA\fj¶\bE\r \0Aj!\0@  \0"k"AH\r -\0\0!\0@@@@@ ,\0"E@ \0 j-\0\0\f\v  \0À)\vAÿq\0\v AF\r\b Aj!\0\f\v AI\r Aj!\0\f\v  6\0\f\b\v  Aj"\0kAH\r\b -\0\r \0-\0\0A>G\r  Aj6\0\f\v Aj!\0\f\0\v\0\v   \bA\fj¶\bE\r  \0Aj"kAH\r \0-\0\r \0-\0A>G\r  \0Aj6\0\v \b(\f!\t\f\v  6\0\f\vA~!\t\f\v  6\0\vA\0!\t\v \bAj$\0 \t\v­A!@@  kAH\r\0@ -\0\r\0 -\0\0A-G\r\0 \0AÈ\0j!\b Aj!\0@  \0"k"AH\r -\0\0!@@@@@ ,\0"\0E@  \bj-\0\0\f\v \0 À)\vAÿq"\0\t\0\v AF\r Aj!\0\f\v AI\r Aj!\0\f\v \0AF\r\v Aj!\0\f\v  Aj"\0kAH\r -\0\r\0 \0-\0\0A-G\r\0\v  Aj"\0kAH\r -\0@ \0!\f\v Aj \0 -\0A>F"\0!A\rA\0 \0!\v  6\0 !\v \vA~\v‰ AÈ\0j!@  "k"AH@A\v -\0\0!@@@@@@@ ,\0"E@  j-\0\0\f\v  À)\v"\0\v AF\r Aj!\f\v AI\r Aj!\f\v Aj! \0 G\r  kAH@Ae\v  6\0 -\0!\0 ,\0"E@ \0 j-\0\0\f\v  \0À)\vAÿq"\0AKA \0tA€œÀqEr\rA\v  6\0\vA\0\v Aj!\f\v\vA~\v\0A\0\v A\v6\0A!@  \0kAG\r\0 \0-\0\0"Aø\0FA\0 AØ\0G\rA\v! \0-\0"Aí\0G@ AÍ\0G\rA!\v \0-\0"\0Aì\0G@ \0AÌ\0G\rA\0\vA\0! \r\0 A\f6\0A!\v \vøA!@  k"A\0L\r\0A!@@@@@@@@ \0AÈ\0j"\b -\0\0j-\0\0"Ak\0\v AF\r\vA\0!\f\v AF\rA\0! \0  \0(à\0\0\r \0  \0(Ô\0\0E\rA!\f\v AI\rA\0! \0  \0(ä\0\0\r \0  \0(Ø\0\0E\rA!\f\v AI\rA\0! \0  \0(è\0\0\r \0  \0(Ü\0\0E\rA!\v  j!@  k"A\0L\rA!A\0!@@@ \b -\0\0j-\0\0"Ak\n\0\v@@@ Ak\0\v AF\r \0  \0(à\0\0\r \0  \0(È\0\0E\rA!\f\v AI\r \0  \0(ä\0\0\r \0  \0(Ì\0\0E\rA!\f\v AI\r \0  \0(è\0\0\r \0  \0(Ð\0\0E\rA!\v  j!\f\v\v Aj!A!\v  6\0 \vA~\vA\v´#\0Ak"$\0A!A!\b@  k"A\0L\r\0@@@@@@@@ \0AÈ\0j"\n -\0\0j-\0\0"Ak\0\v@ Ak\0\v\f\v AF\r \0  \0(à\0\0\r \0  \0(Ô\0\0E\rA!\f\v AI\r \0  \0(ä\0\0\r \0  \0(Ø\0\0E\rA!\f\v AI\r \0  \0(è\0\0\r \0  \0(Ü\0\0E\rA!\v  j!@  k"\tA\0L\rA! !@@@@@@@@@@ \n -\0\0j-\0\0Ak\0\t\t\t\t\t\v \tAF\r\n \0  \0(à\0\0\r \0  \0(È\0\0E\rA!\f\b\v \tAI\r\t \0  \0(ä\0\0\r \0  \0(Ì\0\0E\rA!\f\v \tAI\r\b \0  \0(è\0\0\r \0  \0(Ð\0\0E\rA!\f\v   A\fj¾\bE\r Aj!@  "k"A\0L\r\v@@@@@ \n -\0\0j-\0\0\n\n\0\n\v AF\r\f \0  \0(à\0\0\r\t Aj!\f\v AI\r\v \0  \0(ä\0\0\r\b Aj!\f\v AI\r\n \0  \0(è\0\0\r Aj!\f\v  Aj"kA\0L\r\f -\0\0A>G\r  Aj6\0 (\f!\b\f\f\v Aj!\f\0\v\0\v   A\fj¾\b\r\v  6\0\f\v  Aj"kA\0L\r -\0A>G\r\0  Aj6\0 (\f!\b\f\v  6\0\f\v  6\0\f\v  j!\f\0\v\0\vA~!\b\f\v  6\0\vA\0!\b\v Aj$\0 \b\v´@  kA\0L\r\0@@@ -\0\0A-G\r\0 \0AÈ\0j! Aj!@  "k"A\0L\r@@@@@@  -\0\0j-\0\0"\t\0\v AF\r\b \0  \0(à\0\0\r Aj!\f\v AI\r \0  \0(ä\0\0\r Aj!\f\v AI\r \0  \0(è\0\0\r Aj!\f\v AF\r\v Aj!\f\v  Aj"kA\0L\r -\0\0A-G\r\0\vA!  Aj"\0kA\0L\r Aj \0 -\0A>F"\0!A\rA\0 \0!\v  6\0\v \vA~\vA\v AÈ\0j!@@@  k"A\0L@A\v@@@@@@  -\0\0j-\0\0"\0\v AF\r   (à\0\0\r Aj!\f\v AI\r   (ä\0\0\r Aj!\f\v AI\r   (è\0\0\r Aj!\f\v Aj! \0 G\r  kA\0L@Ae\v  6\0  -\0\0j-\0\0"\0AKA \0tA€œÀqEr\rA\v Aj!\f\v\v  6\0\vA\0\vA~\v\0 \0   Ô"\0@ \0A:\0‚\v \0\v\0Aß\0 \0        \b \tÆ\b\v\0 \0  AÞ\0AÝ\0”\t\vÄ#\0Ak"\v$\0 \vA\x006\b \vA\x006 \vA\x006\0 \v  (@"\fAlj"6\f@@    \fAtk"\f \vAj \v \vA\bj \vA\fjÐE\r\0 \v("E\r\0@@ \n@@@   \v(\0"A´”\b (\0E@ \r\f\b\v @  \v(\b6\0\v \v(\f! @  6\0\v   \f \vAj \v \vA\bj \vA\fjÐE\r \v("E\r \v(\0!\v   A¼”\b (\0@  \v(\b" \f§A_qAÁ\0kAK\r \b@ \b 6\0\v \v(\f! \t@ \t    (@k \0\x006\0\v   \f \vAj \v \vA\bj \vA\fjÐE\r \v("E\r \v(\0!\v    AŔ\b (\0Er\r  \v(\b" \v(\f" (@kAД\b (\0E\r \nE\rA\f\v \r\f\v    (@kAԔ\b (\0E\r \nE\rA\0\v6\0\v@   \f§A\tk"\0AKA \0tA“€€qErE@  (@j!\f\v\v \f "G\r\vA\f\v \v(\f!\v  6\0A\0\v \vAj$\0\v\0AÜ\0 \0        \b \tÆ\b\vý \0AÈ\0j!@  kA\0J@@@@@@@  -\0\0j-\0\0Ak\0\v  (Aj6 Aj!\f\v  (Aj6 Aj!\f\v  (Aj6 Aj!\f\v A\x006  (\0Aj6\0 Aj!\f\v  (\0Aj6\0  Aj"\0kA\0L@ \0\f\v Aj \0  -\0j-\0\0A\nF\v! A\x006\f\v  (Aj6 Aj!\f\v\v\veA\0 \0((\b"E\r\0 (X"@ „\tA\0 \0((\b"E\r\v (\\ \0((\b\v \0("A\x006\b (\f  \0A\0A‡&µ\v†  \0E"j" AtA€\b "  I! \0#!@ \0-\0AÿF@ \0(\0!#\0A k"$\0@ "AG@@ E@ A\0!\f\v  b"E\r  O\r\0  k"E\r\0  jA\0 ü\v\0\v A j$\0 \f\vAÞÀA¤ý\0AÍ\0A˜´\0\0\v  6Aˆ÷\b(\0A§ê Aj.\0\v!\f\v A! @  \0 ü\n\0\0\v \0 6\v \0Aÿ:\0 \0 6\b \0 6\0\vµ|#\0A0k"$\0 A\0:\0@ \0 %"\0E\r\0  Aj6  A j6  A(j6@@ \0Aà¿ AjIAH\r\0 +("D\0\0\0\0\0\0\0\0dE\r\0 + "D\0\0\0\0\0\0\0\0dE\r\0  D\0\0\0\0\0\0R@¢D\0\0\0\0\0\0à? ü·9\0 D\0\0\0\0\0\0R@¢D\0\0\0\0\0\0à? ü·!\f\v A\0:\0  A(j6\0  Aj6 \0Aä¿ IA\0L\r +("D\0\0\0\0\0\0\0\0dE\r  D\0\0\0\0\0\0R@¢D\0\0\0\0\0\0à? ü·"9\0\v  9\b -\0A!F!\v A0j$\0 \vK\0 \0A A\0€"E@Aç\v \0 ("(6° \0 (\f6¤ \0 (\x006¨ \0 (6¬A¬\võ|~#\0A k"$\0 (4"@ ("+! +!\b + !\t  +( + D\0\0\0\0\0\0à?¢ + 9@   \t \b D\0\0\0\0\0\0à?¢ 98 \0A\n É \0 –\v ("+! +!\bA\0!@ (0 J@ @ (8 Atj"(\0!| -\0@@  )"\r7\b  )"7\0 (\0+(!\n ¿"\v!\f \r¿\f\v  )(7  ) 7 (\0+!\f +!\v +"\n\v!\t   \n 9  \b \v 9   \t 9\b  \b \f 9\0 \0 A8\v \0  (8 Atj(\0Í\b Aj!\f\v\v A j$\0\vS@ \0(<"E\r\0  ;E\r\0 \0\vA\0!@ \0(0 L@A\0\v At Aj! \0(8j(\0 Î\b"E\r\0\v \v7 \0A€Ì\n(\0Añ€}"-\0\0  \0AüË\n(\0Añ€}"\0  \0-\0\0\v\v‰@ \0AœÌ\n(\0Añ€}"-\0\0E@\f\v ò"!@ (\0"E\r A‰®;@ Aj! Ar!\f\v ! A´¯;@@  ("6\0 Aj! \r\0\v Ar!\f\v A¶-;@@  ("6\0 Aj! \r\0\v A\br!\f\v AØ-;@ Aj! A r!\f\v AÐò\0;@@  ("6\0 Aj! \r\0\v Ar!\f\v@ A‡­;E\r\0 \0((\b(\b"E\r\0 (\bAG\r\0 +¤™D\0\0\0\0\0\0à?cE\r\0 )B\0R\r\0 ) B\0R\r\0@  ("6\0 Aj! \r\0\v AÀ\0r!\f\v@ AŸ¯;E\r\0 \0((\b(\b"E\r\0 (\bAK\r\0@  ("6\0 Aj! \r\0\v A€r!\f\v Aj!\f\0\v\0\v  \0((\b(\b"\0 \0(("\0 r"A€àq \0Aq AqrrAA\0 AqAvrAA\0 AqAvrA\bA\0 A\bqAvrAA\0 AqAvrA A\0 A qAvrAÀ\0A\0 AÀ\0qAvrA€A\0 A€qAvrA€A\0 A€qA\bvrA€A\0 A€qA\tvr \0A€qr \v6\0 \v¦|#\0A k"$\0 ("+! +`!  +PD\0\0\0\0\0\0è?¢D\0\0\0\0\0\0à?¢" + "9  9\b   D|a2U0*å?¢" "9\0     ¡9 \0 A8  +\b   ¡"9  9\b \0 A8 A j$\0\v\f\0 \0A:¬A\0G\v`\0 \0A\x006\0  \0Ð\b"\0@  \0½\v@AÜÌ\n(\0"\0E\r\0  \0?"\0E\r\0 \0-\0\0E\r\0  AÜÌ\n(\0D\0\0\0\0\0\0ð?D\0\0\0\0\0\0\0\0F×\v\v\0A\0\v0#\0Ak"$\0 \0 !\0  6  \x006\0Aý· ( Aj$\0\v|\0 \0B\x007\b \0B\x007\0@@@@ Ak\0\v \0 )\b7\b \0 )\x007\0\v \0 +\x009\0 \0 +\bš9\b\v \0 +\x009\b \0 +\bš9\0\v \0 +\x009\b \0 +\b9\0\v¯\t|#\0Ak"$\0 \0 :\0A +\b!\f \0 +\0"\r9 \0 \f9( \0 \f \0+\b¡9 \0 \r \0+\0 9 \0(0"A\0 A\0J!AA Ak"!\bA\rA !\t@  FE@A\0 E\r\0 \0-\0@@ \t E\rAA  F\f\v \b E\r\0A\vA\n  F\v! At"\n \0(8j(\0  )\b7\b  )\x007\0   q×\b \0(8 \nj(\0!@ \0-\0@@  \r +\0 "\r9\0\f\v  \f +\b¡"\f9\b\v Aj!\f\v\v Aj$\0\v®|#\0A k"\b$\0 \0+\0! +\0! +\b! \0 )\x007\0 \0+\b! \0 )\b7\b  ¡!  ¡!@ \r\0 \0(4"E\r\0   +( 9(   +0 90\v@ \0(0"\tE\r\0   \0-\0@ \t·£!A\0!@  \tN\r  Aj"\n¸¢ü  ¸¢ük!\t \0(8 Atj(\0!| \0-\0@@ ! +\0 \t· \f\v +\b \t· ! \v! \b 9 \b 9 \b 9\0 \b 9\b  \b Ø\b \0(0!\t \n!\f\0\v\0\v \bA j$\0\vŒ|#\0A k"$\0@ (4"\b@ \b+"D\0\0\0\0\0\0\0\0d \b+ "D\0\0\0\0\0\0\0\0drE\r A©å\0%"@  Aj6  A\bj6\0 A˜„ I"A\0J@ +\bD\0\0\0\0\0\0R@¢"  "  ! AG@ +D\0\0\0\0\0\0R@¢"    !\f\v   !\f\v D\0\0\0\0\0\0 @ ! D\0\0\0\0\0\x000@ !\f\v D\0\0\0\0\0\0 @ ! D\0\0\0\0\0\x000@ !\f\vA\0!\b@ \b (0NE@ A\bj  (8 \bAtj(\0Ù\b +! +\b!| -\0@@   !  "\f\v  "!   \v! \bAj!\b\f\v\v\v \0 9\b \0 9\0  \0)\b7\b  \0)\x007\0 A j$\0\v7@ AG@ \0 Atj"(\0"@ ‚ A\x006\0\v Aj!\f\v\v\v@@@@@ \0(\0ô"Aj\0\v A F\r\v\v  \0(\0å\t\v\vÀ| A÷å\0;@ \0D\0\0\0\0\0\0R@¢0\v A¼;@ \0D\0\0\0\0\0\0R@¢D\0\0\0\0\0\0X@£0\v Añ³;@ \0D\0\0\0\0\0\0R@¢D\0\0\0\0\0\0@£0\v@ A„;E@ AßÇ;E\r\v \00\v AÀí\0;@ \0D|\\Ib±X<@¢0\v A¡í\0;| \0D/}µZ­@¢0D\0\0\0\0\0\0\0\0\v\vg \0A  AF" â\b"E@\v At" \0(Lj(," A (\0\0 \0(L j(8" A (\0\0 \0 (A\0z \vE\0@ \0&@ \0#AF\r\v \0A\0Ð\v@ \0&@ \0A\0:\0\f\v \0A\x006\v \0& \0 \0(\0\v\vb| E@ \0B7\0\v +\b! \0 +0D\0\0\0\0\0\0R@¢ (@"·" +\0 £ü6\0 \0 +8D\0\0\0\0\0\0R@¢   £ü6\vœ#\0A k"$\0@@ \0@ \0(\b"E\r -\0\0E\r@ \0("E@ "E@  \0(\b6\0Aè´ (A\0\f\v \0 A”ÀÄ"6 E@AÔð\n(\0À!\0  6  \x006Aªù Aj(A\0\f\vAŒÏ\n(\0"A2H\r \0A:\0A\f\v A \0(\rA†A‰¾AÄA„)\0\0\vAŒÏ\n Aj6\0A\v A j$\0\vAÑ&A‰¾A¯A„)\0\0\vA»™A‰¾A°A„)\0\0\vAÄÉA‰¾A±A„)\0\0\vW@ \0@ \0-\0\0E\rAˆÏ\n(\0"  \0A€ (\0\0A\0\v\vAšA‰¾A¡AÚ¥\0\0\vAÈÉA‰¾A¢AÚ¥\0\0\vG#\0A k"$\0 \0(LA  AFAtj(8"\0  7 \0 A \0(\0\0A\0\v A j$\0\v™ (D!@ -\0\0"@@@ AêÚAÐE\r\0 A¤ÒAÐE\r\0 AÒÝAÐE\r\0 A¡ÑA\tÐ\r\v@@@@@ Aÿq"A\nk\0\v E\r\v -\0! Aj!\f\v\vA -\0A\nG\r Aj!\f\v A\0G\v!  j!\f\v@@@@@ Aÿq"A\nk\0\v E\r\v \0 ÀW -\0! Aj!\f\v\vAA -\0A\nF\f\v A\0G\v! \0A\nW  j!\f\v\v\vÈ|#\0A€k"$\0 +!  \0)\x007p  \0)\b7x  )\x007`  )\b7h Aàj Að\0j Aà\0jû@  +àfE\r\0  \0)\b7X  \0)\x007P  )\x007@  )\b7H AÀj AÐ\0j A@kû +Ð +\0fE\r\0 +  \0)\b78  \0)\x0070  )\x007  )\b7( A j A0j A jû +¨fE\r\0  \0)\b7  \0)\x007  )\x007\0  )\b7\b A€j Aj û +˜ +\bf!\v A€j$\0 \v[| + \0+8" \0+D\0\0\0\0\0\0à?¢"¡f +\0   eq + \0+@" \0+ D\0\0\0\0\0\0à?¢"¡fq +\b   eq\vú#\0Ak"$\0@@@ \0(\0"-\0\0A#F@ -\0"AßqAØ\0F@A!@ A\bF\r@  j-\0\0"AÁ\0kAÿqAI@AI!\f\v Aá\0kAÿqAI@A©!\f\vAP! A0kAÿqA\tK\r\v  j" Atj! Aj!\f\0\v\0\vA!@ A\bF\r  j-\0\0"A0kAÿqA\tK\r Aj! A\nl jA0k!\f\0\v\0\v  6\b@  6\f A\bF\r  j"-\0\0"E@ !\f\v A;F@ A\bjAÀâAüA\bA7‘"E\r Aj! (!\f Aj!\f\v\0\v\0\vA\b!\v A;G@A\0!\f\v  jAj!\v \0 6\0 Aj$\0 \vb#\0Ak"$\0 A\0:\0  \0:\0 AjÁ"9!\0 !@ \0AIE@  ,\0\0o Aj! \0Ak!\0\f\v\v -\0\0  Aj$\0\v« \0+!@@ \0(-\0†AG\r\0  \0At \0 A:¬"\0E\rA\0!  \0Aj"A\0{"\0\r\0  A{"\0A¡&AÀA3 \0(A:\0†@ A Œ"E\r \0 ? (\f"F\r\0 \0  a\f\0\v\0\v \0\vAšA˜ºAØAÒ\0\0\v¥@@ \0Aàß\0A\0\\"E\r\0 (\b"E\r\0 \0A‹1A"A‡&A˜A3 A! \0!@ @ \0 *!@ @ (-\0q@  Atj 6\0 Aj!\v \0 /!\f\v\v \0 !\f\v\v  G\r A\0 A\0J!A\0!@  FE@  Atj(\0"A(Ax (\0Aq"AFj(\0!  A(AØ\0 AFj(\0 è\b  è\bÂ(" ("(\b6\b A\x006\b  (`6` A\x006`  (l6l A\x006l  (d6d A\x006d  (h6h A\x006h ‡ Aj!\f\v\v  !@ @   « \0 ›!\f\v\v \v\vA° A˜ºA™\bAà0\0\0\v—#\0Ak"$\0A!@  \0("(´JE@@  (¸ Atj(\0" "A€ (\0\0@  6\0A¡¹ (\f\vAH" 6\f  6\b  A (\0\0\v  ê\b Aj!\f\v\v Aj$\0\v( \0 \0(ë\b jAj! \0(\0!\0\f \v\v\vM  "@@ A–8AÏ\r\0 \0  A€ \0(\0\0"\0E\r\0 \0(\f!\v \vAßÔA½ü\0A\fAð÷\0\0\0\v\0 \0Aôì\tA¤Þ\t(\0f"\0ê\b \0\vò|~ \0 (, (\b" ("AklA\0 AKAtj")\b"\v7 \0 )\0"\f7 \0 )\0"\r7\0 \0 )\b"7\b \v¿! \f¿! ¿! \r¿!\bA  AM!A!@  F@ \0 9 \0 9\b \0 9 \0 \b9\0   Atj"+\b"\t  \td!  +\0"\n  \nd!  \t  \tc! \b \n \b \nc!\b Aj!\f\v\v\v*@ E\r\0 \0 ?"\0E\r\0 \0-\0\0E\r\0 \0ZAs!\v \vQ@@ E\r\0 A:¬"E\r\0 A\0:\0\0 \0   Aj" \0 A::\0\0\f\v \0  A\0 \0\v \0 6$\vZ\0 (\bE@ \0 ç\v  \0A¼Í\n(\0 +\0D\0\0\0\0\0\0ð?F9\0  \0AÀÍ\n(\0 (\b}6\b  \0AÄÍ\n(\0 (\f}6\f\v—\b|\b#\0A@j"\f$\0 (\0! +\b! +\0! (!Dÿÿÿÿÿÿï!A!\rA!@@ \v F@  \rA0lj"(\0   (AkFk" ApkAtj!A\0!\f\v  \vA0lj"(! (\0!A\0!@  F@ \vAj!\v\f  Atj"+\0 ¡" ¢ +\b ¡" ¢ "  AF  dr"!   ! \v \r !\r Aj!\f\v\0\v\0\v\v@ AFE@ \f At"\vj"\r  \vj"\v+\x009\0 \r \v+\b9\b Aj!\f\v\v \f+0 ¡" ¢ \f+8 ¡" ¢ ! \f+\0 ¡" ¢ \f+\b ¡" ¢ !\bD\0\0\0\0\0\0\0\0!D\0\0\0\0\0\0ð?!\t@ \0 \f \t  D\0\0\0\0\0\0à?¢"\nA\0A\0‹ \b ¡™D\0\0\0\0\0\0ð?c \t ¡™Dñh㈵øä>crE@ \b \0+\0 ¡" ¢ \0+\b ¡" ¢ "  \bd"!\b   !  \n ! \n \t !\t\f\v\v \fA@k$\0\v£~#\0A k"$\0 \0(\0! \0(\b!@@  F@A\0!\f\v  \0)\b7  \0)\x007  Aj Atj)\0!  6\f A/6\b  B ‰7\0AìÎ\nA¯3 s Aj!AœAìÎ\nœ"AA\0‹\r\v\v A j$\0 \v• \0A\x006 \0B\x007 \0B\x007\b \0B\x007\0 Aôã! !@ @ \0 ­ ­B †„7 \0A\b$! \0(\0 Atj \0)7\0  j!A\0!A\0!  9 jF\r AôãË j"Aôã!\f\v\v\v\0 \0("\0A\0:\0µ \0B7ì\v\0  \0 ?Z \v\vO|A Ë\n+\0"D\0\0\0\0\0\0\0\0d| D\0\0\0\0\0\0R@ \0 \0A\0AïœA\0!D\0\0\0\0\0\0ð¿D\0\0\0\0\0\0\0\0F" ½P\v\vŠ\t|#\0Ak"$\0 +\0"\bD\0\0\0\0\0\0\b@£!\v +\b"\tD\0\0\0\0\0\0à¿¢! \bD\0\0\0\0\0\0à¿¢!\n \tD\0\0\0\0\0\0\bÀ£!\f@ A€q@ B\x007ˆ B\x007€\f\v   \v¡9ˆ  \n \f¡9€\v +\b!\r +\0!@ AÀ\0q@ B\x007x B\x007p\f\v   \v 9x  \f \n 9p\v  \tš"9h  \bš"\n9`  )€7  )ˆ7(  )p7\0  )x7\b  \n9  9 A0j A j Aj  ­ +0!  \r \t +8 "¡9\b   \b  "¡9\0 \0 \t \r  ¡"\n9\b \0 \b   ¡"9\0  \n9H  9@  \0)\x007\0  \0)\b7\b  \v \tD\0\0\0\0\0\0à?¢ \r  ¡"\t 9  \f  \bD\0\0\0\0\0\0à?¢  ¡"\b 9  )\x007  )\b7(  \t \v¡98  \b \f¡90 \0 \n ¡9\b \0  ¡9\0 Aj$\0\v\0 \0 ¢D\0\0\0\0\0\0$@¢ D\0\0\0\0\0\0à?¢ \vÔ|#\0AÐk"$\0DÍÌÌÌÌÌÜ?!\r  D\0\0\0\0\0\0@¢"\vdE A q"\bErE@  \v£DÍÌÌÌÌÌÜ?¢!\r\v|D\0\0\0\0\0\0\0\0 D\0\0\0\0\0\0ð?dE\r\0D\0\0\0\0\0\0\0\0 \bE\r\0 D\0\0\0\0\0\0ð¿ Dš™™™™™©?¢ £\v!\vD\0\0\0\0\0\0\0\0 \r +\0"¢" A€q"\t!\fD\0\0\0\0\0\0\0\0 š AÀ\0q"\n!D\0\0\0\0\0\0\0\0 \r +\b"š"¢" \t!D\0\0\0\0\0\0\0\0 š \n!  +\b" !  +\0" ! \v ¢!\r D\0\0\0\0\0\0à?¢  ! D\0\0\0\0\0\0à?¢  ! \v ¢! \0||@|@ \bE@  \f9È  9À  9¸  9°  )\b7¨  )\x007 D\0\0\0\0\0\0\0\0!\f D\0\0\0\0\0\0\0\0a@D\0\0\0\0\0\0\0\0!D\0\0\0\0\0\0\0\0!\vD\0\0\0\0\0\0\0\0 D\0\0\0\0\0\0\0\0a\r\v +¨! + !\v\f\v  9È  9À  \f9¸  9°  9¨  š"\v9 D\0\0\0\0\0\0\0\0!\f D\0\0\0\0\0\0\0\0b\r\0D\0\0\0\0\0\0\0\0!D\0\0\0\0\0\0\0\0!D\0\0\0\0\0\0\0\0 D\0\0\0\0\0\0\0\0a\r\v \v \v @"\f£"ö" š D\0\0\0\0\0\0\0\0d!  \f£!|@ Aà\0qAà\0G@ \bA\0G" \tEr\r\v  )À7°  )È7¸  ) 7   )¨7¨  )°7  )¸7˜ Aðj A°j A j Aj ­  + \v¡"\v +˜ ¡"@"\f \v \f£ö"\v \vš D\0\0\0\0\0\0\0\0d ¡D¢"¢!  ¢\f\v A qA GA\0 \nE rE@  )À7€  )È7ˆ  ) 7p  )¨7x  )°7`  )¸7h Aðj A€j Að\0j Aà\0j ­  +€ \v¡"\v +ˆ ¡"@"\f \v \f£ö"\v \vš D\0\0\0\0\0\0\0\0d ¡D¢"¢!  ¢\f\v  )À7P  )È7X  ) 7@  )¨7H  )°70  )¸78 Aðj AÐ\0j A@k A0j ­ +ø ¡! +ð \v¡\v!\f \bE\r D\0\0\0\0\0\0à?¢" ¢!  ¢\v!   ¡9\b   \f¡9\0 \0  ¡"9\b \0  \f¡"9\0  )\b7ˆ  )\x007€  )\x007\0  )\b7\b   \r¡98   ¡90   \r¡9(   ¡9   ¡9   ¡9  \0)\x007@  \0)\b7H    9x    9p  \r  9h    9`  \r  9X    9P \0  ¡9\0  ¡\f\v  \r  ¡ "9è    ¡ "9à B\x007Ø B\x007Ð   ¡"9È   ¡"\v9À B\x007\b B\x007\0  \v9  9  9  9( Aðj A j Aj  ­  +€ \v¡"  +ˆ ¡"@"£ö"\v \vš D\0\0\0\0\0\0\0\0d ¡D š¢"¢!\v  ¢\v! \0  \v "9\b \0   "9\0  9ˆ  9€  \0)\x007\0  \0)\b7\b    \v " 9x     " 9p  \r  9h    9`  \v  "\v9X    "9P  \v9H  9@  \v98  90   \r¡9(   ¡9   ¡9   ¡9 \0 \f  9\0   \v9\b AÐj$\0\vÈ\t\f|#\0Aðk"$\0D\0\0\0\0\0\0\0\0 D\0\0\0\0\0\0Ð?¢DffffffÖ?¢DffffffÖ? D\0\0\0\0\0\0@d"\n +\0"¢" AÀ\0q"!\fD\0\0\0\0\0\0\0\0 \n +\b"š"\v¢" !D\0\0\0\0\0\0\0\0 š A€q"\b!\nD\0\0\0\0\0\0\0\0 š \b!\t@ A q"@  )\b7È  )\x007À !\v \f!\r\f\v  \v9È  š9À \t!\v \n!\r !\t \f!\n\v +\b!\f +\0!  \r9è  \v9à  \n9Ø  \t9ÐD\0\0\0\0\0\0\0\0!\n| D\0\0\0\0\0\0\0\0a@D\0\0\0\0\0\0\0\0!\tD\0\0\0\0\0\0\0\0!\vD\0\0\0\0\0\0\0\0 D\0\0\0\0\0\0\0\0a\r\v +À"\t \t +È"\n@"\v£"\rö" š \nD\0\0\0\0\0\0\0\0d! \n \v£!\v| @  )à7€  )è7ˆ  )À7p  )È7x  )Ð7`  )Ø7h Aj A€j Að\0j Aà\0j ­ \v +  \t¡"\t +¨ \n¡"\n@" \t £ö"\t \tš \nD\0\0\0\0\0\0\0\0d ¡D¢"\t¢!\n \r \t¢\f\v \b@  )à7P  )è7X  )À7@  )È7H  )Ð70  )Ø78 Aj AÐ\0j A@k A0j ­ \v +° \t¡"\t +¸ \n¡"\n@" \t £ö"\t \tš \nD\0\0\0\0\0\0\0\0d ¡D¢"\t¢!\n \r \t¢\f\v  )à7  )è7(  )À7  )È7  )Ð7\0  )Ø7\b Aj A j Aj  ­ +˜ \n¡!\n + \t¡\v!\t D\0\0\0\0\0\0à?¢" \v¢!\v  \r¢\v!\r  \f !   ! A@k!| @  \f \v "9\b   \r "\f9\0 \0  \v "\v9\b \0  \r "\r9\0  )\b7\b  )\x007\0  )\b7\b  )\x007\0  \0)\b7(  \0)\x007 \t \r !\t \n \v \f\v  \f \n¡9\b   \t¡9\0 \0  \n¡"9\b \0  \t¡"\f9\0  9\b  \f9\0  \0)\b7\b  \0)\x007\0  )\b7(  )\x007 \f \r¡!\t  \v¡\v!\n    98   \f 90   ¡9  \f ¡9 \0 \n9\b \0 \t9\0 Aðj$\0\v÷#\0Ak"$\0@  6\0 \0!@@ -\0\0E "AJrE@ A\x006\f  AÐß A\fjí"\0F@@ \0 \0Aàß A\fj"í"G !\0\r\0\v \0Aà í!\0\v (\f" AqE A\0Gqr"\r  6\0A«˜ (\v Aj$\0\v A\bG"E@A! \0! AF\r\v  rE@A\0! \0! \0-\0\0E\r\v\v Aj! (\0  Attr!\f\0\v\0\v@@ E\r\0 \0í(\0 A¾"E A\bj Gr\r\0 \0 ú\v \0í(\0 A\0è\v¿|\b#\0A0k"\v$\0 ((\b"\n(\0"\f(\b@ \fAj!\r \fAj\f\v \f(\0"\rA\bj\v+\0!@ \r+\0" \f \n("\rA0lj"A$k(\0E@ A0k(\0 A,k(\0Atj!\v Ak+\0"¡" ¢  A\bk+\0"¡" ¢ Díµ ÷ư>c@ \0 9\b \0 9\0\f\v (/ˆAq"A\nF AFrE@A\0!D\0\0\0\0\0\0\0\0!@@  \rF@ D\0\0\0\0\0\0à?¢!A\0!\f\v \f A0lj"(! (\0!A!A\0!\n@  O@ Aj!\f   \nAtj"+\0  Atj"+\0¡" ¢ +\b +\b¡" ¢ Ÿ ! Aj! \nAj!\n\f\v\0\v\0\v\v@@@  \rG@ \f A0lj"(! (\0!A!A\0!\n@  O\r  \nAtj"+\0"  Atj"+\0"¡" ¢ +\b" +\b"\b¡" ¢ Ÿ" f\r Aj! \nAj!\n  ¡!\f\0\v\0\v \vAÿ\t6 \vAź6\0Aˆ÷\b(\0AØÀ \v5\0\v \0 \b ¢   ¡"¢  £9\b \0  ¢  ¢  £9\0\f\v Aj!\f\0\v\0\v \v   D\0\0\0\0\0\0à?¢"9( \v   D\0\0\0\0\0\0à?¢"9 \v 9 \v 9 \0 \n \vAjò\b\v \vA0j$\0\v\0 \0E@A«×A¦ü\0A\fA<\0\0\v \0-\0\0E\v™| \0("(À!A\0!\0|  \0Atj(\0"| \0Aj!\0  A(AØ\0 (\0AqAFj(\0(+ !\f (È!A\0!@  Atj(\0"@ Aj!  A(Ax (\0AqAFj(\0(+ !\f\v\v (\0"A(Ax (\0AqAFj(\0(+!\b +"\t (\0"A(AØ\0 (\0AqAFj(\0(+¡ +"\n  \0¸£¡† \b \t¡  ¸£ \n¡† D\0\0\0\0\0\0à?¢\v\v\va| +\b \0+\b"¡ +\0 \0+\0"¡"¢ +\0 ¡ +\b ¡"¢¡" ¢"D»½×Ùß|Û=c|D\0\0\0\0\0\0\0\0   ¢  ¢ £\v\v“| @@@ AÚ\0G@ A´F\r AŽF\rA¥’A“¼A„Aáƒ\0\0\v \0 +\b9\0 \0 +\0š9\b\v \0 +\x009\0 \0 +\bš9\b\v +\b! \0 +\x009\b \0 9\0\v \0 )\b7\b \0 )\x007\0\v‡\b\r#\0A0k"$\0@@@@ A\vG@ \0E\r \0-\0\0E\r A\bl"(Àƒ"\v(\0"E\r AÀƒj!A\0!\b \09!\t@ @A\0! 9!\nA\0!@@ \0 j!@@@  \tF  \nFr\r ,\0\0"\fA_qAÁ\0kAK\r  j,\0\0"\rA_qAÁ\0kAO@ Aj!\f\v\v \fò \ròG\r Aj!\v Aj!\f\v\v@  \tG@ \0 j Aj!,\0\0A_qAÁ\0kAO\r\f\v\v@  \nF\r  j Aj!,\0\0A_qAÁ\0kAK\r\0\v\v \v \bAj"\bAtj(\0!\f\v\v Aj!\f\v\v B\x007( B\x007  \x006 A j!\0A\0!#\0A0k"$\0  Aj"6\f  6,  6@@@@@@A\0A\0AÙï R"A\0H\r\0 Aj!@ \0E \0#k" K\r\0  k! \0&@A! AF\r\v \0 ¡A\0!\v B\x007 B\x007 AO q\r Aj!    \0d\v AÙï (,R"G A\0Nq\r A\0L\r\0 \0&@ A€O\r@ E\r\0 \0d E\r\0 Aj ü\n\0\0\v \0 \0-\0 j:\0 \0#AI\rAã¶Aòü\0AêA\0\0\v \r \0 \0( j6\v A0j$\0\f\vA–§Aòü\0AÝA\0\0\vAýžAòü\0AâA\0\0\vAÐÎAòü\0AåA\0\0\vAþžAòü\0AìA\0\0\v@ \0&@ \0#AF\r\v A j"\0# \0EO@ \0A¡\v A j"\0#! \0&@ \0 jA\0:\0\0  -\0/Aj:\0/ \0#AI\rAã¶Aòü\0A¯AŸ³\0\0\v ( jA\0:\0\0  ($Aj6$\v@ A j&@ A\0:\0/\f\v A\x006$\v A j"\0&! \0 ( "\0±@  \x006\0AÞ4 (\v -\0/AÿF@ ( \vA‘/ƒ\t!\v A0j$\0 \vAÛ¦A¹¸AóA¢Š\0\0\vAµ×A¹¸AôA¢Š\0\0\vÊ@ \0E\r\0 \0(\b! \0(\f!@ \0(\0 M@  \0\f\v  \0( lj! @  \0\v@@@@@@@@@@ (\0Ak\r\0\0\b\t\v (\f\f\b\v (\f\f\v (\f\f\v ((\f\v (\b\f\vA\0!@@@@ (\bAk\0\v@ (4!  (0N\r  Atj(\b Aj!\f\0\v\0\v@ (D!  (@N\r  Atj(\b Aj!\f\0\v\0\v \v\f\v (\f\v (\b\f\v ((\v Aj!\f\0\v\0\v\vç \0# \0EO@ \0E"Aj" AtA€\b "  K! \0#!@ \0-\0AÿF@ \0(\0  A§!\f\v A\0\v \0 7\0\v\v» Aü„\v "(\0!@@ E@ \rA\0\vA~ E\r@ @ !\f\v -\0\0"À"A\0N@ \0@ \0 6\0\v A\0G\vA„Ê\n(\0(\0E@A \0E\r \0 Aÿ¿q6\0A\v AÂk"A2K\r At(\t! Ak"E\r Aj!\v -\0\0"Av"Ak Au jrAK\r\0@ Ak! AÿqA€k Atr"A\0N@ A\x006\0 \0@ \0 6\0\v  k\v E\r Aj",\0\0"A@H\r\0\v\v A\x006\0AÔð\nA6\0A\v\v  6\0A~\v\0 \0  A\0A\0˜\v“!\0AAðÍ\n(\0 \0\v¼\0@@@@@@@@@@@ A\tk\0\b\t\n\b\t\n\t\n\n\b\t\v  (\0"Aj6\0 \0 (\x006\0\v  (\0"Aj6\0 \0 2\x007\0\v  (\0"Aj6\0 \0 3\x007\0\v  (\0"Aj6\0 \0 0\0\x007\0\v  (\0"Aj6\0 \0 1\0\x007\0\v  (\0AjAxq"A\bj6\0 \0 +\x009\0\v \0  \0\v\v  (\0"Aj6\0 \0 4\x007\0\v  (\0"Aj6\0 \0 5\x007\0\v  (\0AjAxq"A\bj6\0 \0 )\x007\0\vo \0(\0",\0\0A0k"A\tK@A\0\v@A! A̙³æ\0M@A  A\nl"j  AÿÿÿÿsK!\v \0 Aj"6\0 ,\0 ! !A0k"A\nI\r\0\v \võ~#\0A@j"\b$\0 \b 6< \bA)j! \bA\'j! \bA(j!@@@@@A\0!@ !\r  AÿÿÿÿsJ\r  j!@@@@ "-\0\0"\v@@@@ \vAÿq"E@ !\f\v A%G\r !\v@ \v-\0A%G@ \v!\f\v Aj! \v-\0 \vAj"!\vA%F\r\0\v\v  \rk" Aÿÿÿÿs"J\r\t \0@ \0 \r Ž\v \r \b 6< Aj!A!@ ,\0A0k"\nA\tK\r\0 -\0A$G\r\0 Aj!A! \n!\v \b 6\b \b \bA\bj"60A!\t \v!\vA\0!@@ \v(\0"\rE\r\0 \bAj \rÚ\t"\rA\0H\r \r \t kK\r\0 \vAj!\v  \rj" \tI\r\v\vA=!\n A\0H\r\f \0A   \f™ E@A\0!\f\vA\0!\n \b(0!\v@ \v(\0"\rE\r \bAj"\t \rÚ\t"\r \nj"\n K\r \0 \t \rŽ \vAj!\v  \nK\r\0\v\v \0A   \fA€À\0s™    H!\f\b\v  \tA\0Hq\r\tA=!\n \0 \b+0  \t \f  A\0"A\0N\r\f\n\v -\0!\v Aj!\f\0\v\0\v \0\r\t E\rA!@  Atj(\0"\0@  Atj \0  á\tA! Aj"A\nG\r\f\v\v\v A\nO@A!\f\n\v@  Atj(\0\rA! Aj"A\nG\r\0\v\f\t\vA!\n\f\v \b :\0\'A!\t !\r \v!\f\v \t \n \rk"\v \t \vJ" AÿÿÿÿsJ\rA=!\n   j"\t \t H" K\r \0A  \t \f™ \0  Ž \0A0  \t \fA€€s™ \0A0  \vA\0™ \0 \r \vŽ \0A  \t \fA€À\0s™ \b(¢Dé§ð2¸? ¢Dh÷&0? ¢DƒàþÈÛW? ¢D“„néã&‚? ¢DþA³º¡«? ¢ ¢  ¢   " ! E@A Atk·" \0   ¢   £¡ "\0 \0 ¡"\0 \0š \v |D\0\0\0\0\0\0ð¿ £" ½B€€€€pƒ¿"  ½B€€€€pƒ¿" \0¡¡¢  ¢D\0\0\0\0\0\0ð?  ¢   \v\v—~#\0Ak"\b$\0@@@ A$L@ \0-\0\0"\r \0!\f\vAÔð\nA6\0B\0!\f\v \0!@@ ÀŽE\r -\0! Aj! \r\0\v\f\v@ Aÿq"A+k\0\0\vAA\0 A-F! Aj!\v@ ArAG\r\0 -\0\0A0G\r\0A!\t -\0AßqAØ\0F@ Aj!A\f\v Aj! A\b \f\v A\n \v"\n­!\fA\0!@@@ -\0\0"A0k"AÿqA\nI\r\0 Aá\0kAÿqAM@ A×\0k!\f\v AÁ\0kAÿqAK\r A7k!\v \n AÿqL\r\0 \b \fB\0 \vB\0„A!@ \b)\bB\0R\r\0 \v \f~"\r ­Bÿƒ"B…V\r\0 \r |!\vA!\t !\v Aj! !\f\v\v @   \0 \t6\0\v@@ @AÔð\nAÄ\x006\0 A\0 BƒP! !\v\f\v  \vV\r\v  §AqrE@AÔð\nAÄ\x006\0 B}!\f\v  \vZ\r\0AÔð\nAÄ\x006\0\f\v \v ¬"… }!\v \bAj$\0 \v‰~@@@@ \0(" \0(hG@ \0 Aj6 -\0\0\f\v \0J\v"A+k\0\0\v A-F E \0(" \0(hG@ \0 Aj6 -\0\0\f\v \0J\v"A:k"AuKr\r \0)pB\0S\r \0 \0(Ak6\f\v A:k! !A\0\v! AvI\r\0@ A0kA\nO\r\0A\0!@  A\nlj \0(" \0(hG@ \0 Aj6 -\0\0\f\v \0J\v!A0k! A̙³æ\0H A0k"A\tMq\r\0\v ¬! A\nO\r\0@ ­ B\n~|! \0(" \0(hG@ \0 Aj6 -\0\0\f\v \0J\v"A0k"A\tM B0}"B®…×ÇÂë£Sq\r\0\v A\nO\r\0@ \0(" \0(hG@ \0 Aj6 -\0\0\f\v \0J\vA0kA\nI\r\0\v\v \0)pB\0Y@ \0 \0(Ak6\vB\0 }  !\f\vB€€€€€€€€€! \0)pB\0S\r\0 \0 \0(Ak6B€€€€€€€€€\v \v¡1~|#\0A0k"$\0@@ AK\r\0 At"(üˆ\t! (ðˆ\t!@ (" (hG@  Aj6 -\0\0\f\v J\v"Ž\r\0\vA!\t@@ A+k\0\0\vAA A-F!\t (" (hG@  Aj6 -\0\0!\f\v J!\v@@ A_qAÉ\0F@@ AF\r (" (hG@  Aj6 -\0\0\f\v J\v! ,\0·\f Aj! A rF\r\0\v\v AG@ A\bF"\f\r E AIr\r \f\r\v )p"B\0Y@  (Ak6\v E AIr\r\0 B\0S!@ E@  (Ak6\v Ak"AK\r\0\v\v  \t²C\0\0€”º )\b! )\0!\f\v@@@@@@ \r\0A\0! A_qAÎ\0G\r\0@ AF\r (" (hG@  Aj6 -\0\0\f\v J\v! ,\0”j Aj! A rF\r\0\v\v \0\v@ (" (hG@  Aj6 -\0\0\f\v J\vA(F@A!\f\vB€€€€€€àÿÿ\0! )pB\0S\r  (Ak6\f\v@ (" (hG@  Aj6 -\0\0\f\v J\v"A0kA\nI AÁ\0kAIr Aß\0FrE Aá\0kAOqE@ Aj!\f\v\vB€€€€€€àÿÿ\0! A)F\r )p"B\0Y@  (Ak6\v@ @ \r\f\vAÔð\nA6\0B\0!\f\v@ B\0Y@  (Ak6\v Ak"\r\0\v\f\v )pB\0Y@  (Ak6\vAÔð\nA6\0\v B\0Ý\f\v@ A0G\r\0 (" (hG@  Aj6 -\0\0\f\v J\vA_qAØ\0F@#\0A°k"$\0 (" (hG@  Aj6 -\0\0\f\v J\v!@@ A0G@@ A.G\r (" (hF\r\0  Aj6 -\0\0\f\v (" (hGA!  Aj6 -\0\0A! J\v!\f\v\v J\v"A0G@A!\v\f\v@ B}! (" (hG@  Aj6 -\0\0\f\v J\v"A0F\r\0\vA!\vA!\vB€€€€€€Àÿ?!@@ !@@ A0k"A\nI\r\0 A.G"\f A r"Aá\0kAKq\r \f\r\0 \v\rA!\v !\f\v A×\0k  A9J!@ BW@  \bAtj!\b\f\v BX@ A0j ¸ A j  B\0B€€€€€€Àý?[ Aj )0 )8 ) " )("[  ) )  ˜ )\b! )\0!\f\v E \nr\r\0 AÐ\0j  B\0B€€€€€€€ÿ?[ A@k )P )X  ˜A!\n )H! )@!\v B|!A!\v (" (hG  Aj6 -\0\0 J\v!\f\v\v~ E@@@ )pB\0Y@  ("Ak6 E\r  Ak6 \vE\r  Ak6\f\v \r\v B\0Ý\v Aà\0jD\0\0\0\0\0\0\0\0 \t·¦ñ )`! )h\f\v BW@ !@ \bAt!\b B|"B\bR\r\0\v\v@@@ A_qAÐ\0F@  ê\t"B€€€€€€€€€R\r @ )pB\0Y\r\f\vB\0! B\0ÝB\0\f\vB\0! )pB\0S\r\v  (Ak6\vB\0!\v \bE@ Að\0jD\0\0\0\0\0\0\0\0 \t·¦ñ )p! )x\f\v   \vB† |B }"A\0 k­U@AÔð\nAÄ\x006\0 A j \t¸ Aj )  )¨BBÿÿÿÿÿÿ¿ÿÿ\0[ A€j ) )˜BBÿÿÿÿÿÿ¿ÿÿ\0[ )€! )ˆ\f\v Aâk¬ W@ \bA\0N@@ A j  B\0B€€€€€€Àÿ¿˜  B€€€€€€€ÿ?Ø\t! Aj   )   A\0N" )¨  ˜  \bAt"r!\b B}! )˜! )! A\0N\r\0\v\v~ A k­|"§"A\0 A\0J   ­S"Añ\0O@ A€j \t¸ )ˆ! )€!B\0\f\v AàjD\0\0\0\0\0\0ð?A k´ñ AÐj \t¸ )Ð! Aðj )à )è )Ø"î\t )ø! )ð\v! AÀj \b \bAqE  B\0B\0×A\0G A Iqq"rˆ A°j   )À )È[ Aj )° )¸  ˜ A j  B\0  B\0  [ A€j )  )¨ ) )˜˜ Aðj )€ )ˆ  ² )ð" )ø"B\0B\0×E@AÔð\nAÄ\x006\0\v Aàj   §í\t )à! )è\f\vAÔð\nAÄ\x006\0 AÐj \t¸ AÀj )Ð )ØB\0B€€€€€€À\0[ A°j )À )ÈB\0B€€€€€€À\0[ )°! )¸\v!  7  7 A°j$\0 )! )!\f\v )pB\0S\r\0  (Ak6\v ! ! \t!\f !\tA\0!#\0AÆ\0k"$\0A\0 k" k!@@@ A0G@ A.G\r (" (hF\r  Aj6 -\0\0\f\v (" (hG@  Aj6 -\0\0! J!\vA!\f\v\v J\v"A0F@@ B}! (" (hG@  Aj6 -\0\0\f\v J\v"A0F\r\0\vA!\vA!\v\v A\x006~@@@@ A.F" A0k"A\tMr@@@ Aq@ \vE@ !A!\v\f\v E!\f\v B|! \bAüL@ \r § A0F!\r Aj \bAtj" \n  (\0A\nljA0k \v6\0A!A\0 \nAj" A\tF"!\n  \bj!\b\f\v A0F\r\0  (€FAr6€FA܏!\r\v (" (hG@  Aj6 -\0\0\f\v J\v"A.F" A0k"A\nIr\r\0\v\v   \v! E A_qAÅ\0GrE@@  \tê\t"B€€€€€€€€€R\r\0 \tE\rB\0! )pB\0S\r\0  (Ak6\v  |!\f\v E! A\0H\r\v )pB\0S\r\0  (Ak6\v E\rAÔð\nA6\0\v B\0ÝB\0!B\0\f\v ("E@ D\0\0\0\0\0\0\0\0 \f·¦ñ )\b! )\0\f\v  R B\tUr AMA\0  vrE@ A0j \f¸ A j ˆ Aj )0 )8 ) )([ )! )\f\v Av­ S@AÔð\nAÄ\x006\0 Aà\0j \f¸ AÐ\0j )` )hBBÿÿÿÿÿÿ¿ÿÿ\0[ A@k )P )XBBÿÿÿÿÿÿ¿ÿÿ\0[ )H! )@\f\v Aâk¬ U@AÔð\nAÄ\x006\0 Aj \f¸ A€j ) )˜B\0B€€€€€€À\0[ Að\0j )€ )ˆB\0B€€€€€€À\0[ )x! )p\f\v \n@ \nA\bL@ Aj \bAtj"(\0!@ A\nl! \nAj"\nA\tG\r\0\v  6\0\v \bAj!\b\v@ \rA\tN BUr §"\n \rHr\r\0 B\tQ@ AÀj \f¸ A°j (ˆ A j )À )È )° )¸[ )¨! ) \f\v B\bW@ Aj \f¸ A€j (ˆ Aðj ) )˜ )€ )ˆ[ AàjA\b \nkAt(Ј\t¸ AÐj )ð )ø )à )è×\t )Ø! )Ð\f\v  \nA}ljAj"ALA\0 (" v\r\0 Aàj \f¸ AÐj ˆ AÀj )à )è )Ð )Ø[ A°j \nAtA¨ˆ\tj(\0¸ A j )À )È )° )¸[ )¨! ) \f\v@ \b"Ak!\b Aj Atj"Ak(\0E\r\0\vA\0!\r@ \nA\to"E@A\0!\f\v A\tj  B\0S!@ E@A\0!A\0!\f\vA€”ëÜA\0 kAtAðˆ\tj(\0"\vm!A\0!A\0!A\0!@ Aj Atj"\t  \t(\0"\b \vn"\tj"6\0 AjAÿq  E  Fq"! \nA\tk \n !\n  \b \t \vlkl! Aj" G\r\0\v E\r\0  6\0 Aj!\v \n kA\tj!\n\v@ Aj Atj! \nA$H!@@ E@ \nA$G\r (\0AÑéùO\r\v Aÿj!\bA\0!@ !\t ­ Aj \bAÿq"\vAtj"5\0B†|"B”ëÜTA\0  B€”ëÜ€"B€”ëÜ~}! §\v!  >\0 \t \t \t \v B\0R \v \tAkAÿq"G  \vF! \vAk!\b  \vG\r\0\v \rAk!\r \t! E\r\0\v AkAÿq" F@ Aj"\t AþjAÿqAtj" (\0 At \tj(\0r6\0 !\v \nA\tj!\n Aj Atj 6\0\f\v\v@@ AjAÿq!\t Aj AkAÿqAtj!@A\tA \nA-J!@@ !A\0!@@@  jAÿq" F\r\0 Aj Atj(\0"\b At(Àˆ\t"I\r\0  \bI\r Aj"AG\r\v\v \nA$G\r\0B\0!A\0!B\0!@   jAÿq"F@ AjAÿq"At jA\x006Œ\v A€j Aj Atj(\0ˆ Aðj  B\0B€€€€åš·ŽÀ\0[ Aàj )ð )ø )€ )ˆ˜ )è! )à! Aj"AG\r\0\v AÐj \f¸ AÀj   )Ð )Ø[B\0! )È! )À! \rAñ\0j" k"\bA\0 \bA\0J  \b H"\t"Að\0M\r\f\v \r j!\r !  F\r\0\vA€”ëÜ v!\vA tAs!A\0! !@ Aj" Atj"\b  \b(\0"\b vj"6\0 AjAÿq  E  Fq"! \nA\tk \n !\n \b q \vl! AjAÿq" G\r\0\v E\r  \tG@ At j 6\0 \t!\f\v  (\0Ar6\0\f\v\v\v AjD\0\0\0\0\0\0ð?Aá k´ñ A°j ) )˜ î\t )¸! )°! A€jD\0\0\0\0\0\0ð?Añ\0 k´ñ A j   )€ )ˆì\t Aðj   ) " )¨"² Aàj   )ð )ø˜ )è! )à!\v@ AjAÿq" F\r\0@ Aj Atj(\0"AÿɵîM@ E AjAÿq Fq\r Aðj \f·D\0\0\0\0\0\0Ð?¢ñ Aàj   )ð )ø˜ )è! )à!\f\v A€ÊµîG@ AÐj \f·D\0\0\0\0\0\0è?¢ñ AÀj   )Ð )ؘ )È! )À!\f\v \f·!  AjAÿqF@ Aj D\0\0\0\0\0\0à?¢ñ A€j   ) )˜˜ )ˆ! )€!\f\v A°j D\0\0\0\0\0\0è?¢ñ A j   )° )¸˜ )¨! ) !\v Aï\0K\r\0 AÐj  B\0B€€€€€€Àÿ?ì\t )Ð )ØB\0B\0×\r\0 AÀj  B\0B€€€€€€Àÿ?˜ )È! )À!\v A°j    ˜ A j )° )¸  ² )¨! ) !@ Ak AÿÿÿÿqN\r\0  Bÿÿÿÿÿÿÿÿÿ\0ƒ7˜  7 A€j  B\0B€€€€€€€ÿ?[ ) )˜B€€€€€€€¸À\0Ø\t! )ˆ  A\0N"! )€  ! \t  \bG A\0Hrq  B\0B\0×A\0GqE   \rj"\rAî\0jNq\r\0AÔð\nAÄ\x006\0\v Aðj   \rí\t )ø! )ð\v!  7(  7 AÆ\0j$\0 )(! ) !\f\vB\0!\f\vB\0!\v \0 7\0 \0 7\b A0j$\0\vÃ~#\0A€k"$\0@@@  B\0B\0×E\r\0 Bÿÿÿÿÿÿ?ƒ!\n B0ˆ§Aÿÿq"AÿÿG@A \rAA  \n„P\f\v  \n„P\v\vE\r\0 B0ˆ§"\bAÿÿq"AÿÿG\r\v Aj    [  )" )"  ×\t )\b! )\0!\f\v  Bÿÿÿÿÿÿÿÿÿ\0ƒ"\n  Bÿÿÿÿÿÿÿÿÿ\0ƒ"\t×A\0L@  \n  \t×@ !\f\v Að\0j  B\0B\0[ )x! )p!\f\v B0ˆ§Aÿÿq! ~  Aà\0j  \nB\0B€€€€€€À»À\0[ )h"\nB0ˆ§Aø\0k! )`\v! E@ AÐ\0j  \tB\0B€€€€€€À»À\0[ )X"\tB0ˆ§Aø\0k! )P!\v \tBÿÿÿÿÿÿ?ƒB€€€€€€À\0„!\v \nBÿÿÿÿÿÿ?ƒB€€€€€€À\0„!\n  J@@~ \n \v}  V­}"\tB\0Y@ \t  }"„P@ A j  B\0B\0[ )(! ) !\f\v \tB† B?ˆ„\f\v \nB† B?ˆ„\v!\n B†! Ak" J\r\0\v !\v@ \n \v}  V­}"\tB\0S@ \n!\t\f\v \t  }"„B\0R\r\0 A0j  B\0B\0[ )8! )0!\f\v \tBÿÿÿÿÿÿ?X@@ B?ˆ Ak! B†! \tB†„"\tB€€€€€€À\0T\r\0\v\v \bA€€q! A\0L@ A@k  \tBÿÿÿÿÿÿ?ƒ Aø\0j r­B0†„B\0B€€€€€€ÀÃ?[ )H! )@!\f\v \tBÿÿÿÿÿÿ?ƒ  r­B0†„!\v \0 7\0 \0 7\b A€j$\0\v¿#\0AÐ\0k"$\0@ A€€N@ A j  B\0B€€€€€€€ÿÿ\0[ )(! ) ! AÿÿI@ Aÿÿ\0k!\f\v Aj  B\0B€€€€€€€ÿÿ\0[Aýÿ  AýÿOAþÿk! )! )!\f\v A€J\r\0 A@k  B\0B€€€€€€€9[ )H! )@! Aô€~K@ Aÿ\0j!\f\v A0j  B\0B€€€€€€€9[Aè}  Aè}MAšþj! )8! )0!\v   B\0 Aÿÿ\0j­B0†[ \0 )\b7\b \0 )\x007\0 AÐ\0j$\0\v<\0 \0 7\0 \0 Bÿÿÿÿÿÿ?ƒ B€€€€€€Àÿÿ\0ƒB0ˆ§ B0ˆ§A€€qr­B0†„7\b\v \0A\0 Ú" \0k  \vŒ \0 \0-\0A r:\0 \0Aøà\tAA\03"Aàà\tA¼Þ\t(\0f6\b Aàà\tA¼Þ\t(\0f6\f Aàà\tA¼Þ\t(\0f6@@ \0(D"@  A\0ø"F\r (\b (\b¬ (\f (\f¬ ( (¬\f\vA´Î\n(\0"E \0 Fr\r\0 A\0ø"(\b (\b \0A› (\f (\f \0A› ( ( \0A\0›\v \0(D" \0  \0ç\t\vA´±AçºAñ\0A¸#\0\0\v¥A°ó\n(\0"@A¬ó\n(\0!@ \0  Atj"(\0"F@  6\0 \0\v  ErE@  6\0A\0!\v Aj" G\r\0\v\v@ E\r\0A¬ó\n(\0 AtAjb"\0E\r\0A¬ó\n \x006\0A°ó\nA°ó\n(\0"Aj6\0 \0 Atj 6\0\v\v\n\0 \0hA\0 \0\vš#\0A€k"$\0@ AH\r\0  Atj" 6\0 \0E\r\0@ (\0 (\0A€ \0 \0A€O"¤A\0!@  Atj"(\0  Aj"Atj(\0 ¤  (\0 j6\0  G\r\0\v \0 k"\0\r\0\v\v A€j$\0\v) \0(\0Akò\t"  \0(ò\t"\0A rA\0 \0\v\v[#\0Ak"$\0 ~ AÀ\0qE@B\0 A€€„qA€€„G\r\v  Aj6\f 5\0\v7\0Aœ \0 A€€r \v‹ Aj$\0\v7@ E\r\0 Aÿq!@  \0 Ak"j"-\0\0G@ \r\f\v\v \vA\0\vE| \0  ¢"9\0   D\0\0\0\0\0 A¢"  ¡ "¡" ¢    ¢  ¢ ¡  9\0\vÃ@ ("  £\r (\v ("k I@  \0  ($\0\v@@ E (PA\0Hr\r\0 !@ \0 j"Ak-\0\0A\nG@ Ak"\r\f\v\v  \0  ($\0" I\r  k! (!\f\v \0!A\0!\v   ¤  ( j6  j!\v \v4 \0A\x006€ \0A6D \0 (d"6„ @  \x006€\v  \x006d\v> \0(D@ \0(€! \0(„"\0@ \0 6€\v @  \x006„\vAˆó\n \x006\0\v\vR\0 \0A\0H@Ax‹\v@ \0A\0N@Añ€-\0\0\r \0 \f\v \0AœG@Añ€-\0\0\v\v \0Añ€ A€ \v‹\v›@ AO@AÔð\nA6\0\f\v@ AG\r\0 \0(\b"E\r\0   \0(k¬}!\v \0( \0(G@ \0A\0A\0 \0($\0 \0(E\r\v \0A\x006 \0B\x007 \0   \0((\0B\0S\r\0 \0B\x007 \0 \0(\0Aoq6\0A\0\vA\v/\0 \0 \0 – ¼AÿÿÿÿqA€€€üK  \0¼AÿÿÿÿqA€€€üM\v\0 \0(<"\0A\0HAÔð\nA\b6\0A \0\v\v \0(\0 \0A\x006\0\v\0 \0 \0(\0"\0Aÿÿÿÿ \06\0 \0\v\r\0 \0(\0AvAq\v¼|~|@ \0ÎAÿq"D\0\0\0\0\0\0<Î"kD\0\0\0\0\0\0€@Î kI@ !\f\v  K@ \0D\0\0\0\0\0\0ð? \vA\0!D\0\0\0\0\0\0@Î K\r\0D\0\0\0\0\0\0\0\0 \0½"B€€€€€€€xQ\rD\0\0\0\0\0\0ðÎ M@ \0D\0\0\0\0\0\0ð? \v B\0S@D\0\0\0\0\0\0\0ƒ\n\vD\0\0\0\0\0\0\0pƒ\n\v \0AÀä\b+\0¢AÈä\b+\0" " ¡"AØä\b+\0¢ AÐä\b+\0¢ \0  " ¢"\0 \0¢ Aøä\b+\0¢Aðä\b+\0 ¢ \0 Aèä\b+\0¢Aàä\b+\0 ¢ ½"§AtAðq"+°å\b    ! )¸å\b B-†|!\b E@| B€€€€\bƒP@ \bB€€€€€€€ˆ?}¿"\0 ¢ \0 D\0\0\0\0\0\0\0¢\f\v \bB€€€€€€€ð?|¿" ¢"  "D\0\0\0\0\0\0ð?c|#\0Ak" B€€€€€€€\b7\b +\bD\0\0\0\0\0\0\0¢9\bD\0\0\0\0\0\0\0\0 D\0\0\0\0\0\0ð? "\0   ¡  D\0\0\0\0\0\0ð? \0¡   D\0\0\0\0\0\0ð¿ "\0 \0D\0\0\0\0\0\0\0\0a \vD\0\0\0\0\0\0\0¢\v\v \b¿"\0 ¢ \0 \v\v#\0Ak" \x009\b \0 +\b¢\vT#\0A k"$\0 \0 Ü"\0 B\x007\b A\x006 B\x007 B\x007\0  6\b \0 A \0(\0\0A\0\v A j$\0\vÂ~#\0Ak"$\0A!#\0A k"\0$\0AB \0Aj³A \0)! \0A\x006 \0 B€”ëÜ€"7\b \0  B€”ëÜ~}>  \0)7\b  \0)\b7\0A\0\v! \0A j$\0@ \r\0 )\0"BãU\r\0 (\bAèm"\0¬Bÿÿÿÿ BÀ„=~"}U\r\0 \0 §j!\v Aj$\0 \v£#\0A0k"\b$\0@ \0\r\0A´Î\n(\0"\0\r\0 \bAˆá\t(\x006\fA´Î\nA\0 \bA\fjA\0»"\x006\0\v@@ @ \06! \0Aø@ \0 Ü" ª"@@ \0 F\r\0 E\r AœG\r\0A•A\0(\v@ \r\0 \0A\0 „\n"E\r\0 \0k!@ E\r Aø("\t ªE@  ?"\ni!\v \t 6  \n \vA\0G (A\0ÍA \t(\0\0\v j!\f\0\v\0\v \0 (\f" iA\0Gz  @ \0 ™\f\v \0 ”\v6\f\f\v \bB\x007 \bA\x006( \bB\x007 \bB\x007 \b 6  \bAjA (\0\0"@  \0    ( Í"A (\0\0\f\v  Ü"     ƒ Í"A (\0\0@@@@ \0\v !@ E\r \0  ¡  !\f\0\v\0\v !@ E\r  *!@ @ \0  ¡  /!\f  !\f\v\0\v\0\v\0\v \bA¬6 \bAçº6\0Aˆ÷\b(\0AØÀ \b5\0\v  A A÷\v  ErE@ \0    \v \0 \0 ÷\n\f\v \0  „\n!\v \bA0j$\0 \vA«×A¦ü\0A\fA<\0\0\vMA!@ \0("(¸! (´ H@   Atj(\0"((\f  ‡\n Aj!\f\v\v\væ|#\0Aà\0k"$\0 \0("+!\t +!\nAŒË\n-\0\0AO@ ÷  \0 6PAˆ÷\b(\0AÅö AÐ\0j\v@ E@Aˆ÷\b(\0!\f\vAˆ÷\b(\0! \0! A@k!@ E\r@ ("(€ \0G\r\0  \n + 9  \t + 9AŒË\n-\0\0AI\r\0 ÷  ! ("+!\b  +9\0  \b98  60 A§¬ A0j1\v \0 !\f\0\v\0\v Aj!A!@ \0("(´ N@ (¸ Atj(\0! @ \t ("+( !\b \n +  !\v \t + !\f \n + !\rAŒË\n-\0\0AO@ ÷  !  \b9  \v9  \f9  \r9\b  6\0 A•¬ 1 (!\v  \b9(  \v9  \f9  \r9\v  ˆ\n Aj!\f\v\v Aà\0j$\0\v¿\v|#\0AÀk"$\0 \0(H!\nAŒË\n-\0\0AO@ ÷  \0 6°Aˆ÷\b(\0A¢ñ A°j\v Aj!\tA!@ \0("(´ H@@@ \0: k"A\0 \0("(´k"\vG\r\0 (\f\r\0 B\x007 B\x007 B€€€€€€€™À\x007( B€€€€€€€™À\x007 \f\v@@ \0AA A jŸAM@ A6°\f\vA\0" (°AG\r -\0¼AqE\r \nA\0A•A\0!" \nAA•A\0!"r\r  \0 6 A˜  A j(\vA\0\v!A\0!\v AèjA\0A8ü\v\0 B\x007à B\x007Ø B\x007Ð B\x007È B\x007À B\x007¸A!@@ \0("(´ H@ A\0L\r \0!@ E\r ("(€E@  \x006€ B\x007ˆ B\x007€ +`! +X!  +P9˜    9 AèjA $! (è Atj" )˜7  )7  )ˆ7\b  )€7\0 @   A\0A\0T6Ì A¸jA$! (¸ Atj (Ì6\0\v  6ä AÐjA$! (Ð Atj (ä6\0\v \0 !\f\0\v\0\v  (¸ Atj(\0"\t(")(7˜  ) 7  )7ˆ  )7€ AèjA $! (è Atj" )˜7  )7  )ˆ7\b  )€7\0 @  \t A\0A\0T6Ì A¸jA$! (¸ Atj (Ì6\0\v  \t6ä AÐjA$! (Ð Atj (ä6\0 Aj!\f\v\v  (À  )¸7  )À7˜ (¸ AjA\0AtjA\0\v6¸A\0! (ð"@  )è7€  )ð7ˆ (è A€jA\0Atj!\vAˆ÷\b(\0!\fDÿÿÿÿÿÿïÿ!Dÿÿÿÿÿÿï! A j!\r#\0Að\0k"\b$\0@ E\r\0@@ \r(Ak\0\v   \r(\bö\v!AŒË\n-\0\0@ \b 6PAˆ÷\b(\0A±È \bAÐ\0j\v A\0L\r A!@  F@A\0! A!@  F@  AA¶šA\0!ø!\n A!@  F@ A\0!@  F@  \n A\0!AŒË\n-\0\0AI\r\tAˆ÷\b(\0!\t@  F\r\n  Atj"+\0! \b +\b9 \b 9\b \b 6\0 \tAô¨ \b1 Aj!\f\0\v\0  Atj( Aj!\f\v\0\v\0   Atj(\0"\t \n  \t(\fAtj  \r(\b „ Aj!\f\v\0\v\0  Atj  Atj6\0 Aj!\f\v\0\v\0  Atj"\n 6\f \r(\b!\t \bB\x007h \bB\x007` \b  Atj")\x0070 \b )\b78 \b )7@ \b )7H \bB\x007 \bB\x007( \bA0j \n  \t \bA jAñ€õ\v Aj!\f\v\0\v\0\v   \ró\v!\v \bAð\0j$\0 !\nDÿÿÿÿÿÿï!Dÿÿÿÿÿÿïÿ!A\0!@ (ð M@@ \0("(\f"E\r\0 +" \v F@ + !D\0\0\0\0\0\0\0\0!D\0\0\0\0\0\0\0\0! !\v  ¡¡"D\0\0\0\0\0\0\0\0dE\r\0  D\0\0\0\0\0\0à?¢" !  ¡!\v  (¨¸D\0\0\0\0\0\0à?¢D\0\0\0\0\0\0\0\0 A\0J" !  ¡!  +X   !  +8  ¡!AŒË\n-\0\0AO@ ÷ \0 !  9ð  9è  9à  9Ø  6Ð \fA•¬ AÐj1\vA\0!@ (Ø M@ \0("B\x007 B\x007   ¡"9(   ¡"9 A\0!AŒË\n-\0\0AK@ ÷ \0 !\0  9À  9¸ B\x007° B\x007¨  \x006  \fA•¬ A j1\v@ (À M@ A¸j"\0A- \02A\0!@ (ð M@ Aèj"\0A - \02A\0!@ (Ø M@ AÐj"\0A- \02 \n  )Ø7˜  )Ð7 Aj !@@@ (à"\0\0\v (Ð Atj(\0\f\v (Ð Atj(\0 \0\0\v Aj!\f\v\v  )ð7ˆ  )è7€ A€j !@@@ (ø"\0\0\vAâƒAÂ\0A \f75\0\v  (è Atj")\x007à  )\b7è  )7ð  )7ø Aàj \0\0\v Aj!\f\v\v  )À7Ø  )¸7Ð AÐj !@@@ (È"\0\0\v (¸ Atj(\0\f\v (¸ Atj(\0 \0\0\v Aj!\f\v\v \0((´!  )Ð7À  )Ø7È (Ð AÀj Atj(\0!\v@  K@ \v(" +( ¡"9(  + ¡"9  + ¡"9  + ¡"9AŒË\n-\0\0AI\r ÷ \v !  9  9ˆ  9€  9x  6p \fA•¬ Að\0j1\f\v \vE\r\0 \v(" + ¡9  + ¡9AŒË\n-\0\0AI\r\0 ÷ \v !\t \v("+!  +9°  9¨  \t6  \fA§¬ A j1\v Aj!\f\v\v \n Atj"+\b! +\0!  )è7`  )ð7h (è Aà\0j Atj"+! +! +\b! +\0! \0((´!  )Ð7P  )Ø7X (Ð AÐ\0j Atj(\0!    ""!    ""!    "\'!    "\'!@  K@ (" 9(  9  9  9AŒË\n-\0\0AI\r ÷  !  9  9  9  9\b  6\0 \fA•¬ 1\f\v E\r\0 ("   D\0\0\0\0\0\0à?¢9    D\0\0\0\0\0\0à?¢9AŒË\n-\0\0AI\r\0 ÷  !\t ("+! A@k +9\0  98  \t60 \fA§¬ A0j1\v Aj!\f\v\v\v (¸ Atj(\0" \t‰\n Aj! : j!\f\v\v AÀj$\0\v«#\0A0k"$\0 B\x007( B\x007 B\x007 E@ Aj"A$! ( Atj (,6\0 \f\v \v! \0k!@ @ !  ¢ A‡&A˜A3 »  6 A$! (\0 Atj (6\0A\0 \vŠ\n j!\f@@ \r\0 ( "Ak"A\0H\r \0( 6´ AM@A\0!A!@  O@ Aj"\0A- \02\f  ) 7  )7\b A\bj !\0@@@ (("\0\v ( \0Atj(\0\f\v ( \0Atj(\0 \0\v Aj! ( !\f\v\0\v\0\v Aj"A°  \0(A¸jA\0A«\v A0j$\0\vAÍAĹA²AÖ)\0\0\v\0\v\0\v¢#\0A0k"$\0 B\x007( B\x007 B\x007 E@ Aj"A$! ( Atj (,6\0 \f\v \v! \0k!@ @ !  ¢ A‡&A˜A3  6 A$! (\0 Atj (6\0A\0 \v‹\n j!\f\v\v@@ \r\0 ( "Ak"A\0H\r \0( 6´ AM@A\0!A!@  M@ Aj"\0A- \02\f  ) 7  )7\b A\bj !\0@@@ (("\0\v ( \0Atj(\0\f\v ( \0Atj(\0 \0\v Aj! ( !\f\v\0\v\0\v Aj"A°  \0(A¸jA\0A«\v A0j$\0\vAÍA¨¹A?AÖ)\0\0\v6|D\0\0\0\0\0@@ \0 D\0\0\0\0\0\0ð?D\0\0\0\0\0\0\0\0F"D\0\0\0\0\0@@¢ ½P\v\n\0AAÈ\0\v7 \0(@! \0(0!@  F@ \0 (4 Ž\n Aj!!\f\v\v\vÌ|#\0Að\0k"$\0@ \0(sA¥\v\v Aj$\0\v`#\0A k"$\0@ \0(\b \0(\0"kAm I@ A«ÕªÕ\0O\r \0 A\fj  \0( kAm \0­\v"\0¬\v \0«\v\v A j$\0\vá\0\v™@ "(\0"@ (E\r “"(\0"\r\v ("\r\0 (\b!A\0!A\f\v  (\b"6\bA\0\v!@ (\0" F@  6\0 \0 F@A\0! !\0\f\v (!\f\v  6\v -\0\f!  G@  (\b"6\b@ (\0 F@  6\0\f\v  6\v  (\0"6\0  6\b  ("6 @  6\b\v  -\0\f:\0\f  \0 \0 F!\0\v \0E AqErE@ @@ -\0\f!@ (\b"(\0 G@ AqE@ A:\0\f A\0:\0\f à  \0 \0 (\0"F!\0 (!\v@@@@ (\0"@ -\0\fAG\r\v ("@ -\0\fAG\r\v A\0:\0\f \0 (\b"G@ -\0\f\r\v A:\0\f\v ("E\r\v -\0\fAG\r\v A:\0\f A\0:\0\f ß (\b"(!\v  (\b"\0-\0\f:\0\f \0A:\0\f A:\0\f \0à\v AqE@ A:\0\f A\0:\0\f ß  \0 \0 ("F!\0 (\0!\v@ (\0"@ -\0\fAG\r\v@ ("@ -\0\fAG\r\v A\0:\0\f (\b"-\0\fAF \0 Gq\r A:\0\f\v  -\0\fAG\r ( \vA:\0\f A\0:\0\f à (\b"(\0!\v  (\b"\0-\0\f:\0\f \0A:\0\f A:\0\f \0ß\v (\b"AA\0  (\0Fj(\0!\f\0\v\0\v A:\0\f\v\v¤@ \0( \0,\0\v" A\0H" I@  k"@  \0(\b"AÿÿÿÿqAkA\n \0,\0\v"A\0H"" \0(  "kM@ Av\f\v \0   j k  »\t \0-\0\v\v! \0(\0 \0 ÀA\0H" j! !@ @ A\0:\0\0 Ak! Aj!\f\v\v  j!@ \0,\0\vA\0H@ \0 6\f\v \0 Aÿ\0q:\0\v\v  jA\0:\0\0\v\f\v@ \0,\0\vA\0H@ \0 6 \0(\0!\0\f\v \0 Aÿ\0q:\0\v\v \0 jA\0:\0\0\v\v- \0(\0"@ \0 6 \0(\b  \0A\x006\b \0B\x007\0\v\v\0 \0AøÁ\n6\0 \0A$jÑ \0é\vû\n|#\0A k"$\0 \0A\bj! \0(!@  G@ (" É\v"\v9  \v +£9 “!\f\v\v \0A\x006 \0A$j! \0A\bj!\b \0Aj! \0(!@@  \bG@  (Å\v"6@ E\r\0 +DH¯¼šò×z¾cE\r\0 \0 \0( Aj6 (\0( ! A\x006 A\x006  (( G\r +!\v  Aj"\t Aj"\n í (" \v9 (" \v9  \v +¢9  + +¢9 A\fj"  \tœ   \nœ A:\0(  Aj¥\v “!\f\v\v ë A j$\0\vA”õ\0AúÙ\0AõAÌ-\0\0\v\r\0 \0-\0AsAq\vŽ| \0Aj! \0(\0!\0| \0 F|  D\0\0\0\0\0\0\0\0! \0("(! (\0!|  F|  (\0"+ ( + +  +\b¡"¢ ¢  ! Aj!\f\v\v ! \0“!\0\f\v\v\vš|A°î\nA°î\n(\0Aj"6\0 \0 6, \0ö@@ \0ô"E\r\0 üD\0\0\0\0\0\0\0\0cE\r\0 \0A0jâ (\0"( "(0 (4F@ ö (\0!\v +\b! +!\b (+!\t \0(\0! \0(! (\0! (!A°î\nA°î\n(\0Aj6\0 \0   k  kI"!  \0 "\0   \t \b¡ ¡"š  î \0ô ô \0A0j A0jÆ\v \0A°î\n(\x006, A:\0(\f\v\v\vä#\0Ak"$\0  6\f A:\0$ (8! (4!@  G@ (\0("-\0$E@ \0  ¼\v\v Aj!\f\v\v#\0Ak"\0$\0 \0A6\b \0A\f_6\f \0(\f"A\x006 A\x006\0  (\f6\b \0A\x006\f \0(\f"@ \0(\b \v \0Aj$\0  6\0  ("\x006 \0 6\0  6  (\bAj6\b Aj$\0\v\0 \0A\0 \0(\0!\0 @  \0((\0A A\0!"  \0((\0A Añ€!\v a\v\vË@@ \0E\r \0("-\0p@ (x!\0\f\v\v@ E\r ("-\0p@ (x!\f\v\v -\0™\r\0 -\0™\r\0 \0A(AØ\0 \0(\0Aq"AFj(\0((ô \0A(Ax AFj(\0((ôk A(AØ\0 (\0Aq"\0AFj(\0((ô A(Ax \0AFj(\0((ôklA\0J!\v \v7@ \0("\0-\0¬AG\r\0 \0(ÌAG\r\0 \0(ÄAG\r\0 \0(xE!\v \vÓ\b#\0A0k"$\0 \0("(ì! (è!@  JE@ (Œ AtjA\x006\0 Aj!\f\v\v \0„\r \0!@ @ \0 ’\f \0 *!@ "@@ "((°"\r\0\v@@ E\r\0  A0k" (\0AqAF(("((ô A(Ax (\0AqAFj(\0((ôN\r\0 \0 ’\f   (\0AqAF((((È(\0!\f\v\v \0 /!\f \0 !\f\v\0\v\0\v\v \0("(è!A!@@ (ì H@@A\0 \0("(´ H\r At Aj! (¸j(\0˜\fE\r\0\f\v\0\v At" (Œj(\0"E@  6\0AøÃ 4\f\v  AÈ\0l"\b \0S((Äj( ((øAtj(\0G@  !\0 ((ø!  6(  6$  \x006 A¢Ä A j4\f\v \0S! \0("(Ä" \bj ((Ä \bj( (Œ j(\0((øAtj6A!A\0!@ !@@   \bj"(\0N\r\0 ( Atj(\0"E\r\0 ("-\0¬\r  \0 ‘\r\v AF@ \0 !  6  6AÇ Aj(\v \0("(Ä \bj Aj6\0 Aj!\f\v (À(\0!@@ "E\r ((x"\r\0\v \0 A(AØ\0 (\0AqAFj(\0‘E\r\0   \0 A(Ax (\0AqAFj(\0‘\f\v \v! Aj! \0((Ä!\f\0\v\0\v\vA\v A0j$\0\vä \0A(AØ\0 \0(\0Aq"AFj! \0A(Ax AFj(\0((À!A\0!\0@  Atj(\0"@@ A(AØ\0 (\0AqAFj(\0((ø" (\0((øk lA\0L\r\0 ("(\bE@ (x"E\r ((\bE\r\v \0@ \0A(AØ\0 \0(\0AqAFj(\0((ø k lA\0L\r\v !\0\v Aj!\f\v\v \0\vâ \0A(Ax \0(\0Aq"AFj! \0A(AØ\0 AFj(\0((È!A\0!\0@  Atj(\0"@@ A(Ax (\0AqAFj(\0((ø" (\0((øk lA\0L\r\0 ("(\bE@ (x"E\r ((\bE\r\v \0@ \0A(Ax \0(\0AqAFj(\0((ø k lA\0L\r\v !\0\v Aj!\f\v\v \0\vJ|@ ("+" \0("\0+fE\r\0  \0+ eE\r\0 +" \0+fE\r\0  \0+(e!\v \vÈ@ ("-\0¬E@ (è"!\f\v (È(\0((x"A(Ax (\0Aq"AFj(\0((è! A(AØ\0 AFj(\0((è!\v ("-\0¬E@ (è"A\0 \0 G"\0A\0 \0 GA\0 \0 GA\0 \0\v@@ (È(\0((x"A(AØ\0 (\0Aq"AFj(\0((è"A\0 \0 G"E  Fr  FrE@  ›\f\r\v A(Ax AFj(\0((è"A\0 \0 G"\0E \0 Fr\rA\0! \0 F\r\0 \0A\0  ›\f!\v \vA\0\vŸ\b \0((Ä ("\b(ôAÈ\0lj!\t \b(ø"\n!@@A\0!\v  j"A\0H\r\0  \t(\0N\r\0@@ \t( Atj(\0"\v("-\0¬\0\v (x\r\v (ø!\f@ (ÌAG@ \b(ÌAG\r\f\v E\r\0 (È(\0!\0A\0! !@ AF\r \0A(Ax \0(\0AqAFj(\0"\0 A(Ax (\0AqAFj(\0"F\r \n \fH \0("\0(ø ("(øLF\r \0(ÌAG\r \0-\0¬E\r (ÌAG\r -\0¬E\r \0(È(\0!\0 Aj! (È(\0!\f\0\v\0\v E\r\0 (ÄAG\r\0 (À(\0!A\0! !\0@ AF\r A(AØ\0 (\0AqAFj(\0" \0A(AØ\0 \0(\0AqAFj(\0"F\r \n \fH ("\0(ø ("(øLF\r \0(ÄAG\r \0-\0¬E\r (ÄAG\r -\0¬E\r \0(À(\0! Aj! (À(\0!\0\f\0\v\0\v\v \v\v‡|#\0AÐ\0k"$\0 A\bj"\b A(ü\n\0\0 A0j \0 \b A\0 ä  )H7  )@7  )87\b  )07\0 A60 +!\t +\0!\n@ @  A A\0£\f\v  A A\0¢\v@ \t \ndE\r\0 ("+ \0((Ä (ôAÈ\0lj+¡"\v  (4"Atj"\0+ "\fcE\r\0  Aj64 \0 \f9P \0 \t9H \0 \v9@ \0 \n98\v AÐ\0j$\0\v{ \0(\0"((\0   AQ"@ \0 Aø   A(AØ\0 (\0Aq"AFj(\0 A(Ax AFj(\0"G  Fq"•\f \0 A´   •\f  ñ\f\v\vš| \0A(Ax \0(\0AqAFj!A\0!\0@@ (\0"(-\0¬AG\r\0 AðÀ\n(\0\0\r\0 \0 (P" \0 K!@ \0 F\r ("+" (T \0Atj"+\bc@ \0Aj!\0\f\v\v@ + c\r\0 +! +\0! (x@  9   ¡9X   +`  ¡9`\f\v    D\0\0\0\0\0\0à?¢"\b9   \b¡9`  \b ¡9X\v (È(\0"A(Ax (\0AqAFj!\f\v\v\v©|#\0Að\0k"$\0 Aš\f! Aš\f!@ @ ÒE\r\v @ ÒE\r\v A™\f! A™\f! @ ÒE\r\v @ ÒE\r\v A8j!A\0!@ (4 L@ \0(P!A\0! (\b"!@  O@ A8j! (4!@ A\0L@   Aj"j"Ak"  I! !@  F@ Ak!\bA\0! \0(P" A\0Gk!\t@ " \tF\r\t \0(T" Aj"Atj!  Atj!  kAq  I  \bKrrE@ +\0D\0\0\0\0\0\x000@ "\n +d@  \n9\v +D\0\0\0\0\0\x000À "\n +\0cE\r  \n9\0\f\v  kAq  I  \bOrr\r\0 +"\n +\0D\0\0\0\0\0\x000@ c@  \nD\0\0\0\0\0\x000À 9\0\v +\0"\n +D\0\0\0\0\0\x000À dE\r\0  \nD\0\0\0\0\0\x000@ 9\f\0\v\0 \0(T Atj"+\0!\n@  kAqE@ \n +"\vfE\r  \n \v D\0\0\0\0\0\0à?¢"\nD\0\0\0\0\0\0 @ 9  \nD\0\0\0\0\0\0 À 9\0\f\v +"\v \nD\0\0\0\0\0\x000@ cE\r\0  \n \v D\0\0\0\0\0\0à?¢"\nD\0\0\0\0\0\0 @ 9  \nD\0\0\0\0\0\0 À 9\0\v Aj!\f\v\0\v\0   Ak"Atj")7h  )7`  )\b7X  )\x007P \0 AÐ\0jË\f\v\0\v\0 (\0!  )\b7H  )\x007@   A@k Atj")78  )70  )\b7(  )\x007 \0 A jË Aj! (\b!\f\v\0\v\0   Atj")7  )7  )\b7\b  )\x007\0 \0 Ë Aj!\f\v\0\v\0\v Að\0j$\0\vË~| \0 ( Atj")7 \0 )"7 \0 )\b7\b \0 )\0"7\0 ¿ ¿a@ ((Ä AÈ\0lj"((\0! (L(\0! \0 +\0"\b9\0 \0 (+ +` "\t9\b \0 +\b"\n9 \0 (+ +¡"\v9  \v9  \n9  \t9\b  \b9\0\v\vÛ\b|#\0A k"$\0 ("+!\b (\0("+@ +8 + !\n + \0("\0+ !\r + \0+ !\v AO@ \0+P"\fD\0\0\0\0\0\0à?¢! \f Ak¸£!\v \b !\f \r ¡! \n \n  \v D\0\0\0\0\0\0\b@£!\b \v \v  \n D\0\0\0\0\0\0\b@£!\tA\0! AqAG!@  FE@  Atj(\0!\0  \r9\b  \v9\0 E@  \f98  \n90  9(  \b9  9  \t9A\f\v  \f9˜  \n9  \f9ˆ  \n9€  9x  \b9p  9h  \b9`  9X  \b9P  9H  \t9@  98  \t90  9(  \t9  \r9  \v9A\n\v! \0 \0A(Ax \0(\0AqAFj(\0  AìÀ\n~ Aj!   !\f\v\v A j$\0\v$\0 \0  A\0AQ"\0A”&A¸A3  \0· \0\v·#\0A k"$\0 \0  A{"A¡&AÀA3  ·@ ©AG\r\0 B\x007 B\x007  ((x(\x006\0 Aj!\0#\0A0k"$\0  6\f  6,  6@@@@@@A\0A\0A‹\b R"A\0H\r\0 Aj!@ \0E \0#k" K\r\0  k! \0&@A! AF\r\v \0 þA\0!\v B\x007 B\x007 AO q\r Aj!    \0d\v A‹\b (,R"G A\0Nq\r A\0L\r\0 \0&@ A€O\r@ E\r\0 \0d E\r\0 Aj ü\n\0\0\v \0 \0-\0 j:\0 \0#AI\rAã¶Aòü\0AêA\0\0\v \r \0 \0( j6\v A0j$\0\f\vA–§Aòü\0AÝA\0\0\vAýžAòü\0AâA\0\0\vAÐÎAòü\0AåA\0\0\vAþžAòü\0AìA\0\0\v@ \0&@ \0#AF\r\v Aj"\0# \0EO@ \0Aþ\v Aj"\0#! \0&@ \0 jA\0:\0\0  -\0Aj:\0 \0#AI\rAã¶Aòü\0A¯AŸ³\0\0\v ( jA\0:\0\0  (Aj6\v@ Aj&@ A\0:\0\f\v A\x006\v Aj"\0&! A”ñ\0 \0 ( Á -\0AÿG\r\0 (\v A j$\0 \v@ \r\0 \0A(AØ\0 \0(\0Aq"AFj(\0" \0A(Ax AFj(\0"F@A! \0("-\0,\rAA\b -\0T!\f\vAA ((ô ((ôF!\vA!@@@ Ak\0\vAA \0A(AØ\0 \0(\0Aq"AFj(\0((ô \0A(Ax AFj(\0((ôH!\f\vAA \0A(AØ\0 \0(\0Aq"AFj(\0((ø \0A(Ax AFj(\0((øH!\v \0( A€r r6¤\vF| \0!@ @ ("(à@ +€!  )`7€  9`\v \0 !\f\v\v\v˜P|~#\0A€-k"$\0 AÀ\fjA\0Aà\0ü\v\0 \0(/ˆ!  Aàj6°\r  A˜j6@@ Aq"E\r\0@ AG\r\0 \0§\f \0(H(-\0qAqE\r\0AùèA\0(\v Aˆ jA\0A(ü\v\0 B\x007¸\f B\x007°\f B\x007¨\f@@@ A\bF@ \0§\f \0(H(-\0qAq"E\r \0(AÀj!@ (\0"E\r@ ("-\0¬AG\r\0@ (€"@ ((`"E\r  )7@  )78 A:\0Q\f\v (x"E\r ˆ\v \0 Ú (!\v A¸j!\f\0\v\0\v \0†Aœí\nAœí\n(\0"Aj6\0@ A\0J\r\0A¤í\nA\x006\0A í\nA\x006\0AŒË\n-\0\0E\r\0•\v \0("(ø! A\x006¬  ·9   Am·9˜ (è!@@ (ì N@ (Ä" AÈ\0l"j"(\0! ("(\0"\b@ W \b("\b+ \b+X¡"R R Wd!W\v@ E\r\0  AtjAk(\0"E\r\0 S ("+ +` "R R Sc!S\v  \vj!\v SD\0\0\0\0\0\x000@ !S WD\0\0\0\0\0\x000À !WA\0!\t@  \tJ@@  j( \tAtj(\0"("(€" ((`"E\r  )7@  )78 ((`A:\0Q ( \v-\0¬@ AðÀ\n(\0\0E\r\vA\0!@ ("(È Atj(\0"@@@ ("-\0pAk\0\0\v AÑ\x006¤  6¼\f A¨\fjA$! (¨\f Atj (¼\f6\0\v Aj!\f@A\0! (Ð"E\r\0@  Atj(\0"E\r A¦\f  6¼\f A¨\fjA$! (¨\f Atj (¼\f6\0 Aj! ("(Ð!\f\0\v\0\v\v\v (àE\r\0 -\0¬E@ +€!R  )`7€  R9`\vA\0!@ ((à Atj(\0"E\r A\0¦\f  6¼\f A¨\fjA$! (¨\f Atj (¼\f6\0 Aj!\f\0\v\0\v \tAj!\t \0("(Ä" j(\0!\f\v\v Aj!\f\v\v  S9  W9ˆ A¨\fjA²AÕ  \vAèjA 6”\r  A 6¨ @ AG"\r\0 \0(AÀj!@ (\0"E\r@ ("-\0¬AG\r\0 (xE\r\0 ˆ (!\v A¸j!\f\0\v\0\v AF! Aà\'j! AÐ\'j! A(j! Að\'j! AÀ"j! Aø\'j! Aˆj! AÀj!! Að!j!" Aà!j!# AÐ!j! AÀ!j! A°!j!$ A !j!% A¸j! Aàj!\f A€j!\r Aà j!& AG!\' A\nG!A\0!@@ " (°\fI@  )¨\f7˜\f  )°\f7 \f (¨\f A˜\fj Atj(\0" !\n@ ("-\0,@ !\f\v  \n -\0T"(!\v -\0¤A q@ A€j" À !\vA!\v@ Aj" (°\fO\r  )¨\f7ˆ\f  )°\f7\f \n (¨\f Aˆ\fj Atj(\0" "\bG\r (-\0rE@@ ("-\0,@ !\b\f\v  \b -\0T"\b(!\v -\0¤A q@ A \rj \bÀ (°\r!\v ("\b-\0,!\t@ -\0,AqE@ \tE\r\f\v \tAqE\r \b+"R +"Sd R Scr\r \b+"R +"Sd R Scr\r\v \b-\0T!\t@ -\0TAqE@ \t\r\f\v \tAqE\r \b+8"R +8"Sd R Scr\r \b+@"R +@"Sd R Scr\r\v ("(¤AqAF@ (` ((`G\r\v  )¨\f7ø\v  )°\f7€\f (¨\f Aø\vj Atj(\0(-\0¤AÀ\0q\r\v \vAj!\v\f\0\v\0\v \0(AÀj!@ (\0"@@ ("-\0¬AG\r\0 (xE\r\0 ˆ \0 ((xÚ (!\v A¸j!\f\v\v E\r \0!@ E\r \0 *!\t@ \t@@ \tAìÀ\n(\0\0E\r\0 \t((\b"E\r\0 ("Av!A\0!\vA\0!@  G@ AÀ\'j" (\0"\b A0lj"A0ü\n\0\0  \b  AsjA0l"jA0ü\n\0\0 (\0 j A0ü\n\0\0 Aj!\f\v\v@  \vF\r (\0 \vA0lj"("\bAv!A\0!@  G@  (\0"\n Atj")\b7È\'  )\x007À\'  \n \b AsjAt"\fj"\n)\x007\0  \n)\b7\b (\0 \fj" )È\'7\b  )À\'7\0 Aj!\f\v\v  )\bB ‰7\b  )7È\'  )7À\'  ) 7  )(7  )À\'7  )È\'7( \vAj!\v\f\0\v\0\v \0 \t/!\t\f \0 !\f\v\0\v\0\v\0\v \'E@ \vA!  )¨\f7  )°\f7(  (¨\f A j Atj(\0 6\0A!A \v \vAM!@  F@ \0  \v AìÀ\n—\r \f  )¨\f7  )°\f7  Atj (¨\f Aj  jAtj(\x006\0 Aj!\f\v\0\v\0\v A(AØ\0 (\0Aq"AFj(\0"\b("(ô! A(Ax AFj(\0" \bF@| \0("(ì F@ A\0J@ (Ä AÈ\0ljAÄ\0k(\0(\0(+ +¡\f\v +P\f\v (è F@ + (Ä AÈ\0lj(L(\0(+¡\f\v (Ä AÈ\0lj"AÄ\0k(\0(\0(+ +"R¡ R (L(\0(+¡\'\v!R  )¨\f7@  )°\f7H (¨\f A@k Atj \v +  RD\0\0\0\0\0\0à?¢AìÀ\nïA\0!@  \vF\r  )¨\f70  )°\f78 (¨\f A0j  jAtj(\0((`"@ \0 Ú\v Aj!\f\0\v\0\v ((ô!  )¨\f7è\v  )°\f7ð\v (¨\f Aè\vj Atj!@  F@ +  !R  AÐj6€ (\0"("-\0r! -\0¤A q@ Aðj" À !\vA!A \v \vAM!@@  G@ At Aj! j(\0(-\0rE\r\f\v\v E\r\v A(Ax (\0Aq"AFj(\0!\n@ A(AØ\0 AFj(\0"©AG@A\0!A\0!\bA\0! \n©AG\r\vA„î\n-\0\0A„î\nA:\0\0Aq\rA½éA\0(  ! \0Ò!  \n 6è AÃáA†¡ 6ä  6àA»ò Aàjp\f\v@  \vF@ \bAq@ AÈà\tAÐà\t \0Ò(\x006ŒA\0!A»ý\0 AŒjA\0»"A‡&A˜A3 A\0Aøô\0Añ€!AAà\0!\b (" \b6\b \b \0("(\b"\t+\x009\0 \b \t+9  -\0s:\0s  (tAsAq6t  (ø6ø  (ü6üA\0!@ \06A Œ"@ (\fi (\f! (\b!\b A \b Ž A \b !\v\f\v\v@ \06A Œ"@ (\fi (\f! (\b! A  Ž A  !\v\f\v\v AA´A\0!E@ AA´Añ€!\v AAøA\0!E@ AAøAñ€!\vAÜË\n(\0!(AÀË\n(\0!)AÌÌ\n(\0!*A˜Ì\n(\0!+A¼Ì\n(\0!,A¸Ì\n(\0!-A°Ì\n(\0!.A´Ì\n(\0!/A¨Ì\n(\0!0A¤Ì\n(\0!1A¬Ì\n(\0!2A Ì\n(\0!3A”Ì\n(\0!4AÌ\n(\0!5AŒÌ\n(\0!6AˆÌ\n(\0!7A„Ì\n(\0!8AœÌ\n(\0!9AøË\n(\0!:AôË\n(\0!;AðË\n(\0!AÐÍ\n(\0!?A¼Í\n(\0!@AÀÍ\n(\0!AAÄÍ\n(\0!BA¨Í\n(\0!CA€Í\n(\0!DA´Í\n(\0!EAÔÍ\n(\0!FAôÌ\n(\0!GAøÌ\n(\0!HAüÌ\n(\0!IAèÌ\n(\0!JAäÌ\n(\0!KA°Í\n(\0!LA¬Í\n(\0!MAˆÍ\n(\0!NAœÍ\n(\0!OAœÍ\nA\x006\0AˆÍ\n AAç7A\0!6\0A¬Í\n AAú±A\0!6\0A°Í\n AAÖï\0A\0!6\0AäÌ\n AA !A\0!"6\0 E@AäÌ\n AA !Añ€!6\0\vA\0!AüÌ\nA\x006\0AèÌ\nA\x006\0AøÌ\n AA’™A\0!6\0AôÌ\n AAë‡A\0!6\0AÔÍ\n AA£Û\0A\0!6\0A´Í\nA\x006\0A€Í\n AA”ñ\0A\0!6\0A¨Í\n AA»%A\0!6\0AÄÍ\nA\x006\0AÀÍ\n AA™A\0!6\0A¼Í\n AAæ‡A\0!6\0AÐÍ\n AAšÛ\0A\0!6\0A¸Í\nA\x006\0A„Í\nA\x006\0AðË\n AA¨!A\0!6\0AôË\n AAÊø\0A\0!6\0AøË\n AAî–A\0!6\0AœÌ\nA\x006\0A„Ì\n AAë‡A\0!6\0AˆÌ\n AA’™A\0!6\0AŒÌ\nA\x006\0AÌ\n AA”ñ\0A\0!6\0A”Ì\nA\x006\0A Ì\nA\x006\0A¬Ì\n AA²ÿ\0A\0!6\0A¤Ì\n AAÂ1A\0!6\0A¨Ì\n AA0A\0!6\0A´Ì\n AAïA\0!6\0A°Ì\n AAÖã\0A\0!6\0A¸Ì\n AAîâ\0A\0!6\0A¼Ì\n AA ¨A\0!6\0A˜Ì\nA\x006\0AÌÌ\nA\x006\0AÜË\n A\0A²ÿ\0A\0!6\0 A¸A"A‡&A˜A3 Aøô\0A§¡Á (+!S \n(+!T  \n  \0((tAq""\t¥\f!\b   \n "¥\f!\nA\0!@  \vF@ E@  \b \nA\0AQ!\v AäÌ\n(\0A•–a \0((! (" 6¼  6  Ù è\v ƒ\r@ ô\f"\r\0 Ž\f"\r\0 (AÀj! \b(+ \n(+ D\0\0\0\0\0\0à?¢!R \t("+ +`¡ ("+  +X D\0\0\0\0\0\0à?¢!U@ (\0"@@  \bF@ (" R9  T9\f\v (!  \nF@  R9  S9\f\v  U9\v A¸j!\f\v\v ×\f A\0¨\f"\r\0 ç \b(! \t("+!R + \0(-\0tAq@ R + !R Aj\f\v R +¡!R Aj\v+\0¡!SA\0!\n@ \n \vF@AˆÍ\n N6\0AœÍ\n O6\0A¬Í\n M6\0A°Í\n L6\0AäÌ\n K6\0AèÌ\n J6\0AüÌ\n I6\0AøÌ\n H6\0AôÌ\n G6\0AÔÍ\n F6\0A´Í\n E6\0A€Í\n D6\0A¨Í\n C6\0AÄÍ\n B6\0AÀÍ\n A6\0A¼Í\n @6\0AÐÍ\n ?6\0A¸Í\n >6\0A„Í\n =6\0AðË\n <6\0AôË\n ;6\0AøË\n :6\0AœÌ\n 96\0A„Ì\n 86\0AˆÌ\n 76\0AŒÌ\n 66\0AÌ\n 56\0A”Ì\n 46\0A Ì\n 36\0A¬Ì\n 26\0A¤Ì\n 16\0A¨Ì\n 06\0A´Ì\n /6\0A°Ì\n .6\0A¸Ì\n -6\0A¼Ì\n ,6\0A˜Ì\n +6\0AÌÌ\n *6\0AÜË\n (6\0AÀË\n )6\0 ç\v \f\n  \nAtj!@ (\0"\b("Aø\0j! -\0p\r\0\v (|"(!@  F@ (|E\r\v \b (\b(\0"(ð" (\b6\b  R +"Tš +"U \0((tAq" 9  S U T  9  (\f6\f  S +("T + "U  9  R Uš T  9(A\0!\t@@ \t (O\r\0 \tAt" (\0j" S (\0 j"+\b"T +\0"U \0("P(tAq" "V9\0  R Uš T  "T9\b  T9È\'  V9À\' \tAj" (O\r\0 At" (\0j"Q S (\0 j"+\b"T +\0"U  "V9\0 Q R Uš T  "T9\b  T9\b  V9\0 A j" (\0j" S (\0 j"+\b"T +\0"U  "V9\0  R Uš T  "T9\b  T9\b  V9\0  S (\0 \tAj"\tAtj"+\b"T +\0"U  9ð\'  R Uš T  9ø\' PAj AÀ\'jþ\f\v\v \b((`"E\r\0 ((`"+@!T +8!U \0((t! A:\0Q  S T U Aq" 98  R Uš T  9@ \0 Ú\v \nAj!\n\f\v\0\v\0\v (¨ A\0!@ (°\f K@  )°\f7€  )¨\f7ø Aøj !\0@@@ (¸\f"\0\v (¨\f \0Atj(\0\f\v (¨\f \0Atj(\0 \0\v Aj!\f\v\v A¨\fj"\0A- \02 (”\r\f\f  Atj!@ (\0"("Aø\0j! -\0p\r\0\v \t A(AØ\0 (\0AqAFj(\0F@  \b \n ¤\f\f\v  \n \b ¤\f\v! (" 6|@ \r\0A\0! -\0,\r\0 -\0T\r\0 ( 6| !\v Aj!\f\v\0\v\0\v E@  \n  \v £\f\f\v (\0!\bA\0! \vA!@  \vF@  \vAA³š ("+!R \b("+!S  + + "T9"  S R "U9ˆ" +8!R \n("+!S  +@ + "_9˜!  R S "Z9! +`!R +X!S (\0!  T9È\'  U9À\'  T9\b  U9\0  )˜!7\b  )!7\0  )˜!7\b  )!7\0  A(Ax (\0AqAFj(\0 AÀ\'jAAìÀ\n~ ((`" U R "X Z S¡"Y D\0\0\0\0\0\0à?¢"V98A!\t A:\0Q  T + "RD\0\0\0\0\0\0@ D\0\0\0\0\0\0à?¢ 9@ V +D\0\0\0\0\0\0à?¢"S !] V S¡!` R TD\0\0\0\0\0\0\b@ "W !RD\0\0\0\0\0\0\0\0![D\0\0\0\0\0\0\0\0!\\@@@  \tF@  \v  \vK! Y Y  X D\0\0\0\0\0\0\b@£!d X X  Y D\0\0\0\0\0\0\b@£!e\f\v  \tAtj(\0!@ \tAq@ ((`! \tAF@ V +D\0\0\0\0\0\0à?¢"S ![ V S¡!\\\v + !S  )"7È\'  )ˆ"7À\'  Z9à\'  U9Ð\'  W SD\0\0\0\0\0\0@ ¡"WD\0\0\0\0\0\0À "S9è\'  S9Ø\'  )˜!7\b  )!7\0  T9¸(  \\9°(  W9¨(  \\9 (  W9˜(  [9(  _9ˆ(  [9€( W ((`+ D\0\0\0\0\0\0à?¢ !S\f\v  )"7È\'  )ˆ"7À\'  _9ˆ(  ]9€(  R9ø\'  ]9ð\'  R9è\'  `9à\'  T9Ø\'  `9Ð\'  )˜!7\b  )!7\0  RD\0\0\0\0\0\0@ "S9¸(  U9°(  S9¨(  Z9 ( R ((`+ "^D\0\0\0\0\0\0à?¢ D\0\0\0\0\0\0@ !S R ^D\0\0\0\0\0\0@  !R\v A\b6´  )ˆ"7Ð  )"7Ø  )!7À  )˜!7È  AÀ\'j6°  )° 7¸@ AÐj AÀj A¸j Aèj ›\r"@ (è"\b\r\v \f\v ((`"A:\0Q  S9@  V98  A(Ax (\0AqAFj(\0  \bAìÀ\n~  \tAj!\t\f\v\v@  F\r  Atj| Aq@  )"7È\'  )ˆ"7À\'  )˜!7\b  )!7\0  WD\0\0\0\0\0\0À "S9˜(  d [ AF""V9( U!Y SD\0\0\0\0\0\0À "^!a e \\ "X!b T!c V![ X!\\ S!W Z\f\v  )"7È\'  )ˆ"7À\'  ]9ð\'  R9ø\'  )˜!7\b  )!7\0 T!^ ]!V Z!X U!b R"aD\0\0\0\0\0\0@ "S!c S!R `"Y\v!f(\0!  c9¸(  b9°(  S9¨(  X9 (  _9ˆ(  V9€(  a9è\'  f9à\'  ^9Ø\'  Y9Ð\' A\b6´  )ˆ"7¨  )"7°  )!7˜  )˜!7   AÀ\'j6°  )° 7@ A¨j A˜j Aj Aèj ›\r"E\r\0 (è"\bE\r\0  A(Ax (\0AqAFj(\0  \bAìÀ\n~  Aj!\f\v\v \v \f  At"j  j(\x006\0 Aj!\f\v\0\v\0  Atj(\0("(`A\0G@ -\0,E@ -\0TAG\r\vA!\b\v j! Aj!\f\v\0\v\0\v AÈjA\0A(ü\v\0 A jA\0A(ü\v\0  AÐj6À  Aˆj"6 !  AÐj6€ (\0"(!@  A0j" (\0Aq"AF((((ô  A0k"\b AF((((ôkAk"A|M@  A¸ü\n\0\0 A!j" A0ü\n\0\0  A0ü\n\0\0  6 !@ ("-\0¤A q@ A° j ÀA(AØ\0 (!"\tAqAF j  \b (\0AqAF((6\0 ( !Aj (A8jA(ü\n\0\0\f\v AÐj" A¸ü\n\0\0 A° j A0ü\n\0\0  6À A!jA(AØ\0 (!"\tAqAFj   (\0AqAF((6\0 & A0ü\n\0\0\v  !@ "((°"\r\0\v A!j"A(Ax \tAqAFj A(Ax (\0AqAFj(\x006\0 ( !"A:\0p A\0:\0T B\x0078 B\x007@  6x !\f\v -\0¤A qE\r\0 A!j" À !\v !@ \r\0@ ("-\0p@ (x!\f\v\v@@ A(Ax (\0Aq"AFj(\0"("\b(ô A(AØ\0 AFj(\0"\n("\t(ôk"Au"As  sj\0\v \0(H(-\0qAq\r\v AÀ\0A A(AØ\0 (\0AqAFj(\0 \nF"j+\0 \b \t "+ !S A8A j+\0 + !T AAÀ\0 j+\0 \t \b "\b+ !R AA8 j+\0 \b+ !W (`"@ + !U +!V +((t! ((`"+8!X +@!Y  R9è  W9à AÈj"A$!\b (È \bAtj"\b \f)\b7\b \b \f)\x007\0  R9è  W9à A$!\b (È \bAtj"\b \f)\b7\b \b \f)\x007\0  Y V U Aq"D\0\0\0\0\0\0à?¢"Zš Z S R¡ X W¡¢ Y R¡ T W¡¢¡D\0\0\0\0\0\0\0\0d"\b "R9è  X U V D\0\0\0\0\0\0à?¢"U Uš \b "W9à A$! (È Atj" \f)\b7\b  \f)\x007\0\v  R9è  W9à AÈj"A$! (È Atj" \f)\b7\b  \f)\x007\0  R9è  W9à A$! (È Atj" \f)\b7\b  \f)\x007\0  S9è  T9à A$! (È Atj" \f)\b7\b  \f)\x007\0  S9è  T9à A$! (È Atj" \f)\b7\b  \f)\x007\0  \n \f\v AèjA\0A8ü\v\0 A(Ax (\0Aq"AFj(\0!\b A(AØ\0 AFj(\0!\t AÀ\vj" Aˆ jA(ü\n\0\0 AÈj \0  \tA\0 ä  )à7Ø\'  )Ø"g7Ð\'  )Ð7È\'  )È"h7À\' AÀ\fj A AÀ\'j \tè£@ h¿"R g¿"ScE\r\0 \t("+ \0((Ä (ôAÈ\0lj+¡"T  (ô\'"Atj"Ak+\0"UcE\r\0  Aj6ô\'  U9  S9  T9\b  R9\0\vA\0!\nA\0! "!@@ \b(-\0¬AG@ \t(!\f\v \bAðÀ\n(\0\0 \t(!\r \bAj!\t AÈj Aˆ j \0 (ô¢\f \r )à7 \r )Ø7 \r )Ð7\b \r )È7\0 AèjA $! (è Atj" \r)7  \r)7  \r)\b7\b  \r)\x007\0 AqE@A\0!\t \b("!@@ (È(\0"A(Ax (\0AqAFj(\0("-\0¬AG\r\0 (ÌAG\r\0 (ÄAG\r\0 + +b\r\0 \tAj!\t\f\v\v \0(H(-\0q!\n (È(\0! A˜\vj" Aˆ jA(ü\n\0\0 AÈj \0  \b  ä \r )à7 \r )Ø7 \r )Ð7\b \r )È7\0 AèjA $! (è Atj" \r)7  \r)7  \r)\b7\b  \r)\x007\0 \tAk \t \tAA \nAqO"!\n \b((È(\0"A(Ax (\0Aq"AFj(\0!\b A(AØ\0 AFj(\0!\t\f\v \b((È(\0! Að\nj" Aˆ jA(ü\n\0\0 AÈj \0  \b  ä  )à7 "  )Ø7˜"  )Ð7"  )È7ˆ" AÀ\fj A Aˆ"j A(Ax (\0AqAFj(\0è¢@  (¼""Atj"A k+\0"R Ak+\0"ScE\r\0 A\bk+\0"T \b("\b+ \0((Ä \b(ôAÈ\0lj+ "UcE\r\0  Aj6¼"  U9  S9  T9\b  R9\0\v A:\0…\r B˜Ú¢µ¿Èü?7ø\f AÀ\fj"   AÀ\'j Aˆ"j Aèj¡\f A\x006Ä@@@ E@  AÄjñ! (Ä!\f\v AÀ\fj AÄjð!  (Ä"AIr\r\0  )\b7  )\x007   AtjAk")\x007  )\b7( )\0!g  )\b78  g70 A6ÄA\f\v E\r \v!A\0!\f\v A\0!@ (ð M@ Aèj"A - 2A\0!@ (Ð M@ AÈj"A- 2A\0!@ (¨ M@ A j"A- 2\f\v  )¨7ð\t  ) 7è\t Aè\tj !@@ (°"\0\v  (  Atj")\x007Ø\t  )\b7à\t AØ\tj \0\v Aj!\f\v\0\v\0  )Ð7Ð\t  )È7È\t AÈ\tj !@@ (Ø"\0\v  (È Atj")\x007¸\t  )\b7À\t A¸\tj \0\v Aj!\f\v\0\v\0  )ð7°\t  )è7¨\t A¨\tj !@@ (ø"\0\v  (è Atj")\x007ˆ\t  )\b7\t  )7˜\t  )7 \t Aˆ\tj \0\v Aj!\f\v\0\v\0\v@  I@ \f  Atj")\b7\b \f )\x007\0 AÈjA$! (È Atj" \f)\b7\b  \f)\x007\0 Aj! (Ä!\f\v\v  \n!@ \t(\0(È(\0! @ Ak! A(Ax (\0AqAFj(\0Aj!\t\f\v\v (Ð"@  )È7à\n  )Ð7è\n \f (È Aà\nj AkAtj")\b7\b \f )\x007\0 AÈj"A$! (È Atj" \f)\b7\b  \f)\x007\0  )È7Ð\n  )Ð7Ø\n \f (È AÐ\nj (ÐAkAtj")\b7\b \f )\x007\0 A$! (È Atj" \f)\b7\b  \f)\x007\0  AÀ\fj \f A(Ax (\0Aq"AFj(\0!\b A(AØ\0 AFj(\0!\tA\0!@ (ð M@ AèjA - \t((À(\0! A¨\nj" Aˆ jA(ü\n\0\0 AÈj \0  \t  ä  )à7Ø\'  )Ø7Ð\'  )Ð7È\'  )È7À\' AÀ\fj A AÀ\'j \tè£@  (ô\'"Atj"A k+\0"R Ak+\0"ScE\r\0 \t("+ \0((Ä (ôAÈ\0lj+¡"T Ak+\0"UcE\r\0  Aj6ô\'  U9  S9  T9\b  R9\0\v A:\0Ý\f B˜Ú¢µ¿Èü¿7Ð\fA\0! !\f  )ð7 \n  )è7˜\n A˜\nj !@@ (ø"\0\v  (è Atj")\x007ø\t  )\b7€\n  )7ˆ\n  )7\n Aø\tj \0\v Aj!\f\v\0\v\0\v\vA¢A³ºAÿAˆù\0\0\0\v AÈj" Aˆ j"\n \0 (ô¢\f \r )à7 \r )Ø7 \r )Ð7\b \r )È7\0 AèjA $! (è Atj" \r)7  \r)7  \r)\b7\b  \r)\x007\0 Aà\bj" \nA(ü\n\0\0  \0  \b A\0ä  )à7 "  )Ø"g7˜"  )Ð7"  )È"h7ˆ" AÀ\fj A° j  A}I"\nA Aˆ"j A(j" A\bk" (\0AqAF(\0è¢@ h¿"R g¿"ScE\r\0  (¼""Atj"A\bk+\0"T \b("\b+ \0((Ä \b(ôAÈ\0lj+ "UcE\r\0  Aj6¼"  U9  S9  T9\b  R9\0\v AÀ\fj   AÀ\'j Aˆ"j Aèj¡\fA\0!@@@@@ (ð M@ Aèj"A - 2 A\x006È A\nG\r AÀ\fj AÈjñ! (È!\f\v  )ð7˜\b  )è7\b A\bj !@@ (ø"\b\0\v  (è Atj")\x007ð  )\b7ø  )7€\b  )7ˆ\b Aðj \b\0\v Aj!\f\v\v AÀ\fj AÈjð!  (È"AIr\r\0  )\b7  )\x007   AtjAk")\x007  )\b7( )\0!g  )\b78  g70 A6ÈA\f\v E\r \v!\tA\0!\f\v A\0!@ (Ð M@ AÈj"A- 2A\0!@ (¨ K@  )¨7Ø\b  ) 7Ð\b AÐ\bj !@@ (°"\0\v  (  Atj")\x007À\b  )\b7È\b AÀ\bj \0\v Aj!\f\v\v A j"A- 2\f  )Ð7¸\b  )È7°\b A°\bj !@@ (Ø"\r\0\v  (È Atj")\x007 \b  )\b7¨\b A \bj \0\v Aj!\f\v\0\v\0\v@  \tI@ \f  Atj"\b)\b7\b \f \b)\x007\0 AÈjA$!\b (È \bAtj"\b \f)\b7\b \b \f)\x007\0 Aj! (È!\t\f\v\v   AÀ\fj \f \n@ A° jA(Ax (° AqAFj\f\v   (\0AqAF\v(\0\v! \vAF@ AÈjAÜ  )È7   )Ð7¨A\0!   (È A jA\0Atj (ÐAìÀ\n~@ (Ð M@ AÈj"A- 2A\0!@ (¨ M@ A j"A- 2\f  )¨7˜  ) 7 Aj !@@ (°"\0\v  (  Atj")\x007€  )\b7ˆ A€j \0\v Aj!\f\v\0\v\0  )Ð7ø  )È7ð Aðj !@@ (Ø"\f\0\v  (È Atj")\x007à  )\b7è Aàj \0\v Aj!\f\v\0\v\0\v +  "R \vAk¸¢D\0\0\0\0\0\0à?¢!SA!@ Aj" (Ð"O@A\0!@  O@ A jAÜ  ) 7à  )¨7è   (  AàjA\0Atj (¨AìÀ\n~A!\bA \v \vAM!@  \bF@A\0!@ (Ð M@ AÈj"A- 2A\0!@ (¨ M@ A j"A- 2\f\v  )¨7ˆ  ) 7€ A€j !@@ (°"\0\v  (  Atj")\x007ð  )\b7ø Aðj \0\v Aj!\f\v\0\v\0  )Ð7è  )È7à Aàj !@@ (Ø"\0\v  (È Atj")\x007Ð  )\b7Ø AÐj \0\v Aj!\f\v\0\v\0\v  \bAtj(\0"(-\0¤A q@ Aðj" À !\vA!@ Aj" (ÐO@A\0!@@ (¨ M@ A jA-A\0!\f\v  )¨7¸  ) 7° A°j !@@ (°"\0\v  (  Atj")\x007   )\b7¨ A j \0\v Aj!\f\v\v@ (Ð K@  )È7À  )Ð7È  (È AÀj Atj")\b7\b  )\x007\0 A jA$! (  Atj" )\b7\b  )\x007\0 Aj!\f\v\v A jAÜ A(Ax (\0AqAFj(\0!  ) 7Ð  )¨7Ø   (  AÐjA\0Atj (¨AìÀ\n~ \bAj!\b\f  )È7  )Ð7˜ (È Aj Atj" R +\0 9\0 !\f\v\0\v\0\v\0  )È7À  )Ð7È  (È AÀj Atj")\b7\b  )\x007\0 A jA$! (  Atj" )\b7\b  )\x007\0 Aj! (Ð!\f\v\0\v\0  )È7°  )Ð7¸ (È A°j Atj" +\0 S¡9\0 !\f\v\0\v\0\v@ ("(`"@ A(j"\b A\bk"\n (\0Aq"AF(\0!\t A(AØ\0 AFj(\0! (°!@ "((°"\r\0\v  A(AØ\0 (\0AqAFj(\0"\v(")7@  )78 ("(`"A:\0Q E@ +8!R \t("+!S +@!T +!U +8!V +@!X + !Y +!W ("+!Z  + + "[9˜! % [9\b  W Z "W9! % W9\0  X YD\0\0\0\0\0\0à¿¢ 9Ø!  V9Ð!  )\b7\b  )\x007\0 $ )\b7\b $ )\x007\0  T U 9ø!  R S 9ð! # ")\b7\b # ")\x007\0  \b \n (\0AqAF(\0 A!jAAìÀ\n~\f\v \0((Ä ("(ôAÈ\0lj"+!T +!U \v("+`!V +P!X +!Y +!R +X!W +!S A¸j" Aˆ j"A(ü\n\0\0 \0  AÀ\fj"   AÀ\'jAý Aj" A(ü\n\0\0A\0! \0   \t  Aˆ"jA\0ý   (ô\'"\tAtj"A k+\0"Z9°  A\bk+\x009¸  S W¡9À  R XD\0\0\0\0\0\0à?¢ "XD\0\0\0\0\0\0@ T R U¡ Y¡ D\0\0\0\0\0\0@£"R RD\0\0\0\0\0\0@c¡"R9È  Z9Ð  R9Ø   (¼"Atj"Ak+\0"T9à  S V 9ð  X9è  A\bk+\x009ø  R9ˆ!  T9€!A\0!@  \tH@   Atj")7È  )7À  )\b7¸  )\x007° Aj! AÀ\fj A°jË (ô\'!\t\f\v\v@ AG@  A° j Atj")7ˆ  )7€  )\b7ø  )\x007ð Aj! AÀ\fj AðjË\f\v\v (¼"!@ A\0J@   Ak"Atj")7è  )7à  )\b7Ø  )\x007Ð AÀ\fj AÐjË\f\v\v E@ AÀ\fj Aèjñ\f\v AÀ\fj Aèjð\v! (è"E\r  \b \n (\0AqAF(\0  AìÀ\n~\f\v E@ A(AØ\0 (\0Aq"AFj(\0 A(Ax AFj(\0  \vA£\f\f\v -\x001"AF -\0Y"AGqE AF AGrqE@ A(Ax (\0Aq"AFj(\0!| A(AØ\0 AFj(\0"("(ô"\b \0("(ìH@ + (Ä \bAÈ\0lj"+ ¡ (L(\0(+ +p ¡\f\v (ü·\v +  !T AØj" Aˆ j"A(ü\n\0\0 \0  AÀ\fj"   AÀ\'jAž\f A°j" A(ü\n\0\0A\0!\b \0     Aˆ"jA\0ž\f \vAj¸"R£!S T R£!T@ \b \vF\r  \bAtj(\0!  (ô\'"\tAtj"Ak+\0!U A k+\0!R  Ak+\0"V9¨!  R9!  R9°!  U \bAj"\b¸"R T¢"U 9 !  V R S¢¡"R9È!  R9˜!   (¼"Atj"Ak+\0"V9À!  R S¡9¸! A k+\0!X  Ak+\x009è!  R9Ø!  V9à!  X U¡9Ð!A\0!A\0!@  \tH@   Atj")7h  )7`  )\b7X  )\x007P Aj! AÀ\fj AÐ\0jË (ô\'!\t\f\v\v@ AG@  A!j Atj")7¨  )7   )\b7˜  )\x007 Aj! AÀ\fj AjË\f\v\v (¼"!@ A\0J@   Ak"Atj")7ˆ  )7€  )\b7x  )\x007p AÀ\fj Að\0jË\f\v\v A\x006°  E@ AÀ\fj A° jñ\f\v AÀ\fj A° jð\v! (° "@  A(Ax (\0AqAFj(\0  AìÀ\n~  A\x006\r\f \f\v\0\v\0\v A(Ax (\0Aq"AFj(\0!| A(AØ\0 AFj(\0"("(ô"A\0J@ \0((Ä AÈ\0lj"Að~A¸ \0(H(-\0qAqj"\b((\0(+ \b+¡ +¡ +¡\f\v \0((ü·\v Aˆj" Aˆ j"A(ü\n\0\0 \0  AÀ\fj"   AˆjAý Aàj" A(ü\n\0\0A\0!\b \0     AÐjA\0ý \vAj¸"T£!S R T£!T@ \b \vF\r  \bAtj(\0! ! (¼"\tAtj"Ak+\0!U A\bk+\0!R  A k+\0"V9à\'  R9È\'  V9À\'  R \bAj"\b¸"V S¢ "R9è\'  R9Ø\'  U V T¢"U 9Ð\'  („Atj"Ak+\0"V9ð\'  S R 9ø\' A k+\0!X  A\bk+\x009ˆ(  R9˜(  V9(  X U¡9€(A\0!A\0!@  \tH@  ! Atj")7˜  )7  )\b7ˆ  )\x007€ Aj! AÀ\fj A€jË (¼!\t\f\v\v@ AG@  AÀ\'j Atj")7Ø  )7Ð  )\b7È  )\x007À Aj! AÀ\fj AÀjË\f\v\v („!@ A\0J@  Ak"Atj")7¸  )7°  )\b7¨  )\x007  AÀ\fj A jË\f\v\v A\x006ˆ" E@ AÀ\fj Aˆ"jñ\f\v AÀ\fj Aˆ"jð\v! (ˆ""@  A(Ax (\0AqAFj(\0  AìÀ\n~  A\x006\r\f \f\v\0\v\0\v \f\0\v\0\vAº§A³ºA A Å\0\0\vA±ó\0A³ºAÐA»+\0\0\v \0 ¸\f\v@A´Í\n(\0A¸Í\n(\0rE\r\0AÌÍ\n(\0AÈÍ\n(\0rE\r\0 \0!@ E\r@A´Í\n(\0E\r\0 \0 „!@ E\r  A0k" (\0AqAF"((d@ A  \0   (\0AqAF((dÚ\v \0 È!\f\0\v\0\v@A¸Í\n(\0E\r\0 \0 *!@ E\r@ ((hE\r\0 A\0 E\r\0 \0 ((hÚ\v \0 /!\f\0\v\0\v \0 !\f\0\v\0\v@@ Ak\0\0\0\0\v#\0A@j"\0$\0Aœí\nAœí\n(\0"Ak6\0@ AJ\r\0AŒË\n-\0\0E\r\0Aˆ÷\b(\0"² \0³78 \0A8jÃ"(! (! (\f! (\b! (!\b \0 (\x006, \0 \b6( \0 6$ \0 6 \0Aë6 \0A£¼6 \0 Aj6 \0 Aìj6 AøÊ \0AjA í\n(\0!A¤í\n(\0! \0|9\b \0 6 \0 6\0 AÕ¶ \01A\n  ±\v \0A@k$\0\v (¨ A\0! (°\f M A¨\fj"\0A- \02 (”\rAÄË\nA6\0AÀË\nA6\0A\0  )°\f7\b  )¨\f7\0  !\0@@@ (¸\f"\0\v (¨\f \0Atj(\0\f\v (¨\f \0Atj(\0 \0\v Aj!\f\v\v!\v A€-j$\0 \vAâƒAÂ\0AAˆ÷\b(\075\0\vX|@ \0-\0" -\0E\r\0 E\r \0+\0" +\0"c\rA  d\r\0A \0+\b" +\b"c\r\0  d\v\vA\v¼|@ \0+" +"c@  \0($"\0F ( " Fq\r \0 F  Fq\v ( !  d@  F ($"\0 Fq\r  F \0 Fq\v  F@A\0 \0($"\0A\0G ($" Gr  F \0 Grqk\v ($"A\0G \0($"\0 Gr \0 F  Grq\vA\vS@ @ (\f (\0"A‰F \0 («\f (\0 \vA‹F@ \0 (\b" iA\0Gz\v !\f\v\v\vØ|#\0Aà\0k"$\0 ( ! +!@ -\0\0AF@ +! +\b! þ!  ($þ6$  6  9  9  9\b  9\0 \0A”4 1\f\v +! +\b! þ!  ($þ6T  6P  9H A@k 9\0  98  90 \0A”4 A0j1\v Aà\0j$\0\vÄ#\0A k"$\0A d\r \r DH¯¼šò×z¾ c\r\0 + +\0d\r\v Aj!\f\v\vA!@  \fFE@  A8l"\tj"\b(0!\n Aä\0j"\v Æ \n6\b \b(,!\n \v Æ \n6 \v Æ 6\0Aðí\n(\0 \tj"\t \b)\b7\b \t \b)\x007\0 \b(,!\b \t 6 \tA60 \t \b6 Aj!\f\v\vAøí\n \x006\0Aüí\nA\x006\0Aôí\n(\0A6\0 (\0  )\b7H  )\x007@ A@k AÈ\0lj((! (\0  )\b78  )\x0070 A0j AÈ\0lj!\0@ AkA}M@ Aˆj   A\0  \0(( A Aä\0j=\f\v \0(0AkA}K\r\0 (\0!\0  )\b7(  )\x007 Aˆj   A\0  \0 A j AÈ\0lj(0 A Aä\0j=\v (ŒA!O@ (ˆ\v B\x007ˆA\0!@  (lOE@  )l7  )d7 Aj !\0@@@ (t"\0\vAâƒAÂ\0AAˆ÷\b(\075\0\v  (d \0Atj"\0)\x007\0  \0)\b7\b  \0\v Aj!\f\v\v Aä\0j"\0A- \02Aðí\n(\0Aôí\n(\0 Aj$\0\v˜@@ \0 F@@ \0 F\r´ \0 k¸¢ ¸ ü" G@  Atj"(\0!   Atj"(\x006\0  6\0\v Aj!\f\0\v\0\v AÿÿÿÿG@  Atj Aj"6\0\f\v\vAÄÎAæ»AÅA»ÿ\0\0\0\v\vÁ#\0A€k"$\0  )\x007  )\b7(  )70  )78 A j A A@k"À\f A ¿\f!A\0!@  F@ A€j$\0  \0 AÈ\0lj")@7  )87  )07\b  )(7\0  A\0 A@k"À\f Aj!   ¿\f!\f\v\v\v´\b|#\0Aàk"$\0 AG!\n@ "AkA}K!\v@@ \v\r\0 (\0!  )\b7Ø  )\x007Ð AÐj ! (\0!\b  )\b7È  )\x007À AÀj !\t@  AÈ\0lj"+ " \b \tAÈ\0lj"+ "DH¯¼šò×z> d\r\0  DH¯¼šò×z¾ cE +" +"dq\r\0  ¡™DH¯¼šò×z>eE  ¡™DH¯¼šò×z>eEr\r\v (\0  )\b7¸  )\x007° A°j AÈ\0lj(0"Ak!@ \nE@ A}M@ (\0  )\b7ø  )\x007ð Aðj AÈ\0lj( \0F\r\v (\0  )\b7è  )\x007à Aàj AÈ\0lj(4"AkA}K\r (\0  )\b7Ø  )\x007Ð AÐj AÈ\0lj( \0G\r\f\v A}M@ (\0  )\b7¨  )\x007  A j AÈ\0lj(\0 \0F\r\v (\0  )\b7˜  )\x007 Aj AÈ\0lj(4"AkA}K\r (\0  )\b7ˆ  )\x007€ A€j AÈ\0lj(\0 \0G\r\v (\0  )\b7È  )\x007À AÀj AÈ\0lj(\0 (\0  )\b7¸  )\x007° A°j AÈ\0lj(\0G\r (\0  )\b7¨  )\x007  A j AÈ\0lj( (\0  )\b7˜  )\x007 Aj AÈ\0lj(G\r (\0 (\0  )\b7ˆ  )\x007€ A€j AÈ\0lj(8!\b  )\b7ø  )\x007ð Aðj \bA(lj(! (\0  )\b7è  )\x007à Aàj A(lj( !\t (\0  )\b7Ø  )\x007Ð AÐj AÈ\0lj(8!\f (\0  )\b7È  )\x007À AÀj AÈ\0lj(8!\b (\0  )\b7¸  )\x007° A°j A(lj!@ \t \fF@  \b6 \f\v  \b6$\v (\0  )\b7¨  )\x007  A j AÈ\0lj(0! (\0  )\b7˜  )\x007 Aj AÈ\0lj 60@ AkA}K\r\0 (\0!  )\b7ˆ  )\x007€  A€j AÈ\0lj(0!\b  )\b7ø  )\x007ð  Aðj \bAÈ\0lj((!\b (\0!  )\b7è  )\x007à  Aàj AÈ\0lj(0!\t  )\b7Ø  )\x007Ð  AÐj \tAÈ\0lj!  \bF@  6(\f\v (, G\r\0 (\0!  )\b7È  )\x007À  AÀj AÈ\0lj(0!\b  )\b7¸  )\x007°  A°j \bAÈ\0lj 6,\v (\0  )\b7¨  )\x007  A j AÈ\0lj(4! (\0  )\b7˜  )\x007 Aj AÈ\0lj 64@ AkA}K\r\0 (\0!  )\b7ˆ  )\x007€  A€j AÈ\0lj(4!\b  )\b7x  )\x007p  Að\0j \bAÈ\0lj((!\b (\0!  )\b7h  )\x007`  Aà\0j AÈ\0lj(4!\t  )\b7X  )\x007P  AÐ\0j \tAÈ\0lj!  \bF@  6(\f\v (, G\r\0 (\0!  )\b7H  )\x007@  A@k AÈ\0lj(4!\b  )\b78  )\x0070  A0j \bAÈ\0lj 6,\v (\0  )\b7(  )\x007 A j  (\0!\t  )\b7  )\x007AÈ\0lj" \t Aj AÈ\0lj"\b) 7  \b)7 (\0  )\b7\b  )\x007\0  AÈ\0ljA\0:\0D\f\v\v\v Aàj$\0\v•P|#\0AÐk"$\0 A˜j  \0A8lj"A8ü\n\0\0 A¨j!\b@ +°" + "DH¯¼šò×z> dE@A,!\vA0!  DH¯¼šò×z¾ c\r +¨ +˜dE\r\v  )7   )7˜ \b )\b7\b \b )\x007\0  )¼B ‰7¼A0!\vA,!\v   j(\0A8lj-\0 ! A˜j \b (¼  ‚!@@ @ !\f\f\v æ!\f (\0!  )\b7  )\x007ˆ Aj"  Aˆj AÈ\0ljAÈ\0ü\n\0\0  )\b7€  )\x007ø Aøj \f!@@ ("\n\0\v A°j"\t (\0 AÈ\0ljAÈ\0ü\n\0\0 \t \n\0\v (\0 AÈ\0lj AÈ\0ü\n\0\0 (\0  )\b7¨  )\x007  A j AÈ\0lj" ) 7  )˜7 (\0  )\x007  )\b7˜ Aj \fAÈ\0lj" ) 7  )˜7\b (\0  )\x007€  )\b7ˆ A€j AÈ\0lj \f60 (\0  )\b7ø  )\x007ð Aðj AÈ\0ljA\x0064 (\0  )\b7è  )\x007à Aàj \fAÈ\0lj 6( (\0  )\b7Ø  )\x007Ð AÐj \fAÈ\0ljA\x006, (\0!  )\b7È  )\x007À@  AÀj \fAÈ\0lj(0"AkA}K\r\0 (\0  )\b7¸  )\x007° A°j AÈ\0lj(( G\r\0 (\0  )\b7¨  )\x007  A j AÈ\0lj \f6(\v (\0!  )\b7˜  )\x007@  Aj \fAÈ\0lj(0"AkA}K\r\0 (\0  )\b7ˆ  )\x007€ A€j AÈ\0lj(, G\r\0 (\0  )\b7ø  )\x007ð Aðj AÈ\0lj \f6,\v (\0!  )\b7è  )\x007à@  Aàj \fAÈ\0lj(4"AkA}K\r\0 (\0  )\b7Ø  )\x007Ð AÐj AÈ\0lj(( G\r\0 (\0  )\b7È  )\x007À AÀj AÈ\0lj \f6(\v (\0!  )\b7¸  )\x007°@  A°j \fAÈ\0lj(4"AkA}K\r\0 (\0  )\b7¨  )\x007  A j AÈ\0lj(, G\r\0 (\0  )\b7˜  )\x007 Aj AÈ\0lj \f6,\v Ç! Ç!\n (\0  )\b7ˆ  )\x007€ A€j AÈ\0lj(8! (\0  )\b7ø  )\x007ð Aðj A(ljA6\0 (\0  )\b7è  )\x007à Aàj A(lj"\t ) 7 \t )˜7\b (\0  )\x007Ð  )\b7Ø AÐj A(lj \x006 (\0  )\b7È  )\x007À AÀj A(lj \n6 (\0  )\b7¸  )\x007° A°j A(lj 6$ (\0  )\b7¨  )\x007  A j A(ljA6\0 (\0  )\b7˜  )\x007 Aj A(lj 6 (\0  )\b7ˆ  )\x007€ A€j A(lj 6 (\0  )\b7ø  )\x007ð Aðj \nA(ljA6\0 (\0  )\b7è  )\x007à Aàj \nA(lj \f6 (\0  )\b7Ø  )\x007Ð AÐj \nA(lj 6 (\0  )\b7È  )\x007À AÀj AÈ\0lj 68 (\0  )\b7¸  )\x007° A°j \fAÈ\0lj \n68\v  \v j"(\0A8lj-\0 ! \b A˜j (À  ‚!\v E@ æ! (\0!  )\b7¨  )\x007  Aj"  A j \vAÈ\0ljAÈ\0ü\n\0\0  )\b7˜  )\x007 Aj !@@ ("\n\0\v AÈj"\t (\0 AÈ\0ljAÈ\0ü\n\0\0 \t \n\0\v (\0 AÈ\0lj AÈ\0ü\n\0\0 (\0  )\b7À  )\x007¸ A¸j \vAÈ\0lj" \b)\b7  \b)\x007 (\0  )\b7°  )\x007¨ A¨j AÈ\0lj" \b)\b7  \b)\x007\b (\0  )\b7   )\x007˜ A˜j \vAÈ\0lj 60 (\0  )\b7  )\x007ˆ Aˆj \vAÈ\0ljA\x0064 (\0  )\b7€  )\x007ø Aøj AÈ\0lj \v6( (\0  )\b7ð  )\x007è Aèj AÈ\0ljA\x006, (\0!  )\b7à  )\x007Ø@  AØj AÈ\0lj(0"AkA}K\r\0 (\0  )\b7Ð  )\x007È AÈj AÈ\0lj(( \vG\r\0 (\0  )\b7À  )\x007¸ A¸j AÈ\0lj 6(\v (\0!  )\b7°  )\x007¨@  A¨j AÈ\0lj(0"AkA}K\r\0 (\0  )\b7   )\x007˜ A˜j AÈ\0lj(, \vG\r\0 (\0  )\b7  )\x007ˆ Aˆj AÈ\0lj 6,\v (\0!  )\b7€  )\x007ø@  Aøj AÈ\0lj(4"AkA}K\r\0 (\0  )\b7ð  )\x007è Aèj AÈ\0lj(( \vG\r\0 (\0  )\b7à  )\x007Ø AØj AÈ\0lj 6(\v (\0!  )\b7Ð  )\x007È@  AÈj AÈ\0lj(4"AkA}K\r\0 (\0  )\b7À  )\x007¸ A¸j AÈ\0lj(, \vG\r\0 (\0  )\b7°  )\x007¨ A¨j AÈ\0lj 6,\v Ç! Ç!\n (\0  )\b7   )\x007˜ A˜j \vAÈ\0lj(8! (\0  )\b7  )\x007ˆ Aˆj A(ljA6\0 (\0  )\b7€  )\x007ø Aøj A(lj"\t \b)\b7 \t \b)\x007\b (\0  )\b7ð  )\x007è Aèj A(lj \x006 (\0  )\b7à  )\x007Ø AØj A(lj \n6 (\0  )\b7Ð  )\x007È AÈj A(lj 6$ (\0  )\b7À  )\x007¸ A¸j A(ljA6\0 (\0  )\b7°  )\x007¨ A¨j A(lj \v6 (\0  )\b7   )\x007˜ A˜j A(lj 6 (\0  )\b7  )\x007ˆ Aˆj \nA(ljA6\0 (\0  )\b7€  )\x007ø Aøj \nA(lj 6 (\0  )\b7ð  )\x007è Aèj \nA(lj 6 (\0  )\b7à  )\x007Ø AØj \vAÈ\0lj 68 (\0  )\b7Ð  )\x007È AÈj AÈ\0lj \n68\v Aj! \f!@@@ "\bAkA}K\r\0 (\0!  )\b7À  )\x007¸ A¸j \b! (\0!  )\b7°  )\x007¨ A¨j \v!\n@  AÈ\0lj"+ "  \nAÈ\0lj"+ "DH¯¼šò×z> d\r\0  DH¯¼šò×z¾ cE +" +"dq\r\0  ¡™DH¯¼šò×z>eE  ¡™DH¯¼šò×z>eEr\r\v (\0  )\b7   )\x007˜ A˜j \bAÈ\0lj(8! Ç! Ç!\n (\0  )\b7  )\x007ˆ Aˆj A(ljA6\0 (\0  )\b7€  )\x007ø\r Aø\rj A(lj \x006 (\0  )\b7ð\r  )\x007è\r Aè\rj A(lj 6 (\0  )\b7à\r  )\x007Ø\r AØ\rj A(lj \n6$ (\0  )\b7Ð\r  )\x007È\r AÈ\rj A(ljA6\0 (\0  )\b7À\r  )\x007¸\r A¸\rj A(lj \b6 (\0  )\b7°\r  )\x007¨\r A¨\rj A(lj 6 (\0  )\b7 \r  )\x007˜\r A˜\rj \nA(ljA6\0 æ! (\0  )\b7\r  )\x007ˆ\r Aˆ\rj \nA(lj 6 (\0  )\b7€\r  )\x007ø\f Aø\fj AÈ\0ljA:\0D (\0  )\b7ð\f  )\x007è\f Aè\fj \nA(lj 6 (\0  )\b7à\f  )\x007Ø\f AØ\fj \b (\0!\r  )\b7Ð\f  )\x007È\f AÈ\fj \v!AÈ\0lj"+ ! \r AÈ\0lj"\t+ ! +! \t+! (\0!  )\b7À\f  )\x007¸\f   A¸\fj \bAÈ\0ljAÈ\0ü\n\0\0  )\b7°\f  )\x007¨\f A¨\fj !@@ ("\t\0\v Aà\vj"\r (\0 AÈ\0ljAÈ\0ü\n\0\0 \r \t\0\v    ¡™DH¯¼šò×z>e   ¡™DH¯¼šò×z>e!   \b \fF! (\0 AÈ\0lj AÈ\0ü\n\0\0 (\0  )\b7Ø\v  )\x007Ð\v AÐ\vj \bAÈ\0lj 68 (\0  )\b7È\v  )\x007À\v AÀ\vj AÈ\0lj \n68 (\0  )\b7¸\v  )\x007°\v A°\vj \bAÈ\0lj(0AkA~I\r (\0  )\b7¨\v  )\x007 \v A \vj \bAÈ\0lj(4AkA~I\rAþ…AAAˆ÷\b(\07\v \0 \f \vA  Ä\f \0  A  Ä\f A:\0 AÐj$\0\v (\0!  )\b7˜\v  )\x007\v@@@@  A\vj \bAÈ\0lj(0AkA}K\r\0 (\0  )\b7ˆ\v  )\x007€\v A€\vj \bAÈ\0lj(4AkA~I\r\0 A˜j"   \b Œ (\0  )\b7ø\n  )\x007ð\n Að\nj \bAÈ\0lj+ ! (\0!  )\b7è\n  )\x007à\n@   Aà\nj \vAÈ\0lj+ ¡™DH¯¼šò×z>eE\r\0 (\0  )\b7Ø\n  )\x007Ð\n AÐ\nj \bAÈ\0lj+ (\0  )\b7È\n  )\x007À\n AÀ\nj \vAÈ\0lj+¡™DH¯¼šò×z>eE Er\r\0@ (\0"A\0L\r\0   éE\r\0 (\0!  )\b7ˆ\n  )\x007€\n  A€\nj \bAÈ\0lj(0!  )\b7ø\t  )\x007ð\t  Að\tj AÈ\0lj \b6( (\0  )\b7è\t  )\x007à\tA!\n Aà\tj AÈ\0ljA60 (\0!A0!\tA4!\r !\f\v (\0!  )\b7¸\n  )\x007°\n  A°\nj AÈ\0lj(0!  )\b7¨\n  )\x007 \n  A \nj AÈ\0lj 6, (\0  )\b7˜\n  )\x007\nA!\n A\nj \bAÈ\0ljA60\f\v (\0!  )\b7Ø\t  )\x007Ð\t  AÐ\tj \bAÈ\0lj(0!  )\b7È\t  )\x007À\t@  AÀ\tj AÈ\0lj((AkA}K\r\0 (\0!  )\b7¸\t  )\x007°\t  A°\tj \bAÈ\0lj(0!  )\b7¨\t  )\x007 \t  A \tj AÈ\0lj(,AkA}K\r\0 (\0!  )\b7˜\t  )\x007\t  A\tj \bAÈ\0lj(0!  )\b7ˆ\t  )\x007€\t  A€\tj AÈ\0lj((! (\0!  )\b7ø\b  )\x007ð\b  Að\bj \bAÈ\0lj(0!\n  )\b7è\b  )\x007à\b  Aà\bj \nAÈ\0ljA,A(  \bF"j(\0!\n (\0!  )\b7Ø\b  )\x007Ð\b  AÐ\bj \bAÈ\0lj(0!\t  )\b7È\b  )\x007À\b  AÀ\bj \tAÈ\0lj \n6< (\0!  )\b7¸\b  )\x007°\b  A°\bj \bAÈ\0lj(0!\n  )\b7¨\b  )\x007 \b  A \bj \nAÈ\0ljAA 6@\v (\0!  )\b7˜\b  )\x007\b  A\bj \bAÈ\0lj(0!  )\b7ˆ\b  )\x007€\b  A€\bj AÈ\0lj \b6( (\0!  )\b7ø  )\x007ð  Aðj \bAÈ\0lj(0!A0!\t\f\v (\0!  )\b7è  )\x007à@  Aàj \bAÈ\0lj(0AkA~I\r\0 (\0  )\b7Ø  )\x007Ð AÐj \bAÈ\0lj(4AkA}K\r\0 A˜j"   \b Œ (\0  )\b7È  )\x007À AÀj \bAÈ\0lj+ ! (\0!  )\b7¸  )\x007°@   A°j \vAÈ\0lj+ ¡™DH¯¼šò×z>eE\r\0 (\0  )\b7¨  )\x007  A j \bAÈ\0lj+ (\0  )\b7˜  )\x007 Aj \vAÈ\0lj+¡™DH¯¼šò×z>eE Er\r\0@ (\0"A\0L\r\0   éE\r\0 (\0!  )\b7Ø  )\x007Ð  AÐj \bAÈ\0lj(4!  )\b7È  )\x007À  AÀj AÈ\0lj \b6( (\0  )\b7¸  )\x007° A°j AÈ\0ljA60A\f\v (\0!  )\b7ˆ  )\x007€  A€j AÈ\0lj(4!  )\b7ø  )\x007ð  Aðj AÈ\0lj 6, (\0  )\b7è  )\x007àA!\n Aàj \bAÈ\0ljA60 (\0!A4!\r \b\f\v (\0!  )\b7¨  )\x007   A j \bAÈ\0lj(4!  )\b7˜  )\x007@  Aj AÈ\0lj((AkA}K\r\0 (\0!  )\b7ˆ  )\x007€  A€j \bAÈ\0lj(4!  )\b7ø  )\x007ð  Aðj AÈ\0lj(,AkA}K\r\0 (\0!  )\b7è  )\x007à  Aàj \bAÈ\0lj(4!  )\b7Ø  )\x007Ð  AÐj AÈ\0lj((! (\0!  )\b7È  )\x007À  AÀj \bAÈ\0lj(4!\n  )\b7¸  )\x007°  A°j \nAÈ\0ljA,A(  \bF"j(\0!\n (\0!  )\b7¨  )\x007   A j \bAÈ\0lj(4!\t  )\b7˜  )\x007  Aj \tAÈ\0lj \n6< (\0!  )\b7ˆ  )\x007€  A€j \bAÈ\0lj(4!\n  )\b7ø  )\x007ð  Aðj \nAÈ\0ljAA 6@\v (\0!  )\b7è  )\x007à  Aàj \bAÈ\0lj(4!  )\b7Ø  )\x007Ð  AÐj AÈ\0lj \b6( (\0!  )\b7È  )\x007À  AÀj \bAÈ\0lj(4!A4!\t\f\v (\0  )\b7¸  )\x007° A°j \bAÈ\0lj+ ! (\0  )\x007   )\b7¨ + ! A j \bAÈ\0lj!@@@  ¡™DH¯¼šò×z>e@ + +˜d\rA\0!\n\f\v (\0! + !  )\x007  )\b7˜ +°! +˜! +¨!A\0!\n   Aj \bAÈ\0lj"+ "DH¯¼šò×z> d\r  DH¯¼šò×z¾ cE  ¡  ¡£  ¡¢  " +"dq\r  ¡™DH¯¼šò×z>e\r\vA!\n\f\v  ¡™DH¯¼šò×z>eE!\n\v A˜j   \b Œ (\0  )\b7ˆ  )\x007€ A€j \bAÈ\0lj+ ! (\0!  )\b7ø  )\x007ð@   Aðj \vAÈ\0lj+ ¡™DH¯¼šò×z>eE\r\0 (\0  )\b7è  )\x007à Aàj \bAÈ\0lj+ (\0  )\b7Ø  )\x007Ð AÐj \vAÈ\0lj+¡™DH¯¼šò×z>eE Er\r\0 (\0!  )\b7È  )\x007À  AÀj \bAÈ\0lj(0!  )\b7¸  )\x007°  A°j AÈ\0lj \b6( (\0!  )\b7¨  )\x007   A j \bAÈ\0lj(0!  )\b7˜  )\x007  Aj AÈ\0ljA6, (\0!  )\b7ˆ  )\x007€  A€j \bAÈ\0lj(4!  )\b7ø  )\x007ð  Aðj AÈ\0lj 6( (\0!  )\b7è  )\x007à  Aàj \bAÈ\0lj(4!  )\b7Ø  )\x007Ð  AÐj AÈ\0ljA6, (\0  )\b7È  )\x007À AÀj \bAÈ\0lj(4! (\0  )\b7¸  )\x007° A°j AÈ\0lj 60 (\0  )\b7¨  )\x007  A j \bAÈ\0ljA64A\f\v (\0!  )\b7˜  )\x007  Aj \bAÈ\0lj(0!  )\b7ˆ  )\x007€  A€j AÈ\0lj \b6( (\0!  )\b7ø  )\x007ð  Aðj \bAÈ\0lj(0!  )\b7è  )\x007à  Aàj AÈ\0lj! \n@  6, (\0!  )\b7x  )\x007p  Að\0j \bAÈ\0lj(4!  )\b7h  )\x007`  Aà\0j AÈ\0lj 6( (\0!  )\b7X  )\x007P  AÐ\0j \bAÈ\0lj(4!  )\b7H  )\x007@A!\n  A@k AÈ\0ljA6,\f\v A6, (\0!  )\b7Ø  )\x007Ð  AÐj \bAÈ\0lj(4!  )\b7È  )\x007À  AÀj AÈ\0lj \b6( (\0!  )\b7¸  )\x007°  A°j \bAÈ\0lj(4!  )\b7¨  )\x007   A j AÈ\0lj 6, (\0  )\b7˜  )\x007 Aj \bAÈ\0lj(4! (\0  )\b7ˆ  )\x007€ A€j AÈ\0lj 60A\v!\n (\0!A4!\r \v!A4!\t\f\vA,!\r !\n\f\v (\0!A0!\tA4!\r \b!\v  )\b78  )\x0070  A0j AÈ\0lj \rj \n6\0 (\0  )\b7(  )\x007 A j \bAÈ\0lj \tj(\0! (\0  )\b7  )\x007 Aj \bAÈ\0lj \x006 (\0  )\b7\b  )\x007\0  AÈ\0lj \x006\0\f\0\v\0\vAâƒAÂ\0AAˆ÷\b(\075\0\vË ~|#\0A\tk"$\0 A \bj"\bA\0AÀ\0ü\v\0 \0A\0Aà\0ü\v\0 \0AÈ\0$! \0(\0 AÈ\0lj \0AjAÈ\0ü\n\0\0 (\0! \bÇ!\b  ) \b7\b  )¨\b7˜\b ( \b A\bj \bA(ljA6\0  ) \b7€\b  )¨\b7ˆ\b ( \b A€\bj \b   A8lj"\r)"7ˆ\t  \r)7€\t  \r)\b7ø\b  \r)\x007ð\bA(lj!\t  Að\bj"" +ø\b" ¿"DH¯¼šò×z> d\r\0 A€\tj"  ¡™DH¯¼šò×z>eE\r\0   +ð\b +€\tDH¯¼šò×z> d\v")\b"7è\b  )\0"7à\b \t 7 \t 7\b A \bj"Ç!  ) \b7ð  )¨\b7ø ( \b Aðj \bA(lj 6$  ) \b7à  )¨\b7è ( \b Aàj A(ljA6\0  ) \b7Ð  )¨\b7Ø ( \b AÐj A(lj \b6 Ç!  ) \b7À  )¨\b7È ( \b AÀj \bA(lj 6  ) \b7°  )¨\b7¸ ( \b A°j A(ljA6\0  ) \b7   )¨\b7¨ ( \b A j   \r)"7ˆ\t  \r)7€\t  \r)\b7ø\b  \r)\x007ð\b@ +ø\b" ¿"DH¯¼šò×z¾ c\r\0 A€\tj!  ¡™DH¯¼šò×z>eE\r\0 Að\bj  +ð\b +€\tc!\v  )\b"7è\b  )\0"7à\bA(lj" 7  7\b  ) \b7  )¨\b7˜ ( \b Aj A(lj \b6 A \bj"Ç!  ) \b7€  )¨\b7ˆ ( \b A€j A(lj 6  ) \b7ð  )¨\b7ø ( \b Aðj A(ljA6\0  ) \b7à  )¨\b7è ( \b Aàj A(lj 6 Ç!  ) \b7Ð  )¨\b7Ø ( \b AÐj A(lj 6$  ) \b7À  )¨\b7È ( \b AÀj A(ljA6\0  ) \b7°  )¨\b7¸ ( \b A°j A(lj 6  ) \b7   )¨\b7¨ ( \b A j A(lj 6 Ç!  ) \b7  )¨\b7˜ ( \b Aj A(lj 6  ) \b7€  )¨\b7ˆ ( \b A€j A(ljA6\0  ) \b7ð  )¨\b7ø ( \b Aðj A(lj 6 Ç!  ) \b7à  )¨\b7è ( \b Aàj A(lj 6$  ) \b7Ð  )¨\b7Ø ( \b AÐj A(ljA6\0  ) \b7À  )¨\b7È ( \b AÀj A(lj 6 \0æ! \0æ!\t \0æ!\v \0æ!\f \0(\0  \0)\b7¸  \0)\x007° A°j   ) \b7   )¨\b7¨AÈ\0lj" ( \b A j \bA(lj"\n)7  \n)\b7\b \0(\0  \0)\b7˜  \0)\x007 Aj \t  ) \b7€  )¨\b7ˆAÈ\0lj" ( \b A€j \bA(lj"\n)7  \n)\b7\b \0(\0  \0)\b7ø  \0)\x007ð Aðj \f  ) \b7à  )¨\b7èAÈ\0lj" ( \b Aàj \bA(lj"\n)7  \n)\b7 \0(\0  \0)\b7Ø  \0)\x007Ð AÐj   ) \b7À  )¨\b7ÈAÈ\0lj" ( \b AÀj A(lj"\n)7  \n)\b7 \0(\0  \0)\b7¸  \0)\x007° A°j \t  ) \b7   )¨\b7¨AÈ\0lj" ( \b A j A(lj"\n)7  \n)\b7 \0(\0  \0)\b7˜  \0)\x007 Aj \v  ) \b7€  )¨\b7ˆAÈ\0lj" ( \b A€j A(lj")7  )\b7\b \0(\0  \0)\b7ø  \0)\x007ð Aðj \fAÈ\0ljBÿÿÿÿÿÿÿ÷ÿ\x007 \0(\0  \0)\b7è  \0)\x007à Aàj \fAÈ\0ljBÿÿÿÿÿÿÿ÷ÿ\x007\b \0(\0  \0)\b7Ø  \0)\x007Ð AÐj \vAÈ\0ljBÿÿÿÿÿÿÿw7 \0(\0  \0)\b7È  \0)\x007À AÀj \vAÈ\0ljBÿÿÿÿÿÿÿw7 \0(\0  \0)\b7¸  \0)\x007° A°j AÈ\0lj 6 \0(\0  \0)\b7¨  \0)\x007  A j \tAÈ\0lj 6\0 \0(\0  \0)\b7˜  \0)\x007 Aj AÈ\0lj \f6( \0(\0  \0)\b7ˆ  \0)\x007€ A€j \tAÈ\0lj \f6( \0(\0  \0)\b7ø  \0)\x007ð Aðj AÈ\0lj \v60 \0(\0  \0)\b7è  \0)\x007à Aàj \tAÈ\0lj \v60 \0(\0  \0)\b7Ø  \0)\x007Ð AÐj \fAÈ\0lj 60 \0(\0  \0)\b7È  \0)\x007À AÀj \vAÈ\0lj 6( \0(\0  \0)\b7¸  \0)\x007° A°j \fAÈ\0lj \t64 \0(\0  \0)\b7¨  \0)\x007  A j \vAÈ\0lj \t6, \0(\0  \0)\b7˜  \0)\x007 Aj AÈ\0lj 68 \0(\0  \0)\b7ˆ  \0)\x007€ A€j \tAÈ\0lj 68 \0(\0  \0)\b7ø  \0)\x007ð Aðj \vAÈ\0lj 68 \0(\0  \0)\b7è  \0)\x007à Aàj \fAÈ\0lj 68 \0(\0  \0)\b7Ø  \0)\x007Ð AÐj AÈ\0ljA:\0D \0(\0  \0)\b7È  \0)\x007À AÀj \tAÈ\0ljA:\0D \0(\0  \0)\b7¸  \0)\x007° A°j \vAÈ\0ljA:\0D \0(\0  \0)\b7¨  \0)\x007  A j \fAÈ\0ljA:\0D  ) \b7  )¨\b7˜ ( \b Aj A(lj \f6  ) \b7€  )¨\b7ˆ ( \b A€j A(lj \v6  ) \b7p  )¨\b7x ( \b Að\0j A(lj 6  ) \b7`  )¨\b7h ( \b Aà\0j A(lj \t6 \rA:\0 A\0 A\0JAj!\fA!@  \fFE@  A8lj" \b6$  \b6( Aj!\f\v\v ·!A\0!@ D\0\0\0\0\0\0ð?f@ Aj! «!\f\v\vA  AM!\rA!A!\t@ \t \rG@  \tAk!\b   \t"\v \b \b \vHj \bk!\b@  \bF@A!\v@ \v \fG@  \vA8lj"-\0 E@   Aj" ($  A \bj"‚"6$ \0(\0!  \0)\b7X  \0)\x007P   AÐ\0j AÈ\0lj(86$    ((  ‚"6( \0(\0!  \0)\b7H  \0)\x007@   A@k AÈ\0lj(86(\v \vAj!\v\f\v\v \tAj!\t \b!\f  Atj(\0  \0 A \bjÅ\f Aj!\f\v\0\v\0\v\v  Ak"\b   \bH \bk j!@  F@@A\0!@  (¨\bO\r  )¨\b78  ) \b70 A0j !\0@@@ (°\b"\0\vAâƒAÂ\0AAˆ÷\b(\075\0\v A\bj" ( \b \0A(ljA(ü\n\0\0  \0\v Aj!\f\0\v\0\v  Atj(\0  \0 A \bjÅ\f Aj!\f\v\v A \bj"\0A(- \02 A\tj$\0\vŽ#\0Að\0k"$\0A!@  ("(´JE@ (¸ Atj(\0! A j" A(ü\n\0\0 AÈ\0j"  Ç\f  A(ü\n\0\0 Aj!\f\v\v@ 6 F\r\0 ((\f"E\r\0 -\0QAG\r\0 ( !  )\x007\0  )\b7\b  )7  )7 AÈ\0j   ¤  )`7  )X7  )P7\b  )H7\0  A(j6 \v \0 A(ü\n\0\0 Að\0j$\0\v_@ \06 \0F\r\0 \0((\f"E\r\0 -\0Q!\vA! \0("(´ H  (¸ Atj(\0È\f j! Aj!\f\v\v\v“|@ \06 \0F\r\0 \0("(\f"E\r\0 -\0Q\r\0 -\0“"Aq@ +( +XD\0\0\0\0\0\0à¿¢ ! AÐ\0j\f\v + +8D\0\0\0\0\0\0à?¢ ! A0j\v+\0!| Aq@ + D\0\0\0\0\0\0à¿¢ \f\v +! D\0\0\0\0\0\0à?¢   Aq\r\0  +  D\0\0\0\0\0\0à?¢\v! A:\0Q  9@  98\vA!@  \0("(´JE@ (¸ Atj(\0É\f Aj!\f\v\v\v•|@ \06 \0F\r\0 \0("(\f"E\r\0 -\0Q\r\0 -\0“"Aq@ + +@D\0\0\0\0\0\0à¿¢ ! AÈ\0j\f\v + +`D\0\0\0\0\0\0à?¢ ! Aè\0j\v+\0!| Aq@ D\0\0\0\0\0\0à?¢ + \f\v Aq@ +( D\0\0\0\0\0\0à¿¢ \f\v + +( D\0\0\0\0\0\0à?¢\v! A:\0Q  9@  98\vA!@  \0("(´JE@ (¸ Atj(\0Ê\f Aj!\f\v\v\vâ|#\0A k"$\0 \0("+ ! +! Að\0j AÐ\0j AkAI"" +("\b +"\t "\n9\b  9\0  \n9(  9 A€j A jÔ Aà\0j A@k " \t \b "9\b  9\0  9  9 Aj AjÔ \0(" )˜7(  )7  )ˆ7  )€7 \0((\f"@  )87\0  )@7\b A0j Ô  )87@  )078\vA!@  \0("(´JE@ (¸ Atj(\0 Ë\f Aj!\f\v\v A j$\0\væ| \0( " ( "\bG@A!@ -\0$E\r\0 \b-\0$E\r\0 \0+\0"D\0\0\0\0\0\0\0\0a@ \0+\bD\0\0\0\0\0\0\0\0a\r\v +\0"D\0\0\0\0\0\0\0\0a +\b"D\0\0\0\0\0\0\0\0aq\r\0 \0+\b" d@  d@A\0\vAA  c\v  d@  d@A\vA\bA  c\v  d@A\vAA  c!\v \vAÈÚ\0A ºAÓAúõ\0\0\0\vš~#\0AÐk"$\0 A\x006¤@ @ ("A\0H\r @  )7x  )7p  )\b7h  )\x007`#\0AÀk"$\0@ @ A\bj!\v@ \bAÀ\0F\r \v \bA(lj"( @  )7¸  )7°  )\b7¨  )\x007   )\x007`  )\b7h  )7p  )7x Aà\0jÄ!\r  )`7@  )h7H  )p7P  )x7X  ) 7  )¨7(  )°70  )¸78 A€j A@k A jà  )˜7  )7  )ˆ7\b  )€7\0 Ä \r}" Z \tqE@ \r!\f ! \b\f\v \r \f  Q \f \rVq"!\f \b \n \v!\nA!\t\v \bAj!\b\f\0\v\0\vA¡ì\0AؾAð\0A¬û\0\0\0\v AÀj$\0  \nA(lj"((!  )7X  )7P  )\b7H  )\x007@ \0 A@k   A¤jÍ\fE@  )\x007  )\b7(  )70  )78  )\b7\0  )7\b  )7  ) 7 A¨j A j à  )À7  )¸7  )°7  )¨7\bA\0\f\v A€j ((…  )˜7  )7  )ˆ7  )€7\b  (¤"6È A¨j" … \0   ê\f\v  )7À  )7¸  )\b7°  )\x007¨  6È \0 A¨j  ê\v AÐj$\0\vAæAû·AÒAæÓ\0\0\vAßï\0Aû·AÓAæÓ\0\0\vï#\0A k"$\0@ @ ("A\0H\r A\bj!@ E@A\0!@ AÀ\0F\r@  A(lj"( E\r\0  )78  )70  )\b7(  )\x007  )\x007\0  )\b7\b  )7  )7 A j ÂE\r\0A\bž"\0 6\0 \0 6 \0!\v Aj!\f\0\v\0\v@ AÀ\0F\r@  A(lj"( E\r\0  )7˜  )7  )\b7ˆ  )\x007€  )\x007`  )\b7h  )7p  )7x A€j Aà\0jÂE\r\0 ( !  )7X  )7P  )\b7H  )\x007@ \0  A@kÎ\f! "E@ !\f\v@ "\b(\0"\r\0\v \b 6\0\v Aj!\f\0\v\0\v A j$\0 \vA¡ì\0Aû·A…Aû\0\0\0\vAÙAû·A†Aû\0\0\0\vv@ \0(A\0J@@ AÀ\0F\r \0 A(lj"(("@ Ï\f (( \0 Ñ\f\v Aj!\f\0\v\0\v@ AÀ\0F\r \0 A(lj((@ \0 Ñ\f\v Aj!\f\0\v\0\v\v\r \0( \0\v]\0@ \0E AÀ\0OrE@ \0 A(lj"((E\r A\bjÒ\f \0 \0(\0Ak6\0\vA¶ÝAؾA¯AŸû\0\0\0\vA§AؾA°AŸû\0\0\0\v\0 \0Ô\f \0A\x006 \v: \0B€€€€p7\0 \0A\bj!A\0!\0@ \0AÀ\0G@  \0A(ljÒ\f \0Aj!\0\f\v\v\v%@ AG@ \0 AtjB\x007\0 Aj!\f\v\v\vò#\0Að\0k"$\0@@@@@  \0(\bO\r \0(\0  \0)\b7H  \0)\x007@ A@k Alj(\0"E\r E\r  G@ Aj!\f\v\v \0(\0  \0)\b78  \0)\x0070 A0j Alj 6 \0(\0  \0)\b7(  \0)\x007 A j AljAjA$! \0(\0  \0)\b7  \0)\x007 Aj Alj(! \0(\0  \0)\b7\b  \0)\x007\0  Alj( Atj 6\0\f\v A\x006h B\x007` B\x007X  6l  6T AØ\0jA$! (X Atj (l6\0 \0 (l6, \0 )d7$ \0 )\\7 \0 )T7 \0A$! \0(\0 Alj" \0(,6  \0)$7  \0)7\b  \0)7\0\v Að\0j$\0\vA«×A¦ü\0A\fA<\0\0\vAëÖA¦ü\0A\rA<\0\0\vÍ\n\t\n|#\0Aà\0k"$\0 (\0!\t (\b!\n|  \nF| \r @! \0("+P! +`! +X! +!\f +!\v \0+ \0("+! +!((ü!  \v9(  \f9    £     · ""¢ "9X  \v \v   D\0\0\0\0\0\0\b@£98    \r £¢ "\r9P  \f \f  \r D\0\0\0\0\0\0\b@£90  \v    D\0\0\0\0\0\0\b@£9H  \f \r \r  D\0\0\0\0\0\0\b@£9@ A j!#\0Að\0k"$\0@ \0("(\b"E\r\0 ((\f"E\r\0 Aj"A\0AÈ\0ü\v\0  \x006 +`!\f  +\0 +¡"\v9` +!\r +\b!  \v9\b   \r¡"\v9h  \v9  A\bj \0\0! \0( \f9`  \0  ñ\v Að\0j$\0 \0("+!\v +( +`! +X" + +¡0"\f D\0\0\0\0\0\0p@¢   £ü! \v¡0  )\b7  )\x007  \0 \t Aj Atj(\0"A(Ax (\0Aq"AFj(\0"F A(AØ\0 AFj(\0 \v("+ \0("+¡"\f + +¡"\v \f@"\f£ ! \r \v \f£ !\r Aj!\f\v\v!\v@@ \b \nG@  )\b7\b  )\x007\0 \t  \bAtj!@ (\0"! E\r@@ "E@ !@ "E\r \0  A0j" \0 A(Ax (\0Aq"AFj(\0F ("A\x006\\ A\0;Z A\0:\0Y  :\0X B€€€€7P B\x007H  \v9@  \f98 (\0Aq \vAF((F@ ("A\x0064 A\0;2 A\0:\x001  :\x000 B€€€€7( B\x007  \v9  \f9\vA\0! (-\0pAG\r\0   (\0AqAF((("-\0¬AG\r\0 (ÄAG\r\0 (À(\0!\f\0\v\0\v \0 A(AØ\0 \0  A0k" (\0Aq"AF((F ("A\x006\\ A\0;Z A\0:\0Y  :\0X B€€€€7P B\x007H  \v9@  \f98 (\0Aq \vAFj(\0F@ ("A\x0064 A\0;2 A\0:\x001  :\x000 B€€€€7( B\x007  \v9  \f9\vA\0! (-\0pAG\r   (\0AqAF((("-\0¬AG\r (ÌAG\r (È(\0!\f\v\v (A°j!\f\0\v\0\v \0(A:\0¡ Aà\0j$\0\v \bAj!\b\f\0\v\0\vÏ\n#\0Ak"$\0 AàjA„Æ\bA0ü\n\0\0 A°jA„Æ\bA0ü\n\0\0A¬Í\n \0AAú±A\0!6\0A°Í\n \0AAÖï\0A\0!"6\0@@ A¬Í\n(\0rE\r\0 \0!@ E@A\0!@ (è M@ Aàj"\0A- \02A\0!@ (¸ M@ A°j"\0A- \02\f  )¸7X  )°7P AÐ\0j !\0@@ (À"\t\0\v  (° \0Alj"\0)\x0070  \0)\b78  \0)7@  \0(6H A0j \0\v Aj!\f\v\0\v\0  )è7(  )à7 A j !\0@@ (ð"\0\v  (à \0Alj"\0)\x007\0  \0)\b7\b  \0)7  \0(6  \0\v Aj!\f\v\0\v\0\v \0 ^!@A\0!@@@ E@A\0!@  (è"O\r  )à7ˆ  )è7 (à Aˆj Alj(\fAO@  )à7x  )è7€  (à Aø\0j Alj")7p  )\f7h  )7`  Aà\0jÖ\f\v Aj!\f\0\v\0\v A(Ax (\0Aq"AFj(\0"  A0j" AF((F\r@  G\r\0A¬Í\n(\0"E\r\0  ?"-\0\0\r (\0Aq!\v   AF(( G\rA°Í\n(\0"E\r  ?"-\0\0E\r A°j  Õ\f\f\v@@  O@ AàjA-A\0!A\0!@  (¸"O\r  )°7ð  )¸7ø (° Aðj Alj(\fAO@  )°7à  )¸7è  (° Aàj Alj")7Ø  )\f7Ð  )7È  AÈjÖ\f\v Aj!\f\0\v\0\v  )è7À  )à7¸ A¸j !@@ (ð"\t\0\v  (à Alj")\x007˜  )\b7   )7¨  (6° A˜j \0\v Aj! (è!\f\v\v@  O@ A°jA- \0 !\f  )¸7¨  )°7  A j !@@ (À"\t\0\v  (° Alj")\x007€  )\b7ˆ  )7  (6˜ A€j \0\v Aj! (¸!\f\v\0\v\0\v Aàj  Õ\f\v \0  c!\f\0\v\0\v\0\v Aj$\0\vAâƒAÂ\0AAˆ÷\b(\075\0\vA! \0 ç\fA \0 æ\f\v\v@@  \0(\0O\r\0  \0("O\r\0 \0(\b  l j"\0Avj-\0\0 \0Aqv!\v Aq\vÎ\n@@ \0@ \0(\0" K \0(" KqE@  Aj"  K"  Aj"  K"l"Av AqA\0Gjõ! \0(\0!\b@  \bG@  l!\t \0(!\nA\0!@  \nF@ Aj!\f\v \0  Ù\f@   \tj"\vAvj"\f \f-\0\0A \vAqtr:\0\0\v Aj!\f\0\v\0\v\v \0(\b \0 6\b \0 6 \0 6\0  O\r\v  O\r \0(\b  l j"\0Avj" -\0\0A \0Aqtr:\0\0\vAÖAç¹AÊ\0A‘"\0\0\vA±&Aç¹Aç\0A‘"\0\0\vAè,Aç¹Aè\0A‘"\0\0\vM@ \0"((x"\0\r\0\v A(AØ\0 (\0Aq"\0AFj(\0((è A(Ax \0AFj(\0((èG\vÑ#\0A k"$\0@@@@@ A(Ax (\0Aq"AFj(\0"((Ð"E\r\0 A(AØ\0 AFj!\b@  Atj(\0"E\r Aj! A(Ax (\0AqAFj(\0 \b(\0G\r\0\v  Å@ ("\0-\0pAG\r\0 \0(x\r\0 \0 6x\v  A0j"\0 (\0AqAF((("(ä"Aj"AÿÿÿÿO\r Aj"A€€€€O\r (à!@ E@ A\0!\f\v  At"b"E\r  At"M\r\0  jA\x006\0\0\v  \0 (\0AqAF((( 6à  \0 (\0AqAF(((" (ä"Aj6ä (à Atj 6\0  \0 (\0AqAF((("\0(à \0(äAtjA\x006\0\f\v  A(AØ\0 AFj(\0 ¥"("AA ("-\0pAF:\0p  (`6` \0 ‹\v A j$\0\vAÞÀA¤ý\0AÍ\0A˜´\0\0\v A6  6\0Aˆ÷\b(\0AØê .\0\v  6Aˆ÷\b(\0A§ê Aj.\0\v¼ ("A6°@ (ÔE\r\0@ (Ð Atj(\0"E\r@ \0 ‰E\r\0 A(Ax (\0AqAFj(\0"((°\r\0 \0   Ý\f\v Aj! (!\f\0\v\0\v  (ôG@Aÿ;Aç¹A·\nAý9\0\0\v  6 A$!\0 (\0 \0Atj (6\0\v \0((Ä ("(ôAÈ\0lj(@! A:\0´ A6° \0S!@ ("(Ð"E\r\0 ((´A\0L!@  Atj(\0"E\r@ E@ \0 A(AØ\0 (\0AqAFj(\0‘E\r \0 A(Ax (\0AqAFj(\0‘E\r\v ((œE\r\0  A0k"\b (\0Aq"AF((("-\0´@  (¬ A(AØ\0 AFj(\0((¬Ú\f ¢ Ak! (-\0pAF\r \0 Ü\f\f\v  A(AØ\0 AFj(\0((¬ (¬Ú\f  \b (\0AqAF(("((°\r\0 \0 Þ\f\v Aj! ("(Ð!\f\0\v\0\v A\0:\0´\v% \0!@ @ \0  ‘ \0 !\f\v\v\vÐ ((È!@ (\0"@ A(Ax (\0AqAFj(\0((ø! \0((È! (".š!@ (\0"@@@  A(Ax (\0AqAFj(\0((ø"\bH@ (!\f\v  \bG\r ("+8 +8dE\r\v .š l j!\v Aj!\f\v\v Aj!\f\v\v \vÔ~ ((À!@ (\0"@ A(AØ\0 (\0AqAFj(\0((ø! \0((À! ("2š!\b@ (\0"@@@  A(AØ\0 (\0AqAFj(\0((ø"H@ (!\f\v  G\r ("+ +dE\r\v 2š \b~ |!\v Aj!\f\v\v Aj!\f\v\v \v× \0(\0! A\0L!\b@  Atj(\0"@ !\0@ \bE@@  \0Aj"\0Atj(\0"E\r ("+ ("+¡ A(Ax (\0AqAFj(\0((ø A(Ax (\0AqAFj(\0((øk·¢D\0\0\0\0\0\0\0\0cE\r\0 .š .šl j!\f\0\v\0\v@  \0Aj"\0Atj(\0"E\r ("+8 ("+8¡ A(AØ\0 (\0AqAFj(\0((ø A(AØ\0 (\0AqAFj(\0((øk·¢D\0\0\0\0\0\0\0\0cE\r\0 .š .šl j!\f\0\v\0\v Aj!\f\v\v \vª#\0Ak"$\0 \0(\0"(! (\b! @»\f\v Aj"!\0@ \0(\0"\0@ \0(\bE@»\f\v \0A\fj!\0\f\v\v A‚k"AI@  £ !\0@ \0(\0"\0@@ \0(\0A‹F\r\0@ \0("-\0@ (\0 F\r\v \0(\bi \0(\b! (\0! \0((\b!\b@   \b Ž!\f\v   \b !!\v (\0 G\r\0 A:\0\v \0A\fj!\0\f\v\v  € Aj$\0\v Aö6 A6\0Aˆ÷\b(\0AØÀ 5\0\v¥@ E@@  ("(ÌO\r (È Atj(\0" A0k" (\0AqAF((("(°E@ A6° \0   (\0AqAF((6 \0A$! \0(\0 Atj \0(6\0\v Aj!\f\0\v\0\v@  ("(ÄO\r (À Atj(\0" A0j" (\0AqAF((("(°E@ A6° \0   (\0AqAF((6 \0A$! \0(\0 Atj \0(6\0\v Aj!\f\0\v\0\v\vƒ\b#\0Að\0k"$\0 \0("(Ä ("(ô"AÈ\0lj"(\0!@@ (\b"\bA\0L@ \0 !\0  !  6  6\f  6\b  \x006 A“\t6\0Aß 4\f\v ( Atj"\t 6\0  6ø  Aj6\0  \bN\r  AÈ\0l"\0A¼í\n(\0((Äj(\b"J@  ! ((ø! A¼í\n(\0((Ä \0j(\b60 A§\t6  6$  6(  6,AìË A j4\f\v (ì!\0 (è" L \0 NqE@  \x006L  6H  6D A¬\t6@A¥Í A@k4\f\vA\0 \t (\f AtjM\r  !\0A¼í\n(\0((Ä AÈ\0lj(\b! ((ø!  6`  6d  6h A²\t6P  6T  \x006X  6\\AµÌ AÐ\0j4\vA\v Að\0j$\0\vAòê\0Aç¹Aš\tAÜô\0\0\0\vb@ ("-\0¬AG\r\0 (ÄAG\r\0 (ÌAG\r\0 (È!@ (\0"("Aø\0j! -\0p\r\0\vA \0 ‘\r\vA\0\v\v (-\0¬A\0 \0 ‘A\0G\v\vÜ A\0N! !@ !@@ E@ ("(ø"A\0L\rA¼í\n(\0((Ä (ôAÈ\0lj( AtjAk\f\vA¼í\n(\0((Ä ("(ôAÈ\0lj( (ø"AtjAj\v(\0"E\r\0 ((ø k lA\0J\rAø–Aç¹AóAÏ7\0\0\v \v ! \0 ç\f\r\0   \0 æ\f!\f\0\v\0\v= \0ê\fA!@  \0("(´JE@ (¸ Atj(\0é\f Aj!\f\v\v\vY@ \0("(Œ"E\r\0 (ì! (è!\0@ \0 J\r  \0Atj (Ä \0AÈ\0lj((\x006\0 \0Aj!\0\f\0\v\0\v\vÄ ("(è! ("(è!@@@A¸í\n-\0\0E@ E Er  Fr\r -\0µAF@ -\0¬AF\r\v -\0µAG\r -\0¬AF\r\f\v  G\r\v \0("\0(Ä (ôAÈ\0lj(@"E\r    \0(tAq"\0((¬   \0((¬Ù\f\vA\vA\0\vÜ\b \0("(ì! (è"!@  J@@  L@ AÈ\0l"A¼í\n(\0((ÄjA\0:\x001 (Ä j"( (\0AA¥š Aj! \0("(ì!\f\v\vA\0! (Ä AÈ\0lj"(\0"A\0 A\0J!@  G@ ( Atj(\0("\b \b+ü6ø Aj!\f\v\v Aj!\f\v\v\v¹\t\f#\0AÐ\0k"$\0 B\x007H B\x007@ B\x0078 \0("-\0ðAF@ (è!\t@ (ì \tH@@ (@ \nM@ A8j"\0A- \02  )@7  )87\b A\bj \n!\0@@@ (H"\0\v (8 \0Atj(\0\f\v (8 \0Atj(\0 \0\v \nAj!\n\f\v\v@ \tAÈ\0l"\b (Äj"(\0"E\r\0A\0! A\0 A\0J! ("(\0((ø!\fA\0!@  FE@  Atj(\0(A\x006° Aj!\f\v\v@ (@ M@ A8jA-A\0!@ \0("(Ä" \bj"(\0" J@ (" Atj  Atj AsAtj -\0tAq(\0!A\0!A\0!A\0!@ ("(Ü M@A\0!@ (Ô M@@  rE@  6L A8jA$! (8 Atj (L6\0\f\v (° r\r\0 \0  A8j \tÝ\f\v Aj!\f \0 (Ð Atj(\0‰ j! (! Aj!\f\v\0\v\0 \0 (Ø Atj(\0‰ j! Aj!\f\v\0\v\0\v\v@@ (@E\r\0 -\0tAqE@ A8j¹\t \0("(Ä!\vA\0!\vA\0!@   \bj(\0"NE@  )87(  )@70 (8! A(j ! \0("(Ä" \bj( Atj  Atj(\0"6\0 (  \fj6ø Aj!\f\v\v@  \vL\rA\0!  \bj( \vAtj(\0"\f((Ð"@@@ \0(!  Atj(\0"E\r\0 A(AØ\0 (\0Aq"AFj(\0((ø! A(Ax AFj(\0((ø!@@ -\0tAqE@  H\r\f\v  L\r\v \0 ‰\r ¢ \0 Ü\f Ak! \f((Ð!\v Aj!\f\v\v (Ä" \bj(\0!\v \vAj!\v\f\0\v\0\vA¼í\n(\0((Ä \bjA\0:\x001\f\vAÕ§Aç¹Aò\nA‡:\0\0  )@7  )87 Aj !@@@ (H"\0\v (8 Atj(\0\f\v (8 Atj(\0 \0\v Aj!\f\v\0\v\0\v \tAj!\t\f\v\v\v AÐ\0j$\0\v¬ \0("(è!@A\0!A\0!  (ìJE@@  AÈ\0l" (Äj"(\0"NE@ ( Atj(\0(" 6¬ A\0:\0´ A\x006°  (ÔErE@A\fõ"  l"Av AqA\0Gjõ6\b  6  6\0 \0("(Ä j 6@A!\v Aj!\f\v\vA\0!@ E\r\0@  (Ä j"(\0N\r ( Atj(\0"((°E@ \0 Þ\f \0(!\v Aj!\f\0\v\0\v Aj!\f\v\v\v™\t\v#\0AÐ\0k"$\0 B\x007H B\x007@ B\x0078 \0("AÀj!@ (\0"@ ("A\x006° A¸j!\f\v\v (ì! (è!@  L@ (Ä AÈ\0ljA\x006\0 Aj!\f\v\v \06! \0((À!@ \0 F"@ !\f\v@ "((¸"\r\0\v\vAÈAÀ !\bA¸A¼ !\t AÌ\0j!\n@@ @@ (" \bj(\0(\0\r\0 (°\r\0 A6°  6L A8jA$! (8 Atj (L6\0@ (@E\r A8j \nÇ (L"(-\0µAG@ \0 å\f@A\0!@ (@ M@A!\f\b  )@70  )87( A(j !\0@@@ (H"\0\v (8 \0Atj(\0\f\v (8 \0Atj(\0 \0\v Aj!\f\v\0\v\0\v A8j  ä\f\f\v A8j!\vA\0!@ Aj"\f ((è"(",\0‘F\r\0 (è!@ ("(ì" N@ At! Aj! \0  (Œj(\0å\f"E\r\f\v\v (è!@  L@ \v (Œ Atj(\0 ä\f Aj! ("(ì!\f\v\v  \f:\0‘A\0!\v E\r\0\vA\0!@  (@O\r  )@7  )87 Aj !\0@@@ (H"\0\v (8 \0Atj(\0\f\v (8 \0Atj(\0 \0\v Aj!\f\0\v\0\v ( \tj(\0!\f\v\vA¼í\n(\0! \0("(è!@ (ì N@ AÈ\0l" ((ÄjA\0:\x001@ -\0tAqE\r\0 (Ä j"(\0"A\0L\r\0 Ak"AvAj! (!A\0!@  G@  Atj(\0   kAtj(\0“ Aj!\f\v\v \0(!\v Aj!\f\v\v@ \0S \0G\r\0ëB\0W\r\0 \0A\0’\vA\0!A\0!@  (@O\r  )@7  )87\b A\bj !\0@@@ (H"\0\v (8 \0Atj(\0\f\v (8 \0Atj(\0 \0\v Aj!\f\0\v\0\v A8j"\0A- \02 AÐ\0j$\0 \vÉ\b\n~B!\v@ \0"ÿ\v \0("\0A6Ü \0(Ø \0(À6\0 ò\f@@ A\0ï\f"\r\0 ("\0(è \0(ìJ\r S! ("(è"A\0J@ ((Ä AÈ\0ljAkA\0:\0\0\v@ (ì N@   (Œ Atj(\0((ø"\0 AÈ\0l"\b (Äj(\0ý\vA\0! \0!@ ("(Ä \bj"(\0 J@ ((Ä \bj( Atj ( Atj(\0"6\0 (" 6ø -\0¬AF@  66\v Aj!  Œ  ¤ Aj!\f\v\v  ((Ä \bj"( \0Atj6 A\0:\x001 Aj!\f\v\v ("\0(ì J@ \0(Ä AÈ\0ljA\0:\x001\v A:\0 S! !@ @A\0!  ^!@ "\0E@  !\f\v  \0 c!  \0‘\r\0  \0APA\0 \0(\0AqAGj"\0€\f \0A(Ax \0(\0Aq"AFj(\0"((ô!\b \0A(AØ\0 AFj(\0"((ô!\t@ \0(" A\0 \b \tF6° ("\b(°E\r A\x006°  \0 \b(°A\0æ \0‡\r\f\v \b \tF@  Š\r"E@ \0"((°\r  \0‹\f\v \0 F\r \0‡\r \0((°\r \0 Å\f\v \b \tJ@   \0ü\v   \0ü\v\v \0!\f\0\v\0\v\v ("(è!A\0!@  (ìJ\r At" (Œj(\0!\0@ \0("(È(\0"@ ä ( \f\v\v@ (À(\0"@ ä  \0(!\f\v\v S \0Œ \0((À \0((È \0( \0 ("(Œ jA\x006\0 Aj!\f\0\v\0\v \f\vAù³A€»AàAÀ-\0\0\v\r\0 ˜ î\f í\f A—"\vB\0S\r\0A!\0@ ("(´ \0N@ (¸ \0Atj(\0ð\f"\fB\0S@ \f \0Aj!\0 \v \f|!\v\f\v\0\v\v ê\f\v \v\v¿ \0(Aj!\0@@@ \0(\0"\0@@@ \0(\0"AŠF@ \0(E\r \0(\bi \0(\b! \0(!E\r   Ê\f\v -\0\0AqE\r A‹G\r \0(Ÿ\rA¡AAÕA¨)\0\0\v   a\v \0A\fj!\0\f\v\v\vA±ÜAAÓA¨)\0\0\vAöì\0AAÔA¨)\0\0\ví \0((ìAjAc@  )7   )˜7¨  )À7°  )È7¸D\0\0\0\0\0\0\0\0!D\0\0\0\0\0\0\0\0\f\v Ak"A\0H\r    ¡" \0(H((ø"\0 lAm·"¢  @"£" 9¸    ¢ £" 9°    9¨    9  A\0 \0k·"¢ £!  ¢ £\v!A\0! AG!\v@  F\rA\0!@ \t  Atj(\0"\0 \0A0k" \0(\0AqAF((F@@ AF\r At"\b AÐjj"\n Aj \bj"\b)\b7\b \n \b)\x007\0 Aj!\f\0\v\0\v@ AF\rA\0 kAt j"\b Aj Atj"\n)\b7ˆ \b \n)\x007€ Aj!\f\0\v\0\v@ \vE@  )Ð7 )Ø!  )à7   7˜  )è7¨  )ð7°  )ø7¸  )ˆ7È  )€7À A6„  Aj6€  )€7x Aø\0j Aˆjµ \0 \0  \0(\0AqAF(( (ˆ (Œ ~\f\v \0 \0  \0(\0AqAF(( AÐjA ~\v \0Ó   +¨ 9¨   +  9    +° 9°   +¸ 9¸ Aj!\f\0\v\0\vAøÌA£¼AïAÎ0\0\0\v   \v (\0AqAF(( AjA ~ Ó\v AÐj$\0\võ|  ¸¢!\b@  \nAj"\rK@  \rAtj!D\0\0\0\0\0\0\0\0!  \nAtj!\v@  \beE@ \r!\n\f\v  \b£"   +\b \v+("¡¢     \v+"¡¢  "¡¢       \v+\b"¡¢  "¡¢  "¡¢  !    +\0 \v+ "¡¢     \v+"¡¢  "\t¡¢ \t   \t   \v+\0"¡¢  "¡¢  "¡¢  !A\0!\n@  \nF@ D\0\0\0\0\0\0ð? !\f@  \0 \nAtj"\f+D-Cëâ6? eE\r\0  \f+\bD-Cëâ6¿ fE\r\0 \f \f+\0 \'9\0 \f \f+ "9\v \nAj!\n\f\v\0\v\0\v\0\v\v\vŒ|@  e \0 fr|D\0\0\0\0\0\0\0\0 \0 eE  fErE@  \0¡\v \0 f"E  eErE@  ¡\v E \0 eErE@  \0¡\v  fE  eEr\r  ¡\v\vA¥òA£¼AíAÄÝ\0\0\0\v°!\b|#\0AÐk"$\0 A\x006\0A í\nA í\n(\0Aj6\0A¤í\n \0(P"\vA¤í\n(\0j6\0 \0AØ\0j!@@@@ (\0"\fE\r \f("Aø\0j! -\0p\r\0\v \0(T!\tA\0!@@  \vF@@ \t+\0 \t+d\r\0 \t+\b \t+d\r\0 \r \rA\0Gk!Aˆ÷\b(\0!A\0!\f\v@ \t Atj"+\b +¡™D{®Gáz„?c\r\0 +\0 +¡™D{®Gáz„?c\r\0 \t \rAtj" )7  )7  )\b7\b  )\x007\0 \rAj!\r\v Aj!\f\v\vAð¶A\04 \0©\f\v@  G@@ \t Aj"Atj"+\0" +"dE@ +\b" +"dE\r\v  6ÐAÁ¶ AÐj4 \0©A\0!\f\v@@@ \t Atj"\b+\0" d" \b+" c"j \b+" c"\nj \b+\b" d"j"E\r\0AŒË\n-\0\0E\r\0  6ä  6à AÕ Aàj \0©\f\v E\r\v@ @ \b+! \b +\x009  9\0\f\v  c@ \b+\0! \b +9\0  9A\0!\f\v  d@ \b+! \b +\b9  9\bA\0!A\0!\n\f\vA\0!A\0!\nA\0!  cE\r\0 \b+\b! \b +9\b  9\v Ak!A\0!@  G@@ Aq@  \b+\0 + D\0\0\0\0\0\0à?¢D\0\0\0\0\0\0à? "9 \b 9\0\f\v \nAF@  \b+ +\b D\0\0\0\0\0\0à?¢D\0\0\0\0\0\0à? "9\b \b 9A\0!\n\f\vA\0!\n @  \b+\b + D\0\0\0\0\0\0à?¢D\0\0\0\0\0\0à? "9 \b 9\b\vA\0!\v Aj!A\0!\f\v\v +! +\0! \b+! \b+\0!\v !    ™\r"D\0\0\0\0\0\0\0\0dE \b+\b \b+ +\b +™\r"D\0\0\0\0\0\0\0\0dEr\r@  c@ \b+" \b+\0"¡ +" +\0"¡d@  cE@ \b 9\0\f\v \b 9\f\v  c@  9\0\f\v  9\f\v \b+" \b+\b"¡ +" +\b"¡d@  c@ \b 9\f\v \b 9\b\f\v  c@  9\b\f\v  9\v\f\v\v \t+!@@ \0+\0" \t+\0"c@ \t+\b!\f\v \t+\b!  c\r\0 \0+\b" c\r\0  \t+dE\r\v \0  " \'9\0 \t+! \0 \0+\b " \'9\b\v \t \rAtj"Ak+\0!@ \0+(" A k+\0"c  Ak+\0"dr \0+0" crE@  A\bk+\0dE\r\v \0  " \'9( A\bk+\0! \0  " \'90\vA\0! \vAtA!\bA\0!\r \vAI\r \t+\b \t+(dE\r@ \v \rF@A!\r\f \t \rAtj"+!  +\bš9  š9\b \rAj!\r\f\v\0\v\0\vAþ³A\04\f\v \f \fA0j" \f(\0Aq"AF(( \f \fA0k" AF((G@A\0!@@ \v "F@ \v!\f\vA\0!\nA\0! @AA \t Atj"+\b Ak+\0d!\v \v Aj"K@AA \t Atj+\b \t Atj+\bd!\n\v@  \nG@ \t Atj! \nAG AGq\r \b Atj" +\0"9\0 +!  9  9\b A\bj\f\v@@ Aj\0\v \b Atj" \t Atj"+\0"9\0 +!  9  9\b A\bj\f\v \b Aú6È  6Ä  6ÀAèÅ AÀj4A\0!\f\v \b Atj" +"9\0 +\b!  9  9\b Aj\v! \b Atj +\x009 Aj!\f\v\v@@ @ Ak!A\0!\nA\0!  \vI@AA \t Atj+\b \t Atj+\bd!\v @AA \t AtjA8k+\0 \t Atj+\bd!\n\v  \nG@ \t Atj! \nAG AGqE@ \b Atj" +\0"9\0 +!  9  9\b  +\b9\f\v \b Atj" +"9\0 +\b!  9  9\b  +9\f\v@@@ Aj\0\v \b Atj" \t Atj"+"9\0 +\b!  9  9\b  +"9  +\0"90  9(  9  +\b98 Aj\f\v \b Atj" \t Atj"+"9\0 +\b!  9  9\b  +9\f\v \b Aœ6¸  6´  6°AèÅ A°j4A\0!\f\v@ \rE\r\0A\0!@  \vF@A\0!@  F\r \b Atj" +\bš9\b Aj!\f\0\v\0 \t Atj"+!  +\bš9  š9\b Aj!\f\v\0\v\0\vA\0!@  \vF@@  6Ì  \b6È  \0+\x009  \0+\b9˜  \0+(9   \0+09¨A\0! AÈj Aj AÀj¡\rA\0H@ \bAÅ¿A\04\f\b\v @  )À7¨ A¨j A¸jµ\f\v (ÌA ! (Ì!A\0!@  F@ B\x007ˆ B\x007€ B\x007ø B\x007ð \0-\0@  \0+"K9ø  D9ð\v \0-\0EAF@  \0+8"Kš9ˆ  Dš9€\v  )À7    A j Aðj A¸j¬ A\0!A\0N\r \bAì¿A\04\f\t  Atj" \b Atj")\b7\b  )\x007\0  \b Aj"A\0  GAtj")\x007  )\b7\f\v\0\v\0\v \t Atj"Bÿÿÿÿÿÿÿw7 Bÿÿÿÿÿÿÿ÷ÿ\x007\0 Aj!\f\v\v@@@ (¼"AC"@A\0! (¸!\0@  F@A\0! A\0G!@@@  F\r At!\0 Aj! +\b \0 j+\b¡™D-Cëâ6?dE\r\0\vA\0!\f\v E\r\0AŒË\n-\0\0E\r\0 ² ³7ð AðjÃ"\0(! \0(! \0(\f! \0(\b! \0(!\n  \0(\x006œ  \n6˜  6”  6 Aˆ6„ A£¼6€A!  Aj6Œ  Aìj6ˆ AøÊ A€j  (¼Atj"\0A\bk+\0! +\b! +\0!  \0Ak+\x009p  9x  9`  9h A¼¯ Aà\0j1A\n  ± (¼!\vA\0! A\0G!\n@@  F\r At!\0 Aj! +\0 \0 j+\0¡™D-Cëâ6?dE\r\0\vA\0!\n\f\v E\rAŒË\n-\0\0E\r ² ³7ð AðjÃ"\0(! \0(! \0(\f! \0(\b! \0(!\n  \0(\x006\\  \n6X  6T  6P A–6D A£¼6@  Aj6L  Aìj6H AøÊ A@k  (¼Atj"\0A\bk+\0! +\b! +\0!  \0Ak+\x0090  98  9  9( A° A j1A\n  ±\f  At"j" \0 j")\b7\b  )\x007\0 Aj!\f\v\0\v\0\v \bA\0!AÿæA\04\f\vA!  \nrAG\r\vA\0!A\0!@  \vF\r \t Atj"\0 +\0"9 \0 9\0 Aj!\f\0\v\0\vD\0\0\0\0\0\0$@!A\0!@ AqE AKrE@ \t \v  (¼ ˜\rA\0!@@ "\0 \vF\r \t Atj")\0Bÿÿÿÿÿÿÿ÷ÿ\0R@ Aj! )BÿÿÿÿÿÿÿwR\r\v\v   !\v \0 \vG! Aj!\f\v\v Aq@ \f  \f(\0AqAF(( !\0  \f  \f(\0AqAF(( 6  \x006Aéâ Aj(  )À7\b A\bj Aðjµ \t \v (ð (ôD\0\0\0\0\0\0$@˜\r\v  (¼6\0 \b\f\v Aj\v! !\f\0\v\0\v \b  \f  \f(\0AqAF(( 6\0AÊñ 4\v AÐj$\0 \v«#\0Aà\0k"$\0  \0+\x0090  \0+\b98  +\x009@  +\b9HA\0!@  A0j AØ\0j¡\rA\0H\r\0@ @  )X7\b A\bj AÐ\0jµ\f\v (A ! (\0! (!A\0!\0@ \0 F@ B\x007( B\x007 B\x007 B\x007  )X7\0    Aj AÐ\0j¬ A\0N\rA\0!\f  \0Atj"  \0Atj")\b7\b  )\x007\0   \0Aj"\0A\0 \0 GAtj")\x007  )\b7\f\v\0\v\0\v (T"AC"@A\0!\0 (P!@ \0 F@  6\0\f  \0At"j"  j")\b7\b  )\x007\0 \0Aj!\0\f\v\0\v\0\vA\0!AÿæA\04\v Aà\0j$\0 \vL|A!@  FE@  \0 Atj"+\0 Ak+\0¡ +\b A\bk+\0¡@ ! Aj!\f\v\v \vî#\0Ak"$\0A„í\nA6\0A€í\n \x006\0Aüì\n 6\0Aøì\nA6\0Aôì\n 6\0Aðì\n 6\0Aìì\nA6\0Aèì\n 6\0Aäì\n \x006\0Aàì\nA\x006\0A\0!@@@AÔì\n(\0"AØì\n(\0"\0G\r\0@ A\0H@ !\0\f\vAÌì\n AtA A(ŒAØì\n(\0!\0E\r\v \0AF\rAÌì\n \0AjA(Œ\rAØì\n(\0!\0\vAÔì\n(\0" \0O\rAÌì\nAÐì\n(\0 j \0pA(·Aàì\nA(ü\n\0\0A!AÔì\nAÔì\n(\0Aj6\0\v \f\vA¿\fAÕ¸AÃA‘Æ\0\0\vE@ AÞ-6\b Aà6 Aܸ6\0Aˆ÷\b(\0Aä A!\v Aj$\0 \vÛ#\0Aà\0k"$\0 \0(\b!@@ " \0("I@ \0(\0" Atj(\0(\0! (\0!   Aj"Atj(\0(\0")\b7(  )\x007  )\b7  )\x007  )\x007\0  )\b7\b A j Aj ¦AG\r\f\v\v \0(\f! !  O\r \0(\0 Atj"(\0(\0! (\0!  Ak(\0(\0")\b7X  )\x007P  )\b7H  )\x007@  )\x0070  )\b78 AÐ\0j A@k A0j¦AF  Ak! \0(!\f\v\v!\v Aà\0j$\0 \v£#\0A@j"$\0 AÌì\n)\x0070 AÔì\n)\x0078A\0AÌì\n(\0 A0j \0A(lj(\0\r\0 AÌì\n)\x007 AÔì\n)\x007(AÌì\n(\0 A j \0A(ljA6\0A \0 F\r\0@@ AÌì\n)\x007 AÔì\n)\x007AÌì\n(\0 Aj \0A(lj! AF\r\0@  A\fl"j(\fAF\r\0 AÌì\n)\x007\0 AÔì\n)\x007\bAÌì\n(\0  \0A(lj j(\f Ÿ\rE\r\0A\f\v Aj!\f\v\v A\x006\0A\0\v A@k$\0\vú#\0AÐ\0k"$\0@ AFE@ AÌì\n)\x007@ AÔì\n)\x007H A\fl"AÌì\n(\0 A@k \0A(ljj((\0! AÌì\n)\x0070 AÔì\n)\x0078AÌì\n(\0 A0j \0A(lj j(\b(\0!  )\b7(  )\x007  )\b7  )\x007  )\b7\b  )\x007\0 Aj!  A j Aj ¦AGj!\f\v\v AÐ\0j$\0 E AFr\v¡#\r|#\0A°k"$\0@@@ \0("A\bC" ErE@ A-6\b Aß\x006 Aܸ6\0Aˆ÷\b(\0Aä \f\v AC"\t ErE@ A½*6 Aä\x006 Aܸ6Aˆ÷\b(\0Aä Aj \f\v@@@AÔì\n(\0 M@@AÌì\nA(-A\0! A\x006œ  \0("At"6  AC"\v6Œ \v\r\0 Aø,6h Aî\x006d Aܸ6`Aˆ÷\b(\0Aä Aà\0j\f\v AÔì\n)\x007X AÌì\n)\x007P AÐ\0j !@@@AÜì\n(\0"\b\0\vAâƒAÂ\0AAˆ÷\b(\075\0\v A(j"AÌì\n(\0 A(ljA(ü\n\0\0  \b\0\v Aj!\f\v\v  Aÿÿÿÿq"6”A!  Ak"6˜D\0\0\0\0\0\0ð!@  G@ \0(\0 Atj+\0"   d"\b!   \b! Aj!\f\v\v \0(\0" Aj pAtj!@@@  Atj"\b+\0"    AtjAk"+\0b\r\0  +\0b\r\0 +\b \b+\bd\r\v  )\b7€  )\x007ø  \b)\x007è  \b)\b7ð  )\x007Ø  )\b7à Aøj Aèj AØj¦ \0(!AG\r\0A\0!A\0!@  F\r \0(\0!\b@@ E\r\0 \b Atj"+\0 Ak+\0b\r\0 +\b A\bk+\0a\r\v  Atj" \b Atj6\0    pAtj6 \t Atj 6\0 Aj!\v Aj!\f\0\v\0\v Ak!\nA\0! !@ !@ E\r \0(\0!\b@ Ak" \nO\r\0 \b Atj"\f+\0 \b Atj"\r+\0b\r\0 ! \f+\b \r+\ba\r\v\v  Atj" \b Atj6\0    pAtj6 \t Atj 6\0 Aj!\f\0\v\0\v#\0Ak"\f$\0@@@@@A\0!\0 AI\r\0@ \0" F\r Aj!\0 Aj p!\nA\0!\r#\0A€k"$\0 Aðj \t  jAk p"\b¦ Aàj \t ¦ AÐj \t \0 p"¦@@ +ø +è"¡ +Ð +à"¡¢ +Ø ¡ +ð ¡¢¡D\0\0\0\0\0\0\0\0c@ AÀj \t ¦ A°j \t \n¦ A j \t \b¦ +È +¸"¡ +  +°"¡¢ +¨ ¡ +À ¡¢¡D\0\0\0\0\0\0\0\0cE\r Aj \t \n¦ A€j \t ¦ Að\0j \t ¦ +˜ +ˆ"¡ +p +€"¡¢ +x ¡ + ¡¢¡D\0\0\0\0\0\0\0\0cE\r\f\v Aà\0j \t ¦ AÐ\0j \t \n¦ A@k \t ¦ +h +X"¡ +@ +P"¡¢ +H ¡ +` ¡¢¡D\0\0\0\0\0\0\0\0dE\r\vA\0!\b@ \b" F"\r\r Aj"\bA\0  \bG" \nF  \nFr  F  Frr\r\0 A0j \t ¦ A j \t \n¦ Aj \t ¦  \t ¦ +0" + "¡"š!@@ +8" +("¡" +" ¡¢ +" ¡ ¢¡"D\0\0\0\0\0\0\0\0d" D\0\0\0\0\0\0\0\0c"F\r\0  +\0" ¡¢ +\b" ¡ ¢ "D\0\0\0\0\0\0\0\0d D\0\0\0\0\0\0\0\0c"F\r\0 ¡"  ¡¢  ¡  ¡"¢¡"!D\0\0\0\0\0\0\0\0d !D\0\0\0\0\0\0\0\0c"F\r\0   ¡¢  ¡ š¢ "D\0\0\0\0\0\0\0\0c" D\0\0\0\0\0\0\0\0dEF\r\v  ¡!  ¡!@  r\r\0  ¡" ¢  ¡"¢ D\0\0\0\0\0\0\0\0fE\r\0  ¢  ¢   ¢  ¢ e\r\v@  +\0" ¡¢ +\b" ¡ ¢ "D\0\0\0\0\0\0\0\0d D\0\0\0\0\0\0\0\0cr\r\0  ¡" ¢   ¡"¢ D\0\0\0\0\0\0\0\0fE\r\0  ¢  ¢   ¢  ¢ e\r\v  ¡!  ¡!@ ¡"  ¡¢  ¡  ¡"¢¡"!D\0\0\0\0\0\0\0\0d !D\0\0\0\0\0\0\0\0cr\r\0  ¡" ¢  ¡" ¢ D\0\0\0\0\0\0\0\0fE\r\0  ¢  ¢   ¢  ¢ e\r\v   ¡¢  ¡ š¢ "D\0\0\0\0\0\0\0\0d D\0\0\0\0\0\0\0\0cr\r  ¡" ¢  ¡" ¢ D\0\0\0\0\0\0\0\0fE  ¢  ¢   ¢  ¢ eEr\r\f\v  sE  Fr\r\0\v\v A€j$\0 \rE\r\0\v \t Atj(\0 \t \0A\0 \0 G"\0Atj(\0 \t \nAtj(\0\r\r \0 Ak" \0 K!@ \0 F\r \t \0Atj \t \0Aj"\0Atj(\x006\0\f\0\v\0\v\v \t(\0 \t( \t(\b\r\r\f\v \fA­®6\b \fAÍ6 \fAܸ6\0Aˆ÷\b(\0Aä \f\vA\0\f\vA\v!\0 \fAj$\0@ \0E@A\0!\fAÔì\n(\0!A\0!\b@  \bM@@  \fM\r \f  \rAÔì\n(\0!\r \fAj!\f\f\0\v\0\v \bAj"\0!\n@A\0!  \nM@ \0!\b\f\v@A\0!@ AG@@ AF\r AÌì\n)\x007€ AÔì\n)\x007ˆAÌì\n(\0! A€j \b!\r AÌì\n)\x007p AÔì\n)\x007xAÌì\n(\0 Að\0j \nA(lj A\flj!@@@  \rA(lj A\flj"((\0" ((\0"G@ (\b(\0!\r\f\v (\b(\0"\r (\b(\0F\r\v \r G\r (\b(\0 G\r\v  \n6\f  \b6\f\v Aj!\f\0\v\0\v \nAj!\nAÔì\n(\0!\f\v Aj!\f\0\v\0\v\0\v\0\v \v\f\v@  \fG@ Aj!A\0!\0@ \0 O\r \0  \rAÔì\n(\0!\r \0Aj!\0\f\0\v\0\v Aþ›6˜ A¶6” Aܸ6Aˆ÷\b(\0Aä Aj\f\v \0 F@ A؛6¨ AÁ6¤ Aܸ6 Aˆ÷\b(\0Aä A j\f\v \f \0Ÿ\rE@ A¥ù\x006È AË6Ä Aܸ6ÀA\0!Aˆ÷\b(\0Aä AÀj \v \t A®\r A6Aˆí\n(\0"\0 )\b7\b \0 )\x007\0 \0 )\x007 \0 )\b7  \x006\0\f\v \0 \fF@ \v \t A®\r A6A\0!Aˆí\n(\0"\0 )\b7\b \0 )\x007\0 \0 )\x007 \0 )\b7  \x006\0\f\v A\x006¬  6¨ A\x006¤  6  E@  \v(\x006¤\v A j"\0A\br!\b  6” \v Atj \x006\0  6œ "! \f!\n@ \nAG@A\0! AÌì\n)\x007° AÔì\n)\x007¸AÌì\n(\0 A°j \nA(lj"A6\0@@ AG@  A\fl"\0j(\f"AG@ AÌì\n)\x007  AÔì\n)\x007¨AÌì\n(\0 A j A(lj(\0AF\r\v Aj!\f\v\v \v Atj"(\0(\0!\0 \v Atj(\0(\0!  )\b7è  )\x007à  )\b7Ø  )\x007Ð  \0)\x007À  \0)\b7È Aàj AÐj AÀj¦!\0 \b (\0" \0AF"\0!  \b \0\f\v Aj"\r \0j"\0((\0! \r AjApA\flj((\0!  \0(\0(\0"\r)\b7˜  \r)\x007  )\b7ˆ  )\x007€  )\x007ð  )\b7ø Aj A€j Aðj¦AF@ \0(\0! \0(\f\v \0(! \0(\0\v!\0@ \n \fF@  M@ \0 \v Atj(\x006\v  Aj"6˜ \v Atj \x006\0  M@  \v Atj(\x006\v  Ak"6” \v Atj 6\0\f\v @ \v Atj(\0 F\r\0 \v Atj(\0 F\r\0 AŒj ž\r"\0 M@  \v \0Atj(\x006\v  \0Ak"6” \v Atj 6\0 \0  \0 K\f\v  AŒj \0ž\r"M@ \0 \v Atj(\x006\v  Aj"6˜ \v Atj \x006\0    I\v"6œ\vA\0!@ AF@A!\n\f\v@  A\flj"\0(\f"AF\r\0 AÌì\n)\x007° AÔì\n)\x007¸AÌì\n(\0 A°j A(lj(\0AG\r\0 \0(\f!\n\f\v Aj!\f\0\v\0\v\v \vA\0!\0 \b!@ @ \0Aj!\0 (!\f\v\v \0®E\r\v \t \f\v  \x006Aˆí\n(\0!@ \b@  \0Ak"\0Atj" \b(\0")\b7\b  )\x007\0 \b(!\b\f\v\v  6\0 \t A\0!\f\vA~!\f\v \v \t A!\v A°j$\0 \vs \0# \0EO@ \0A¡\v \0#!@ \0&@ \0 jA\0:\0\0 \0 \0-\0Aj:\0 \0#AI\rAã¶Aòü\0A¯AŸ³\0\0\v \0(\0 jA\0:\0\0 \0 \0(Aj6\v\v\b~#\0A0k"$\0@@ \0@ E\r \0(Aä\0l \0(\0A \0(\btA\0\v"AÆ\0lI\rA  \0(\bAjA\n\v"tA! B\x007 B\x007 B\x007( B\x007  6  6A\0!@ \0(\0!  F@  \0 )(7 \0 ) 7 \0 )7\b \0 )7\0\f\v  Atj(\0"AkA}M@ Aj £\r\v Aj!\f\0\v\0\vAüÕAؾA£A›±\0\0\vAàÕAؾA¤A›±\0\0\v ()\b!\n@ \0-\0\fAF@ \n \0)Z\r\v \0 \n7 \0A:\0\f\v \0) \nT@ \0 \n7\v@ \0(\0"@A \0(\bt" \0("K\r\vA׈AؾAÑA›±\0\0\v Ak!\b \n§!\tA\0!@@  F\r  \tj! Aj!   \bqAtj"(\0AkA~I\r\0\v  6\0 \0 Aj6 A0j$\0\v Aà6 Aؾ6\0Aˆ÷\b(\0AØÀ 5\0\v¸|#\0A0k"$\0@  F@ @ +\0!  +\b9\b  9\0 \0A¡¦ \v \0Aî€ A0j$\0@ E@ +\0!  +\b9  9 \0Aó¥ Aj\f\v  Atj"+\0!  +\b9(  9 \0A¡¦ A j\v Aj!\f\v\v\v‘|~ \0@ \0(Ð!\f \0(È!\r  \0(Ô· \0(Ì·¡D\0\0\0\0\0\0R@£9\0  \f· \r·¡D\0\0\0\0\0\0R@£"9\0 \0(èAÚ\0F@  +\x009\0  9\0 +\0!\v D\0\0\0\0\0\0\0\0d|D\0\0\0\0\0\0$@|@@ ½"\nBÿÿÿÿÿÿÿW@D\0\0\0\0\0\0ðÿ D\0\0\0\0\0\0\0\0a\r \nB\0Y\r  ¡D\0\0\0\0\0\0\0\0£\f\v \nBÿÿÿÿÿÿÿ÷ÿ\0V\rAx! \nB ˆ"\vB€€ÀÿR@ \v§\f\vA€€Àÿ \n§\rD\0\0\0\0\0\0\0\0\f\vAËw! D\0\0\0\0\0\0PC¢½"\nB ˆ§\vAâ¾%j"\0Av j·"\bD\0`ŸPDÓ?¢"\t \nBÿÿÿÿƒ \0Aÿÿ?qAžÁšÿj­B †„¿D\0\0\0\0\0\0ð¿ "  D\0\0\0\0\0\0à?¢¢"¡½B€€€€pƒ¿"D\0\0 {ËÛ?¢" "  \t ¡   D\0\0\0\0\0\0\0@ £"   ¢" ¢"  DŸÆxÐ\tšÃ?¢D¯xŽÅqÌ? ¢Dú—™™™Ù? ¢    DDR>ßñÂ?¢DÞ˖dFÇ? ¢DY“"”$IÒ? ¢D“UUUUUå? ¢  ¢  ¡ ¡ "D\0\0 {ËÛ?¢ \bD6+ñóþY=¢   DÕ­šÊ8”»=¢    !\v \v"D\0\0\0\0\0\0\b@ ¡ ‡D\0\0\0\0\0@@\v\vAéÖAœ¿A,Aúœ\0\0\vŠ#\0Ak"$\0 \0AïÉA\0 A\0 A\0J!A\0!@  G@ @ \0AŠ¡A\0\v   Atj"+\x009\0 \0A’Í  (\b  \0‚ \0Aý\0W Aj!\f\v\v \0AÀÎA\0 Aj$\0\v#\0 \0(\0(\0Av"\0 (\0(\0Av"K \0 Ik\v5\0 \0 A\0 ¬\r \0k!\0@ \0@ A¹î \0  ¨\r \0j!\0\f\v\v\v#\0A k"$\0 \0  (\0> A¬Í  ‚ @ A¹î  (\0> A‹‹Aǔ \0Ò6 Aªë Aj  (\0> A‹‹Aǔ \0é6\0 AÔ4 \v A j$\0\vû#\0A k"$\0@@ \06 \0F\r\0 \0A¨A\0\\ 6\b Aj! \0¢E\r\0 \0 ! \0A¨A\0\\(\b!  A€ (\0\0"@ (\f F\r  6AÑü Aj(\f\vAA! …"E\r  6\f  6\b  A (\0\0\v \0k!\0@ \0@ \0  ª\r! \0j!\0\f\v\v A j$\0 \v  9Aj6\0Aˆ÷\b(\0A§ê .\0\v»@@ \0(0§ \0(,ƒF@ \0(0§! \06 \0F AjA$H\v" 6 \0(0 £\r \0(," A (\0\0 \0(0§ \0(,ƒG\r \0(0§ AjG\r\vAÞ£AؾAâ\0A¤ \0\0\vAÞ£AؾAé\0A¤ \0\0\vA AؾAê\0A¤ \0\0\v„\b#\0Ak"$\0@ @Aô©\nA¤Þ\t(\0f!\n \0AA¨A\fA\0ú \0AA¨A\fA\0ú \0A\0A¨AtA\0ú \0A\0 \nª\r!\v \0!@ @@ (-\0†AF@ \n  A€ \n(\0\0"E@A!\f\v (\f!\f\v \t \vj! \tAj!\t\v A¨A\0\\ 6\b \0 *!@ @ A¨A\0\\ \b6\b \bAj!\b \0 /!\f\v\v \0 !\f\v\v \n‚  (\0"Aj6\0  > A¢Ù \0 A ©\r \0  ‘ A¹î  (\0>  \v6p Aô² Að\0j\f\v  (\0"Aj6\0  > A¢Ù \0 A\0 ©\r \0  ‘ A¹î  (\0>  \0A¨A\0\\(\b6€ Aˆ³ A€j\v@ \0k"E\r\0 A¹î  (\0"Aj6\0  >@ @ AËÎ\f\v AÙÎ  (\0>\vAñ€!\b !@ @  \b@ @   ¨\r\f\v  A¨A\0\\(\b6` Aœ³ Aà\0j\vA¹î!\b j!\f\v\v \r\0  (\0Ak6\0 Aî€  (\0> AÞÉ\v \0!@@@@ @ (-\0†AG\r \0 !\f\v\v E Er\r\f\v A¹î@ @ \r  (\0"Aj6\0  > AËÎ\f\v  (\0"Aj6\0  > AõÎ  (\0>\vAñ€!\b \0!@ E\r@ (-\0†\r\0  \b @  (\0"Aj6\0  > A¢Ù  (\0>  A¨A\0\\(\b6@ Aéë A@k  (\0> A¬Í   ‚   ‘ Aî€  (\0Ak"6\0  > A¯\bA¹î!\b\f\v  A¨A\0\\(\b6P Aœ³ AÐ\0jAŠ¡!\b\v \0 !\f\0\v\0\v  (\0Ak6\0 Aî€  (\0> AÞÉ\vA\0!\b \0!@@ E@ \bE\rA\0! \bA!\t \0!@ E@ \t \bAAèš A¹î  (\0"\0Aj6\0  \0> AéÎ E@  (\0>\vA\0!@  \bF@ \t  (\0Ak6\0 Aî€  (\0> AÞÉ\f@ @@ @ \t Atj!\0 E\r A¹î \0(\0!\0\f\v \t(\0"\0 E\r\v  (\0"Aj6\0  > A¢Ù  (\0>  \0A¨A\0\\(\b6 Aéë A j  (\0>  \0A(AØ\0 \0(\0AqAFj(\0A¨A\0\\(\b6 AÜë Aj  (\0>  \0A(Ax \0(\0AqAFj(\0A¨A\0\\(\b6\0 A”³  \0  ‘ Aî€  (\0Ak"\x006\0  \0> A¯\b\f\v AŠ¡ \0(\0\vA¨A\0\\(\b60 Aœ³ A0j\v Aj!\f\v\0\v\0\v \0 *!@ @ \t Atj 6\0 Aj! \0 /!\f \0 !\f\v\0\v\0\v\0\v \0 *!@ @ \bAj!\b \0 /!\f \0 !\f\v\0\v\0\v\v Aî€  (\0Ak"\x006\0  \0> AÈØA¯\b  Aj$\0\vƒ \0 \0(\0Awq6\0 \0k!@ @ A\0­\r j!\f\v\v@ E\r\0 \0!@ E\r  (\0Awq6\0 \0 *!@ @  (\0Awq6\0 \0 /!\f\v\v \0 !\f\0\v\0\v\v¿#\0A k"$\0@@@@@ ( Ak\0\v (\0"A‰Â\bG\r \0AüÁ\b\f\v -\0E@ \0AüÁ\b\f\v -\0\0! -\0!  -\06  6  6 \0A Aj\f\v Aˆ6 Aн6\0Aˆ÷\b(\0AØÀ 5\0\v \0 \v A j$\0\vì#\0A k"$\0@ \0@@@@ Aj\0\vA¯ÕAîºA¥A¨±\0\0\vAïÛAîºA¦A¨±\0\0\v \0(Aä\0l \0(\0"A \0(\btA\0\v"AÆ\0lI\rA  \0(\bAjA\n\v"tA!  6A\0! A\x006  6@ \0(\0!  F@  \0 (6\b \0 )7\0 \0(\0!\f\v  Atj(\0"AkA}M@ Aj ¯\r\v Aj!\f\0\v\0\vAÆÔAîºA¤A¨±\0\0\v@@ @A \0(\bt" \0(M\r Ak! A\bj )\0B?ˆ§Î! \0(\0!\bA\0!@  F\r  j! Aj! \b  qAtj"(\0AkA~I\r\0\v  6\0 \0 \0(Aj6 A j$\0\vAÓÔAîºAÈA¨±\0\0\vAÁˆAîºAÊA¨±\0\0\v AÚ6 Aîº6\0Aˆ÷\b(\0AØÀ 5\0\v›@@@ Ak\0\v \0 A”!\f\v \0“!\v \0AǓ \0  õ \0A–Ä \0 +\0m \0A‚Ä \0 +\bšm \0AÄ \0 + +\0¡m \0AÓà \0 + +\b¡m \0AÌÕ\vý|#\0AÐk"$\0 \0(! \0A¶» \0Aë°AÈÂAǽ -\x000"Aò\0F Aì\0F + +\b !\t -\0AqE@ \0AœÄ \0 +\0m \0A‰Ä \0 \tšm \0AßÇ\v ("(\b"@A!A\b! !@@@ \0(\0( ((ôAk\0\v Aj!A !A!\f\v Aj!\v  j(\0!  j(\0! (\f!\b  (\0"6À \0AØ3 AÀj ("E  FrE@  6° \0AÔ3 A°j\v \0A"W @  6  \0Aøµ A j\v \b@  \b6 \0A•¶ Aj\vA\0 E\r  6€ \0A¨¶ A€jA\f\v  (\x006p \0Aæµ Að\0jA\0\v!@ (("Aÿ\0qE\r\0 AqE rE@ \0AÛÂ\v  AqErE@ \0AïÂ\v Aä\0q@ \0A¿ÄA\0! Aq"@ \0Að—A!\v AÀ\0q@ AŠ¡Añ€ 6` \0Aå— Aà\0jA!\v A q@ AŠ¡Añ€ 6P \0Aóú\0 AÐ\0j\v \0A"W\v A\bq@ \0A˶\v AqE\r\0 \0A„Ã\v  (+9@ \0A‘» A@k@@@@ (0Ak\0\v ("AðÁ\b,E\r  6 \0Aж Aj\f\v -\0! -\0!  -\068  64  60 \0A½® A0j -\0"AÿF\r\0  ¸D\0\0\0\0\0ào@£9 \0A£» A j\v \0A>W -\0Aq@ \0A’® \0 (Üx \0AÚà \0 \tšm \0AÆá\v (\0 AøÁ\b(\x006\f A\fjAÒ \0à -\0Aq@ \0Aþß\v \0A­Ó AÐj$\0\v A˜6 Aн6\0Aˆ÷\b(\0AØÀ 5\0\v\v\0 \0AüÓ\vä#\0Ak"$\0 \0A˜ƒ @ \0AÃÆ \0 x \0A"W\v \0A»Ã@ E\r\0 -\0\0E\r\0 \0AñÄ A\x006\b A\x006\f  A\bjAÒ \0à \0A"W\v@ E\r\0 -\0\0E\r\0 \0A Å AøÁ\b(\x006  AjAÒ \0à \0A"W\v@ E\r\0 -\0\0E\r\0 \0A¡Ä \0 x \0A"W\v \0A—× Aj$\0\vF \0 \0("(ÜA\0Aʞ (\b© \0A­à \0A¿Û (\bq"x  \0AÏÔ\v] \0 \0("(Ü \0( "AN \0(\0(¬ Atj(\0A\0\vAà (\b© \0A­à \0 (\b x \0AÏÔ\v; \0 \0("(ÜA\0A–8 (\b© \0A­à \0 (\b x \0AÏÔ\vÙ|#\0A k"$\0 \0 \0("(ÜA\0AÚú\0 (\b© \0A…­ \0+è!  \0+ð9  9 \0A¹ƒ Aj A\0 \0(èk6\0 \0Aí¬  \0 \0+øm \0A W \0 \0+€šm \0AÓÖ@ (\b -\0\0E\r\0 (\b -\0\0A%F\r\0 \0A¯à \0 (\b x \0AÏÔ\v A j$\0\v\0 \0 A\0Aë7 \0((\b© \0A—×\v\v\0 \0AôÓ\vÑ~#\0A0k"$\0 \0(! \0A„¡@ (\b -\0\0E\r\0 (\b -\0\0A%F\r\0 \0A€Í \0 (\b x\v  \0(¨ \0(¤l6 \0AÑÕ A j  \0)À7 \0AÀù Aj \0)È!  \0)Ð7\b  7\0 \0A¬Æ  \0(@AG@ \0A„¸\v \0A—× A0j$\0\v© \0(@AG@ \0AîÔ@ \0(\0( A›#%"E\r\0 -\0\0E\r\0 \0AÿÄ \0  \0AÙÔ\v \0AîÕ\v \0AîÇ \0 \0(\f(\0(\0x \0AŒÉ \0 \0(\f(\0(x \0A¢­ \0 \0(\f(\0(\bx \0AáÕ\v‰#\0A@j"$\0@ E\r\0 \0("+PD\0\0\0\0\0\0à?dE\r\0 \0 A8jå \0AØË \0  Û \0AðÎ  )\b78  )\x0070 \0 A0jÀ  6$  6 \0AÚù A j\v \0(+(D\0\0\0\0\0\0à?d@ \0ª \0 \0(Ajå \0AØË \0  Û \0AðÎ  )\b7  )\x007 \0 AjÀ  6  6\0 \0Aúù \v A@k$\0\v\0 \0AÖÍ \0  \0Aî€\vÅ#\0A k"$\0 \0(+(D\0\0\0\0\0\0à?d@ \0ª \0 \0(Ajå \0AÑÉ  )\b7  )\x007 \0 AjÀ \0AˊA  AM!A!@  F@ \0Aï²   Atj")\b7\b  )\x007\0 \0 À \0A݊ Aj!\f\v\v\v A j$\0\vµ#\0A k"$\0@ E\r\0 \0("+PD\0\0\0\0\0\0à?dE\r\0 \0 A8jå \0AÑÉ  )\b7  )\x007 \0 AjÀ \0AˊA!@  M@ \0Aˎ \0  AtjAÛ \0A°Š Aj!\f\v\v\v \0(+(D\0\0\0\0\0\0à?d@ \0ª \0 \0(Ajå \0AÑÉ  )\b7\b  )\x007\0 \0 À \0AˊA!@  M@ \0Aï² \0  AtjAÛ \0A°Š Aj!\f\v\v\v A j$\0\vû#\0A@j"$\0@ E\r\0 \0("+PD\0\0\0\0\0\0à?dE\r\0 \0 A8jå \0AÑÉ  )\b78  )\x0070 \0 A0jÀ \0AˊA  AM!A!@  F@ \0Aˎ   Atj")\b7(  )\x007 \0 A jÀ \0A݊ Aj!\f\v\v\v \0(+(D\0\0\0\0\0\0à?d@ \0ª \0 \0(Ajå \0AÑÉ  )\b7  )\x007 \0 AjÀ \0AˊA  AM!A!@  F@ \0Aϲ   Atj")\b7\b  )\x007\0 \0 À \0A݊ Aj!\f\v\v\v A@k$\0\v¼#\0A k"$\0  )\b7\b  )\x007\0  + +\0¡9  + +\b¡9@ E\r\0 \0("+PD\0\0\0\0\0\0à?dE\r\0 \0 A8jå \0 AÛ \0Aێ\v \0(+(D\0\0\0\0\0\0à?d@ \0ª \0 \0(Ajå \0 AÛ \0Aá²\v A j$\0\vï|#\0AÐ\0k"$\0 \0("+(D\0\0\0\0\0\0à?cE@ \0 Ajå \0 (+m ((\0"9AO@  6@A«æ A@k(\v !@@ -\0\0"E\r A F ÀA\0Hr A IrE@ Aj! Aÿ\0G\r\v\v  60AÝå A0j(\v  ((\x006 \0Aåá A j (\0A¤ì\n(\0à! -\x000"Aì\0G@  +\0| Aò\0F@ + \f\v + D\0\0\0\0\0\0à?¢\v¡9\0\v  + +\b "9\b  9  )\x007 \0 AjÀ \0AƒÉ \0 + m  6\0 \0AÌÞ  \v AÐ\0j$\0\vh\0#\0Ak"$\0@ E\r\0 \0("(˜E\r\0 \0AÐË \0 (˜AÛ \0A¿Î  A¤ì\n(\0à"6\0 \0AŽ“  \v Aj$\0\v6#\0Ak"$\0  \0((\b 6\0 \0Aȃ  \0A­ Aj$\0\vc#\0Ak"$\0 \0(\f(@ \0Aª† \0A\0 \0(\f(Ajá\v \0A° \0Alj  \0(\f(6\0 \0AÝÈ  Aj$\0\v”~|#\0A°k"$\0 \0(Ô! \0(Ð! \0(Ì! \0(È!  \0(\f(Aj"6¤  6  \0AéÇ A j \0(\f(E@  6œ  6˜  6”  6 \0A©Ç Aj\v Aþ–A‰! \0(è6€ \0Aõÿ A€j \0(@AF@  6t  6p \0Aš¶ Að\0j\v \0)Ä!  \0(Ì6h  7` \0A²´ Aà\0j \0(\f(E@  6T   k6\\  6P   k6X \0Aµ” AÐ\0j\v \0+è!\b \0+ð!\t \0(è! \0+ø!\n A@k \0+€9\0  \n98  60  \t9(  \b9 \0AÒ® A j \0(@AF@ AÀð\0H A¿ð\0LqE@ \0(\f(! AÀð\x006  6  6A˜÷ Aj \0\v  6\f  6\b  6  6\0 \0Aå’ \v A°j$\0\v*\0#\0Ak"$\0  6  6\0 \0A‡  Aj$\0\vè~#\0A0k"$\0 \0(!A ì\nA\0:\0\0@ \0(\f(\r\0  (\b 6 \0A¤ A j \0AÅÝA¹õ \0(@AF@ \0(\f(\r\0 \0(@AG@ \0A¡õ\f\v \0)È!  \0)Ð7  7 \0AËÇ Aj\v \0A–­ \0 \0(\f(Aðž\ná#\0Ak"$\0@AüÎ\n(\0"E\r\0 A\0A€ (\0\0!@ E\r -\0E@  (\f6\0 \0AˆÙ  \0AúÙ \0 ã\b \0AÓâ \0AѤ\vAüÎ\n(\0" A\b (\0\0!\f\0\v\0\v Aj$\0 \0(\f("E\r\0 (\0! A\x006,  6( \0A\0 A(já\vA¤ì\nAA (\b(-\0sAF6\0A ì\n-\0\0E@ \0A…ÝA ì\nA:\0\0\v (Ø"@  A¤ì\n(\0à"6\0 \0A±’  \v A0j$\0\v‘~#\0A k"$\0 \0A։ \0(@AG@  \0(\f(6 \0AÁÈ Aj\v@ \0(\f(\r\0 \0(@AF\r\0 \0)Ø!  \0)à7\b  7\0 \0AËÇ \v \0Aª° \0AâÐ A j$\0\v_~#\0Ak"$\0 \0A›– \0AõÝAî€ \0(@AF \0(\f(\0")\0!  (\b6\b  7\0 \0A©ð  Aj$\0\v&\0 \0 \0("\0( \0(˜ \0(”    –\v‰ \0(!@@@ \0(@Ak\0\v \0 ( (˜ (” (Ø (ì (ü (Ü–\v \0 ( (˜ (” (Ø (ì (ü (Ü– \0AìÓ\v\vÌ \0(!@ \0@@@ \0(@\0\v \0A¹‰ (Ø"E\r -\0\0E\r \0AÖÈAî€! (Ø\f\v (Ø"E\r -\0\0E\r \0AÖÈ \0 (Øx \0AðÎAî€! (\b \f\v \0AûÅ \0 (\b x \0A—ÅA‘×! (\b \vx \0 \v\vÄ|#\0AÐ\0k"$\0 \0("(˜! + !  (6 A\x006 AÔ\n(\x006 B\x007$ A\x0068 B\x007< B\x007D  6L  09 D\0\0\0\0\0\0$@D\0\0\0\0\0\0\0\0 AkAI"90 B‚€€€7\0  A\0 6\b \0A†Ý  \0  A\0¶ AÐ\0j$\0\vü\r|#\0Aðk"$\0AÔ\n(\0!\f \0("(!\r +  B\x007¨ B\x007 0! AK@A!\b (˜"AkAI!A!\v @ (8!\nA!\vA!\b\vD\0\0\0\0\0\0$@D\0\0\0\0\0\0\0\0 ! A\0 !  +\0"9à +\b!  9€  9è  9ˆ A j A€jµA!A\0!@@@  Aj"M@  6t A\x006p B\x007h  9`  \b6X A\x006T  \f6P  \n6L  \r6H A@k 9\0  68  \v64 A60 \0AúÆ A0j@ A j"&@ #AF\r\v A j"# EO@ A¡\v A j"#! &@  jA\0:\0\0  -\0¯Aj:\0¯ #AI\rAã¶Aòü\0A¯AŸ³\0\0\v (  jA\0:\0\0  (¤Aj6¤\v@ A j&@ A\0:\0¯\f\v A\x006¤\v A j"&!   (  6 \0A݃ A j -\0¯AÿF@ ( \v A\0 A\0J! Ak!A\0!@  F\r   oA\0G6 \0A›³ Aj Aj!\f\0\v\0\v  )è7¸  )à7°  Atj!A!A!@ AFE@ At"\t A°jj" \t j"\t+\x009\0  \t+\b9\b Aj!\f\v\v@ AF\r Aj A°j ¸D\0\0\0\0\0\0@£A\0A\0‹  +9\0  +˜9\b A j µ Aj!\f\0\v\0\v \0Aî€ Aðj$\0\v Aj! !\f\0\v\0\vAð¶Až½A¿AÃ9\0\0\vÚ|#\0AÐ\0k"$\0 \0("(˜! + !\b (8!  (6  6 AÔ\n(\x006 A\x006$ AA 6( A\x0068 B\x007< B\x007D  Aj6L  \b09 D\0\0\0\0\0\0$@D\0\0\0\0\0\0\0\0 AkAI"90 B‚€€€07\0  A\0 6\b \0A†Ý  \0  A¶ AÐ\0j$\0\v¬|#\0Ak"$\0 \0("(˜! + !\n +! +! +\b!\b +\0!\t (8!  (6  6 AÔ\n(\x006 A\x006$ AA 6( A\x0068 A@kB\x007\0  \t0"\v9H  \b0"\f9P  \v9h  \f9p  09x  09€  \n09   \t¡09X   \b¡09` D\0\0\0\0\0\0$@D\0\0\0\0\0\0\0\0 AkAI"90 B€€€7\0  A\0 6\b \0Aµ§  Aj$\0\v±\v#\0A0k"$\0A!@@@@@@@ ( Ak\0\v (\0!\0@ A\bF\r \0E\r At(°Á\b \0GE\r Aj!\f\0\v\0\vA”Ô\n(\0"A\0 A\0J! -\0!\b -\0!\t -\0\0!\nAƒô\v!\v@@  G@@ At"\f. Ü\n \tk" l \f. Ô\n \nk" lj \f. ä\n \bk" lj" \vN\r\0 ! "\v\r\0\f\v Aj!\f\v\v A€G\r\v A j!\f\v Aõ\x006 Až½6\0Aˆ÷\b(\0AØÀ 5\0\vA”Ô\n Aj6\0 At" \n; Ô\n  \t; Ü\n  \b; ä\n  \b6  \t6  \n6  A j"6 A\x006 \0A¥Ü Aj\v  6\0\v A6 A0j$\0\vAëÖA¦ü\0A\rA<\0\0\vÇ|#\0AÐ\0k"$\0 \0(è! \0+à!\nAÔ\n(\0! ("+!\v \0((!\b (\09!\t (\b" (A\v! -\x000! +\b!\f +\0!\r  \v \n¢"\n90 A6( D-DTû!ù?D\0\0\0\0\0\0\0\0 9  \n9  6 A\x006 A@k \r09\0  \fD\0\0\0\0\0\0RÀ 09H  \n \n D\0\0\0\0\0\0\b@£ \t¸¢D\0\0\0\0\0\0à?¢98  6\f  \b6\b A6\0 AA Aò\0FA\0 Aì\0G6 \0A¥Ê  \0 (\0\t \0A’Ý AÐ\0j$\0\vj~A!@ \0(()\b" (()\b"T\r\0  V@A\v@ \0-\0\0AqE\r\0 -\0\0AqE\r\0 \0)\b" )\b"T\rA!  V\r\vA\0!\v \v\v\0AÔ\nA\x006\0\v\v\0AÔ\nA6\0\v\v\0 \0Aܱ\vÙ~#\0A0k"$\0 \0(! \0AˆÛ \0(\f(\0")\0!  (\b6(  7 \0A†ð A j  (\b 6 \0AÁ Aj  \0(¨ \0(¤l6\0 \0AÐÈ  \0Aã \0AЈ \0A®ì \0Aˆˆ \0AíÝ \0Aï± \0A’Û \0Aõ• \0AÝ A0j$\0\v\0 \0š \0ö \0AÌ\0  ¹\v\0 \0   AÂ\0Aâ\0›\t\v‚@@ \0E ErE@@ \0((" (("G@ (\0Av"\0 (\0Av"I\r \0 M\r\f\v \0(\0Av"\0 (\0Av"I\r \0 K\r\vA\0\vAÈôA¬¾A‡A҃\0\0\vA\vA\v\0 \0   Að\0AÐ\0›\t\v #\0Ak"$\0 \0((\f \0š \0ö @ A~qAF@ \0  Aº\f\v \0™\vAíËAõÊ\v!At(ðÀ\b"\0 Ê  )\b7\b  )\x007\0 \0 š \0 + +\0¡æ \0 + +\b¡æ Aj$\0\v¸#\0A0k"$\0 \0((\f"At(ðÀ\b"AêËÊ  (+æ \0Añ€ ((\0ï \0ö ("@ (Aÿ\0q!\v -\x000!@AÐÓ\n(\0/("\bAkAÿÿqAK\r\0 \bAtAäÀ\bj(\0 q" At"(àÓ\nF\r\0  6 A¹È A js AàÓ\nj 6\0\v  + +\b 9\b AÛËÊ  )\b7  )\x007  Ajš A Aò\0F Aì\0F6\0 A©Ë s  + æ \0Añ€ (\0ï A0j$\0\vË\0 \0((\b!\0AàÒ\n#@ \0AÐÓ\n(\0(AàÒ\n§a\vAðÒ\n#@ \0AÐÓ\n(\0(AðÒ\n§a\vA€Ó\n#@ \0AÐÓ\n(\0(A€Ó\n§a\vA Ó\n#@ \0AÐÓ\n(\0(A Ó\n§›\vA°Ó\n#@ \0AÐÓ\n(\0($A°Ó\n§a\vAÀÓ\n#@ \0AÐÓ\n(\0( AÀÓ\n§a\vA˜•\nB€€€€€€€ø?7\0Aˆ•\nB€€€€€€€ø?7\0Aø”\nB€€€€€€€ø?7\0Að”\nB€€€€€€€ø?7\0Aؔ\nB€€€€€€€ø?7\0AД\nB€€€€€€€ø?7\0AøÓ\nB\x007\0AèÓ\nB\x007\0AŒÔ\nA\x006\0A„Ô\nA\x006\0\v}\0 \0((\b!\0AàÒ\n#@ \0AÐÓ\n(\0(\bAàÒ\n§a\vA Ó\n#@ \0AÐÓ\n(\0(\fA Ó\n§›\vA•\nB€€€€€€€ø?7\0A€•\nB€€€€€€€ø?7\0AˆÔ\nA\x006\0A€Ô\nA\x006\0\vs\0 \0((\b"\0AÐÓ\n(\0(\0AàÒ\n§a \0((\f@ \0AÐÓ\n(\0(A Ó\n§a\vAè”\nB€€€€€€€ø?7\0AȔ\nB€€€€€€€ø?7\0AôÓ\nA\x006\0AäÓ\nA\x006\0\vÃ#\0Ak"$\0 \0((\b!AÔÓ\n(\0E@AÜÓ\nA 6\0AØÓ\nA¡6\0AÔÓ\nA€à\t(\x006\0\v (L"(! AÔÓ\n6@@@@@@ \0(@\0\v \0  \0AÁ\f\v \0-\0›A\bq\r  \0Ï\f\vAÐÒ\n#@AÐÓ\n(\0(\0"E@ A\0A¡Äw!AÐÓ\n(\0 6\0\v  AÐÒ\n§a\v ((\f@ AÐÓ\n(\0(AÓ\n§›\vA\0! Aä\0AÐÓ\n(\0(,Ž@ A\bFE@ AtAÐÒ\njN Aj!\f\v\vAÐÓ\n(\0Aà”\nB€€€€€€€ø?7\0AÀ”\nB€€€€€€€ø?7\0AðÓ\nA\x006\0AàÓ\nA\x006\0 \0-\0›A\bq\r  \0Ï\f\v Aå6 Añ¸6\0Aˆ÷\b(\0AØÀ 5\0\v \0  \0A\0Á\v (L 6 Aj$\0\v‚|#\0Ak"$\0 \0((\b!@@@@@ \0(@\0\v Aàß\0A\0\\E\r é\b\f\v  Aj Aj¿!\b \0(@! -\0 -\0!AÐÓ\nAA8"\x006\0Aì¶!A!@@@ Ak\0\vA±ï!A\f!\f\v@ Aä\0%"E\r\0 -\0\0E\r\0 »"A\vI\r\0AÐÓ\n(\0!\0\f\vA³þ!A³þ»!AÐÓ\n(\0!\0\v \0 6, \0 ;(@ ("(´@ A\0A¡Äw!AÐÓ\n(\0"\0 6\0 (!\f\v \0A\x006\0\vA\0!A\0! -\0qA\bq A\0A‘Äw!AÐÓ\n(\0 \0\v 6 AA¡Äw!\0AÐÓ\n(\0 \x006\b AA‘Äw!\0AÐÓ\n(\0 \x006\f AA¡Äw!\0AÐÓ\n(\0" \x006Aq@ AA™Äw!AÐÓ\n(\0!\v  6A\0!\0 Aq@ AA÷Ãw!\0AÐÓ\n(\0!\v  \x006@ (-\0q"A!q@ AA‘Äw!\0AÐÓ\n(\0" \x006 (-\0q!\f\v A\x006\v@ Aq@ AAˆÄw!\0AÐÓ\n(\0" \x006 (-\0q!\f\v A\x006 \vA\0!\0A\0! Aq@ AAÿÃw!AÐÓ\n(\0!\v  6$@ \0A\bFE@ \0At"B\x007ØÒ\n B\x007ÐÒ\n \0Aj!\0\f\v\v  \b90\f\v A§6 Añ¸6\0Aˆ÷\b(\0AØÀ 5\0\v ¼\v Aj$\0\vv#\0Ak"$\0 \0((\fAt(ðÀ\b"AçËÊ  )\b7\b  )\x007\0  š  + +\0¡æ  + +\b¡æ \0Añ€ (\bï Aj$\0\v\0 \0(\0"\0 (\0"K \0 Ik\v\0 D\0\0\0\0\0\0à?¢\v%\0  \0 £"\0D\0\0\0\0\0\0ð? \0¡ \0D\0\0\0\0\0\0à?e¢\v\0 \0 £ ¢D\0\0\0\0\0\0à?¢\v\0 D\0\0\0\0\0\0ð? \0 £¡¢D\0\0\0\0\0\0à?¢\v\0 \0(\0AF@ \0(pAî\v\v×@ \0(\0"(˜"E\r\0 (œ\r\0 A\x006˜ (¸!\b A\x006¸ !\v ( !#\0Ak"$\0@  ÖE@  A Å6  6\0AÅð 4\f\v (œ"  (4û68@ A‡&A\0A3@ ((\b\r\v -\0›Aq\r\0Aš±A\04\f\v@ (˜"E@ •"6œ  6˜\f\vA Ï\n(\0"\tE\r\0 \t("\r\0•!A Ï\n(\0 6\vA Ï\n 6\0  6\0  6  ¯ ® \t ¼\v Aj$\0 @ \0(\0"\0 \b6¸ \0 6˜\v\v\0 \0(\0"\0 \0(  ¤\vå \0(\0!@@ E@AŒ÷\b(\0A\0‰!\f\v A<Ä"E\r A\0‰! \v E\r\0 ( "@@ (¤"E\r\0 ("E\r\0  \0 ( !\v É\b ( \v A\0A‡&A˜Aú AA¡&AÀAú AA”&A¸Aú  6  ( 6   ¤AF\r\0 \0B\x007À \0A:\0™\v\v‡|#\0Ak"$\0 +\0 \0+°¡ \0+ˆ£"™D-Cëâ6?c +\b \0+¸¡ \0+£"™D-Cëâ6?cqE@@@@ \0-\0\0\v  )\b7\b  )\x007\0 \0 ¸\f\v \0+Ð! \0+à!| \0(è@ \0   £¡9Ð  £ \0+Ø \f\v \0   £¡9Ð \0+Ø  £¡\v! \0A:\0™ \0 9Ø\v \0 )\b7¸ \0 )\x007°\v Aj$\0\v\0 \0A\0:\0 \0A\0:\0š\vÎ\b|#\0A k"$\0@@@@@@@ Ak\0\v  )\b7\b  )\x007\0 \0 ¸@ \0(Ä"E\r\0@@@ á\0\v (" -\0pAùqAr:\0p\f\v (" -\0…AùqAr:\0…\f\v (" -\0tAùqAr:\0t\v \0(Ì \0A\x006Ì \0 \0(À"6Ä@ E\r\0@@@ á\0\v (" -\0pAr:\0p \0 é\f\v (" -\0…Ar:\0… +AAê…A\0!"E@ +AAöÒA\0!"E\r\v \0  ? q6Ì\f\v (" -\0tAr:\0t  A0k" (\0AqAF((+AAê…A\0!"E@   (\0AqAF((+AAöÒA\0!"E\r\v \0  ? q6Ì\v \0A:\0 \0A:\0š\f\v \0A:\0 \0A:\0š\f\v  )\b7  )\x007 \0 Aj¸ \0A:\0 \0A:\0š\f\v \0A\0:\0˜| \0(è@ \0 \0+Ð +\b \0(ĸD\0\0\0\0\0\0à?¢¡D ™™™™™¹?¢ \0+à" \0+¢£¡9Ð +\0 \0(À¸D\0\0\0\0\0\0à?¢¡D ™™™™™¹?¢  \0+ˆ¢£\f\v \0 \0+Ð +\0 \0(À¸D\0\0\0\0\0\0à?¢¡D ™™™™™¹?¢ \0+à" \0+ˆ¢£ 9Ð +\b \0(ĸD\0\0\0\0\0\0à?¢¡D ™™™™™¹?¢  \0+¢£\v! \0 Dš™™™™™ñ?¢9à \0 \0+Ø  9Ø\f\v \0A\0:\0˜ \0 \0+àDš™™™™™ñ?£"9à \0(è@ \0 \0+Ð +\b \0(ĸD\0\0\0\0\0\0à?¢¡D ™™™™™¹?¢  \0+¢£ 9Ð +\0 \0(À¸D\0\0\0\0\0\0à?¢¡! \0Aˆj\f\v \0 \0+Ð +\0 \0(À¸D\0\0\0\0\0\0à?¢¡D ™™™™™¹¿¢  \0+ˆ¢£ 9Ð +\b \0(ĸD\0\0\0\0\0\0à?¢¡! \0Aj\v! \0 \0+Ø D ™™™™™¹¿¢  +\0¢£ 9Ø\v \0A:\0™\v \0 )\b7¸ \0 )\x007° A j$\0\vI \0(\0( ! \0(ÄE@ \0 6Ä (" -\0pAr:\0p \0 é\v \0 á \0A:\0œ\va| \0 \0-\0˜"As:\0˜ E@ \0B\x007Ð \0B\x007Ø \0A:\0™ \0 \0(À"¸ ·£" \0(Ä"\0¸ \0·£"  c9à\vA\0\v#\0 \0A€;˜ \0 \0+àDš™™™™™ñ?£9àA\0\v#\0 \0A€;˜ \0 \0+àDš™™™™™ñ?¢9àA\0\v*\0 \0A€;˜ \0 \0+ØD\0\0\0\0\0\0$@ \0+࣠9ØA\0\v*\0 \0A€;˜ \0 \0+ØD\0\0\0\0\0\0$À \0+࣠9ØA\0\v*\0 \0A€;˜ \0 \0+ÐD\0\0\0\0\0\0$À \0+࣠9ÐA\0\v*\0 \0A€;˜ \0 \0+ÐD\0\0\0\0\0\0$@ \0+࣠9ÐA\0\v\0 + \0G \0 A\0› \v\v\0 + \0G \0 A\0t \v\v\0 \0\vCA \0(\0" (\0"J\r\0A  H\r\0A \0("\0 ("J\r\0AA\0 \0 H\v\v\0AH" \0)\b7\b  \0(6 \vC|A \0+\0" +\0"d\r\0A  c\r\0A \0+\b" +\b"d\r\0AA\0  c\v\v< \0(\0! \0(!A\0!\0@ \0 F@   \0A8lj(\0 \0Aj!\0\f\v\v\v\0 \0 …6 A\0\v\0 \0 …6$A\0\vp#\0Ak"$\0 A—Ð,E@ \0Aò\x006\0A\0\f\v A¦Ð,E@ \0Aì\x006\0A\0\f\v AšÑ,E@ \0Aî\x006\0A\0\f\v  6\0Aļ (A\v Aj$\0\v@#\0Ak"$\0A! AÂÛA\0Aÿ A\fjéE@ \0 (\f·9A\0!\v Aj$\0 \v\v\0 \0 6\0A\0\v\v\0 \0 6A\0\vS#\0Ak"$\0A!@ A¬ÒA\0Aÿÿ A\fjé\r\0 (\f"E@A•¾A\0(\f\v \0 ;RA\0!\v Aj$\0 \vS#\0Ak"$\0A!@ A´ÒA\0Aÿÿ A\fjé\r\0 (\f"E@Aº¾A\0(\f\v \0 ;PA\0!\v Aj$\0 \v\0 \0 A¼½AšÑA€A—ÐA€A¦Ð÷\v#\0Ak"$\0@@ A¦Ð,E@ \0 \0/$Ar;$\f\v A—Ð,E@ \0 \0/$Ar;$\f\v A¦Ï,E@ \0 \0/$Ar;$\f\v AšÑ,\r\vA\0\f\v  6\0Aé½ (A\v Aj$\0\v@#\0Ak"$\0A! AºÙA\0Aÿÿ A\fjéE@ \0 (\f;&A\0!\v Aj$\0 \v\0 \0 A¼AšÜA\bA‰ÒAAÃÒ÷\v\0 \0 …6\fA\0\v\0 \0 …6\bA\0\vŒ#\0AÐ\0k"$\0@ @@@ AF\r -\0‰¡! AŠ¡j! Aj!@ -\0\0"E\r Aj!  G\r\0\v\vAʳAŠý\0A5AÊó\0\0\0\vA\0! A‰¡! !@ E\r  6L  6H  )H7@@ A@kAýÝÌ@ \0 \0-\0*Ar:\0*\f\v  )H78 A8jA¤ØÌ@ \0 \0-\0*Ar:\0*\f\v  )H70 A0jAßÝÌ@ \0 \0-\0*Açq:\0*\f\v  )H7(@ A(jA¡ÜÌE@  )H7 A jAÉÐÌE\r\v \0 \0-\0*Ar:\0*\f\v  )H7 AjAïÝÌ@ \0 \0-\0*A\br:\0*\f\v  )H7 AjAöÝÌ@ \0 \0-\0*Ar:\0*\f\v  6  6\0A”½ (A!\v  j!A\0!A\0!  9 jF\r\0 A‰¡Ë j"A‰¡!\f\0\v\0\vAšÔAŠý\0A-AÊó\0\0\0\v AÐ\0j$\0 \v¿#\0Ak"$\0@ -\0\0"@ Aj!@@@@@ A j  À"AÁ\0kAIÀAâ\0kAw\n\0\v A€\br!\f\v A€r!\f\v A€ r!\f\v A€À\0r!\f\v  6  6\0Aª­ (\f\v\v AÿÿqA€ø\0G@ \0 \0/$ r;$\v Aj$\0A\0\v\0 \0 AAл\t\v\0 \0 …6A\0\v\0 \0 …6A\0\v\0 \0 …6\0A\0\v@#\0Ak"$\0A! AÐA\0Aÿÿ A\fjéE@ \0 (\f;(A\0!\v Aj$\0 \v?#\0Ak"$\0A! AƒÜA\0Aè A\fjéE@ \0 /\f6A\0!\v Aj$\0 \vW#\0Ak"$\0@@ AÍÛ,E@ \0 \0/$Ar;$\f\v AØÛ,\r\vA\0\f\v  6\0Aê¼ (A\v Aj$\0\v\0 \0 AAõ»\t\v\0 \0 …6A\0\vN#\0Ak"$\0A! AÑÚA€Aÿ\0 A\fjéE@ \0 (\f:\0 \0 \0/$A€r;$A\0!\v Aj$\0 \vM#\0Ak"$\0A! AÅÚA\0Aÿ A\fjéE@ \0 (\f:\0" \0 \0/$AÀ\0r;$A\0!\v Aj$\0 \v?#\0Ak"$\0A! AéÑA\0Aÿ\0 A\fjéE@ \0 (\f:\0lA\0!\v Aj$\0 \vL#\0Ak"$\0A! AíÑA\0Aÿ A\fjéE@ \0 (\f:\0! \0 \0/$A r;$A\0!\v Aj$\0 \v\0 \0 …6A\0\v\0 \0 AļAšÑAA—ÐAA¦Ð÷\vR@ \0-\0(E\r\0@ @ -\0\0"A O@ \0(\f Ào Aj!\v Aj! Ak!\f\v\v E\r\0 \0A‹6\b\v\vÇ\0 A«Ü,E@ \0A:\0( \0Aˆ6\b\v@ AÛÐ,@ AÔÙ,\r\v \0A…6\b\v A™Ý,E@ \0A\0:\0( \0A‰6\b\v AúÒ,E@ \0A‡6\b\v A‹Ð,E@ \0AŠ6\b\v Ažß,E@ \0AŽ6\b\v A¡Ï,E@ \0A6\b\v AÒ,E@ \0A6\b\v A±Ù,E@ \0A6\b\v A…Ò,E@ \0A‘6\b\v AèÞ,E@ \0A’6\b\v AÖÐ,E@ \0A“6\b\v AôÑ,E@ \0(\bA›F@ \0Aš6\b\v \0A‚6\b\v A—Ñ,E@ \0(\bA•F@ \0A”6\b\v \0A–6\b\v AØÐ,E@ \0(\bA˜F@ \0A—6\b\v \0A™6\b\v AâÚ,E@ \0(\bAF@ \0Aœ6\b\v \0Aƒ6\b\v \0 ‹\b\vÝ\0 A«Ü,E@AˆH"B\x007T A6x B\x007\\ Aÿ:\0l A\x006h Aá6d \0 AÀ‹\nA Aƒá¶ \0(@ 6\0 \0Až6\b \0A\0:\0(\v@ AÛÐ,@ AÔÙ,\r\v \0A„6\b \0A\0:\0(\v A™Ý,E@ \0A:\0(Aè\0H"A€6P \0 AðŒ\nA A¾á¶ \0(@ 6\0 \0AŸ6\b\v A‹Ð,E@ \0 A\0£! \0(@ 6\0 \0A 6\b\v Ažß,E@ \0A\0A£! \0(@ 6\0 \0A¢6\b\v AÖÐ,E@ \0A\0A £! \0(@ 6\0 \0A§6\b\v A¡Ï,E@ \0A\0A£! \0(@ 6\0 \0A£6\b\v AÒ,E@ \0A\0AÀ\0£! \0(@ 6\0 \0A¤6\b\v A±Ù,E@ \0A\0A£! \0(@ 6\0 \0A¡6\b\v A…Ò,E@ \0A\0A\b£! \0(@ 6\0 \0A¥6\b\v AèÞ,E@ \0A\0A£! \0(@ 6\0 \0A¦6\b\v AôÑ,E@ \0(@A\x006\0 \0 \0(@A¸Ž\nA A¾à¶ \0A›6\b\v A—Ñ,E@ \0A•6\b\v AØÐ,E@ \0A˜6\b\v AâÚ,E@ \0A(H"AÀŽ\nA AÒà¶ \0(@ 6\0 \0A6\b\v AúÒ,E@ \0A†6\b\v \0 ‹\b\v†#\0Ak"$\0  6\f@ \0 \0(œ A\fj   \0-\0üEA\0\b"\r\0A\0! (\f"E\r\0 \0(ô@ \0AÝ6  \0   Ž\b!\f\v \0AÖ6  \0   Æ!\v Aj$\0 \v¨#\0Ak"$\0@@ \0(´"E@A!\f\v (\f"-\0!@ (\b  (" (\fj"6\f j! -\0"@ \0(ì"   A\fj" (\0\0! \0 \0(ì    (\f A\0A\0A¦\b\f\v \0 ( \0(ì   A\fjA\0AÀ\v"\r@  (\f"F\r\0@@ \0(øAk\0\v \0-\0àE\r\v   (k6\fA\0!\f\vA\0! A\0:\0!@ -\0"\r\0 ( \0(ÐF\r\0A\r!\f\v \0A:\0à\f\v \0 AÑ2Í \0(´" G\rA\0! A\0:\0 \0 (\b"6´  \0(¸6\b \0 6¸ E@ \0AÐAÖ -\0"6 \v \0A:\0à\v Aj$\0 \vA±\vAë½A×2A©6\0\0\vf#\0Ak"$\0  6\f@ \0 \0(œ A\fj   \0-\0üEž\b"\r\0 (\f"E@A\0!\f\v \0AÐ6  \0   È!\v Aj$\0 \v\b\0 \0(¤\ve \0A j! \0Aœj! \0(ð! \0-\0ô   Å\b   Ó\vA\0 \0 \0(ð§\b\v"  \0AÐ6  \0   È\v\vl\0A!@@@@ Ak\0\v AG\r \0A6\b \0A³6\0A\v \0A¡Aµ \0(6\0A\v@ AG\r\0 \0(\r\0A;\v \0Až6\0A!\v \v\0 \0    AÌAAAŠ\vE\0 AF@A\v AF@ \0A6\b \0A³6\0A\v@ AG\r\0 \0(\r\0A;\v \0Až6\0A\v[\0A\' AF\r\0@ AG@ A$G\r \0A\'6\b \0A³6\0A.\v \0AÊ6\0A\'\v AF@A; \0(E\r\v \0Až6\0A\v\v\0 \0    A\'AËA3ø\v¤\0@@@@@@@@@ Ak\n\0\vA\'! Ak\v \0 \0(Aj6A,\v \0AÇ6\0A5\v \0AÇ6\0A4\v \0AÇ6\0A6\v A)F\r\v@ AG\r\0 \0(\r\0A;\v \0Až6\0A!\v \v \0AÇ6\0A3\v€\0A\'!@@@@@ Ak\0\v AF\r A$G\r \0A\'6\b \0A³6\0A.\v \0AÊ6\0A\'\v AF@A;! \0(E\r\v \0Až6\0A!\v \v \0A\'6\b \0A³6\0A-\v–\0@@@@@@@ A#k\0\v@@ Ak\0\v AG\rA\'\v \0 \0(Ak"6A- \r \0A\'6\b \0A³6\0A-\v \0 \0(Ak"6A. \r \0A\'6\b \0A³6\0A.\v \0 \0(Ak"6A/ \r \0A\'6\b \0A³6\0A/\v \0 \0(Ak"6A0 \r \0A\'6\b \0A³6\0A0\v \0AÉ6\0A2\v \0AÉ6\0A1\v@ AG\r\0 \0(\r\0A;\v \0Až6\0A\v\v½A3!AÇ!@@@@@@@@@ Ak\b\0\v AG\rA\'\v   (@j A‘©\b (\0E\rA+!AÈ!\f\v \0A6A,!AÉ!\f\vA5!\f\vA4!\f\vA6!\f\v A)F\r\vA!Až! AG\r\0 \0(\r\0A;\v \0 6\0 \v\0 \0    AÄ‘\t\v\0 \0    A‘\t\v\0 \0    A!AÆA “\t\v\0 \0    A­A&AA!Š\vV\0A!AÅ!A!!@@@@ Ak\0\v A)F\r\vA!Až! AG\r\0 \0(\r\0A;\v \0 6\0 !\v \vG\0A!! AF@A!\vAÄ!@ AF\r\0A!Až! AG\r\0A; \0(E\r\v \0 6\0 \v\vº AF@A!\vA­!@ AF@A%!\f\v@ AG\r\0   (@j Að¨\b (\0@A#!\f\v   (@j Aø¨\b (\0@A$!\f\v   (@j A©\b (\0E\r\0A!!AÃ!\f\vA!Až! AG\r\0 \0(\r\0A;\v \0 6\0 \v¼A!!@@@@@ Ak\0\vA\0!@@ (! A\bF\r    At( ¨\b \0E@ Aj!\f\v\v \0AÀ6\0 Aj\v   Aý§\b \0E\r \0AÁ6\0A!\v AF\r\v AF@A;! \0(E\r\v \0Až6\0A!\v \v \0AÂ6\0A!\vO\0A\v!@@@ Ak\0\v \0A\v6\b \0A³6\0A\v@ AG\r\0 \0(\r\0A;\v \0Až6\0A!\v \vtA\v!@@@@@ Ak\0\v   A•¨\b (\0E\r\0A¿!\f\vA!Až! AG\r \0(\rA;\vA¡Aµ \0(!A!\v \0 6\0\v \v\0 \0    AµA:AA\0Š\vL\0A\0 AF\r\0 AF@ \0Aµ6\0 \0 \0(\fAj6\fA\0\v AF@A; \0(E\r\v \0Až6\0A\v\v{@@@@ Ak\0\v   A†¨\b (\0@A½!\f\v   Aލ\b (\0E\r\0A¾!\f\vA!Až! AG\r \0(\rA;!\v \v \0 6\0 \vR\0A\v!@@@@ Ak\0\0\vA!Až! AG\r \0(\rA;\vA¡Aµ \0(!A!\v \0 6\0\v \v\0 \0    A¹AAA\vŠ\v\0 \0    A¼A\rAA\vŠ\vM\0@@@ Ak\0\v \0A¡Aµ \0(6\0\v \0(\b\v AF@A; \0(E\r\v \0Až6\0A\v\v\0 \0    A±AAA\vŠ\v\0 \0    A»A\rAA\vŠ\v\0 \0    AºA¹’\t\vA!@@@@ Ak\0\v   Aا\b (\0@A·!\f\v   Aß§\b (\0E\r\0A¸!\f\vA!Až! AG\r \0(\rA;!\v \v \0 6\0 \v¬A\'!@@@@@ Ak\0\v   A‡©\b (\0@ \0A\'6\b \0A³6\0A*\v   A©\b (\0E\r \0A\'6\b \0A³6\0A)\v AF\r\v@ AG\r\0 \0(\r\0A;\v \0Až6\0A!\v \v \0A6 \0A¶6\0A,\vl\0A!A´!A!!@@@@@ Ak\0\vA¡Aµ \0(!A!!\f\v A)F\r\vA!Až! AG\r\0 \0(\r\0A;\v \0 6\0 !\v \v\0 \0    A²A±’\t\v\0 \0    A\vA°A\n“\t\v^\0A!@@@@@ Ak\0\v AG\r\0A!A¡!\f\vA!Až! AG\r \0(\rA;\vA\b!A¤!\v \0 6\0\v \vJ\0A\b!A¤!A!@@@ Ak\0\0\vA!Až! AG\r\0 \0(\r\0A;\v \0 6\0 !\v \vG\0A¯!A!@@@ Ak\0\0\0\v AGA!Až!\r\0 \0(\r\0A;\v \0 6\0 !\v \v\0 \0    A\'A®A(ø\v\0 \0    A!A­A"ø\v`\0A«!A\v!@@@@ Ak\0\vA\t!A¬!\f\vA\v AF\r\vA!Až! AG\r\0A; \0(E\r\v \0 6\0 \v\v]\0A\0!@@@@@ A\vkAw\n\0\vA7\vA8\v \0Až6\0A\v@ AG\r\0 \0(\r\0A;\v \0Až6\0A!\v \v\0 \0    A¢AAAŠ\v\0 \0    AªAAAŠ\vœA!@@@@@@ Ak\0\v AG\rA!A¡!\f\v   Aا\b (\0@A¢!\f\v   Aß§\b (\0E\r\0A£!\f\vA!Až! AG\r \0(\rA;\vA\b!A¤!\v \0 6\0\v \v{@@@@@@ A!k\0\v A|F\r AF\r AF\r \0    ¯\b\v \0A 6\0A\0\v \0(\f"E\r \0 Ak6\fA\0\v \0(\fE\r\v \0Až6\0A!\v \vU\0A!A!AŸ!@@@@ Ak\0\v A)F\r\vA!Až! AG\r\0 \0(\r\0A;\v \0 6\0 !\v \vŠ@@@@@@@ A\vk\0\vA7\vA8\v   (@Atj AЧ\b (\0E\r \0A6\0A\v AF\r\v@ AG\r\0 \0(\r\0A;\v \0Až6\0A!\v \v \0Až6\0A\v¨Aœ!@@@@@@@@@ A\vk\0\b\vA!\f\vA7!\f\vA8!\f\v   (@Atj AЧ\b (\0E\rA!A!\f\v AF\r\vA!Až! AG\rA;! \0(E\r\f\vA!Až!\v \0 6\0 !\v \vš (\0"  kA~q"\0j!  (\0"k \0H@ Ak"\0  \0-\0\0AøqAØF"!\v@@  O\r  I@ /\0\0!\b  Aj"\x006\0  \bA\bt \bA\bvr;\0  Aj"6\0 \0!\f\v\v  G\r\0A!\v \v¦ (\0"\0  \0kA~qj!\b@A\0 \0 \bO\r \0-\0"À!@@@@@ \0-\0\0"\b\0\v A\0H\r\0 (\0" F\r  Aj6\0  :\0\0\f\vA  (\0"kAH\r  Aj6\0  AvAq AtrAÀr:\0\0  (\0"Aj6\0  A?qA€r:\0\0\f\v AØkAO@  (\0"kAH\r  Aj6\0  AvAàr:\0\0  (\0"Aj6\0  AtAA\0 -\0"\0Aç\0F \0Aì\0F\v -\0\0\r -\0Aá\0G\r -\0\r -\0Aí\0G\r -\0\r -\0Að\0G\rA&\v -\0\0\r\0 -\0"\0Aá\0G@ \0Añ\0G\r -\0\r -\0Aõ\0G\r -\0\r -\0Aï\0G\r -\0\r -\0Aô\0G\rA"\v -\0\r\0 -\0Að\0G\r\0 -\0\r\0 -\0Aï\0G\r\0 -\0\r\0 -\0Aó\0G\r\0A\'\vA\0\v@@@ -\0\r\0 -\0Aø\0G\r\0 Aj!A\0!\0@@ -\0\0\r\0 ,\0"Aÿq"A;F\r@@@ A0k7\0\0\0\0\0\0\0\0\0\0\v A0k \0Atr\f\v \0At jA7k\f\v \0At jA×\0k\v"\0AÿÿÃ\0J\r\v Aj!\f\0\v\0\v Aj!A\0!\0@AO! -\0\0E@ ,\0"A;F\r A0k!\v Aj!  \0A\nlj"\0A€€Ä\0H\r\0\v\vA\v \0¹\vÐ\b \0AÈ\0j!\nA!\0@ \0! "-\0"\0À!\b ,\0"\tE@ \0 \nj-\0\0\f\v \t \b)\v!\v Aj! !\0@@@@@@@@@@@ \vAÿqAk\v\0\v\b\b\t\v\v\v\t\v\v\v\v\v\v\v\v\v\v \r\nA!\0  L\r\n  Atj"A:\0\f  6\0\f\n\v@ \r\0A!\0  L\r\0  Atj"A:\0\f  6\0\v Aj!\f\t\v@ \r\0A!\0  L\r\0  Atj"A:\0\f  6\0\v Aj!\f\b\v \rA!\0  L\r  Atj"A:\0\f  6\0\f\v AG@A\f!A!\0  L\r  Atj Aj6\f\vA!\0 A\fG\r  J@  Atj 6\b\v Aj!A\f!A\0!\0\f\v AG@A\r!A!\0  L\r  Atj Aj6\f\vA!\0 A\rG\r  J@  Atj 6\b\v Aj!A\r!A\0!\0\f\v  L\r  AtjA\0:\0\f\f\vA\0!\0@ Ak\0\vA!\0  L\r  Atj"-\0\fE\r@ \t\r\0  (F \bA Gr\r\0 -\0"\tÀ!\b ,\0"E@ \bA F\r \t \nj-\0\0\f\v  \b)\v G\r\v A\0:\0\f\f\vA\0!\0@ Ak\0\vA!\0  L\r  AtjA\0:\0\f\f\vA!\0 AF\r \v !\0\f\0\v\0\vZ \0AÈ\0j!@ -\0!\0 ,\0\0"E@ \0 j-\0\0\f\v  \0À)\vAÿq"\0AKA \0tA€Œ€qErE@ Aj!\f\v\v \vl \0AÈ\0j! !\0@ \0-\0! \0,\0\0"E@  j-\0\0\f\v  À)\vAkAÿq"AOA‡€ø\v vAqErE@ \0 At(ì¦\bj!\0\f\v\v \0 k\vL@@ -\0\0"@A\0!\0  kAH\r -\0\0\r -\0 G\r Aj! Aj!\f\v\v  F!\0\v \0\vÓ  O@A|\v  kAH@A\v \0AÈ\0j! !@@  kAH\r -\0! ,\0\0"E@  j-\0\0\f\v  À)\v!A!@@@@@@@@ Aÿq"Ak\b\0\vA!\f\v  G\r \0 Aj  \v  G\r  Aj6\0A\v  G\r  Aj"kAH@A}\v -\0!\0  Aj  ,\0"E@ \0 j-\0\0\f\v  \0À)\vA\nF6\0A\v AF\r\vA!\v  j!\f\v\v  G\r\0 \0 Aj  ²\b"\0A\0 \0AG\v  6\0A\vÕ  O@A|\v  kAH@A\v \0AÈ\0j! !@@  kAH\r -\0! ,\0\0"E@  j-\0\0\f\v  À)\v!A!@@@@@@@@@ Aÿq"Ak\t\0\vA!\f\v  G\r\b \0 Aj  \v  6\0A\0\v  G\r  Aj6\0A\v  G\r  Aj"kAH@A}\v -\0!\0  Aj  ,\0"E@ \0 j-\0\0\f\v  \0À)\vA\nF6\0A\v AF\r\vA!\v  j!\f\v\v  G\r\0  Aj6\0A\'\v  6\0A\vó   k"A~qj  Aq! \0AÈ\0j!@@  "k"AH\r -\0!\0 ,\0\0"E@ \0 j-\0\0\f\v  \0À)\v!A\0!\0@@@@@@@@ Aÿq\t\0\v AF\r Aj!\f\v AI\r Aj!\f\v  Aj"kAH\r -\0\0\r -\0A!G\r  Aj"kAH\r -\0\0\r -\0AÛ\0G\r Aj! Aj!\f\v  Aj"kAH\r -\0\0\r -\0AÝ\0G\r  Aj"kAH\r -\0\0\r -\0A>G\r Aj! \rA*!\0 !\v  6\0 \0\v Ak!\f\v Aj!\f\v\vA~\vA\v˜  O@A|\v@@@@@@@@@@@@  k"Aq@ A~q"E\r  j!\v@@ ,\0\0"E@ \0 -\0j-\0H\f\v  ,\0)\vAÿq\v\f\f\0\f\t\vA!  Aj"kAH\r\f -\0\0\r -\0AÝ\0G\r  AjkAH\r\f -\0\r -\0A>G\r Aj!A(!\f\v\v  Aj"kAN\r\vA\v Aj  ,\0\0"E@ \0 -\0j-\0H\f\v  ,\0)\vA\nF\f\v  kAH\r\t Aj!\f\v  kAH\r\b Aj!\f\v  kAH\r Aj!\f\v Aj!\v \0AÈ\0j!A!@  k"AH\r -\0!\0 ,\0\0"E@ \0 j-\0\0\f\v  \0À)\v!A!\0@ Aÿq"A\nK\r\0@ AG@ AF\rA tA“q\r\f\vA!\0 AF\r\f\vA!\0 AI\r\v \0 j!\f\0\v\0\v Aj\v!A!\f\v !\v  6\0\v \vA~\v„\n#\0Ak"\f$\0@  O@A|!\f\v@@@@@@@@  k"Aq@ A~q"E\r  j!\v@@@@@@@@@@@@@@@ ,\0\0"E@ \0 -\0j-\0H\f\v  ,\0)\vAÿq\v\b\b\0\b\t\vA!  Aj"\tk"AH\r@@@@@@@ -\0"E@ \0 -\0"j-\0H\f\v À ,\0")\vAÿq"\bAk\0\v \bAG\r AvAq -\0 \bAtr(°ô vAq\r\f\v AG\r\f\v AO\r\f\v  Aj"kAH\r@ ,\0"E@ \0 -\0j-\0H\f\v  ,\0)\vAÿq"AG@ AG\r \0 Aj  ´\b!\f\v  Aj"kA\fH\r Aj!A\0!@ AF@A\b!\f\vA\0! -\0\0\r -\0 -\0À‘\bG\r Aj! Aj!\f\0\v\0\v  6\0A\0!\f\v \0 Aj  ³\b!\f\v  Aj"k"AH\rA\0!@ -\0\0"\bE@ \0 -\0"j-\0H\f\v \bÀ ,\0")\vAÿq"Ak\0\v@@ Ak\0\v AG\r AvAq \b-\0 \bAtr(°ô vAqE\r\v \0AÈ\0j!@@@@  "\0Aj"k"\bAH\r \0-\0!@@ \0-\0"\tE@  j-\0\0\f\v \tÀ À)\vAÿqAk\0\v AvAq \t-\0 ƒ\bAtr(°ô vAq\r\f\v\v \bAF\r\f\v \bAI\r\f\v@  "Aj"kAH\r -\0!\0@@ ,\0"E@ \0 j-\0\0\f\v  \0À)\vAÿq"\0A\tk\0\v \0AF\r\f\v\v Aj\f\v \0Aj\v!A!\f\v \0AÈ\0j!\t Aj!A\0!@  k"\vAH\r -\0!A!@@@@@@@@ -\0\0"\nE@  \tj-\0\0\f\v \nÀ À)\vAÿqAk\0\v AvAq \n-\0 ƒ\bAtr(°ô vAq\r\f\v \vAF\r\f\v \vAI\r\f\v \r  Aj"\rk"\vAH\r -\0!A!A!@ -\0"\nE@  \tj-\0\0\f\v \nÀ À)\vAÿq"\bAk\0\v@@ \bAG@ \bAk\v AvAq \n-\0 \bAtr(°ô vAq\r\f\v \vAF\r\f\v \vAI\r\f\v@@@@  "Aj"k"AH\r -\0!@ -\0"\vE@  \tj-\0\0\f\v \vÀ À)\vAÿqAk\0\v\v AvAq \v-\0 \bAtr(°ô vAqE\r\vA\0!\v@@@@ Aj!@@@@@@@ \f 6\fA!  k"\nAH\r\' -\0! !A\0!@@@ -\0\0"\rE@  \tj-\0\0\f\v \rÀ À)\vAÿqAk\b\b\t\b\0\v AvAq \r-\0 ƒ\bAtr(°ô vAqE\r\v Aj!\f\v\v \nAF\r$\f\v \nAI\r#\f\v \vE\r\v !\f\v \f Aj"6\f  k"\bAH\r" -\0!A!\v@ -\0"\nE@  \tj-\0\0\f\v \nÀ À)\vAÿq"Ak\0\v@@ AG@ Ak\v AvAq \n-\0 \bAtr(°ô vAq\r\f\v \bAF\r!\f\v \bAI\r \f\v@  Aj"kAH\r" -\0! ,\0"E@  \tj-\0\0\f\v  À)\v"AG@ AK\r !A tA€Œ€qE\r\f\v\v \f 6\f !\v@  Aj"kAH\r! -\0! ,\0"E@  \tj-\0\0\f\v  À)\v"AþqA\fG@ AK\r !A tA€Œ€qE\r\f\v\v Aj!@ \f 6\f@@@  k"\bAH\r$ -\0! ,\0\0"E@  \tj-\0\0\f\v  À)\v" F\rA\0!@@@ \t\0\v \bAF\r$ Aj!\f\v \bAI\r# Aj!\f\v \0 Aj  \fA\fj"A\0J@ \f(\f!\f\v\v "\r# \f(\f!\f\v Aj!\f\v\v \f Aj"6\f  kAH\r -\0! ,\0"E@  \tj-\0\0\f\v  À)\v!\b ! !A\0!@@ \bAÿq"A\tk\t\0\v AF\r\0\f\v@@  "Aj"k"\bAH\r" -\0!A\0!\v@ -\0"\nE@  \tj-\0\0\f\v \nÀ À)\vAÿqAk\0\v\v \f 6\f -\0"AvAq \n-\0 \bAtr(°ô vAq\r\f\v\v \bAF\r\f\v \bAI\r\f\v Aj!A!\f\v \f Aj"\x006\f  \0kAH\r \0-\0\0@ \0!\f\v Aj \0 -\0A>F"\0!AA\0 \0!\f\v AF\r\f\v AI\r\f\vA!  Aj6\0\f\v  Aj"\0kAH\r@ -\0E@ -\0A>F\r\v  \x006\0A\0!\f\vA!  Aj6\0\f\v  j!\f\0\v\0\v \0 Aj  !\f\v  Aj"kAH@A}!\f\v  Aj  ,\0\0"E@ \0 -\0j-\0H\f\v  ,\0)\vA\nF6\0A!\f\v  Aj6\0A!\f\vA{!  Aj"kAH\r -\0\0\r -\0AÝ\0G\r  Aj"kAH\r -\0\r -\0A>G\r  6\0A\0!\f\v  kAH\r Aj!\f\v  kAH\r Aj!\f\v  kAH\r\r Aj!\f\v  6\0\f\v Aj!\v \0AÈ\0j!@@  "\0k"AH\r\0 -\0!@@@@ ,\0\0"E@  j-\0\0\f\v  À)\vAÿq\v\0\v AF\r \0Aj!\f\v AM\r \0Aj!\f\v AI\r \0Aj! \0-\0\r \0-\0AÝ\0G\r AI\r \0-\0\r \0-\0A>G\r  \0Aj6\0A\0!\f\v \0Aj!\f\v\v  \x006\0A!\f\f\vA\0!\v  6\0 !\f\n\v  \r6\0A\0!\f\t\v  6\0A\0!\f\b\vA!\f\v AI\r\f\v AF\r\v  6\0\f\v !\v  6\0\f\vA~!\f\v  \t6\0A\0!\v \fAj$\0 \vŽ  O@A|\v@@@@@@@@@@  k"Aq@ A~q"E\r  j!\vA~!A!@@@@@@@@@@@@@@@@@@@@@@ -\0\0"\bE@ \0 -\0"j-\0H\f\v \bÀ ,\0")\vAÿqAk#\b\f\0\r\t\n\v\vA\f \0 Aj  µ\b\vA\r \0 Aj  µ\b\vA!  Aj"kAH\r@@@@@ ,\0"E@ \0 -\0j-\0H\f\v  ,\0)\vAÿq"Ak\n\0\v AkAI\r\0 AG\r\v  6\0A\v  Aj"kAH\r@@@@ ,\0\0"E@ \0 -\0j-\0H\f\v  ,\0)\vAÿqAk\b\0\v \0 Aj  ´\b\v  Aj6\0A!\v \0AÈ\0j!@@  "Aj"k"AH\r -\0!\0@ ,\0"\bE@ \0 j-\0\0\f\v \b \0À)\vAÿq"\0Ak\n!\0\v\v AI\r -\0!\0 ,\0"E@ \0 j-\0\0\f\v  \0À)\vAÿq"\0AK\rA \0tA€Œ€q\r\f\v \0A\tkAI\r\v  6\0\f\v \0 Aj  ³\b\v  6\0\f\v Aj G\r\0  6\0Aq\v \0AÈ\0j!@@  "\0Aj"kAH\r\0 \0-\0!@@ \0,\0"E@  j-\0\0\f\v  À)\vAÿq"A\tk\0\v AF\r\f\v \0Aj G\r\v\v  6\0A\v \0 Aj  ²\b\v  Aj6\0A&\v  Aj6\0A\v  Aj"\0k"AH@Af\v@ -\0\r\0 -\0AÝ\0G\r\0 AI\r -\0\r\0 -\0A>G\r\0  Aj6\0A"\v  \x006\0A\v  Aj6\0A\v  Aj"kAH@Ah\v@@@@@@ ,\0"E@ \0 -\0j-\0H\f\v  ,\0)\vAÿq"\0A k\0\v \0A\tk\v  Aj6\0A$\v  Aj6\0A#\v  Aj6\0A%\v \0AF\r\v  6\0\f\v  Aj6\0A\v  Aj6\0A\v  Aj"k"AH\r\b@ -\0\0"\bE@ \0 -\0"j-\0H\f\v \bÀ ,\0")\vAÿq"Ak\r\f\0\vA\0!@@@ Ak\0\v AG\r AvAq \b-\0 \bAtr(°ô vAqE\r\v \0AÈ\0j!\b@  "\0Aj"k"AH@Al\v \0-\0!A!@@@ \0-\0"\0E@  \bj-\0\0\f\v \0À À)\vAÿqAk\0\vA\0! AF\r\f\vA\0! AI\r\f\v AvAq \0-\0 ƒ\bAtr(°ô vAq\r\0\v\vA\0!\f\v  kAH\r\f\t\v  kAN\r\b\f\v  kAN\r\f\vA t" AàqAvAt" \b-\0 \bAtr(°ôq\rA! \b-\0 ƒ\bAt r(°ô qE\r\f\vA!\v \0AÈ\0j! Aj!\0@@@@@@ A)F!\t AG!@  \0"k"AH\r -\0!\0@@@@@@ -\0\0"\bE@ \0 j-\0\0\f\v \bÀ \0À)\vAÿqAk\v\0\n\t\v \0AvAq \b-\0 ƒ\bAtr(°ô \0vAqE\r\v Aj!\0\f\v AF\r\f\r\v AI\r\f\f\v  6\0 \v Aj!\0 \t@A!\f\v \r\0\v  \0k"\bAH\r\b -\0!A!@@@@ -\0"\tE@  j-\0\0\f\v \tÀ À)\vAÿq"Ak\b\0\v Ak\n\v AvAq \t-\0 ƒ\bAtr(°ô vAqE\r\t\v Aj!\0A)!\f\v\v \bAF\r\f\f\v \bAI\r\v\f\v AF\r  Aj6\0A \v AF\r  Aj6\0A\v AF\r  Aj6\0A\vA\0 k!\v \v  \x006\0\f\t\vA\v  6\0\f\v  6\0\f\vA\0! AI\r\f\vA\0! AG\r\vA~\v  6\0 \v  6\0A\v  6\0A\vA\0\vX@@ (\0"\0 O\r  (\0"K@  \0Aj6\0 \0-\0\0!\0  (\0"Aj6\0  \0:\0\0\f\v\v  G\r\0A\vA\0\v’ (\0"  kA~q"\0j!  (\0"k \0H@ A~A\0 Ak-\0\0AøqAØF"j!\v@@  O\r  I@ /\0\0!\b  Aj"\x006\0  \b;\0  Aj"6\0 \0!\f\v\v  G\r\0A!\v \v¦ (\0"\0  \0kA~qj!\b@A\0 \0 \bO\r \0-\0\0"À!@@@@@ \0-\0"\b\0\v A\0H\r\0 (\0" F\r  Aj6\0  :\0\0\f\vA  (\0"kAH\r  Aj6\0  AvAq AtrAÀr:\0\0  (\0"Aj6\0  A?qA€r:\0\0\f\v AØkAO@  (\0"kAH\r  Aj6\0  AvAàr:\0\0  (\0"Aj6\0  AtAA\0 -\0\0"\0Aç\0F \0Aì\0F\v -\0\r -\0\0Aá\0G\r -\0\r -\0Aí\0G\r -\0\r -\0Að\0G\rA&\v -\0\r\0 -\0\0"\0Aá\0G@ \0Añ\0G\r -\0\r -\0Aõ\0G\r -\0\r -\0Aï\0G\r -\0\r -\0Aô\0G\rA"\v -\0\r\0 -\0Að\0G\r\0 -\0\r\0 -\0Aï\0G\r\0 -\0\r\0 -\0Aó\0G\r\0A\'\vA\0\v Aj!\0@@@ -\0\r\0 \0-\0\0Aø\0G\r\0 Aj!\0A\0!@@ \0-\0\r\0 \0,\0\0"Aÿq"A;F\r@@@ A0k7\0\0\0\0\0\0\0\0\0\0\v A0k Atr\f\v At jA7k\f\v At jA×\0k\v"AÿÿÃ\0J\r\v \0Aj!\0\f\0\v\0\vA\0!@AO! \0-\0E@ \0,\0\0"A;F\r A0k!\v \0Aj!\0  A\nlj"A€€Ä\0H\r\0\v\vA\v ¹\vØ\n \0AÈ\0j!\nA!@ !\0 "-\0"À!\v ,\0"\fE@  \nj-\0\0\f\v \f \v)\v!\r Aj!\t Aj"!@@@@@@@@@@@@ \rAÿqAk\f\0\f\b\b\t\f\f\f\t\f\f\f\f\f\f\f\f\f\v \0\r\vA!  L\r\v  Atj"\0A:\0\f \0 6\0\f\v\v \t! \0\r\nA!  L\r\n  Atj"\0A:\0\f \0 6\0\f\n\v@ \0\r\0A!  L\r\0  Atj"\0A:\0\f \0 6\0\v Aj!\f\t\v \0\r\bA!  L\r\b  Atj"\0A:\0\f \0 6\0\f\b\v \0AG@A\f!\bA!  L\r\b  Atj Aj6\f\b\vA! \bA\fG\r  J@  Atj 6\b\v Aj!A\f!\b\f\v \0AG@A\r!\bA!  L\r  Atj Aj6\f\vA! \bA\rG\r  J@  Atj 6\b\v Aj!A\r!\b\f\v  L\r  AtjA\0:\0\f\f\vA\0!@ \0Ak\0\vA!  L\r  Atj"\t-\0\fE\r@ \f\r\0  \t(F \vA Gr\r\0 -\0"À!\0 ,\0"E@ \0A F\r  \nj-\0\0\f\v  \0)\v ! \bG\r\v \tA\0:\0\f !\f\vA\0!@ \0Ak\0\vA!  L\r  AtjA\0:\0\f\f\vA! \0AF\r \v \0!\f\vA\0!\f\0\v\0\vZ \0AÈ\0j!@ -\0\0!\0 ,\0"E@ \0 j-\0\0\f\v  \0À)\vAÿq"\0AKA \0tA€Œ€qErE@ Aj!\f\v\v \vl \0AÈ\0j! !\0@ \0-\0\0! \0,\0"E@  j-\0\0\f\v  À)\vAkAÿq"AOA‡€ø\v vAqErE@ \0 At(ì¦\bj!\0\f\v\v \0 k\vL@@ -\0\0"@A\0!\0  kAH\r -\0\r -\0\0 G\r Aj! Aj!\f\v\v  F!\0\v \0\vÓ  O@A|\v  kAH@A\v \0AÈ\0j! !@@  kAH\r -\0\0! ,\0"E@  j-\0\0\f\v  À)\v!A!@@@@@@@@ Aÿq"Ak\b\0\vA!\f\v  G\r \0 Aj  ‘\v  G\r  Aj6\0A\v  G\r  Aj"kAH@A}\v -\0!\0  Aj  ,\0"E@ \0 j-\0\0\f\v  \0À)\vA\nF6\0A\v AF\r\vA!\v  j!\f\v\v  G\r\0 \0 Aj  ¹\b"\0A\0 \0AG\v  6\0A\vÕ  O@A|\v  kAH@A\v \0AÈ\0j! !@@  kAH\r -\0\0! ,\0"E@  j-\0\0\f\v  À)\v!A!@@@@@@@@@ Aÿq"Ak\t\0\vA!\f\v  G\r\b \0 Aj  ‘\v  6\0A\0\v  G\r  Aj6\0A\v  G\r  Aj"kAH@A}\v -\0!\0  Aj  ,\0"E@ \0 j-\0\0\f\v  \0À)\vA\nF6\0A\v AF\r\vA!\v  j!\f\v\v  G\r\0  Aj6\0A\'\v  6\0A\vó   k"A~qj  Aq! \0AÈ\0j!@@  "k"AH\r -\0\0!\0 ,\0"E@ \0 j-\0\0\f\v  \0À)\v!A\0!\0@@@@@@@@ Aÿq\t\0\v AF\r Aj!\f\v AI\r Aj!\f\v  Aj"kAH\r -\0\r -\0\0A!G\r  Aj"kAH\r -\0\r -\0\0AÛ\0G\r Aj! Aj!\f\v  Aj"kAH\r -\0\r -\0\0AÝ\0G\r  Aj"kAH\r -\0\r -\0\0A>G\r Aj! \rA*!\0 !\v  6\0 \0\v Ak!\f\v Aj!\f\v\vA~\vA\v˜  O@A|\v@@@@@@@@@@@@  k"Aq@ A~q"E\r  j!\v@@ ,\0"E@ \0 -\0\0j-\0H\f\v  ,\0\0)\vAÿq\v\f\f\0\f\t\vA!  Aj"kAH\r\f -\0\r -\0\0AÝ\0G\r  AjkAH\r\f -\0\r -\0A>G\r Aj!A(!\f\v\v  Aj"kAN\r\vA\v Aj  ,\0"E@ \0 -\0\0j-\0H\f\v  ,\0\0)\vA\nF\f\v  kAH\r\t Aj!\f\v  kAH\r\b Aj!\f\v  kAH\r Aj!\f\v Aj!\v \0AÈ\0j!A!@  k"AH\r -\0\0!\0 ,\0"E@ \0 j-\0\0\f\v  \0À)\v!A!\0@ Aÿq"A\nK\r\0@ AG@ AF\rA tA“q\r\f\vA!\0 AF\r\f\vA!\0 AI\r\v \0 j!\f\0\v\0\v Aj\v!A!\f\v !\v  6\0\v \vA~\vŽ\n#\0Ak"\v$\0@  O@A|!\f\v@@@@@@@@  k"Aq@ A~q"E\r  j!\v@@@@@@@@@@@@@@@ ,\0"E@ \0 -\0\0j-\0H\f\v  ,\0\0)\vAÿq\v\b\b\0\b\t\vA!  Aj"\tk"AH\r@@@@@@@ -\0"E@ \0 -\0"j-\0H\f\v À ,\0")\vAÿq"\bAk\0\v \bAG\r AvAq -\0 \bAtr(°ô vAq\r\f\v AG\r\f\v AO\r\f\v  Aj"kAH\r@ ,\0"E@ \0 -\0j-\0H\f\v  ,\0)\vAÿq"AG@ AG\r \0 Aj  »\b!\f\v  Aj"kA\fH\r Aj!A\0!@ AF@A\b!\f\vA\0! -\0\r -\0\0 -\0À‘\bG\r Aj! Aj!\f\0\v\0\v  6\0A\0!\f\v \0 Aj  º\b!\f\v  Aj"k"AH\rA\0!@ -\0"\bE@ \0 -\0\0"j-\0H\f\v \bÀ ,\0\0")\vAÿq"Ak\0\v@@ Ak\0\v AG\r AvAq \b-\0 \bAtr(°ô vAqE\r\v \0AÈ\0j!@@@@  "\0Aj"k"\bAH\r \0-\0!@@ \0-\0"\tE@  j-\0\0\f\v \tÀ À)\vAÿqAk\0\v AvAq \t-\0 ƒ\bAtr(°ô vAq\r\f\v\v \bAF\r\f\v \bAI\r\f\v@  "Aj"kAH\r -\0!\0@@ ,\0"E@ \0 j-\0\0\f\v  \0À)\vAÿq"\0A\tk\0\v \0AF\r\f\v\v Aj\f\v \0Aj\v!A!\f\v \0AÈ\0j!\t Aj!A\0!@  k"\nAH\r -\0\0!A!@@@@@@@@ -\0"\fE@  \tj-\0\0\f\v \fÀ À)\vAÿqAk\0\v AvAq \f-\0 ƒ\bAtr(°ô vAq\r\f\v \nAF\r\f\v \nAI\r\f\v \r  Aj"\rk"\nAH\r -\0!A!A!@ -\0"\fE@  \tj-\0\0\f\v \fÀ À)\vAÿq"\bAk\0\v@@ \bAG@ \bAk\v AvAq \f-\0 \bAtr(°ô vAq\r\f\v \nAF\r\f\v \nAI\r\f\v@@@@  "Aj"k"AH\r -\0!@ -\0"\nE@  \tj-\0\0\f\v \nÀ À)\vAÿqAk\0\v\v AvAq \n-\0 \bAtr(°ô vAqE\r\vA\0!\n@@@@ Aj!@@@@@@@ \v 6\fA!  k"\fAH\r\' -\0\0! !A\0!@@@ -\0"\rE@  \tj-\0\0\f\v \rÀ À)\vAÿqAk\b\b\t\b\0\v AvAq \r-\0 ƒ\bAtr(°ô vAqE\r\v Aj!\f\v\v \fAF\r$\f\v \fAI\r#\f\v \nE\r\v !\f\v \v Aj"6\f  k"\bAH\r" -\0!A!\n@ -\0"\fE@  \tj-\0\0\f\v \fÀ À)\vAÿq"Ak\0\v@@ AG@ Ak\v AvAq \f-\0 \bAtr(°ô vAq\r\f\v \bAF\r!\f\v \bAI\r \f\v@  Aj"kAH\r" -\0! ,\0"E@  \tj-\0\0\f\v  À)\v"AG@ AK\r !A tA€Œ€qE\r\f\v\v \v 6\f !\v@  Aj"kAH\r! -\0! ,\0"E@  \tj-\0\0\f\v  À)\v"AþqA\fG@ AK\r !A tA€Œ€qE\r\f\v\v Aj!@ \v 6\f@@@  k"\bAH\r$ -\0\0! ,\0"E@  \tj-\0\0\f\v  À)\v" F\rA\0!@@@ \t\0\v \bAF\r$ Aj!\f\v \bAI\r# Aj!\f\v \0 Aj  \vA\fj‘"A\0J@ \v(\f!\f\v\v "\r# \v(\f!\f\v Aj!\f\v\v \v Aj"6\f  kAH\r -\0! ,\0"E@  \tj-\0\0\f\v  À)\v!\b ! !A\0!@@ \bAÿq"A\tk\t\0\v AF\r\0\f\v@@  "Aj"k"\bAH\r" -\0! ,\0"E@  \tj-\0\0\f\v  À)\v!A\0!\nA\0!@ AÿqAk\0\v\v \v 6\f -\0"AvAq -\0-\0 \bAtr(°ô vAq\r\f\v\v \bAF\r\f\v \bAI\r\f\v Aj!A!\f\v \v Aj"\x006\f  \0kAH\r -\0@ \0!\f\v Aj \0 -\0A>F"\0!AA\0 \0!\f\v AF\r\f\v AI\r\f\vA!  Aj6\0\f\v  Aj"\0kAH\r@ -\0E@ -\0A>F\r\v  \x006\0A\0!\f\vA!  Aj6\0\f\v  j!\f\0\v\0\v \0 Aj  ‘!\f\v  Aj"kAH@A}!\f\v  Aj  ,\0"E@ \0 -\0\0j-\0H\f\v  ,\0\0)\vA\nF6\0A!\f\v  Aj6\0A!\f\vA{!  Aj"kAH\r -\0\r -\0\0AÝ\0G\r  Aj"kAH\r -\0\r -\0A>G\r  6\0A\0!\f\v  kAH\r Aj!\f\v  kAH\r Aj!\f\v  kAH\r\r Aj!\f\v  6\0\f\v Aj!\v \0AÈ\0j!@@  "\0k"AH\r\0 -\0\0!@@@@ ,\0"E@  j-\0\0\f\v  À)\vAÿq\v\0\v AF\r \0Aj!\f\v AM\r \0Aj!\f\v AI\r \0Aj! \0-\0\r -\0\0AÝ\0G\r AI\r \0-\0\r \0-\0A>G\r  \0Aj6\0A\0!\f\v \0Aj!\f\v\v  \x006\0A!\f\f\vA\0!\v  6\0 !\f\n\v  \r6\0A\0!\f\t\v  6\0A\0!\f\b\vA!\f\v AI\r\f\v AF\r\v  6\0\f\v !\v  6\0\f\vA~!\f\v  \t6\0A\0!\v \vAj$\0 \vŽ  O@A|\v@@@@@@@@@@  k"Aq@ A~q"E\r  j!\vA~!A!@@@@@@@@@@@@@@@@@@@@@@ -\0"\bE@ \0 -\0\0"j-\0H\f\v \bÀ ,\0\0")\vAÿqAk#\b\f\0\r\t\n\v\vA\f \0 Aj  ¼\b\vA\r \0 Aj  ¼\b\vA!  Aj"kAH\r@@@@@ ,\0"E@ \0 -\0j-\0H\f\v  ,\0)\vAÿq"Ak\n\0\v AkAI\r\0 AG\r\v  6\0A\v  Aj"kAH\r@@@@ ,\0"E@ \0 -\0\0j-\0H\f\v  ,\0\0)\vAÿqAk\b\0\v \0 Aj  »\b\v  Aj6\0A!\v \0AÈ\0j!@@  "Aj"k"AH\r -\0!\0@ ,\0"\bE@ \0 j-\0\0\f\v \b \0À)\vAÿq"\0Ak\n!\0\v\v AI\r -\0!\0 ,\0"E@ \0 j-\0\0\f\v  \0À)\vAÿq"\0AK\rA \0tA€Œ€q\r\f\v \0A\tkAI\r\v  6\0\f\v \0 Aj  º\b\v  6\0\f\v Aj G\r\0  6\0Aq\v \0AÈ\0j!@@  "\0Aj"kAH\r\0 \0-\0!@@ \0,\0"E@  j-\0\0\f\v  À)\vAÿq"A\tk\0\v AF\r\f\v \0Aj G\r\v\v  6\0A\v \0 Aj  ¹\b\v  Aj6\0A&\v  Aj6\0A\v  Aj"\0k"AH@Af\v@ -\0\r\0 -\0AÝ\0G\r\0 AI\r -\0\r\0 -\0A>G\r\0  Aj6\0A"\v  \x006\0A\v  Aj6\0A\v  Aj"kAH@Ah\v@@@@@@ ,\0"E@ \0 -\0j-\0H\f\v  ,\0)\vAÿq"\0A k\0\v \0A\tk\v  Aj6\0A$\v  Aj6\0A#\v  Aj6\0A%\v \0AF\r\v  6\0\f\v  Aj6\0A\v  Aj6\0A\v  Aj"k"AH\r\b@ -\0"\bE@ \0 -\0\0"j-\0H\f\v \bÀ ,\0\0")\vAÿq"Ak\r\f\0\vA\0!@@@ Ak\0\v AG\r AvAq \b-\0 \bAtr(°ô vAqE\r\v \0AÈ\0j!\b@  "\0Aj"k"AH@Al\v \0-\0!A!@@@ \0-\0"\0E@  \bj-\0\0\f\v \0À À)\vAÿqAk\0\vA\0! AF\r\f\vA\0! AI\r\f\v AvAq \0-\0 ƒ\bAtr(°ô vAq\r\0\v\vA\0!\f\v  kAH\r\f\t\v  kAN\r\b\f\v  kAN\r\f\vA t" AàqAvAt" \b-\0 \bAtr(°ôq\rA! \b-\0 ƒ\bAt r(°ô qE\r\f\vA!\v \0AÈ\0j! Aj!\0@@@@@@ A)F!\t AG!@  \0"k"AH\r -\0\0!\0@@@@@@ -\0"\bE@ \0 j-\0\0\f\v \bÀ \0À)\vAÿqAk\v\0\n\t\v \0AvAq \b-\0 ƒ\bAtr(°ô \0vAqE\r\v Aj!\0\f\v AF\r\f\r\v AI\r\f\f\v  6\0 \v Aj!\0 \t@A!\f\v \r\0\v  \0k"\bAH\r\b -\0!A!@@@@ -\0"\tE@  j-\0\0\f\v \tÀ À)\vAÿq"Ak\b\0\v Ak\n\v AvAq \t-\0 ƒ\bAtr(°ô vAqE\r\t\v Aj!\0A)!\f\v\v \bAF\r\f\f\v \bAI\r\v\f\v AF\r  Aj6\0A \v AF\r  Aj6\0A\v AF\r  Aj6\0A\vA\0 k!\v \v  \x006\0\f\t\vA\v  6\0\f\v  6\0\f\vA\0! AI\r\f\vA\0! AG\r\vA~\v  6\0 \v  6\0A\v  6\0A\vA\0\v`A!\0@ ,\0A¿J\r\0 ,\0A¿J\r\0 -\0! -\0\0"AðF@ A@kAÿqAÐI\v ÀA\0N\r\0 AA¿ AôFK!\0\v \0\v›A!@ ,\0"A\0N\r\0@@@ -\0\0"AïF@A¿!\0 -\0"A¿G\r A½M\r\f\v A¿K\r -\0!\0 AàG\r \0A@kAÿqAàI\v !\0 A¿K\r\v \0ÀA\0N\r\v \0AÿqAŸA¿ AíFK!\v \v*\0A!\0@ -\0\0AÂI\r\0 ,\0"A\0N\r\0 A¿K!\0\v \0\vF\0A -\0"\0t \0AvAq -\0"\0AvAq -\0\0AtAðqr-\0 \bAt \0AtAqrr(°ôq\v9\0A -\0"\0t \0AvAq -\0\0"\0AvAq-\0 \bAt \0AtAqrr(°ôq\vF\0A -\0"\0t \0AvAq -\0"\0AvAq -\0\0AtAðqr-\0 ƒ\bAt \0AtAqrr(°ôq\v9\0A -\0"\0t \0AvAq -\0\0"\0AvAq-\0 ƒ\bAt \0AtAqrr(°ôq\væ \0AÈ\0j! (\0!\0 (\0!@@  M \0 OrE@@@@@  \0-\0\0"j-\0\0Ak\0\v  \0kAH\r  \0-\0A?q AqAtr;\0 \0Aj!\0 Aj!\f\v  \0kAH\r  \0-\0A?q \0-\0A?qAt A\ftrr;\0 \0Aj!\0 Aj!\f\vA  kAH\r  \0kAH\r \0-\0!\b  \0-\0A?qAt"\t \0-\0A?qrA€¸r;  AqAt \bA?qA\ftr \trA€€üjA\nvA€°r;\0 \0Aj!\0 Aj!\f\v  À;\0 Aj! \0Aj!\0\f\v\vAA\0 \0 I\f\vA\v  \x006\0  6\0\v³#\0Ak"\0$\0 \0 6\f  (\0"k"\n  (\0"\vk"\tJ@ \0  \tj"6\f\v ! \0(\f!@@@@@ " M\r\0@ Ak"-\0\0"\bAøqAðF@ AkA{M\r\f\v \bAðqAàF@ AkA|K\r Aj!\f\v \bAàqAÀF@ AkA}K\r Aj!\f\v \bÀA\0N\r\f\v Aj!\v \0 6\f\f\vA\0!\v Aj!\f\v\v \0(\f" k"@ \v  ü\n\0\0\v  (\0 j6\0  (\0 j6\0 \0Aj$\0A  K \t \nH\v[ (\0!\0@@ \0 O\r  (\0"K@  \0Aj"6\0 \0-\0\0!\0  Aj6\0  \0;\0 !\0\f\v\v  G\r\0A\vA\0\v´@  (\0"F@A\0\v (\0!\0@@ ,\0\0"A\0H@  \0kAH\r  \0Aj6\0 \0 AÀqAvAÀr:\0\0  (\0"\0Aj6\0 \0 A¿q:\0\0  (\0Aj6\0\f\v \0 G\r\vA\v  Aj6\0 -\0\0!\0  (\0"Aj6\0  \0:\0\0\f\0\v\0\vš \0AÈ\0j! Ak!A!@@  Aj"kA\0L\r@@  -\0\0"\0j-\0\0A\tk"AK\r\0A t"\bAó—?q\r \0À! \bA€À\bqE@ A\fG\r A\tG\r\f\v A\0N\r\v \0A$F \0AÀ\0Fr\r\v\v  6\0A\0!\v \vÅ\0@@@@  kAk\0\v -\0Aô\0G\rAA\0 -\0\0"\0Aç\0F \0Aì\0F\v -\0\0Aá\0G\r -\0Aí\0G\r -\0Að\0G\rA&\v -\0\0"\0Aá\0G@ \0Añ\0G\r -\0Aõ\0G\r -\0Aï\0G\r -\0Aô\0G\rA"\v -\0Að\0G\r\0 -\0Aï\0G\r\0 -\0Aó\0G\r\0A\'\vA\0\v€@@ -\0"\0Aø\0G@ Aj!A\0!@ \0AÿqA;F\r \0À A\nljA0k"AÿÿÃ\0J\r -\0!\0 Aj!\f\0\v\0\v Aj!\0A\0!@ \0-\0\0"À!@@@@ A0k7\0\0\0\0\0\0\0\0\0\0\v A0k Atr\f\v At jA7k\f\v At jA×\0k\v"AÿÿÃ\0J\r\v \0Aj!\0\f\0\v\0\v ¹\vA\v• \0AÈ\0j!\bA!\0@ \0! "Aj!@@@@@@@@@@@ \b -\0"\tj-\0\0Ak\v\0\v\b\b\t\v\v\v\t\v\v\v\v\v\v\v\v\v\v@ \r\0A!\0  L\r\0  Atj"A:\0\f  6\0\v Aj!\f\n\v@ \r\0A!\0  L\r\0  Atj"A:\0\f  6\0\v Aj!\f\t\v@ \r\0A!\0  L\r\0  Atj"A:\0\f  6\0\v Aj!\f\b\v \rA!\0  L\r  Atj"A:\0\f  6\0\f\v AG@A\f!A!\0  L\r  Atj Aj6\f\vA!\0 A\fG\r  J@  Atj 6\b\v Aj!A\f!A\0!\0\f\v AG@A\r!A!\0  L\r  Atj Aj6\f\vA!\0 A\rG\r  J@  Atj 6\b\v Aj!A\r!A\0!\0\f\v  L\r  AtjA\0:\0\f\f\vA\0!\0@ Ak\0\vA!\0  L\r  Atj"-\0\fE\r@ \tA G\r\0  (F\r\0 -\0"A F\r\0   \bj-\0\0G\r\v A\0:\0\f\f\vA\0!\0@ Ak\0\vA!\0  L\r  AtjA\0:\0\f\f\vA!\0 AF\r \v !\0\f\0\v\0\v; \0AÈ\0j!\0@ \0 -\0\0j-\0\0"AKA tA€Œ€qErE@ Aj!\f\v\v \vQ \0AÈ\0j! !\0@  \0-\0\0j-\0\0AkAÿq"AOA‡€ø\v vAqErE@ \0 At(ˆ¦\bj!\0\f\v\v \0 k\vE@@ -\0\0"@A\0!\0  kA\0L\r -\0\0 G\r Aj! Aj!\f\v\v  F!\0\v \0\vž  O@A|\v  kA\0L@A\v \0AÈ\0j! !@@  kA\0L\rA!@@@@@@@@@  -\0\0j-\0\0"Ak\b\0\vA!\f\vA!\f\v  G\r \0 Aj  “\v  G\r  Aj6\0A\v  G\r  Aj"\0kA\0L@A}\v  Aj \0  -\0j-\0\0A\nF6\0A\v AF\r\vA!\v  j!\f\v\v  G\r\0 \0 Aj  ¿\b"\0A\0 \0AG\v  6\0A\vŸ  O@A|\v  kA\0L@A\v \0AÈ\0j! !@@  kA\0L\r\0A!@@@@@@@@@  -\0\0j-\0\0Ak\b\0\vA!\f\vA!\f\v  G\r \0 Aj  “\v  6\0A\0\v  G\r  Aj6\0A\v  G\r  Aj"\0kA\0L@A}\v  Aj \0  -\0j-\0\0A\nF6\0A\v  G\r  Aj6\0A\'\vA!\v  j!\f\v\v  6\0A\vÙ \0AÈ\0j!@@  "k"A\0L\r@@@@@@@@@  -\0\0j-\0\0\t\0\v AF\r \0  \0(à\0\0\r Aj!\f\b\v AI\r \0  \0(ä\0\0\r Aj!\f\v AI\r \0  \0(è\0\0\r Aj!\f\v  Aj"kA\0L\r -\0\0A!G\r  Aj"kA\0L\r -\0\0AÛ\0G\r Aj! Aj!\f\v  Aj"kA\0L\r -\0\0AÝ\0G\r  Aj"kA\0L\r -\0\0A>G\r Aj! \rA*! !\v  6\0 \v Ak!\f\v Aj!\f\v\vA~\vA\vá  O@A|\v@@@@@@@@@@@@ \0AÈ\0j" -\0\0j-\0\0\v\n\n\0\n\vA!  Aj"kA\0L\r\n -\0\0AÝ\0G\r  AjkA\0L\r\n -\0A>G\r Aj!A(!\f\t\v  Aj"\0kA\0J\rA\v Aj\f\v  kAH\r\b \0  \0(à\0\0\r Aj!\f\v  kAH\r \0  \0(ä\0\0\r Aj!\f\v  kAH\r \0  \0(è\0\0\r Aj!\f\v Aj!\v !@A!  k"A\0L\rA!@@@@  -\0\0j-\0\0\v\0\v AF\r \0  \0(à\0\0\rA!\f\v AI\r \0  \0(ä\0\0\rA!\f\v AI\r \0  \0(è\0\0\rA!\v  j!\f\0\v\0\v Aj \0  -\0j-\0\0A\nF\v!A!\v  6\0\v \vA~\v‹#\0Ak"\t$\0@  O@A|!\f\v@@@@@@@@@@@@@@@@@@@ \0AÈ\0j"\b -\0\0j-\0\0\v\0\v\n\t\vA!A!  Aj"k"A\0L\r@@@@ \b -\0\0j-\0\0Ak\0\v AF\r \0  \0(à\0\0\r \0  \0(Ô\0\0E\rA!\f\v AI\r \0  \0(ä\0\0\r \0  \0(Ø\0\0E\rA!\f\v AI\r \0  \0(è\0\0\r \0  \0(Ü\0\0E\rA!\f\v  Aj"kA\0L\r \b -\0j-\0\0"AG@ AG\r \0 Aj  Á\b!\f\vA!  Aj"\0kAH\r A\tj!A\0!@@ AFA\b \0-\0\0 -\0À‘\bF\r \0!A\0\v!  6\0\f\v \0Aj!\0 Aj!\f\0\v\0\v Aj!\f\v  kAH\r\r \0  \0(è\0\0\r Aj!\f\v  kAH\r\f \0  \0(ä\0\0\r Aj!\f\v  kAH\r\v \0  \0(à\0\0E\r\v  6\0\f\r\v Aj!\f\vA{!  Aj"kA\0L\r\v -\0\0AÝ\0G\r\0  Aj"kA\0L\r\v -\0A>G\r\0  6\0A\0!\f\v\v@@  "k"A\0L\r\0@@@@@ \b -\0\0j-\0\0\v\0\v AF\r \0  \0(à\0\0\r Aj!\f\v AI\r \0  \0(ä\0\0\r Aj!\f\v AI\r \0  \0(è\0\0\r Aj!\f\v AF\r Aj! -\0AÝ\0G\r AI\r -\0A>G\r  Aj6\0A\0!\f\r\v Aj!\f\v\v  6\0A!\f\n\v  Aj6\0A!\f\t\v  Aj"\0kA\0L@A}!\f\t\v  Aj \0 \b -\0j-\0\0A\nF6\0A!\f\b\v \0 Aj  “!\f\vA!  Aj"k"A\0L\rA\0!@@@@@@ \b -\0\0j-\0\0"Ak\0\v Ak\v AF\r \0  \0(à\0\0\r \0  \0(Ô\0\0E\rA!\f\v AI\r \0  \0(ä\0\0\r \0  \0(Ø\0\0E\rA!\f\v AI\r \0  \0(è\0\0\r \0  \0(Ü\0\0E\rA!\v  j!@  k"A\0L\rA!@@@@@@@ \b -\0\0j-\0\0Ak\0\t\t\t\t\t\t\t\t\t\t\t\v AF\r\f \0  \0(à\0\0\r\b \0  \0(È\0\0E\r\bA!\f\v AI\r\v \0  \0(ä\0\0\r \0  \0(Ì\0\0E\rA!\f\v AI\r\n \0  \0(è\0\0\r \0  \0(Ð\0\0E\rA!\f\v@  "\0Aj"kA\0L\r\f@ \b -\0\0j-\0\0"A\tk\0\v AF\r\0\v\f\v Aj\f\v \0Aj\v!A!\f\v  j!\f\0\v\0\v  6\0\f\v \0 Aj  À\b!\f\v  6\0A\0!\f\v  j!A\0!@  k"A\0L\rA!@@@@@@@@@@@@ \b -\0\0j-\0\0Ak\0\v\v\v\v\v\v AF\r\f \0  \0(à\0\0\r \0  \0(È\0\0E\rA!\f\n\v AI\r\v \0  \0(ä\0\0\r \0  \0(Ì\0\0E\r\f\b\v AI\r\n \0  \0(è\0\0\r \0  \0(Ð\0\0E\r\f\v \r  Aj"k"A\0L\r\fA!@@@@ \b -\0\0j-\0\0"\nAk\0\vA!@ \nAk\v\b\v\0\v\f\v AF\r\v \0  \0(à\0\0\r \0  \0(Ô\0\0\r\b\f\v AI\r\n \0  \0(ä\0\0\r \0  \0(Ø\0\0\r\f\v AI\r\t \0  \0(è\0\0\r \0  \0(Ü\0\0E\rA!\f\v@@@@  "Aj"k"A\0L\rA!@ \b -\0\0j-\0\0Ak\0\v\v AF\r\v \0  \0(à\0\0\r \0  \0(Ô\0\0E\rA!\f\v AI\r\n \0  \0(ä\0\0\r \0  \0(Ø\0\0E\rA!\f\v AI\r\t \0  \0(è\0\0\r \0  \0(Ü\0\0E\rA!\v  j!A\0!@@@ \t 6\fA!  k"\nA\0L\rA\0!@@@@@@@@@ \b "-\0\0j-\0\0Ak\v\v\v\v\b\v\v\v\v\v\v\0\0\0\0\0\v\v Aj!\f\b\v \nAF\r \0  \0(à\0\0\r \0  \0(È\0\0E\r Aj!\f\v \nAI\r \0  \0(ä\0\0\r \0  \0(Ì\0\0E\r Aj!\f\v \nAI\r \0  \0(è\0\0\r \0  \0(Ð\0\0E\r Aj!\f\v E\r\v\f\v \t Aj"6\f  k"A\0L\r@@@@ \b -\0\0j-\0\0"Ak\0\v@ Ak\0\b\0\b\v Aj!A!\f\v AF\r \0  \0(à\0\0\r \0  \0(Ô\0\0E\r Aj!A!\f\v AI\r \0  \0(ä\0\0\r \0  \0(Ø\0\0E\r Aj!A!\f\v AI\r\r \0  \0(è\0\0\r \0  \0(Ü\0\0E\r Aj!A!\f\v@  Aj"kA\0L\r@@ \b -\0\0j-\0\0"A\tk\0\v AF\r\f\v\v \t 6\f !\v@  Aj"kA\0L\r \b -\0\0j-\0\0"AþqA\fG@ AK\r !A tA€Œ€q\r\f\v\v Aj!@ \t 6\f@@@  k"A\0L\r \b -\0\0j-\0\0"\n F\r@@@@ \n\t\n\n\n\0\n\v AF\r \0  \0(à\0\0\r\t Aj!\f\v AI\r \0  \0(ä\0\0\r\b Aj!\f\v AI\r \0  \0(è\0\0\r Aj!\f\v \0 Aj  \tA\fj“"A\0J@ \t(\f!\f\v\v "\r \t(\f!\f\v Aj!\f\v\v \t Aj"6\f  kA\0L\r !@@@ \b "-\0\0j-\0\0"A\tk\t\0\v AF\r\0\f\v@@@@  "Aj"k"A\0L\r@ \b -\0\0j-\0\0Ak\b\b\b\b\b\b\b\b\b\0\b\0\b\v\v Aj!A\0!\f\v AF\r \0  \0(à\0\0\r \0  \0(Ô\0\0E\r Aj!A\0!\f\v AI\r\r \0  \0(ä\0\0\r \0  \0(Ø\0\0E\r Aj!A\0!\f\v AI\r\f \0  \0(è\0\0\r \0  \0(Ü\0\0E\r Aj!A\0!\f\v\v Aj!A!\f\v \t Aj"\x006\f  \0kA\0L\r\f Aj \0 -\0A>F"\0!AA\0 \0!\v  6\0 !\f\v\v  Aj6\0A!\f\n\v  Aj"\0kA\0L\r\t -\0A>G@  \x006\0A\0!\f\n\v  Aj6\0A!\f\t\v  6\0A\0!\f\b\v  6\0A\0!\f\vA!\f\vA!\v  j!\f\0\v\0\vA~!\f\v  6\0A\0!\f\vA!\v \tAj$\0 \v¡  O@A|\vA!A!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \0AÈ\0j" -\0\0j-\0\0Ak#\b\f\0\r\t\n\v\vA\f \0 Aj  Â\b\vA\r \0 Aj  Â\b\vA!  Aj"kA\0L\r@@@@@  -\0j-\0\0"Ak\n\0\v AkAI\r\0 AG\r\v  6\0A\v  Aj"kA\0L\r@@@@  -\0\0j-\0\0Ak\b\0\v \0 Aj  Á\b\v  Aj6\0A!\v@@  "\0Aj"k"A\0L\r@  -\0\0j-\0\0"Ak\n\0\v\v AF\r  \0-\0j-\0\0"\0AK\rA \0tA€Œ€q\r\f\v A\tkAI\r\v  6\0\f\v \0 Aj  À\b\v  6\0\f\v Aj G\r\0  6\0Aq\v@@  "\0Aj"kA\0L\r\0@@  -\0\0j-\0\0"A\tk\0\v AF\r\f\v \0Aj G\r\v\v  6\0A\v \0 Aj  ¿\b\v  Aj6\0A&\v  Aj6\0A\v  Aj"\0k"A\0L@Af\v@ -\0AÝ\0G\r\0 AF\r -\0A>G\r\0  Aj6\0A"\v  \x006\0A\v  Aj6\0A\v  Aj"\0kA\0L@Ah\v@@@@@@  -\0j-\0\0"A k\0\v A\tk\v  Aj6\0A$\v  Aj6\0A#\v  Aj6\0A%\v AF\r\v  \x006\0\f\v  Aj6\0A\v  Aj6\0A\v  Aj"k"A\0L\r\fA\0!@@@@@@  -\0\0j-\0\0"\bAk\0\v \bAk\v AF\r \0  \0(à\0\0\r \0  \0(Ô\0\0E\rA!\f\v AI\r\r \0  \0(ä\0\0\r \0  \0(Ø\0\0E\rA!\f\v AI\r\f \0  \0(è\0\0\r \0  \0(Ü\0\0E\rA!\v  j!@  k"A\0L@Al\vA!A!@@@@@  -\0\0j-\0\0Ak \0\v AF\r \0  \0(à\0\0\r \0  \0(È\0\0E\rA!\f\v AI\r \0  \0(ä\0\0\r \0  \0(Ì\0\0E\rA!\f\v AI\r \0  \0(è\0\0\r \0  \0(Ð\0\0E\rA!\v  j!\f\v\vA\0!\v  6\0 \v  kAH\r\t \0  \0(à\0\0\r\bA! \0  \0(Ô\0\0\r \0  \0(È\0\0E\r\b\f\v  kAH\r\b \0  \0(ä\0\0\rA! \0  \0(Ø\0\0\r \0  \0(Ì\0\0E\r\f\v  kAH\r \0  \0(è\0\0\rA! \0  \0(Ü\0\0E\r\v\f\v \0  \0(Ð\0\0E\r\f\vA!\f\vA!\v  j!@@@@@  "k"A\0L\r@@@@@@@  -\0\0j-\0\0Ak \n\n\n\n\t\n\n\n\n\0\0\0\0\0\n\n\n\b\n\v Aj!\f\v AF\r\f \0  \0(à\0\0\r\b \0  \0(È\0\0E\r\b Aj!\f\v AI\r\v \0  \0(ä\0\0\r \0  \0(Ì\0\0E\r Aj!\f\v AI\r\n \0  \0(è\0\0\r \0  \0(Ð\0\0E\r Aj!\f\v  6\0 \v Aj! A)G@ AG\r  k"A\0L\r\vA!@@@@@@@  -\0\0j-\0\0"\bAk\b\t\t\0\v \bAk\b\v Aj!A)!\f\v AF\r\r \0  \0(à\0\0\r \0  \0(È\0\0E\r Aj!A)!\f\v AI\r\f \0  \0(ä\0\0\r \0  \0(Ì\0\0E\r Aj!A)!\f\v AI\r\v \0  \0(è\0\0\r\0 \0  \0(Ð\0\0\r\v  6\0\f\v Aj!A)!\f\vA!\f\v\v AF\r  Aj6\0A \v AF\r  Aj6\0A\v AF\r\0  Aj6\0A\v  6\0\f\vA\0 k!\v \v  6\0\f\vA~\v  \x006\0A\vA\v  6\0A\vA\0\v§#\0A k"$\0  6œA\0! Aj"A\0A€ü\v\0  6\f \0 Aœj  A\fj Aj \0(8\b\0@ (œ G\r\0 (\fA\0:\0\0 Aˆ\bÑ@ \0"(@AF\r\vA\0! AjÒ"\0AF\r\0 \0At(З\b!\v A j$\0 \v\0AЗ\b \0A\0   ”\v\0AЗ\b \0A   ”\v\0\v§#\0A k"$\0  6œA\0! Aj"A\0A€ü\v\0  6\f \0 Aœj  A\fj Aj \0(8\b\0@ (œ G\r\0 (\fA\0:\0\0 Aˆ\bÑ@ \0"(@AF\r\vA\0! AjÒ"\0AF\r\0 \0At(àˆ\b!\v A j$\0 \v\0Aàˆ\b \0A\0   ”\v\0Aàˆ\b \0A   ”\v\0Aè‹\b   È\b\v\0 §A\0 BƒP\vÖ#\0Ak"\b$\0 \0AÈ\0j!\t \0Aôj!\n@A\0  (\0"F\r@  \n -\0\0Atj",\0\0"E@ \0(ð  \0(ì\0\0 \bA\fj"º"  (\0kJ\r (\0" \t -\0\0j-\0\0jAk\f\v  (\0k H\r Aj! Aj\v6\0 @ (\0  ü\n\0\0\v  (\0 j6\0\f\v\vA\v \bAj$\0\v© \0AÈ\0j!\b \0Aôj!\t (\0!@@  M\r  (\0"K@  \t -\0\0Atj/\0"E@ \0(ð  \0(ì\0\0! (\0! (\0" \b -\0\0j-\0\0jAk\f\v Aj\v"6\0  Aj6\0  ;\0\f\v\v  G\r\0A\vA\0\vC \0(ð  \0(ì\0\0"\0AÿÿM \0AvAq \0A\bv-\0 ƒ\bAtr(°ôA \0tqA\0\v\vC \0(ð  \0(ì\0\0"\0AÿÿM \0AvAq \0A\bv-\0 \bAtr(°ôA \0tqA\0\v\v.A! \0(ð  \0(ì\0\0"\0AÿÿM \0¹AvA\v\v\0 §"AqE@ \0(\b A\0z\v\v |@ +\b" +\0"£"D\0UDoî?d@ D\0UDoî?£!\f\v D\0UDoî?cE\r\0 D\0UDoî?¢!\v DÿTDoþ?£"D`- ‘!rÈ?¢D\0\0\0\0\0\0à¿¢! DÿTDoî?¢DPé/7ïÆÓ?¢D¯×܋Ÿè?£!Dàðœv/Ô?!@ \tA\tKE@ \0 \tAtj"\n  D¢9\0 \n  Dàðœv/ä? "\bD¢9 \n  K¢  9\b \n  \bK¢  9 \tAj!\t \bDàðœv/ä? !\f\v\v  9\b  9\0\vg| \0 +\0DÿTDoþ?£ +\bD¨ô—›wãñ?£"DÿTDoî?¢D¨ô—›wãé?¢D^Zu#ÏÒ?£"DTúËÍ»ñü?¢9\b \0   DÿTDoî?¢9\0\vn\0@@ @ \0(\b!\0 @ \0 ”\f\v \0 ý\b\v"\0Aq\r  \0­7\0\f\v  \0)\0B†B„7\0 \0 \0)\0B|7\0\vA\vAä´AŠ¿A;AºÜ\0\0\0\vû\b|#\0A k"$\0@ \0E\r\0 \0(! \0(\0"+((t!  )\b7\b  )\x007\0 Aj  AqAÚ\0lÔ +!\v +!\f @ +\0 \feE\r \f +eE\r +\b \ve \v +eq!\f\v@ \0(\b G@ \0 ((\f"6 (\b! (,!A\0! AÜÌ\n(\0D\0\0\0\0\0\0ð?D\0\0\0\0\0\0\0\0F!\n@ \0(("E \nD\0\0\0\0\0\0\0\0dErE@  l!\f\v E\r\0 Ak l!\v \0 6\b \0 6 \f\v \0("(\b! (,!\vA\0!A\0!@  O"\r At! Aj!\b Aj!  \v \0( At"\t  \b pAtjj"\b+\0  j \tj"+\0"\r¡"\n¢ \b+\b +\b"¡" \f¢¡  \n¢  \r¢¡"\r¡D\0\0\0\0\0\0\0\0f \nD\0\0\0\0\0\0\0\0¢ D\0\0\0\0\0\0\0\0¢¡ \r¡D\0\0\0\0\0\0\0\0fsj"AG\r\0\v\v A j$\0 \v©|#\0A k"$\0 ("(\f!@@@ \0("(Ø"E@ E\r /ŒAq\r\f\v E\r\vA! \0-\0˜Aq\r\0 \0  (ì (ü (Ü© (!\v \0($ +\b!\b +!\t +!\n +!\v  (\x006  \v \n 9\b  \t \b 9\0A¡Á 1 ("(x" )7@  )78 \0A\n ((xÉ E\r\0 \0-\0˜Aq@ \0 (Ø (ì (ü (Ü©\v \0ç\v A j$\0\v›|#\0A k"$\0 \0(\0"\0+((t!  )\b7\b  )\x007\0 Aj  AqAÚ\0lÔA\0!@ +" \0("\0+PD\0\0\0\0\0\0à?¢"šfE  eEr\r\0 +" \0+XšfE\r\0  \0+`e!\v A j$\0 \vŽ~|#\0A k"$\0A! \0("(Ø"E@ /Œ!\v  ("(\f")("\b7˜  ) "\t7  )"\n7ˆ  )"\v7€  +"\r \v¿ 9€ +!\f  \r \t¿ 9  \f \n¿ 9ˆ  \f \b¿ 9˜@ AqE\r\0 \0-\0˜Aq\r\0 \0  (ì (ü (Ü©\v AA \0(\0" (\0"I\r\0A  K\r\0A \0("\0 ("I\r\0 \0 K\v\v0\0AH" \0(\b6\b  \0(\f6\f  \0(6  \0(6 \vc#\0Ak"$\0 A\bj (\0A\0¯@ \0(\0 (\b \0(" (\f"  I"Ï"\0\r\0A!\0  K\r\0AA\0 !\0\v Aj$\0 \0\vÿ\n Aã\0q@ \0   \0( (\0\0\v@@ A„qE@ \0( (A\fq" A€qEr\r\v \0!@ E@A\0!\f\v    ( (\0\0"\r ((!\f\0\v\0\v@@@ @ A˜qE\r AqA\0G!\v AˆqA\0G!\f \0!@ E\r@    ( (\0\0"E\r\0  ("(\0j! ("\nA\0H@ (\0!\v@ E\r\0 \f ("@  \t \0\0\f\v \nA\0L@  \tG\f\v  \t \n¹\v"A\0Hq\r\0 \v A\0JqE\r\v ! !\t !\b\v ((!\f\0\v\0\v AqE\r@@ \0(,"E\r\0 (\f!\b ((\b"A\0H@ \b(\b\f\v \b k\v G\r\0 !\f\v \0!@ E@ \0A\x006,A\0\v  A ( (\0\0"E@ ((!\f\v\v \0 6,\vA€A€ A\bq!    ( (\0\0!@ \0! @@  F\r  A ( (\0\0E@ ((!\f\v\v    ( (\0\0!\f\v \0 (("6, E\r A\0  ( (\0\0!\f\0\v\0\v \0 \b6,\v \vA\0\v \0 6, \v\0 \0 ¢D\0\0\0\0\0\0$@¢\vb\0#\0A k"$\0 \0 +\0 +\0 9\0 \0 +\b +\b 9\b  )\b7\b  )\x007\0  \0)\x007  \0)\b7  A8 A j$\0\vÐ|#\0Að\0k"$\0  )\b7  )\x007 D\0\0\0\0\0\0à?¢"\nD\0\0\0\0\0\0Ð?¢D\0\0\0\0\0\0à? D\0\0\0\0\0\0@d!\v +\b!\t \0| A q"\b@ +\0! +\0\f\v +\0" +\0"D\0\0\0\0\0\0\0\0a \tD\0\0\0\0\0\0\0\0aq\r\0  +\b \n \t š \tš@"\f£¢ 9\b  \n  \f£¢ \v"  "\f9\0 \0 +\b"\n \t "\r9\b  \r9(  \f9  \n \v ¢"¡ \v \tš¢"\t¡"\v9h    \t¡ 9`   \n  \t¡"\n98    \t  90  \tDffffffî¿¢   !\f  \tDffffffî?¢   !\r D\0\0\0\0\0\0@¢D\0\0\0\0\0\0\b@£! \tD\0\0\0\0\0\0À¢D\0\0\0\0\0\0\b@£!| \b@ \v  !\t  \f !\v \n  !\n  \r \f\v \v ¡!\t \f ¡!\v \n ¡!\n \r ¡\v!  \t9X  \v9P  \n9H  9@  AjA8@ AÀ\0q@  A0j"\0D\0\0\0\0\0\0à?A\0 \0‹\f\v A€qE\r\0  A0j"\0D\0\0\0\0\0\0à? \0A\0‹\v  A0jAA\0È Að\0j$\0\v\0 \0 ¢D\0\0\0\0\0\0$@¢  \v‹|#\0A k"$\0 +\0!@ +\0"\tD\0\0\0\0\0\0\0\0b +\b"\nD\0\0\0\0\0\0\0\0brE@ +\b!\f\v +\b D\0\0\0\0\0\0à?¢"\b \nš" \tš"\v @"\f£¢"\r¡!  \b \v \f£¢"\v¡!\v  \t \n@D\0\0\0\0\0\0à?¢"\b \nD\0\0\0\0\0\0à?¢  "\f 9  \b \tD\0\0\0\0\0\0à?¢  " 9  \f \b¡9\b   \b¡9\0   AsAvAq­ \0 \n   \r¡9\b \0 \t   \v¡9\0 A j$\0\vœ#\0A k"$\0 B\x007H B\x007@ B\x0078  \0 ¢D\0\0\0\0\0\0$@¢"\x0090 B\x007 B\x007 B\x007\b  \x009\0 A j Aj    AÐ\0jø\b@@ + D\0\0\0\0\0\0à?¢"\0D\0\0\0\0\0\0\0\0d@ +h +ˆ¡"D\0\0\0\0\0\0\0\0dE\r \0 ¢ +€ +p¡™£"D\0\0\0\0\0\0\0\0dE\r A j$\0 \0 \0  \0 ¢ £¡\vAÓ¸AÞ¹A„\nA¡¥\0\0\vA·¹AÞ¹A‡\nA¡¥\0\0\vA¹AÞ¹A‹\nA¡¥\0\0\v©#\0Að\0k"$\0  )\x007  )\b7  )\x007\0  )\b7\b \0 Aj    A jø\b@ AÀ\0q@  A@kA AsAvAqA\f\v AsAvAq!\0 A€q@  A jA \0A\f\v  A jA \0A\v Að\0j$\0\vê\n|#\0A@j"$\0 +\b" +\b"\t ! +\0"\b +\0"\r ! \bDš™™™™™Ù?¢!\n Dš™™™™™Ù¿¢!\v Dš™™™™™é?¢ \t ! \bDš™™™™™é?¢ \r !| \bD\0\0\0\0\0\0\0\0a@D\0\0\0\0\0\0\0\0 D\0\0\0\0\0\0\0\0a\r\v D\0\0\0\0\0\0à?¢" š" \bš"\b @"£¢!\f  \b £¢\v!  \t \f¡"\b9\b  \r ¡"\t9\0 \0  \f¡9\b \0  ¡9\0  \n  \f¡" 98  \v  ¡" 90   \n¡9(   \v¡9  \b \n¡9  \t \v¡9  \n \b 9\b  \v \t 9\0@ AÀ\0q@  )\b7\b  )\x007\0  98  90\f\v A€qE\r\0  )\b7  )\x007  9(  9 \v  A AsAvAqA  9\b  9\0  \0)\b7  \0)\x007  A8 A@k$\0\vP\0 \0 ¢D\0\0\0\0\0\0$@¢"\0Dš™™™™™É¿¢ D\0\0\0\0\0\0à?¢"  \0 \0Dš™™™™™Ù¿¢  "   \0 D\0\0\0\0\0\0\0\0d\v\v|#\0A@j"$\0 +\b! \0 +\0"\b +\0"\t "9\0 \0  +\b" "9\b \t \bD333333ã?¢ !\n \t \bDš™™™™™É?¢ !\v  D333333ã?¢ !\f  Dš™™™™™É?¢ !\r@ \b @"D\0\0\0\0\0\0\0\0dE\r\0 Dš™™™™™É¿¢ D\0\0\0\0\0\0à?¢ "D\0\0\0\0\0\0\0\0dE\r\0    š" \bš" @"£¢"¡9\b  \t   £¢"\t¡9\0 \0  ¡9\b \0  \t¡9\0 \f ¡!\f \n \t¡!\n \r ¡!\r \v \t¡!\v\v  \b \f 98  \n ¡90  \f \b¡9(   \n 9  \r \b¡9   \v 9  \b \r 9\b  \v ¡9\0@ AÀ\0q@  \f98  \n90  \r9\b  \v9\0\f\v A€qE\r\0  \f9(  \n9  \r9  \v9\v  AAA  )\b7\b  )\x007\0  \0)\b7  \0)\x007  A8 A@k$\0\vÒ|#\0Aàk"$\0 B\x007H B\x007@ B\x0078  \0 ¢D\0\0\0\0\0\0$@¢"\x0090 B\x007 B\x007 B\x007\b  \x009\0 A j Aj     AÐ\0jú\b@@@ + "\0D\0\0\0\0\0\0\0\0d@ \0 +€ +`"¡ "D\0\0\0\0\0\0\0\0dE\r +È +h¡"D\0\0\0\0\0\0\0\0dE\r  ¢  +P¡™£"D\0\0\0\0\0\0\0\0dE\r Aàj$\0 \0 D\0\0\0\0\0\0à?¢  ¢ £ A q¡\vAÓ¸AÞ¹Aº\nA¥\0\0\vAαAÞ¹A¼\nA¥\0\0\vA·¹AÞ¹A¿\nA¥\0\0\vA¹AÞ¹AÃ\nA¥\0\0\v•#\0A°k"$\0  )\x007  )\b7  )\x007\0  )\b7\b \0 Aj     A j"\0ú\b@ AÀ\0q@  \0AAA\f\v A€q@  Aà\0jAAA\f\v  A jA\bAA\v A°j$\0\v #\0A k"$\0 B\x007H B\x007@ B\x0078  \0 ¢D\0\0\0\0\0\0$@¢"\x0090 B\x007 B\x007 B\x007\b  \x009\0 A j Aj    AÐ\0jû\b@@ + "\0D\0\0\0\0\0\0\0\0d@ +ˆ +h¡"D\0\0\0\0\0\0\0\0dE\r \0 ¢ +` +p¡™£"D\0\0\0\0\0\0\0\0dE\r A j$\0 \0  \0¢ £ D\0\0\0\0\0\0à?¢ A q¡\vAÓ¸AÞ¹Aµ\tA¶ò\0\0\0\vA·¹AÞ¹A¸\tA¶ò\0\0\0\vA¹AÞ¹A¼\tA¶ò\0\0\0\v¨#\0Að\0k"$\0  )\x007  )\b7  )\x007\0  )\b7\b \0 Aj    A j"\0û\b@ AÀ\0q@  \0A AsAvAqA\f\v AsAvAq!\0 A€q@  A@kA \0A\f\v  A0jA \0A\v Að\0j$\0\v4| \0(+\0 +\0 \0(\0"\0+\0¡" ¢ +\b \0+\b¡" ¢ Ÿf\vô#\0Ak"$\0 \0-\0\tAq@ \0A\0¿\v \0(\f! \0("\f(\b!\t@@ E@A\0 AÀqE Er\r AÀ\0q@ \f(E \tA\0NqE@A\0 \tk!@ ("@  (\x006  6\0 !\f\v (\0 \f("@ \tA\0H@ (\b\f\v  j\v \0\v \f(\bA\0H@ \v"\r\0\v\v \0A\x006\f \0A\x006A\0\f\v@ A€q@@ (\0"E\r  (6\0  6 !\f\0\v\0\v@ ("E\r  (\x006  6\0 !\f\0\v\0\v \0 6\f \tA\0N\r\f\v \f(! \f(!\n \f(\0!@@@@@@ A‚ q"E\r\0 \0( (A\bG\r\0  j!\b \nA\0N"E@ \b(\0!\b\v \0 A \0(\0\0! \nA\0J!\v@ E\r  j! E@ (\0!\v @ \b  \0\0\f\v \vE@ \b G\f\v \b  \n¹\v\r  F@  \0(\f"(6\b  (\x006\f A\bj!\f \0 A\b \0(\0\0!\f\v\0\v\0\v@@@@@@@@ A…q@  A€q\r\0  j"\b \nA\0N\r\0 \b(\0\v!\b \r A\bj"!\f\v A q@  \tA\0H@ (\b\f\v  \tk\v"j!\b \nA\0H@ \b(\0!\b\v E\r !\r !\f\v E@ A\bj"!\f\v \tA\0H@ (\b\f\v  \tk\v F@ A\bj"!\f\v  j!\b \nA\0N\r\0 \b(\0!\b\vA\0 \tk! \tA\0N! A\bj"!\v@@ !@@@@@ E@ (\b\f\v  j\v j! \nA\0N"E@ (\0!\v  @ \b  \0\0\f\v \nA\0L@ \b G\f\v \b  \n¹\v"E\r A\0N\r ("E\r E@ (\b\f\v  j\v j! E@ (\0!\v @ \b  \0\0\f\v \nA\0L@ \b G\f\v \b  \n¹\v"A\0N\r  (\x006  6\0 \v 6 "\v("\r\0\v !\f\b\v E@ \v 6 !\f\t\v  6\0 \v 6 !\v "(\0"\r\f\v \v 6\f\v (\0"E\r E@ (\b\f\v  j\v j! E@ (\0!\v @ \b  \0\0\f\v \nA\0L@ \b G\f\v \b  \n¹\v"A\0J@  (6\0  6  6\0 "(\0"\r \v!\f\v \r  6\0 ! \v! \v!\f\v \v 6  6\0 ! "\v("\r\0\v !\f\v  6\0 ! \v!\f\v A\bj"! !\r !\v A\x006 A\x006\0 A\bq\r Aq\r A„q\r\bA\0! Aq\rA\0! A qE\r\b \0 \0(Aj6 \r!\f\t\v  (6\0  (\x006 A„q\r\b A\bqE\r (\b! A\x006\0  6  6\b\v (\f"E\r@ ("@  (\x006  6\0 !\f\v\v  (\x006\f\f\v AqE\r (\f! A\x006  6\0  6\f\v (\b"E\r@ (\0"@  (6\0  6 !\f\v\v  (6\b\f\v E\r\v \tA\0H@ (\b\f\v  \tk\v!@ AqE\r\0 \f("E\r\0  \0\v \f(\bA\0H@ \v \0 \0("Ak6 A\0J\r \0 Ak6\f\v Aq@ \0( -\0Aq\r A\x006  (\f6\0  6\f\f\vA\0 A qE\r \0( -\0Aq@ \f("@  \0\v \f(\bA\0N\r \r\f\v \rA\x006 \r (\f6\0  \r6\f \0 \0(Aj6\f\v \f(\f"@  \f \0\0!\v@@@ @ \tA\0H\r  \tj!\v E\r\f\vA\fV"E\r  6\b\v \0("A\0H\r \0 Aj6\f\v \f(\fE\r\0 \f("E\r\0  \0\v@ "("\r\0\v  (\b6 \0 (\f6\f AtAu q\f\v  (\b"6  (\f6\0@ A„qE\r\0 \0( (A\bqE\r\0 \tA\0H@ (\b\f\v  \tk\v j! \nA\0N"E@ (\0!\vA\0 \tk!\v \tA\0N!\r@ "E\r@ (\0"@  (6\0  6 !\f\v\v  6 \rE@ (\b\f\v  \vj\v j! E@ (\0!\v @   \0\0\f\v \nA\0L@  G\f\v   \n¹\v\r  (\x006  6\0 (! !\f\0\v\0\v \0 6\f \tA\0H\r\v  \tk\f\v (\b\v Aj$\0\v„#\0Ak"$\0AA C"@ \0(\0"@  X6\0\v \0("@  X6\v  \0(Aÿ\0q6  \0+9  \0(\b6\b Aj$\0 \v A 6\0Aˆ÷\b(\0A§ê .\0\v\0 \0(\0 \0( \0\v¨| (\0!@@@@ \0(\0"E@ E\r\f\v E\r  G"\r\v (!@ \0("E@ \r\f\v E\r  G"\r\vA! \0(Aÿ\0q" (Aÿ\0q"I\r\0  K\r \0+" +"c\r\0  d!\v \vA\vA\v\0#\0\v\0#\0 \0kApq"\0$\0 \0\v\0 \0$\0\v\f\0 \0\t \0\v\0A†ø\0\v\0 \0 (\b ‹@    ÿ\v\v9\0 \0 (\b ‹@    ÿ\v \0(\b"\0      \0(\0(\v\0\v“ \0 (\b ‹@    ÿ\v -\x005 \0(\f! A\0:\x005 -\x004 A\0:\x004 \0Aj"\t     þ -\x004"\nr!\b -\x005"\vr!@ AI\r\0 \t Atj!\t \0Aj!@ -\x006\r@ \nAq@ (AF\r \0-\0\bAq\r\f\v \vAqE\r\0 \0-\0\bAqE\r\v A\0;4      þ -\x005"\v rAq! -\x004"\n \brAq!\b A\bj" \tI\r\0\v\v  Aq:\x005  \bAq:\x004\v¦\0@ \0 (\b ‹@  (G\r (AF\r  6\v \0 (\0 ‹E\r\0@ ( G@  (G\r\v AG\r A6 \v  6  6  ((Aj6(@ ($AG\r\0 (AG\r\0 A:\x006\v A6,\v\vŠ\0@ \0 (\b ‹@  (G\r (AF\r  6\v \0 (\0 ‹@@ ( G@  (G\r\v AG\r A6 \v  6 @ (,AF\r\0 A\0;4 \0(\b"\0   A  \0(\0(\v\0 -\x005AF@ A6, -\x004E\r\f\v A6,\v  6  ((Aj6( ($AG\r (AG\r A:\x006\v \0(\b"\0     \0(\0(\n\0\v\vÃ@ \0 (\b ‹@  (G\r (AF\r  6\v@ \0 (\0 ‹@@ ( G@  (G\r\v AG\r A6 \v  6 (,AF\r \0Aj" \0(\fAtj!A\0!@@@ @  O\r\0 A\0;4    A þ -\x006\r\0 -\x005AG\r -\x004AF@ (AF\rA!A! \0-\0\bAqE\r\f\vA! \0-\0\bAq\rA\f\vAA \v6, \r\f\v A6,\f\v A\bj!\f\0\v\0\v \0(\f! \0Aj"    ­ AI\r  Atj! \0Aj!@ \0(\b"\0AqE@ ($AG\r\v@ -\x006\r     ­ A\bj" I\r\0\v\f\v \0AqE@@ -\x006\r ($AF\r     ­ A\bj" I\r\0\f\v\0\v@ -\x006\r ($AF@ (AF\r\v     ­ A\bj" I\r\0\v\f\v  6  ((Aj6( ($AG\r\0 (AG\r\0 A:\x006\v\vr \0( (\b(F@   €\v \0(\f! \0Aj"   ¡\t@ AI\r\0  Atj! \0Aj!\0@ \0   ¡\t -\x006\r \0A\bj"\0 I\r\0\v\v\v5\0 \0( (\b(F@   €\v \0(\b"\0    \0(\0(\0\v\0 \0( (\b(F@   €\v\vÔ#\0AÐ\0k"$\0@A \0( (F\r\0#\0A@j"$\0  (\0"A\bk(\0"j!@ Ak(\0"(A Ù\t(\0F@A\0  !\f\v  N@ B\x007 A\x006 AœÙ\t6\f  6\b  6 B\x007 B\x007$ B\x007, A\x006< B€€€€€€€74  Aj  AA\0 (\0(\v\0 (\r\v B\x007 A\x006 AìØ\t6\f  6\b AœÙ\t6 B\x007 B\x007$ B\x007, B\x007\x003 A\x006< A:\0;  Aj AA\0 (\0(\n\0A\0!@@ ((\0\v (A\0 ($AFA\0 ( AFA\0 (,AF!\f\v (AG@ (,\r ( AG\r ($AG\r\v (!\v A@k$\0A\0 E\r\0 (\0"E\r AjA\0A8ü\v\0 A:\0K A6  \x006  6 A6D  Aj A (\0(\0 (,"\0AF@  ($6\0\v \0AF\v AÐ\0j$\0\v AÏß6\b Aç6 A¯Ù\x006\05\0\vAöÿÿÿ k O@A÷ÿÿÿ!\t \0(\0 \0 \0,\0\vA\0H!\n AòÿÿÿM@  j" At"\t  \tKArAj!\t\v \tÿ!@ E\r\0 At"\bE\r\0  \n \bü\n\0\0\v@ E\r\0 At"\bE\r\0  Atj  \bü\n\0\0\v   j"\bk!@  \bF\r\0 At"E\r\0  At"\bj Atj \b \nj Atj ü\n\0\0\v AG@ \n\v \0 6\0 \0 \tA€€€€xr6\b \0  j j"\x006  \0AtjA\x006\0\v£\0\v…@@@ \0,\0\v"A\0N@A\n! A\nF\r \0 AjAÿ\0q:\0\v\f\v \0(" \0(\bAÿÿÿÿqAk"G\r\v \0 A  »\t !\v \0 Aj6 \0(\0!\0\v \0 j"\0A\0:\0 \0 :\0\0\vòAöÿÿÿ k O@A÷ÿÿÿ!\b \0(\0 \0 \0,\0\vA\0H!\t AòÿÿÿM@A\v  j" At"\b  \bK"ArAj A\vI!\b\v \b_! @  \t ü\n\0\0\v @  j  ü\n\0\0\v   j"\nk"E  \nFrE@  j j  \tj j ü\n\0\0\v A\nG@ \t\v \0 6\0 \0 \bA€€€€xr6\b \0  j j"\x006 \0 jA\0:\0\0\v£\0\vé A¿„=M@ AÎ\0M@ Aã\0M@ A\tM@ \0 A0r:\0\0 \0Aj\v \0 At/àÏ\t;\0\0 \0Aj\v AçM@ \0 AÿÿqAä\0n"A0r:\0\0 \0  Aä\0lkAÿÿqAt/àÏ\t;\0 \0Aj\v \0 †\v AŸM@ \0 AÎ\0n"A0j:\0\0 \0Aj  AÎ\0lk†\v \0 …\v AÿÁ×/M@ Aÿ¬âM@ \0 AÀ„=n"A0j:\0\0 \0Aj  AÀ„=lk…\v \0 „\v Aÿ“ëÜM@ \0 A€Â×/n"A0j:\0\0 \0Aj  A€Â×/lk„\v \0 A€Â×/n"At/àÏ\t;\0\0 \0Aj  A€Â×/lk„\v\t\0A˜Ž\vr\v%\0A¤Ž\v-\0\0E@A˜Ž\vAø¦\tA¤Ž\vA:\0\0\vA˜Ž\v\v\t\0AˆŽ\vr\v%\0A”Ž\v-\0\0E@AˆŽ\vAàÝ\0ÉA”Ž\vA:\0\0\vAˆŽ\v\v\t\0Aø\vr\v%\0A„Ž\v-\0\0E@Aø\vA¤¦\tA„Ž\vA:\0\0\vAø\v\v\t\0Aè\vr\v%\0Aô\v-\0\0E@Aè\vA“ÊÉAô\vA:\0\0\vAè\v\v\t\0A؍\vr\v%\0Aä\v-\0\0E@A؍\vA€¦\tAä\vA:\0\0\vA؍\v\v\t\0A˜Ê\nr\v\0AՍ\v-\0\0E@AՍ\vA:\0\0\vA˜Ê\n\v\t\0Aȍ\vr\v%\0Aԍ\v-\0\0E@Aȍ\vAÜ¥\tAԍ\vA:\0\0\vAȍ\v\v\t\0AŒÊ\nr\v\0Aō\v-\0\0E@Aō\vA:\0\0\vAŒÊ\n\v\0A¨–\v!\0@ \0A\fkr"\0A–\vG\r\0\v\vT\0Ač\v-\0\0@AÀ\v(\0\vA¨–\v-\0\0E@A¨–\vA:\0\0\vA–\vA˜Ï\tLAœ–\vA¤Ï\tLAč\vA:\0\0AÀ\vA–\v6\0A–\v\v\0Aˆ–\v!\0@ \0A\fkr"\0Að•\vG\r\0\v\vT\0A¼\v-\0\0@A¸\v(\0\vAˆ–\v-\0\0E@Aˆ–\vA:\0\0\vAð•\vAÍÒMAü•\vAÀÒMA¼\vA:\0\0A¸\vAð•\v6\0Að•\v\v\0Aà•\v!\0@ \0A\fkr"\0AÀ“\vG\r\0\v\v°\0A´\v-\0\0@A°\v(\0\vAà•\v-\0\0E@Aà•\vA:\0\0\vAÀ“\vAË\tLA̓\vA°Ë\tLAؓ\vAÔË\tLAä“\vAìË\tLAð“\vA„Ì\tLAü“\vA”Ì\tLAˆ”\vA¨Ì\tLA””\vA¼Ì\tLA ”\vAØÌ\tLA¬”\vA€Í\tLA¸”\vA Í\tLAĔ\vAÄÍ\tLAД\vAèÍ\tLAܔ\vAøÍ\tLAè”\vAˆÎ\tLAô”\vA˜Î\tLA€•\vA„Ì\tLAŒ•\vA¨Î\tLA˜•\vA¸Î\tLA¤•\vAÈÎ\tLA°•\vAØÎ\tLA¼•\vAèÎ\tLAȕ\vAøÎ\tLAԕ\vAˆÏ\tLA´\vA:\0\0A°\vAÀ“\v6\0AÀ“\v\v\0A°“\v!\0@ \0A\fkr"\0A‘\vG\r\0\v\v¢\0A¬\v-\0\0@A¨\v(\0\vA°“\v-\0\0E@A°“\vA:\0\0\vA‘\vA\rMAœ‘\vA”\rMA¨‘\vA™û\0MA´‘\vAŸï\0MAÀ‘\vAýMȂ\vAˆ—MAؑ\vA¡MAä‘\vAÐMAð‘\vAº;MAü‘\vAƒ;MAˆ’\vA±;MA”’\vAÄ;MA ’\vAîê\0MA¬’\vA½ÀMA¸’\vAø;MAĒ\vAó5MAВ\vAýMAܒ\vAá\0MAè’\vAàí\0MAô’\vA“þ\0MA€“\vA©Ü\0MAŒ“\vAø$MA˜“\vA£MA¤“\vAÄ·MA¬\vA:\0\0A¨\vA‘\v6\0A‘\v\v\0Aˆ‘\v!\0@ \0A\fkr"\0Aà\vG\r\0\v\vÌ\0A¤\v-\0\0@A \v(\0\vAˆ‘\v-\0\0E@Aˆ‘\vA:\0\0\vAà\vA¼È\tLAì\vAØÈ\tLAø\vAôÈ\tLA„\vA”É\tLA\vA¼É\tLAœ\vAàÉ\tLA¨\vAüÉ\tLA´\vA Ê\tLAÀ\vA°Ê\tLA̐\vAÀÊ\tLAؐ\vAÐÊ\tLAä\vAàÊ\tLAð\vAðÊ\tLAü\vA€Ë\tLA¤\vA:\0\0A \vAà\v6\0Aà\v\v\0A؏\v!\0@ \0A\fkr"\0A°Ž\vG\r\0\v\vÃ\0Aœ\v-\0\0@A˜\v(\0\vA؏\v-\0\0E@A؏\vA:\0\0\vA°Ž\vAèMA¼Ž\vAïMAȎ\vAÍMAԎ\vAÕMAàŽ\vAÄMAìŽ\vAöMAøŽ\vAßMA„\vA™á\0MA\vAøä\0MAœ\vAþMA¨\vA‚±MA´\vAŒMAÀ\vA•ö\0MȀ\vAƒ&MAœ\vA:\0\0A˜\vA°Ž\v6\0A°Ž\v\v\v\0 \0AÄ¥\t\v\v\0 \0AǔÉ\v\v\0 \0A°¥\t\v\v\0 \0A‹‹É\v\f\0 \0 Ajˆ\v\f\0 \0 A\fjˆ\v\0 \0(\f\v\0 \0,\0\t\v\0 \0(\b\v\0 \0,\0\b\v\t\0 \0¨\t\v\t\0 \0©\t\v›#\0Ak"$\0Aˆ÷\b(\0!@@ \0,\0\0"Aÿq"E@A\0!\f\v@@ Aÿ\0G A Oq\r\0 A\tk"AMA\0A tAŸ€€q\r\0  6\0 A•à\0 "A\0N\r\f\v  "A\0H\r\v \0Aj!\0\f\v\v Aj$\0 \v\0 \0(\b"\0E@A\v \0°\t\v‰@@  F  \bMr\r\0A! \0(\b!#\0Ak"$\0  Ø6\fA\0   k Aì‰\v Þ\t! A\fjþ Aj$\0@@ Aj\0\v !\v \bAj!\b  \tj!\t  j!\f\v\v \t\vC \0(\b!#\0Ak"$\0  Ø6\f A\fjþ Aj$\0 \0(\b"\0E@A\v \0°\tAF\v‰#\0Ak"$\0  6\0A A\fj"A\0 \0(\b”"\0AjAI\r\0A \0Ak"  (\0kK\r\0  -\0\0!\0  (\0"Aj6\0  \0:\0\0 Ak! Aj!\fA\0\v\v\v Aj$\0\v\f\0\v-#\0Ak"$\0  Ø6\f \0 Û\t A\fjþ Aj$\0\v\v\0\v\t\0 \0¸\t\v\0  k"\0  \0 I\v4\0@  FE@   ,\0\0"\0 \0A\0H:\0\0 Aj! Aj!\f\v\v \v\f\0   A\0H\v*\0@  FE@  -\0\0:\0\0 Aj! Aj!\f\v\v \v9\0@  FE@  -\0\0"\0 \0A r \0AÛ\0kAÿqAæI:\0\0 Aj!\f\v\v \v\0  A r AÛ\0kAÿqAæI\v:\0@  FE@  -\0\0"\0 \0Aß\0q \0Aû\0kAÿqAæI:\0\0 Aj!\f\v\v \v\0  Aß\0q Aû\0kAÿqAæI\v\t\0 \0²\t\v5\0@  FE@  (\0"\0  \0A€I:\0\0 Aj! Aj!\f\v\v \v\0   A€IÀ\v*\0@  FE@  ,\0\x006\0 Aj! Aj!\f\v\v \v4\0@  FE@  (\0"\0 \0A r \0AÛ\0kAfI6\0 Aj!\f\v\v \v\0  A r AÛ\0kAfI\v5\0@  FE@  (\0"\0 \0Aß\0q \0Aû\0kAfI6\0 Aj!\f\v\v \v\0  Aß\0q Aû\0kAfI\v7\0@@  F\r\0 (\0"\0Aÿ\0K\r\0 \0At(°œ\t qE\r\0 Aj!\f\v\v \v7\0@@  F\r\0 (\0"\0Aÿ\0M@ \0At(°œ\t q\r\v Aj!\f\v\v \vF@  FE@A\0!\0  (\0"Aÿ\0M At(°œ\tA\0\v6\0 Aj! Aj!\f\v\v \v"\0A\0!\0 Aÿ\0M At(°œ\t qA\0GA\0\v\v\t\0 \0¶\t\v£\0@ ,\0\vA\0N@ \0 (\b6\b \0 )\x007\0\f\v (\0!@@@ ("AM@ \0 :\0\v\f\v A÷ÿÿÿO\r Ar"Ajÿ! \0 Aÿÿÿÿk6\b \0 6\0 \0 6 !\0\v AtAj"@ \0  ü\n\0\0\v\f\v£\0\v\v\v\t\0 \0 ˆ\v\0\v\b\0\v\0\v\b\0\v\0\v\0\v\0\v\0\v\0\v\0\0\v\0\v\0\v\0\v\0\v\0\0\v\0\v\0\vâ#\0AÐ\0k"$\0AüÍ\nAüÍ\n(\0A \0 \0AF \0AF""6\0AøÍ\nAøÍ\n(\0"   H6\0@@@@@AäÍ\n(\0 M@  60  6LA\0A\0  R"A\0H@ Aª6 Aˆ÷\b(\0Aø¯ A j\f\v Aj"V"E@ Aª6\0Aˆ÷\b(\0A‰Ú \f\vAàÍ\n(\0"A ! \0AG@Aú6Aæÿ\0 \0AF \0AÅÍ \0\v    (0RA\0H@  Aª6Aˆ÷\b(\0Aø¯ Aj\f\v  \0 \f\v@ \r\0“@A÷Í\nA\0:\0\0\f\vAìÍ\nA\x006\0\v  6L  60A\0!A\0A\0  R"A\0H\r\0 Aj!\b@à\tËk"\0 K\r\0 \b \0k!\0“@A! \0AF\r\v#\0A k"$\0à\t" \0j"\0 AtA€\b " \0 K!\0Ë!@@@@@A÷Í\n-\0\0AÿF@ AF\rAèÍ\n(\0! \0E@ A\0!\f\v  \0b"E\r \0 M\r \0 k"E\r  jA\0 ü\v\0\f\vA\0 \0 \0AC"\r @ AèÍ\n ü\n\0\0\vAìÍ\n 6\0\vA÷Í\nAÿ:\0\0AðÍ\n \x006\0AèÍ\n 6\0 A j$\0\f\vAÞÀA¤ý\0AÍ\0A˜´\0\0\v  \x006\0Aˆ÷\b(\0A§ê .\0\v  \x006Aˆ÷\b(\0A§ê Aj.\0\vA\0!\v B\x0078 B\x0070 AO q\r A0j!\0   \0–\t\v \b  (LR"\0G \0A\0Nq\r \0A\0L\r\0“@ \0A€O\r@ E\r\0–\t \0E\r\0 A0j \0ü\n\0\0\vA÷Í\nA÷Í\n-\0\0 \0j:\0\0ËAI\rAã¶Aòü\0AêA\0\0\v \rAìÍ\nAìÍ\n(\0 \0j6\0\v AÐ\0j$\0\vA–§Aòü\0AÝA\0\0\vAýžAòü\0AâA\0\0\vAÐÎAòü\0AåA\0\0\vAþžAòü\0AìA\0\0\v\0\v\0\v\0\v\0\0\v\0\v+  ("Aµû~qAˆr6    Á\t  6\v\0\vÂ#\0Ak"\n$\0 Ð\t!\t \nAj ‹"\f \f(\0(\0  6\0@@ \0"\b-\0\0"A+k\0\0\v \t À \t(\0(,\0\0!  (\0"Aj6\0  6\0 \0Aj!\b\v@@  \b"kAL\r\0 -\0\0A0G\r\0 -\0A rAø\0G\r\0 \tA0 \t(\0(,\0\0!  (\0"\bAj6\0 \b 6\0 \t ,\0 \t(\0(,\0\0!  (\0"\bAj6\0 \b 6\0 Aj"\b!@  M\r ,\0\0°!Ì\tE\r Aj!\f\0\v\0\v@  M\r ,\0\0°!Ë\tE\r Aj!\f\0\v\0\v@ \n(\b \n,\0" A\0HE@ \t \b  (\0 \t(\0(0\0  (\0  \bkAtj6\0\f\v \b ƒ \f \f(\0(\0! \b!@  M@  \b \0kAtj (\0À\t@ \n(" \nAj" \n,\0A\0H" \rj,\0\0A\0L\r\0 \v    \rj,\0\0G\r\0  (\0"\vAj6\0 \v 6\0A\0!\v \r \r \n(\b \n,\0" A\0HAkIj!\r\v \t ,\0\0 \t(\0(,\0\0!  (\0"Aj6\0  6\0 Aj! \vAj!\v\f\v\v\v@@@  M\r Aj! ,\0\0"A.G@ \t  \t(\0(,\0\0!  (\0"\bAj6\0 \b 6\0 !\f\v\v \f \f(\0(\f\0!  (\0"\bAj"\v6\0 \b 6\0\f\v (\0!\v !\v \t   \v \t(\0(0\0  (\0  kAtj"6\0     \0kAtj  F6\0 \nAjr \nAj$\0\v§#\0Aðk"\0$\0 \0B%7è \0Aèj"ArAñ€ (Ä\t! \0 \0AÀj"\b6¼°!@@@ @ (\b! \0 9 \0 6 \b   \0Aj´"AJ\r\f\v \0 90 \0AÀj  \0Aèj" \0A0j´"AL\r°! \0 9 \0A¼j   \0A j³\f\v°! (\b! \0 9\b \0 6\0 \0A¼j  \0Aèj \0³\v"AF\r \0(¼\f\vA\0\v \0(¼"  j"\t …!\n@ \0AÀj F@ \0AÐ\0j!A\0!\f\v AtV"! E\r\v \0AÄ\0j"\v Î  \n \t  \0AÌ\0j \0AÈ\0j \vÇ \0(DŒ   \0(L \0(H  Š!  \0Aðj$\0 \f\v£\0\v\v\0\v\r\0    Á\t\v~\0\v©#\0Ak"$\0 Aƒj!\0 ("AÊ\0q"A\bF"\b A\0NrE@  AÀ\0F\r A-:\0ƒ A„j!\0A\0 k\f\v \v!\t \b AÀ\0F"\nr A€qE A\0HrrE@ \0A+:\0\0 \0Aj!\0\vA\bAA\n \b \n!\b@ E A€qEr\r\0 AÀ\0F@ \0A0:\0\0 \0Aj!\0\f\v A\bG\r\0 \0A0:\0\0 \0AØ\0Aø\0 A€€q:\0 \0Aj!\0\v Aø\0j \0 Aj \t \bµ@ Aˆ€qAˆ€F@@ \0 (x"F\r \0 \0-\0\0"A k  Aá\0kAÿqAI:\0\0 \0Aj!\0\f\0\v\0\v (x!\v Aƒj"\0  …! Aj" Î \0   Aj"\0 A\fj A\bj Ã\t (Œ  \0 (\f (\b  Š Aj$\0\vá#\0Ak"$\0  6\f@ -\0AqE@ \0     \0(\0(\b\0!\f\v  Î ‹!\0 (\0Œ  \0 \0(\0AA j(\0\0 (\0"  ,\0\v"A\0H!@   ÀA\0H"\0 ( Aÿq \0Atj F@ (\f! r A\fj (\0ù Aj! (\0! -\0\v!\f\v\v\v Aj$\0 \v+  ("Aµû~qAˆr6    Å\t  6\v\0\v²#\0Ak"\n$\0 “!\t \nAj "\f \f(\0(\0  6\0@@ \0"\b-\0\0"A+k\0\0\v \t À \t(\0(\0\0!  (\0"Aj6\0  :\0\0 \0Aj!\b\v@@  \b"kAL\r\0 -\0\0A0G\r\0 -\0A rAø\0G\r\0 \tA0 \t(\0(\0\0!  (\0"\bAj6\0 \b :\0\0 \t ,\0 \t(\0(\0\0!  (\0"\bAj6\0 \b :\0\0 Aj"\b!@  M\r ,\0\0°!Ì\tE\r Aj!\f\0\v\0\v@  M\r ,\0\0°!Ë\tE\r Aj!\f\0\v\0\v@ \n(\b \n,\0" A\0HE@ \t \b  (\0 \t(\0( \0  (\0  \bkj6\0\f\v \b ƒ \f \f(\0(\0! \b!@  M@  \b \0kj (\0ƒ@ \n(" \nAj" \n,\0A\0H" \rj,\0\0A\0L\r\0 \v    \rj,\0\0G\r\0  (\0"\vAj6\0 \v :\0\0A\0!\v \r \r \n(\b \n,\0" A\0HAkIj!\r\v \t ,\0\0 \t(\0(\0\0!  (\0"Aj6\0  :\0\0 Aj! \vAj!\v\f\v\v\v@@@  M@ !\f\v Aj! ,\0\0"A.G\r \f \f(\0(\f\0!  (\0"\bAj6\0 \b :\0\0\v \t   (\0 \t(\0( \0  (\0  kj"6\0     \0kj  F6\0 \nAjr \nAj$\0\v \t  \t(\0(\0\0!  (\0"\bAj6\0 \b :\0\0 !\f\0\v\0\v§#\0AÀk"\0$\0 \0B%7¸ \0A¸j"ArAñ€ (Ä\t! \0 \0Aj"\b6Œ°!@@@ @ (\b! \0 9 \0 6 \b   \0Aj´"AJ\r\f\v \0 90 \0Aj  \0A¸j" \0A0j´"AL\r°! \0 9 \0AŒj   \0A j³\f\v°! (\b! \0 9\b \0 6\0 \0AŒj  \0A¸j \0³\v"AF\r \0(Œ\f\vA\0\v \0(Œ"  j"\t …!\n@ \0Aj F@ \0AÐ\0j!A\0!\f\v AtV"! E\r\v \0AÄ\0j"\v Î  \n \t  \0AÌ\0j \0AÈ\0j \vÐ \0(DŒ   \0(L \0(H  ï!  \0AÀj$\0 \f\v£\0\v\v\0\v\r\0    Å\t\v~\0\v¡#\0A@j"$\0 A3j!\0 ("AÊ\0q"A\bF"\b A\0NrE@  AÀ\0F\r A-:\x003 A4j!\0A\0 k\f\v \v!\t \b AÀ\0F"\nr A€qE A\0HrrE@ \0A+:\0\0 \0Aj!\0\vA\bAA\n \b \n!\b@ E A€qEr\r\0 AÀ\0F@ \0A0:\0\0 \0Aj!\0\f\v A\bG\r\0 \0A0:\0\0 \0AØ\0Aø\0 A€€q:\0 \0Aj!\0\v A(j \0 A@k \t \bµ@ Aˆ€qAˆ€F@@ \0 (("F\r \0 \0-\0\0"A k  Aá\0kAÿqAI:\0\0 \0Aj!\0\f\0\v\0\v ((!\v A3j"\0  …! Aj" Î \0   Aj"\0 A\fj A\bj Æ\t (Œ  \0 (\f (\b  ï A@k$\0\vÞ#\0Ak"$\0  6\f@ -\0AqE@ \0     \0(\0(\b\0!\f\v  Î !\0 (\0Œ  \0 \0(\0AA j(\0\0 (\0"  ,\0\v"A\0H!@   ÀA\0H"\0 ( Aÿq \0j F@ (\f! r A\fj ,\0\0ú Aj! (\0! -\0\v!\f\v\v\v Aj$\0 \v\0\v~\0\v\0\v\0\v\0\v\0\v\0\v\0\v\0\v\0\v~\0\v\0\v\0\v\0\0\v\0\0\v\0\0\v\0\0\v\0\v@A\0!\0  F \0 (\0 \0Atj"\0A€€€€q"Av r \0s!\0 Aj!\f\v\v\vŠ@  kAu"A÷ÿÿÿI@@ AM@ \0 :\0\v\f\v Ar"Ajÿ! \0 Aÿÿÿÿk6\b \0 6\0 \0 6 !\0\v  k"E  FrE@ \0  ü\n\0\0\v \0 jA\x006\0\f\v£\0\v\v\v\0 \0  ê\vT@@  G@A!\0  F\r (\0" (\0"H\r  J@A Aj! Aj!\f\v\0\v\v  G!\0\v \0\v@A\0!\0  F \0 ,\0\0 \0Atj"\0A€€€€q"Av r \0s!\0 Aj!\f\v\v\v\v\0 \0  ‘\v^   kj!@@  G@A!\0  F\r ,\0\0" ,\0\0"H\r  J@A Aj! Aj!\f\v\0\v\v  G!\0\v \0\v\t\0 \0‡\v\0 \0 \0(\0A\fk(\0jÎ\t\v\0 \0 \0(\0A\fk(\0j\v\0 \0  )\bA\0  (\0(4\0\v\t\0 \0\v•~ (," ("I@  6, !\vB!\n@ Aq"E AF AFqr\r\0 @  ( A j ,\0+A\0Hk¬!\t\v@@@ \0\v A\bq@ (\f (\bk¬!\b\f\v  (k¬!\b\f\v \t!\b\v  \b|"B\0S  \tUr\r\0 A\bq!@ P\r\0 @ (\fE\r\v AqE\r\0 E\r\v @  6  (\b §j6\f\v Aq@  ( §j6\v !\n\v \0 \n7\b \0B\x007\0\vš\b AF@A\0\v \0(\b! \0(\f! \0 \0(" \0(G@ \0(,\f\v \0-\x000AqE@A\v \0(,! \0(! \0A j"A\0ã A\n \0((AÿÿÿÿqAk \0,\0+A\0Nµ\v \0 \0(  \0,\0+"\bA\0H"\t"6 \0  \0($ \b \tj6 \0   kj"6   kj\v" Aj"  I"6, \0-\x000A\bq@ \0 6 \0 \0( \0A j \0,\0+A\0H"6\b \0   kj6\f\v \0 ÀÔ\t\vŽ \0(," \0("I@ \0 6, !\vA \0(\f" \0(\bM\r\0 AF@ \0 6 \0 Ak6\fA\0\v \0-\x000AqE@A Ak-\0\0 AÿqG\r\v \0 6 \0 Ak"\x006\f \0 :\0\0 \v\v_ \0(," \0("I@ \0 6, !\vA!@ \0-\x000A\bqE\r\0  \0("K \0 6  \v \0(\f"\0M\r\0 \0-\0\0!\v \vT@ \0(\0"E\r\0 (" (F@   (\0(4\0\0\f\v  6\0  Aj6 \vAG\r\0 \0A\x006\0\v\v$@ \0(\0"E\r\0  Ô\tAG\r\0 \0A\x006\0\v\v\0 \0 \0(\0A\fk(\0jÓ\t\v\0 \0 \0(\0A\fk(\0j"\0Aj‡ \0\v\r\0 \0Aj‡ \0\v–@@  L\r\0 \0(" \0("O@ \0 -\0\0 \0(\0(4\0\0AF\r Aj! Aj!\f \0  k"  k"  J" @   ü\n\0\0\v \0( \v j6  j!  j!\f\v\0\v\v \v3A! \0 \0(\0($\0AG@ \0(\f"-\0\0! \0 Aj6\f\v \v\0A\v‘@@  L\r\0@ \0(\f" \0("I@ \0  k"  k"  J" @   ü\n\0\0\v \0(\f \v j6\f\f\v \0 \0(\0((\0"AF\r  :\0\0A!\v  j!  j!\f\v\v \v\0 \0B7\b \0B\x007\0\v\0 \0B7\b \0B\x007\0\v\0 \0\v\f\0 \0• \0\v¯ \0A\bM@ V\vA!@A \0 \0AM" AkqE@ !\0\f\v@ "\0At! \0 I\r\0\v\vA@ \0k M@AÔð\nA06\0A\0\f\vA\0A A\vjAxq A\vI" \0jA\fjV"E\r\0 A\bk!@ \0Ak qE@ !\0\f\v Ak"(\0"Axq \0 jAkA\0 \0kqA\bk" \0A\0  kAMj"\0 k"k! AqE@ (\0! \0 6 \0  j6\0\f\v \0  \0(AqrAr6 \0 j" (Ar6   (\0AqrAr6\0  j" (Ar6  »\v@ \0("AqE\r\0 Axq" AjM\r\0 \0  AqrAr6 \0 j"  k"Ar6 \0 j" (Ar6  »\v \0A\bj\v\vU  \0(T" A\0 A€j"Ú" k  "   K"¤ \0  j"6T \0 6\b \0  j6 \vÎ~#\0Ak"$\0 A\0Aü\v\0 A6L  \x006, AŒ6  \x006T ! !#\0A°k"$\0@@ (E@ Ê (E\r\v -\0\0"E\r@@@@@ Aÿq"\0Ž@@ "Aj! -\0Ž\r\0\v B\0Ý@ ("\0 (hG@  \0Aj6 \0-\0\0\f\v J\vŽ\r\0\v (! )pB\0Y@  Ak"6\v  (,k¬ )x ||!\f\v@@ \0A%F@ -\0"\0A*F\r \0A%G\r\v B\0Ý@ -\0\0A%F@@ ("\0 (hG@  \0Aj6 \0-\0\0\f\v J\v"Ž\r\0\v Aj!\f\v ("\0 (hG@  \0Aj6 \0-\0\0!\f\v J!\v -\0\0 G@ )pB\0Y@  (Ak6\v A\0N \rr\r\n\f\t\v ( (,k¬ )x ||! !\f\vA\0! Aj\f\v@ \0A0k"\0A\tK\r\0 -\0A$G\r\0#\0Ak" 6\f   \0AtjAk  \0AK"\0Aj6\b \0(\0! Aj\f\v (\0! Aj! Aj\v!A\0!\vA\0! -\0\0"A0kAÿqA\tM@@ A\nl AÿqjA0k! -\0! Aj! A0kAÿqA\nI\r\0\v\v AÿqAí\0G A\0!\t A\0G!\v -\0!A\0!\n Aj\v"Aj!A!\0@@@@@@ AÿqAÁ\0k:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\0\t\t\t\t\t\t\t\t\v Aj  -\0Aè\0F"\0!A~A \0!\0\f\v Aj  -\0Aì\0F"\0!AA \0!\0\f\vA!\0\f\vA!\0\f\vA\0!\0 !\vA \0 -\0\0"\0A/qAF"!@ \0A r \0 "\fAÛ\0F\r\0@ \fAî\0G@ \fAã\0G\rA  AL!\f\v   Ý\t\f\v B\0Ý@ ("\0 (hG@  \0Aj6 \0-\0\0\f\v J\vŽ\r\0\v (! )pB\0Y@  Ak"6\v  (,k¬ )x ||!\v  ¬"Ý@ ("\0 (hG@  \0Aj6\f\v JA\0H\r\v )pB\0Y@  (Ak6\vA!@@@@@@@@@@@@ \fAØ\0k!\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\0\v \fAÁ\0k"\0AKA \0tAñ\0qEr\r\n\v A\bj  A\0ë\t )xB\0 ( (,k¬}Q\r E\r\t )! )\b! \t\v \fArAó\0F@ A jAA’ A\0:\0 \fAó\0G\r\b A\0:\0A A\0:\0. A\x006*\f\b\v A j -\0"\0AÞ\0F"A’ A\0:\0 Aj Aj !@@ AA j-\0\0"A-G@ AÝ\0F\r \0AÞ\0G!\b \f\v  \0AÞ\0G"\b:\0N\f\v  \0AÞ\0G"\b:\0~\v Aj\v!@@ -\0\0"\0A-G@ \0E\r \0AÝ\0F\r\n\f\vA-!\0 -\0"E AÝ\0Fr\r\0 Aj!@  Ak-\0\0"M@ !\0\f\v@ Aj" A jj \b:\0\0  -\0\0"\0I\r\0\v\v !\v A j \0j \b:\0 Aj!\f\0\v\0\vA\b!\f\vA\n!\f\vA\0!\vB\0!A\0!A\0!A\0!#\0Ak"\b$\0@ AG A$MqE@AÔð\nA6\0\f\v@ ("\0 (hG@  \0Aj6 \0-\0\0\f\v J\v"\0Ž\r\0\v@@ \0A+k\0\0\vAA\0 \0A-F! ("\0 (hG@  \0Aj6 \0-\0\0!\0\f\v J!\0\v@@@@ A\0G AGq \0A0GrE@ ("\0 (hG@  \0Aj6 \0-\0\0\f\v J\v"\0A_qAØ\0F@A! ("\0 (hG@  \0Aj6 \0-\0\0\f\v J\v"\0AŽ\tj-\0\0AI\r )pB\0Y@  (Ak6\v B\0Ý\f\v \rA\b!\f\v A\n " \0AŽ\tj-\0\0K\r\0 )pB\0Y@  (Ak6\v B\0ÝAÔð\nA6\0\f\v A\nG\r\0 \0A0k"A\tM@A\0!\0@ \0A\nl j"\0A™³æÌI (" (hG@  Aj6 -\0\0\f\v J\vA0k"A\tMq\r\0\v \0­!\v A\tK\r B\n~! ­!@@ ("\0 (hG@  \0Aj6 \0-\0\0\f\v J\v"\0A0k"A\tM  |"Bš³æÌ™³æÌTqE@ A\tM\r\f\v B\n~" ­"B…X\r\v\vA\n!\f\v@@  Akq@  \0AŽ\tj-\0\0"K\r\f\v  \0AŽ\tj-\0\0"M\r AlAvAq,\0\t!@   t"r!  ("\0 (hG@  \0Aj6 \0-\0\0\f\v J\v"\0AŽ\tj-\0\0"M"E A€€€À\0Iq\r\0\v ­! \rB ­"ˆ" T\r@ ­Bÿƒ  †„!  ("\0 (hG@  \0Aj6 \0-\0\0\f\v J\v"\0AŽ\tj-\0\0"M\r  X\r\0\v\f\v@   lj!  ("\0 (hG@  \0Aj6 \0-\0\0\f\v J\v"\0AŽ\tj-\0\0"M"E AÇãñ8Iq\r\0\v ­! \r ­!@  ~" ­Bÿƒ"B…V\r  |!  ("\0 (hG@  \0Aj6 \0-\0\0\f\v J\v"\0AŽ\tj-\0\0"M\r \b B\0 B\0„ \b)\bP\r\0\v\v\v  \0AŽ\tj-\0\0M\r\0@  ("\0 (hG@  \0Aj6 \0-\0\0\f\v J\vAŽ\tj-\0\0K\r\0\vAÔð\nAÄ\x006\0A\0!B!\v )pB\0Y@  (Ak6\v ArE BQq@AÔð\nAÄ\x006\0B~!\f\v  ¬"… }!\v \bAj$\0 )xB\0 ( (,k¬}Q\r\t E \fAð\0GrE@  >\0\f\v   Ý\t\f\v   –8\0\f\v   —9\0\f\v  7\0  7\b\f\vA Aj \fAã\0G"!\b AF@ ! \v@ \bAtV"E\r\v B\x007¨A\0!@@@ !\0@  (" (hG@  Aj6 -\0\0\f\v J\v"j-\0!E\r  :\0 Aj AjA A¨jÞ\t"A~F\r\0 AF@A\0!\t\f\v \0@ \0 Atj (6\0 Aj!\v \vE  \bGr\r\0\v \0 \bAtAr"\bAtb"\r\0\vA\0!\t \0!\nA!\v\f\b\vA\0!\t \0 A¨j (¨A\0\vE\r\v \0!\n\f\v \v@A\0! \bV"E\r@ !\0@  (" (hG@  Aj6 -\0\0\f\v J\v"j-\0!E@ \0!\tA\0\f\v \0 j :\0\0 Aj" \bG\r\0\v \0 \bAtAr"\bb"\r\0\vA\0!\n \0!\tA!\v\f\vA\0! @@  ("\0 (hG@  \0Aj6 \0-\0\0\f\v J\v"\0j-\0!@  j \0:\0\0 Aj!\f "\0!\tA\0\f\v\0\v\0\v@ ("\0 (hG@  \0Aj6 \0-\0\0\f\v J\v j-\0!\r\0\vA\0!\0A\0!\tA\0\v!\n (! )pB\0Y@  Ak"6\v )x  (,k¬|"P   QrEr\r \v@  \x006\0\v \fAã\0F\r\0 \n@ \n AtjA\x006\0\v \tE@A\0!\t\f\v  \tjA\0:\0\0\v ( (,k¬ )x ||! \r A\0Gj!\r\v Aj! -\0"\r\f\v\vA!\vA\0!\tA\0!\n\v \rA \r!\r\v \vE\r \t \n\f\vA!\r\v A°j$\0 Aj$\0 \r\vª \0(T"(\0! (" \0( \0("k"  I"@   ¤  (\0 j"6\0  ( k"6\v    K"@   ¤  (\0 j"6\0  ( k6\v A\0:\0\0 \0 \0(,"6 \0 6 \v)\0  (\0AjAxq"Aj6\0 \0 )\0 )\b—9\0\vÖ|~#\0A°k"\f$\0 \fA\x006,@ ½"B\0S@A!Aó! š"½!\f\v A€q@A!Aö!\f\vAùAô Aq"! E!\v@ B€€€€€€€øÿ\0ƒB€€€€€€€øÿ\0Q@ \0A  Aj" Aÿÿ{q™ \0  Ž \0A“ê\0A¼Ò A q"AñƒAðÚ   bAŽ \0A   A€À\0s™    J!\r\f\v \fAj!@@@  \fA,jä\t"  "D\0\0\0\0\0\0\0\0b@ \f \f(,"Ak6, A r"Aá\0G\r\f\v A r"Aá\0F\r \f(,!\v\f\v \f Ak"\v6, D\0\0\0\0\0\0°A¢!\vA  A\0H!\n \fA0jA A\0 \vA\0Nj"!@  ü"6\0 Aj!  ¸¡D\0\0\0\0eÍÍA¢"D\0\0\0\0\0\0\0\0b\r\0\v@ \vA\0L@ \v!\t ! !\b\f\v !\b \v!\t@A \t \tAO!@ Ak" \bI\r\0 ­!B\0!@  5\0 † |" B€”ëÜ€"B€”ëÜ~}>\0 Ak" \bO\r\0\v B€”ëÜT\r\0 \bAk"\b >\0\v@ \b "I@ Ak"(\0E\r\v\v \f \f(, k"\t6, ! \tA\0J\r\0\v\v \tA\0H@ \nAjA\tnAj! Aæ\0F!@A\tA\0 \tk" A\tO!\r@  \bM@A\0A \b(\0!\f\vA€”ëÜ \rv!A \rtAs!A\0!\t \b!@  (\0" \rv \tj6\0  q l!\t Aj" I\r\0\vA\0A \b(\0! \tE\r\0  \t6\0 Aj!\v \f \f(, \rj"\t6,   \bj"\b " Atj   kAu J! \tA\0H\r\0\v\vA\0!\t@  \bM\r\0  \bkAuA\tl!\tA\n! \b(\0"A\nI\r\0@ \tAj!\t  A\nl"O\r\0\v\v \n \tA\0 Aæ\0Gk Aç\0F \nA\0Gqk"  kAuA\tlA\tkH@ \fA0jA„`A¤b \vA\0Hj A€È\0j"\vA\tm"Atj!\rA\n! \v A\tlk"AL@@ A\nl! Aj"A\bG\r\0\v\v@ \r(\0"\v \v n" lk"E \rAj" Fq\r\0@ AqE@D\0\0\0\0\0\0@C! A€”ëÜG \b \rOr\r \rAk-\0\0AqE\r\vD\0\0\0\0\0@C!\vD\0\0\0\0\0\0à?D\0\0\0\0\0\0ð?D\0\0\0\0\0\0ø?  FD\0\0\0\0\0\0ø?  Av"F  K!@ \r\0 -\0\0A-G\r\0 š! š!\v \r \v k"6\0    a\r\0 \r  j"6\0 A€”ëÜO@@ \rA\x006\0 \b \rAk"\rK@ \bAk"\bA\x006\0\v \r \r(\0Aj"6\0 Aÿ“ëÜK\r\0\v\v  \bkAuA\tl!\tA\n! \b(\0"A\nI\r\0@ \tAj!\t  A\nl"O\r\0\v\v \rAj"   I!\v@ "\v \bM"E@ Ak"(\0E\r\v\v@ Aç\0G@ A\bq!\f\v \tAsA \nA \n" \tJ \tA{Jq" j!\nAA~  j! A\bq"\r\0Aw!@ \r\0 \vAk(\0"E\r\0A\n!A\0! A\np\r\0@ "Aj!  A\nl"pE\r\0\v As!\v \v kAuA\tl! A_qAÆ\0F@A\0! \n  jA\tk"A\0 A\0J"  \nJ!\n\f\vA\0! \n  \tj jA\tk"A\0 A\0J"  \nJ!\n\vA!\r \nAýÿÿÿAþÿÿÿ \n r"J\r \n A\0GjAj!@ A_q"AÆ\0F@ \t AÿÿÿÿsJ\r \tA\0 \tA\0J!\f\v  \t \tAu"s k­ Š"kAL@@ Ak"A0:\0\0  kAH\r\0\v\v Ak" :\0\0 AkA-A+ \tA\0H:\0\0  k" AÿÿÿÿsJ\r\v  j" AÿÿÿÿsJ\r \0A   j"\t ™ \0  Ž \0A0  \t A€€s™@@@ AÆ\0F@ \fAjA\tr!  \b \b K"!\b@ \b5\0 Š!@  \bG@  \fAjM\r@ Ak"A0:\0\0  \fAjK\r\0\v\f\v  G\r\0 Ak"A0:\0\0\v \0   kŽ \bAj"\b M\r\0\v @ \0Að AŽ\v \nA\0L \b \vOr\r@ \b5\0 Š" \fAjK@@ Ak"A0:\0\0  \fAjK\r\0\v\v \0 A\t \n \nA\tNŽ \nA\tk! \bAj"\b \vO\r \nA\tJ !\n\r\0\v\f\v@ \nA\0H\r\0 \v \bAj \b \vI! \fAjA\tr!\v \b!@ \v 5\0 \vŠ"F@ Ak"A0:\0\0\v@  \bG@  \fAjM\r@ Ak"A0:\0\0  \fAjK\r\0\v\f\v \0 AŽ Aj! \n rE\r\0 \0Að AŽ\v \0  \v k" \n  \nHŽ \n k!\n Aj" O\r \nA\0N\r\0\v\v \0A0 \nAjAA\0™ \0   kŽ\f\v \n!\v \0A0 A\tjA\tA\0™\v \0A  \t A€À\0s™  \t  \tJ!\r\f\v  AtAuA\tqj!\n@ A\vK\r\0A\f k!D\0\0\0\0\0\x000@!@ D\0\0\0\0\0\x000@¢! Ak"\r\0\v \n-\0\0A-F@  š ¡ š!\f\v    ¡!\v  \f(," Au"s k­ Š"F@ Ak"A0:\0\0 \f(,!\v A q!\v Ak" Aj:\0\0 AkA-A+ A\0H:\0\0 A\bqE A\0Lq!\b \fAj!@ " ü"AàŒ\tj-\0\0 \vr:\0\0  ·¡D\0\0\0\0\0\x000@¢"D\0\0\0\0\0\0\0\0a \bq Aj" \fAjkAGrE@ A.:\0 Aj!\v D\0\0\0\0\0\0\0\0b\r\0\vA!\r Aûÿÿÿ   k"\bjkJ\r\0 \0A  Aj  \fAj"k"\v \vAk H \v " \b Ar"jj" ™ \0 \n Ž \0A0   A€€s™ \0  \vŽ \0A0  \vkA\0A\0™ \0  \bŽ \0A   A€À\0s™    J!\r\v \fA°j$\0 \r\v~#\0A k"$\0  6<  6 A6 Aj"B\0Ý   Aë\t )\b! )\0! @  (ˆ  ( (A \0(\0" (\0"H\r\0A  J\r\0A \0("\0 ("H\r\0 \0 J\v\v‡@A¸ï\n(\0"(" (\bG@ !\f\v (\f"E@   (\0kAmAtÅ\n"6\f\vA¸ï\n 6\0  (\0"6\v  Aj6  \0(\x006\0 \0(!\0 A\x006\b  \x006 \vj \0!@ @ \0 *!@ @ ‡ \0 /!\f\v\v « \0 !\f\v\v@A˜Ë\n(\0E@A¨ï\n(\0A\0N\r\v \0ß\v\v \0((¸\v\0 \0 A ï\nAœï\nû\vå\t|~#\0AÐ\0k"$\0A˜Ë\n(\0A AH\r\0 \0:A!\b \0! A\bF!\f@ @   \fÜ\n! (!@ @  \t6° \b \tAtj 6\0 \tAj!\t\f\v A©w6°\v \0 !\f\v\v \bE@A\0!\bA\f\v \b \tã\n@A!A\0 A\bF\r \b \tå\n\f\v A\bF@A¨íA\0(A\0\f\v +\0!  +\b98  90A¸î A0j(A\0\v!\rA\0!A\0\v!\nAŒË\n-\0\0@Aˆ÷\b(\0 Aë.  A\bFq\r\0AŽ( \nE\r\0Aã.AÙ. A\nF\v6 Aúø A j\vAJ!@ \n@ \0!@ E\r \0 *!@ @ ( AÈ\0j  \nAÚ\n )H7 \0 /!\f\v\v \0 !\f\0\v\0\v As A\bGr\r\0 \0A\0¸\fA!\vAˆ÷\b(\0! \0!\v A\nG!@ \v@ \0 \v*!@ @ A(Ax (\0AqAFj(\0! (!@@ E\r\0 (\bE\r\0 ÓA˜Ë\n(\0AG\r@@ ((\b"(\0\v \v !   6  6A¥ç Aj( ((\b!\v (\0"(! A\x006 (\0! A\x006\0 À    AôÂ\n~ \f\v /¨"E\r\0  \vF@  \0(H((øÝ\n\f\v \n@A\0!A Á"A\0 A\0JA¬Ë\n-\0\0! !@  F\r@ E@  \b \tAÙ\n\f\v  ()"7\b  7@ A\bj AÈ\0jµAŒË\n-\0\0AO@ A(AØ\0 (\0AqAFj(\0 !  A(Ax (\0AqAFj(\0 6  6\0 AÙò \v  A(Ax (\0AqAFj(\0 (H (LAôÂ\n~ Ó\v Aj! ((°!\f\0\v\0\vA! "!@@ !  ((°"\fF\r\0 Aj! \f"\r\v\vA\0! A!@@  F@ A\0N@ \0   AôÂ\n—\r \f\v  Atj 6\0 Aj! ((°!\f\v\vAËA£¼AÊAϞ\0\0\v\v \0 /!\f\v\v \0 \v!\v\f\v\v \n@ \nä\n\v \rE@A\0! \tA\0 \tA\0J!\0@ \0 G@ \b Atj"(\0(\0 (\0 Aj!\f\v\v \b\v AÐ\0j$\0A\0\v®|@ \0(\0" (\0"K\r\0A!@  I\r\0 \0(" ("K\r  I\r\0 \0+\b" +\b"d\r  c\r\0 \0+" +"d\r  c\r\0 \0+ " + "d\r  c\r\0A! \0+(" +("d\r\0AA\0  c!\v \vA\v0\0AÀ\0H"A\bj \0A\bjA0ü\n\0\0  \0(8"\x0068 \0(A;¨ \vH|A \0(\0"\0+\b" (\0"+\b"c\r\0A  d\r\0A \0+\0" +\0"c\r\0  d\v\v²\b|#\0Ak"$\0@ ("(è@ A6\f + !\r +(!\f \0A6(A‘" \fD\0\0\0\0\0\0à?¢"š"\f98  \rD\0\0\0\0\0\0à?¢"\r90  \f9(  \rš"\f9  9  \f9  9\b  \r9\0\f\v@@@@@ ©Ak\0\v  ((\f"\b(\b"\t6\f@ \tAO@ \t‘! \b(,!\nA\0!@  \tF\r  At"j"\v  \nj"+\0D\0\0\0\0\0\0R@£9\0 \v +\bD\0\0\0\0\0\0R@£9\b Aj!\f\0\v\0\v  A\fjD\0\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\0Ý!\v ((\b(\0A¿;@ \0A6(\f\v@ ((\b(\0A¨ä\0;E\r\0  (\fÿ\nE\r\0 \0A6(\f\v \b(\bAK\r \b(\0E\r \0A6(\f\v A6\fA‘! ((\f"+! + ! +!\r  +(D\0\0\0\0\0\0R@£"\f98  \rD\0\0\0\0\0\0R@£"90  \f9(  D\0\0\0\0\0\0R@£"\r9  D\0\0\0\0\0\0R@£"\f9  \r9  \f9\b  9\0 \0A6(\f\v \0A6(  A\fjD\0\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\0Ý!\f\v  ((\b(\x006\0Aœú 4A\f\v \0A\x006(\vA\0! (\f!@@ D\0\0\0\0\0\0ð?b@ !\f\v ! D\0\0\0\0\0\0ð?a\r\v@  F\r   +\0¢9\0   +\b¢9\b Aj! Aj!\f\0\v\0\v \0 6 \0 6$   \0 \0Ajý\nA\0\v Aj$\0\v›|#\0Ak"$\0@ ("(è@ A6\f +(!\n + !\v \0A6(A‘"  \vD\0\0\0\0\0\0à?¢ "90   \nD\0\0\0\0\0\0à?¢ "9  9\b  9\0  š"98  9(  š"9  9\f\v@@@@@ ©Ak\0\v  ("(\f"(\b"\b6\fA!@ (\b(\0A¿;\r\0 ((\b(\0A¨ä\0;@ (, \bÿ\n\r\vA! (\bAM@ (\0\r\vA\0!\v \0 6( \bAO@ \b‘! (,! \0((AF\rA\0!@  \bF\r  At"j"\t+\b!\n  j" \n  \t+\0"\v \n@"\n£D\0\0\0\0\0\0ð? ¢D\0\0\0\0\0\0R@£9\b  \v  \n£D\0\0\0\0\0\0ð? ¢D\0\0\0\0\0\0R@£9\0 Aj!\f\0\v\0\v  A\fj  Ý!\f\v A6\fA‘! ((\f"+!\n + !\v +!\f   +(D\0\0\0\0\0\0R@£ "\r98  \fD\0\0\0\0\0\0R@£ ¡"\f90  \r9(   \vD\0\0\0\0\0\0R@£ "9  \nD\0\0\0\0\0\0R@£ ¡"9  9  9\b  \f9\0 \0A6(\f\v \0A6(  A\fj  Ý!\f\v  ((\b(\x006\0A½ú 4A\f\v   +\0D\0\0\0\0\0\0R@£ 9\0   +\bD\0\0\0\0\0\0R@£ 9\b  +D\0\0\0\0\0\0R@£ ¡9   +D\0\0\0\0\0\0R@£ 9  + D\0\0\0\0\0\0R@£ ¡9  +(D\0\0\0\0\0\0R@£ ¡9(   +0D\0\0\0\0\0\0R@£ 90  +8D\0\0\0\0\0\0R@£ ¡98\v \0 6$ \0 (\f"6   \0 \0Ajý\nA\0\v Aj$\0\v\0 \0 A¸î\nA´î\nû\v-}A  \0(\0Atj*\0"  (\0Atj*\0"^  ]\v\0 \0A4j› \0A(j›\v\t\0 \0§\v\v~ \0)\b" )\b"V  Tk\v\0 \0(\0Av"\0 (\0Av"K \0 Ik\vD| \0(( ((F@ \0(\0E (\0A\0Gq\v \0+" +"dA\0  c\v\v\t\0 \0·\v\v\t\0 \0é\vä\t\t|#\0A k"$\0 \0¸\v A\x006œ \0Aj!\b \0A$j!@@@@ (\0!Dÿÿÿÿÿÿï!\n ("!|  F| \nDH¯¼šò×z¾cE  FrE@  (Ak"(\x006\0  6\v \n \n (\0"ü"\vd@  6œ ! \v!\n\v Aj!\f\v\vDH¯¼šò×z¾c@ (œ"-\0AF\r  (\0"( "6\0  ("( "6˜  G@   Ç\v\f\v \tA‘Î\0N\r#\0Ak"$\0  (\0(\0A\0í    A\0A\0A\0î (\b! Aj$\0   A˜j í A:\0(  6\f  A\fj"¥ (\0 (˜ Ç\v  \b œ \tAj!\t\f\v\v \bëA\0!@  \0(O\r At Aj! \0(j(\0"üDH¯¼šò×z¾cE\r\0\v A\fj"A\x006T Aˆ•\t68 Aô”\t6\0 A”•\t(\0"\x006\0  \0A\fk(\0jA˜•\t(\x006\0  (\0A\fk(\0j"A\x006  Aj""\x006 A\x006\f B‚ €€à\x007  \0E6 A jA\0A(ü\v\0 Ajµ\t A\0:\0P B€€€€p7H Aô”\t6\0 Aˆ•\t68 Aä‘\t6\0 Ajµ\t B\x007 B\x007 B\x007\b B\x007 A¤’\t6\0 B\x007( A60 A\x006, ( A j" ,\0+"\bA\0H"\0! ($ \b \0! (0"\tA\bq@  6\f  6\b   j"\x006  \x006,\v@ \tAqE\r\0   j6, A\n ((AÿÿÿÿqAk \bA\0Nµ\v  6  6   ($ ,\0+"\0 \0A\0Hj6 -\x000AqE\r\0@ A\0H@  Aÿÿÿÿj"6 Aÿÿÿÿk!\f\v\v E\r\0   j6\v A‹Ì• (\0Í\vAŒ¡• +\b’AÐá• (Í\vA£­• ü’Aݬ•AšŠAñ€ -\0•A\bý!@ (4"\0Aq@ (0"\0 ("I@  60 !\0\v  ( \0‘\f\v \0A\bq@  (\f (‘\f\v A\x006\b B\x007\0\v A¸Ü\t6\0 Aj (\0  ,\0\vA\0Hƒ A”Ý\tAÈ\0\vAŠAúÙ\0A¸AÛ\0\0\vA\býAáÇ‚A”Ý\tAÈ\0\v A j$\0\v>| \0Aj"º\v!@ \0 \0(\0(\0\0 \0¸\v  º\v"¡™D-Cëâ6?d\r\0\v\vƒ\f| \0 \0(\0(\0\0#\0Ak"$\0 \0A\bj!\t \0Aj!@@@ (\0!@  \tF@@ (\0!@  \tG@@ ("\bÅ\v"E\r\0 +D\0\0\0\0\0\0\0\0cE\r\0 A\x006\f A\x006\b#\0Ak"\n$\0 \b A\fj"\v A\bj" í (\0" \b+"\r9  \r +¢9 \v(\0»\v  (( "6\0 É\v!\r (\0" \r9  \r +£9 õ@@ ð"E\r\0 üD\0\0\0\0\0\0\0\0cE\r\0 A|A \0+\0" +\0"c\r\0A  d\r\0A \0+\b" +\b"c\r\0  d\v\v\0 \0(\f (\fj \0( (jkAm\v\0 \0(\b (\bj \0(\0 (\0jkAm\vŒ@ \0( " (("J\r\0 ( " \0(("J\r\0A! \0(," ($"\bH\r\0 \0( (k  (,j \0($ \bjkAmj   jk jAm (\f" \0(\f"\0k \0 k \0 HkL!\v \vŒ@ \0($" (,"J\r\0 ($" \0(,"J\r\0A! \0((" ( "\bH\r\0 \0(\f (\fk ((  \b \0( jkjAmj  j  jkAm (" \0("\0k \0 k \0 HkL!\v \v  \0( ((L ( \0((LA\0\v\v  \0($ (,L ($ \0(,LA\0\v\v®\f#\0A0k"$\0@@@ \0:E\r\0 \0AA\bù! \0A\0 Aj"ƒ! \0AA\b Ÿ  A\0NrE@ \0ñE\r\f\v@@@@ @A\b  A\0H!\f\v A6 A\0H\r\v A\x006$  6 A\fj!\nA\0!#\0A€k"$\0 B\x007x B\x007p@ \0:E@ \nA\x006\0\f\v \0A\0AÈß\0AtA\0ú \0AAÔß\0AA\0ú AÔà\t(\x0060Aւ A0jA\0»" \0ì\v \0!@ @ AÔß\0A\0\\(\fE@   A{"AÔß\0AA3 ( 6\f AÔß\0A\0\\ 6\f\v \0 !\f\v\v \0!@ @ AÔß\0A\0\\(\f! \0 *!@ @@ A(Ax (\0AqAFj(\0AÔß\0A\0\\(\f" F\r\0  I@   A\0AQ\f\v   A\0AQ\v \0 /!\f\v\v \0 !\f\v\v :! B\x007h B\x007` B\x007X AØ\0j AÍ B\x007H B\x007@ B\x0078 A¼6T A»6PAˆ÷\b(\0!\v !@@ @ A (T\0\0\r Að\0j"A\0÷  (`6  A jö  â"A!\b \0 A"AÈß\0A\fA\03 AÈß\0A\0\\A:\0\b   \b A8jõ!\f \b!@@ @ ((\f"\t(\0AqAF@  \tAt\f\v \t!@ E\r  At \t !\f\0\v\0\v A\0ã! \0 A\0ë\v  6l AØ\0jA$! (X Atj (l6\0  \b›AŒË\n-\0\0E\r  \f6  6  (`Ak6 \vA¶ì Aj\f\v \b !\f\0\v\0\vAŒË\n-\0\0@ \0:! \0û! (`!  \0 6\f  6\b  6  6\0 \vAññ \v  \0A\0AÈß\0µ \0AAÔß\0µ A8j‚ Að\0jN AØ\0j A4j \nA« (4!\f\v  !\f\0\v\0\v A€j$\0 ! (\fAF@ \0ñ\r\f\v \0((\b(T\r A:\0A\0!@ (\f K@  Atj(\0"A‡&A˜A3AAà\0! (" 6\b  \0("(\b"\b+\x009\0  \b+9  (6  -\0s:\0s  (t6t  (ø6ø  (ü6ü  (ô6ô Aj! ñE\r\f\v\v \0!@ @AA\b! (" 6”  +D\0\0\0\0\0\0R@£9\0  +D\0\0\0\0\0\0R@£9\b \0 !\f\v\v (\f  \0 Ajú \0!@ @ (" (”"+\0D\0\0\0\0\0\0R@¢9  +\bD\0\0\0\0\0\0R@¢9  (A\x006” \0 !\f\v\vA\0! (\f!A\0!@  F@ \0( 6´ AjA! \0( 6¸A\0!A!@  F\r  Atj(\0!A!@ ("\b(´ N@ At"\t \b(¸j(\0í\v!\b \0((¸ Atj \b6\0 ((¸ \tj(\0 \bå\v Aj! Aj!\f\v\v Aj!\f\0\v\0  Atj(\0((´ j! Aj!\f\v\0\v\0\vAì™A’¹AËAŒ\0\0\v \0ñ\r\vA\0!@ (\f K@  Atj"(\0€ \0 (\0› Aj!\f\v\v \v \0ç\f\v \v A0j$\0\v  \0("\0-\0\b A\0N@ \0 :\0\b\vA\0G\vq@ E\r\0 \0(\b" \0(O\r\0 \0(\0 j"-\0\0!@@  :\0\0 A\nF Aj" Nr\r\0 Aj! -\0! Aj! \r\v\v \0 \0(\b j6\b\v \v\v\0  \0At\v% \0("\0(° A\0N@ \0 A\0G6°\vA\0G\v6|AAA\0 \0(\0"\0+\b \0+\0 " (\0"\0+\b \0+\0 "d  c\v\0 \0 AŒî\nAˆî\nû\v/\0  \0(\0(Atj(\0"\0  (\0(Atj(\0"K \0 Ik\v\0 (\0(\0" \0(\0(\0"\0J \0 Jk\v\0 \0\v\b\0  \0y\v\0   \0¥E@A\0\v 9\vs@ \0"((x"\0\r\0\v A(Ax (\0Aq"\0AFj(\0("(ô" A(AØ\0 \0AFj(\0("\0(ô"J@A\0\v  J@A\v (ø \0(øH\vo| (\0((`!@ \0(\0((`"@A!\0 E\r +" +"d\rA!\0  c\rA!\0 + " + "d\r  c\v A\0G!\0\v \0\vç|#\0A°k"$\0  Aøj6p  AÀj6@@ \0(\0"("\n(¤"\vAq"\0 (\0"("(¤Aq"I\r\0@ \0 K\r\0AA  "\0A(AØ\0 \0(\0"Aq"AFj(\0("(ô \0A(Ax AFj(\0("\b(ôk" Au"s k"\f  "\tA(AØ\0 \t(\0"\rAq"AFj(\0("(ô \tA(Ax AFj(\0("(ôk" Au"s k"I! \f G\r + \b+¡™" + +¡™"d"  c"\br@AA   \b!\f\v Av" \rAv"I\r\0  K\r ! \n-\0, \v  \0 \n-\0T"((¤\vA q@ Aà\0j"\0 À (! \0!\v@ -\0,@ !\0\f\v  \t -\0T"\0(!\v -\0¤A q@  \0À (!\v ("\0-\0,! -\0,Aq@ AqE\r \0+" +"c\r  d\r \0+" +"c\r  d!\v \r \0-\0T! -\0TAq@ AqE\r \0+8" +8"c\r  d\r \0+@" +@"c\r  d!\v \r ((¤AÀq"\0 ((¤AÀq"I\r\0 \0 K\rA! (\0Av"\0 (\0Av"I\r \0 K!\f\vA!\f\vA!\v A°j$\0 \v@| \0+\0" +\0"d@ \0+\b +\beE\v  cA\0A \0+\b +\bfA\0\v\vô\t#\0Ak"$\0 \0(0!#\0Ak"$\0@@A\0!  (\0O\r\0@ At" (j"\bA\bj! \b( M@ A- ( jA\bj2 Aj!\f  )\b7\b  )\x007\0  !@@@ ( j"("\b\0\v (\b Atj(\0\f\v (\b Atj(\0 \b\0\v Aj!\f\v\0\v\0\v\v (  Aj$\0 \0Aj!@ \0( \tK@  )\b7\b  )\x007\0  \t!@@@ \0(("\0\v (\0 Atj(\0\f\v (\0 Atj(\0 \0\v \tAj!\t\f\v\v A- 2 \0 Aj$\0\v|A \0+\0" +\0"d  c\v\0 \0(‚ \0\v |AAA\0 \0+\0" +\0"c  d\vZ|A \0+\b +\b¡"DH¯¼šò×z>d DH¯¼šò×z¾c" A \0+\0 +\0¡"DH¯¼šò×z>d DH¯¼šò×z¾c\v\vZ|A \0+\0 +\0¡"DH¯¼šò×z>d DH¯¼šò×z¾c" A \0+\b +\b¡"DH¯¼šò×z>d DH¯¼šò×z¾c\v\v—#\0Ak"$\0 \0Aj! \0(\f!@  OE@  )\b7\b  )\x007\0  !@@@ \0("\0\v (\0 Atj(\0\f\v (\0 Atj(\0 \0\v Aj!\f\v\v A- 2 Aj$\0\v%\0 \0(\0((ø"\0 (\0((ø"J \0 Hk\v\0 A¦· (\bA3\v\0 Aµ· (A3\v\0 A–· (\0A3\v\0A \0(\0"\0 (\0"K \0 I\v%\0 \0(\0((ô"\0 (\0((ô"J \0 Hk\v%\0 (\0((ô" \0(\0((ô"\0J \0 Jk\v•#\0Ak"$\0 \0@@ \0(\b M@ \0A- \02  \0)\b7\b  \0)\x007\0  !@@@ \0("\0\v \0(\0 Atj(\0\f\v \0(\0 Atj(\0 \0\v Aj!\f\v\v\v \0 Aj$\0\v#\0 \0((\0Av"\0 ((\0Av"K \0 Ik\v\0 \0(Aj \0G@ \0\v\vŽ|#\0A0k"$\0  (\b"6$  6 \0AŠý A j +\0! +! +\b! +!\b  (\b6  \b  D\0\0\0\0\0\0à?¢9\b    D\0\0\0\0\0\0à?¢9\0 \0A±ú  A0j$\0\v\0\vß~|#\0A k"$\0@@ \0@ E\r (\bE\r (D@  )\b"7h  )\0"7`  )"7€  )"\b7ˆ  7p  \b7x  7  7˜ ¿!\t ¿!\n @A\0! \0AØËA\0@ AFE@  Aà\0j Atj"+\x009P  +\b9X \0AÊ AÐ\0j Aj!\f\v\v  \t9H  \n9@ \0AÊ A@k  (\b64 A60 \0Aëù A0j\vA\0! \0AØËA\0@ AFE@  Aà\0j Atj"+\x009  +\b9( \0AÊ A j Aj!\f\v\v  \t9  \n9 \0AÊ Aj  (\b6 A6\0 \0AŒú \v A j$\0\vA¤ÀAö½AÏA¨À\0\0\vAÑ&Aö½AÐA¨À\0\0\vA»™Aö½AÑA¨À\0\0\vþ \0(D! \0(H!#\0Ak"$\0 A\x006\f@ A\0A˜ò\n(\0"\0@ A\fj!@ \0  \0(\0F\r @  \x006\0\v \0($"\0\r\0\v\vA\0\v"\0E@Ad!\f\v  \0(G@Ad!\f\v \0($!@ (\f"@  6$\f\vA˜ò\n 6\0\v \0("A qE@   \0(  \0(\f \0)\r\v \0(\b@ \0(\0\vA\0! \0-\0A q\r\0 \0\v Aj$\0 ‹\vˆ|#\0A€k"$\0@@ \0@ E\r (\bE\r@@ (D@ (L"A“F\r  \0 A\x006L B\x007D\v à\bE\r (þ\t!@ (A~qAF@  A jû\t  (8"6H AÿÿÿÿO@AÔð\nA06\0A\f\vAA@ AA B\0A(V"A\bj \f"A\0N@  6\f\f\v  \f\v A6 B\x007 A6  6 A˜ò\n(\x006$A˜ò\n 6\0 (\0\v" AAF‹\v! A:\0  A\0 AG"6D\f\v (D!\v @ A“6L\v ß (DE\r\v + !\b +\0!\t  +\b +(¡9  \t \b¡9 \0Aݔ Aj@ -\0AF@ \0 ã\b\f\v  (\f6\0 \0A½Á \v \0A °A\0\v A€j$\0\vA¤ÀAö½A’AÖ*\0\0\vAÑ&Aö½A“AÖ*\0\0\vA»™Aö½A”AÖ*\0\0\v€\0#\0Ak"$\0@@@@ \0@ \0("E\r E\r (\bE\r (\bE\r \0AäØA\0 \0AíØA\0 \0AËØA\0 \0AëÚA\0 \0AÑÝA\0 \0AîÐA\0  (\b6\0 \0AÇÐ  \0AðÐA\0 \0AÈØA\0 Aj$\0\vA¤ÀAö½Aò\0A¾î\0\0\0\vAñõ\0Aö½Aó\0A¾î\0\0\0\vAÑ&Aö½Aô\0A¾î\0\0\0\vA»™Aö½Aõ\0A¾î\0\0\0\vAÄë\0Aö½A÷\0A¾î\0\0\0\vÅ|#\0A k"$\0@@ \0@ E\r (\b"E\r  6œ A\x006˜ B€€€€Ð\x007 B\x007ˆ B\x007€ B\x007x A\x006p B€€€p7h B€€€€p7` B\x007X B‚€€€Ð\x007P \0A‡þ AÐ\0j +! +! +\0!  +\b"9H A@k 9\0  98  90  9(  9  9  9  9\b  9\0 \0Aˆ¨  A j$\0\vA¤ÀAö½AÜ\0Aü\0\0\vAÑ&Aö½AÝ\0Aü\0\0\vA»™Aö½AÞ\0Aü\0\0\vÎ|#\0Aà\0k"$\0@@ \0@ E\r (\bE\r +\b! +! +" +\0"   ¡"¡D\0\0\0\0\0\0à?¢! \0AëÄ \0 (\b     ¡" D\0\0\0\0\0\0à¿¢!@ \0(è@  9X  9P  9H  9@ \0Aº A@k \0(è!  90  9(  6 \0AÏÆ A j\f\v  9  9  9\b  9\0 \0Aó¹ \v \0AÍÕ Aà\0j$\0\vA¤ÀAö½A0AÀý\0\0\0\vAÑ&Aö½A1AÀý\0\0\0\vA»™Aö½A2AÀý\0\0\0\v%#\0Ak"$\0  6\0 \0AŒÿ  Aj$\0\v“|#\0AÀk"$\0 \0A¯±AÈì\nAÄì\n(\0Ak6\0 A˜j" \0(AjA(ü\n\0\0 C\0\0\0\0ë!  6” A™˜6 \0AŠë Aj@  F@ \0AžÝ \0+è! \0+ð!\b B€€€€€€€ø?7`  \b9X  9P \0A«Ô AÐ\0j A@k \0(è²»9\0 B\x0078 B\x0070 \0A‡Ô A0j AÈì\n(\x006 B\x007 B\x007 \0A¦Õ Aj  6\0 \0AòÎ   AÀj$\0  Atj"+\0! +\b!\b \0+ø!\t \0+€!\n  \0(+ 9ˆ B\x007€  \b \n 9x   \t 9p \0A¦ Að\0j Aj!\f\v\v\v¾|#\0A€k"$\0 \0Aá‰A\0!AÈì\nAÄì\n(\0Ak6\0 AÈj" \0(A8jA(ü\n\0\0 C\0\0\0\0ë! A§˜6À  Aj6Ä B\x007ø B\x007ð AðjAŠë AÀje@  G@  Atj"+\0!\b +\b!\t \0+ø!\n \0+€!\v  \0(+ 9¸ B\x007°  \t \v 9¨  \b \n 9  AðjA¦ A je Aj! @ " G\r\v \0+ø!\b +\0!\t \0+€!\n +\b!\v  \0(+ 9˜ B\x007  \v \n 9ˆ  \t \b 9€ AðjA¦ A€je !\f\v\v  Aðj"6p \0A˜Ý Að\0j \0+è!\b \0+ð!\t B€€€€€€€ø?7`  \t9X  \b9P \0A«Ô AÐ\0j A@k \0(è²»9\0 B\x0078 B\x0070 \0A‡Ô A0j AÈì\n(\0Ak6 B\x007 B\x007 \0A¦Õ Aj  6\0 \0AòÎ   N A€j$\0\vØ|#\0A k"$\0 \0AAÈì\nAÄì\n(\0Ak6\0 Aøj" \0(AjA(ü\n\0\0 C\0\0\0\0ë!  Aj6ô A™˜6ð \0AŠë Aðj@  F@@ \0+ø!\b +\0!\t \0+€!\n +\b!\v  \0(+ 9È B\x007À  \v \n 9¸  \t \b 9° \0A¦ A°j \0A²Ý \0+è!\b \0+ð!\t B€€€€€€€ø?7   \t9˜  \b9 \0A«Ô Aj  \0(è²»9€ B\x007ø B\x007ð \0A‡Ô AðjA\0! AÈì\n(\0Ak6à B\x007Ð B\x007Ø \0A¦Õ AÐj  6À \0AòÎ AÀj  E\r\0 A˜j" \0(A8jA(ü\n\0\0 C\0\0€>ë!  6 \0Aúê Aj@  F@ \0AèÎ \0+è!\b \0+ð!\t B€€€€€€€ø?7`  \t9X  \b9P \0A«Ô AÐ\0j A@k \0(è²»9\0 B\x0078 B\x0070 \0A‡Ô A0j AÈì\n(\0Ak6 B\x007 B\x007 \0A¦Õ Aj  6\0 \0AòÎ    Atj"+\0!\b +\b!\t \0+ø!\n \0+€!\v B\x007€  \t \v 9x  \b \n 9p \0A’à Að\0j Aj!\f\v\v\v  Atj"+\0!\b +\b!\t \0+ø!\n \0+€!\v  \0(+ 9è B\x007à  \t \v 9Ø  \b \n 9Ð \0A¦ AÐj Aj!\f\v\v A j$\0\v«\t|#\0Aðk"$\0 \0AŸ¯AÈì\nAÄì\n(\0Ak6\0 \0+€!\f \0+ø!\r \0("+ ! \0+è! +\0! +!\b \0+ð!\n +\b!\v +!\t A¸j" AjA(ü\n\0\0 C\0\0\0\0ë! B€€€€€€€ø?7  B\x007è B\x007à    \b ¡¢" \n \t \v¡¢"\b "\t£D\0\0\0\0\0\0à?¢D\0\0\0\0\0\0@¢9¨ Aàj"A®¦ A je  \b9  \tD\0\0\0\0\0\0Ð?¢9ˆ  9€ A«Ô A€je  \0(è²»9ð B\x007è B€€€€€€ «À\x007à A‡Ô Aàje AÈì\n(\x006Ð    \r ¢"9À  \n \v \f ¢"9È A¦Õ AÀje  6° AòÎ A°je \0   @ Aˆj" \0(A8jA(ü\n\0\0 C\0\0\0\0ë! B\x007€ B\x007x B\x007p \0A³Þ Að\0j B€€€€€€€ø?7`  \b9X  9P \0A«Ô AÐ\0j A@k \0(è²»9\0 B\x0078 B\x0070 \0A‡Ô A0j AÈì\n(\x006  9  9 \0A¦Õ Aj  6\0 \0AòÎ  \v AàjN Aðj$\0\vë|#\0AÐk"$\0 (\0! ("+!  (\x006°  9¨  6  \0AÁþ A jAÈì\nAÄì\n(\0A\tk6\0 +\0! -\x000"Aì\0G@  | Aò\0F@ + \f\v + D\0\0\0\0\0\0à?¢\v¡"9\0\v \0+ð! \0+€!\b +\b!\t \0+è!\n \0+ø!\v Aø\0j" \0(AjA(ü\n\0\0 C\0\0\0\0ë! B\x007È B\x007À ((\0! (\0! B\x007p B€€€€€€€è?7h  6d  6` AÀj"AÉÜ Aà\0je  (+ \0+è¢9P Až¦ AÐ\0je A@k \0(è²»9\0 B\x0078 B\x0070 A‡Ô A0je AÈì\n(\x006  \n  \v ¢9   \t \b ¢9 A¦Õ Aje  6\0 AòÎ e \0  N  AÐj$\0\v\0 \0A‰³AÄì\nAÄì\n(\0Aj6\0\v\0 \0A÷²AÄì\nAÄì\n(\0Ak6\0\v\v\0 \0A¢µ\v-#\0Ak"$\0  \0((\b 6\0 \0A΁  Aj$\0\v\v\0 \0A¥ˆ\v\0 \0AˆAÄì\nAÄì\n(\0Ak6\0\v\v\0 \0AØ´\v\v\0 \0AÆ´\v\v\0 \0A‡\v?#\0Ak"$\0  6\b  6\0  6 \0A©Â AÄì\n Avl6\0 Aj$\0\v\v\0 \0Aü”\v…|#\0A@j"$\0  \0((\b 60 \0Aï÷ A0j \0+è! \0+ð!  \0+øD\0\0\0\0\0\0à?¢ \0+ð¢"9   D\0\0\0\0\0\0à?¢¢"9 D\0\0\0\0\0@@£Ì!  D\0\0\0\0\0@@£ÌD\0\0\0\0\0€f@¢D-DTû!\t@£"   D\0\0\0\0\0€f@¢D-DTû!\t@£"  "D333333ó?¢9  9\b  9\0 \0A³×  \0AõÐ \0AðÏ A@k$\0\vs#\0A k"$\0 \0A¥Ù \0A Ð \0A©Ï \0Ašÿ AÝõ\x006 A×õ\x006 \0Aš× Aj A™’6 A“’6\0 \0Aš×  A j$\0\v.#\0Ak"$\0  6 AýÂ\b6\0 \0A™ó  Aj$\0\v\r\0 \0  A\0¤\r\v£|#\0Að\0k"$\0  +\0"\v9` +\b!\n  \v9  \n9h  \n9 \0Aó¥ AjA\0!@ Aj" OE@  )h78  )`70  Atj!\bA!A!@ AFE@ At" A0jj"\t  \bj"+\x009\0 \t +\b9\b Aj!\f\v\v@ AFE@ A j A0j ¸D\0\0\0\0\0\0@£A\0A\0‹  + 9\0  +(9\b \0Aˆ¦  Aj!\f\v\v !\f\v\v \0Aî€ Að\0j$\0\v\r\0 \0  A¤\r\v¦~#\0A0k"$\0 A\fjA\0A$ü\v\0  6 \0 ^!@ @ \0  c \0 A\0Í!\f\v\v )\b!\nA\0!A\0!@ \0(0"@ \n§! (\0"@A (\bt!\v Ak!@  F\r@@   j qAtj"\b(\0"\tAj\0\v \t()\b \nR\r\0 ("@ \bA6\0  Ak6\f\vA¢˜AؾAšAê‰\0\0\v Aj!\f\0\v\0\vAüÕAؾA‡Aê‰\0\0\v \0(,"\0 A\fjA \0(\0\0 A0j$\0\vž|#\0A0k"$\0 +! +! +\0!  +\b"D\0\0\0\0\0\0R@£9  D\0\0\0\0\0\0R@£9   ¡"  D\0\0\0\0\0\0R@£9 A´ÉAñ€ 6\0   ¡"  D\0\0\0\0\0\0R@£9\b \0A´Ù  A0j$\0\v›|#\0AÐ\0k"$\0 + !\t|@ -\x000"Aò\0G@ Aì\0G\r +\0\f\v +\0 \t¡\f\v +\0 \tD\0\0\0\0\0\0à¿¢ \v!\v \0(Ð! +\b!\f ("+!\n@@@ (\0"|@ E\r\0 (\0"E\r\0  G\r\0 \0AÐj! \nD\0\0\0\0\0\0ð?"!\b\f\v 9!@@A\0!@@ @@ A!F\r At"(¤Ã\b! Aj!    9"  IÏ  Gr\r\0\v A Ã\bj\f\v  68  64 A€Ã\b60Aôá A0j4 A- ö\t"\rAøÑ\v6 \0A­ñ A j \0(Ð"@ (\0!\f\vA\0!AAC"\r (!A\0!\f\v  k!\f\v\v   ("(\0…6\0\v \0 6Ð + \n\v \0AÐj!D\0\0\0\0\0\0ð?"!\b E\r\v \b +\b¡™D\0\0\0\0\0\0à?e\r\v B\x007@ B\x007H  \0 AÈ\0j A@k¥\r9  \b9 \0AúÝ Aj@@ \0(Ð"\r\0AAC"\r\0A\0!\f\v  \b9\b\v  6\0\v \0A"W \0 (\0\t  \f \nD\0\0\0\0\0\0k@£ 9\b  \v \tD\0\0\0\0\0\0b@£ 9\0 \0AçÙ  AÐ\0j$\0\v\f\0 \0AÑA\0\vú|#\0Aðk"$\0AÀì\n-\0\0!AÀì\nA:\0\0@ Aq\r\0 \0(è"E AÚ\0Fr\r\0 AÍã\x006Ô A€Ã\b6ÐAœ¸ AÐj(\v \0 Aèj Aàj¥\r!  +à"9À  +è"9È \0Aݤ AÀj AýÂ\b6° \0AՄ A°j  9¨  9  \0Aˆ© A j AýÂ\b6 \0A…– Aj AýÂ\b6€ \0A–Û A€j AýÂ\b6ð \0AôÛ Aðj AýÂ\b6à \0A“ç Aàj AýÂ\b6Ð \0A€Þ AÐj AýÂ\b6À \0A˜É AÀj AýÂ\b6° \0AÒÛ A°j AýÂ\b6  \0A™Û A j AýÂ\b6 \0Aû‘ Aj AýÂ\b6€ \0AÀÜ A€j AýÂ\b6ð \0AÕç Aðj \0AÚÏA\0 AýÂ\b6à \0Aµ® Aàj AýÂ\b6Ð \0A® AÐj \0AÈØA\0 AýÂ\b6À \0A´í AÀj AýÂ\b6° \0Aó× A°j AýÂ\b6  \0A­× A j \0AÏA\0 AýÂ\b6 \0Aÿ‹ Aj AýÂ\b6€ \0AèŒ A€j AýÂ\b6p \0A¥Ù Að\0j AýÂ\b6` \0A‚á Aà\0j AýÂ\b6P \0AÌÙ AÐ\0j AýÂ\b6@ \0A©à A@k \0Aý“A\0 AýÂ\b60 \0AÖß A0j AýÂ\b6 \0Aš‹ A j AýÂ\b6 \0AÖÉ Aj  9\b  9\0 \0A³¬  \0AÃÎA\0 \0AæøA\0 Aðj$\0\vL#\0Ak"$\0 AøÂ\b6\0 \0AéÐ  \0(Ð" (\0 \0(ÐA\0\v \0A\x006Ð Aj$\0\vˆ~#\0A0k"$\0 \0(! \0(\f(\0")\0!  (\b6,  7$ AøÂ\b6 \0AÊð A j  (\b 6 AøÂ\b6 \0A³ Aj AøÂ\b6\0 \0A«©  A0j$\0\v˜#\0A0k"$\0 \0("(˜@ \0ô \0AäÊ \0  Û \0A²É A\bj" AjA(ü\n\0\0 \0 ì (˜"AF \0Aä (˜ \vAF@ \0Aµï\v \0ó \0Aî€\v A0j$\0\v´#\0A0k"$\0 \0("(˜@ \0ô \0AäÊ \0  Û \0A²É A\bj" AjA(ü\n\0\0 \0 ì \0AÈÉ \0 + m (˜"AF \0Aä (˜ \vAF@ \0Aµï\v \0AòÈ \0ó \0Aî€\v A0j$\0\vˆ#\0AÐ\0k"$\0 \0("(˜@ \0ô \0A–É \0  Û \0A²É@ @ A(j" A8jA(ü\n\0\0 \0 ì\f\vA¼ì\n(\0@ \0A“’\f\v \0AÞÇ\vA¼ì\n(\0AF@A¼ì\nA\x006\0\v \0AÈÉ \0 + m \0AÙÊ  AjA(ü\n\0\0 \0 ì (˜"AF \0Aä (˜ \vAF@ \0Aµï\v \0ó \0Aî€\v AÐ\0j$\0\v´|#\0AÐ\0k"$\0 \0("(˜@  +\b" + ¡¡9\b  +\0" + ¡¡9\0 \0ô \0AºÉ \0 AÛ \0A²É@ @ A(j" A8jA(ü\n\0\0 \0 ì\f\vA¼ì\n(\0@ \0A“’\f\v \0AÞÇ\vA¼ì\n(\0AF@A¼ì\nA\x006\0\v \0AÈÉ \0 + m \0AÙÊ  AjA(ü\n\0\0 \0 ì (˜"AF \0Aä (˜ \vAF@ \0Aµï\v \0ó \0Aî€\v AÐ\0j$\0\v¸|#\0AÐ\0k"$\0@ \0("(˜E\r\0 (+ \0+࢝"D\0\0\0\0\0\0\0\0dE\r\0 \0ô \0A¿È  +\b Dš™™™™™á¿¢ "9\b  9H  )\x007@ \0 A@kÀ  (\x0060 \0A§É A0j A\bj" AjA(ü\n\0\0 \0 ì \0A½\b ("(\b"Aj  (\0! \0AßÇ \0  \0AßÇ  9\0 \0A \b @ \0 -\x000"Aì\0FAŠ Aò\0G\rAô¢\v\v \0ó \0Aî€\v AÐ\0j$\0\v\v\0A¼ì\nA6\0\v\v\0A¼ì\nA6\0\vn#\0A k"$\0 \0(! \0A¨® (\b -\0\0@  (\b 6 \0A¿4 Aj\v  \0(¨ \0(¤l6\0 \0AÑÈ A¼ì\nA\x006\0 A j$\0\v@~#\0Ak"$\0 \0(\f(\0")\0!  (\b6\b  7\0 \0A†ð  Aj$\0\v–#\0Ak"$\0 \0((\b!A°ì\n(\0E@A¸ì\nA 6\0A´ì\nA¡6\0A°ì\nA€à\t(\x006\0\v (LA°ì\n6 A­\r A\x006\b  (-\0sAF:\0\f  \0(@"E AFr:\0\r  \0A A\bj¬\r Aj$\0\vÆ@@@ \0(@\0\v \0(\0!Ñ" A(ü\n\0\0  (P6P  )H7H  )@7@  )T7T  )\\7\\  (d6d  (h6h ! \0((\b!\0#\0Ak"$\0@ AŒÖE@  AAŒÅ6 AŒ6\0AÅð 4\f\v (œ"  (4û68@ \0A‡&A\0A3@ \0((\b\r\v -\0›Aq\r\0Aš±A\04\f\v A\x006$  (˜A€€€À\0r6˜  \0¯ ® ¼\v Aj$\0 ¼ \v \0(\0( ¼\v\v\0 \0AËÍ \0 x \0AãÕ\vh \0Aۗ \0A\0A\0õ \0A«Ä@  G@ \0  Atj"+\0m \0A,W \0 +\bšm Aj" F\r \0A W\f\v\v \0AÌÕ\vê#\0Ak"$\0 \0(!@@@ Ak\0\v \0  ”!\f\v \0“!\v \0AŸù\0 -\0Aq@ \0A‡Æ \0 (Üx \0AÙÍ\v \0  õ \0AÆ AÍ\0:\0A\0!@  FE@ \0 AjAð \0  Atj"+\0m \0A,W \0 +\bšm A AÃ\0 :\0 Aj!\f\v\v \0AÌÕ Aj$\0\v¤@@@ Ak\0\v \0  ”!\f\v \0“!\v \0A§ä\0 \0  õ \0A«Ä@  F@ \0 +\0m \0A,W \0 +\bšm \0AÌÕ \0  Atj"+\0m \0A,W \0 +\bšm \0A W Aj!\f\v\v\v¢#\0Ak"\0$\0@ \0A\fj \0A\bj\r\0AØð\n \0(\fAtAjV"6\0 E\r\0 \0(\bV"@AØð\n(\0" \0(\fAtjA\x006\0  E\r\vAØð\nA\x006\0\v \0Aj$\0AÔò\nAà˜6\0A¼ò\nA*6\0AØò\nA€€6\0AÜò\nAÀÆ\n(\x006\0\v\v¬‘\n–\0A€\b\vñøÿØÿ\0ÅÐÓÆ\0~\0{%s}\0 -tags {%d%s%p}\0 %.0f}\0%s { %s }\0|edgelabel|\0 -font {\x000123456789abcdefghijklmnopqrstuvwxyz\0quartz\0idx == sz\0loz\0graphviz\0gvwrite_no_z\0porthoxy\0scalexy\0/svg/navy\0invempty\0node_set_is_empty\0reference to binary entity\0asynchronous entity\0incomplete markup in parameter entity\0entity declared in parameter entity\0cannot suspend in external parameter entity\0XML or text declaration not at start of entity\0undefined entity\0parser->m_openInternalEntities == openEntity\0parser->m_openValueEntities == openEntity\0parser->m_openAttributeEntities == openEntity\0infinity\0list->size < list->capacity\0ret.size < ret.capacity\0fantasy\0/svg/ivory\0out of memory\0February\0January\0gvplugin_dot_layout_LTX_library\0gvplugin_neato_layout_LTX_library\0gvplugin_core_LTX_library\0gather_time_entropy\0copy\0albany\0July\0SparseMatrix_multiply\0equally\0assembly\0summersky\0shy\0satisfy\0beautify\0nojustify\0Classify\0/svg/lightgrey\0/svg/dimgrey\0/svg/darkgrey\0/svg/lightslategrey\0/svg/darkslategrey\0/svg/slategrey\0webgrey\0x11grey\0/svg/grey\0move to front lock inconsistency\0extract_adjacency\0merge_oneway\0array\0allocArray\0/svg/lightgray\0/svg/dimgray\0/svg/darkgray\0/svg/lightslategray\0/svg/darkslategray\0/svg/slategray\0webgray\0x11gray\0/svg/gray\0Thursday\0Tuesday\0Wednesday\0Saturday\0Sunday\0Monday\0Friday\0May\0../../lib/cgraph/grammar.y\0%m/%d/%y\0porthoyx\0portho_yx\0xxx\0px\0box\0viewBox\0chkBoundBox\0/MediaBox\0get_edge_label_matrix\0ideal_distance_matrix\0must not undeclare prefix\0unbound prefix\0htmllex\0max\0#%02x%02x%02x\0#%2x%2x%2x%2x\0#%1x%1x%1x\0-+ 0X0x\0-0X+0X 0X-0x+0x 0x\0rarrow\0larrow\0Helvetica-Narrow\0arrow_length_crow\0/svg/snow\0spring_electrical_embedding_slow\0/svg/lightyellow\0/svg/greenyellow\0/svg/lightgoldenrodyellow\0/svg/yellow\0fatal error - scanner input buffer overflow\0flex scanner push-back overflow\0couriernew\0SpringSmoother_new\0TriangleSmoother_new\0diag_precon_new\0QuadTree_new\0StressMajorizationSmoother2_new\0n && new\0skew\0strview\0/svg/honeydew\0 -anchor w\0sortv\0pov:pov\0Nov\0inv\0equiv\0piv\0noname.gv\0GD_rank(g)[r].av == GD_rank(g)[r].v\0cc%s_%zu\0cc%s+%zu\0/svg/peru\0nu\0mu\0%c%llu\0Thu\0tau\0Tau\0Nu\0Mu\0_port_%s_(%d)_(%d)_%u\0Number of iterations = %u\0Number of increases = %u\0plaintext\0stresswt\0input\0textlayout\0dot_layout\0neato_layout\0initLayout\0clust\0mapClust\0labeljust\0scAdjust\0August\0edgesfirst\0nodesfirst\0maximal_independent_edge_set_heavest_edge_pernode_supernodes_first\0exist\0realignNodelist\0appendNodelist\0slot_from_const_list\0slot_from_list\0defaultdist\0mindist\0power_dist\0graph_dist\0avg_dist\0getEdgeList\0iquest\0lowast\0spring_electrical_embedding_fast\0gv_sort\0viewport\0tailport\0unexpected parser state - please send a bug report\0headport\0html_port\0insert\0RTreeInsert\0findSVert\0start\0part\0estimate_text_width_1pt\0quot\0root\0not\0make_vn_slot\0emit_xdot\0xdot:xdot\0eps:xdot\0svg:xdot\0jpg:xdot\0png:xdot\0jpeg:xdot\0gif:xdot\0jpe:xdot\0xdot1.4:xdot\0xdot1.2:xdot\0sdot\0middot\0gv:dot\0plain-ext:dot\0dot:dot\0eps:dot\0canon:dot\0plain:dot\0svg:dot\0jpg:dot\0png:dot\0jpeg:dot\0gif:dot\0jpe:dot\0bot\0doDot\0span->font\0vagxbprint\0endpoint\0xdot_point\0decide_point\0Unsatisfied constraint\0transparent\0component\0invalid argument\0comment\0junk after document element\0cent\0i == ecnt\0arialmt\0get_hash_secret_salt\0circuit\0poly_init\0Multilevel_init\0nslimit\0mclimit\0Portrait\0light\0virtual_weight\0lheight\0KP_Right\0Bookman-Light\0gt\0KP_Left\0charset\0inset\0bitarray_reset\0gv_arena_reset\0subset\0bitarray_set\0matrix_set\0scarlet\0/svg/darkviolet\0/svg/blueviolet\0/svg/violet\0Trebuchet\0agxget\0tailtarget\0labeltarget\0edgetarget\0headtarget\0bitarray_get\0stylesheet\0strict\0agcopydict\0agmakedatadict\0rec->dict == datadict\0write_dict\0hintersect\0gvbisect\0encoding specified in XML declaration is incorrect\0aspect\0layerselect\0KP_Subtract\0QuadTree_repulsive_force_interact\0compact\0Oct\0requested feature requires XML_DTD support in Expat\0labelfloat\0label_float\0SparseMatrix_from_coordinate_format\0/svg/wheat\0monchains_at\0Sat\0Agraphinfo_t\0Agedgeinfo_t\0Agnodeinfo_t\0\\t\0row < me->nrows\0minus\0oplus\0radius\0hearts\0samplepoints\0diredgeconstraints\0level assignment constraints\0xy pseudo-orthogonal constraints\0yx pseudo-orthogonal constraints\0xy orthogonal constraints\0yx orthogonal constraints\0line segments\0set_cell_heights\0rects\0accountingReportStats\0entityTrackingReportStats\0ZapfDingbats\0remincross\0compress\0gvusershape_file_access\0brass\0class\0applyattrs\0agmakeattrs\0bindattrs\0parse_layers\0mkClusters\0round_corners\0make_barriers\0cdata.ntoplevel == agnnodes(g) - cdata.nvars\0cannot realloc ops\0cannot realloc pnlps\0eps\0core_loadimage_ps\0eps:ps\0ps2:ps\0(lib):ps\0gv_trim_zeros\0agxbuf_trim_zeros\0texgyreheros\0imagepos\0tinos\0setEdgeLabelPos\0Setting initial positions\0xlintersections\0columns\0dejavusans\0nimbussans\0liberationsans\0freesans\0setChildSubtreeSpans\0OpenSans\0offset == n_terms\0ditems\0diams\0col < me->ncols\0cannot realloc dq.pnls\0cannot realloc pnls\0levels\0forcelabels\0diagonals\0merge_ranks\0splitBlocks\0invis\0cannot realloc tris\0set_cell_widths\0Calculating shortest paths\0yes\0showboxes\0beautify_leaves\0attach_edge_label_coordinates\0polylines\0splines\0orthogonal lines\0texgyretermes\0otimes\0Times\0fontnames\0prefix must not be bound to one of the reserved namespace names\0SparseMatrix_sum_repeat_entries\0peripheries\0GetBranches\0f < graph[j].nedges\0minmax_edges\0exchange_tree_edges\0makeStraightEdges\0undoClusterEdges\0compoundEdges\0merge_trees\0__clusternodes\0agnnodes\0ND_id(np) == n_nodes\0LoadNodes\0sides\0spades\0vertices\0coords\0setbounds\0mds\0cds\0makeSelfArcs\0emit_edge_graphics\0clubs\0consolas\0%lf%2s\0\nString starting:<%.80s\0\nString starting:"%.80s\0 %.*s\0%s%s\0expat: Accounting(%p): Direct %10llu, indirect %10llu, amplification %8.2f%s\0%.*s%c%s\0 %s:%s\0__%d:%s\0/%s/%s\0%s-%s\0,%s\0 font-family="%s\0" stroke-dasharray="%s\0" class="%s\0poly %s\0((%f,%f),(%f,%f)) %s %s\0color %s\0root = %s\0 Title: %s\0%s:%d: %s\0"strict": %s\0cour\0utr\0appendattr\0addattr\0beginstr\0fstr\0strview_str\0pov_color_as_str\0vpsc!=nullptr\0bendToStr\0uarr\0crarr\0larr\0harr\0darr\0uArr\0rArr\0lArr\0hArr\0dArr\0Apr\0SparseMatrix_multiply_vector\0terminator\0insulator\0internalEntityProcessor\0texgyrecursor\0syntax error\0money_get error\0Unknown error\0Error\0rfloor\0lfloor\0labelfontcolor\0pencolor\0fillcolor\0bgcolor\0row major\0column major\0neighbor\0mr\0rankdir\0pagedir\0layer\0upper >= lower\0NodeCover\0/svg/silver\0cluster\0expandCluster\0rpromoter\0lpromoter\0center\0maxiter\0partial character\0! rootParser->m_parentParser\0dkgreencopper\0coolcopper\0gv_sort_compar_wrapper\0taper\0overlap_bezier\0fig_bezier\0courier\0Courier\0hier\0dagger\0Dagger\0outputorder\0postorder\0flat_reorder\0cellborder\0fixLabelOrder\0cylinder\0/svg/lavender\0render\0folder\0cluster_leader\0ND_UF_size(n) <= 1 || n == leader\0October\0reference to invalid character number\0November\0September\0December\0macr\0br\0star\0feldspar\0regular\0clear\0brvbar\0Mar\0\\r\0ND_rank(v) == r\0streq\0strview_eq\0strview_str_eq\0strview_case_str_eq\0strview_case_eq\0vp\0%%BeginProlog\n/DotDict 200 dict def\nDotDict begin\n\n/setupLatin1 {\nmark\n/EncodingVector 256 array def\n EncodingVector 0\n\nISOLatin1Encoding 0 255 getinterval putinterval\nEncodingVector 45 /hyphen put\n\n% Set up ISO Latin 1 character encoding\n/starnetISO {\n dup dup findfont dup length dict begin\n { 1 index /FID ne { def }{ pop pop } ifelse\n } forall\n /Encoding EncodingVector def\n currentdict end definefont\n} def\n/Times-Roman starnetISO def\n/Times-Italic starnetISO def\n/Times-Bold starnetISO def\n/Times-BoldItalic starnetISO def\n/Helvetica starnetISO def\n/Helvetica-Oblique starnetISO def\n/Helvetica-Bold starnetISO def\n/Helvetica-BoldOblique starnetISO def\n/Courier starnetISO def\n/Courier-Oblique starnetISO def\n/Courier-Bold starnetISO def\n/Courier-BoldOblique starnetISO def\ncleartomark\n} bind def\n\n%%BeginResource: procset graphviz 0 0\n/coord-font-family /Times-Roman def\n/default-font-family /Times-Roman def\n/coordfont coord-font-family findfont 8 scalefont def\n\n/InvScaleFactor 1.0 def\n/set_scale {\n dup 1 exch div /InvScaleFactor exch def\n scale\n} bind def\n\n% styles\n/solid { [] 0 setdash } bind def\n/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def\n/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def\n/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def\n/bold { 2 setlinewidth } bind def\n/filled { } bind def\n/unfilled { } bind def\n/rounded { } bind def\n/diagonals { } bind def\n/tapered { } bind def\n\n% hooks for setting color \n/nodecolor { sethsbcolor } bind def\n/edgecolor { sethsbcolor } bind def\n/graphcolor { sethsbcolor } bind def\n/nopcolor {pop pop pop} bind def\n\n/beginpage {\t% i j npages\n\t/npages exch def\n\t/j exch def\n\t/i exch def\n\t/str 10 string def\n\tnpages 1 gt {\n\t\tgsave\n\t\t\tcoordfont setfont\n\t\t\t0 0 moveto\n\t\t\t(\\() show i str cvs show (,) show j str cvs show (\\)) show\n\t\tgrestore\n\t} if\n} bind def\n\n/set_font {\n\tfindfont exch\n\tscalefont setfont\n} def\n\n% draw text fitted to its expected width\n/alignedtext {\t\t\t% width text\n\t/text exch def\n\t/width exch def\n\tgsave\n\t\twidth 0 gt {\n\t\t\t[] 0 setdash\n\t\t\ttext stringwidth pop width exch sub text length div 0 text ashow\n\t\t} if\n\tgrestore\n} def\n\n/boxprim {\t\t\t\t% xcorner ycorner xsize ysize\n\t\t4 2 roll\n\t\tmoveto\n\t\t2 copy\n\t\texch 0 rlineto\n\t\t0 exch rlineto\n\t\tpop neg 0 rlineto\n\t\tclosepath\n} bind def\n\n/ellipse_path {\n\t/ry exch def\n\t/rx exch def\n\t/y exch def\n\t/x exch def\n\tmatrix currentmatrix\n\tnewpath\n\tx y translate\n\trx ry scale\n\t0 0 1 0 360 arc\n\tsetmatrix\n} bind def\n\n/endpage { showpage } bind def\n/showpage { } def\n\n/layercolorseq\n\t[\t% layer color sequence - darkest to lightest\n\t\t[0 0 0]\n\t\t[.2 .8 .8]\n\t\t[.4 .8 .8]\n\t\t[.6 .8 .8]\n\t\t[.8 .8 .8]\n\t]\ndef\n\n/layerlen layercolorseq length def\n\n/setlayer {/maxlayer exch def /curlayer exch def\n\tlayercolorseq curlayer 1 sub layerlen mod get\n\taload pop sethsbcolor\n\t/nodecolor {nopcolor} def\n\t/edgecolor {nopcolor} def\n\t/graphcolor {nopcolor} def\n} bind def\n\n/onlayer { curlayer ne {invis} if } def\n\n/onlayers {\n\t/myupper exch def\n\t/mylower exch def\n\tcurlayer mylower lt\n\tcurlayer myupper gt\n\tor\n\t{invis} if\n} def\n\n/curlayer 0 def\n\n%%EndResource\n%%EndProlog\n%%BeginSetup\n14 default-font-family set_font\n% /arrowlength 10 def\n% /arrowwidth 5 def\n\n% make sure pdfmark is harmless for PS-interpreters other than Distiller\n/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse\n% make \'<<\' and \'>>\' safe on PS Level 1 devices\n/languagelevel where {pop languagelevel}{1} ifelse\n2 lt {\n userdict (<<) cvn ([) cvn load put\n userdict (>>) cvn ([) cvn load put\n} if\n\n%%EndSetup\0sup\0group\0cup\0thinsp\0ensp\0emsp\0nbsp\0perp\0weierp\0generate-constraints.cpp\0/emsdk/emscripten/system/lib/libcxxabi/src/private_typeinfo.cpp\0block.cpp\0csolve_VPSC.cpp\0top\0prop\0agxbpop\0nop\0asymp\0comp\0findCComp\0bmp\0scale_clamp\0xlp\0lp != clp\0tail_lp\0head_lp\0tailtooltip\0labeltooltip\0edgetooltip\0headtooltip\0hellip\0tailclip\0headclip\0/svg/papayawhip\0hp\0transpose_step\0computeStep\0layerlistsep\0layersep\0ipsep\0ranksep\0nodesep\0subgraphs nested more than %d deep\0Sep\0sfdp\0cp\0webp\0idmap\0cluster_map\0cmapx:map\0eps:map\0cmapx_np:map\0imap_np:map\0ismap:map\0imap:map\0cmap:map\0svg:map\0jpg:map\0png:map\0jpeg:map\0gif:map\0jpe:map\0overlap\0levelsgap\0cap\0KP_Up\0%I:%M:%S %p\0start <= p\0rsquo\0lsquo\0rdquo\0ldquo\0bdquo\0sbquo\0rsaquo\0lsaquo\0raquo\0laquo\0auto\0Nunito\0/svg/tomato\0neato\0euro\0/svg/gainsboro\0MethodZero\0micro\0nimbusmono\0liberationmono\0freemono\0arimo\0ratio\0portho\0rho\0Rho\0/svg/indigo\0pinfo\0ccgraphinfo\0ccgnodeinfo\0cl_edge_info\0getPackInfo\0parsePackModeInfo\0circo\0ico\0\\%03o\0/svg/rosybrown\0/svg/sandybrown\0verydarkbrown\0/svg/saddlebrown\0/svg/brown\0KP_Down\0cannot change setting once parsing has begun\0Sun\0Jun\0thorn\0/svg/crimson\0xdot_json\0xdot_json:json\0json0:json\0omicron\0Omicron\0scaron\0Scaron\0webmaroon\0x11maroon\0/svg/maroon\0/svg/lightsalmon\0/svg/darksalmon\0/svg/salmon\0upsilon\0epsilon\0Upsilon\0Epsilon\0resolution\0distortion\0partition\0dot_position\0Setting up stress function\0unclosed CDATA section\0postaction\0rotation\0orientation\0abomination\0accountingGetCurrentAmplification\0xdotversion\0STsetUnion\0n\0A->m == A->n\0job->obj->u.n\0nzc == (size_t)n\0s,%lf,%lf%n\0 e,%lf,%lf%n\0%d %1["]%n\0v == n\0b == n\0ncluster <= n\0psym\0alefsym\0thetasym\0quantum\0sum\0/svg/plum\0invtrapezium\0medium\x009:prism\0lrm\0custom\0aptr->tag == T_atom\0/dev/urandom\0gv_random\0mm\0rlm\0sim\0IMDS_given_dim\0ordm\0cm\0parallelogram\0/svg/mintcream\0Jul\0tl\0frasl\0Symbol\0findCol\0= 0 && level <= n->level\0stress_majorization_kD_mkernel\0is_parallel\0Calculating circuit model\0Calculating subset model\0Calculating MDS model\0xlabel\0taillabel\0headlabel\0graph label\0iexcl\0objp->lbl\0oval\0mergevirtual\0/svg/lightcoral\0/svg/coral\0SparseMatrix_from_coordinate_arrays_internal\0Multilevel_coarsen_internal\0QuadTree_add_internal\0arrow_length_normal\0arial\0radial\0/svg/teal\0real\0local\0estimate_character_width_canonical\0global\0q->l\0../../lib/cgraph/scan.l\0tk:tk\0gif:tk\0patchwork\0tok\0book\0AvantGarde-Book\0sink\0overlap_shrink\0spicypink\0/svg/hotpink\0/svg/lightpink\0/svg/deeppink\0neonpink\0/svg/pink\0newrank\0clusterrank\0_new_rank\0install_in_rank\0remove_from_rank\0/svg/cornsilk\0oneblock\0v->left->block == v->right->block\0/svg/firebrick\0PQcheck\0pack\0/svg/black\0Black\0back\0zwj\0zwnj\0job->obj\0getintrsxi\0psi\0Psi\0Calibri\0Fri\0twopi\0dpi\0voronoi\0Voronoi\0chani\0demi\0Bookman-Demi\0AvantGarde-Demi\0/svg/darkkhaki\0/svg/khaki\0phi\0chi\0Phi\0Chi\0di\0Xi\0Pi\0ND_id(np) == i\0N_IDX(pq->pq[i]) == i\0StressMajorizationSmoother_smooth\0SpringSmoother_smooth\0both\0startswith\0linelength\0bad_array_new_length\0average_edge_length\0eth\0penwidth\0lwidth\0setlinewidth\0shortpath\0fontpath\0Pobspath\0beginpath\0imagepath\0endpath\0straight_path\0map_path\0sflag\0bez->eflag\0!*flag\0!flag\0m_alloc_tracker.bytesAllocated >= absDiff\0tailhref\0labelhref\0edgehref\0headhref\x000123456789abcdef\0ordf\0pdf\0sigmaf\0\\f\0%.0Lf\0%Lf\0us->f\0%.03f\0%s transmit %.3f\0rgb<%9.3f, %9.3f, %9.3f> transmit %.3f\0%.02f\0%.2f\0%.0f,%.0f,%.0f,%.0f\0 %.0f,%.0f\0%.0f %.0f %.0f %.0f\0" fill-opacity="%f\0" stroke-opacity="%f\0\nfinal e = %f\0bronze\0arrowsize\0labelfontsize\0searchsize\0fixedsize\0node_set_size\0textspan_size\0svg_size\0index < list->size\0capacity > dict->size\0capacity > self->size\0bz.size\0point-size\0SIZE_MAX - sizeof(size_t) - EXPAT_MALLOC_PADDING >= size\0normalize\0ELinitialize\0mkMaze\0icurve\0try_reserve\0node_set_remove\0strdict_remove\0solve\0!v->active\0-active\0font_in_list_permissive\0/svg/olive\0ugrave\0ograve\0igrave\0egrave\0agrave\0Ugrave\0Ograve\0Igrave\0Egrave\0Agrave\0true\0/svg/bisque\0oblique\0AvantGarde-BookOblique\0AvantGarde-DemiOblique\0Helvetica-Narrow-BoldOblique\0Courier-BoldOblique\0Helvetica-BoldOblique\0Helvetica-Narrow-Oblique\0Courier-Oblique\0Helvetica-Oblique\0navyblue\0/svg/lightskyblue\0/svg/deepskyblue\0/svg/skyblue\0newmidnightblue\0/svg/midnightblue\0/svg/lightblue\0/svg/cadetblue\0/svg/cornflowerblue\0/svg/dodgerblue\0/svg/powderblue\0neonblue\0/svg/mediumblue\0/svg/lightsteelblue\0/svg/steelblue\0/svg/royalblue\0/svg/darkblue\0richblue\0lightslateblue\0/svg/mediumslateblue\0/svg/darkslateblue\0/svg/slateblue\0/svg/aliceblue\0/svg/blue\0callStoreEntityValue\0storeAttributeValue\0Blue\0neato_enqueue\0Tue\0yacute\0uacute\0oacute\0iacute\0eacute\0aacute\0Yacute\0Uacute\0Oacute\0Iacute\0Eacute\0Aacute\0reference to external entity in attribute\0duplicate attribute\0note\0primersite\0ribosite\0restrictionsite\0proteasesite\0/svg/ghostwhite\0/svg/navajowhite\0/svg/floralwhite\0/svg/antiquewhite\0/svg/white\0White\0pop_obj_state\0pcp_rotate\0concentrate\0decorate\0QuadTree_repulsive_force_accumulate\0notranslate\0/svg/chocolate\0parserCreate\0geomUpdate\0invhouse\0/svg/chartreuse\0XML_Parse\0m_alloc_tracker.bytesAllocated >= increase\0slot_from_base\0/svg/azure\0signature\0more_core\0Msquare\0Palatino Linotype\0A->type == B->type\0supe\0ellipse_tangent_slope\0gvrender_usershape\0miter_shape\0landscape\0Landscape\0June\0none\0document is not standalone\0cousine\0/svg/mediumaquamarine\0/svg/aquamarine\0name\0us->name\0reserved prefix (xml) must not be undeclared or bound to another namespace name\0style\0/svg/thistle\0title\0/svg/mediumpurple\0darkpurple\0webpurple\0rebeccapurple\0very_light_purple\0med_purple\0x11purple\0/svg/purple\0shapefile\0gradientangle\0rectangle\0Rectangle\0labelangle\0invtriangle\0destination point not in any triangle\0source point not in any triangle\0dfsCycle\0doublecircle\0Mcircle\0invisible\0expat_heap_increase_tolerable\0thorndale\0inputscale\0get_fontscale\0oscale\0imagescale\0/svg/whitesmoke\0mandarinorange\0/svg/darkorange\0/svg/orange\0exchange\0/svg/beige\0newedge\0delete_fast_edge\0delete_flat_edge\0add_tree_edge\0patchwork_init_node_edge\0twopi_init_node_edge\0makeStraightEdge\0makeSelfEdge\0makeCompoundEdge\0!use_stage\0osage\0page\0gvloadimage\0vee\0tee\0QUAD_TREE_HYBRID, size larger than %d, switch to fast quadtree\0feasible_tree\0node_set_free\0expat_free\0gv_arena_free\0newnode\0installnode\0agnode\0delete_fast_node\0packmode\0SplitNode\0otilde\0ntilde\0atilde\0Otilde\0Ntilde\0Atilde\0divide\0trade\0graphviz_node_induce\0source\0repulsiveforce\0illegal parameter entity reference\0error in processing external entity reference\0recursive entity reference\0labeldistance\0TB_balance\0TBbalance\0device\0monospace\0/svg/oldlace\0face\0sube\0 -anchor e\0s1.comm_coord == s2.comm_coord\0Mrecord\0forward\0prod\0lightgoldenrod\0mediumgoldenrod\0/svg/darkgoldenrod\0/svg/palegoldenrod\0/svg/goldenrod\0/svg/burlywood\0lightwood\0mediumwood\0darkwood\0_background\0compound\0no element found\0fatal flex scanner internal error--no action found\0/svg/blanchedalmond\0arrow_length_diamond\0Mdiamond\0node_set_find\0strdict_find\0gvusershape_find\0ELleftbnd\0expand\0cumberland\0brightgold\0oldgold\0/svg/gold\0bold\0Helvetica-Narrow-Bold\0Times-Bold\0Courier-Bold\0Palatino-Bold\0NewCenturySchlbk-Bold\0Helvetica-Bold\0%0*lld\0%*lld\0+%lld\0n->branch[i].child\0%+.4ld\0%s%ld\0solid\0/svg/mediumorchid\0/svg/darkorchid\0/svg/orchid\0illegal character(s) in public id\0dijkstra_sgd\0fixed\0curved\0derived\0dotted\0memory exhausted\0locale not supported\0parsing aborted\0parser not started\0attribute macros not implemented\0accountingDiffTolerated\0rootParser->m_alloc_tracker.bytesAllocated >= bytesAllocated\0fatal flex scanner internal error--end of buffer missed\0condensed\0/svg/mediumvioletred\0/svg/palevioletred\0Improper %s value %s - ignored\0%s value %s < %d - too small - ignored\0%s value %s > %d - too large - ignored\0/svg/indianred\0/svg/darkred\0a successful prior call to function XML_GetBuffer is required\0tapered\0/svg/orangered\0reserved prefix (xmlns) must not be declared or undeclared\0/svg/red\0striped\0ill-conditioned\0undefined\0not constrained\0labelaligned\0text declaration not well-formed\0XML declaration not well-formed\0unfilled\0input in flex scanner failed\0triangulation failed\0parsing finished\0dashed\0limit on input amplification factor (from DTD and entities) breached\0wedged\0size == freed\0rounded\0spline [%.03f, %.03f] -- [%.03f, %.03f] is horizontal; will be trivially bounded\0spline [%.03f, %.03f] -- [%.03f, %.03f] is vertical; will be trivially bounded\0parser not suspended\0parser suspended\0Wed\0Red\0SparseMatrix_add\0node_set_add\0strdict_add\0dd != parent_dd\0KP_Add\0pad\0xlhdxload\0xlhdxunload\0read\0arrowhead\0lhead\0samehead\0box3d\0%s_%d\0_span_%d\0_block_%d\0_weak_%d\0_clone_%d\0.%d\0%Y-%m-%d\0%lf,%d\0%s in line %d\0%%%%BoundingBox: %d %d %d %d\0"_subgraph_cnt": %d\0"_gvid": %d\0"head": %d\0agxbputc\0vpsc\0cp->src\0ucirc\0ocirc\0icirc\0ecirc\0acirc\0Ucirc\0Ocirc\0Icirc\0Ecirc\0Acirc\0pc\0labelloc\0expat_malloc\0expat_realloc\0gv_recalloc\0gv_arena_alloc\0bakerschoc\0semiSweetChoc\0mc\0SparseMatrix_is_symmetric\0A->is_pattern_symmetric\0pic:pic\0italic\0Bookman-LightItalic\0ZapfChancery-MediumItalic\0Bookman-DemiItalic\0Times-BoldItalic\0Palatino-BoldItalic\0NewCenturySchlbk-BoldItalic\0Times-Italic\0Palatino-Italic\0NewCenturySchlbk-Italic\0radic\0#fcfcfc\0routesplines: %d edges, %zu boxes %.2f sec\0: %.2f sec\0listdelrec\0level graph rec\0level edge rec\0level node rec\0Dec\0_neato_cc\0bc\0visibility.c\0SparseMatrix.c\0htmllex.c\0index.c\0smart_ini_x.c\0gvrender_core_pov.c\0lu.c\0cvt.c\0layout.c\0textspan_lut.c\0adjust.c\0nodelist.c\0shortest.c\0closest.c\0gvrender_core_dot.c\0constraint.c\0dotinit.c\0neatoinit.c\0patchworkinit.c\0twopiinit.c\0osageinit.c\0emit.c\0flat.c\0arrows.c\0mincross.c\0stress.c\0post_process.c\0ccomps.c\0ns.c\0utils.c\0xlabels.c\0shapes.c\0dotsplines.c\0neatosplines.c\0clusteredges.c\0hedges.c\0attr.c\0refstr.c\0fastgr.c\0cluster.c\0taper.c\0gvrender.c\0split.q.c\0comp.c\0gvrender_core_map.c\0heap.c\0ortho.c\0gvrender_core_json.c\0partition.c\0position.c\0gv_fopen.c\0textspan.c\0geom.c\0random.c\0routespl.c\0xml.c\0Multilevel.c\0spring_electrical.c\0gvrender_core_tk.c\0rank.c\0pack.c\0dtstrhash.c\0graph.c\0gvrender_core_svg.c\0gvrender_core_fig.c\0stuff.c\0maze.c\0sparse_solve.c\0route.c\0write.c\0colxlate.c\0xmlparse.c\0gvloadimage_core.c\0gvusershape.c\0circle.c\0htmltable.c\0edge.c\0gvloadimage.c\0blocktree.c\0QuadTree.c\0node.c\0node_induce.c\0gvdevice.c\0compound.c\0trapezoid.c\0sgd.c\0conc.c\0gvrender_core_pic.c\0rec.c\0dijkstra.c\0arena.c\0fPQ.c\0class2.c\0%lf,%lf,%lf,%lf%c\0%lf,%lf,%lf,%[^,]%c\0\\%c\0$c\0wb\0nsub\0sethsb\0rb\0protect_rsqb\0job\0core_loadimage_pslib\0Feb\0odb\0init_splines_bb\0bezier_bb\0proteinstab\0rnastab\0/svg/olivedrab\0\\b\0rwa\0/svg/aqua\0iota\0Iota\0/svg/darkmagenta\0/svg/magenta\0delta\0Delta\0zeta\0theta\0Theta\0beta\0Zeta\0Beta\0prev != obj->data\0makeGraphData\0Eta\0nimbussansa\0para\0kappa\0Kappa\0/svg/sienna\0Verdana\0gamma\0Gamma\0sigma\0Sigma\0consola\0nabla\0/svg/fuchsia\0Georgia\0alpha\0Alpha\0omega\0Omega\0area\0lambda\0Lambda\0helvetica\0Helvetica\0mica\0>= INT_MIN && y <= INT_MAX\0x >= INT_MIN && x <= INT_MAX\0w >= 0 && w <= INT_MAX\0e_cnt <= INT_MAX\0pair.right <= INT_MAX\0pair.left <= INT_MAX\0target <= INT_MAX\0nsegs <= INT_MAX\0n_edges <= INT_MAX\0stp.nvertices <= INT_MAX\0obs[poly_i]->pn <= INT_MAX\0input_route.pn <= INT_MAX\0graph->n <= INT_MAX\0h >= 0 && h <= INT_MAX\0e_cnt - 1 <= INT_MAX\0LIST_SIZE(&list) - 1 <= INT_MAX\0LIST_SIZE(&layerIDs) - 1 <= INT_MAX\0strlen(args) <= INT_MAX\0LIST_SIZE(&objl) <= INT_MAX\0agnnodes_z(g) <= INT_MAX\0LIST_SIZE(&ctx->Tree_edge) <= INT_MAX\0i < INT_MAX\0result <= (int)UCHAR_MAX\0ssz <= UCHAR_MAX\0col >= 0 && col <= UINT16_MAX\0x<=X\0W\0V\0U\0\\T\0TEXT\0STRESS_MAJORIZATION_POWER_DIST\0STRESS_MAJORIZATION_GRAPH_DIST\0STRESS_MAJORIZATION_AVG_DIST\0FAST\0FONT\0b == B_RIGHT\0HEIGHT\0B_LEFT\0_%llu_SUSPECT\0BT\0Trebuchet MS\0INVIS\0%H:%M:%S\0VR\0TR\0A->format == B->format && A->format == FORMAT_CSR\0LR\0DIR\0HR\0CENTER\0%%TRAILER\0A->type == MATRIX_TYPE_REAL || A->type == MATRIX_TYPE_INTEGER\0CELLBORDER\0BR\0*R\0Q\0EXP\0B_UP\0SUP\0TOP\0O\0mapN\0\\N\0B_DOWN\0THORN\0%%BEGIN\0ROWSPAN\0COLSPAN\0NAN\0PM\0BOTTOM\0BM\0AM\0%H:%M\0\\L\0tailURL\0labelURL\0edgeURL\0headURL\0HTML\0x!=NULL\0rootParser->m_parentParser == NULL\0ED_to_virt(orig) == NULL\0ED_to_virt(e) == NULL\0prefix != NULL\0dtd->scaffIndex != NULL\0sm->Lw != NULL\0lu != NULL\0input != NULL\0list != NULL\0referent != NULL\0dict != NULL\0dict->buckets != NULL\0attr != NULL\0allocator != NULL\0parser != NULL\0rootParser != NULL\0leader != NULL\0cmp != NULL\0datap != NULL\0into != NULL\0item != NULL\0orthog != NULL\0self != NULL\0value != NULL\0filename != NULL\0job->output_file != NULL\0mode != NULL\0xd != NULL\0sm->Lwd != NULL\0job != NULL\0source.data != NULL\0b.data != NULL\0a.data != NULL\0arena != NULL\0list && list[0] != NULL\0AF != NULL\0sm->D != NULL\0ED_to_virt(orig) != NULL\0LC_ALL\0BL\0bestcost < HUGE_VAL\0NORMAL\0RADIAL\0A->type == MATRIX_TYPE_REAL\0URW Chancery L\0URW Bookman L\0Century Schoolbook L\0URW Gothic L\0KK\0J\0i < MAX_I\0P->end.theta < 2 * M_PI\0ASCII\0\\H\0ETH\0WIDTH\0DOTFONTPATH\0GDFONTPATH\0mkNConstraintG\0\\G\0EXPAT_ENTITY_DEBUG\0EXPAT_ENTROPY_DEBUG\0EXPAT_ACCOUNTING_DEBUG\0EXPAT_MALLOC_DEBUG\0RNG\0SPRING\0CELLPADDING\0CELLSPACING\0LANG\0IMG\0\\xF\0%%EOF\0INF\0\\xFF\0RIFF\0delta <= 0xFFFF\0\\xEF\0\\xDF\0\\xCF\0\\xBF\0\\xAF\0\\x9F\0\\x8F\0\\x7F\0\\x1F\0\\xE\0\\E\0POINT-SIZE\0TRUE\0CLOSE\0FALSE\0key != TOMBSTONE\0r != TOMBSTONE\0NONE\0GRADIENTANGLE\0TRIANGLE\0MIDDLE\0INVISIBLE\0TABLE\0AGTYPE(obj) == AGINEDGE || AGTYPE(obj) == AGOUTEDGE\0\\xFE\0\\xEE\0\\xDE\0B_NODE\0\\xCE\0\\xBE\0\\xAE\0\\x9E\0\\x8E\0\\x1E\0TD\0A->format == FORMAT_COORD\0n && i >= 0 && i < NODECARD\0%%END\0HYBRID\0SOLID\0\\xFD\0\\xED\0DOTTED\0DASHED\0ROUNDED\0\\xDD\0\\xCD\0\\xBD\0\\xAD\0\\x9D\0\\x8D\0\\x1D\0\\xC\0deleteVPSC\0\\xFC\0\\xEC\0\\xDC\0\\xCC\0\\xBC\0\\xAC\0\\x9C\0\\x8C\0\\x1C\0\\xB\0SUB\0\\xFB\0\\xEB\0\\xDB\0\\xCB\0\\xBB\0\\xAB\0\\x9B\0\\x8B\0\\x1B\0A && B\0\\xFA\0\\xEA\0\\xDA\0\\xCA\0\\xBA\0\\xAA\0\\x9A\0\\x8A\0\\x1A\0@\0catching a class without an object?\0<%s>\0\0\0\n <%9.3f, %9.3f, %9.3f>\0>\n\0\0
\0\0\0\0Syntax error: non-space string used before \0Syntax error: non-space string used after
\0\0->\0">\0\t[key=\0<=\0<\0&#x%x;\0"\0<\0>\0&\0#%d;\0'\0-\0]\0 \0 \0 \0;stop-opacity:\0%%BoundingBox:\0calculating shortest paths and setting up stress terms:\0u.name,Key)\0!is_exactly_equal(R.x, Q.x) || !is_exactly_equal(R.y, Q.y)\0ND_order(v) < ND_order(w)\0u == UF_find(u)\0!LIST_IS_EMPTY(plist)\0gv_list_is_contiguous_(*list)\0one <= LIST_SIZE(list)\0np < LIST_SIZE(list)\0is_power_of_2(alignment)\0std::is_heap(heap.begin(), heap.end(), gt)\0!(q->qts)\0!LIST_IS_EMPTY(&leaves)\0on_heap(r)\0node_set_size(g->n_id) == (size_t)dtsize(g->n_seq)\0ND_rank(from) < ND_rank(to)\0not well-formed (invalid token)\0agsubrep(g,n)\0n != ND_next(n)\0find_fast_node(g, n)\0(null)\0(!jcn) && (!val)\0!(q->l)\0sym->id >= 0 && sym->id < topdictsize(obj)\0LIST_SIZE(&arr) == (size_t)agnnodes(sg)\0move to (%.0f, %.0f)\0; spline to (%.0f, %.0f)\0; line to (%.0f, %.0f)\0SparseMatrix_is_symmetric(A, true)\0value && strlen(value)\0SparseMatrix_is_symmetric(A, false)\0!use_stage || size <= sizeof(stage)\0ED_label(fe)\0!TREE_EDGE(e)\0!constraining_flat_edge(g, e)\0node_set_is_empty(g->n_id)\0r_%d)\0l_%d)\0(lib)\0!SparseMatrix_has_diagonal(A)\0 scanning a HTML string (missing \'>\'? bad nesting? longer than %d?)\0 scanning a quoted string (missing endquote? longer than %d?)\0 scanning a /*...*/ comment (missing \'*/? longer than %d?)\0fallback(4)\0on_heap(r0) || on_heap(r1)\0agtail(e) == UF_find(agtail(e))\0aghead(e) == UF_find(aghead(e))\0out of dynamic memory in yy_get_next_buffer()\0out of dynamic memory in yy_create_buffer()\0out of dynamic memory in yyensure_buffer_stack()\0streq(mode, "r") || streq(mode, "rb") || streq(mode, "w") || streq(mode, "wb")\0pname != NULL && !streq(pname, "")\0setlinewidth(\0) rotate(%d) translate(\0 transform="scale(\0NOTATION(\0 (\0 near \'%s\'\0%lf,%lf,%lf,\'%[^\']\'\0isdigit((int)dotp[1]) && isdigit((int)dotp[2]) && dotp[3] == \'\\0\'\0&\0%\0$\0url(#\0op.u.polygon.cnt <= INT_MAX && "polygon count exceeds gvrender_polygon support"\0 text-anchor="start"\0p.x != a && "cannot handle ellipse tangent slope in horizontal extreme point"\0full_length_without_shaft > 0 && "non-positive full length without shaft"\0 0 && "attempt to allocate array of 0-sized elements"\0index < self->size_bits && "out of bounds access"\0index < self.size_bits && "out of bounds access"\0*s1 != *s2 && "duplicate separator characters"\0GD_minrank(subg) <= GD_maxrank(subg) && "corrupted rank bounds"\0index < list.size && "index out of bounds"\0(uintptr_t)s % 2 == 0 && "heap pointer with low bit set will collide with anonymous IDs"\0 (+%6ld bytes %s|%u, xmlparse.c:%d) %*s"\0 font-family="%s"\0 font-weight="%s"\0 fill="%s"\0 font-stretch="%s"\0 font-style="%s"\0bad edge len "%s"\0 baseline-shift="super"\0agxblen(xb) <= sizeof(xb->store) && "agxbuf corruption"\0cell.row < table->row_count && "out of range cell"\0cell.col < table->column_count && "out of range cell"\0 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"\0full_length > 0 && "non-positive full length"\0full_base_width > 0 && "non-positive full base width"\0nominal_base_width > 0 && "non-positive nominal base width"\0" width="%gpx" height="%gpx" preserveAspectRatio="xMinYMin meet" x="%g" y="%g"\0" width="%gpx" height="%gpx" preserveAspectRatio="xMidYMid meet" x="%g" y="%g"\0 font-size="%.2f"\0 fill-opacity="%f"\0located == AGXBUF_ON_HEAP || xb->located <= sizeof(xb->store)) && "corrupted agxbuf type"\0A->type == type && "call to SparseMatrix_coordinate_form_add_entry " "with incompatible value type"\0 text-anchor="middle"\0row + cell->rowspan <= table->row_count && "cell spans higher than containing table"\0cell.row + cell.rowspan <= table->row_count && "cell spans higher than containing table"\0cell->col + cell->colspan <= table->column_count && "cell spans wider than containing table"\0cell.col + cell.colspan <= table->column_count && "cell spans wider than containing table"\0old_nmemb < SIZE_MAX / size && "claimed previous extent is too large"\0theta >= 0 && theta <= M_PI && "theta out of range"\0table->heights == NULL && "table heights computed twice"\0table->widths == NULL && "table widths computed twice"\0 text-anchor="end"\0 font-weight="bold"\0 font-style="italic"\0 baseline-shift="sub"\0\\"\0llen <= INT_MAX && "XML token too long for expat API"\0" ry="\0_p" startOffset="50%">\nSbuf) == 0 && "pending string data that was not consumed (missing " "endstr()/endhtmlstr()?)"\0 alt=""\0Cycle Error!\0\x3c!-- Generated by \0%s%zu -#%02x%02x%02x%02x \0%s%zu -#%02x%02x%02x \0%c %zu \0t %u \0 create text \0xLayout \0default \0strict \0%s%zu -%s \0 -smooth bezier \0 moveto \0 version \0 create polygon \0 -text {%s} -fill \0 create oval \0 -width \0newpath \0graph \0s,%.5g,%.5g \0%.5g,%.5g,%.5g,%.5g \0e,%.5g,%.5g \0%g %g \0%.03lf \0%.3f \0%d %d %d %d %d %d %.1f %.4f %d %.1f %.1f %.0f %.0f \0 -outline \0 create line \0node \0[Graphviz] %s:%d: %04d-%02d-%02d %02d:%02d:%02d \0%d \0Total size > 1 in "%s" color spec \0[ /Rect [ \0T \0S \0OPEN \0I \0F \0E \0C \0 -> \0Rank separation = \0Unsatisfied constraint: \0Calculating shortest paths: \0%s: \0Solving model: \0Setting up spring model: \0convert graph: \0 Title: \0"text": \0{"frac": %.03f, "color": \0"name": \0"style": \0"face": \x002 \0\x3c!-- \0 -- \0% \0_p" \0l_%d" gradientUnits="userSpaceOnUse" \0\r iter = %d, step = %f Fnorm = %f nz = %zu K = %f \0\n \0:\t \0 %s}\n\0trying to add to rect {%f +/- %f, %f +/- %f}\n\0#default { finish { ambient 0.1 diffuse 0.9 } }\n\0pigment { color %s }\n\0light_source { <1500,3000,-2500> color White }\n\0global_settings { assumed_gamma 1.0 }\n\0 texture ImageTexture { url "%s" }\n\0 }\n\0//sky\nplane { <0, 1, 0>, 1 hollow\n texture {\n pigment { bozo turbulence 0.95\n color_map {\n [0.00 rgb <0.05, 0.20, 0.50>]\n [0.50 rgb <0.05, 0.20, 0.50>]\n [0.75 rgb <1.00, 1.00, 1.00>]\n [0.75 rgb <0.25, 0.25, 0.25>]\n [1.00 rgb <0.50, 0.50, 0.50>]\n }\n scale <1.00, 1.00, 1.50> * 2.50\n translate <0.00, 0.00, 0.00>\n }\n finish { ambient 1 diffuse 0 }\n }\n scale 10000\n}\n//mist\nfog { fog_type 2\n distance 50\n color rgb <1.00, 1.00, 1.00> * 0.75\n fog_offset 0.10\n fog_alt 1.50\n turbulence 1.75\n}\n//gnd\nplane { <0.00, 1.00, 0.00>, 0\n texture {\n pigment{ color rgb <0.25, 0.45, 0.00> }\n normal { bumps 0.75 scale 0.01 }\n finish { phong 0.10 }\n }\n}\n\0camera { location <%.3f , %.3f , -500.000>\n look_at <%.3f , %.3f , 0.000>\n right x * image_width / image_height\n angle %.3f\n}\n\0 material Material {\n\0Shape {\n\0 appearance Appearance {\n\0/user_shape_%d {\n\0graph G {\n\0arrowhead = 7 %s not used by graphviz\n\0boxrad = 0 %s no rounded corners in graphviz\n\0out of memory\n\0%s: could not allocate memory\n\0Graphviz built without any triangulation library\n\0remove_overlap: Graphviz not built with triangulation library\n\0%s fill has no meaning in DWB 2, gpic can use fill or filled, 10th Edition uses fill only\n\0boxrad=2.0 %s will be reset to 0.0 by gpic only\n\0%d %d #%02x%02x%02x\n\0Heap overflow\n\0text {\n ttf "%s",\n "%s", %.3f, %.3f\n no_shadow\n\0%d %d %d %.0f %d %d %d %d %d %.1f %d %d %d %d %d %zu\n\0total added so far = %zu\n\0root = %s max steps to root = %llu\n\0.ps %.0f*\\n(SFu/%.0fu\n\0 margin %u\n\0Number of iterations = %u\n\0overlap [%u] : %u\n\0 %s alignedtext\n\0layers not supported in %s output\n\0add_tree_edge: empty outedge list\n\0add_tree_edge: empty inedge list\n\0No libz support\n\0%s .PS w/o args causes GNU pic to scale drawing to fit 8.5x11 paper; DWB does not\n\0%s GNU pic supports a linethick variable to set line thickness; DWB and 10th Ed. do not\n\0%s GNU pic supports a boxrad variable to draw boxes with rounded corners; DWB and 10th Ed. do not\n\0 /%s set_font\n\0%s%.*s is not a troff font\n\0cell size too small for content\n\0table size too small for content\n\0%%EndDocument\n\0Unclosed comment\n\0Label closed before end of HTML element\n\0Portrait\n\0fixed cell size with unspecified width or height\n\0fixed table size with unspecified width or height\n\0pos attribute for edge (%s,%s) doesn\'t have 3n+1 points\n\0 generated %d constraints\n\0splines and cluster edges not supported - using line segments\n\0objects\n\0Warning: node %s, position %s, expected two floats\n\0font name %s contains characters that may not be accepted by some PS viewers\n\0font name %s is longer than 29 characters which may be rejected by some PS viewers\n\0cannot allocate ps\n\0scale=1.0 %s required for comparisons\n\0Setting initial positions\n\0%s DWB 2 compatibility definitions\n\0array packing: %s %zu rows %zu columns\n\0syntax ambiguity - badly delimited number \'%s\' in line %d of %s splits into two tokens\n\0edge labels with splines=curved not supported in dot - use xlabels\n\0flat edge between adjacent nodes one of which has a record shape - replace records with HTML-like labels\n\0out of memory when trying to allocate %zu bytes\n\0integer overflow when trying to allocate %zu * %zu bytes\n\0update: mismatched lca in treeupdates\n\0graph %s, coord %s, expected four doubles\n\0node %s, position %s, expected two doubles\n\0Found %d DiG-CoLa boundaries\n\0Inches\n\0(%4zu) %7zu nodes %7zu edges\n\0compoundEdges: could not construct obstacles - falling back to straight line edges\n\0the bounding boxes of some nodes touch - falling back to straight line edges\n\0compoundEdges: nodes touch - falling back to straight line edges\n\0some nodes with margin (%.02f,%.02f) touch - falling back to straight line edges\n\0merge2: graph %s, rank %d has only %d < %d nodes\n\0Scanning graph %s, %d nodes\n\0Warning: no hard-coded metrics for \'%s\'. Falling back to \'Times\' metrics\n\0in edge %s%s%s\n\0Using %s: %s:%s\n\0Format: "%s" not recognized. Use one of:%s\n\0Layout type: "%s" not recognized. Use one of:%s\n\0layout %s\n\0.ft %s\n\0bad label format %s\n\0in routesplines, edge is a loop at %s\n\0 %7d nodes %7d edges %7zu components %s\n\0in label of edge %s %s %s\n\0 Edge %s %s %s\n\0ortho %s %s\n\0polyline %s %s\n\0spline %s %s\n\0rectangle (%.0f,%.0f) (%.0f,%.0f) %s %s\n\0in cluster %s\n\0%s was already in a rankset, deleted from cluster %s\n\0%s -> %s: tail not inside tail cluster %s\n\0%s -> %s: head is inside tail cluster %s\n\0head cluster %s inside tail cluster %s\n\0head node %s inside tail cluster %s\n\0%s -> %s: head not inside head cluster %s\n\0%s -> %s: tail is inside head cluster %s\n\0tail cluster %s inside head cluster %s\n\0tail node %s inside head cluster %s\n\0Unhandled adjust option %s\n\0reposition %s\n\0no position for edge with xlabel %s\n\0no position for edge with tail label %s\n\0no position for edge with label %s\n\0no position for edge with head label %s\n\0//*** begin_graph %s\n\0Max. iterations (%d) reached on graph %s\n\0Could not parse "_background" attribute in graph %s\n\0in label of graph %s\n\0Creating edges using %s\n\0Adjusting %s using %s\n\0%s while opening %s\n\0derive graph _dg_%d of %s\n\0 ] %zu true %s\n\0] %d true %s\n\0 ] %zu false %s\n\0] %d false %s\n\0makePoly: unknown shape type %s\n\0makeAddPoly: unknown shape type %s\n\0using %s for unknown shape %s\n\0 octree scheme %s\n\0can\'t open library file %s\n\0can\'t find library file %s\n\0BoundingBox not found in epsf file %s\n\0couldn\'t open epsf file %s\n\0couldn\'t read from epsf file %s\n\0in node %s\n\0shapefile not set or not found for epsf node %s\n\0in label of node %s\n\0end %s\n\0ranking: failure to create strong constraint edge between nodes %s and %s\n\0oops, internal error: unhandled color type=%d %s\n\0%d %d %d %d %d %d %d %d %d %.1f %d %d %d %d %d %d\n %d %s\n\0//*** textspan: %s, fontsize = %.3f, fontname = %s\n\0tries = %d, mode = %s\n\0//*** comment: %s\n\0failed to reserve %zu elements of size %zu bytes: %s\n\0fontname: "%s" resolved to: %s\n\0%%%%PageOrientation: %s\n\0delaunay_triangulation: %s\n\0delaunay_tri: %s\n\0gvprintf: %s\n\0nesting not allowed in style: %s\n\0unmatched \')\' in style: %s\n\0unmatched \'(\' in style: %s\n\0%%%%Title: %s\n\0%s Title: %s\n\0# Title: %s\n\0//*** begin_node: %s\n\0lib/pathplan/%s:%d: %s\n\0grid(%d,%d): %s\n\0Could not open "%s" for writing : %s\n\0start port: (%.5g, %.5g), tangent angle: %.5g, %s\n\0end port: (%.5g, %.5g), tangent angle: %.5g, %s\n\0 [%zu] %p set %d (%.02f,%.02f) (%.02f,%.02f) %s\n\0%% %s\n\0# %s\n\0 mode %s\n\0list element type is not a pointer, but `free` used as destructor\n\0conjugate_gradient: unexpected length 0 vector\n\0%s to change drawing size, multiply the width and height on the .PS line above and the number on the two lines below (rounded to the nearest integer) by a scale factor\n\0add_segment: error\n\0%.5g %.5g %.5g %scolor\n\x000 0 0 edgecolor\n\x000.8 0.8 0.8 setrgbcolor\n\x000 0 1 setrgbcolor\n\x001 0 0 setrgbcolor\n\x000 0 0 setrgbcolor\n\0%d %d setlayer\n\0//*** end_layer\n\0UTF-8 input uses non-Latin1 characters which cannot be handled by this PostScript driver\n\0Letter\n\0//*** begin_cluster\n\0//*** end_cluster\n\0removing empty cluster\n\0Center\n\0Warning: no value for width of non-ASCII character %u. Falling back to width of space character\n\0base referer\n\0%%PageTrailer\n\0%%Trailer\n\0//*** bezier\n\0"%s" was not found as a file or as a shape library member\n\0stop\n\0 curveto\n\0newpath %.0f %.0f moveto\n\0%.0f %.0f lineto\n\0 layout=neato\n\0node %s in graph %s has no position\n\0%s maxpsht and maxpswid have no meaning in DWB 2.0, set page boundaries in gpic and in 10th Edition\n\0%s arrowhead has no meaning in DWB 2, arrowhead = 7 makes filled arrowheads in gpic and in 10th Edition\n\0%s arrowhead is undefined in DWB 2, initially 1 in gpic, 2 in 10th Edition\n\0majorization\n\0//*** polygon\n\0overflow when computing edge weight sum\n\0sfdp only supports start=random\n\0node positions are ignored unless start=random\n\0closepath fill\n\0 ellipse_path fill\n\0 %.0f %.0f cell\n\0%f %f %f %f cell\n\0graph %s is disconnected. Hence, the circuit model\n\0graph is disconnected. Hence, the circuit model\n\0edges in graph %s have no len attribute. Hence, the mds model\n\0circuit model not yet supported in Gmode=sgd, reverting to shortpath model\n\0mds model not yet supported in Gmode=sgd, reverting to shortpath model\n\0node \'%s\', graph \'%s\' size too small for label\n\0%s DWB 2 doesn\'t use fill and doesn\'t define fillval\n\0[ {Catalog} << /URI << /Base %s >> >>\n/PUT pdfmark\n\0[ /CropBox [%d %d %d %d] /PAGES pdfmark\n\0 /Border [ 0 0 0 ]\n /Action << /Subtype /URI /URI %s >>\n /Subtype /Link\n/ANN pdfmark\n\0trouble in init_rank\n\0linethick = 0; oldlinethick = linethick\n\0 setlinewidth\n\0gsave\n%d %d %d %d boxprim clip newpath\n\0gsave %g %g translate newpath\n\0//*** end_graph\n\0layout attribute is invalid except on the root graph\n\0in checkpath, boxes %zu and %zu don\'t touch\n\0merge_oneway glitch\n\0%s don\'t change anything below this line in this drawing\n\0Node not adjacent to cell -- Aborting\n\0incomparable segments !! -- Aborting\n\0Alternatively, consider running neato using -Gpack=true or decomposing\n\0label_scheme = %d > 4 : ignoring\n\0gvrender_set_style: unsupported style %s - ignoring\n\0Arrow type "%s" unknown - ignoring\n\0fdp does not support start=self - ignoring\n\0%s attribute value must be 1 or 2 - ignoring\n\0More than 2 colors specified for a gradient - ignoring remaining\n\0as required by the -n flag\n\0bb[%s] %.5g %.5g %.5g %.5g\n\0/pathbox {\n /Y exch %.5g sub def\n /X exch %.5g sub def\n /y exch %.5g sub def\n /x exch %.5g sub def\n newpath x y moveto\n X y lineto\n X Y lineto\n x Y lineto\n closepath stroke\n } def\n/dbgstart { gsave %.5g %.5g translate } def\n/arrowlength 10 def\n/arrowwidth arrowlength 2 div def\n/arrowhead {\n gsave\n rotate\n currentpoint\n newpath\n moveto\n arrowlength arrowwidth 2 div rlineto\n 0 arrowwidth neg rlineto\n closepath fill\n grestore\n} bind def\n/makearrow {\n currentpoint exch pop sub exch currentpoint pop sub atan\n arrowhead\n} bind def\n/point { newpath 2 0 360 arc fill} def/makevec {\n /Y exch def\n /X exch def\n /y exch def\n /x exch def\n newpath x y moveto\n X Y lineto stroke\n X Y moveto\n x y makearrow\n} def\n\0/pathbox {\n /X exch neg %.5g sub def\n /Y exch %.5g sub def\n /x exch neg %.5g sub def\n /y exch %.5g sub def\n newpath x y moveto\n X y lineto\n X Y lineto\n x Y lineto\n closepath stroke\n} def\n\0%!PS-Adobe-2.0\n/node {\n /Y exch def\n /X exch def\n /y exch def\n /x exch def\n newpath\n x y moveto\n x Y lineto\n X Y lineto\n X y lineto\n closepath fill\n} def\n/cell {\n /Y exch def\n /X exch def\n /y exch def\n /x exch def\n newpath\n x y moveto\n x Y lineto\n X Y lineto\n X y lineto\n closepath stroke\n} def\n\0} bind def\n\0.PS %.5f %.5f\n\0overlap: %s value %d scaling %.04f\n\0 beautify_leaves %d node weights %d rotation %.03f\n\0 repulsive exponent: %.03f\n\0 K : %.03f C : %.03f\n\0%s %.3f\n\0\nintersection at %.3f %.3f\n\0 scale %.3f\n\0torus { %.3f, %.3f\n\0 <%9.3f, %9.3f, %9.3f>, %.3f\n\0 in %s - setting to %.02f\n\0circle %s %.0f,%.0f,%.0f\n\0rect %s %.0f,%.0f %.0f,%.0f\n\0%d %d %d %.0f %d %d %d %d %d %.3f %d %.4f %.0f %.0f %.0f %.0f %.0f %.0f %.0f %.0f\n\0 %.0f %.0f %.0f %.0f %.0f %.0f %.0f %.0f %.0f %.0f\n\0%%%%Page: 1 1\n%%%%PageBoundingBox: %.0f %.0f %.0f %.0f\n\0pos[%zu] %.0f %.0f\n\0.nr SF %.0f\nscalethickness = %.0f\n\0%s save point size and font\n.nr .S \\n(.s\n.nr DF \\n(.f\n\0showpage\n%%%%Trailer\n%%%%BoundingBox: %.f %.f %.f %.f\n\0adding %zu items, total area = %f, w = %f, area/w=%f\n\0gap=%f,%f\n\0 aspect %f\n\0a %f b %f c %f d %f r %f\n\0model %d smart_init %d stresswt %d iterations %d tol %f\n\0Solving model %d iterations %d tol %f\n\0%s coord %.5g %.5g ht %f width %f\n\0rec %f %f %f %f\n\0%s : %f %f %f %f\n\0%s : %f %f\n\0maxpsht = %f\nmaxpswid = %f\n\0mdsModel: delta = %f\n\0 r1 %f r2 %f\n\0Packing: compute grid size\n\0gsave\n\0%%EndComments\nsave\n\0Unrecognized character \'%c\' (%d) in sides attribute\n\0Images unsupported in "background" attribute\n\0%s GNU pic vs. 10th Edition d\\(e\'tente\n\0reset %s set to known state\n\0%g %g set_scale %d rotate %g %g translate\n\0%f %f translate\n\0%d %d translate\n\0//*** ellipse\n\0Unrecognized overlap value "%s" - using false\n\0memory allocation failure\n\0%s: vsnprintf failure\n\0endpage\nshowpage\ngrestore\n\0end\nrestore\n\0%s:%d: internal error: attempted to read the value of an empty optional type\n\0layout was not done\n\0Layout was not done\n\0//*** polyline\n\0trying to delete a non-line\n\0# end of FIG file\n\0Single\n\0renderer for %s is unavailable\n\0dynamic loading not available\n\0%.0f %.0f lineto stroke\n\0closepath stroke\n\0 ellipse_path stroke\n\0//*** begin_edge\n\0//*** end_edge\n\0lost %s %s edge\n\0overflow when calculating virtual weight of edge\n\0add_tree_edge: missing tree edge\n\0in routesplines, cannot find NORMAL edge\n\0showpage\n\0%d %d %d beginpage\n\0//*** begin_page\n\0//*** end_page\n\0Filename "%s" is unsafe\n\0label: area too large for rtree\n\0//*** end_node\n\0Using default calculation for root node\n\0contain_nodes clust %s rank %d missing node\n\0%f %f %f %f node\n\0<< /PageSize [%d %d] >> setpagedevice\n\0in checkpath, box %zu has LL coord > UR coord\n\0in checkpath, box 0 has LL coord > UR coord\n\0cluster named %s not found\n\0mincross: pass %d iter %d trying %d cur_cross %lld best_cross %lld\n\0node %s, port %s unrecognized\n\0%s%s unsupported\n\0cluster cycle %s -- %s not supported\n\0%s -> %s: spline size > 1 not supported\n\0layout aborted\n\0pagedir=%s ignored\n\0Two clusters named %s - the second will be ignored\n\0Illegal attribute %s in %s - ignored\n\0Unknown value %s for attribute "model" in graph %s - ignored\n\0Illegal value %s for attribute "mode" in graph %s - ignored\n\0start=0 not supported with mode=self - ignored\n\0Overlap value "%s" unsupported - ignored\n\0Unknown value %s for ROWS - ignored\n\0Unknown value %s for COLUMNS - ignored\n\0Illegal value %s for VALIGN - ignored\n\0Illegal value %s for ALIGN - ignored\n\0Illegal value %s for FIXEDSIZE - ignored\n\0Illegal value %.*s for STYLE - ignored\n\0Illegal value %s for BALIGN in TD - ignored\n\0Illegal value %s for ALIGN in TD - ignored\n\0ROWSPAN value cannot be 0 - ignored\n\0COLSPAN value cannot be 0 - ignored\n\0node %s, port %s, unrecognized compass point \'%s\' - ignored\n\0Unknown "splines" value: "%s" - ignored\n\0in routesplines, Pshortestpath failed\n\0in routesplines, Proutespline failed\n\0# plugin loading of dependency "%.*s" failed\n\0Parsing of "%s" failed\n\0%s:%d: claimed unreachable code was reached\n\0# unsuccessful plugin load\n\0%.5g %.5g translate newpath user_shape_%d\n\0nsizescale=%f,iterations=%d\n\0ctrl->overlap=%d\n\0%s %zu nodes %zu edges maxiter=%d balance=%d\n\0//*** begin_layer: %s, %d/%d\n\0degenerate concentrated rank %s,%d\n\0 max levels %d\n\0\t%s %d\n\0 Barnes-Hutt constant %.03f tolerance %.03f maxiter %d\n\0gvwrite_no_z problem %d\n\0 quadtree size %d max_level %d\n\0rebuild_vlists: lead is null for rank %d\n\0rebuild_vlists: rank lead %s not in order %d of rank %d\n\0 smoothing %s overlap %d initial_scaling %.03f do_shrinking %d\n\0 cooling %.03f step size %.03f adaptive %d\n\0Unsupported charset value %d\n\0in routesplines, illegal values of prev %d and next %d, line %d\n\0 edge_labeling_scheme %d\n\0agdictof: unknown kind %d\n\0 random start %d seed %d\n\0%d %d %d %.0f %d %d %d %d %d %.1f %d %d %d %d\n\0%%%%PageBoundingBox: %d %d %d %d\n\0%%%%BoundingBox: %d %d %d %d\n\0%%%%Page: %d %d\n\0%s no. cells %d W %d H %d\n\0Maxrank = %d, minrank = %d\n\0step size = %d\n\0%%%%Pages: %d\n\0# Pages: %d\n\0%%%%EndPage: %d\n\0"fontchar": %d\n\0 flags %d\n\0 size %d\n\0%s dashwid is 0.1 in 10th Edition, 0.05 in DWB 2 and in gpic\n\0%s maxpsht and maxpswid are predefined to 11.0 and 8.5 in gpic\n\0 %d%s iterations %.2f sec\n\0\nfinal e = %f %d iterations %.2f sec\n\0%d nodes %.2f sec\n\0%s%zu nodes %zu edges %d iter %.2f sec\n\0\nfinished in %.2f sec\n\0: %.2f sec\n\0 node[shape=point]\n\0"rect": [%.03f,%.03f,%.03f,%.03f]\n\0install_in_rank, line %d: ND_order(%s) [%d] > GD_rank(Root)[%d].an [%d]\n\0install_in_rank, line %d: GD_rank(g)[%d].v + ND_order(%s) [%d] > GD_rank(g)[%d].av + GD_rank(Root)[%d].an [%d]\n\0install_in_rank, line %d: rank %d not in rank range [%d,%d]\n\0failed at node %d[1]\n\0failed at node %d[0]\n\0 %d -- %d[label="%f"]\n\0 %d [pos="%.0f,%.0f!"]\n\0 ]\n\0Dot: [\n\0"objects": [\n\0"subgraphs": [\n\0"edges": [\n\0"nodes": [\n\0X else Z\n\tdefine setfillval Y fillval = Y;\n\tdefine bold Y Y;\n\tdefine filled Y fill Y;\nZ\n\0if boxrad > 1.0 && dashwid < 0.075 then X\n\tfillval = 1;\n\tdefine fill Y Y;\n\tdefine solid Y Y;\n\tdefine reset Y scale=1.0 Y;\nX\n\0 ABORTING\n\0%%EOF\n\0%s restore point size and font\n.ps \\n(.S\n.ft \\n(DF\n\0]\n.PE\n\0invalidate_path: skipped over LCA\n\0Invalid %d-byte UTF8 found in input of graph %s - treated as Latin-1. Perhaps "-Gcharset=latin1" is needed?\n\0UTF8 codes > 4 bytes are not currently supported (graph %s) - treated as Latin-1. Perhaps "-Gcharset=latin1" is needed?\n\0\n\0\n\n\0\n\n\0\n\0\n\0\n\n\0 rotate <%9.3f, %9.3f, %9.3f>\n\0 scale <%9.3f, %9.3f, %9.3f>\n\0\n\0" type="text/css"?>\n\0\n\0 translate<%9.3f, %9.3f, %d.000>\n\0;"/>\n\0 Pages: %d --\x3e\n\0)\n --\x3e\n\0 ->\n\0\n\0)">\n\0r_%d" cx="50%%" cy="50%%" r="75%%" fx="%.0f%%" fy="%.0f%%">\n\0" >\n\0#declare %s = %s;\n\0\t%s\tsorry, the groff folks changed gpic; send any complaint to them;\n\0\t%s\tinstall a more recent version of gpic or switch to DWB or 10th Edition pic;\n\0];\n\0if fillval > 0.4 then X\n\tdefine setfillval Y fillval = 1 - Y;\n\tdefine bold Y thickness 2 Y;\n\0#version 3.6;\n\0ellipse attrs0 %swid %.5f ht %.5f at (%.5f,%.5f);\n\0" at (%.5f,%.5f);\n\0%%BeginDocument:\n\0%zu boxes:\n\0pack info:\n\0spring_electrical_control:\n\0Unsupported charset "%s" - assuming utf-8\n\0 ambientIntensity 0.33\n\0#FIG 3.2\n\0-2\n\0%s non-fatal run-time pic version determination, version 2\n\0%s fillval is 0.3 in 10th Edition (fill 0 means black), 0.5 in gpic (fill 0 means white), undefined in DWB 2\n\0%s reset works in gpic and 10th edition, but isn\'t defined in DWB 2\n\0setupLatin1\n\0\\001\n\0%s tolerance 0.01\n\0 tolerance 0.1\n\0%%Pages: 1\n\0 diffuseColor 1 1 1\n\x00100.00\n\0 EPSF-3.0\n\0%s boxrad is now 0.0 in gpic, else it remains 2.0\n\0sphere {<%9.3f, %9.3f, %9.3f>, 1.0\n\0Warning: no value for width of ASCII character %u. Falling back to 0\n\0install_in_rank, line %d: %s %s rank %d i = %d an = 0\n\0concentrate=true may not work correctly.\n\0No libz support.\n\0twopi: use of weight=0 creates disconnected component.\n\0the graph into connected components.\n\0Orthogonal edges do not currently handle edge labels. Try using xlabels.\n\0mincross %s: %lld crossings, %.2f secs.\n\0%s is not a known color.\n\0is inappropriate. Reverting to the shortest path model.\n\0is undefined. Reverting to the shortest path model.\n\0Unable to reclaim box space in spline routing for edge "%s" -> "%s". Something is probably seriously wrong.\n\0Error during conversion to "UTF-8". Quiting.\n\0ordering \'%s\' not recognized.\n\0gradient pen colors not yet supported.\n\0 initCMajVPSC done: %d global constraints generated.\n\0The character \'%c\' appears in both the layersep and layerlistsep attributes - layerlistsep ignored.\n\0the aspect attribute has been disabled due to implementation flaws - attribute ignored.\n\0The layerselect attribute "%s" does not match any layer specifed by the layers attribute - ignored.\n\0edge %s -> %s : set more than one spline. First used, other dropped.\n\0%zu out of %zu labels positioned.\n\0%zu out of %zu exterior labels positioned.\n\0 generate edge constraints...\n\0Generating Non-overlap Constraints...\n\0Generating Edge Constraints...\n\0Generating DiG-CoLa Edge Constraints...\n\0Removing overlaps as postprocess...\n\0... %.*s%.*s ...\n\0Edge length %f larger than maximum %d allowed.\nCheck for overwide node(s).\n\0ordering \'%s\' not recognized for node \'%s\'.\n\0polygon { %zu,\n\0sphere_sweep {\n %s\n %zu,\n\0"directed": %s,\n\0"width": %.03f,\n\0"size": %.03f,\n\0"tail": %d,\n\0"_gvid": %d,\n\0"pt": [%.03f,%.03f],\n\0"p1": [%.03f,%.03f],\n\0"p0": [%.03f,%.03f],\n\0"p1": [%.03f,%.03f,%.03f],\n\0"p0": [%.03f,%.03f,%.03f],\n\0"op": "t",\n\0"grad": "linear",\n\0"grad": "radial",\n\0"grad": "none",\n\0\t%s if you use gpic and it barfs on encountering "solid",\n\0"op": "%c",\n\0"align": "%c",\n\0"op": "T",\n\0"op": "S",\n\0"op": "L",\n\0"op": "F",\n\0expat: Entropy: %s --\x3e 0x%0*lx (%lu bytes)\n\0syntax error in pos attribute for edge (%s,%s)\n\0getsplinepoints: no spline points available for edge (%s,%s)\n\0makeSpline: failed to make spline edge (%s,%s)\n\0# Generated by %s version %s (%s)\n\0%%%%Creator: %s version %s (%s)\n\0%s Creator: %s version %s (%s)\n\0segment [(%.5g, %.5g),(%.5g,%.5g)] does not intersect box ll=(%.5g,%.5g),ur=(%.5g,%.5g)\n\0%zu (%.5g, %.5g), (%.5g, %.5g)\n\0pack value %d is smaller than esep (%.03f,%.03f)\n\0sep value (%.03f,%.03f) is smaller than esep (%.03f,%.03f)\n\0scale = (%.03f,%.03f)\n\0seg#%d : (%.3f, %.3f) (%.3f, %.3f)\n\0%zu objs %zu xlabels force=%d bb=(%.02f,%.02f) (%.02f,%.02f)\n\0cc (%d cells) at (%.0f,%.0f)\n\0cc (%d cells) at (%d,%d) (%.0f,%.0f)\n\0channel %.0f (%f,%f)\n\0Edge separation: add=%d (%f,%f)\n\0Node separation: add=%d (%f,%f)\n\0root %d (%f) %d (%f)\n\0%f - %f %f %f %f = %f (%f %f %f %f)\n\0%%BoundingBox: (atend)\n\0%%Pages: (atend)\n\0expat: Allocations(%p): Direct %10llu, allocated %c%10llu to %10llu (%10llu peak), amplification %8.2f (xmlparse.c:%d)\n\0expat: Entities(%p): Count %9u, depth %2u/%2u %*s%s%s; %s length %d (xmlparse.c:%d)\n\0canvas size (%d,%d) exceeds PDF limit (%d)\n\t(suggest setting a bounding box size, see dot(1))\n\0error in colorxlate()\n\0truncating style \'%s\'\n\0Illegal value in "%s" color attribute; float expected after \';\'\n\0define attrs0 %% %%; define unfilled %% %%; define rounded %% %%; define diagonals %% %%\n\0 on line %lu \n\0%s in line %lu \n\0scale by %g,%g \n\0compress %g \n\0Layout was not done. Missing layout plugins? \n\0‰PNG\r\n\n\0\t\0A\v¶\b\t\n\n\n\n\n\n\n\n\n\n\v\f\r !"#$%&\'()*+,-./0\0\0\0\0\0\0\0\0\0\0!\0!\0$\0"\0\n\0\0\0\t\0"\0"\0"\0\0\0\0\0\0\0\0\0\0\0\b\0\0\0\0\0\0\0!\0 \0\0\0\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\b\0\0\0\0\0\0\0\0\0!\0\0\0\0\0\0\0\0\0\v\0\0\r\0\0\f\0\0\0\0\0\0\0\0\0\0\0\0\0A„\v•\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\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\b\0\0\0\0\0\0\0\0\b\0\b\0\0\0\0\0\0\0\0\0\0\0\x004\0\0\x002\0\0"\0"\x003\0\0\x005\0\0\0\0*\x006\0*\x004\x007\x002\0E\0;\0<\x003\0;\0<\0F\x005\0G\0H\0L\x006\0"\0I\0J\x007\0E\0N\0P\0b\0Q\0R\0T\0F\0G\0U\0H\0L\0V\0I\0J\0X\0Z\0N\0D\0P\0Q\0R\0T\x008\0/\0,\0U\0)\0V\0\0\0X\0Z\0]\0]\0]\0]\0]\0]\0]\0^\0^\0^\0^\0^\0^\0^\0_\0_\0_\0_\0_\0_\0_\0`\0\t\0`\0`\0`\0`\0`\0a\0a\0c\0\0c\0c\0c\0c\0c\0d\0\0\0d\0\0\0d\0d\0d\0e\0\0\0e\0e\0e\0e\0e\0f\0\0\0\0\0f\0f\0f\0f\0g\0\0\0g\0g\0g\0g\0h\0\0\0h\0h\0h\0h\0h\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\\\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0Aäˆ\vÍ®\0.\0/\x003\x005\x000\x007\0ª\0Û\0Û\0Û\0Û\0\0\0=\0‡\x007\x007\0Û\0Û\0\0\0(\x005\0.\x002\0/\0b\0\0\0\0\0G\0\0\0Û\0Û\0Q\0\0\0Û\0Û\0Û\0\0\0Û\0„\0U\0Û\0‚\0Û\0\0\0\0Û\0\0\0>\0B\0A\0H\0D\0R\0[\0\0\0\0\0^\0_\0Û\0\0\0Û\0Û\0Û\0\0\0\0\0{\0I\0W\0R\0Z\0Z\0]\0\0\0_\0\0\0_\0\0\0e\0]\0_\0\0\0]\0n\0j\0\0\0i\0\0\0n\0\0\0Û\0“\0š\0¡\0¨\0«\0p\0±\0¸\0¿\0Æ\0Í\0Ó\0AŠ\vÏ\\\0\0]\0]\0^\0^\0_\0_\0\\\0\\\0\\\0\\\0\\\0`\0\\\0\\\0\\\0a\0\\\0\\\0b\0b\0b\0b\0b\0b\0b\0c\0d\0e\0f\0\\\0\\\0\\\0g\0\\\0\\\0\\\0`\0\\\0\\\0a\0\\\0a\0\\\0h\0a\0\\\0b\0b\0b\0b\0b\0b\0b\0b\0c\0d\0e\0e\0\\\0f\0\\\0\\\0\\\0g\0h\0a\0b\0b\0b\0b\0b\0b\0b\0b\0b\0b\0b\0b\0b\0b\0b\0b\0b\0b\0b\0b\0b\0b\0b\0\0\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0A¡Œ\v0\0AâŒ\v£\n\0\v\0\f\0\r\0\0\n\0\0\0\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\f\0\f\0$\0\0\0 \0!\0 \0!\0$\0%\0&\0-\x002\0/\0.\0*\0%\0&\0(\0)\x003\0*\x004\0+\x005\x006\x007\0<\x002\0G\0=\0"\0E\0"\0?\0@\0F\x003\x004\0H\x005\x006\x007\0/\0I\0*\0G\0J\0E\0L\0\\\0<\0F\0\\\0=\0M\0H\0N\0O\0R\0I\0A\0P\0Q\0J\0L\0S\0T\x001\0U\0V\0W\0M\0N\0X\0O\0R\0Y\0P\0Q\0Z\0[\0S\0D\0T\0U\0V\0W\0K\0D\0,\0X\0,\0Y\x008\0,\0Z\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\'\x000\x000\x009\0\x009\x009\x009\x009\x009\0:\0\\\0:\0\\\0:\0:\0:\0;\0\\\0;\0;\0;\0;\0;\0>\0\\\0\\\0>\0>\0>\0>\0B\0\\\0B\0B\0B\0B\0C\0\\\0C\0C\0C\0C\0C\0\t\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\\\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0\\\0\f\0\0\0\r\0\0\0\0\0\0\0A‘\vÑîî\bîþîîîîîîîî\tþîîîîîî\n\rîîîîîîîîîîî\bîîîîîîîîûîîîîîîî\0\0\0\0\0\b\t\n\v\f\r\0\0\0\v\f\r\f\r\f\r\0\0\b\f\r\t*/0\r2.2A,B@*Bÿÿ,\0\0\0\0"\f\r#\t\nÌ-Eüöö$/0(6IJ&1;<=6*9:>?/Ø@D07%GC5H+\0\x008\0\0\0\0\0\t\0\0\0\v\f\b#$%38:\0\r\'/"092)\0)\0\0\0\0\x004(\0!&1.;,\0\0 *+7\x0056-\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 !!"##%&$$\'\'((())***++,,-../01324445556677\0\0\0\0îîüîîîîîî îùïîîî\fîîîîîòîîîîîõî\0Añ–\v/\b!\v\')2A,34BF.K key\0_AG_strdata\0A°—\vD\0\0œ\f\0\0€\f\0\0LQ\0\0–O\0\0\0AЗ\vãë´Ä\0\0U]ÉÉÿ\0—µ\0\0»-Ô¾®Ôÿ\0§\0\0wýýÀ†ÿ\0TÃ\0\0U]ÉÉÿ\x007´\0\0»-Ô¾®Ôÿ\0/¦\0\0wýýÀ†ÿ\0R™\0\0*fÿÿÿ™ÿ\0ôÁ\0\0U]ÉÉÿ\0ײ\0\0»-Ô¾®Ôÿ\0Ϥ\0\0wýýÀ†ÿ\0ò—\0\0*fÿÿÿ™ÿ\0·Œ\0\0—­°8l°ÿ\0”À\0\0U]ÉÉÿ\0w±\0\0»-Ô¾®Ôÿ\0o£\0\0wýýÀ†ÿ\0’–\0\0*fÿÿÿ™ÿ\0W‹\0\0—­°8l°ÿ\x004„\0\0èüððÿ\x004¿\0\0U]ÉÉÿ\0°\0\0»-Ô¾®Ôÿ\0¢\0\0wýýÀ†ÿ\x002•\0\0*fÿÿÿ™ÿ\0÷‰\0\0—­°8l°ÿ\0Ԃ\0\0èüððÿ\0}\0\0à¿¿[ÿ\0Ô½\0\0U]ÉÉÿ\0·®\0\0»-Ô¾®Ôÿ\0¯ \0\0wýýÀ†ÿ\0ғ\0\0*fÿÿÿ™ÿ\0—ˆ\0\0—­°8l°ÿ\0t\0\0èüððÿ\0¹{\0\0à¿¿[ÿ\0Kw\0\0\0\0ffffÿ\0ÔÄ\0\0“÷Þë÷ÿ\0·µ\0\0ŽKážÊáÿ\0¯§\0\0‘¼½1‚½ÿ\0tÃ\0\0Ÿÿïóÿÿ\0W´\0\0.ç½×çÿ\0O¦\0\0Ök®Öÿ\0r™\0\0“е!qµÿ\0Â\0\0Ÿÿïóÿÿ\0÷²\0\0.ç½×çÿ\0ï¤\0\0Ök®Öÿ\0˜\0\0‘¼½1‚½ÿ\0׌\0\0•ñœ\bQœÿ\0´À\0\0Ÿÿïóÿÿ\0—±\0\0”+ïÆÛïÿ\0£\0\0ŽKážÊáÿ\0²–\0\0Ök®Öÿ\0w‹\0\0‘¼½1‚½ÿ\0T„\0\0•ñœ\bQœÿ\0T¿\0\0Ÿÿïóÿÿ\x007°\0\0”+ïÆÛïÿ\0/¢\0\0ŽKážÊáÿ\0R•\0\0Ök®Öÿ\0Š\0\0©ÆB’Æÿ\0ô‚\0\0“е!qµÿ\x009}\0\0—ñ”\bE”ÿ\0ô½\0\0”\bÿ÷ûÿÿ\0×®\0\0“÷Þë÷ÿ\0Ï \0\0”+ïÆÛïÿ\0ò“\0\0ŽKážÊáÿ\0·ˆ\0\0Ök®Öÿ\0”\0\0©ÆB’Æÿ\0Ù{\0\0“е!qµÿ\0kw\0\0—ñ”\bE”ÿ\0³¼\0\0”\bÿ÷ûÿÿ\0–­\0\0“÷Þë÷ÿ\0ŽŸ\0\0”+ïÆÛïÿ\0±’\0\0ŽKážÊáÿ\0v‡\0\0Ök®Öÿ\0S€\0\0©ÆB’Æÿ\0˜z\0\0“е!qµÿ\0*v\0\0•ñœ\bQœÿ\0s\0\0˜ëk\b0kÿ\0®Æ\0\0ïTT0ÿ\0ÒÊ\0\0wÿ<\0<0ÿ\0‘·\0\0쌌Q\nÿ\0‰©\0\0¿¿-ÿ\0L›\0\0pßßÂ}ÿ\0±Ž\0\04ööèÃÿ\0.†\0\0y&êÇêåÿ\0\0\0x_̀ÍÁÿ\0Ey\0\0|¥—5—ÿ\0Ôt\0\0|üff^ÿ\x006Æ\0\0ïTT0ÿ\0OÊ\0\0|üff^ÿ\0¼\0\0wÿ<\0<0ÿ\0·\0\0쌌Q\nÿ\0©\0\0¿¿-ÿ\0Ԛ\0\0pßßÂ}ÿ\x009Ž\0\04ööèÃÿ\0¶…\0\0\0\0õõõõÿ\0›~\0\0y&êÇêåÿ\0Íx\0\0x_̀ÍÁÿ\0\\t\0\0|¥—5—ÿ\0ZÅ\0\0‡ØØ³eÿ\0=¶\0\0\0\0õõõõÿ\x005¨\0\0{´Z´¬ÿ\0úÃ\0\0צ¦aÿ\0Ý´\0\0pßßÂ}ÿ\0Õ¦\0\0x_̀ÍÁÿ\0ø™\0\0yý……qÿ\0šÂ\0\0צ¦aÿ\0}³\0\0pßßÂ}ÿ\0u¥\0\0\0\0õõõõÿ\0˜˜\0\0x_̀ÍÁÿ\0]\0\0yý……qÿ\0:Á\0\0쌌Q\nÿ\0²\0\0‡ØØ³eÿ\0¤\0\04ööèÃÿ\x008—\0\0y&êÇêåÿ\0ý‹\0\0{´Z´¬ÿ\0ڄ\0\0|üff^ÿ\0Ú¿\0\0쌌Q\nÿ\0½°\0\0‡ØØ³eÿ\0µ¢\0\04ööèÃÿ\0ؕ\0\0\0\0õõõõÿ\0Š\0\0y&êÇêåÿ\0zƒ\0\0{´Z´¬ÿ\0¿}\0\0|üff^ÿ\0z¾\0\0쌌Q\nÿ\0]¯\0\0¿¿-ÿ\0U¡\0\0pßßÂ}ÿ\0x”\0\04ööèÃÿ\0=‰\0\0y&êÇêåÿ\0‚\0\0x_̀ÍÁÿ\0_|\0\0|¥—5—ÿ\0ñw\0\0|üff^ÿ\x009½\0\0쌌Q\nÿ\0®\0\0¿¿-ÿ\0 \0\0pßßÂ}ÿ\x007“\0\04ööèÃÿ\0ü‡\0\0\0\0õõõõÿ\0ـ\0\0y&êÇêåÿ\0{\0\0x_̀ÍÁÿ\0°v\0\0|¥—5—ÿ\0Ÿs\0\0|üff^ÿ\0Å\0\0‡ùåõùÿ\0¶\0\0uJؙØÉÿ\0ù§\0\0g¹¢,¢_ÿ\0¾Ã\0\0ˆûíøûÿ\0¡´\0\06â²ââÿ\0™¦\0\0qxÂf¤ÿ\0¼™\0\0b¾‹#‹Eÿ\0^Â\0\0ˆûíøûÿ\0A³\0\06â²ââÿ\x009¥\0\0qxÂf¤ÿ\0\\˜\0\0g¹¢,¢_ÿ\0!\0\0fÿm\0m,ÿ\0þÀ\0\0ˆûíøûÿ\0á±\0\0w"ìÌìæÿ\0Ù£\0\0uJؙØÉÿ\0ü–\0\0qxÂf¤ÿ\0Á‹\0\0g¹¢,¢_ÿ\0ž„\0\0fÿm\0m,ÿ\0ž¿\0\0ˆûíøûÿ\0°\0\0w"ìÌìæÿ\0y¢\0\0uJؙØÉÿ\0œ•\0\0qxÂf¤ÿ\0aŠ\0\0iŸ®A®vÿ\0>ƒ\0\0b¾‹#‹Eÿ\0ƒ}\0\0fÿX\0X$ÿ\0>¾\0\0†ý÷üýÿ\0!¯\0\0‡ùåõùÿ\0¡\0\0w"ìÌìæÿ\0<”\0\0uJؙØÉÿ\0‰\0\0qxÂf¤ÿ\0ށ\0\0iŸ®A®vÿ\0#|\0\0b¾‹#‹Eÿ\0µw\0\0fÿX\0X$ÿ\0ý¼\0\0†ý÷üýÿ\0à­\0\0‡ùåõùÿ\0؟\0\0w"ìÌìæÿ\0û’\0\0uJؙØÉÿ\0À‡\0\0qxÂf¤ÿ\0€\0\0iŸ®A®vÿ\0âz\0\0b¾‹#‹Eÿ\0tv\0\0fÿm\0m,ÿ\0cs\0\0eÿD\0Dÿ\0qÄ\0\0ôàìôÿ\0Tµ\0\0”Fڞ¼Úÿ\0L§\0\0Ä{§ˆV§ÿ\0Ã\0\0ˆûíøûÿ\0ô³\0\0’5ã³Íãÿ\0ì¥\0\0¢Jƌ–Æÿ\0™\0\0ʕˆAÿ\0±Á\0\0ˆûíøûÿ\0”²\0\0’5ã³Íãÿ\0Œ¤\0\0¢Jƌ–Æÿ\0¯—\0\0Ä{§ˆV§ÿ\0tŒ\0\0Ö၁|ÿ\0QÀ\0\0ˆûíøûÿ\x004±\0\0”+æ¿Óæÿ\0,£\0\0”Fڞ¼Úÿ\0O–\0\0¢Jƌ–Æÿ\0‹\0\0Ä{§ˆV§ÿ\0ñƒ\0\0Ö၁|ÿ\0ñ¾\0\0ˆûíøûÿ\0Ô¯\0\0”+æ¿Óæÿ\0Ì¡\0\0”Fڞ¼Úÿ\0ï”\0\0¢Jƌ–Æÿ\0´‰\0\0¾d±Œk±ÿ\0‘‚\0\0ʕˆAÿ\0Ö|\0\0Õünnkÿ\0‘½\0\0†ý÷üýÿ\0t®\0\0ôàìôÿ\0l \0\0”+æ¿Óæÿ\0“\0\0”Fڞ¼Úÿ\0Tˆ\0\0¢Jƌ–Æÿ\x001\0\0¾d±Œk±ÿ\0v{\0\0ʕˆAÿ\0\bw\0\0Õünnkÿ\0[¼\0\0†ý÷üýÿ\0>­\0\0ôàìôÿ\x006Ÿ\0\0”+æ¿Óæÿ\0Y’\0\0”Fڞ¼Úÿ\0‡\0\0¢Jƌ–Æÿ\0û\0\0¾d±Œk±ÿ\0@z\0\0ʕˆAÿ\0Òu\0\0Ö၁|ÿ\0Ár\0\0ÕÿMM\0Kÿ\0©Å\0\0rӞžwÿ\0Œ¶\0\0üÙÙ_ÿ\0„¨\0\0­_³up³ÿ\0IÄ\0\0rӞžwÿ\0,µ\0\0üÙÙ_ÿ\0$§\0\0­_³up³ÿ\0Gš\0\0éÑçç)Šÿ\0éÂ\0\0rӞžwÿ\0̳\0\0üÙÙ_ÿ\0Ä¥\0\0­_³up³ÿ\0ç˜\0\0éÑçç)Šÿ\0¬\0\0>Цf¦ÿ\0‰Á\0\0rӞžwÿ\0l²\0\0üÙÙ_ÿ\0d¤\0\0­_³up³ÿ\0‡—\0\0éÑçç)Šÿ\0LŒ\0\0>Цf¦ÿ\0)…\0\0üææ«ÿ\0)À\0\0rӞžwÿ\0\f±\0\0üÙÙ_ÿ\0£\0\0­_³up³ÿ\0\'–\0\0éÑçç)Šÿ\0ìŠ\0\0>Цf¦ÿ\0Ƀ\0\0üææ«ÿ\0~\0\0Ò¦¦vÿ\0ɾ\0\0rӞžwÿ\0¬¯\0\0üÙÙ_ÿ\0¤¡\0\0­_³up³ÿ\0ǔ\0\0éÑçç)Šÿ\0Œ‰\0\0>Цf¦ÿ\0i‚\0\0üææ«ÿ\0®|\0\0Ò¦¦vÿ\0@x\0\0\0\0ffffÿ\0—Ä\0\0LóàóÛÿ\0zµ\0\0_=ݨݵÿ\0r§\0\0ŒªÊC¢Êÿ\x007Ã\0\0Aùðùèÿ\0´\0\0W.äºä¼ÿ\0¦\0\0{eÌ{ÌÄÿ\x005™\0\0Å¾+Œ¾ÿ\0×Á\0\0Aùðùèÿ\0º²\0\0W.äºä¼ÿ\0²¤\0\0{eÌ{ÌÄÿ\0՗\0\0ŒªÊC¢Êÿ\0šŒ\0\0‘ó¬\bh¬ÿ\0wÀ\0\0Aùðùèÿ\0Z±\0\0M)ëÌëÅÿ\0R£\0\0_=ݨݵÿ\0u–\0\0{eÌ{ÌÄÿ\0:‹\0\0ŒªÊC¢Êÿ\0„\0\0‘ó¬\bh¬ÿ\0¿\0\0Aùðùèÿ\0ú¯\0\0M)ëÌëÅÿ\0ò¡\0\0_=ݨݵÿ\0•\0\0{eÌ{ÌÄÿ\0ډ\0\0‰ ÓN³Óÿ\0·‚\0\0Å¾+Œ¾ÿ\0ü|\0\0“òž\bXžÿ\0·½\0\0<\fü÷üðÿ\0š®\0\0LóàóÛÿ\0’ \0\0M)ëÌëÅÿ\0µ“\0\0_=ݨݵÿ\0zˆ\0\0{eÌ{ÌÄÿ\0W\0\0‰ ÓN³Óÿ\0œ{\0\0Å¾+Œ¾ÿ\0.w\0\0“òž\bXžÿ\0¼\0\0<\fü÷üðÿ\0d­\0\0LóàóÛÿ\0\\Ÿ\0\0M)ëÌëÅÿ\0’\0\0_=ݨݵÿ\0D‡\0\0{eÌ{ÌÄÿ\0!€\0\0‰ ÓN³Óÿ\0fz\0\0Å¾+Œ¾ÿ\0øu\0\0‘ó¬\bh¬ÿ\0çr\0\0–ï\b@ÿ\0ÉÄ\0\0Jõåõàÿ\0¬µ\0\0PH١ٛÿ\0¤§\0\0b²£1£Tÿ\0iÃ\0\0Iøíøéÿ\0L´\0\0N6äºä³ÿ\0D¦\0\0VhÄtÄvÿ\0g™\0\0b¾‹#‹Eÿ\0\tÂ\0\0Iøíøéÿ\0ì²\0\0N6äºä³ÿ\0ä¤\0\0VhÄtÄvÿ\0˜\0\0b²£1£Tÿ\0̌\0\0fÿm\0m,ÿ\0©À\0\0Iøíøéÿ\0Œ±\0\0M,éÇéÀÿ\0„£\0\0PH١ٛÿ\0§–\0\0VhÄtÄvÿ\0l‹\0\0b²£1£Tÿ\0I„\0\0fÿm\0m,ÿ\0I¿\0\0Iøíøéÿ\0,°\0\0M,éÇéÀÿ\0$¢\0\0PH١ٛÿ\0G•\0\0VhÄtÄvÿ\0\fŠ\0\0`ž«A«]ÿ\0é‚\0\0b¾‹#‹Eÿ\0.}\0\0lÿZ\0Z2ÿ\0é½\0\0Hü÷üõÿ\0Ì®\0\0Jõåõàÿ\0Ä \0\0M,éÇéÀÿ\0ç“\0\0PH١ٛÿ\0¬ˆ\0\0VhÄtÄvÿ\0‰\0\0`ž«A«]ÿ\0Î{\0\0b¾‹#‹Eÿ\0`w\0\0lÿZ\0Z2ÿ\0¨¼\0\0Hü÷üõÿ\0‹­\0\0Jõåõàÿ\0ƒŸ\0\0M,éÇéÀÿ\0¦’\0\0PH١ٛÿ\0k‡\0\0VhÄtÄvÿ\0H€\0\0`ž«A«]ÿ\0z\0\0b¾‹#‹Eÿ\0v\0\0fÿm\0m,ÿ\0s\0\0eÿD\0Dÿ\0¿Ä\0\0\0\0ððððÿ\0¢µ\0\0\0\0½½½½ÿ\0š§\0\0\0\0ccccÿ\0_Ã\0\0\0\0÷÷÷÷ÿ\0B´\0\0\0\0ÌÌÌÌÿ\0:¦\0\0\0\0––––ÿ\0]™\0\0\0\0RRRRÿ\0ÿÁ\0\0\0\0÷÷÷÷ÿ\0â²\0\0\0\0ÌÌÌÌÿ\0Ú¤\0\0\0\0––––ÿ\0ý—\0\0\0\0ccccÿ\0Œ\0\0\0\0%%%%ÿ\0ŸÀ\0\0\0\0÷÷÷÷ÿ\0‚±\0\0\0\0ÙÙÙÙÿ\0z£\0\0\0\0½½½½ÿ\0–\0\0\0\0––––ÿ\0b‹\0\0\0\0ccccÿ\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\0ssssÿ\0߂\0\0\0\0RRRRÿ\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\0ssssÿ\0Ä{\0\0\0\0RRRRÿ\0Vw\0\0\0\0%%%%ÿ\0ž¼\0\0\0\0ÿÿÿÿÿ\0­\0\0\0\0ððððÿ\0yŸ\0\0\0\0ÙÙÙÙÿ\0œ’\0\0\0\0½½½½ÿ\0a‡\0\0\0\0––––ÿ\0>€\0\0\0\0ssssÿ\0ƒz\0\0\0\0RRRRÿ\0v\0\0\0\0%%%%ÿ\0s\0\0\0\0\0\0\0\0ÿ\0êÄ\0\00þþæÎÿ\0͵\0\0“ýý®kÿ\0ŧ\0\0ðææU\rÿ\0ŠÃ\0\0 þþíÞÿ\0m´\0\0xýý¾…ÿ\0e¦\0\0Âýý<ÿ\0ˆ™\0\0\rýÙÙGÿ\0*Â\0\0 þþíÞÿ\0\r³\0\0xýý¾…ÿ\0¥\0\0Âýý<ÿ\0(˜\0\0ðææU\rÿ\0íŒ\0\0\rú¦¦6ÿ\0ÊÀ\0\0 þþíÞÿ\0­±\0\0[ýýТÿ\0¥£\0\0“ýý®kÿ\0Ȗ\0\0Âýý<ÿ\0‹\0\0ðææU\rÿ\0j„\0\0\rú¦¦6ÿ\0j¿\0\0 þþíÞÿ\0M°\0\0[ýýТÿ\0E¢\0\0“ýý®kÿ\0h•\0\0Âýý<ÿ\0-Š\0\0êññiÿ\0\nƒ\0\0\rýÙÙHÿ\0O}\0\0\f÷ŒŒ-ÿ\0\n¾\0\0ÿÿõëÿ\0í®\0\00þþæÎÿ\0å \0\0[ýýТÿ\0\b”\0\0“ýý®kÿ\0͈\0\0Âýý<ÿ\0ª\0\0êññiÿ\0ï{\0\0\rýÙÙHÿ\0w\0\0\f÷ŒŒ-ÿ\0ɼ\0\0ÿÿõëÿ\0¬­\0\00þþæÎÿ\0¤Ÿ\0\0[ýýТÿ\0ǒ\0\0“ýý®kÿ\0Œ‡\0\0Âýý<ÿ\0i€\0\0êññiÿ\0®z\0\0\rýÙÙHÿ\0@v\0\0\rú¦¦6ÿ\0/s\0\0\fö\'ÿ\0wÅ\0\06þþèÈÿ\0Z¶\0\0yýý»„ÿ\0R¨\0\0ÅããJ3ÿ\0Ä\0\0%þþðÙÿ\0ú´\0\0sýý̊ÿ\0ò¦\0\0\r¤üüYÿ\0š\0\0Ú××0ÿ\0·Â\0\0%þþðÙÿ\0š³\0\0sýý̊ÿ\0’¥\0\0\r¤üüYÿ\0µ˜\0\0ÅããJ3ÿ\0z\0\0\0ÿ³³\0\0ÿ\0WÁ\0\0%þþðÙÿ\0:²\0\0_ýýԞÿ\x002¤\0\0yýý»„ÿ\0U—\0\0\r¤üüYÿ\0Œ\0\0ÅããJ3ÿ\0÷„\0\0\0ÿ³³\0\0ÿ\0÷¿\0\0%þþðÙÿ\0Ú°\0\0_ýýԞÿ\0Ò¢\0\0yýý»„ÿ\0õ•\0\0\r¤üüYÿ\0ºŠ\0\0²ïïeHÿ\0—ƒ\0\0Ú××0ÿ\0Ü}\0\0\0ÿ™™\0\0ÿ\0—¾\0\0ÿÿ÷ìÿ\0z¯\0\06þþèÈÿ\0r¡\0\0_ýýԞÿ\0•”\0\0yýý»„ÿ\0Z‰\0\0\r¤üüYÿ\x007‚\0\0²ïïeHÿ\0||\0\0Ú××0ÿ\0x\0\0\0ÿ™™\0\0ÿ\0V½\0\0ÿÿ÷ìÿ\x009®\0\06þþèÈÿ\x001 \0\0_ýýԞÿ\0T“\0\0yýý»„ÿ\0ˆ\0\0\r¤üüYÿ\0ö€\0\0²ïïeHÿ\0;{\0\0Ú××0ÿ\0Ív\0\0\0ÿ³³\0\0ÿ\0¼s\0\0\0ÿ\0\0ÿ\0¸Æ\0\0ŽDã¦Îãÿ\0ÝÊ\0\0¾™šj=šÿ\0›·\0\0Ó´x´ÿ\0“©\0\0Aa߲ߊÿ\0V›\0\0R¸ 3 ,ÿ\0»Ž\0\0\0cûûš™ÿ\x008†\0\0þáããÿ\0\0\0ýý¿oÿ\0Oy\0\0ÿÿÿ\0ÿ\0Þt\0\0Æ*ÖʲÖÿ\0@Æ\0\0ŽDã¦Îãÿ\0ZÊ\0\0¾™šj=šÿ\0 ¼\0\0*fÿÿÿ™ÿ\0#·\0\0Ó´x´ÿ\0©\0\0Aa߲ߊÿ\0ޚ\0\0R¸ 3 ,ÿ\0CŽ\0\0\0cûûš™ÿ\0À…\0\0þáããÿ\0¥~\0\0ýý¿oÿ\0×x\0\0ÿÿÿ\0ÿ\0ft\0\0Æ*ÖʲÖÿ\0ÈÅ\0\0ŽDã¦Îãÿ\0×É\0\0¾™šj=šÿ\0»\0\0*fÿÿÿ™ÿ\0­\0\0ű±Y(ÿ\0«¶\0\0Ó´x´ÿ\0£¨\0\0Aa߲ߊÿ\0fš\0\0R¸ 3 ,ÿ\0ˍ\0\0\0cûûš™ÿ\0H…\0\0þáããÿ\0-~\0\0ýý¿oÿ\0_x\0\0ÿÿÿ\0ÿ\0îs\0\0Æ*ÖʲÖÿ\0€Å\0\0ŽDã¦Îãÿ\0c¶\0\0Ó´x´ÿ\0[¨\0\0Aa߲ߊÿ\0 Ä\0\0ŽDã¦Îãÿ\0µ\0\0Ó´x´ÿ\0û¦\0\0Aa߲ߊÿ\0š\0\0R¸ 3 ,ÿ\0ÀÂ\0\0ŽDã¦Îãÿ\0£³\0\0Ó´x´ÿ\0›¥\0\0Aa߲ߊÿ\0¾˜\0\0R¸ 3 ,ÿ\0ƒ\0\0\0cûûš™ÿ\0`Á\0\0ŽDã¦Îãÿ\0C²\0\0Ó´x´ÿ\0;¤\0\0Aa߲ߊÿ\0^—\0\0R¸ 3 ,ÿ\0#Œ\0\0\0cûûš™ÿ\0\0…\0\0þáããÿ\0\0À\0\0ŽDã¦Îãÿ\0ã°\0\0Ó´x´ÿ\0Û¢\0\0Aa߲ߊÿ\0þ•\0\0R¸ 3 ,ÿ\0Ê\0\0\0cûûš™ÿ\0 ƒ\0\0þáããÿ\0å}\0\0ýý¿oÿ\0 ¾\0\0ŽDã¦Îãÿ\0ƒ¯\0\0Ó´x´ÿ\0{¡\0\0Aa߲ߊÿ\0ž”\0\0R¸ 3 ,ÿ\0c‰\0\0\0cûûš™ÿ\0@‚\0\0þáããÿ\0…|\0\0ýý¿oÿ\0x\0\0ÿÿÿ\0ÿ\0_½\0\0ŽDã¦Îãÿ\0B®\0\0Ó´x´ÿ\0: \0\0Aa߲ߊÿ\0]“\0\0R¸ 3 ,ÿ\0"ˆ\0\0\0cûûš™ÿ\0ÿ€\0\0þáããÿ\0D{\0\0ýý¿oÿ\0Öv\0\0ÿÿÿ\0ÿ\0Ås\0\0Æ*ÖʲÖÿ\0¼Å\0\0Nûû´®ÿ\0Ÿ¶\0\0’5ã³Íãÿ\0—¨\0\0M)ëÌëÅÿ\0\\Ä\0\0Nûû´®ÿ\0?µ\0\0’5ã³Íãÿ\x007§\0\0M)ëÌëÅÿ\0Zš\0\0ÊäÞËäÿ\0üÂ\0\0Nûû´®ÿ\0ß³\0\0’5ã³Íãÿ\0×¥\0\0M)ëÌëÅÿ\0ú˜\0\0ÊäÞËäÿ\0¿\0\0XþþÙ¦ÿ\0œÁ\0\0Nûû´®ÿ\0²\0\0’5ã³Íãÿ\0w¤\0\0M)ëÌëÅÿ\0š—\0\0ÊäÞËäÿ\0_Œ\0\0XþþÙ¦ÿ\0<…\0\0*2ÿÿÿÌÿ\0<À\0\0Nûû´®ÿ\0±\0\0’5ã³Íãÿ\0£\0\0M)ëÌëÅÿ\0:–\0\0ÊäÞËäÿ\0ÿŠ\0\0XþþÙ¦ÿ\0܃\0\0*2ÿÿÿÌÿ\0!~\0\0,å娽ÿ\0ܾ\0\0Nûû´®ÿ\0¿¯\0\0’5ã³Íãÿ\0·¡\0\0M)ëÌëÅÿ\0ڔ\0\0ÊäÞËäÿ\0Ÿ‰\0\0XþþÙ¦ÿ\0|‚\0\0*2ÿÿÿÌÿ\0Á|\0\0,å娽ÿ\0Sx\0\0é#ýýÚìÿ\0|½\0\0Nûû´®ÿ\0_®\0\0’5ã³Íãÿ\0W \0\0M)ëÌëÅÿ\0z“\0\0ÊäÞËäÿ\0?ˆ\0\0XþþÙ¦ÿ\0\0\0*2ÿÿÿÌÿ\0a{\0\0,å娽ÿ\0óv\0\0é#ýýÚìÿ\0âs\0\0\0\0òòòòÿ\0Å\0\0l5â³âÍÿ\0€¶\0\0Qýýͬÿ\0x¨\0\0›èËÕèÿ\0=Ä\0\0l5â³âÍÿ\0 µ\0\0Qýýͬÿ\0§\0\0›èËÕèÿ\0;š\0\0ä+ôôÊäÿ\0ÝÂ\0\0l5â³âÍÿ\0À³\0\0Qýýͬÿ\0¸¥\0\0›èËÕèÿ\0ۘ\0\0ä+ôôÊäÿ\0 \0\x008-õæõÉÿ\0}Á\0\0l5â³âÍÿ\0`²\0\0Qýýͬÿ\0X¤\0\0›èËÕèÿ\0{—\0\0ä+ôôÊäÿ\0@Œ\0\x008-õæõÉÿ\0…\0\0#Qÿÿò®ÿ\0À\0\0l5â³âÍÿ\0\0±\0\0Qýýͬÿ\0ø¢\0\0›èËÕèÿ\0–\0\0ä+ôôÊäÿ\0àŠ\0\x008-õæõÉÿ\0½ƒ\0\0#Qÿÿò®ÿ\0~\0\0\'ññâÌÿ\0½¾\0\0l5â³âÍÿ\0 ¯\0\0Qýýͬÿ\0˜¡\0\0›èËÕèÿ\0»”\0\0ä+ôôÊäÿ\0€‰\0\x008-õæõÉÿ\0]‚\0\0#Qÿÿò®ÿ\0¢|\0\0\'ññâÌÿ\x004x\0\0\0\0ÌÌÌÌÿ\0¤Æ\0\0æýŽŽRÿ\0ÇÊ\0\0M¿d\'dÿ\0‡·\0\0æÜÅÅ}ÿ\0©\0\0èvÞÞw®ÿ\0B›\0\0å>ññ¶Úÿ\0§Ž\0\0éýýàïÿ\0$†\0\0;&õæõÐÿ\0\t\0\0=gá¸á†ÿ\0;y\0\0?¦¼¼Aÿ\0Êt\0\0DŒM’!ÿ\0,Æ\0\0æýŽŽRÿ\0DÊ\0\0DŒM’!ÿ\0\n¼\0\0M¿d\'dÿ\0·\0\0æÜÅÅ}ÿ\0©\0\0èvÞÞw®ÿ\0ʚ\0\0å>ññ¶Úÿ\0/Ž\0\0éýýàïÿ\0¬…\0\0\0\0÷÷÷÷ÿ\0‘~\0\0;&õæõÐÿ\0Ãx\0\0=gá¸á†ÿ\0Rt\0\0?¦¼¼Aÿ\0QÅ\0\0çLéé£Éÿ\x004¶\0\0\0\0÷÷÷÷ÿ\0,¨\0\0?×¡×jÿ\0ñÃ\0\0äÜÐЋÿ\0Ô´\0\0å>ññ¶Úÿ\0̦\0\0=gá¸á†ÿ\0ï™\0\0HƬM¬&ÿ\0‘Â\0\0äÜÐЋÿ\0t³\0\0å>ññ¶Úÿ\0l¥\0\0\0\0÷÷÷÷ÿ\0˜\0\0=gá¸á†ÿ\0T\0\0HƬM¬&ÿ\x001Á\0\0æÜÅÅ}ÿ\0²\0\0çLéé£Éÿ\0\f¤\0\0éýýàïÿ\0/—\0\0;&õæõÐÿ\0ô‹\0\0?×¡×jÿ\0ф\0\0DŒM’!ÿ\0Ñ¿\0\0æÜÅÅ}ÿ\0´°\0\0çLéé£Éÿ\0¬¢\0\0éýýàïÿ\0ϕ\0\0\0\0÷÷÷÷ÿ\0”Š\0\0;&õæõÐÿ\0qƒ\0\0?×¡×jÿ\0¶}\0\0DŒM’!ÿ\0q¾\0\0æÜÅÅ}ÿ\0T¯\0\0èvÞÞw®ÿ\0L¡\0\0å>ññ¶Úÿ\0o”\0\0éýýàïÿ\x004‰\0\0;&õæõÐÿ\0‚\0\0=gá¸á†ÿ\0V|\0\0?¦¼¼Aÿ\0èw\0\0DŒM’!ÿ\x000½\0\0æÜÅÅ}ÿ\0®\0\0èvÞÞw®ÿ\0\v \0\0å>ññ¶Úÿ\0.“\0\0éýýàïÿ\0ó‡\0\0\0\0÷÷÷÷ÿ\0Ѐ\0\0;&õæõÐÿ\0{\0\0=gá¸á†ÿ\0§v\0\0?¦¼¼Aÿ\0–s\0\0DŒM’!ÿ\0€Æ\0\0ÎÿK@\0Kÿ\0 Ê\0\0eÿD\0Dÿ\0c·\0\0έƒv*ƒÿ\0[©\0\0ÇW«™p«ÿ\0›\0\0Ç3ÏÂ¥Ïÿ\0ƒŽ\0\0ÒèçÔèÿ\0\0†\0\0LðÙðÓÿ\0å~\0\0PDÛ¦Û ÿ\0y\0\0X{®Z®aÿ\0¦t\0\0aÅxx7ÿ\0\bÆ\0\0ÎÿK@\0Kÿ\0Ê\0\0aÅxx7ÿ\0ã»\0\0eÿD\0Dÿ\0ë¶\0\0έƒv*ƒÿ\0ã¨\0\0ÇW«™p«ÿ\0¦š\0\0Ç3ÏÂ¥Ïÿ\0\vŽ\0\0ÒèçÔèÿ\0ˆ…\0\0\0\0÷÷÷÷ÿ\0m~\0\0LðÙðÓÿ\0Ÿx\0\0PDÛ¦Û ÿ\0.t\0\0X{®Z®aÿ\0\'Å\0\0ÄFïÃÿ\0\n¶\0\0\0\0÷÷÷÷ÿ\0¨\0\0RZ¿¿{ÿ\0ÇÃ\0\0ɨ”{2”ÿ\0ª´\0\0Ç3ÏÂ¥Ïÿ\0¢¦\0\0PDÛ¦Û ÿ\0ř\0\0fÿˆ\0ˆ7ÿ\0gÂ\0\0ɨ”{2”ÿ\0J³\0\0Ç3ÏÂ¥Ïÿ\0B¥\0\0\0\0÷÷÷÷ÿ\0e˜\0\0PDÛ¦Û ÿ\0*\0\0fÿˆ\0ˆ7ÿ\0Á\0\0έƒv*ƒÿ\0ê±\0\0ÄFïÃÿ\0â£\0\0ÒèçÔèÿ\0—\0\0LðÙðÓÿ\0ʋ\0\0RZ¿¿{ÿ\0§„\0\0aÅxx7ÿ\0§¿\0\0έƒv*ƒÿ\0а\0\0ÄFïÃÿ\0‚¢\0\0ÒèçÔèÿ\0¥•\0\0\0\0÷÷÷÷ÿ\0jŠ\0\0LðÙðÓÿ\0Gƒ\0\0RZ¿¿{ÿ\0Œ}\0\0aÅxx7ÿ\0G¾\0\0έƒv*ƒÿ\0*¯\0\0ÇW«™p«ÿ\0"¡\0\0Ç3ÏÂ¥Ïÿ\0E”\0\0ÒèçÔèÿ\0\n‰\0\0LðÙðÓÿ\0ç\0\0PDÛ¦Û ÿ\0,|\0\0X{®Z®aÿ\0¾w\0\0aÅxx7ÿ\0½\0\0έƒv*ƒÿ\0é­\0\0ÇW«™p«ÿ\0áŸ\0\0Ç3ÏÂ¥Ïÿ\0“\0\0ÒèçÔèÿ\0ɇ\0\0\0\0÷÷÷÷ÿ\0¦€\0\0LðÙðÓÿ\0ëz\0\0PDÛ¦Û ÿ\0}v\0\0X{®Z®aÿ\0ls\0\0aÅxx7ÿ\0ƒÄ\0\0½\vòìçòÿ\0fµ\0\0—=Û¦½Ûÿ\0^§\0\0Å¾+Œ¾ÿ\0#Ã\0\0¹\böñîöÿ\0´\0\0›(á½Éáÿ\0þ¥\0\0‘pÏt©Ïÿ\0!™\0\0÷°p°ÿ\0ÃÁ\0\0¹\böñîöÿ\0¦²\0\0›(á½Éáÿ\0ž¤\0\0‘pÏt©Ïÿ\0Á—\0\0Å¾+Œ¾ÿ\0†Œ\0\0÷Zÿ\0cÀ\0\0¹\böñîöÿ\0F±\0\0¨æÐÑæÿ\0>£\0\0—=Û¦½Ûÿ\0a–\0\0‘pÏt©Ïÿ\0&‹\0\0Å¾+Œ¾ÿ\0„\0\0÷Zÿ\0¿\0\0¹\böñîöÿ\0æ¯\0\0¨æÐÑæÿ\0Þ¡\0\0—=Û¦½Ûÿ\0•\0\0‘pÏt©Ïÿ\0Ɖ\0\0Ž·À6Àÿ\0£‚\0\0÷°p°ÿ\0è|\0\0ø{N{ÿ\0£½\0\0é\bÿÿ÷ûÿ\0†®\0\0½\vòìçòÿ\0~ \0\0¨æÐÑæÿ\0¡“\0\0—=Û¦½Ûÿ\0fˆ\0\0‘pÏt©Ïÿ\0C\0\0Ž·À6Àÿ\0ˆ{\0\0÷°p°ÿ\0w\0\0ø{N{ÿ\0m¼\0\0é\bÿÿ÷ûÿ\0P­\0\0½\vòìçòÿ\0HŸ\0\0¨æÐÑæÿ\0k’\0\0—=Û¦½Ûÿ\x000‡\0\0‘pÏt©Ïÿ\0\r€\0\0Ž·À6Àÿ\0Rz\0\0÷°p°ÿ\0äu\0\0÷Zÿ\0Ór\0\0ùX8Xÿ\0Å\0\0Èðìâðÿ\0öµ\0\0—=Û¦½Ûÿ\0î§\0\0‚Й™ÿ\0³Ã\0\0Ï\b÷öï÷ÿ\0–´\0\0›(á½Éáÿ\0ަ\0\0€Ïg©Ïÿ\0±™\0\0‚ûЁŠÿ\0SÂ\0\0Ï\b÷öï÷ÿ\x006³\0\0›(á½Éáÿ\0.¥\0\0€Ïg©Ïÿ\0Q˜\0\0‚Й™ÿ\0\0\0wüllYÿ\0óÀ\0\0Ï\b÷öï÷ÿ\0Ö±\0\0¨æÐÑæÿ\0Σ\0\0—=Û¦½Ûÿ\0ñ–\0\0€Ïg©Ïÿ\0¶‹\0\0‚Й™ÿ\0“„\0\0wüllYÿ\0“¿\0\0Ï\b÷öï÷ÿ\0v°\0\0¨æÐÑæÿ\0n¢\0\0—=Û¦½Ûÿ\0‘•\0\0€Ïg©Ïÿ\0VŠ\0\0Ž·À6Àÿ\x003ƒ\0\0‚ûЁŠÿ\0x}\0\0vüddPÿ\x003¾\0\0é\bÿÿ÷ûÿ\0¯\0\0Èðìâðÿ\0¡\0\0¨æÐÑæÿ\x001”\0\0—=Û¦½Ûÿ\0öˆ\0\0€Ïg©Ïÿ\0Ӂ\0\0Ž·À6Àÿ\0|\0\0‚ûЁŠÿ\0ªw\0\0vüddPÿ\0ò¼\0\0é\bÿÿ÷ûÿ\0Õ­\0\0Èðìâðÿ\0͟\0\0¨æÐÑæÿ\0ð’\0\0—=Û¦½Ûÿ\0µ‡\0\0€Ïg©Ïÿ\0’€\0\0Ž·À6Àÿ\0×z\0\0‚ûЁŠÿ\0iv\0\0wüllYÿ\0Xs\0\0uûFF6ÿ\0vÆ\0\0î;\bÿ\0•Ê\0\0ÃÿK-\0Kÿ\0Y·\0\0ö³³Xÿ\0Q©\0\0èàà‚ÿ\0›\0\0›ýý¸cÿ\0yŽ\0\0Hþþà¶ÿ\0ö…\0\0¥ëØÚëÿ\0Û~\0\0±/Ò²«Òÿ\0\ry\0\0³T¬€s¬ÿ\0œt\0\0½µˆT\'ˆÿ\0þÅ\0\0î;\bÿ\0Ê\0\0½µˆT\'ˆÿ\0Ø»\0\0ÃÿK-\0Kÿ\0á¶\0\0ö³³Xÿ\0Ù¨\0\0èàà‚ÿ\0œš\0\0›ýý¸cÿ\0Ž\0\0Hþþà¶ÿ\0~…\0\0\0\0÷÷÷÷ÿ\0c~\0\0¥ëØÚëÿ\0•x\0\0±/Ò²«Òÿ\0$t\0\0³T¬€s¬ÿ\0ÿÄ\0\0»ññ£@ÿ\0âµ\0\0\0\0÷÷÷÷ÿ\0Ú§\0\0²EَÃÿ\0ŸÃ\0\0ýææaÿ\0‚´\0\0›ýý¸cÿ\0z¦\0\0±/Ò²«Òÿ\0™\0\0¹›™^<™ÿ\0?Â\0\0ýææaÿ\0"³\0\0›ýý¸cÿ\0¥\0\0\0\0÷÷÷÷ÿ\0=˜\0\0±/Ò²«Òÿ\0\0\0¹›™^<™ÿ\0ßÀ\0\0ö³³Xÿ\0±\0\0»ññ£@ÿ\0º£\0\0Hþþà¶ÿ\0ݖ\0\0¥ëØÚëÿ\0¢‹\0\0²EَÃÿ\0„\0\0½µˆT\'ˆÿ\0¿\0\0ö³³Xÿ\0b°\0\0»ññ£@ÿ\0Z¢\0\0Hþþà¶ÿ\0}•\0\0\0\0÷÷÷÷ÿ\0BŠ\0\0¥ëØÚëÿ\0ƒ\0\0²EَÃÿ\0d}\0\0½µˆT\'ˆÿ\0¾\0\0ö³³Xÿ\0¯\0\0èàà‚ÿ\0ú \0\0›ýý¸cÿ\0”\0\0Hþþà¶ÿ\0âˆ\0\0¥ëØÚëÿ\0¿\0\0±/Ò²«Òÿ\0|\0\0³T¬€s¬ÿ\0–w\0\0½µˆT\'ˆÿ\0Þ¼\0\0ö³³Xÿ\0Á­\0\0èàà‚ÿ\0¹Ÿ\0\0›ýý¸cÿ\0ܒ\0\0Hþþà¶ÿ\0¡‡\0\0\0\0÷÷÷÷ÿ\0~€\0\0¥ëØÚëÿ\0Ãz\0\0±/Ò²«Òÿ\0Uv\0\0³T¬€s¬ÿ\0Ds\0\0½µˆT\'ˆÿ\0cÅ\0\0¼ïçáïÿ\0F¶\0\0ÖCÉɔÇÿ\0>¨\0\0êÞÝÝwÿ\0Ä\0\0¹\böñîöÿ\0æ´\0\0Ó)Ø×µØÿ\0Þ¦\0\0ä‹ßße°ÿ\0š\0\0ïèÎÎVÿ\0£Â\0\0¹\böñîöÿ\0†³\0\0Ó)Ø×µØÿ\0~¥\0\0ä‹ßße°ÿ\0¡˜\0\0êÞÝÝwÿ\0f\0\0ìÿ˜˜\0Cÿ\0CÁ\0\0¹\böñîöÿ\0&²\0\0Ì&ÚÔ¹Úÿ\0¤\0\0ÖCÉɔÇÿ\0A—\0\0ä‹ßße°ÿ\0Œ\0\0êÞÝÝwÿ\0ã„\0\0ìÿ˜˜\0Cÿ\0ã¿\0\0¹\böñîöÿ\0ư\0\0Ì&ÚÔ¹Úÿ\0¾¢\0\0ÖCÉɔÇÿ\0á•\0\0ä‹ßße°ÿ\0¦Š\0\0éÑçç)Šÿ\0ƒƒ\0\0ïèÎÎVÿ\0È}\0\0ìÿ‘‘\0?ÿ\0ƒ¾\0\0Ãù÷ôùÿ\0f¯\0\0¼ïçáïÿ\0^¡\0\0Ì&ÚÔ¹Úÿ\0”\0\0ÖCÉɔÇÿ\0F‰\0\0ä‹ßße°ÿ\0#‚\0\0éÑçç)Šÿ\0h|\0\0ïèÎÎVÿ\0úw\0\0ìÿ‘‘\0?ÿ\0B½\0\0Ãù÷ôùÿ\0%®\0\0¼ïçáïÿ\0 \0\0Ì&ÚÔ¹Úÿ\0@“\0\0ÖCÉɔÇÿ\0ˆ\0\0ä‹ßße°ÿ\0â€\0\0éÑçç)Šÿ\0\'{\0\0ïèÎÎVÿ\0¹v\0\0ìÿ˜˜\0Cÿ\0¨s\0\0òÿgg\0ÿ\0ÞÄ\0\0´\bõïíõÿ\0Áµ\0\0¨%ܼ½Üÿ\0¹§\0\0°d±uk±ÿ\0~Ã\0\0¶÷òð÷ÿ\0a´\0\0­âËÉâÿ\0Y¦\0\0­:ȞšÈÿ\0|™\0\0¶€£jQ£ÿ\0Â\0\0¶÷òð÷ÿ\0³\0\0­âËÉâÿ\0ù¤\0\0­:ȞšÈÿ\0˜\0\0°d±uk±ÿ\0áŒ\0\0¼¹T\'ÿ\0¾À\0\0¶÷òð÷ÿ\0¡±\0\0ªëÚÚëÿ\0™£\0\0¨%ܼ½Üÿ\0¼–\0\0­:ȞšÈÿ\0‹\0\0°d±uk±ÿ\0^„\0\0¼¹T\'ÿ\0^¿\0\0¶÷òð÷ÿ\0A°\0\0ªëÚÚëÿ\x009¢\0\0¨%ܼ½Üÿ\0\\•\0\0­:ȞšÈÿ\0!Š\0\0¬Sº€}ºÿ\0þ‚\0\0¶€£jQ£ÿ\0C}\0\0¾Ø†J†ÿ\0þ½\0\0¿ýüûýÿ\0á®\0\0´\bõïíõÿ\0Ù \0\0ªëÚÚëÿ\0ü“\0\0¨%ܼ½Üÿ\0Áˆ\0\0­:ȞšÈÿ\0ž\0\0¬Sº€}ºÿ\0ã{\0\0¶€£jQ£ÿ\0uw\0\0¾Ø†J†ÿ\0½¼\0\0¿ýüûýÿ\0 ­\0\0´\bõïíõÿ\0˜Ÿ\0\0ªëÚÚëÿ\0»’\0\0¨%ܼ½Üÿ\0€‡\0\0­:ȞšÈÿ\0]€\0\0¬Sº€}ºÿ\0¢z\0\0¶€£jQ£ÿ\x004v\0\0¼¹T\'ÿ\0#s\0\0¿ÿ}?\0}ÿ\0lÆ\0\0òÿgg\0ÿ\0ŠÊ\0\0–ña0aÿ\0O·\0\0ùܲ²+ÿ\0G©\0\0£ÖÖ`Mÿ\0\n›\0\0\rwôô¥‚ÿ\0oŽ\0\06ýýÛÇÿ\0ì…\0\0Ž ðÑåðÿ\0Ñ~\0\0WޒÅÞÿ\0y\0\0§ÃC“Ãÿ\0’t\0\0”ά!f¬ÿ\0ôÅ\0\0òÿgg\0ÿ\0Ê\0\0”ά!f¬ÿ\0Í»\0\0–ña0aÿ\0×¶\0\0ùܲ²+ÿ\0Ϩ\0\0£ÖÖ`Mÿ\0’š\0\0\rwôô¥‚ÿ\0÷\0\06ýýÛÇÿ\0t…\0\0\0\0÷÷÷÷ÿ\0Y~\0\0Ž ðÑåðÿ\0‹x\0\0WޒÅÞÿ\0t\0\0§ÃC“Ãÿ\0«Ä\0\0\f–ïïŠbÿ\0޵\0\0\0\0÷÷÷÷ÿ\0†§\0\0€Ïg©Ïÿ\0KÃ\0\0øÿÊÊ\0 ÿ\0.´\0\0\rwôô¥‚ÿ\0&¦\0\0WޒÅÞÿ\0I™\0\0÷°q°ÿ\0ëÁ\0\0øÿÊÊ\0 ÿ\0β\0\0\rwôô¥‚ÿ\0Ƥ\0\0\0\0÷÷÷÷ÿ\0é—\0\0WޒÅÞÿ\0®Œ\0\0÷°q°ÿ\0‹À\0\0ùܲ²+ÿ\0n±\0\0\f–ïïŠbÿ\0f£\0\06ýýÛÇÿ\0‰–\0\0Ž ðÑåðÿ\0N‹\0\0€Ïg©Ïÿ\0+„\0\0”ά!f¬ÿ\0+¿\0\0ùܲ²+ÿ\0°\0\0\f–ïïŠbÿ\0¢\0\06ýýÛÇÿ\0)•\0\0\0\0÷÷÷÷ÿ\0î‰\0\0Ž ðÑåðÿ\0˂\0\0€Ïg©Ïÿ\0}\0\0”ά!f¬ÿ\0˽\0\0ùܲ²+ÿ\0®®\0\0£ÖÖ`Mÿ\0¦ \0\0\rwôô¥‚ÿ\0ɓ\0\06ýýÛÇÿ\0Žˆ\0\0Ž ðÑåðÿ\0k\0\0WޒÅÞÿ\0°{\0\0§ÃC“Ãÿ\0Bw\0\0”ά!f¬ÿ\0•¼\0\0ùܲ²+ÿ\0x­\0\0£ÖÖ`Mÿ\0pŸ\0\0\rwôô¥‚ÿ\0“’\0\06ýýÛÇÿ\0X‡\0\0\0\0÷÷÷÷ÿ\x005€\0\0Ž ðÑåðÿ\0zz\0\0WޒÅÞÿ\0\fv\0\0§ÃC“Ãÿ\0ûr\0\0”ά!f¬ÿ\0VÆ\0\0òÿgg\0ÿ\0rÊ\0\0\0\0ÿ\x009·\0\0ùܲ²+ÿ\x001©\0\0£ÖÖ`Mÿ\0ôš\0\0\rwôô¥‚ÿ\0YŽ\0\06ýýÛÇÿ\0օ\0\0\0\0ààààÿ\0»~\0\0\0\0ººººÿ\0íx\0\0\0\0‡‡‡‡ÿ\0|t\0\0\0\0MMMMÿ\0ÞÅ\0\0òÿgg\0ÿ\0ïÉ\0\0\0\0MMMMÿ\0µ»\0\0\0\0ÿ\0Á¶\0\0ùܲ²+ÿ\0¹¨\0\0£ÖÖ`Mÿ\0|š\0\0\rwôô¥‚ÿ\0á\0\06ýýÛÇÿ\0^…\0\0\0\0ÿÿÿÿÿ\0C~\0\0\0\0ààààÿ\0ux\0\0\0\0ººººÿ\0t\0\0\0\0‡‡‡‡ÿ\0hÄ\0\0\f–ïïŠbÿ\0Kµ\0\0\0\0ÿÿÿÿÿ\0C§\0\0\0\0™™™™ÿ\0\bÃ\0\0øÿÊÊ\0 ÿ\0ë³\0\0\rwôô¥‚ÿ\0ã¥\0\0\0\0ººººÿ\0™\0\0\0\0@@@@ÿ\0¨Á\0\0øÿÊÊ\0 ÿ\0‹²\0\0\rwôô¥‚ÿ\0ƒ¤\0\0\0\0ÿÿÿÿÿ\0¦—\0\0\0\0ººººÿ\0kŒ\0\0\0\0@@@@ÿ\0HÀ\0\0ùܲ²+ÿ\0+±\0\0\f–ïïŠbÿ\0#£\0\06ýýÛÇÿ\0F–\0\0\0\0ààààÿ\0\v‹\0\0\0\0™™™™ÿ\0èƒ\0\0\0\0MMMMÿ\0è¾\0\0ùܲ²+ÿ\0˯\0\0\f–ïïŠbÿ\0á\0\06ýýÛÇÿ\0æ”\0\0\0\0ÿÿÿÿÿ\0«‰\0\0\0\0ààààÿ\0ˆ‚\0\0\0\0™™™™ÿ\0Í|\0\0\0\0MMMMÿ\0ˆ½\0\0ùܲ²+ÿ\0k®\0\0£ÖÖ`Mÿ\0c \0\0\rwôô¥‚ÿ\0†“\0\06ýýÛÇÿ\0Kˆ\0\0\0\0ààààÿ\0(\0\0\0\0ººººÿ\0m{\0\0\0\0‡‡‡‡ÿ\0ÿv\0\0\0\0MMMMÿ\0R¼\0\0ùܲ²+ÿ\x005­\0\0£ÖÖ`Mÿ\0-Ÿ\0\0\rwôô¥‚ÿ\0P’\0\06ýýÛÇÿ\0‡\0\0\0\0ÿÿÿÿÿ\0ò\0\0\0\0ààààÿ\x007z\0\0\0\0ººººÿ\0Éu\0\0\0\0‡‡‡‡ÿ\0¸r\0\0\0\0MMMMÿ\0zÄ\0\0 ýýàÝÿ\0]µ\0\0ô\\úúŸµÿ\0U§\0\0ãÜÅÅŠÿ\0Ã\0\0\rþþëâÿ\0ý³\0\0üHûû´¹ÿ\0õ¥\0\0î“÷÷h¡ÿ\0™\0\0àý®®~ÿ\0ºÁ\0\0\rþþëâÿ\0²\0\0üHûû´¹ÿ\0•¤\0\0î“÷÷h¡ÿ\0¸—\0\0ãÜÅÅŠÿ\0}Œ\0\0Õüzzwÿ\0ZÀ\0\0\rþþëâÿ\0=±\0\0<üüÅÀÿ\x005£\0\0ô\\úúŸµÿ\0X–\0\0î“÷÷h¡ÿ\0‹\0\0ãÜÅÅŠÿ\0úƒ\0\0Õüzzwÿ\0ú¾\0\0\rþþëâÿ\0ݯ\0\0<üüÅÀÿ\0Õ¡\0\0ô\\úúŸµÿ\0ø”\0\0î“÷÷h¡ÿ\0½‰\0\0æÃÝÝ4—ÿ\0š‚\0\0àý®®~ÿ\0ß|\0\0Õüzzwÿ\0š½\0\0\fÿÿ÷óÿ\0}®\0\0 ýýàÝÿ\0u \0\0<üüÅÀÿ\0˜“\0\0ô\\úúŸµÿ\0]ˆ\0\0î“÷÷h¡ÿ\0:\0\0æÃÝÝ4—ÿ\0{\0\0àý®®~ÿ\0w\0\0Õüzzwÿ\0d¼\0\0\fÿÿ÷óÿ\0G­\0\0 ýýàÝÿ\0?Ÿ\0\0<üüÅÀÿ\0b’\0\0ô\\úúŸµÿ\0\'‡\0\0î“÷÷h¡ÿ\0€\0\0æÃÝÝ4—ÿ\0Iz\0\0àý®®~ÿ\0Ûu\0\0Õüzzwÿ\0Êr\0\0ÇÿjI\0jÿ\0`Æ\0\0õÿ¥¥\0&ÿ\0}Ê\0\0§«•16•ÿ\0C·\0\0Ð××0\'ÿ\0;©\0\0\n¸ôômCÿ\0þš\0\0ýý®aÿ\0cŽ\0\0nþþàÿ\0à…\0\0ˆøàóøÿ\0Å~\0\0ŠCé«Ùéÿ\0÷x\0\0qÑt­Ñÿ\0†t\0\0—´Eu´ÿ\0èÅ\0\0õÿ¥¥\0&ÿ\0úÉ\0\0—´Eu´ÿ\0À»\0\0§«•16•ÿ\0˶\0\0Ð××0\'ÿ\0è\0\0\n¸ôômCÿ\0†š\0\0ýý®aÿ\0ë\0\0nþþàÿ\0h…\0\0*@ÿÿÿ¿ÿ\0M~\0\0ˆøàóøÿ\0x\0\0ŠCé«Ùéÿ\0t\0\0qÑt­Ñÿ\0 Ä\0\0\r¤üüYÿ\0ƒµ\0\0*@ÿÿÿ¿ÿ\0{§\0\0Vۑ¿Ûÿ\0@Ã\0\0þá××ÿ\0#´\0\0ýý®aÿ\0¦\0\0ŠCé«Ùéÿ\0>™\0\0‘Á¶,{¶ÿ\0àÁ\0\0þá××ÿ\0ò\0\0ýý®aÿ\0»¤\0\0*@ÿÿÿ¿ÿ\0ޗ\0\0ŠCé«Ùéÿ\0£Œ\0\0‘Á¶,{¶ÿ\0€À\0\0Ð××0\'ÿ\0c±\0\0\r¤üüYÿ\0[£\0\0nþþàÿ\0~–\0\0ˆøàóøÿ\0C‹\0\0Vۑ¿Ûÿ\0 „\0\0—´Eu´ÿ\0 ¿\0\0Ð××0\'ÿ\0°\0\0\r¤üüYÿ\0û¡\0\0nþþàÿ\0•\0\0*@ÿÿÿ¿ÿ\0ã‰\0\0ˆøàóøÿ\0À‚\0\0Vۑ¿Ûÿ\0}\0\0—´Eu´ÿ\0À½\0\0Ð××0\'ÿ\0£®\0\0\n¸ôômCÿ\0› \0\0ýý®aÿ\0¾“\0\0nþþàÿ\0ƒˆ\0\0ˆøàóøÿ\0`\0\0ŠCé«Ùéÿ\0¥{\0\0qÑt­Ñÿ\x007w\0\0—´Eu´ÿ\0м\0\0Ð××0\'ÿ\0m­\0\0\n¸ôômCÿ\0eŸ\0\0ýý®aÿ\0ˆ’\0\0nþþàÿ\0M‡\0\0*@ÿÿÿ¿ÿ\0*€\0\0ˆøàóøÿ\0oz\0\0ŠCé«Ùéÿ\0v\0\0qÑt­Ñÿ\0ðr\0\0—´Eu´ÿ\0ŠÆ\0\0õÿ¥¥\0&ÿ\0«Ê\0\0kÿh\0h7ÿ\0m·\0\0Ð××0\'ÿ\0e©\0\0\n¸ôômCÿ\0(›\0\0ýý®aÿ\0Ž\0\0sþþà‹ÿ\0\n†\0\x003jïÙï‹ÿ\0ï~\0\0>‚Ù¦Ùjÿ\0!y\0\0Sy½f½cÿ\0°t\0\0gӘ˜Pÿ\0Æ\0\0õÿ¥¥\0&ÿ\0(Ê\0\0gӘ˜Pÿ\0î»\0\0kÿh\0h7ÿ\0õ¶\0\0Ð××0\'ÿ\0í¨\0\0\n¸ôômCÿ\0°š\0\0ýý®aÿ\0Ž\0\0sþþà‹ÿ\0’…\0\0*@ÿÿÿ¿ÿ\0w~\0\x003jïÙï‹ÿ\0©x\0\0>‚Ù¦Ùjÿ\x008t\0\0Sy½f½cÿ\x000Å\0\0\r¤üüYÿ\0¶\0\0*@ÿÿÿ¿ÿ\0\v¨\0\0BˆÏ‘Ï`ÿ\0ÐÃ\0\0þá××ÿ\0³´\0\0ýý®aÿ\0«¦\0\0>‚Ù¦Ùjÿ\0Ι\0\0bҖ–Aÿ\0pÂ\0\0þá××ÿ\0S³\0\0ýý®aÿ\0K¥\0\0*@ÿÿÿ¿ÿ\0n˜\0\0>‚Ù¦Ùjÿ\x003\0\0bҖ–Aÿ\0Á\0\0Ð××0\'ÿ\0ó±\0\0\r¤üüYÿ\0ë£\0\0sþþà‹ÿ\0—\0\x003jïÙï‹ÿ\0Ӌ\0\0BˆÏ‘Ï`ÿ\0°„\0\0gӘ˜Pÿ\0°¿\0\0Ð××0\'ÿ\0“°\0\0\r¤üüYÿ\0‹¢\0\0sþþà‹ÿ\0®•\0\0*@ÿÿÿ¿ÿ\0sŠ\0\x003jïÙï‹ÿ\0Pƒ\0\0BˆÏ‘Ï`ÿ\0•}\0\0gӘ˜Pÿ\0P¾\0\0Ð××0\'ÿ\x003¯\0\0\n¸ôômCÿ\0+¡\0\0ýý®aÿ\0N”\0\0sþþà‹ÿ\0‰\0\x003jïÙï‹ÿ\0ð\0\0>‚Ù¦Ùjÿ\x005|\0\0Sy½f½cÿ\0Çw\0\0gӘ˜Pÿ\0½\0\0Ð××0\'ÿ\0ò­\0\0\n¸ôômCÿ\0êŸ\0\0ýý®aÿ\0\r“\0\0sþþà‹ÿ\0҇\0\0*@ÿÿÿ¿ÿ\0¯€\0\x003jïÙï‹ÿ\0ôz\0\0>‚Ù¦Ùjÿ\0†v\0\0Sy½f½cÿ\0us\0\0gӘ˜Pÿ\0öÄ\0\0\r,þþàÒÿ\0Ùµ\0\0\t‹üü’rÿ\0ѧ\0\0ÓÞÞ-&ÿ\0–Ã\0\0\r%þþåÙÿ\0y´\0\0\vlüü®‘ÿ\0q¦\0\0³ûûjJÿ\0”™\0\0ýàËËÿ\x006Â\0\0\r%þþåÙÿ\0³\0\0\vlüü®‘ÿ\0¥\0\0³ûûjJÿ\x004˜\0\0ÓÞÞ-&ÿ\0ùŒ\0\0ý祥ÿ\0ÖÀ\0\0\r%þþåÙÿ\0¹±\0\0\f\\üü»¡ÿ\0±£\0\0\t‹üü’rÿ\0Ԗ\0\0³ûûjJÿ\0™‹\0\0ÓÞÞ-&ÿ\0v„\0\0ý祥ÿ\0v¿\0\0\r%þþåÙÿ\0Y°\0\0\f\\üü»¡ÿ\0Q¢\0\0\t‹üü’rÿ\0t•\0\0³ûûjJÿ\x009Š\0\0Ðïï;,ÿ\0ƒ\0\0ýàËËÿ\0[}\0\0ûÿ™™\0\rÿ\0¾\0\0ÿÿõðÿ\0ù®\0\0\r,þþàÒÿ\0ñ \0\0\f\\üü»¡ÿ\0”\0\0\t‹üü’rÿ\0و\0\0³ûûjJÿ\0¶\0\0Ðïï;,ÿ\0û{\0\0ýàËËÿ\0w\0\0ûÿ™™\0\rÿ\0Õ¼\0\0ÿÿõðÿ\0¸­\0\0\r,þþàÒÿ\0°Ÿ\0\0\f\\üü»¡ÿ\0Ӓ\0\0\t‹üü’rÿ\0˜‡\0\0³ûûjJÿ\0u€\0\0Ðïï;,ÿ\0ºz\0\0ýàËËÿ\0Lv\0\0ý祥ÿ\0;s\0\0ùÿgg\0\rÿ\0³Å\0\0þáääÿ\0–¶\0\0’²¸7~¸ÿ\0ލ\0\0S“¯M¯Jÿ\0SÄ\0\0þáääÿ\x006µ\0\0’²¸7~¸ÿ\0.§\0\0S“¯M¯Jÿ\0Qš\0\0τ£˜N£ÿ\0óÂ\0\0þáääÿ\0Ö³\0\0’²¸7~¸ÿ\0Î¥\0\0S“¯M¯Jÿ\0ñ˜\0\0τ£˜N£ÿ\0¶\0\0ÿÿÿ\0ÿ\0“Á\0\0þáääÿ\0v²\0\0’²¸7~¸ÿ\0n¤\0\0S“¯M¯Jÿ\0‘—\0\0τ£˜N£ÿ\0VŒ\0\0ÿÿÿ\0ÿ\x003…\0\0*Ìÿÿÿ3ÿ\x003À\0\0þáääÿ\0±\0\0’²¸7~¸ÿ\0£\0\0S“¯M¯Jÿ\x001–\0\0τ£˜N£ÿ\0öŠ\0\0ÿÿÿ\0ÿ\0Ӄ\0\0*Ìÿÿÿ3ÿ\0~\0\0Á¦¦V(ÿ\0Ó¾\0\0þáääÿ\0¶¯\0\0’²¸7~¸ÿ\0®¡\0\0S“¯M¯Jÿ\0є\0\0τ£˜N£ÿ\0–‰\0\0ÿÿÿ\0ÿ\0s‚\0\0*Ìÿÿÿ3ÿ\0¸|\0\0Á¦¦V(ÿ\0Jx\0\0èy÷÷¿ÿ\0s½\0\0þáääÿ\0V®\0\0’²¸7~¸ÿ\0N \0\0S“¯M¯Jÿ\0q“\0\0τ£˜N£ÿ\x006ˆ\0\0ÿÿÿ\0ÿ\0\0\0*Ìÿÿÿ3ÿ\0X{\0\0Á¦¦V(ÿ\0êv\0\0èy÷÷¿ÿ\0Ùs\0\0\0\0™™™™ÿ\0”Å\0\0rxÂfÂ¥ÿ\0w¶\0\0\v›üübÿ\0o¨\0\0œMˍ Ëÿ\x004Ä\0\0rxÂfÂ¥ÿ\0µ\0\0\v›üübÿ\0§\0\0œMˍ Ëÿ\x002š\0\0äfççŠÃÿ\0ÔÂ\0\0rxÂfÂ¥ÿ\0·³\0\0\v›üübÿ\0¯¥\0\0œMˍ Ëÿ\0Ҙ\0\0äfççŠÃÿ\0—\0\0:›Ø¦ØTÿ\0tÁ\0\0rxÂfÂ¥ÿ\0W²\0\0\v›üübÿ\0O¤\0\0œMˍ Ëÿ\0r—\0\0äfççŠÃÿ\x007Œ\0\0:›Ø¦ØTÿ\0…\0\0"ÐÿÿÙ/ÿ\0À\0\0rxÂfÂ¥ÿ\0÷°\0\0\v›üübÿ\0ï¢\0\0œMˍ Ëÿ\0–\0\0äfççŠÃÿ\0׊\0\0:›Ø¦ØTÿ\0´ƒ\0\0"ÐÿÿÙ/ÿ\0ù}\0\0ZååĔÿ\0´¾\0\0rxÂfÂ¥ÿ\0—¯\0\0\v›üübÿ\0¡\0\0œMˍ Ëÿ\0²”\0\0äfççŠÃÿ\0w‰\0\0:›Ø¦ØTÿ\0T‚\0\0"ÐÿÿÙ/ÿ\0™|\0\0ZååĔÿ\0+x\0\0\0\0³³³³ÿ\0ÄÆ\0\0xTӍÓÇÿ\0êÊ\0\0ÓR½¼€½ÿ\0§·\0\0*Lÿÿÿ³ÿ\0Ÿ©\0\0¯%Ú¾ºÚÿ\0b›\0\0‹ûû€rÿ\0ǎ\0\0dӀ±Óÿ\0D†\0\0œýý´bÿ\0)\0\0:†Þ³Þiÿ\0[y\0\0é/üüÍåÿ\0êt\0\0\0\0ÙÙÙÙÿ\0LÆ\0\0xTӍÓÇÿ\0gÊ\0\0ÓR½¼€½ÿ\0-¼\0\0M)ëÌëÅÿ\0/·\0\0*Lÿÿÿ³ÿ\0\'©\0\0¯%Ú¾ºÚÿ\0êš\0\0‹ûû€rÿ\0OŽ\0\0dӀ±Óÿ\0̅\0\0œýý´bÿ\0±~\0\0:†Þ³Þiÿ\0ãx\0\0é/üüÍåÿ\0rt\0\0\0\0ÙÙÙÙÿ\0ÔÅ\0\0xTӍÓÇÿ\0äÉ\0\0ÓR½¼€½ÿ\0ª»\0\0M)ëÌëÅÿ\0*­\0\0%ÿÿíoÿ\0·¶\0\0*Lÿÿÿ³ÿ\0¯¨\0\0¯%Ú¾ºÚÿ\0rš\0\0‹ûû€rÿ\0׍\0\0dӀ±Óÿ\0T…\0\0œýý´bÿ\x009~\0\0:†Þ³Þiÿ\0kx\0\0é/üüÍåÿ\0ús\0\0\0\0ÙÙÙÙÿ\0‹Å\0\0xTӍÓÇÿ\0n¶\0\0*Lÿÿÿ³ÿ\0f¨\0\0¯%Ú¾ºÚÿ\0+Ä\0\0xTӍÓÇÿ\0µ\0\0*Lÿÿÿ³ÿ\0§\0\0¯%Ú¾ºÚÿ\0)š\0\0‹ûû€rÿ\0ËÂ\0\0xTӍÓÇÿ\0®³\0\0*Lÿÿÿ³ÿ\0¦¥\0\0¯%Ú¾ºÚÿ\0ɘ\0\0‹ûû€rÿ\0Ž\0\0dӀ±Óÿ\0kÁ\0\0xTӍÓÇÿ\0N²\0\0*Lÿÿÿ³ÿ\0F¤\0\0¯%Ú¾ºÚÿ\0i—\0\0‹ûû€rÿ\0.Œ\0\0dӀ±Óÿ\0\v…\0\0œýý´bÿ\0\vÀ\0\0xTӍÓÇÿ\0î°\0\0*Lÿÿÿ³ÿ\0æ¢\0\0¯%Ú¾ºÚÿ\0\t–\0\0‹ûû€rÿ\0Ί\0\0dӀ±Óÿ\0«ƒ\0\0œýý´bÿ\0ð}\0\0:†Þ³Þiÿ\0«¾\0\0xTӍÓÇÿ\0ޝ\0\0*Lÿÿÿ³ÿ\0†¡\0\0¯%Ú¾ºÚÿ\0©”\0\0‹ûû€rÿ\0n‰\0\0dӀ±Óÿ\0K‚\0\0œýý´bÿ\0|\0\0:†Þ³Þiÿ\0"x\0\0é/üüÍåÿ\0j½\0\0xTӍÓÇÿ\0M®\0\0*Lÿÿÿ³ÿ\0E \0\0¯%Ú¾ºÚÿ\0h“\0\0‹ûû€rÿ\0-ˆ\0\0dӀ±Óÿ\0\n\0\0œýý´bÿ\0O{\0\0:†Þ³Þiÿ\0áv\0\0é/üüÍåÿ\0Ðs\0\0\0\0ÙÙÙÙÿ\0–Æ\0\0íýžžBÿ\0¸Ê\0\0±‚¢^O¢ÿ\0y·\0\0ú´ÕÕ>Oÿ\0q©\0\0\n¸ôômCÿ\x004›\0\0ýý®aÿ\0™Ž\0\0sþþà‹ÿ\0†\0\x001`õæõ˜ÿ\0û~\0\0OAݫݤÿ\0-y\0\0rxÂfÂ¥ÿ\0¼t\0\0»½2ˆ½ÿ\0Æ\0\0íýžžBÿ\x005Ê\0\0»½2ˆ½ÿ\0û»\0\0±‚¢^O¢ÿ\0·\0\0ú´ÕÕ>Oÿ\0ù¨\0\0\n¸ôômCÿ\0¼š\0\0ýý®aÿ\0!Ž\0\0sþþà‹ÿ\0ž…\0\0*@ÿÿÿ¿ÿ\0ƒ~\0\x001`õæõ˜ÿ\0µx\0\0OAݫݤÿ\0Dt\0\0rxÂfÂ¥ÿ\0DÅ\0\0\r¤üüYÿ\0\'¶\0\0*@ÿÿÿ¿ÿ\0¨\0\0QMՙՔÿ\0äÃ\0\0þá××ÿ\0Ç´\0\0ýý®aÿ\0¿¦\0\0OAݫݤÿ\0â™\0\0Äº+ƒºÿ\0„Â\0\0þá××ÿ\0g³\0\0ýý®aÿ\0_¥\0\0*@ÿÿÿ¿ÿ\0‚˜\0\0OAݫݤÿ\0G\0\0Äº+ƒºÿ\0$Á\0\0ú´ÕÕ>Oÿ\0²\0\0\r¤üüYÿ\0ÿ£\0\0sþþà‹ÿ\0"—\0\x001`õæõ˜ÿ\0ç‹\0\0QMՙՔÿ\0Ą\0\0»½2ˆ½ÿ\0Ä¿\0\0ú´ÕÕ>Oÿ\0§°\0\0\r¤üüYÿ\0Ÿ¢\0\0sþþà‹ÿ\0•\0\0*@ÿÿÿ¿ÿ\0‡Š\0\x001`õæõ˜ÿ\0dƒ\0\0QMՙՔÿ\0©}\0\0»½2ˆ½ÿ\0d¾\0\0ú´ÕÕ>Oÿ\0G¯\0\0\n¸ôômCÿ\0?¡\0\0ýý®aÿ\0b”\0\0sþþà‹ÿ\0\'‰\0\x001`õæõ˜ÿ\0‚\0\0OAݫݤÿ\0I|\0\0rxÂfÂ¥ÿ\0Ûw\0\0»½2ˆ½ÿ\0#½\0\0ú´ÕÕ>Oÿ\0®\0\0\n¸ôômCÿ\0þŸ\0\0ýý®aÿ\0!“\0\0sþþà‹ÿ\0æ‡\0\0*@ÿÿÿ¿ÿ\0À\0\x001`õæõ˜ÿ\0\b{\0\0OAݫݤÿ\0šv\0\0rxÂfÂ¥ÿ\0‰s\0\0»½2ˆ½ÿ\0©G\0\0“ÿðøÿÿ\0üH\0\0#úúë×ÿ\0‰`\0\0ÿÿ\0ÿÿÿ\0ËK\0\0q€ÿÿÔÿ\0îJ\0\0ÿðÿÿÿ\0ÞN\0\0*õõõÜÿ\0E\0\0:ÿÿäÄÿ\0Ò:\0\0\0\0\0\0\0\0ÿ\0R\0\01ÿÿëÍÿ\0¸G\0\0ªÿÿ\0\0ÿÿ\x004\0\0ÀÎâŠ+âÿ\0Y0\0\0\0¾¥¥**ÿ\0R\0\0cÞÞ¸‡ÿ\0¾F\0\0€g _ž ÿ\0­I\0\0?ÿÿÿ\0ÿ\0}I\0\0ÚÒÒiÿ\0Ì8\0\0\v¯ÿÿPÿ\0ÍF\0\0š“íd•íÿ\0}:\0\0!"ÿÿøÜÿ\0§0\0\0öçÜÜ<ÿ\0á4\0\0ÿÿ\0ÿÿÿ\0LG\0\0ªÿ‹\0\0‹ÿ\0Ó4\0\0ÿ‹\0‹‹ÿ\0ÒQ\0\0︸†\vÿ\0f\b\0\0\0\0©©©©ÿ\0ñ3\0\0Uÿd\0d\0ÿ\0›\0\0\0\0©©©©ÿ\0[;\0\0\'n½½·kÿ\0`\0\0Ôÿ‹‹\0‹ÿ\0(4\0\0:ŽkUk/ÿ\0¹N\0\0ÿÿÿŒ\0ÿ\0ÕS\0\0ÆÀ̙2Ìÿ\0áU\0\0\0ÿ‹‹\0\0ÿ\0\'1\0\0\nyéé–zÿ\0Š4\0\0U=¼¼ÿ\0‡G\0\0¯‹H=‹ÿ\0ˆ\b\0\0gO/OOÿ\0½\0\0gO/OOÿ\0bJ\0\0€ÿÑ\0ÎÑÿ\0$\0\0ÇÿӔ\0Óÿ\0:\0\0èëÿÿ“ÿ\0oF\0\0Šÿÿ\0¿ÿÿ\0Y\b\0\0\0\0iiiiÿ\0Ž\0\0\0\0iiiiÿ\0áF\0\0”áÿÿÿ\0¶:\0\0\0β²""ÿ\0ëH\0\0ÿÿúðÿ\0´3\0\0UÀ‹"‹"ÿ\0ba\0\0Ôÿÿÿ\0ÿÿ\0X/\0\0\0\0ÜÜÜÜÿ\0ÊH\0\0ªÿøøÿÿ\0S\0\0#ÿÿÿ×\0ÿ\0øQ\0\0ÙÚÚ¥ ÿ\0º\b\0\0\0\0€€€€ÿ\0³4\0\0Uÿ€\0€\0ÿ\0s\n\0\0;Ðÿ­ÿ/ÿ\0ï\0\0\0\0€€€€ÿ\0|\v\0\0Uÿðÿðÿ\0:\0\0é–ÿÿi´ÿ\0ÒU\0\0\0ŒÍÍ\\\\ÿ\0¶/\0\0Âÿ‚K\0‚ÿ\0{\0\0*ÿÿÿðÿ\0j;\0\0&jððæŒÿ\x006\0\0ªúææúÿ\0¿<\0\0ðÿÿðõÿ\0â3\0\0@ÿü|ü\0ÿ\0f2\0\0&1ÿÿúÍÿ\0¯F\0\0‰?æ­Øæÿ\0¼8\0\0\0wðð€€ÿ\0Ä4\0\0ÿàÿÿÿ\0„\n\0\0*(úúúÒÿ\0J\b\0\0\0\0ÓÓÓÓÿ\0Å3\0\0Udîîÿ\0\0\0\0\0ÓÓÓÓÿ\0:\0\0øIÿÿ¶Áÿ\01\0\0\f„ÿÿ zÿ\0c4\0\0}Ѳ ²ªÿ\0]F\0\0uú‡Îúÿ\0t\b\0\0”8™wˆ™ÿ\0©\0\0”8™wˆ™ÿ\0G\0\0—4Þ°ÄÞÿ\0b\n\0\0*ÿÿÿàÿ\0eL\0\0Uÿÿ\0ÿ\0ÿ\0<4\0\0UÀÍ2Í2ÿ\0^3\0\0úúðæÿ\0®`\0\0Ôÿÿÿ\0ÿÿ\0\n1\0\0\0ÿ€€\0\0ÿ\0µK\0\0q€Ífͪÿ\0\nG\0\0ªÿÍ\0\0Íÿ\0ÃS\0\0̘ӺUÓÿ\0-M\0\0·|ۓpÛÿ\0v4\0\0g©³<³qÿ\0rG\0\0°î{hîÿ\0\x004\0\0oÿú\0úšÿ\0MJ\0\0}§ÑHÑÌÿ\0=U\0\0ääÇÇ…ÿ\0F\0\0ªÆppÿ\0Ñ6\0\0j\tÿõÿúÿ\0ÚI\0\0ÿÿäáÿ\0Ž2\0\0Iÿÿäµÿ\0ÚH\0\0QÿÿÞ­ÿ\0§\0\0ªÿ€\0\0€ÿ\0]Q\0\0ýýõæÿ\0:E\0\0*ÿ€€€\0ÿ\0s`\0\x008ÀŽkŽ#ÿ\0ÉN\0\0ÿÿÿ¥\0ÿ\x004V\0\0\vÿÿÿE\0ÿ\0åS\0\0Ö{ÚÚpÖÿ\0åQ\0\0&Hîîèªÿ\0K4\0\0Udû˜û˜ÿ\0uJ\0\0Cî¯îîÿ\0RU\0\0ñ|ÛÛp“ÿ\0¬-\0\0)ÿÿïÕÿ\0YB\0\0FÿÿÚ¹ÿ\0õ\v\0\0°Íͅ?ÿ\x004:\0\0÷?ÿÿÀËÿ\0E6\0\0ÔFÝÝ Ýÿ\0ñF\0\0„;æ°àæÿ\0‰M\0\0Ôÿ€€\0€ÿ\0~V\0\0\0ÿÿÿ\0\0ÿ\00\0\0\0=¼¼ÿ\0=G\0\0ŸµáAiáÿ\0H0\0\0܋‹Eÿ\x0071\0\0Šúú€rÿ\0*0\0\0šôô¤`ÿ\0œ4\0\0gª‹.‹Wÿ\0Š7\0\0ÿÿõîÿ\0(a\0\0\r·  R-ÿ\0\n\0\0\0\0ÀÀÀÀÿ\0€F\0\0‹lë‡Îëÿ\0šG\0\0¯ÍjZÍÿ\0›\b\0\0”8p€ÿ\0Ð\0\0”8p€ÿ\x007\n\0\0\0ÿÿúúÿ\04\0\0jÿÿ\0ÿÿ\0.G\0\0’›´F‚´ÿ\0ú4\0\0TÒÒ´Œÿ\0W9\0\0ÿ€\0€€ÿ\0M\0\0ÔØØ¿Øÿ\0A/\0\0¸ÿÿcGÿ\0ˆJ\0\0{¶à@àÐÿ\0D\0\0Ôsîî‚îÿ\0ë\0\0DõõÞ³ÿ\0I\0\0\0\0ÿÿÿÿÿ\0šN\0\0\0\0õõõõÿ\0ž\n\0\0*ÿÿÿÿ\0ÿ\0‘3\0\x008À͚Í2ÿ\0;Å\0\0-Cü÷ü¹ÿ\0¶\0\0D[ݭݎÿ\0¨\0\0b²£1£Tÿ\0ÛÃ\0\0*2ÿÿÿÌÿ\0¾´\0\0>UæÂæ™ÿ\0¶¦\0\0UdÆxÆyÿ\0ٙ\0\0c»„#„Cÿ\0{Â\0\0*2ÿÿÿÌÿ\0^³\0\0>UæÂæ™ÿ\0V¥\0\0UdÆxÆyÿ\0y˜\0\0b²£1£Tÿ\0>\0\0kÿh\0h7ÿ\0Á\0\0*2ÿÿÿÌÿ\0þ±\0\x007QðÙð£ÿ\0ö£\0\0D[ݭݎÿ\0—\0\0UdÆxÆyÿ\0ދ\0\0b²£1£Tÿ\0»„\0\0kÿh\0h7ÿ\0»¿\0\0*2ÿÿÿÌÿ\0ž°\0\x007QðÙð£ÿ\0–¢\0\0D[ݭݎÿ\0¹•\0\0UdÆxÆyÿ\0~Š\0\0`ž«A«]ÿ\0[ƒ\0\0c»„#„Cÿ\0 }\0\0lÿZ\0Z2ÿ\0[¾\0\0*ÿÿÿåÿ\0>¯\0\0-Cü÷ü¹ÿ\x006¡\0\x007QðÙð£ÿ\0Y”\0\0D[ݭݎÿ\0‰\0\0UdÆxÆyÿ\0û\0\0`ž«A«]ÿ\0@|\0\0c»„#„Cÿ\0Òw\0\0lÿZ\0Z2ÿ\0½\0\0*ÿÿÿåÿ\0ý­\0\0-Cü÷ü¹ÿ\0õŸ\0\x007QðÙð£ÿ\0“\0\0D[ݭݎÿ\0݇\0\0UdÆxÆyÿ\0º€\0\0`ž«A«]ÿ\0ÿz\0\0c»„#„Cÿ\0‘v\0\0kÿh\0h7ÿ\0€s\0\0nÿE\0E)ÿ\0ŒÄ\0\x001Iøíø±ÿ\0oµ\0\0uaÍÍ»ÿ\0g§\0\0Â¸,¸ÿ\0,Ã\0\0*2ÿÿÿÌÿ\0´\0\0cBÚ¡Ú´ÿ\0¦\0\0„ªÄA¶Äÿ\0*™\0\0–˨"^¨ÿ\0ÌÁ\0\0*2ÿÿÿÌÿ\0¯²\0\0cBÚ¡Ú´ÿ\0§¤\0\0„ªÄA¶Äÿ\0ʗ\0\0Â¸,¸ÿ\0Œ\0\0¤¿”%4”ÿ\0lÀ\0\0*2ÿÿÿÌÿ\0O±\0\0E:éÇé´ÿ\0G£\0\0uaÍÍ»ÿ\0j–\0\0„ªÄA¶Äÿ\0/‹\0\0Â¸,¸ÿ\0\f„\0\0¤¿”%4”ÿ\0\f¿\0\0*2ÿÿÿÌÿ\0ï¯\0\0E:éÇé´ÿ\0ç¡\0\0uaÍÍ»ÿ\0\n•\0\0„ªÄA¶Äÿ\0ω\0\0‹ØÀ‘Àÿ\0¬‚\0\0–˨"^¨ÿ\0ñ|\0\0žç„\f,„ÿ\0¬½\0\0*&ÿÿÿÙÿ\0®\0\x001Iøíø±ÿ\0‡ \0\0E:éÇé´ÿ\0ª“\0\0uaÍÍ»ÿ\0oˆ\0\0„ªÄA¶Äÿ\0L\0\0‹ØÀ‘Àÿ\0‘{\0\0–˨"^¨ÿ\0#w\0\0žç„\f,„ÿ\0v¼\0\0*&ÿÿÿÙÿ\0Y­\0\x001Iøíø±ÿ\0QŸ\0\0E:éÇé´ÿ\0t’\0\0uaÍÍ»ÿ\x009‡\0\0„ªÄA¶Äÿ\0€\0\0‹ØÀ‘Àÿ\0[z\0\0–˨"^¨ÿ\0íu\0\0¤¿”%4”ÿ\0Ür\0\0žçX\bXÿ\0\bÅ\0\0%Bÿÿ÷¼ÿ\0ëµ\0\0¯þþÄOÿ\0ã§\0\0îÙÙ_ÿ\0¨Ã\0\0**ÿÿÿÔÿ\0‹´\0\0pþþَÿ\0ƒ¦\0\0Õþþ™)ÿ\0¦™\0\0üÌÌLÿ\0HÂ\0\0**ÿÿÿÔÿ\0+³\0\0pþþَÿ\0#¥\0\0Õþþ™)ÿ\0F˜\0\0îÙÙ_ÿ\0\v\0\0\rø™™4ÿ\0èÀ\0\0**ÿÿÿÔÿ\0˱\0\0mþþã‘ÿ\0ã\0\0¯þþÄOÿ\0æ–\0\0Õþþ™)ÿ\0«‹\0\0îÙÙ_ÿ\0ˆ„\0\0\rø™™4ÿ\0ˆ¿\0\0**ÿÿÿÔÿ\0k°\0\0mþþã‘ÿ\0c¢\0\0¯þþÄOÿ\0†•\0\0Õþþ™)ÿ\0KŠ\0\0éììpÿ\0(ƒ\0\0üÌÌLÿ\0m}\0\0\f÷ŒŒ-ÿ\0(¾\0\0*ÿÿÿåÿ\0\v¯\0\0%Bÿÿ÷¼ÿ\0¡\0\0mþþã‘ÿ\0&”\0\0¯þþÄOÿ\0ëˆ\0\0Õþþ™)ÿ\0ȁ\0\0éììpÿ\0\r|\0\0üÌÌLÿ\0Ÿw\0\0\f÷ŒŒ-ÿ\0ç¼\0\0*ÿÿÿåÿ\0Ê­\0\0%Bÿÿ÷¼ÿ\0Ÿ\0\0mþþã‘ÿ\0å’\0\0¯þþÄOÿ\0ª‡\0\0Õþþ™)ÿ\0‡€\0\0éììpÿ\0Ìz\0\0üÌÌLÿ\0^v\0\0\rø™™4ÿ\0Ms\0\0\rðff%ÿ\0lÅ\0\0"_ÿÿí ÿ\0O¶\0\0²þþ²Lÿ\0G¨\0\0Ýðð; ÿ\0\fÄ\0\0*Mÿÿÿ²ÿ\0ï´\0\0¢þþÌ\\ÿ\0ç¦\0\0Âýý<ÿ\0\nš\0\0þáããÿ\0¬Â\0\0*Mÿÿÿ²ÿ\0³\0\0¢þþÌ\\ÿ\0‡¥\0\0Âýý<ÿ\0ª˜\0\0Ýðð; ÿ\0o\0\0öÿ½½\0&ÿ\0LÁ\0\0*Mÿÿÿ²ÿ\0/²\0\0ˆþþÙvÿ\0\'¤\0\0²þþ²Lÿ\0J—\0\0Âýý<ÿ\0Œ\0\0Ýðð; ÿ\0ì„\0\0öÿ½½\0&ÿ\0ì¿\0\0*Mÿÿÿ²ÿ\0ϰ\0\0ˆþþÙvÿ\0Ç¢\0\0²þþ²Lÿ\0ê•\0\0Âýý<ÿ\0¯Š\0\0ÔüüN*ÿ\0Œƒ\0\0þáããÿ\0Ñ}\0\0õÿ±±\0&ÿ\0Œ¾\0\0*2ÿÿÿÌÿ\0o¯\0\0"_ÿÿí ÿ\0g¡\0\0ˆþþÙvÿ\0Š”\0\0²þþ²Lÿ\0O‰\0\0Âýý<ÿ\0,‚\0\0ÔüüN*ÿ\0q|\0\0þáããÿ\0x\0\0õÿ±±\0&ÿ\0K½\0\0*2ÿÿÿÌÿ\0.®\0\0"_ÿÿí ÿ\0& \0\0ˆþþÙvÿ\0I“\0\0²þþ²Lÿ\0ˆ\0\0Âýý<ÿ\0ë€\0\0ÔüüN*ÿ\x000{\0\0þáããÿ\0Âv\0\0öÿ½½\0&ÿ\0±s\0\0òÿ€€\0&ÿ\0®G\0\0“ÿðøÿÿ\0I\0\0#úúë×ÿ\0Ó¹\0\0$ÿÿïÛÿ\0k«\0\0$îîßÌÿ\0A\0\0$ÍÍÀ°ÿ\0\0\0"‹‹ƒxÿ\0Ž`\0\0ÿÿ\0ÿÿÿ\0ÐK\0\0q€ÿÿÔÿ\0º\0\0q€ÿÿÔÿ\0±«\0\0q€îvîÆÿ\0‡\0\0q€Ífͪÿ\0ݐ\0\0q€‹E‹tÿ\0óJ\0\0ÿðÿÿÿ\0º\0\0ÿðÿÿÿ\0ª«\0\0îàîîÿ\0€\0\0ÍÁÍÍÿ\0ϐ\0\0‹ƒ‹‹ÿ\0ãN\0\0*õõõÜÿ\0•E\0\0:ÿÿäÄÿ\0[¹\0\0:ÿÿäÄÿ\0óª\0\0:îîÕ·ÿ\0ɜ\0\0:ÍÍ·žÿ\0\0\0:‹‹}kÿ\0×:\0\0\0\0\0\0\0\0ÿ\0’R\0\01ÿÿëÍÿ\0½G\0\0ªÿÿ\0\0ÿÿ\0À¹\0\0ªÿÿ\0\0ÿÿ\0X«\0\0ªÿî\0\0îÿ\0.\0\0ªÿÍ\0\0Íÿ\0}\0\0ªÿ‹\0\0‹ÿ\x009\0\0ÀÎâŠ+âÿ\0^0\0\0\0¾¥¥**ÿ\0\\¸\0\0\0¿ÿÿ@@ÿ\0ª\0\0\0¿îî;;ÿ\0î›\0\0\0¿ÍÍ33ÿ\0=\0\0\0¾‹‹##ÿ\0\fR\0\0cÞÞ¸‡ÿ\0xº\0\0dÿÿӛÿ\0ÿ«\0\0cîîőÿ\0՝\0\0cÍͪ}ÿ\0+‘\0\0c‹‹sUÿ\0ÃF\0\0€g _ž ÿ\0‰¹\0\0ƒgÿ˜õÿÿ\0!«\0\0ƒfîŽåîÿ\0÷œ\0\0ƒgÍzÅÍÿ\0F\0\0ƒf‹S†‹ÿ\0²I\0\0?ÿÿÿ\0ÿ\0ì¹\0\0?ÿÿÿ\0ÿ\0„«\0\0?ÿîvî\0ÿ\0Z\0\0?ÿÍfÍ\0ÿ\0©\0\0?ÿ‹E‹\0ÿ\0‚I\0\0ÚÒÒiÿ\0á¹\0\0Ûÿÿ$ÿ\0y«\0\0Ûîîv!ÿ\0O\0\0ÚÍÍfÿ\0ž\0\0܋‹Eÿ\0Ñ8\0\0\v¯ÿÿPÿ\0ë¸\0\0©ÿÿrVÿ\0ª\0\0©îîjPÿ\0nœ\0\0©ÍÍ[Eÿ\0½\0\0¨‹‹>/ÿ\0ÒF\0\0š“íd•íÿ\0‚:\0\0!"ÿÿøÜÿ\0¹\0\0!"ÿÿøÜÿ\0µª\0\0"#îîèÍÿ\0“œ\0\0""ÍÍȱÿ\0â\0\0#"‹‹ˆxÿ\0¬0\0\0öçÜÜ<ÿ\0æ4\0\0ÿÿ\0ÿÿÿ\0и\0\0ÿÿ\0ÿÿÿ\0uª\0\0ÿî\0îîÿ\0Sœ\0\0ÿÍ\0ÍÍÿ\0¢\0\0ÿ‹\0‹‹ÿ\0QG\0\0ªÿ‹\0\0‹ÿ\0Ø4\0\0ÿ‹\0‹‹ÿ\0×Q\0\0︸†\vÿ\0iº\0\0ðÿÿ¹ÿ\0ð«\0\0ðîî­ÿ\0Ɲ\0\0ðÍ͕\fÿ\0‘\0\0ð‹‹e\bÿ\0k\b\0\0\0\0©©©©ÿ\0ö3\0\0Uÿd\0d\0ÿ\0 \0\0\0\0©©©©ÿ\0`;\0\0\'n½½·kÿ\0¢`\0\0Ôÿ‹‹\0‹ÿ\0-4\0\0:ŽkUk/ÿ\0¢¸\0\0:ÿÊÿpÿ\0Gª\0\0:î¼îhÿ\0%œ\0\0:Í¢ÍZÿ\0t\0\0:‹n‹=ÿ\0¾N\0\0ÿÿÿŒ\0ÿ\0<º\0\0ÿÿÿ\0ÿ\0Ô«\0\0ÿîîv\0ÿ\0ª\0\0ÿÍÍf\0ÿ\0\0‘\0\0ÿ‹‹E\0ÿ\0ÚS\0\0ÆÀ̙2Ìÿ\0—º\0\0ÆÁÿ¿>ÿÿ\0¬\0\0ÆÀî²:îÿ\0ô\0\0ÆÀ͚2Íÿ\0J‘\0\0ÆÀ‹h"‹ÿ\0æU\0\0\0ÿ‹‹\0\0ÿ\0,1\0\0\nyéé–zÿ\04\0\0U=¼¼ÿ\0½¸\0\0U>ÿÁÿÁÿ\0bª\0\0U>î´î´ÿ\0@œ\0\0U>͛͛ÿ\0\0\0U>‹i‹iÿ\0ŒG\0\0¯‹H=‹ÿ\0\b\0\0gO/OOÿ\0¸\0\0hÿ—ÿÿÿ\0¶©\0\0gîîîÿ\0¦›\0\0hÍyÍÍÿ\0úŽ\0\0h‹R‹‹ÿ\0Â\0\0gO/OOÿ\0gJ\0\0€ÿÑ\0ÎÑÿ\0)\0\0ÇÿӔ\0Óÿ\0":\0\0èëÿÿ“ÿ\0¹\0\0èëÿÿ“ÿ\0«ª\0\0èëîî‰ÿ\0‰œ\0\0èëÍÍvÿ\0؏\0\0ç싋\nPÿ\0tF\0\0Šÿÿ\0¿ÿÿ\0q¹\0\0Šÿÿ\0¿ÿÿ\0\t«\0\0Šÿî\0²îÿ\0ߜ\0\0ŠÿÍ\0šÍÿ\0.\0\0Šÿ‹\0h‹ÿ\0^\b\0\0\0\0iiiiÿ\0“\0\0\0\0iiiiÿ\0æF\0\0”áÿÿÿ\0”¹\0\0”áÿÿÿ\0,«\0\0”áî†îÿ\0\0\0”áÍtÍÿ\0Q\0\0”á‹N‹ÿ\0»:\0\0\0β²""ÿ\0¹\0\0\0Ïÿÿ00ÿ\0¿ª\0\0\0Ïîî,,ÿ\0œ\0\0\0ÏÍÍ&&ÿ\0ì\0\0\0ϋ‹ÿ\0ðH\0\0ÿÿúðÿ\0¹3\0\0UÀ‹"‹"ÿ\0ga\0\0Ôÿÿÿ\0ÿÿ\0]/\0\0\0\0ÜÜÜÜÿ\0ÏH\0\0ªÿøøÿÿ\0S\0\0#ÿÿÿ×\0ÿ\0ƒº\0\0#ÿÿÿ×\0ÿ\0\n¬\0\0#ÿîîÉ\0ÿ\0à\0\0#ÿÍÍ­\0ÿ\x006‘\0\0#ÿ‹‹u\0ÿ\0ýQ\0\0ÙÚÚ¥ ÿ\0mº\0\0ÚÿÿÁ%ÿ\0ô«\0\0Úîî´"ÿ\0ʝ\0\0ÚÍ͛ÿ\0 ‘\0\0ڋ‹iÿ\0¿\b\0\0\0\0ÀÀÀÀÿ\0HÈ\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\n­\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+z\0\0\0\0++++ÿ\0½u\0\0\0\0....ÿ\0¬r\0\0\0\x000000ÿ\0¿©\0\0\0\0ÿ\0µÉ\0\0\0\x003333ÿ\0ƒ»\0\0\0\x006666ÿ\0ü¬\0\0\0\x008888ÿ\0Ÿ\0\0\0\0;;;;ÿ\0/’\0\0\0\0====ÿ\0ô†\0\0\0\0@@@@ÿ\0Ø\0\0\0\0BBBBÿ\0z\0\0\0\0EEEEÿ\0¯u\0\0\0\0GGGGÿ\0žr\0\0\0\0JJJJÿ\0¯›\0\0\0\0\b\b\b\bÿ\0ŸÉ\0\0\0\0MMMMÿ\0g»\0\0\0\0OOOOÿ\0î¬\0\0\0\0RRRRÿ\0Ÿ\0\0\0\0TTTTÿ\0’\0\0\0\0WWWWÿ\0æ†\0\0\0\0YYYYÿ\0Ê\0\0\0\0\\\\\\\\ÿ\0z\0\0\0\0^^^^ÿ\0¡u\0\0\0\0aaaaÿ\0r\0\0\0\0ccccÿ\0\0\0\0\0\n\n\n\nÿ\0‚É\0\0\0\0ffffÿ\0Y»\0\0\0\0iiiiÿ\0à¬\0\0\0\0kkkkÿ\0÷ž\0\0\0\0nnnnÿ\0\f’\0\0\0\0ppppÿ\0؆\0\0\0\0ssssÿ\0¼\0\0\0\0uuuuÿ\0z\0\0\0\0xxxxÿ\0“u\0\0\0\0zzzzÿ\0‚r\0\0\0\0}}}}ÿ\0T†\0\0\0\0\r\r\r\rÿ\0tÉ\0\0\0\0ÿ\0K»\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óy\0\0\0\0‘‘‘‘ÿ\0…u\0\0\0\0””””ÿ\0tr\0\0\0\0––––ÿ\0=\0\0\0\0ÿ\0fÉ\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Üy\0\0\0\0««««ÿ\0wu\0\0\0\0­­­­ÿ\0fr\0\0\0\0°°°°ÿ\0yy\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\0\0\0ÂÂÂÂÿ\0Îy\0\0\0\0ÄÄÄÄÿ\0iu\0\0\0\0ÇÇÇÇÿ\0Xr\0\0\0\0ÉÉÉÉÿ\0út\0\0\0\0ÿ\0ÅÈ\0\0\0\0ÌÌÌÌÿ\0»\0\0\0\0ÏÏÏÏÿ\0£¬\0\0\0\0ÑÑÑÑÿ\0yž\0\0\0\0ÔÔÔÔÿ\0ϑ\0\0\0\0ÖÖÖÖÿ\0›†\0\0\0\0ÙÙÙÙÿ\0\0\0\0\0ÛÛÛÛÿ\0»y\0\0\0\0ÞÞÞÞÿ\0Vu\0\0\0\0ààààÿ\0:r\0\0\0\0ããããÿ\0üq\0\0\0\0ÿ\0²È\0\0\0\0ååååÿ\0\t»\0\0\0\0èèèèÿ\0¬\0\0\0\0ëëëëÿ\0fž\0\0\0\0ííííÿ\0¼‘\0\0\0\0ððððÿ\0ˆ†\0\0\0\0òòòòÿ\0l\0\0\0\0õõõõÿ\0¨y\0\0\0\0÷÷÷÷ÿ\0Cu\0\0\0\0úúúúÿ\0\'r\0\0\0\0üüüüÿ\0¸4\0\0Uÿÿ\0ÿ\0ÿ\0ĸ\0\0Uÿÿ\0ÿ\0ÿ\0iª\0\0Uÿî\0î\0ÿ\0Gœ\0\0UÿÍ\0Í\0ÿ\0–\0\0Uÿ‹\0‹\0ÿ\0x\n\0\0;Ðÿ­ÿ/ÿ\0ô\0\0\0\0ÀÀÀÀÿ\0BÈ\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\0\0\0!!!!ÿ\x006’\0\0\0\0$$$$ÿ\0û†\0\0\0\0&&&&ÿ\0ß\0\0\0\0))))ÿ\0$z\0\0\0\0++++ÿ\0¶u\0\0\0\0....ÿ\0¥r\0\0\0\x000000ÿ\0°©\0\0\0\0ÿ\0®É\0\0\0\x003333ÿ\0|»\0\0\0\x006666ÿ\0õ¬\0\0\0\x008888ÿ\0\fŸ\0\0\0\0;;;;ÿ\0(’\0\0\0\0====ÿ\0í†\0\0\0\0@@@@ÿ\0Ñ\0\0\0\0BBBBÿ\0z\0\0\0\0EEEEÿ\0¨u\0\0\0\0GGGGÿ\0—r\0\0\0\0JJJJÿ\0 ›\0\0\0\0\b\b\b\bÿ\0˜É\0\0\0\0MMMMÿ\0`»\0\0\0\0OOOOÿ\0ç¬\0\0\0\0RRRRÿ\0þž\0\0\0\0TTTTÿ\0’\0\0\0\0WWWWÿ\0߆\0\0\0\0YYYYÿ\0Ã\0\0\0\0\\\\\\\\ÿ\0\bz\0\0\0\0^^^^ÿ\0šu\0\0\0\0aaaaÿ\0‰r\0\0\0\0ccccÿ\0ôŽ\0\0\0\0\n\n\n\nÿ\0{É\0\0\0\0ffffÿ\0R»\0\0\0\0iiiiÿ\0Ù¬\0\0\0\0kkkkÿ\0ðž\0\0\0\0nnnnÿ\0’\0\0\0\0ppppÿ\0ц\0\0\0\0ssssÿ\0µ\0\0\0\0uuuuÿ\0úy\0\0\0\0xxxxÿ\0Œu\0\0\0\0zzzzÿ\0{r\0\0\0\0}}}}ÿ\0N†\0\0\0\0\r\r\r\rÿ\0mÉ\0\0\0\0ÿ\0D»\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ìy\0\0\0\0‘‘‘‘ÿ\0~u\0\0\0\0””””ÿ\0mr\0\0\0\0––––ÿ\x007\0\0\0\0ÿ\0_É\0\0\0\0™™™™ÿ\x006»\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Õy\0\0\0\0««««ÿ\0pu\0\0\0\0­­­­ÿ\0_r\0\0\0\0°°°°ÿ\0sy\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\0\0\0ÂÂÂÂÿ\0Çy\0\0\0\0ÄÄÄÄÿ\0bu\0\0\0\0ÇÇÇÇÿ\0Qr\0\0\0\0ÉÉÉÉÿ\0ôt\0\0\0\0ÿ\0¾È\0\0\0\0ÌÌÌÌÿ\0»\0\0\0\0ÏÏÏÏÿ\0œ¬\0\0\0\0ÑÑÑÑÿ\0rž\0\0\0\0ÔÔÔÔÿ\0ȑ\0\0\0\0ÖÖÖÖÿ\0”†\0\0\0\0ÙÙÙÙÿ\0x\0\0\0\0ÛÛÛÛÿ\0´y\0\0\0\0ÞÞÞÞÿ\0Ou\0\0\0\0ààààÿ\x003r\0\0\0\0ããããÿ\0öq\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òòòòÿ\0e\0\0\0\0õõõõÿ\0¡y\0\0\0\0÷÷÷÷ÿ\0ÿ\0O¬\0\x008Àî³î:ÿ\0%ž\0\x008À͚Í2ÿ\0{‘\0\x008À‹i‹"ÿ\0ÎN\0\0ÿÿÿ¥\0ÿ\0@º\0\0ÿÿÿ¥\0ÿ\0Ø«\0\0ÿîîš\0ÿ\0®\0\0ÿÍͅ\0ÿ\0‘\0\0ÿ‹‹Z\0ÿ\x009V\0\0\vÿÿÿE\0ÿ\0½º\0\0\vÿÿÿE\0ÿ\0D¬\0\0\vÿîî@\0ÿ\0ž\0\0\vÿÍÍ7\0ÿ\0p‘\0\0\vÿ‹‹%\0ÿ\0êS\0\0Ö{ÚÚpÖÿ\0›º\0\0Ö|ÿÿƒúÿ\0"¬\0\0Ö|îîzéÿ\0ø\0\0Ö|ÍÍiÉÿ\0N‘\0\0Õ|‹‹G‰ÿ\0êQ\0\0&Hîîèªÿ\0P4\0\0Udû˜û˜ÿ\0²¸\0\0Ueÿšÿšÿ\0Wª\0\0Udîîÿ\x005œ\0\0UdÍ|Í|ÿ\0„\0\0Ud‹T‹Tÿ\0zJ\0\0Cî¯îîÿ\0º\0\0Dÿ»ÿÿÿ\0›«\0\0Dî®îîÿ\0q\0\0D͖ÍÍÿ\0À\0\0C‹f‹‹ÿ\0WU\0\0ñ|ÛÛp“ÿ\0£º\0\0ñ}ÿÿ‚«ÿ\0*¬\0\0ñ}îîyŸÿ\0\0ž\0\0ñ}ÍÍh‰ÿ\0V‘\0\0ñ|‹‹G]ÿ\0±-\0\0)ÿÿïÕÿ\0^B\0\0FÿÿÚ¹ÿ\0P¹\0\0FÿÿÚ¹ÿ\0àª\0\0EîîË­ÿ\0¾œ\0\0EÍͯ•ÿ\0\r\0\0E‹‹weÿ\0ú\v\0\0°Íͅ?ÿ\x009:\0\0÷?ÿÿÀËÿ\0\n¹\0\0õIÿÿµÅÿ\0¯ª\0\0õIîÿ\0œ\0\0õJÍ͑žÿ\0܏\0\0õI‹‹clÿ\0J6\0\0ÔFÝÝ Ýÿ\0Û¸\0\0ÔDÿÿ»ÿÿ\0€ª\0\0ÔDîî®îÿ\0^œ\0\0ÔDÍ͖Íÿ\0­\0\0ÔC‹‹f‹ÿ\0öF\0\0„;æ°àæÿ\0ŽM\0\0ÄÝð  ðÿ\x004º\0\0¿Ïÿ›0ÿÿ\0Ì«\0\0ÀÏî‘,îÿ\0¢\0\0ÀÏÍ}&Íÿ\0ø\0\0ÀϋU‹ÿ\0TM\0\0¿ª™f3™ÿ\0ƒV\0\0\0ÿÿÿ\0\0ÿ\0ú\0\0\0ÿÿÿ\0\0ÿ\0J¬\0\0\0ÿîî\0\0ÿ\0 ž\0\0\0ÿÍÍ\0\0ÿ\0v‘\0\0\0ÿ‹‹\0\0ÿ\0 0\0\0\0=¼¼ÿ\0X¸\0\0\0>ÿÿÁÁÿ\0\fª\0\0\0>îî´´ÿ\0ê›\0\0\0>Í͛›ÿ\x009\0\0\0>‹‹iiÿ\0BG\0\0ŸµáAiáÿ\0°¹\0\0Ÿ·ÿHvÿÿ\0H«\0\0Ÿ·îCnîÿ\0\0\0Ÿ¶Í:_Íÿ\0m\0\0Ÿ·‹\'@‹ÿ\0M0\0\0܋‹Eÿ\0<1\0\0Šúú€rÿ\0p¸\0\0\t–ÿÿŒiÿ\0$ª\0\0\t–îî‚bÿ\0œ\0\0\t–ÍÍpTÿ\0Q\0\0\t–‹‹L9ÿ\0/0\0\0šôô¤`ÿ\0¡4\0\0gª‹.‹Wÿ\0Á¸\0\0g«ÿTÿŸÿ\0fª\0\0g«îNî”ÿ\0Dœ\0\0g«ÍC̀ÿ\0“\0\0gª‹.‹Wÿ\07\0\0ÿÿõîÿ\0á¸\0\0ÿÿõîÿ\0†ª\0\0îîåÞÿ\0dœ\0\0ÍÍÅ¿ÿ\0³\0\0‹‹†‚ÿ\0-a\0\0\r·  R-ÿ\0ܺ\0\0\r¸ÿÿ‚Gÿ\0c¬\0\0\r¸îîyBÿ\x009ž\0\0\r¸ÍÍh9ÿ\0‘\0\0\r¹‹‹G&ÿ\0\0\0\0\0ÀÀÀÀÿ\0…F\0\0‹lë‡Îëÿ\0u¹\0\0xÿ‡Îÿÿ\0\r«\0\0xî~Àîÿ\0ãœ\0\0xÍl¦Íÿ\x002\0\0‘w‹Jp‹ÿ\0ŸG\0\0¯ÍjZÍÿ\0»¹\0\0¯ÿƒoÿÿ\0S«\0\0¯îzgîÿ\0)\0\0¯ÍiYÍÿ\0x\0\0¯‹G<‹ÿ\0 \b\0\0”8p€ÿ\0\n¸\0\0•8ÿÆâÿÿ\0º©\0\0•8î¹Óîÿ\0ª›\0\0”9͟¶Íÿ\0þŽ\0\0•8‹l{‹ÿ\0Õ\0\0”8p€ÿ\0<\n\0\0\0ÿÿúúÿ\0¸\0\0\0ÿÿúúÿ\0É©\0\0\0îîééÿ\0¹›\0\0\0ÍÍÉÉÿ\0\r\0\0\0‹‹‰‰ÿ\04\0\0jÿÿ\0ÿÿ\0•¸\0\0jÿÿ\0ÿÿ\0:ª\0\0jÿî\0îvÿ\0œ\0\0jÿÍ\0Ífÿ\0g\0\0jÿ‹\0‹Eÿ\x003G\0\0’›´F‚´ÿ\0¥¹\0\0’œÿc¸ÿÿ\0=«\0\0’œî\\¬îÿ\0\0\0’œÍO”Íÿ\0b\0\0“›‹6d‹ÿ\0ÿ4\0\0TÒÒ´Œÿ\0Ö¸\0\0°ÿÿ¥Oÿ\0{ª\0\0°îîšIÿ\0Yœ\0\0°Íͅ?ÿ\0¨\0\0°‹‹Z+ÿ\0\\9\0\0ÿ€\0€€ÿ\0M\0\0ÔØØ¿Øÿ\0%º\0\0Ôÿÿáÿÿ\0½«\0\0ÔîîÒîÿ\0“\0\0ÔÍ͵Íÿ\0é\0\0Ô‹‹{‹ÿ\0F/\0\0¸ÿÿcGÿ\0P¸\0\0¸ÿÿcGÿ\0ª\0\0¸îî\\Bÿ\0â›\0\0¸ÍÍO9ÿ\x001\0\0¹‹‹6&ÿ\0à\0\0*\0ÿÿÿþ\0\0J\0\0{¶à@àÐÿ\0º\0\0ÿÿ\0õÿÿ\0Ÿ«\0\0ÿî\0åîÿ\0u\0\0ÿÍ\0ÅÍÿ\0Đ\0\0ÿ‹\0†‹ÿ\0I\0\0Ôsîî‚îÿ\0[U\0\0ã×ÐÐ ÿ\0§º\0\0ëÁÿÿ>–ÿ\0.¬\0\0ëÀîî:Œÿ\0ž\0\0ëÀÍÍ2xÿ\0Z‘\0\0ëÀ‹‹"Rÿ\0ª\b\0\0\0\0€€€€ÿ\0Z4\0\0Uÿ€\0€\0ÿ\0ß\0\0\0\0€€€€ÿ\0ö0\0\0\0ÿ€€\0\0ÿ\0JM\0\0Ôÿ€€\0€ÿ\0ð\0\0DõõÞ³ÿ\0?¸\0\0Eÿÿçºÿ\0ó©\0\0DîîØ®ÿ\0֛\0\0DÍͺ–ÿ\0*\0\0C‹‹~fÿ\0I\0\0\0\0ÿÿÿÿÿ\0ŸN\0\0\0\0õõõõÿ\0²\b\0\0\0\0¾¾¾¾ÿ\0ª4\0\0Uÿÿ\0ÿ\0ÿ\0ç\0\0\0\0¾¾¾¾ÿ\0\x001\0\0ï¹°°0`ÿ\0M\0\0ÄÝð  ðÿ\0£\n\0\0*ÿÿÿÿ\0ÿ\0$¸\0\0*ÿÿÿÿ\0ÿ\0Ô©\0\0*ÿîîî\0ÿ\0ě\0\0*ÿÍÍÍ\0ÿ\0\0\0*ÿ‹‹‹\0ÿ\0–3\0\x008À͚Í2ÿ\0AÀƒ\v¤p\0A΃\v…\b @ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0ªD\0\0ª9qªª\0ƒ\0ª\09\0\0\0\0\0\0\0\0\0\099ƒƒƒ^ÇVVÇãsÇǪÇãÇÇsÇVsãÇǍÇÇãª9ªÁ\0ª\0\0ª\0\099\099\0\0\0\0ª9\0\0Ç\0\0×š×Tÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0ªq\0\0\0\bª9ªª\0\0ª\09\0\0\0\0\0\0\0\0\0\0ªª\0qÇVÇÇVã99\09VÇ9ã9ÇsVÇÇ\0\bÇÇVª9ª¦\0ª\0ssª\0s9ªs9ªs\0ssªs\0Ç\0\0\'Ã\')ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0ª\\\0\0ª9¶ªª\0f\0ª\09\0\0\0\0\0\0\0\0\0\0ªªfff\0\\ããVÇããÇǪVsªVÇãÇã\0sÇãªãss9`\0ª\0\0\09\0\0999Ç\0\0\0\09\0V333Tÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0q\0\0ª99ªª\0\0ª\09\0\0\0\0\0\0\0\0\0\0ªª\0¨VVVÇVVÇ9\0VãÇÇãÇVsãÇVVããª9ª\0ª\0\0\0ª\0s99\099s\0\0\09sV\0ÉÃɏÿÿÌp\0Aދ\v…\b @ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ99×ssV‡ªª¬9ª99ssssssssss99¬¬¬s\bVVÇÇVã9Ç9\0VsªÇ9V9ÇVãÇVVVã999Ásªss\0ss9ssÇÇ\0Ǫssssª\09s\0Ç\0\0\0¬¬¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ9ªËssÇ窪¬9ª99ssssssssssªª¬¬¬ãÍÇÇÇÇVã9Ç9sÇãªÇ9V9ÇVãÇVVVãª9ª¬sªsãsãsªãã99s9ããããsªãs9ss\0=¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ99×ssV‡ªª¬9ª99ssssssssss99¬¬¬s\bVVÇÇVã9Ç9\0VsªÇ9V9ÇVãÇVVVã999Ásªss\0ss9ssÇÇ\0Ǫssssª\09s\0Ç\0\0\0¬¬¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ9ªËssÇ窪¬9ª99ssssssssssªª¬¬¬ãÍÇÇÇÇVã9Ç9sÇãªÇ9V9ÇVãÇVVVãª9ª¬sªsãsãsªãã99s9ããããsªãs9ss\0=¬ÿÿ\0q\0Aî“\v…\b @ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÿÿ(q\0Aý›\v†\b@@\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿä\0ˆXX¢µÝ\0==ÂXä\0¨ä\0XXXXXXXXXXä\0ä\0XXX»²Ù¤¡æG$ÖùDqWäÿyÿgZرMŠTM;;XôôGÏGMJ8è\0ì\0ô(X8,GGfá^1I\rÏ`\t`Xÿÿ\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø\0ÀXX±Öó\0ffÅXø\0²ø\x009XXXXXXXXXXø\0ø\0XXX˶谨úU2àb™2d쌮wmâÉY j]b9bXôô#XØXl\\Iÿ\0?mI@XXˆè€CU"Ú‡ ‡Xÿÿ\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿä\0ˆXX¢µÝ\0==ÂXä\0¨ä\0XXXXXXXXXXä\0ä\0XXX»²Ù¤¡æG$ÖùDqXãÿyÿgZذMŠTM;;XôôGÏGMJ8è\0ì\0ô(X8,GGfá^1I\rÏ`\t`Xÿÿ\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø\0ÀXX±Öó\0ffÅXø\0²ø\x009XXXXXXXXXXø\0ø\0XXX˶谨úU2àb˜2e댮wmâÉY j]b9bXôô#XØXl\\Iÿ\0?mI@XXˆè€CU"Ú‡ ‡Xÿÿ0q\0Aޤ\v…\b @ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‹5®´š=3\0´‹ã‹²²²´´´?\0\by}–)š3\\\\?uçüLÓLãÛyé{ã{²´\0\0çfìÑ99¢9ËåJ+#¼‹¼¼3²´ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿɦ+´‘\bús¨¨/´\nR\nì‘‘‘‘‘‘‘‘‘‘33´´´¤\0\b1ߤww‘²úú3ö²ÍÝÍ)Ãu1Ó\b+Ëͨ쨴\0\0fº¾ºm{º²¾¾R¾V\b²ººòÃÓ²7d)7¨²ì²´ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‹5®´š=3\0´‹ã‹²²²´´´?\0\by}–)š3\\\\?uçüLÓLãÛyé{ã{²´\0\0çfìÑ99¢9ËåJ+#¼‹¼¼3²´ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿɦ+‘‘\bús¨¨/´\nR\nì‘‘‘‘‘‘‘‘‘‘33´´´¤\0\b1ߤww‘²úú3ö²ÍÝÍ)Ãu1Ó\b+Ëͨ쨴\0\0fº¾ºm{º²¾¾R¾V\b²ººòÃÓ²7d)7¨²ì²´ÿÿ8q\0Až¬\v…\b @fÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffÿÿDq\0A®´\v…\b @ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿið™22ͦGððð2ððð22222222222ðð222ð*¸‡ÉèI3i<:Л\r­dvh¨Ù¥0³ÑtgðØð2224uöu]õ_Hï\t\\¤_Kuu=,_ëôòÌð2ð2ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿiðï°°y¦Öððu°ððð°°°°°°°°°°ðð°°°*Ãå$«_x:CðlöW ²¬ãålùÎè{7Ø7°°°C§¥™õ¾cïb\\็©¬kr,º8EkE:x°x°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿið™2ÙͦGððð2ððð22222222222ðð222ð*ã‡ÉèI3i<:Л\rdYd¨Ù¥0³ÑtgðØð2224u®uL6utï\t¤_KuuU=\\tëôòÌð2ð2ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿi𠰰ܦiððu°ððð-°°°°°°°°°°ðð°°°-*é¸ç¿¯im:ý3:JHž«(ý{KwiAxäâÒâ°°°¾¿ñ¿jHHQ¤ÊÊ“¬uk0›ƒCâ°â°ÿÿPq\0A¾¼\v…\b @ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÐ&¬Œœ\bÐ&¢¢Œé¢é¢¢¢ŒŒŒ]\0\bx|–*™4^£‹t¾üLÓLxîÛxé{ì{¢¢¢ŒÎü+üÄÐü2Á¼2ÈÛüüj+\'¼Œ¼¼4¢Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¼8³ð°-\næ¨YY°ðä×ä„°°°°°°°°°°88ðððï¶6ʤw4}³^q+•ÆÍÝÍB¯t\tå‰Y„Yð°°X˜µ˜Pa˜³¼9^¼w\b³~˜˜ú¿¥³3ÖZ5ưY°ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÐ&¬Œœ\bÐ&¢¢Œé¢é¢¢¢ŒŒŒ]\0\bv|– ™4^£‹t¾üLÓLxîÛvì{ì{¢¢¢ŒÎü+üÄÐù2Á²2ÉÛüüj+\'ºŒ¼º4¢Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¼8³ð°-\næ¨YY°ðä×ä„°°°°°°°°°°88ðððï¶6ʤw4}³^q+•ÆÍÝÍB¯t\tå‰Y„Yð°°X˜µ˜Pa˜³¼9^¼w\b³|˜˜ú¿¥³1ÖZ5ưY°ðÿÿXq\0AÎÄ\v…\b @ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ#5+“–×Å^^j“ö“!ð““““““““““!!“““o1/\fÕs!Óç;#é\'9\b;Ñ;òdmÓÃhž{‘¢ð¢V–žsçÏç}¶bé3qéÕççDÑÓé91\b¾\bh\b“ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿJÇ+‘5\0!¶¶\\‘R“HN‘‘‘‘‘‘‘‘‘‘HR‘‘‘Ñ-…`ì{d˦¦P…‹^^Hh¢\f3¼Vþ¢¦N¦BJÛÕº…BqqöqÛBô¢úyBÙ ç\'h\'‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ+hX\\¼HHjhìÍhhhhhhhhhhhhhjÇqÉ®TÇjm/#u˲žÃ‡ÃühbÑ\'?JÍJ#\'o…žšžòž\b\bç\búž}žž+m˜ž²¼Ó²ËhËhÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿJ +hÙª\n¶¶\\h9“H^hhhhhhhhhhHHhhh¬ÙöåjV?…š“¦ç%\n\nפ×ß=?‡¸\'ÙƒJ¦^¦93oÁÃÝÁuüTÕ``‹`=Õ®ÃÁ^ÉHÕN?\'¤×h×hÿÿ`q\0AÞÌ\v…\b @ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿî¦K%ኯ¹\0\0Ç%(þ(Àépxj…:‡Å‡€€%%%Ôn^;#þ:ËÍ…$ŽÔk#ôáô}ó\rUίìÐ\0À\0%%\0\b{¢˜Þš¨XVIJ\fºP’zGuÚùæ\nðq\0q%ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\b  \te\'““Û  \b Æœëÿ2Ë/oi/ðð   c¼¹¬Å_uN‘É|0\b·œa1y«\txÛ„“Æ“  \0Ä*@N“%pÔÅÁ \b…C0).j‰è´4\0\0 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿî¦K%ኯ¹\0\0Ç%(þ(Àépxj…:‡ùŇ%%%Ôn^;#þ:ËÍ…$ŽÔk#Øá؝}ó\rUίìÐ\0À\0%%\0•n¡šÆ¡•€aT9H\t¸L q±sÇšN”zq\0q%ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\b  \te\'““Û  \b Æœëÿ2Ë/ˆi/ðð   c¼¹¬Å_uN›Ã‰|D\b£¦a9y«\tkÛ„“Æ“  \0H1IMu\f2gíë!Ö\b…M3E#V{æx«[#\0\0 ÿÿhq\0AîÔ\vÈ\n @ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏ›5ü¸uÄmmüüÿs$$üüüµ\'¡ZDìè­\fü(]×*L"bX­æ"Š\'æ¿ttüüTÕ4b4ûqÄ4Öê£Öd4844Ê!®4¸wŸ)„¯„üÿÿ\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏ›‚üÕ£Þ~~üüs#p55üüüµ0Ù|<\vç¬\f"¦`bþEiB}Èö9»@h(Ó™p™üügóKYKˆËK÷\v×÷‚KMKKØ1ÆKÉö­Ê.ÀÍÀüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏ›5ü¸uÄmmüüÿs$$üüüµ\'¡Z.ìè­\fü(]×(<"PXžæ"Š\'æ¿ttüüTTÒqÖê£ÖT¾®‘¸w”)„¯„üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏ›‚üÕ£Þ~~üüs#y55üüüµ0Ù|&\vç¬\f"¦`bþ@YBk¹ö9»Ah(Ó™f™üüg99K9îˆ98÷\v×÷n8899Ñ\'Æ8Áö­Ã.ÀÍÀüÿÿ\f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\t\0\0\0\b\0\0\0\v\0\0\0\f\0\0\0\r\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\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+\0\0\0,\0\0\0-\0\0\0.\0\0\0/\0\0\x000\0\0\x003\0\0\x004\0\0\x005\0\0\x006\0\0\x007\0\0\x008\0\0\x009\0\0\0:\0\0\0=\0\0\0>\0\0\0?\0\0\0@\0\0\0A\0\0\0B\0\0\0C\0\0\0D\0\0\0G\0\0\0H\0\0\0I\0\0\0J\0\0\0K\0\0\0L\0\0\0M\0\0\0N\0\0\0Q\0\0\0R\0\0\0S\0\0\0T\0\0\0U\0\0\0V\0\0\0W\0\0\0X\0\0\0¦Q\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K\0AÐß\v±\0\x001\0Aàß\v%0\0\0\0\0\0\r\0\0€\0\0\0±9\0\0@\0\0\0}Q\0\0\0\0\0úA\0\0@\0Aà\veC9\0\0\0\0\x002\n\0\0\0\0\0¤O\0\0\0\0\0?\t\0\0\0\0\0·R\0\0\0\0\0ƒ\0\0\0\0\0K\0\0\b\0\0\0§\v\0\0!\0\0\0 O\0\0"\0\0\0Z3\0\0"\0\0\0Ç\0\0\0\0\0ØD\0\0\0\0\0×D\0\0\'\0A€á\v\0AŽá\v\vð?\'\0\0\0(\0\0\0\0A¦á\v\vð?)\0\0\0*\0\0\0\0A¾á\v\và?+\0\0\0,\0\0\0\0AÖá\v;ð?-\0\0\0.\0\0\0\0\0\0\0\0\0\x00333333ó?/\0\0\x000\0\0\0\0\0\0\0\0\0\0š™™™™™é?1\0\0\x002\0\0\0\0Ažâ\v\vð?3\0\0\x004\0\0\0\b\0A¶â\všà?5\0\0\x006\0\0\0ö@\0\0Æ\0\0\0OH\0\0Á\0\0\0ëY\0\0Â\0\0\0„E\0\0À\0\0\0}a\0\0‘\0\0Ø?\0\0Å\0\0\0~P\0\0Ã\0\0\x0097\0\0Ä\0\0\0â`\0\0’\0\0¿7\0\0Ç\0\0\0;\0\0§\0\0ê\0\0! \0\0Á`\0\0”\0\0¶l\0\0Ð\0\0\0HH\0\0É\0\0\0åY\0\0Ê\0\0\0}E\0\0È\0\0\0[1\0\0•\0\0a\0\0—\0\x0047\0\0Ë\0\0\0Ba\0\0“\0\0AH\0\0Í\0\0\0ßY\0\0Î\0\0\0vE\0\0Ì\0\0\0˜`\0\0™\0\0/7\0\0Ï\0\0\0"a\0\0š\0\0›a\0\0›\0\0\f\0\0œ\0\0wP\0\0Ñ\0\0\0\f\0\0\0\0ð@\0\0R\0\0:H\0\0Ó\0\0\0ÙY\0\0Ô\0\0\0oE\0\0Ò\0\0\0‰a\0\0©\0\0à0\0\0Ÿ\0\0ß<\0\0Ø\0\0\0pP\0\0Õ\0\0\0*7\0\0Ö\0\0\0};\0\0¦\0\0‹;\0\0 \0\0_L\0\x003 \0\0\t;\0\0¨\0\0²/\0\0¡\0\0ï0\0\0`\0\0Na\0\0£\0\0i\0\0Þ\0\0\0\f\0\0¤\0\0Ò`\0\0˜\0\x003H\0\0Ú\0\0\0ÓY\0\0Û\0\0\0hE\0\0Ù\0\0\0S1\0\0¥\0\0%7\0\0Ü\0\0\0ˆ;\0\0ž\0\0,H\0\0Ý\0\0\0 7\0\0x\0\0Ý`\0\0–\0\0%H\0\0á\0\0\0ÍY\0\0â\0\0\0PH\0\0´\0\0\0ê@\0\0æ\0\0\0aE\0\0à\0\0\0(6\0\x005!\0\0wa\0\0±\0\0@-\0\0&\0\0\0S\0\0\'"\0\0Ä@\0\0 "\0\0Ò?\0\0å\0\0\0-\0\0H"\0\0iP\0\0ã\0\0\07\0\0ä\0\0\0/\0\0 \0\0Ø`\0\0²\0\0ñ\0\0¦\0\0\0€7\0\0" \0\0Ö.\0\0)"\0\0¸7\0\0ç\0\0\0À7\0\0¸\0\0\0+\0\0¢\0\0\0y;\0\0Ç\0\0ìY\0\0Æ\0\0\0\0c&\0\0t?\0\0E"\0\0\0\0©\0\0\0Å\0\0µ!\0\0p,\0\0*"\0\03\0\0¤\0\0\0î\0\0Ó!\0\0ã\0\0 \0\0Õ\0\0“!\0\0RA\0\0°\0\0\0»`\0\0´\0\0b\0\0f&\0\0…P\0\0÷\0\0\0H\0\0é\0\0\0ÇY\0\0ê\0\0\0ZE\0\0è\0\0\0Æ\0\0"\0\0€,\0\0 \0\0{,\0\0 \0\0K1\0\0µ\0\0«\v\0\0a"\0\0ã`\0\0·\0\0/<\0\0ð\0\0\07\0\0ë\0\0\0S/\0\0¬ \0\x000\r\0\0"\0\0ìA\0\0’\0\0˜7\0\0\0"\0\0­\0\0½\0\0\0I’\0\0¼\0\0\0!’\0\0¾\0\0\0ç6\0\0D \0\0\0\0\0é\0\0Ô!\0\0Ð\0\0”!\0\0T\0\0e&\0\0“-\0\0& \0\0H\0\0í\0\0\0ÁY\0\0î\0\0\0š8\0\0¡\0\0\0SE\0\0ì\0\0\0šO\0\0!\0\0°2\0\0"\0\0Ü\0\0+"\0\0“`\0\0¹\0\0¸\r\0\0¿\0\0\0‰2\0\0\b"\0\07\0\0ï\0\0\0a\0\0º\0\0ä\0\0Ð!\0\0”a\0\0»\0\0œ@\0\0)#\0\0//\0\0«\0\0\0Ë\0\0!\0\0²7\0\0\b#\0\0\t/\0\0 \0\0—N\0\0d"\0\0‡\0\0\n#\0\0¿\r\0\0"\0\0|\0\0Ê%\0\0k6\0\0 \0\0"/\0\x009 \0\0ý.\0\0 \0\0T\0\0<\0\0\0Í\0\0¯\0\0\0=\0\0 \0\0r/\0\0µ\0\0\0\0\0·\0\0\0A\0\0"\0\0\f\0\0¼\0\0\\a\0\0"\0\0…,\0\0 \0\0\0ý<\0\0 \0\0VL\0\0`"\0\x006;\0\0\v"\0\0’\0\0¬\0\0\0ƒ2\0\0\t"\0\0\b`\0\0„"\0\0bP\0\0ñ\0\0\0ÿ\v\0\0½\0\0H\0\0ó\0\0\0»Y\0\0ô\0\0\0ä@\0\0S\0\0LE\0\0ò\0\0\x000L\0\0> \0\0ƒa\0\0É\0\0Ø0\0\0¿\0\0G\0\0•"\0\0Õ\0\0("\0\0\0C\0\0ª\0\0\0»6\0\0º\0\0\0Ø<\0\0ø\0\0\0[P\0\0õ\0\0\0Š\0\0—"\0\0\f7\0\0ö\0\0\0a\0\0¶\0\0\0j\0\0"\0\0¥7\0\x000 \0\0Š,\0\0¥"\0\0u;\0\0Æ\0\0 ;\0\0À\0\0±\v\0\0Ö\0\0|2\0\0±\0\0\0CR\0\0£\0\0\0YL\0\x002 \0\0®Q\0\0"\0\0-\0\0"\0\0;\0\0È\0\0‡\0\0"\0\0\0ß\0\0Ò!\0\0G[\0\0"\0\0—@\0\0*#\0\0)/\0\0»\0\0\0Æ\0\0’!\0\0¬7\0\0\t#\0\0/\0\0 \0\0a9\0\0!\0\0DA\0\0®\0\0\0€\0\0\v#\0\0®/\0\0Á\0\0¤6\0\0 \0\0/\0\0: \0\0÷.\0\0 \0\0/\0\0 \0\0è0\0\0a\0\0\0\0Å"\0\0÷\0\0§\0\0\0W\0\0­\0\0\0Ha\0\0Ã\0\0\tC\0\0Â\0\0¨6\0\0<"\0\0È\0\0`&\0\0\t`\0\0‚"\0\0oQ\0\0†"\0\0A6\0\0"\0\0f,\0\0ƒ"\0\0F¸\0\0¹\0\0\0ú©\0\0²\0\0\0ݛ\0\0³\0\0\0:K\0\0‡"\0\0Þ@\0\0ß\0\0\0\f\0\0Ä\0\0֐\0\x004"\0\0Ì`\0\0¸\0\x0006\0\0Ñ\0\0t,\0\0\t \0\0¡0\0\0þ\0\0\0P\0\0Ü\0\0‹\0\0×\0\0\0ŒP\0\0"!\0\0Ú\0\0Ñ!\0\0\tH\0\0ú\0\0\0À\0\0‘!\0\0µY\0\0û\0\0\0EE\0\0ù\0\0\0:7\0\0¨\0\0\0m=\0\0Ò\0\0C1\0\0Å\0\07\0\0ü\0\0\0,\0\0!\0\0;\0\0¾\0\0H\0\0ý\0\0\0\b3\0\0¥\0\0\07\0\0ÿ\0\0\0Ç`\0\0¶\0\0è:\0\0\r \0\0ì:\0\0\f \0\0g@\0\b\0\0\0\0\0\x007?\0\0rÐ\0\0\v\0\0\0\0\0\0|\0\0Ji\0\0\0\0\0\0\0\x004-\0\0u\0\0\0\0\0\0\0\0UB\0\0\0\0\0\0\0\0\0\0\0HA\0\0~Ð\0\0\0\0\0\0\0\0C\0\0\0\0\0\0\0\0\0\0R\0\0ü6\0\0\0\0\0\t\0\0\0þ6\0\0ym\0\0\0\0\0\n\0\0\0hB\0\0Àù\0\0\0\0\f\0\0\00\0\0\0\0\0\0ÐÑÒÓÔÕÖרÙ\0Aæó\v\tð¿\0\0\0\0\0\0\0Aøó\v\rinvis\0\0filled\0Aô\v_\0\0}Q\0\0!6\0\0“\v\0\0my\0\0ëÆ\0\0ގ\0AÐô\vyÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0\0\0\0\0\0\0þÿÿ‡þÿÿ\0\0\0\0\0\0\0\0ÿÿÿÿÿÿÿÿÿÿÿÿóþýÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿ1üÿÿÿ\0\0\0\0\0\0\0ÿÿÿÿÿÿÿÿÿÿÿ\0ø\0Aàõ\vA@×ÿÿûÿÿÿÿTýÿ\0þßÿÿÿÿÿÿÿÿþßÿÿÿÿ\0ÿÿÿÿÿÿŸÿÿÿÏ?\0\0\0\0\0\0þÿÿÿþÿÿÿ\0Aªö\v³ÿÿÿ\0\0\0\0\0þÿÿþ\0\0\0\0þÿÿÿÿÿÿÿÿ|ÿ/\0`\0\0\0àÿÿÿÿÿÿ#\0\0\0ÿ\0\0\0àŸùÿÿýÅ\0\0\0°\0\0à‡ùÿÿým\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\0@\0\0\0àßýÿÿýÿ\0\0\0\0\0Að÷\vþÿÿÿÿ\r\0?\0\0\0\0\0\0\0–%ðþ®l\r \0A˜ø\vÿþÿÿÿ\0AÄø\vrÿÿÿÿ?\0ÿÿÿÿ\0íÚ\0\0\0\0PP1‚«b,\0\0\0\0@\0ɀõ\0\0\0\0\bÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ??ÿÿÿÿ??ÿªÿÿÿ?ÿÿÿÿÿÿß_ÜÏÿÜ\0\0\0\0@L\0AÀù\v\0AÐù\v&€\0\0\0þ\0\0þÿÿÿÿÿÿÿÿÿ\0þÿÿÿÿÿÿÿÿÿÿàÿÿÿÿ\0Aú\vÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?\0A°ú\vÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0AÕú\vÉ`ÿþÿÿ‡þÿÿ\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À×ÿÿûÿÿÿÿTýÿ\0þßÿÿÿÿÿÿÿÿþßÿÿÿÿ{\0ÿÿÿÿÿÿŸÿÿÿÏ?\0\0\0\0\0\0þÿÿÿþÿÿÿ\0þÿûÿÿ»\0ÿÿÿ\0\0\0\0\0þÿÿÿÿ\0ÿÿÿÿÿÿÿÿÿÿ|ÿïÿÿ=ÿîÿÿÿÿÿÿóÿ?ÿÏÿ\0\0îŸùÿÿýÅӟ9€°Ïÿ\0ä‡ùÿÿýmӇ9\0^Àÿ\0î¯ûÿÿýíó¿;\0\0Áÿ\0\0îŸùÿÿýÍó9À°Ãÿ\0\0ìÇ=ÖÇ¿ÃÇ=€\0€ÿ\0\0îßýÿÿýïÃß=`\0Ãÿ\0\0ìßýÿÿýïÃß=`@Ãÿ\0\0ìßýÿÿýÿÃÏ=€\0Ãÿ\0A°ý\v8þÿÿÿÿÿÿÿ\0\0\0\0–%ðþ®lÿ;_?ÿ\0\0\0\0\0\0\0ÿ Âÿþÿÿÿþÿß¿þÿ?þ\0AŠþ\vgÿ\0\0\0 \0\0\0þÿ>\0þÿÿÿÿÿÿÿÿÿfþÿÿÿÿÿÿÿÿÿÿw`\0\0\0a\0\0\0b\0\0\0c\0\0\0d\0\0\0e\0\0\0f\0\0\0g\0\0\0h\0\0\0i\0\0\0j\0\0\0k\0\0\0l\0\0\0m\0\0\0n\0\0\0o\0\0\0\0Aÿ\v\n\0\0\t\0A˜ÿ\và\f\r !"#\v$\0A \b\v\b\0\0\t\n\v\f\r\0A¾\b\v\0\0AЁ\b\v\0Aî\b\vR\0Â\b\v,\0A ƒ\b\v\0\0 !"#$%\0A¾ƒ\b\v&\0AЃ\b\v\'\0Aîƒ\b\vR\0Ā\b\v,\0A …\b\vE`\0\0\0a\0\0\0b\0\0\0c\0\0\0d\0\0\0e\0\0\0f\0\0\0g\0\0\0h\0\0\0i\0\0\0j\0\0\0k\0\0\0l\0\0\0m\0\0\0p\0\0\0q\0\0\0\0\0\0\0Añ…\b\v\n\0\0\0Aˆ†\b\vÕ\f\r !"#\v$\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\0Aæ‡\b\vÛr\0\0\0s\0\0\0t\0\0\0u\0\0\0v\0\0\0t\0\0\0w\0\0\0x\0\0\0y\0\0\0\0\0\0\0(\x003\0<\0B\0I\0R\0ISO-8859-1\0US-ASCII\0UTF-8\0UTF-16\0UTF-16BE\0UTF-16LE\0\0\0\0\0\x000ÿ\0|\0è\0T\0T\0È\b\0è\0`\0\0\0a\0\0\0b\0\0\0c\0\0\0d\0\0\0e\0\0\0f\0\0\0g\0\0\0h\0\0\0i\0\0\0j\0\0\0k\0\0\0l\0\0\0m\0\0\0z\0\0\0o\0\0\0\0\0\0\0A͉\b\v\n\0\0\t\0Aä‰\b\v`\f\r !"#\v$\0Aè‹\b\vE`\0\0\0a\0\0\0b\0\0\0c\0\0\0d\0\0\0e\0\0\0f\0\0\0g\0\0\0h\0\0\0i\0\0\0j\0\0\0k\0\0\0l\0\0\0m\0\0\0p\0\0\0q\0\0\0\0\0\0\0A¹Œ\b\v\n\0\0\t\0AЌ\b\vÕ\f\r !"#\v$\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\0A®Ž\b\vgr\0\0\0s\0\0\0t\0\0\0u\0\0\0v\0\0\0t\0\0\0w\0\0\0x\0\0\0y\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†\0\0\0‡\0\0\0ˆ\0\0\0‰\0\0\0Š\0\0\0\0A¥\b\v\n\0\0\t\0A¼\b\và\f\r !"#\v$\0AÀ‘\b\vNCDATA[\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\0\0—\0\0\0˜\0\0\0™\0\0\0š\0\0\0\0\0\0\0\0A™’\b\v\n\0\0\t\0A°’\b\và\f\r !"#\v$\0A´”\b\viversion\0encoding\0standalone\0yes\0no\0\0`\0\0\0a\0\0\0b\0\0\0c\0\0\0d\0\0\0e\0\0\0f\0\0\0g\0\0\0h\0\0\0i\0\0\0j\0\0\0k\0\0\0l\0\0\0m\0\0\0p\0\0\0q\0\0\0\0\0\0\0A©•\b\v\n\0\0\0AÀ•\b\vÕ\f\r !"#\v$\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\0Až—\b\v#r\0\0\0s\0\0\0t\0\0\0u\0\0\0v\0\0\0t\0\0\0w\0\0\0x\0\0\0y\0AЗ\b\v]ì\v\0X\r\0Ä\x000\x000\0œ\0Ä\0`\0\0\0a\0\0\0b\0\0\0c\0\0\0d\0\0\0e\0\0\0f\0\0\0g\0\0\0h\0\0\0i\0\0\0j\0\0\0k\0\0\0l\0\0\0m\0\0\0n\0\0\0o\0\0\0\0A½˜\b\v\n\0\0\t\0AԘ\b\và\f\r !"#\v$\0Aؚ\b\vE`\0\0\0a\0\0\0b\0\0\0c\0\0\0d\0\0\0e\0\0\0f\0\0\0g\0\0\0h\0\0\0i\0\0\0j\0\0\0k\0\0\0l\0\0\0m\0\0\0z\0\0\0o\0\0\0\0\0\0\0A©›\b\v\n\0\0\t\0AÀ›\b\v`\f\r !"#\v$\0Aĝ\b\vE`\0\0\0a\0\0\0b\0\0\0c\0\0\0d\0\0\0e\0\0\0f\0\0\0g\0\0\0h\0\0\0i\0\0\0j\0\0\0k\0\0\0l\0\0\0m\0\0\0p\0\0\0q\0\0\0\0\0\0\0A•ž\b\v\n\0\0\t\0A¬ž\b\vÕ\f\r !"#\v$\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\0AŠ \b\vgr\0\0\0s\0\0\0t\0\0\0u\0\0\0v\0\0\0t\0\0\0w\0\0\0x\0\0\0y\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†\0\0\0‡\0\0\0ˆ\0\0\0‰\0\0\0Š\0\0\0\0A¡\b\v\n\0\0\t\0A˜¡\b\và\f\r !"#\v$\0Aœ£\b\vF‹\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—\0\0\0˜\0\0\0™\0\0\0š\0\0\0\0\0\0\0\0Aí£\b\v\n\0\0\t\0A„¤\b\và\f\r !"#\v$\0Aˆ¦\b\v\t\0\0\0\0\0\0\0A̦\b\v)\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\0A°§\b\v \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0DOCTYPE\0SYSTEM\0PUBLIC\0ENTITY\0ATTLIST\0ELEMENT\0NOTATION\0INCLUDE\0IGNORE\0NDATA\0\0\0\0\0\0@\0F\0I\0O\0æ\0V\0_\0g\0CDATA\0ID\0IDREF\0IDREFS\0ENTITIES\0NMTOKEN\0NMTOKENS\0IMPLIED\0REQUIRED\0FIXED\0EMPTY\0ANY\0PCDATA\0#\0CDATA\0ID\0IDREF\0IDREFS\0ENTITY\0ENTITIES\0NMTOKEN\0NMTOKENS\0Aà©\b\v$http://www.w3.org/XML/1998/namespace\0Aª\b\vè\vhttp://www.w3.org/2000/xmlns/\0\0\0xml=http://www.w3.org/XML/1998/namespace\0\0\0\0†\0\0O\0\0IR\0\0-Ò\0\0‚3\0\0O\0\0fA\0\0€H\0\0\0\0½P\0\0 \0\0Q\0\0ç\0\0‹\0\0Ì\0\0VH\0\0q\0\0$@\0\0ü\0\0«1\0\0àP\0\0’K\0\0\0\0!\0\0|\0\0l0\0\0§\t\0\0\t\0\0û\0\0çV\0\0ÆV\0\0ñS\0\0qX\0\0\\X\0\0bT\0\0BW\0\0E\0\0ÄL\0\0CV\0\0¡\0\0ö\0\0îU\0\0ZW\0\0rT\0\0ÌÈ\0\0#»\0\0ª¬\0\0€ž\0\0֑\0\0¢†\0\0†\0\0Ây\0\0]u\0\0Ar\0\0Ão\0\0o\0\0Zo\0\0o\0\0n\0\0¬m\0\0¹È\0\0»\0\0—¬\0\0mž\0\0Ñ\0\0†\0\0s\0\0¯y\0\0Ju\0\0.r\0\0¾o\0\0Šo\0\0Uo\0\0o\0\0Šn\0\0§m\0\0¦È\0\0ýº\0\0„¬\0\0Zž\0\0°‘\0\0|†\0\0`\0\0œy\0\x007u\0\0r\0\0¹o\0\0…o\0\0Po\0\0o\0\0…n\0\0¢m\0\0¡È\0\0øº\0\0¬\0\0Už\0\0«‘\0\0w†\0\0[\0\0—y\0\x002u\0\0r\0\0´o\0\0€o\0\0Ko\0\0o\0\0€n\0\0m\0\0œÈ\0\0óº\0\0z¬\0\0Pž\0\0¦‘\0\0r†\0\0V\0\0’y\0\0-u\0\0r\0\0¯o\0\0{o\0\0Fo\0\0\no\0\0{n\0\0˜m\0\0—È\0\0îº\0\0u¬\0\0Kž\0\0¡‘\0\0m†\0\0Q\0\0y\0\0(u\0\0\fr\0\0ªo\0\0vo\0\0Ao\0\0o\0\0on\0\0“m\0\0’È\0\0éº\0\0p¬\0\0Fž\0\0œ‘\0\0h†\0\0L\0\0ˆy\0\0#u\0\0r\0\0¥o\0\0qo\0\0i\0\0\ri\0\0\vi\0\0úh\0\0øh\0\0Vh\0\0:h\0\0¡g\0\0Ÿg\0\0g\0\0›g\0\0&e\0\0ýd\0\0ûd\0\0àd\0\0Þd\0\0Kc\0\0Ic\0\0¿a\0\0½a\0\0ƒ`\0\0`\0\0Y\0\0}Q\0\0ÓC\0\0½A\0\0¹>\0\0±;\0\0ø:\0\0æ:\0\0±9\0\0Þ6\0\0!6\0\00\0\0õ.\0\0Q\0\0\r\0\0_\0\0/\0\0e\f\0\0á\v\0\0“\v\0\0\n\0\0#\t\0\0”\0\0D\0\0;\0\0/\0\0\t\0\0±m\0\0\0\0\0\0\b\0®ÿÑ\0\n\0®ÿ®ÿ\v\0®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ\0Ñ\0®ÿÑ\0Ñ\0Ñ\0Ñ\0Ñ\0Ñ\0Ñ\0Ñ\0®ÿûÿ®ÿ\0ìÿ®ÿ®ÿ®ÿ®ÿÑ\0Ñ\0Ñ\0Ñ\0Ñ\0\r\0%\0\f\0B\0\0P\0\0m\0{\0\0˜\0\0¦\0Ã\0®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ\0®ÿw\0®ÿ\0.\0®ÿ&\0®ÿ\0\0#\0®ÿ\r\0®ÿ®ÿ®ÿ®ÿ:\0®ÿ®ÿ5\0®ÿ®ÿ®ÿ(\0®ÿ\0®ÿ;\0E\0®ÿH\0®ÿ®ÿ®ÿ®ÿ®ÿ\0A¶\b\vÁ\b\t\n\v\f\r !"#$%&\'(\0\0\0\0\0\0\0\0\fY\0P\bW\b\vi\f\n\f)+-/0 245\v\f!"#$%&\'(\f\n *\n!"#$%&\'(\f\nS\n,X1XXXXXX\f.X3!"#$%&\'(ÿSÿÿ!"#$%&\'(\fÿÿÿÿÿ\tÿÿÿÿÿ\fÿ!"#$%&\'(ÿÿÿÿ!"#$%&\'(\fÿÿÿÿÿÿÿ\fÿÿÿ!"#$%&\'(ÿÿÿÿ!"#$%&\'(\fÿÿÿÿÿÿÿÿÿÿÿÿ\fÿÿÿÿ!"#$%&\'(ÿÿÿÿ!"#$%&\'(ÿÿÿÿÿÿÿÿÿ#$%&\'"6h8V! ^79p6ÒÂO<"G"?"D""X"e""_`9\b\t\n\v\f\rfg]jmoX;q\b\t\n\v\f\rr<[s>aF?AbI\b\t\n\v\f\r\0\\\0\0\b\t\n\v\f\r\0\0O\0\0\0SB\0\0\0\0\0\0DTU\b\t\n\v\f\r\0\0\0\0\b\t\n\v\f\r\0*,.G13\0\0\0\0\0\0\0\0\0J\b\t\n\v\f\r\0\0\0\0\b\t\n\v\f\r\0\0\0\0\0\0L\0\0\0\0\0\0\0\0\0\0\b\t\n\v\f\r\0\0\0\0\b\t\n\v\f\r)+-/0245\0A˼\b\v.)+-02\0/\0$#\0 \0///\0//\0\0\t\b(\0\0"\0\0\0\0\0\b\0A†½\b\v>%&\n)\v*-\f+\r,!\x003\x000\0/C\x001\0/\x005.\'B2A\0:8\0<4E\x006\0@\0\0?\0D7;9=\0Aѽ\b\vE\0\0\0\0\0\0\0\0A¡¾\b\vE)***+,,----------./0123456789:;<=>>??A@BBBBBBCCDDDFEGGGIHJHKHLHMMNNOO\0Að¾\b\v—®ÿ®ÿüÿè\0öÿÿÿ\0\0\0\'\0\x002\0®ÿ®ÿ\0$\0\0/\0®ÿ®ÿ®ÿ®ÿ®ÿþÿ”\0®ÿ\t\0\0®ÿ¼ÿ®ÿ®ÿ¯ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ®ÿ\0\0\0#:$=%@C&E\'HKM(NPQRYZlkncdWi\0H\0\0\0(\0\0\0\0\0\x008\0\0\0\0\0\0\b\0\0\0\0\0\0lnr\0A˜À\b\v\0A¸À\b\v.solid\0\0setlinewidth\x001\0\0\0CP\0\0JO\0\0¦\0\0Z=\0\0\t=\0\0=\0AðÀ\b\våP©\0`©\0p©\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½G\0\0¸4\0\0æ4\0\0ƒV\0\0³`\0\0£\n\0\0I\0\0\0\0\0\0Ù\0\0ÝÞ\0\0*×\0\0Z=\0\0Z=\0\0CP\0\0JO\0\0black\0\0\0\0\0\0none\x005,2\x001,5\0transparent\0\0\0\0Z=\0\0Z=\0\0JO\0\0JO\0\0Ž8\0\0Z=\0\0JO\0\0JO\0\0CP\0\0JO\0\0CP\0\0JO\0\0\0\0\0\0\0\0\0\0\0\0AèÂ\b\v\0\0\0\0AøÂ\b\v.\\" \0# \0dot pic plugin: \0A Ã\b\v†AB\0\0K;\0\0AI\0\0¤E\0\0AR\0\0Ó9\0\0AX\0\0»E\0\0B \0\0?S\0\0BI\0\0ÑZ\0\0CB\0\0JS\0\0CO\0\0Ö\0\0CX\0\0ïE\0\0H \0\0¬a\0\0HB\0\0{S\0\0HI\0\0BF\0\0HX\0\0F\0\0Hb\0\0)S\0\0Hi\0\0F\0\0Hr\0\0\n\0\0Hx\0\0ÒE\0\0I \0\0[\0\0KB\0\0>;\0\0KI\0\0Z\0\0KR\0\0¸\0\0KX\0\0¾Z\0\0NB\0\0eS\0\0NI\0\0/[\0\0NR\0\0W5\0\0NX\0\0öZ\0\0PA\0\0H5\0\0PB\0\0WS\0\0PI\0\0[\0\0PX\0\0âZ\0\0R \0\0<5\0\0S \0\0í6\0\0ZD\0\0c\0A¸Å\b\v\0\0\0\0\0\0network simplex: \0AàÅ\b\v!\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0A”Æ\b\v§\0A´Æ\b\v£¬\0\0­\0\0\0\0%%!PS-Adobe-2.0\n%%%%BoundingBox: (atend)\n/point {\n /Y exch def\n /X exch def\n newpath\n X Y 3 0 360 arc fill\n} def\n/cell {\n /Y exch def\n /X exch def\n /y exch def\n /x exch def\n newpath\n x y moveto\n x Y lineto\n X Y lineto\n X y lineto\n closepath stroke\n} def\n/node {\n /u exch def\n /r exch def\n /d exch def\n /l exch def\n newpath l d moveto\n r d lineto r u lineto l u lineto\n closepath fill\n} def\n\n\0\0\0tn\0\0\0i\0\0$h\0\0i\0\0h\0\0\0\0CP\0\0Z=\0\x009\b\0\0/\0\x004VPSC\x007IncVPSC\0NSt3__220__shared_ptr_emplaceIN12_GLOBAL__N_14NodeENS_9allocatorIS2_EEEE\0AäÊ\b\vÂq@\0K\0\0\0\0\0#;\0\0+;\0\0\0\0\0”N\0\0@\0\0\r\0\0\0{\0\0{\0\0\0\0\0¨Y\0\0¨Y\0\0\0\0\0ð-\0\0ð-\0\0\0\0\0ˆN\0\0@\0\0\0\0\0Ÿ\0\0þ?\0\0\0\0\0¨/\0\0÷\0\0\0\0\0/\t\0\0÷\0\0\0\0\0—\0\0Ú\0\0\b\0\0\0&\t\0\0ô\0\0\t\0\0\0§/\0\0¼\0\0\n\0\0\0.\t\0\0¼\0\0\v\0\0\0–\0\0˜\0\0\f\0\0\0%\t\0\0¹\0\0\0\0\0e6\0AÀÌ\b\vPþm\0\0Êg\0\0ég\0\0«g\0\0>m\0\0n\0\0:m\0\0\0\0\0\0þm\0\0l\0\0h\0\0Øn\0\0\0\0\0\0\0\0ð?\0\0\0\0\0\0ø?\0\0\0\0\0\0\0\0ÐÏCëýL>\0A›Í\b\ve@¸â?O»ag¬Ý?-DTû!é?›öÒ\vsï?-DTû!ù?âe/"+z<\\3&¦<½Ëðzˆp<\\3&¦‘<-DTû!é?-DTû!é¿Ò!3|Ù@Ò!3|ÙÀ\0AÎ\b\vè€-DTû!\t@-DTû!\tÀ\0\0\0\0\0\0\0\0\0\0\0\0ƒù¢\0DNn\0ü)\0ÑW\'\0Ý4õ\0bÛÀ\0<™•\0AC\0cQþ\0»Þ«\0·aÅ\0:n$\0ÒMB\0Ià\0\tê.\0’Ñ\0ëþ\0)±\0è>§\0õ5‚\0D».\0œé„\0´&p\0A~_\0֑9\0Sƒ9\0œô9\0‹_„\0(ù½\0ø;\0Þÿ—\0˜\0/ï\0\nZ‹\0mm\0Ï~6\0\tË\'\0FO·\0žf?\0-ê_\0º\'u\0åëÇ\0={ñ\0÷9\0’RŠ\0ûkê\0±_\0\b]\x000V\0{üF\0ð«k\0 ¼Ï\x006ôš\0ã©\0^a‘\0\bæ\0…™e\0 _\0@h\0€Øÿ\0\'sM\01\0ÊV\0ɨs\0{â`\0kŒÀ\0ÄG\0ÍgÃ\0\tèÜ\0Yƒ*\0‹vÄ\0¦–\0D¯Ý\0WÑ\0¥>\0ÿ\x003~?\0Â2è\0˜OÞ\0»}2\0&=Ã\0kï\0Ÿø^\x005:\0òÊ\0ñ‡\0|!\0j$|\0Õnú\x000-w\0;C\0µÆ\0Ý\0­ÄÂ\0,MA\0\f\0]\0†}F\0ãq-\0›Æš\x003b\0\0´Ò|\0´§—\x007UÕ\0×>ö\0£\0Mvü\0d*\0p׫\0c|ø\0z°W\0ç\0ÀIV\0;ÖÙ\0§„8\0$#Ë\0֊w\0ZT#\0\0¹\0ñ\n\0Îß\0Ÿ1ÿ\0fj\0™Wa\0¬ûG\0~Ø\0"e·\x002è‰\0æ¿`\0ïÄÍ\0l6\t\0]?Ô\0Þ×\0X;Þ\0ޛ’\0Ò"(\0(†è\0âXM\0ÆÊ2\0\bã\0à}Ë\0ÀP\0ó§\0à[\0.4\0ƒb\0ƒH\0õŽ[\0­°\0éò\0HJC\0gÓ\0ªÝØ\0®_B\0jaÎ\0\n(¤\0ә´\0¦ò\0\\w\0£Âƒ\0a<ˆ\0Šsx\0¯ŒZ\0o×½\0-¦c\0ô¿Ë\0ï\0&Ág\0UÊE\0ÊÙ6\0(¨Ò\0Âa\0Éw\0&\0F›\0ÄYÄ\0ÈÅD\0M²‘\0\0ó\0ÔC­\0)Iå\0ýÕ\0\0¾ü\0”Ì\0pÎî\0>õ\0ìñ€\0³çÃ\0Çø(\0“”\0Áq>\0.\t³\0\vEó\0ˆœ\0« {\0.µŸ\0G’Â\0{2/\0\fUm\0r§\0kç\x001˖\0yJ\0Ayâ\0ô߉\0蔗\0âæ„\0™1—\0ˆík\0__6\0»ý\0Hš´\0g¤l\0qrB\0]2\0Ÿ¸\0¼å\t\01%\0÷t9\x000\0\r\f\0K\bh\0,îX\0Gª\0tç\0½Ö$\0÷}¦\0nHr\0Ÿï\0Ž”¦\0´‘ö\0ÑSQ\0Ï\nò\0 ˜3\0õK~\0²ch\0Ý>_\0@]\0…‰\0UR)\x007dÀ\0mØ\x002H2\0[Lu\0NqÔ\0ETn\0\v\tÁ\0*õi\0fÕ\0\'\0]P\0´;Û\0êvÅ\0‡ù\0Ik}\0\'º\0–i)\0ÆÌ¬\0­T\0âj\0ˆÙ‰\0,rP\0¤¾\0w”\0ó0p\0\0ü\'\0êq¨\0fÂI\0dà=\0—݃\0£?—\0C”ý\0\r†Œ\x001AÞ\0’9\0ÝpŒ\0·ç\0\bß;\07+\0\\€ \0Z€“\0’\0èØ\0l€¯\0ÛÿK\x008\0Yv\0b¥\0aË»\0lj¹\0@½\0Òò\0Iu\'\0ë¶ö\0Û"»\0\nª\0‰&/\0dƒv\0\t;3\0”\0Q:ª\0£Â\0¯í®\0\\&\0mÂM\0-zœ\0ÀV—\0?ƒ\0\tðö\0+@Œ\0m1™\x009´\0\f \0ØÃ[\0õ’Ä\0Æ­K\0NÊ¥\0§7Í\0æ©6\0«’”\0ÝBh\0cÞ\0vŒï\0h‹R\0üÛ7\0®¡«\0ß1\0\0®¡\0\fûÚ\0dMf\0í·\0)e0\0WV¿\0Gÿ:\0jù¹\0u¾ó\0(“ß\0«€0\0fŒö\0Ë\0ú"\0Ùä\0=³¤\0W\x006Í\t\0NBé\0¾¤\x003#µ\0ðª\0Oe¨\0ÒÁ¥\0\v?\0[xÍ\0#ùv\0{‹\0‰r\0ƦS\0onâ\0ïë\0\0›JX\0ÄÚ·\0ªfº\0vÏÏ\0Ñ\0±ñ-\0Œ™Á\0íw\0†HÚ\0÷] \0ƀô\0¬ð/\0Ýìš\0?\\¼\0ÐÞm\0Ç\0*Û¶\0£%:\0\0¯š\0­S“\0¶W\0)-´\0K€~\0Ú§\0vª\0{Y¡\0*\0Ü·-\0úåý\0‰Ûþ\0‰¾ý\0ävl\0©ü\0>€p\0…n\0ý‡ÿ\0(>\0ag3\0*†\0M½ê\0³ç¯\0mn\0•g9\x001¿[\0„×H\x000ß\0Ç-C\0%a5\0ÉpÎ\x000˸\0¿lý\0¤\0¢\0lä\0ZÝ \0!oG\0bÒ\0¹\\„\0paI\0kVà\0™R\0PU7\0Õ·\x003ñÄ\0n_\0]0ä\0….©\0²Ã\0¡26\0\b·¤\0ê±Ô\0÷!\0iä\0\'ÿw\0\f€\0@-\0OÍ \0 ¥™\0³¢Ó\0/]\n\0´ùB\0ÚË\0}¾Ð\0›ÛÁ\0«½\0Ê¢\0\bj\\\0.U\0\'\0U\0ð\0á†\0\vd\0–A\0‡¾Þ\0Úý*\0k%¶\0{‰4\0óþ\0¹¿ž\0hjO\0J*¨\0OÄZ\0-ø¼\0×Z˜\0ôǕ\0\rM\0 :¦\0¤W_\0?±\0€8•\0Ì \0q݆\0ÉÞ¶\0¿`õ\0Me\0k\0Œ°¬\0²ÀÐ\0QUH\0û\0•rÃ\0£;\0À@5\0Ü{\0àEÌ\0N)ú\0ÖÊÈ\0èóA\0|dÞ\0›dØ\0Ù¾1\0¤—Ã\0wXÔ\0iãÅ\0ðÚ\0º:<\0FF\0Uu_\0Ò½õ\0n’Æ\0¬.]\0Dí\0>B\0ać\0)ýé\0çÖó\0"|Ê\0o‘5\0\bàÅ\0ÿ׍\0njâ\0°ýÆ\0“\bÁ\0|]t\0k­²\0Ín\0>r{\0Æj\0÷Ï©\0)sß\0µÉº\0·\0Q\0â²\r\0tº$\0å}`\0t؊\0\r,\0\f\0~f”\0)\0Ÿzv\0ýý¾\0VEï\0Ù~6\0ìÙ\0‹º¹\0ėü\x001¨\'\0ñnÃ\0”Å6\0بV\0´¨µ\0ÏÌ\0‰-\0oW4\0,V‰\0™Îã\0Ö ¹\0k^ª\0>*œ\0_Ì\0ý\vJ\0áôû\0Ž;m\0â†,\0éԄ\0ü´©\0ïîÑ\0.5É\0/9a\x008!D\0ÙÈ\0ü\n\0ûJj\0/Ø\0S´„\0N™Œ\0T"Ì\0*UÜ\0ÀÆÖ\0\v–\0p¸\0i•d\0&Z`\0?Rî\0\0ôµ\0üËõ\x004¼-\x004¼î\0è]Ì\0Ý^`\0gŽ›\0’3ï\0ɸ\0aX›\0áW¼\0QƒÆ\0Ø>\0ÝqH\0-Ý\0¯¡\0!,F\0Yó×\0Ùz˜\0žTÀ\0O†ú\0Vü\0åy®\0‰"6\x008­"\0g“Ü\0Uèª\0‚&8\0Êç›\0Q\r¤\0™3±\0©×\0iH\0e²ð\0ˆ§\0ˆL—\0ùÑ6\0!’³\0{‚J\0˜Ï!\0@ŸÜ\0ÜGU\0át:\0gëB\0þß\0^Ô_\0{g¤\0º¬z\0Uö¢\0+ˆ#\0AºU\0Yn\b\0!*†\x009Gƒ\0‰ãæ\0åžÔ\0Iû@\0ÿVé\0Ê\0ÅYŠ\0”ú+\0ÓÁÅ\0ÅÏ\0ÛZ®\0Gņ\0…Cb\0!†;\0,y”\0a‡\0*L{\0€,\0C¿\0ˆ&\0x<‰\0¨Ää\0åÛ{\0Ä:Â\0&ôê\0÷gŠ\0\r’¿\0e£+\0=“±\0½|\v\0¤QÜ\0\'Ýc\0iáÝ\0š”\0¨)•\0hÎ(\0\tí´\0DŸ \0N˜Ê\0p‚c\0~|#\0¹2\0§õŽ\0Vç\0!ñ\b\0µ*\0o~M\0¥Q\0µù«\0‚ßÖ\0–Ýa\06\0Ä:Ÿ\0ƒ¢¡\0rím\x009z\0‚¸©\0k2\\\0F\'[\0\x004í\0Ò\0w\0üôU\0YM\0àq€\0Aƒä\b\v­@û!ù?\0\0\0\0-Dt>\0\0\0€˜Fø<\0\0\0`QÌx;\0\0\0€ƒð9\0\0\0@ %z8\0\0\0€"‚ã6\0\0\0\0ói5þ‚+eGg@\0\0\0\0\0\x008C\0\0úþB.v¿:;ž¼š÷\f½½ýÿÿÿÿß?šìï?Ñf‡z^¼…nèãï?ög5RҌ¾ï?m{ƒ]¦š—<‰ùlXµï?üïý’µŽ<÷Gr+’¬ï?ќ/p=¾><¢ÑÓ2ì£ï?\vn‰4j¼Óþ¯f›ï?½/*RV•¼Q[Гï?UêNŒï€P¼Ì1lÀ½Šï?ôÕ¹#ɑ¼à-©®š‚ï?¯U\\éãӀ÷ìš<ª¹h1‡Tï?8†Ë‚珼Ùü"PMï?Ã¦DAoŠ<֌bˆ;Fï?}ä°z€<–Ü}‘I?ï?”¨¨ãýŽ–<8bunz8ï?}Htò^‡©¯\fï?¶«°MuMƒ<·1\nþï?Lt¬âB†<1ØLüpï?JøÓ]9ݏ<ÿd²\büî?[Ž;€£†¼ñŸ’_Åöî?hPKÌíJ’¼Ë©:7§ñî?Ž-Qø™¼fØm®ìî?Ò6”>èÑq¼÷Ÿå4Ûçî?γ™¼å¨Ã-ãî?mL*§HŸ…<"4L¦Þî?Ši(z`“¼€¬EÚî?[‰H§X¼*.÷!\nÖî?šIg›,|¼—¨PÙõÑî?¬Â`ícC<-‰a`\bÎî?ïd;\tf–Z~dx¼t_ìèuŸî?°}‹ÀJt¥HšŸî?ŠæU2†¼ÉgBVëŸî?ÓÔ\t^˜T\'¤î?47;ñ¶i“¼ÎL™‰¥î?ÿ:„^€¼­Ç#F§î?nWrØPԔ¼í’D›Ù¨î?\0Š[g­<™fŠÙǪî?´êðÁ/·<Û *Bå¬î?ÿçŜ`¶e¼ŒDµ2¯î?D_óYƒö{<6w™®±î?ƒ=§\t“¼Æÿ‘\v[´î?)l‹¸©]¼åÅͰ7·î?Y¹|ù#l¼RÈËDºî?ªùô"CC’¼PNޟ‚½î?KŽf×lʅ¼ºÊpñÀî?\'Α+ü¯q<ð£‚‘Äî?»s\ná5Òm<##ãcÈî?c"b"Ň¼eå]{fÌî?Õ1âㆋ<3-Jì›Ðî?»¼ÓÑ»‘¼]%>²Õî?Ò1îœ1̐´!Ղ¼_›{3—|ï?É\rG;¹*‰¼)¡õF†ï?ӈ:`¶t<ö?‹ç.ï?qrQìŃ<ƒLÇûQšï?ð‘ӏ÷¼Ú¤¢¯¤ï?}t#☮¼ñgŽ-H¯ï?\b ªA¼ÃŽ<\'Zaîºï?2ë©Ã”+„<—ºk7+Åï?î…Ñ1©dŠ<@En[vÐï?íã;äº7޼¾œ­ýÛï?Í‘M;‰w<ؐžÁçï?‰Ì`AÁS<ñq+Âóï?Þ•\0\0\0\0ÿÿÿÿÿÿÿÿÿÿÿÿ°:\0\0\0\0C.UTF-8\0A€ö\b\vÄ:\0A ö\b\vGLC_CTYPE\0\0\0\0LC_NUMERIC\0\0LC_TIME\0\0\0\0\0LC_COLLATE\0\0LC_MONETARY\0LC_MESSAGES\0Aðö\b\vC.UTF-8\0Aˆ÷\b\v\vH£\0à£\0p¤\0A¢÷\b\v– N\0ë§~ u†ú\0¹,ý·Šz¼\0Ì¢\0=I×\0\b\0“\b*_·úXÙýʽáÍÜ@x\0}gaì\0å\nÔ\0Ì>Ov˜¯\0\0D\0®\0®`\0úw!ë+\0`A’\0©£nN\0Aèø\b\v\f\0\0\0\0\0\0\0\0*\0Aˆù\b\v\'9H\0Ažù\b\v’\0A²ù\b\vŸ8R`S\0\0Ê\0\0\0\0\0\0\0\0»Ûë+;PSuccess\0Illegal byte sequence\0Domain error\0Result not representable\0Not a tty\0Permission denied\0Operation not permitted\0No such file or directory\0No such process\0File exists\0Value too large for defined data type\0No space left on device\0Out of memory\0Resource busy\0Interrupted system call\0Resource temporarily unavailable\0Invalid seek\0Cross-device link\0Read-only file system\0Directory not empty\0Connection reset by peer\0Operation timed out\0Connection refused\0Host is down\0Host is unreachable\0Address in use\0Broken pipe\0I/O error\0No such device or address\0Block device required\0No such device\0Not a directory\0Is a directory\0Text file busy\0Exec format error\0Invalid argument\0Argument list too long\0Symbolic link loop\0Filename too long\0Too many open files in system\0No file descriptors available\0Bad file descriptor\0No child process\0Bad address\0File too large\0Too many links\0No locks available\0Resource deadlock would occur\0State not recoverable\0Owner died\0Operation canceled\0Function not implemented\0No message of desired type\0Identifier removed\0Device not a stream\0No data available\0Device timeout\0Out of streams resources\0Link has been severed\0Protocol error\0Bad message\0File descriptor in bad state\0Not a socket\0Destination address required\0Message too large\0Protocol wrong type for socket\0Protocol not available\0Protocol not supported\0Socket type not supported\0Not supported\0Protocol family not supported\0Address family not supported by protocol\0Address not available\0Network is down\0Network unreachable\0Connection reset by network\0Connection aborted\0No buffer space available\0Socket is connected\0Socket not connected\0Cannot send after socket shutdown\0Operation already in progress\0Operation in progress\0Stale file handle\0Remote I/O error\0Quota exceeded\0No medium found\0Wrong medium type\0Multihop attempted\0Required key not available\0Key has expired\0Key has been revoked\0Key was rejected by service\0Ñtž\0W½*€pRÿÿ>\'\n\0\0\0d\0\0\0è\0\0\'\0\0 †\0@B\0€–˜\0\0áõ\0\0\x005\0\0\0q\0\0\0kÿÿÿÎûÿÿ’¿ÿÿ\0\0\0\0\0\0\0\0\0\v\0\0\0\0\0\0\0\0\0\0\0\t\0\0\0\0\v\0\0\0\0\0\0\0\0\0\n\n\n\0\0\t\v\0\0\t\v\0\0\v\0\0\0\0\0Aá‰\t\v!\0\0\0\0\0\0\0\0\0\v\r\0\r\0\0\0\t\0\0\0\t\0\0\0\0A›Š\t\v\f\0A§Š\t\v\0\0\0\0\0\0\0\0\t\f\0\0\0\0\0\f\0\0\f\0AՊ\t\v\0AáŠ\t\v\0\0\0\0\0\0\0\t\0\0\0\0\0\0\0\0A‹\t\v\0A›‹\t\v\0\0\0\0\0\0\0\0\t\0\0\0\0\0\0\0\0\0\0\0\0\0Aҋ\t\v\0\0\0\0\0\0\0\0\0\t\0AƒŒ\t\v\0AŒ\t\v\0\0\0\0\0\0\0\0\t\0\0\0\0\0\0\0\0A½Œ\t\v\0AɌ\t\v\'\0\0\0\0\0\0\0\0\t\0\0\0\0\0\0\0\0\x000123456789ABCDEF\0A”\t\v\v\0A¼\t\v\bÿÿÿÿÿÿÿÿ\0A€Ž\t\vÅ\bÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0\b\tÿÿÿÿÿÿÿ\n\v\f\r !"#ÿÿÿÿÿÿ\n\v\f\r !"#ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0\0\0\0\0\0\0\0\0\0À\0\0À\0\0À\0\0À\0\0À\0\0À\b\0\0À\t\0\0À\n\0\0À\v\0\0À\f\0\0À\r\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À\0\0À\0\0\0³\0\0Ã\0\0Ã\0\0Ã\0\0Ã\0\0Ã\0\0Ã\0\0Ã\b\0\0Ã\t\0\0Ã\n\0\0Ã\v\0\0Ã\f\0\0Ã\r\0\0Ó\0\0Ã\0\0Ã\0\0\f»\0\fÃ\0\fÃ\0\fÃ\0\fÛ\0\0\0\0”I\0\r\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\0J\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ül\0hI\0,K\0NSt3__29basic_iosIcNS_11char_traitsIcEEEE\0\0\0Ôl\0œI\0NSt3__215basic_streambufIcNS_11char_traitsIcEEEE\0\0\0\0Xm\0èI\0\0\0\0\0\0\0\0\\I\0ôÿÿNSt3__213basic_ostreamIcNS_11char_traitsIcEEEE\0\0ül\0$J\0”I\0NSt3__215basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE\0\0\x008\0\0\0\0\0\0\0ÈJ\0"\0\0#\0\0ÈÿÿÿÈÿÿÿÈJ\0$\0\0%\0\0tJ\0¬J\0ÀJ\0ˆJ\x008\0\0\0\0\0\0\0ÐI\0&\0\0\'\0\0ÈÿÿÿÈÿÿÿÐI\0(\0\0)\0\0ül\0ÔJ\0ÐI\0NSt3__219basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE\0\0\0\0\0\0\0,K\0*\0\0+\0\0Ôl\x004K\0NSt3__28ios_baseE\0AԖ\t\v-€Þ(\0€ÈM\0\0§v\0\x004ž\0€Ç\0€Ÿî\0\0~€\\@€ég\0Ȑ\0U¸.\0A—\t\vÒSun\0Mon\0Tue\0Wed\0Thu\0Fri\0Sat\0Sunday\0Monday\0Tuesday\0Wednesday\0Thursday\0Friday\0Saturday\0Jan\0Feb\0Mar\0Apr\0May\0Jun\0Jul\0Aug\0Sep\0Oct\0Nov\0Dec\0January\0February\0March\0April\0May\0June\0July\0August\0September\0October\0November\0December\0AM\0PM\0%a %b %e %T %Y\0%m/%d/%y\0%H:%M:%S\0%I:%M:%S %p\0\0\0%m/%d/%y\x000123456789\0%a %b %e %T %Y\0%H:%M:%S\0\0\0\0\0^[yY]\0^[nN]\0yes\0no\0Að™\t\v10123456789abcdefABCDEFxX+-pPiInN\0%I:%M:%S %p%H:%M\0A°š\t\v%\0\0\0m\0\0\0/\0\0\0%\0\0\0d\0\0\0/\0\0\0%\0\0\0y\0\0\0%\0\0\0Y\0\0\0-\0\0\0%\0\0\0m\0\0\0-\0\0\0%\0\0\0d\0\0\0%\0\0\0I\0\0\0:\0\0\0%\0\0\0M\0\0\0:\0\0\0%\0\0\0S\0\0\0 \0\0\0%\0\0\0p\0\0\0\0\0\0\0%\0\0\0H\0\0\0:\0\0\0%\0\0\0M\0AÀ›\t\vf%\0\0\0H\0\0\0:\0\0\0%\0\0\0M\0\0\0:\0\0\0%\0\0\0S\0\0\0\0\0\0\0 W\0<\0\0=\0\0>\0\0\0\0\0\0„W\0?\0\0@\0\0>\0\0A\0\0B\0\0C\0\0D\0\0E\0\0F\0\0G\0\0H\0A°œ\t\vý\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\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\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\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\0B\0\0B\0\0B\0\0B\0\0B\0\0B\0\0B\0\0B\0\0B\0\0B\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\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\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\0\0‚\0\0\x002\0\x002\0\x002\0\x002\0\x002\0\x002\0\x002\0\0\x002\0\0\x002\0\0\x002\0\0\x002\0\0\x002\0\0\x002\0\0\x002\0\0\x002\0\0\x002\0\0\x002\0\0\x002\0\0\x002\0\0\x002\0\0\x002\0\0\x002\0\0\x002\0\0\x002\0\0\x002\0\0\x002\0\0\0‚\0\0\0‚\0\0\0‚\0\0\0‚\0\0\0\0A´¤\t\víÜV\0I\0\0J\0\0>\0\0K\0\0L\0\0M\0\0N\0\0O\0\0P\0\0Q\0\0\0\0\0\0¸W\0R\0\0S\0\0>\0\0T\0\0U\0\0V\0\0W\0\0X\0\0\0\0\0\0ÜW\0Y\0\0Z\0\0>\0\0[\0\0\\\0\0]\0\0^\0\0_\0\0t\0\0\0r\0\0\0u\0\0\0e\0\0\0\0\0\0\0f\0\0\0a\0\0\0l\0\0\0s\0\0\0e\0\0\0\0\0\0\0%\0\0\0m\0\0\0/\0\0\0%\0\0\0d\0\0\0/\0\0\0%\0\0\0y\0\0\0\0\0\0\0%\0\0\0H\0\0\0:\0\0\0%\0\0\0M\0\0\0:\0\0\0%\0\0\0S\0\0\0\0\0\0\0%\0\0\0a\0\0\0 \0\0\0%\0\0\0b\0\0\0 \0\0\0%\0\0\0d\0\0\0 \0\0\0%\0\0\0H\0\0\0:\0\0\0%\0\0\0M\0\0\0:\0\0\0%\0\0\0S\0\0\0 \0\0\0%\0\0\0Y\0\0\0\0\0\0\0%\0\0\0I\0\0\0:\0\0\0%\0\0\0M\0\0\0:\0\0\0%\0\0\0S\0\0\0 \0\0\0%\0\0\0p\0A¬§\t\vý\'¼S\0`\0\0a\0\0>\0\0ül\0ÈS\0l\0NSt3__26locale5facetE\0\0\0\0\0\0\0$T\0`\0\0b\0\0>\0\0c\0\0d\0\0e\0\0f\0\0g\0\0h\0\0i\0\0j\0\0k\0\0l\0\0m\0\0n\0\0Xm\0DT\0\0\0\0\0\0\0\0¼S\0\0\0\0XT\0\0\0\0NSt3__25ctypeIwEE\0\0\0Ôl\0`T\0NSt3__210ctype_baseE\0\0\0\0\0\0\0\0¨T\0`\0\0o\0\0>\0\0p\0\0q\0\0r\0\0s\0\0t\0\0u\0\0v\0\0Xm\0ÈT\0\0\0\0\0\0\0\0¼S\0\0\0\0ìT\0\0\0\0NSt3__27codecvtIcc11__mbstate_tEE\0\0\0Ôl\0ôT\0NSt3__212codecvt_baseE\0\0\0\0\0\0\0\0x\0\0y\0\0z\0\0{\0\0|\0\0}\0\0~\0\0Xm\0\\U\0\0\0\0\0\0\0\0¼S\0\0\0\0ìT\0\0\0\0NSt3__27codecvtIDsc11__mbstate_tEE\0\0\0\0\0\0°U\0`\0\0\0\0>\0\0€\0\0\0\0‚\0\0ƒ\0\0„\0\0…\0\0†\0\0Xm\0ÐU\0\0\0\0\0\0\0\0¼S\0\0\0\0ìT\0\0\0\0NSt3__27codecvtIDsDu11__mbstate_tEE\0\0\0\0\0$V\0`\0\0‡\0\0>\0\0ˆ\0\0‰\0\0Š\0\0‹\0\0Œ\0\0\0\0Ž\0\0Xm\0DV\0\0\0\0\0\0\0\0¼S\0\0\0\0ìT\0\0\0\0NSt3__27codecvtIDic11__mbstate_tEE\0\0\0\0\0\0˜V\0`\0\0\0\0>\0\0\0\0‘\0\0’\0\0“\0\0”\0\0•\0\0–\0\0Xm\0¸V\0\0\0\0\0\0\0\0¼S\0\0\0\0ìT\0\0\0\0NSt3__27codecvtIDiDu11__mbstate_tEE\0Xm\0üV\0\0\0\0\0\0\0\0¼S\0\0\0\0ìT\0\0\0\0NSt3__27codecvtIwc11__mbstate_tEE\0\0\0ül\0,W\0¼S\0NSt3__26locale5__impE\0\0\0ül\0PW\0¼S\0NSt3__27collateIcEE\0ül\0pW\0¼S\0NSt3__27collateIwEE\0Xm\0¤W\0\0\0\0\0\0\0\0¼S\0\0\0\0XT\0\0\0\0NSt3__25ctypeIcEE\0\0\0ül\0ÄW\0¼S\0NSt3__28numpunctIcEE\0\0\0\0ül\0èW\0¼S\0NSt3__28numpunctIwEE\0\0\0\0\0\0\0\0DW\0—\0\0˜\0\0>\0\0™\0\0š\0\0›\0\0\0\0\0\0dW\0œ\0\0\0\0>\0\0ž\0\0Ÿ\0\0 \0\0\0\0\0\0€X\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\0Xm\0 X\0\0\0\0\0\0\0\0¼S\0\0\0\0äX\0\0\0\0\0NSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE\0Xm\0üX\0\0\0\0\0\0\0\0Y\0\0\0\0\0NSt3__29__num_getIcEE\0\0\0Ôl\0Y\0NSt3__214__num_get_baseE\0\0\0\0\0\0\0\0xY\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\0Xm\0˜Y\0\0\0\0\0\0\0\0¼S\0\0\0\0ÜY\0\0\0\0\0NSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE\0Xm\0ôY\0\0\0\0\0\0\0\0Y\0\0\0\0\0NSt3__29__num_getIwEE\0\0\0\0\0\0\0@Z\0`\0\0¹\0\0>\0\0º\0\0»\0\0¼\0\0½\0\0¾\0\0¿\0\0À\0\0Á\0\0Xm\0`Z\0\0\0\0\0\0\0\0¼S\0\0\0\0¤Z\0\0\0\0\0NSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE\0Xm\0¼Z\0\0\0\0\0\0\0\0ÔZ\0\0\0\0\0NSt3__29__num_putIcEE\0\0\0Ôl\0ÜZ\0NSt3__214__num_put_baseE\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\0Xm\0L[\0\0\0\0\0\0\0\0¼S\0\0\0\0[\0\0\0\0\0NSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE\0Xm\0¨[\0\0\0\0\0\0\0\0ÔZ\0\0\0\0\0NSt3__29__num_putIwEE\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\0Ø\0\0Ù\0\0Ú\0\0Xm\0<\\\0\0\0\0\0\0\0\0¼S\0\0\0\0„\\\0\0\0\0 \\\0\0\b\0\0NSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE\0\0\0\0Ôl\0Œ\\\0NSt3__29time_baseE\0\0Ôl\0¨\\\0NSt3__220__time_get_c_storageIcEE\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\0è\0\0é\0\0ê\0\0Xm\0H]\0\0\0\0\0\0\0\0¼S\0\0\0\0„\\\0\0\0\0]\0\0\b\0\0NSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE\0\0\0\0Ôl\0˜]\0NSt3__220__time_get_c_storageIwEE\0\0\0\0\0\0\0Ô]\0ë\0\0ì\0\0>\0\0í\0\0Xm\0ô]\0\0\0\0\0\0\0\0¼S\0\0\0\0<^\0\0\b\0\0NSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE\0\0\0\0Ôl\0D^\0NSt3__210__time_putE\0\0\0\0\0\0\0\0t^\0î\0\0ï\0\0>\0\0ð\0\0Xm\0”^\0\0\0\0\0\0\0\0¼S\0\0\0\0<^\0\0\b\0\0NSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE\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\0Xm\x004_\0\0\0\0\0\0\0\0¼S\0\0\0\0P_\0\0\0\0NSt3__210moneypunctIcLb0EEE\0Ôl\0X_\0NSt3__210money_baseE\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\0Xm\0È_\0\0\0\0\0\0\0\0¼S\0\0\0\0P_\0\0\0\0NSt3__210moneypunctIcLb1EEE\0\0\0\0\0`\0`\0\0\0\0>\0\0\0\0\0\0\b\0\0\t\0\0\n\0\0\v\0\0\f\0\0\r\0\0\0\0Xm\0<`\0\0\0\0\0\0\0\0¼S\0\0\0\0P_\0\0\0\0NSt3__210moneypunctIwLb0EEE\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\0Xm\0°`\0\0\0\0\0\0\0\0¼S\0\0\0\0P_\0\0\0\0NSt3__210moneypunctIwLb1EEE\0\0\0\0\0è`\0`\0\0\0\0>\0\0\0\0\0\0Xm\0\ba\0\0\0\0\0\0\0\0¼S\0\0\0\0Pa\0\0\0\0\0NSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE\0\0\0Ôl\0Xa\0NSt3__211__money_getIcEE\0\0\0\0\0\0\0\0a\0`\0\0\0\0>\0\0\0\0\0\0Xm\0°a\0\0\0\0\0\0\0\0¼S\0\0\0\0øa\0\0\0\0\0NSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE\0\0\0Ôl\0\0b\0NSt3__211__money_getIwEE\0\0\0\0\0\0\0\x008b\0`\0\0\0\0>\0\0 \0\0!\0\0Xm\0Xb\0\0\0\0\0\0\0\0¼S\0\0\0\0 b\0\0\0\0\0NSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE\0\0\0Ôl\0¨b\0NSt3__211__money_putIcEE\0\0\0\0\0\0\0\0àb\0`\0\0"\0\0>\0\0#\0\0$\0\0Xm\0\0c\0\0\0\0\0\0\0\0¼S\0\0\0\0Hc\0\0\0\0\0NSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE\0\0\0Ôl\0Pc\0NSt3__211__money_putIwEE\0\0\0\0\0\0\0\0Œc\0`\0\0%\0\0>\0\0&\0\0\'\0\0(\0\0Xm\0¬c\0\0\0\0\0\0\0\0¼S\0\0\0\0Äc\0\0\0\0NSt3__28messagesIcEE\0\0\0\0Ôl\0Ìc\0NSt3__213messages_baseE\0\0\0\0\0d\0`\0\0)\0\0>\0\0*\0\0+\0\0,\0\0Xm\0$d\0\0\0\0\0\0\0\0¼S\0\0\0\0Äc\0\0\0\0NSt3__28messagesIwEE\0\0\0\0S\0\0\0u\0\0\0n\0\0\0d\0\0\0a\0\0\0y\0\0\0\0\0\0\0M\0\0\0o\0\0\0n\0\0\0d\0\0\0a\0\0\0y\0\0\0\0\0\0\0T\0\0\0u\0\0\0e\0\0\0s\0\0\0d\0\0\0a\0\0\0y\0\0\0\0\0\0\0W\0\0\0e\0\0\0d\0\0\0n\0\0\0e\0\0\0s\0\0\0d\0\0\0a\0\0\0y\0\0\0\0\0\0\0T\0\0\0h\0\0\0u\0\0\0r\0\0\0s\0\0\0d\0\0\0a\0\0\0y\0\0\0\0\0\0\0F\0\0\0r\0\0\0i\0\0\0d\0\0\0a\0\0\0y\0\0\0\0\0\0\0S\0\0\0a\0\0\0t\0\0\0u\0\0\0r\0\0\0d\0\0\0a\0\0\0y\0\0\0\0\0\0\0S\0\0\0u\0\0\0n\0\0\0\0\0\0\0M\0\0\0o\0\0\0n\0\0\0\0\0\0\0T\0\0\0u\0\0\0e\0\0\0\0\0\0\0W\0\0\0e\0\0\0d\0\0\0\0\0\0\0T\0\0\0h\0\0\0u\0\0\0\0\0\0\0F\0\0\0r\0\0\0i\0\0\0\0\0\0\0S\0\0\0a\0\0\0t\0\0\0\0\0\0\0J\0\0\0a\0\0\0n\0\0\0u\0\0\0a\0\0\0r\0\0\0y\0\0\0\0\0\0\0F\0\0\0e\0\0\0b\0\0\0r\0\0\0u\0\0\0a\0\0\0r\0\0\0y\0\0\0\0\0\0\0M\0\0\0a\0\0\0r\0\0\0c\0\0\0h\0\0\0\0\0\0\0A\0\0\0p\0\0\0r\0\0\0i\0\0\0l\0\0\0\0\0\0\0M\0\0\0a\0\0\0y\0\0\0\0\0\0\0J\0\0\0u\0\0\0n\0\0\0e\0\0\0\0\0\0\0J\0\0\0u\0\0\0l\0\0\0y\0\0\0\0\0\0\0A\0\0\0u\0\0\0g\0\0\0u\0\0\0s\0\0\0t\0\0\0\0\0\0\0S\0\0\0e\0\0\0p\0\0\0t\0\0\0e\0\0\0m\0\0\0b\0\0\0e\0\0\0r\0\0\0\0\0\0\0O\0\0\0c\0\0\0t\0\0\0o\0\0\0b\0\0\0e\0\0\0r\0\0\0\0\0\0\0N\0\0\0o\0\0\0v\0\0\0e\0\0\0m\0\0\0b\0\0\0e\0\0\0r\0\0\0\0\0\0\0D\0\0\0e\0\0\0c\0\0\0e\0\0\0m\0\0\0b\0\0\0e\0\0\0r\0\0\0\0\0\0\0J\0\0\0a\0\0\0n\0\0\0\0\0\0\0F\0\0\0e\0\0\0b\0\0\0\0\0\0\0M\0\0\0a\0\0\0r\0\0\0\0\0\0\0A\0\0\0p\0\0\0r\0\0\0\0\0\0\0J\0\0\0u\0\0\0n\0\0\0\0\0\0\0J\0\0\0u\0\0\0l\0\0\0\0\0\0\0A\0\0\0u\0\0\0g\0\0\0\0\0\0\0S\0\0\0e\0\0\0p\0\0\0\0\0\0\0O\0\0\0c\0\0\0t\0\0\0\0\0\0\0N\0\0\0o\0\0\0v\0\0\0\0\0\0\0D\0\0\0e\0\0\0c\0\0\0\0\0\0\0A\0\0\0M\0\0\0\0\0\0\0P\0\0\0M\0A´Ï\t\v”\n\0\0\0d\0\0\0è\0\0\'\0\0 †\0@B\0€–˜\0\0áõ\0ʚ;\0\0\0\0\0\0\0\x0000010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\0\0\0\0\0\0\0\x00000000010010001101000101011001111000100110101011110011011110111100010203040506071011121314151617202122232425262730313233343536374041424344454647505152535455565760616263646566677071727374757677000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\0\0\0\0\0\0\0\0\n\0\0\0\0\0\0\0d\0\0\0\0\0\0\0è\0\0\0\0\0\0\'\0\0\0\0\0\0 †\0\0\0\0\0@B\0\0\0\0\0€–˜\0\0\0\0\0\0áõ\0\0\0\0\0ʚ;\0\0\0\0\0ä\vT\0\0\0\0èvH\0\0\0\0¥Ôè\0\0\0\0 rN\t\0\0\0@zóZ\0\0\0€Æ¤~\0\0\0Áoò†#\0\0\0Š]xEc\0\0d§³¶à\r\0\0è‰#NJÔl\0l\0NSt3__214__shared_countE\0\0\0\0Xm\0Ll\0\0\0\0\0\0\0\0l\0\0\0\0\0NSt3__219__shared_weak_countE\0\0\0ül\0xl\0´n\0N10__cxxabiv116__shim_type_infoE\0\0\0\0ül\0¨l\0ll\0N10__cxxabiv117__class_type_infoE\0\0\0\0\0\0\0œl\0-\0\0.\0\0/\0\x000\0\x001\0\x002\0\x003\0\x004\0\0\0\0\0\0m\0-\0\x005\0\0/\0\x000\0\x001\0\x006\0\x007\0\x008\0\0ül\0(m\0œl\0N10__cxxabiv120__si_class_type_infoE\0\0\0\0\0\0\0\0xm\0-\0\x009\0\0/\0\x000\0\x001\0\0:\0\0;\0\0<\0\0ül\0„m\0œl\0N10__cxxabiv121__vmi_class_type_infoE\0\0\0\0\0\0\0ôm\0Ø\0\0=\0\0>\0\0Ôl\0Èm\0St9exception\0\0\0\0ül\0äm\0Àm\0St9bad_alloc\0\0\0\0ül\0\0n\0Øm\0St20bad_array_new_length\0\0\0\0\0\0\0\0Dn\0×\0\0?\0\0@\0\0\0\0\0\0”n\0È\0\0A\0\0B\0\0ül\0Pn\0Àm\0St11logic_error\0\0\0\0\0tn\0×\0\0C\0\0@\0\0ül\0€n\0Dn\0St12length_error\0\0\0\0ül\0 n\0Àm\0St13runtime_error\0\0\0Ôl\0¼n\0St9type_info\0AàÝ\t\v\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿ2\0A†Þ\t\v9ð?\0\0\0\0\0\0ð¿\0\0\0\0\0\0ð¿èn\0\0\0\0\0\0\0o\0\0\0\0\b\0\0\0(o\0\0\0\0\0\0\x004o\0AÔÞ\t\v\0AàÞ\t\v\b\0AìÞ\t\v\0\0\0\0\0\0\0\0\0\b\0\0\0\t\0\0\0\n\0\0\0\v\0Aß\t\v \0Aœß\t\v\0A¨ß\t\v\rÿÿÿÿ\0\0\0\0\0\0\0\0\0AÀß\t\v\0AÌß\t\v\0AØß\t\v\rÿÿÿÿ\0\0\0\0\0\0\0\0\0Aøß\t\v\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0A à\t\v\0A¬à\t\v\0A¸à\t\v$\0AÄà\t\v¶\0\0\0\t\0\0\0\v\0\0\0\b\0\0\0\n\0\0\0po\0\0p\0\b\0\0\0ÿÿÿÿ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0_AG_datadict\0\0\0\0\0\0\0\0\0\0\0-999999999999999.99\0‹\0\x0015\0\05\0\0@B\0\x000B\0\0%5\0\0|\0\0µ\0\0eN\0\0\0\0\0\0¢a\0\0J9\0\0:\0\0"\0\0\0\0›/\0\0\0\0\b\0\0\va\0\0Ÿ\0\0\0\0›/\0\0\0\0\0\0a\0\0Î\0\0ö\n\0\0x/\0\0A\0\0’/\0\0ƒ/\0\0­K\0\0üR\0\0\0\0\0\0:/\0\0\0\0\0\0ý\0\0\0\0\0\0Ta\0\0\0\0\0\0\0\0\0\0\0JB\0\0$S\0\0\0\0\0\0»E\0\0yl\0\x009;\0\0\0\0\0\0œE\0\0\0\0\0JB\0\0$S\0\0‰Z\0\0>;\0\0Vl\0\x009;\0A”ä\t\v>\n\0\0\0DB\0\0$S\0\0\0\0\0\0¾Z\0\0Vl\0\x009;\0\0\0\0\0\0‰Z\0\0\v\0\0\0DB\0\0$S\0\0‰Z\0\0¸\0\0Vl\0\0’\0AÜä\t\v\b\0\0\0DB\0Aìä\t\v*Z\0\0Vl\0\0’\0\0\0\0\0\0‰Z\0\0\t\0\0\0DB\0\0\0\0\0\0‰Z\0\0Ö\0\0Ö\0A¤å\t\v\f\0\0\0SQ\0A´å\t\v\nJS\0\0Ö\0\0$S\0AÈå\t\v:\0\0\0SQ\0\0$S\0\0\0\0\0\0ïE\0\0Ö\0\0$S\0\0\0\0\0\0œE\0\0\0\0\0SQ\0\0$S\0\0‰Z\0\x002F\0\0Ö\0AŒæ\t\vœE\0\0\r\0\0\0SQ\0\0\0\0\0\0‰Z\0\0¬a\0\0¬a\0A´æ\t\v\0\0\0JB\0AÄæ\t\v\n{S\0\0¬a\0\0$S\0AØæ\t\vN\0\0\0JB\0\0$S\0\0\0\0\0\0F\0\0¬a\0\0$S\0\0\0\0\0\0œE\0\0\0\0\0JB\0\0$S\0\0‰Z\0\0\n\0\0¬a\0\0\0\0\0\x003U\0\0\0\0\0\0\0\0\0JB\0A°ç\t\vr)S\0\0¬a\0\0$S\0\x003U\0\0\0\0\0\0\0\0\0JB\0\0$S\0\0\0\0\0\0ÒE\0\0¬a\0\0$S\0\x003U\0\0œE\0\0\0\0\0JB\0\0$S\0\0‰Z\0\0F\0\0¬a\0\0\0\0\0\x003U\0\0œE\0\0\0\0\0JB\0\0\0\0\0\0‰Z\0\0BF\0\0¬a\0A¬è\t\vœE\0\0\0\0\0JB\0\0\0\0\0\0‰Z\0\0eS\0\0dl\0\0$S\0AÔè\t\v:\0\0\0DB\0\0$S\0\0\0\0\0\0öZ\0\0dl\0\0$S\0\0\0\0\0\0‰Z\0\0\0\0\0DB\0\0$S\0\0‰Z\0\0/[\0\0dl\0A˜é\t\v‰Z\0\0\0\0\0DB\0\0\0\0\0\0‰Z\0\0W5\0\0dl\0\x0065\0AÀé\t\v\0\0\0DB\0AÐé\t\v\nWS\0\0K\0\0$S\0Aäé\t\v:\0\0\0DB\0\0$S\0\0\0\0\0\0âZ\0\0K\0\0$S\0\0\0\0\0\0‰Z\0\0\0\0\0DB\0\0$S\0\0‰Z\0\0[\0\0K\0A¨ê\t\v‰Z\0\0\0\0\0DB\0\0\0\0\0\0‰Z\0\0H5\0\0K\0\x0065\0AÐê\t\v\0\0\0DB\0Aàê\t\ví6\0\0í6\0Aôê\t\v \0\0\0s\0A„ë\t\v\n?S\0\0‘\0\0$S\0A˜ë\t\v:\0\0\0DB\0\0$S\0\0\0\0\0\0ÑZ\0\0‘\0\0$S\0\0\0\0\0\0‰Z\0\0\0\0\0DB\0\0$S\0\0‰Z\0\0[\0\0‘\0AÜë\t\v‰Z\0\0\0\0\0DB\0\0\0\0\0\0‰Z\0\0<5\0\0‘\0Aˆì\t\vDB\0A”ì\t\v*¤Z\0\0Gl\0\0\\6\0\0\0\0\0\0‰Z\0\0!\0\0\0DB\0\0\0\0\0\0‰Z\0\0c\0\0g\0AÌì\t\v"\0\0\0s\0AÜì\t\vY\b\0\0\0\0\0\0\0\0\0\x008\0\0\0\n\0\0\x009\0\0\0\b\0\0\0ÿÿÿÿ\0\0\0\0\0\0\0\0\n\0\0\0\0\0\0\0\b\0\0\0ÿÿÿÿ\0\0\0\0\0\0\0\0:\0\0\0\0\0\0\0\b\0\0\0ÿÿÿÿ\0\0\0\0\0\0\0\0;\0AÈí\t\v\0Aðí\t\v·\b<\0\0\0@\0\0\0A\0\0\0B\0\0\0C\0\0\0D\0\0\0>\0\0\0@\0\0\0A\0\0\0E\0\0\0\0\0\0\0F\0\0\0<\0\0\0@\0\0\0A\0\0\0B\0\0\0C\0\0\0D\0\0\0=\0\0\0G\0\0\0H\0\0\0I\0\0\0J\0\0\0K\0\0\0?\0\0\0L\0\0\0A\0\0\0M\0\0\0\0\0\0\0N\0\0\0<\0\0\0@\0\0\0A\0\0\0O\0\0\0C\0\0\0D\0\0\0?\t\0\0ðv\0p{\0\0\0\0\0(2\0\0ðv\0 {\0\0\0\0\0ÈI\0\0ðv\0Ð{\0\0\0\0\0ª8\0\0ðv\0Ð{\0\0\0\0\x006N\0\0ðv\0\0|\0\0\0\0\0Ã\0\0\bw\0\0|\0\0\0\0\0@A\0\0ðv\0@|\0\0\0\0\0N\0\0ðv\0p|\0\0\0\0\0K\0\0ðv\0 |\0\0\0\0\0g\f\0\0ðv\0 |\0\0\0\0\0Ë2\0\0ðv\0Àv\0\0\0\0\0·R\0\0ðv\0Ð|\0\0\0\0\0R6\0\0ðv\0\0}\0\0\0\0\0Ã6\0\0ðv\x000}\0\0\0\0\0§I\0\0ðv\0`}\0\0\0\0\0A2\0\0ðv\0}\0\0\0\0\x0002\0\0ðv\0À}\0\0\0\0\x0082\0\0ðv\0ð}\0\0\0\0\0^2\0\0ðv\0 ~\0\0\0\0\0”H\0\0ðv\0P~\0\0\0\0\0o`\0\0ðv\0€~\0\0\0\0\0K\0\0ðv\0°~\0\0\0\0\0Y\0\0ðv\0à~\0\0\0\0\0ì\0\0ðv\0\0\0\0\0\0-\0\0 w\0H\0\0\0\0\0*\0\0ðv\0p{\0\0\0\0\0­M\0\0ðv\0p{\0\0\0\0\0K\0\0ðv\0x\0\0\0\0\0(N\0\0ðv\0¨\0\0\0\0\0X2\0\0ðv\0Ø\0\0\0\0\0J2\0\0ðv\0\b€\0\0\0\0\0ÌM\0\0ðv\x008€\0\0\0\0\0O6\0\0ðv\0h€\0\0\0\0\0¤I\0\0ðv\0˜€\0\0\0\0\0ðK\0\0ðv\0Ȁ\0\0\0\0\0¶R\0\0ðv\0ø€\0\0\0\0\0\rK\0\0ðv\0(\0\0\0\0\x005N\0\0ðv\0X\0\0\0\0\x007\0\0ðv\0ˆ\0\0\0\0\0í\0\0ðv\0¸\0\0\0\0\0\0\0ðv\0è\0\0\0\0\0f\0\0ðv\0‚\0\0\0\0\0\0\0ðv\0H‚\0\0\0\0\0¤H\0\0ðv\0x‚\0\0\0\0\0k`\0\0ðv\0¨‚\0\0\0\0\0½H\0\0ðv\0؂\0\0\0\0\0_`\0\0ðv\0\bƒ\0\0\0\0\0™H\0\0ðv\x008ƒ\0\0\0\0\0­H\0\0ðv\0hƒ\0\0\0\0\0¡@\0\0ðv\0˜ƒ\0\0\0\0\0¯@\0\0ðv\0ȃ\0\0\0\0\0¾@\0\0ðv\0øƒ\0\0\0\0\0D\0\0ðv\0(„\0\0\0\0\0ùJ\0\0ðv\0X„\0\0\0\0\0,\0\0ðv\0ˆ„\0\0\0\0\0\r\n\0\0ðv\0¸„\0\0\0\0\0\n\0\0ðv\0è„\0\0\0\0\x006\0\0ðv\0…\0\0\0\0\0ŸQ\0\x008w\0A°ö\t\vžQ\0\x008w\0AÀö\t\vÍA\0\0Pw\0AÐö\t\v\vÕ\0\0hw\0P…\0Aôö\t\v\0\0\0\0A¤÷\t\v\0AÔ÷\t\v\0\0\0\0A€ø\t\v\t\0\0\0\0\0\0\0A°ø\t\vøù\0ÿù\0AÄø\t\v\0\0\0\0AØø\t\v\b333333Ó¿\0Aôø\t\v\0\0\0\0A¨ù\t\v\0AÔù\t\v\0\0\0\0Aåù\t\v€F@\0A„ú\t\v\0\0\0\0A˜ú\t\v\bš™™™™™Ù¿\0A´ú\t\v\0\0\0\0AÐú\t\v\b333333ã?\0Aäú\t\v\0\0\0\0Aøú\t\v\b{®Gázä¿\0A”û\t\v\0\0\0\0AÄû\t\v\0\0\0\0Aôû\t\v\0\0\0\0A¤ü\t\v\0\0\0\b\0AÔü\t\v\0\0\0\0Aùü\t\v\0A„ý\t\v\0\0\0\0A©ý\t\v \0A´ý\t\v\0\0\0\0AÙý\t\v0\0Aäý\t\v\0\0\0\0A‰þ\t\v@\0A”þ\t\v\0\0\0\0A¹þ\t\vP\0\0\0\0\0\0P\0\0\0Q\0\0\0\0\0\0\0\0\0\0\0Añþ\t\v \0@\0\0\0\0\0\0\0\0A¨ÿ\t\v\t\0\0\0\0\0\0\0AÜÿ\t\v\0\0\0\b\0AŒ€\n\v\0\0\0\b\0A¼€\n\v\0\0\0\0À\n\v€f@\0Aì€\n\v\0\0\0\0Aý€\n\v\v€f@š™™™™™Ù¿\0Aœ\n\v\0\0\0\0A­\n\v\v€f@{®Gázä¿\0Á\n\v\0\0\0\0Añ\n\v\0Aü\n\v\0\0\0\0A‚\n\v€F@\0A ‚\n\v\0\0\0\0\0\0\0\0\0\0\0\0\0\0AЂ\n\v\b\0\0\0\0\0\0\0\0\0\0\0\0\0\0A€ƒ\n\v\0AŒƒ\n\v\0\0\0\0A±ƒ\n\v`\0A¼ƒ\n\v\0\0\0\0Aáƒ\n\vp\0Aìƒ\n\v\0\0\0\0A‘„\n\v€\0Aœ„\n\v\0\0\0\0AÁ„\n\v\0Ā\n\v\0\0\0\0Añ„\n\v\0Aü„\n\v\0\0\0\0A¡…\n\v \0A¬…\n\v\0\0\0\0Aх\n\v0\0A܅\n\v\0\0\0\0A†\n\v@\0AŒ†\n\v\0\0\0\0A±†\n\vP\0A¼†\n\v\0\0\0\0Aá†\n\v \0Aì†\n\v\0\0\0\0A‘‡\n\v°\0Aœ‡\n\v\0\0\0\0AÁ‡\n\vÀ\0Ȧ\n\v\0\0\0\0Añ‡\n\vÐ\0Aü‡\n\v\0\0\0\0A¡ˆ\n\và\0A¬ˆ\n\v\0\0\0\0Aш\n\vð\0A܈\n\v\0\0\0\0A‚‰\n\v\0AŒ‰\n\v\0\0\0\0A±‰\n\v`\0A¼‰\n\v\0\0\0\0Aá‰\n\v€\0Aì‰\n\v\0\0\0\0A‘Š\n\vp\0AœŠ\n\v\0\0\0\0AÁŠ\n\v\0\0\0\0\0R\0\0\0S\0\0\0\0\0\0\0\0\0\0\n\0AüŠ\n\v.H…\0f9\0\09\0\0K\0\0\0\0\0\0d\0\0\0e\0\0\0f\0\0\0d\0\0\0T\0\0|\0\0?\0A´‹\n\v¡\0\0\0\0\0\0ÿÿÿÿ3\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\0ê\0\0\0ÿC\0\0ë\0\0\0ŸM\0\0ì\0\0\0¨\0\0í\0\0\0êB\0\0î\0\0\0T\0\0ï\0\0\0B\0\0ð\0\0\0<\0\0ñ\0\0\0Â\0\0ò\0\0\0M\0\0ó\0\0\0‡\0\0ô\0\0\0\'M\0\0õ\0\0\0‹-\0\0õ\0\0\0ú2\0\0ö\0\0\0J<\0\0÷\0\0\03\0\0ø\0\0\03\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\v5\0\0ú\0\0\0ÿC\0\0ë\0\0\0ŸM\0\0ì\0\0\0¨\0\0í\0\0\0êB\0\0î\0\0\0T\0\0ï\0\0\0B\0\0ð\0\0\05\0\0û\0\0\0Â\0\0ò\0\0\0M\0\0ó\0\0\0‡\0\0ô\0\0\0\'M\0\0õ\0\0\0‹-\0\0õ\0\0\0ú2\0\0ö\0\0\0J<\0\0÷\0\0\0²\0\0ü\0\0\0jQ\0\0ý\0\0\0uD\0\0þ\0\0\03\0\0ÿ\0\0\0”N\0\0\0\0\0±Y\0\0\0\0\b\0\0\0\0AàŽ\n\vž\n\0\0\0\0\0\b\0\0\0\b\0\0\0\0\0\0\0\0\0\n\0\0\0\0\0úh\0\0\b\0\0Ì\0\0\t\0\0É\0\0\t\0\0²\0\0\n\0\0¯\0\0\n\0\0Ý.\0\0\v\0\0Ú.\0\0\v\0\0g0\0\0\f\0\0d0\0\0\f\0\0H\0\0\r\0\0ÄX\0\0\r\0\0A\0\0\0\0B\0\0\0\0¹m\0\0\0\0\0\0\0\0\0\0\0Aˆ\n\v\n\0\0\0\0\0Aœ\n\v)ÿÿÿÿ\0\0\0\0\n\0\0\0\0\0\0\x008 \0? \0\0\0\0\0€\0\0ю\0\0n»\0\0€\0AА\n\v"\0\0#\0Aȑ\n\v"\0\0#\0Aä‘\n\v$\0Aü‘\n\v\n%\0\0\0\0\0\0&\0A˜’\n\v\'\0\0\0\0\0\0(\0\0)\0\0*\0\0+\0AĒ\n\v#ƒ\0\0\0\0\0Hˆ\0 Š\0\0\0\0\f\0\0\0\0\0Àˆ\0ÀŠ\0A„“\n\v›2\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\0B\0\0\0\0\0\0\0\0\0‹\0\0\0\0L\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\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àŠ\0AƔ\n\v\\ð?\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ð?\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 \0A¸•\n\v\v\0\0\0\0\0\0\0\0 Á\0Aؕ\n\v\0AŽ–\n\vR@\0\0\0\0\0\0R@\0\0\0\0AƖ\n\vR@\0\0\0\0\0\0R@\0\0\0\0\0\0\0\0,\0\0-\0Aè–\n\v.\0Aˆ—\n\v/\0\x000\0\x001\0\x002\0A¨—\n\v3\0\x004\0\x005\0\x006\0\x007\0\x008\0\x009\0Aԗ\n\v\0\0?\0\0@\0\0\0\0\0\0A\0\0\0\0\0\0B\0\0C\0\0D\0\0E\0A¨\n\vF\0\0G\0\0H\0\0I\0\0J\0Aȝ\n\vK\0\0\0\0\0\0L\0\0M\0\0N\0\0O\0\0P\0\0Q\0Aô\n\v|\0\0\0\0\0pŽ\0x\0A¤ž\n\v7i\0\0\0\0\0\0\0\0\0˜\0\0\0\0o\0\0\0\0\0\0\0\0\0˜\0\0\0\0h\0\0\0\0\0\0\0\0\0Џ\0Aðž\n\v\fV\0\0\0\0\0\0\0 \0A†Ÿ\n\v@\0A˜Ÿ\n\v`\0A¦Ÿ\n\v*B@\0\0\0\0\0\0B@\0\0\0\0\0 ƒ@\0\0\0\0\0Àˆ@\0\0\0\0\0\0R@\0\0\0\0\0\0R@\0Aޟ\n\vPB@\0\0\0\0\0\0B@\0\0\0\0\0 ƒ@\0\0\0\0\0Àˆ@\0\0\0\0\0\0R@\0\0\0\0\0\0R@S\0\0\0\0\0\0T\0\0U\0\0V\0\0W\0\0X\0\0Y\0\0Z\0\0[\0AÀ \n\v\\\0\0]\0\0^\0\0_\0\0`\0\0a\0Aà \n\vb\0\0\0\0\0\0c\0\0d\0\0e\0\0f\0\0g\0A„¡\n\v#?\0\0\0\0\0\b\0P“\0\0\0\0GL\0\0\0\0\0\b\0P“\0AÄ¡\n\v#Ó>\0\0\0\0\0\0\0\0\0p“\0\0\0\0?\0\0\0\0\0\0\0\0\0p“\0A€¢\n\vÓ®G\0\0I\0\0Ž`\0\0ÐK\0\0óJ\0\0ãN\0\0•E\0\0ð \0’R\0\0½G\0\x009\0\0^0\0\0\fR\0\0ÃF\0\0²I\0\0‚I\0\0Ñ8\0\0ÒF\0\0‚:\0\0¬0\0\0æ4\0\0QG\0\0Ø4\0\0×Q\0\0k\b\0\0ö3\0\0 \0\0`;\0\0¢`\0\0-4\0\0¾N\0\0ÚS\0\0æU\0\0,1\0\04\0\0ŒG\0\0\b\0\0Â\0\0gJ\0\0)\0\0":\0\0tF\0\0^\b\0\0“\0\0æF\0\0»:\0\0ðH\0\0¹3\0\0ga\0\0]/\0\0ÏH\0\0S\0\0ýQ\0\0¿\b\0\0¸4\0\0x\n\0\0ô\0\0\v\0\0:\0\0×U\0\0»/\0\0€\0\0o;\0\0;\0\0Ä<\0\0ç3\0\0k2\0\0´F\0\0Á8\0\0É4\0\0‰\n\0\0O\b\0\0Ê3\0\0„\0\0:\0\01\0\0h4\0\0bF\0\0y\b\0\0®\0\0G\0\0g\n\0\0jL\0\0A4\0\0c3\0\0³`\0\01\0\0ºK\0\0G\0\0ÈS\0\x002M\0\0{4\0\0wG\0\04\0\0RJ\0\0BU\0\0¢F\0\0Ö6\0\0ßI\0\0“2\0\0ßH\0\0¬\0\0bQ\0\0?E\0\0x`\0\0ÎN\0\x009V\0\0êS\0\0êQ\0\0P4\0\0zJ\0\0WU\0\0±-\0\0^B\0\0ú\v\0\x009:\0\0J6\0\0öF\0\0ŽM\0\0ƒV\0\0 0\0\0BG\0\0M0\0\0<1\0\0/0\0\0¡4\0\07\0\0-a\0\0\0\0…F\0\0ŸG\0\0 \b\0\0Õ\0\0<\n\0\04\0\x003G\0\0ÿ4\0\0\\9\0\0M\0\0F/\0\0\t!\0J\0\0I\0\0ð\0\0I\0\0ŸN\0\0£\n\0\0–3\0\0\0°Á\0AÞ¦\n\v@\0‘\0”\0\0\0\0\0\0\0\0\0\0@\0Až§\n\vR@\0\0\0\0\0\0R@\0\0\0\0\0\0\0\0i\0\0j\0A¤¨\n\vKÓ0\0\0\0\0\0¨“\0•\0\0\0\0NÈ\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•\0A”©\n\vKÃ0\0\0\0\0\0\0\0\0\x000•\0\0\0\0Í0\0\0\0\0\0\0\0\0\x000•\0\0\0\0¿0\0\0\0\0\0\0\0\0\0h•\0\0\0\0¾0\0\0\0\0\0\0\0\0\0h•\0Aô©\n\v\b\0\0\0ÿÿÿÿ\0\0\0\0\0\0\0\0k\0A‘ª\n\v Á\0A¨ª\n\v\0AÞª\n\vR@\0\0\0\0\0\0R@\0\0\0\0A–«\n\vR@\0\0\0\0\0\0R@l\0\0\0\0\0\0m\0AØ«\n\v\nn\0\0\0\0\0\0o\0Aø«\n\vp\0\0\0\0\0\0q\0\0r\0\0s\0\0t\0\0u\0A¤¬\n\v½9\0\0\0\0\0 •\0x–\0AÔ¬\n\v³9\0\0\0\0\0\0\0\0\0˜–\0Aù¬\n\v\0\0A†­\n\v\v@\0\0\0\0\0\0\0\0\0AÆ­\n\vX@\0\0\0\0\0\0X@\0\0\0\0\0\0\0\0v\0\0w\0Aè­\n\vx\0\0y\0A¨®\n\vz\0\0\0\0\0\0{\0\0|\0\0}\0\0~\0\0\0AÔ®\n\v…Z\0\0ÿÿÿÿЖ\0¨—\0A„¯\n\vZ\0\0ÿÿÿÿ\0\0\0\0ȗ\0A¶¯\n\v@\0Aö¯\n\v0R@\0\0\0\0\0\0R@€\0\0\0\0\0\0\0\0‚\0\0ƒ\0\0„\0\0…\0\0†\0\0‡\0\0ˆ\0A¸°\n\v‰\0\0Š\0\0‹\0\0Œ\0Aذ\n\v\0\0\0\0\0\0Ž\0\0\0\0\0\0‘\0\0’\0A„±\n\vŸ\v\0\0\0\0\0\0˜\0Ț\0A´±\n\v›\v\0\0\0\0\0\0\0\0\0èš\0Aà±\n\vìÐK\0\x003Z\0\0×:\0\0½G\0\x009\0\0œ\0\0S\0\0ÕC\0\0ëª\0\0^0\0\0ÃF\0\0ë\0\0Œ\0\0\0\0Ñ8\0\0ÒF\0\0æ4\0\0>0\0\0ö3\0\0-4\0\0ÚS\0\0?M\0\0ŒG\0\0\b\0\0Â\0\0ò4\0\0gJ\0\0+R\0\0~\0\0ÐI\0\0Ú\0\0»:\0\0Ò<\0\0¹3\0\0S\0\0ýQ\0\0‡\0\0ÃÉ\0\0‡\0\0µÉ\0\0ô†\0\0ŸÉ\0\0æ†\0\0‚É\0\0؆\0\0tÉ\0\0ʆ\0\0fÉ\0\0¼†\0\0àÈ\0\0®†\0\0ÅÈ\0\0›†\0\0²È\0\0ˆ†\0\0¸4\0\0€\0\0x\n\0\0Õ3\0\0×U\0\0o;\0\0´F\0\0gM\0\0G\0\0R\0\0A4\0\0³`\0\0ªN\0\01\0\0ºK\0\0G\0\0¢3\0\0ÂQ\0\0ÈS\0\0{4\0\0wG\0\04\0\0RJ\0\0BU\0\0 R\0\0tM\0\0¶a\0\0¢F\0\0¬\0\0TF\0\0G\0\0+:\0\0F\0\0ë4\0\0S\0\0ÎN\0\x009V\0\0êS\0\0P4\0\x009:\0\0J6\0\0k\0\0ƒV\0\0ZG\0\0<1\0\0\0\0¡4\0\0>Z\0\0-a\0\0\0\0…F\0\0ŸG\0\0÷9\0\04\0\x003G\0\0M\0\0ÿ4\0\0M\0\0J\0\0:0\0\0bM\0\0I\0\0[U\0\0ð\0\0I\0\0£\n\0\0–3\0\0@ >\0AÖµ\n\v@à˜\0z\0\0\0\0\0\0\0\0\0\0\0\0A–¶\n\vÍR@\0\0\0\0\0\0R@”\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\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\0\0\0\0 ›\0\0\0\0\0\0\0\0A\0\0\0\0\0$›\0\0\0\0\0\0\0\x000A\0\0\0\0\0$›\0\0\0\0\0\0\0\0\'A\0\0\0\0\0$›\0\0\0\0\0\0\0\x008A\0\0\0\0\0$›\0\0\0\0\0\0\0\0A\0\0\0\0\0$›\0\0\0\0\0\0\0\0[7\0\0\0\0\0(›\0\0\0\0\0\0\0\0n7\0\0\0\0\0(›\0\0\0\0\0\0\0\0d7\0\0\0\0\0(›\0\0\0\0\0\0\0\0w7\0\0\0\0\0(›\0\0\0\0\0\0\0\0R7\0\0\0\0\0(›\0\0\0\0\0\0\0\0h\0\0\0\0\0,›\0\0\0\0\0\0\0\0i\0\0\0\0\0,›\0\0\0\0\0\0\0\0v\0\0\0\0\x000›\0\0\0\0\0\n\0\0\0£.\0\0\0\0\x004›\0\0\0\0\0\v\0\0\0´.\0\0\0\0\x004›\0\0\0\0\0\f\0\0\0«.\0\0\0\0\x004›\0\0\0\0\0\f\0\0\0¼.\0\0\0\0\x004›\0\0\0\0\0\f\0\0\0›.\0\0\0\0\x004›\0\0\0\0\0\0\0\0W.\0\0\0\0\x004›\0\0\0\0\0\0\0\0V.\0\0\0\0\x004›\0\0\0\0\0\r\0\0\0“.\0\0\0\0\x004›\0\0\0\0\0\0\0\0f\0\0\0\0\x004›\0\0\0\0\0\0\0\0w\0\0\0\0\x004›\0\0\0\0\0\0\0\0n\0\0\0\0\x004›\0\0\0\0\0\0\0\0\0\0\0\0\x004›\0\0\0\0\0\0\0\0^\0\0\0\0\x004›\0\0\0\0\0\t\0\0\0;\0\0\0\0\x004›\0\0\0\0\0\t\0\0\0:\0\0\0\0\x004›\0\0\0\0\0\b\0\0\0V\0\0\0\0\x004›\0Aì»\n\v¿Ò\0\0\0\0\x008›\0\0\0\0\0\0\0\0å\0\0\0\0\x008›\0\0\0\0\0\0\0\0Û\0\0\0\0\x008›\0\0\0\0\0\0\0\0î\0\0\0\0\x008›\0\0\0\0\0\0\0\0É\0\0\0\0\x008›\0\0\0\0\0\0\0\0¸\0\0\0\0\x008›\0\0\0\0\0\0\0\0·\0\0\0\0\x008›\0\0\0\0\0\0\0\0À\0\0\0\0\x008›\0\0\0\0\0\0\0\0Ó>\0\0\0\0\0 ›\0\0\0\0\0\0\0\0¹9\0\0\0\0\0<›\0Aн\n\v—\0\0\0€‰\0\0\0\0\0Œ\0\0\0\0P\0\0\0\0 \0\0\0\0À\0\0\0\0”\0\0\0\0P–\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\0\0 ”\0\0\0\0\0 –\0\0\0\0\0P—\0\0\0\0\0€˜\0\0\0\0@›\0Að¾\n\v\bK\0\0О\0\0\0@\0\0¸\0A¿\n\vˆL\0\0 2\0\0§P\0\0¾\t\0\0ã9\0A°¿\n\v\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0¡\0AÔ¿\n\v¢\0Aà¿\n\v£\0Aì¿\n\v)\b\0\0\0\0\0\0ÿÿÿÿ\0\0\0\0\0\0\0\0¨\0\0\0(\0\b\0\0\0\0\0\0\0A À\n\v\r©\0\0\b\0\0\0\0\0\0\0A¸À\n\v\tª\0\0\b\0\0\0\b\0AÌÀ\n\v\r®\0\0¯\0\0\b\0\0\0\0AäÀ\n\v°\0\0±\0\0´\0\0µ\0\0\0\0\0\0½\0\0¾\0\0\0A”Á\n\vƒ\0\0\0\0\0\0x \0€ \0AÀÁ\n\v\0\0\0 \0AÐÁ\n\v\r‹\f\0\0À \0\b\0\0\0\0AìÁ\n\vŽÆ\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Ôl\0\0%\0ül\0%\0 ¡\0\0\0\0\0P¡\0Ò\0\0Ó\0\0Ô\0\0Õ\0\0Ö\0\0ül\0%\x004l\0\b\0\0\x000\0\0\0\0\0\0\0â\0\0\n\0\0\0ã\0\0ä\0\0å\0A„Ã\n\vÓ\b\0\0\0\f\0\0\0è\0\0\0\0\0\0é\0\0<\0\0\0\0\0\0\x00333333Ó?\0\0\0\0\0\0ø?\b\0\0\0\0\0\0\0\0\0\0í\0\0\n\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\0\0\0\0ò\0\0\0\0\0\0M/\0\0\0\0\0\0È¡\0P¸\0\0\0\0..\0\0\0\0\0\0С\0P¸\0\0\0\0-.\0\0\0\0\0\0Ø¡\0P¸\0\0\0\0;\0\0\0\0\0\0à¡\0P¸\0\0\0\0\v0\0\0\0\0\0\0è¡\0P¸\0\0\0\0À9\0\0\0\0\0\0ð¡\0P¸\0\0\0\0‰O\0\0\0\0\0\0ø¡\0P¸\0\0\0\0-\0\0\0\0\0\0\0¢\0P¸\0\0\0\0K¸\0\0\0\0\0\0\0¢\0P¸\0\b\0\0\0ÿ©\0\0\0\0\0\0\b¢\0P¸\0AðÅ\n\v\0\0\0¢\0A€Æ\n\v–\f\0\0ð¢\0AÆ\n\vç\0\0pŸ\0¥\0\0Р\0Å\0\0\0£\0A¶Æ\n\vmæìÞ\0\v\0\0\0\0 \0\0\0\0\0\0\0AÔÆ\n\v\0AìÆ\n\v\v\0\0\0\0^º\0A„Ç\n\v\0A”Ç\n\v\bÿÿÿÿÿÿÿÿ\0AØÇ\n\v\tH£\0\0\0\0\0\t\0AìÇ\n\v\0A€È\n\v\0\0\0\0\0\0\0\0hº\0\0\0A¬È\n\vÿÿÿÿ\0AðÈ\n\v\0AüÈ\n\v\0A”É\n\v\0\0\b\0\0x¾\0\0\0A¬É\n\v\0A¼É\n\vÿÿÿÿ\n\0A€Ê\n\v$p¤\0|¸\0`Ì\0%m/%d/%y\0\0\0\b%H:%M:%S\0\0\0\b')}async function g(A,v,r){return async function(A,v){try{var r=await async function(A){return A}(A);return await WebAssembly.instantiate(r,v)}catch(A){e(`failed to asynchronously prepare wasm: ${A}`),p(A)}}(v,r)}class q{name="ExitStatus";constructor(A){this.message=`Program terminated with exit(${A})`,this.status=A}}var $=()=>xA(),B=new TextDecoder,G=(A,v,r,j)=>{var t=v+r;if(j)return t;for(;A[v]&&!(v>=t);)++v;return v},h=(A,v,r)=>{if(!A)return"";var j=G(D,A,v,r);return B.decode(D.subarray(A,j))};class m{constructor(A){this.excPtr=A,this.ptr=A-24}set_type(A){d[this.ptr+4>>2]=A}get_type(){return d[this.ptr+4>>2]}set_destructor(A){d[this.ptr+8>>2]=A}get_destructor(){return d[this.ptr+8>>2]}set_caught(A){A=A?1:0,l[this.ptr+12]=A}get_caught(){return 0!=l[this.ptr+12]}set_rethrown(A){A=A?1:0,l[this.ptr+13]=A}get_rethrown(){return 0!=l[this.ptr+13]}init(A,v){this.set_adjusted_ptr(0),this.set_type(A),this.set_destructor(v)}set_adjusted_ptr(A){d[this.ptr+16>>2]=A}get_adjusted_ptr(){return d[this.ptr+16>>2]}}var y={isAbs:A=>"/"===A.charAt(0),splitPath:A=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(A).slice(1),normalizeArray:(A,v)=>{for(var r=0,j=A.length-1;j>=0;j--){var t=A[j];"."===t?A.splice(j,1):".."===t?(A.splice(j,1),r++):r&&(A.splice(j,1),r--)}if(v)for(;r;r--)A.unshift("..");return A},normalize:A=>{var v=y.isAbs(A),r="/"===A.slice(-1);return(A=y.normalizeArray(A.split("/").filter(A=>!!A),!v).join("/"))||v||(A="."),A&&r&&(A+="/"),(v?"/":"")+A},dirname:A=>{var v=y.splitPath(A),r=v[0],j=v[1];return r||j?(j&&(j=j.slice(0,-1)),r+j):"."},basename:A=>A&&A.match(/([^\/]+|\/)\/*$/)[1],join:(...A)=>y.normalize(A.join("/")),join2:(A,v)=>y.normalize(A+"/"+v)},_=A=>(_=A=>(crypto.getRandomValues(A),0))(A),H={resolve:(...A)=>{for(var v="",r=!1,j=A.length-1;j>=-1&&!r;j--){var t=j>=0?A[j]:U.cwd();if("string"!=typeof t)throw new TypeError("Arguments to path.resolve must be strings");if(!t)return"";v=t+"/"+v,r=y.isAbs(t)}return(r?"/":"")+(v=y.normalizeArray(v.split("/").filter(A=>!!A),!r).join("/"))||"."},relative:(A,v)=>{function r(A){for(var v=0;v=0&&""===A[r];r--);return v>r?[]:A.slice(v,r-v+1)}A=H.resolve(A).slice(1),v=H.resolve(v).slice(1);for(var j=r(A.split("/")),t=r(v.split("/")),b=Math.min(j.length,t.length),f=b,n=0;n{var t=G(A,v,r,j);return B.decode(A.buffer?A.subarray(v,t):new Uint8Array(A.slice(v,t)))},I=[],L=A=>{for(var v=0,r=0;r=55296&&j<=57343?(v+=4,++r):v+=3}return v},J=(A,v,r,j)=>{if(!(j>0))return 0;for(var t=r,b=r+j-1,f=0;f=b)break;v[r++]=n}else if(n<=2047){if(r+1>=b)break;v[r++]=192|n>>6,v[r++]=128|63&n}else if(n<=65535){if(r+2>=b)break;v[r++]=224|n>>12,v[r++]=128|n>>6&63,v[r++]=128|63&n}else{if(r+3>=b)break;v[r++]=240|n>>18,v[r++]=128|n>>12&63,v[r++]=128|n>>6&63,v[r++]=128|63&n,f++}}return v[r]=0,r-t},P=(A,v,r)=>{var j=r>0?r:L(A)+1,t=new Array(j),b=J(A,t,0,t.length);return v&&(t.length=b),t},M={ttys:[],init(){},shutdown(){},register(A,v){M.ttys[A]={input:[],output:[],ops:v},U.registerDevice(A,M.stream_ops)},stream_ops:{open(A){var v=M.ttys[A.node.rdev];if(!v)throw new U.ErrnoError(43);A.tty=v,A.seekable=!1},close(A){A.tty.ops.fsync(A.tty)},fsync(A){A.tty.ops.fsync(A.tty)},read(A,v,r,j,t){if(!A.tty||!A.tty.ops.get_char)throw new U.ErrnoError(60);for(var b=0,f=0;f(()=>{if(!I.length){var A=null;if(globalThis.window?.prompt&&null!==(A=window.prompt("Input: "))&&(A+="\n"),!A)return null;I=P(A,!0)}return I.shift()})(),put_char(A,v){null===v||10===v?(n(w(A.output)),A.output=[]):0!=v&&A.output.push(v)},fsync(A){A.output?.length>0&&(n(w(A.output)),A.output=[])},ioctl_tcgets:A=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(A,v,r)=>0,ioctl_tiocgwinsz:A=>[24,80]},default_tty1_ops:{put_char(A,v){null===v||10===v?(e(w(A.output)),A.output=[]):0!=v&&A.output.push(v)},fsync(A){A.output?.length>0&&(e(w(A.output)),A.output=[])}}},N=(A,v)=>Math.ceil(A/v)*v,T=A=>{A=N(A,65536);var v=nA(65536,A);return v&&((A,v)=>{D.fill(0,A,A+v)})(v,A),v},O={ops_table:null,mount:A=>O.createNode(null,"/",16895,0),createNode(A,v,r,j){if(U.isBlkdev(r)||U.isFIFO(r))throw new U.ErrnoError(63);O.ops_table||={dir:{node:{getattr:O.node_ops.getattr,setattr:O.node_ops.setattr,lookup:O.node_ops.lookup,mknod:O.node_ops.mknod,rename:O.node_ops.rename,unlink:O.node_ops.unlink,rmdir:O.node_ops.rmdir,readdir:O.node_ops.readdir,symlink:O.node_ops.symlink},stream:{llseek:O.stream_ops.llseek}},file:{node:{getattr:O.node_ops.getattr,setattr:O.node_ops.setattr},stream:{llseek:O.stream_ops.llseek,read:O.stream_ops.read,write:O.stream_ops.write,mmap:O.stream_ops.mmap,msync:O.stream_ops.msync}},link:{node:{getattr:O.node_ops.getattr,setattr:O.node_ops.setattr,readlink:O.node_ops.readlink},stream:{}},chrdev:{node:{getattr:O.node_ops.getattr,setattr:O.node_ops.setattr},stream:U.chrdev_stream_ops}};var t=U.createNode(A,v,r,j);return U.isDir(t.mode)?(t.node_ops=O.ops_table.dir.node,t.stream_ops=O.ops_table.dir.stream,t.contents={}):U.isFile(t.mode)?(t.node_ops=O.ops_table.file.node,t.stream_ops=O.ops_table.file.stream,t.usedBytes=0,t.contents=O.emptyFileContents??=new Uint8Array(0)):U.isLink(t.mode)?(t.node_ops=O.ops_table.link.node,t.stream_ops=O.ops_table.link.stream):U.isChrdev(t.mode)&&(t.node_ops=O.ops_table.chrdev.node,t.stream_ops=O.ops_table.chrdev.stream),t.atime=t.mtime=t.ctime=Date.now(),A&&(A.contents[v]=t,A.atime=A.mtime=A.ctime=t.atime),t},getFileDataAsTypedArray:A=>A.contents.subarray(0,A.usedBytes),expandFileStorage(A,v){var r=A.contents.length;if(!(r>=v)){v=Math.max(v,r*(r<1048576?2:1.125)>>>0),r&&(v=Math.max(v,256));var j=O.getFileDataAsTypedArray(A);A.contents=new Uint8Array(v),A.contents.set(j)}},resizeFileStorage(A,v){if(A.usedBytes!=v){var r=A.contents;A.contents=new Uint8Array(v),A.contents.set(r.subarray(0,Math.min(v,A.usedBytes))),A.usedBytes=v}},node_ops:{getattr(A){var v={};return v.dev=U.isChrdev(A.mode)?A.id:1,v.ino=A.id,v.mode=A.mode,v.nlink=1,v.uid=0,v.gid=0,v.rdev=A.rdev,U.isDir(A.mode)?v.size=4096:U.isFile(A.mode)?v.size=A.usedBytes:U.isLink(A.mode)?v.size=A.link.length:v.size=0,v.atime=new Date(A.atime),v.mtime=new Date(A.mtime),v.ctime=new Date(A.ctime),v.blksize=4096,v.blocks=Math.ceil(v.size/v.blksize),v},setattr(A,v){for(const r of["mode","atime","mtime","ctime"])null!=v[r]&&(A[r]=v[r]);void 0!==v.size&&O.resizeFileStorage(A,v.size)},lookup(A,v){throw O.doesNotExistError||(O.doesNotExistError=new U.ErrnoError(44),O.doesNotExistError.stack=""),O.doesNotExistError},mknod:(A,v,r,j)=>O.createNode(A,v,r,j),rename(A,v,r){var j;try{j=U.lookupNode(v,r)}catch(A){}if(j){if(U.isDir(A.mode))for(var t in j.contents)throw new U.ErrnoError(55);U.hashRemoveNode(j)}delete A.parent.contents[A.name],v.contents[r]=A,A.name=r,v.ctime=v.mtime=A.parent.ctime=A.parent.mtime=Date.now()},unlink(A,v){delete A.contents[v],A.ctime=A.mtime=Date.now()},rmdir(A,v){var r=U.lookupNode(A,v);for(var j in r.contents)throw new U.ErrnoError(55);delete A.contents[v],A.ctime=A.mtime=Date.now()},readdir:A=>[".","..",...Object.keys(A.contents)],symlink(A,v,r){var j=O.createNode(A,v,41471,0);return j.link=r,j},readlink(A){if(!U.isLink(A.mode))throw new U.ErrnoError(28);return A.link}},stream_ops:{read(A,v,r,j,t){var b=A.node.contents;if(t>=A.node.usedBytes)return 0;var f=Math.min(A.node.usedBytes-t,j);return v.set(b.subarray(t,t+f),r),f},write(A,v,r,j,t,b){if(v.buffer===l.buffer&&(b=!1),!j)return 0;var f=A.node;return f.mtime=f.ctime=Date.now(),b?(f.contents=v.subarray(r,r+j),f.usedBytes=j):0===f.usedBytes&&0===t?(f.contents=v.slice(r,r+j),f.usedBytes=j):(O.expandFileStorage(f,t+j),f.contents.set(v.subarray(r,r+j),t),f.usedBytes=Math.max(f.usedBytes,t+j)),j},llseek(A,v,r){var j=v;if(1===r?j+=A.position:2===r&&U.isFile(A.node.mode)&&(j+=A.node.usedBytes),j<0)throw new U.ErrnoError(28);return j},mmap(A,v,r,j,t){if(!U.isFile(A.node.mode))throw new U.ErrnoError(43);var b,f,n=A.node.contents;if(2&t||n.buffer!==l.buffer){if(f=!0,!(b=T(v)))throw new U.ErrnoError(48);n&&((r>0||r+v(O.stream_ops.write(A,v,0,j,r,!1),0)}},S=A=>("string"==typeof A&&(A=P(A,!0)),A.subarray||(A=new Uint8Array(A)),A),X=(A,v)=>{var r=0;return A&&(r|=365),v&&(r|=146),r},R=0,K=null,z=[],C=async(A,v,r,t,b,f,n,e)=>{var E=v?H.resolve(y.join2(A,v)):A;R++;try{var x=r;"string"==typeof r&&(x=await(async A=>{var v=await j(A);return new Uint8Array(v)})(r)),x=await(async(A,v)=>{for(var r of("undefined"!=typeof Browser&&Browser.init(),z))if(r.canHandle(v))return r.handle(A,v);return A})(x,E),e?.(),f||((...A)=>{U.createDataFile(...A)})(A,v,x,t,b,n)}finally{(()=>{if(0==--R&&K){var A=K;K=null,A()}})()}},U={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,ErrnoError:class{name="ErrnoError";constructor(A){this.errno=A}},FSStream:class{shared={};get object(){return this.node}set object(A){this.node=A}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return!!(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(A){this.shared.flags=A}get position(){return this.shared.position}set position(A){this.shared.position=A}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(A,v,r,j){A||(A=this),this.parent=A,this.mount=A.mount,this.id=U.nextInode++,this.name=v,this.mode=r,this.rdev=j,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(A){A?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(A){A?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return U.isDir(this.mode)}get isDevice(){return U.isChrdev(this.mode)}},lookupPath(A,v={}){if(!A)throw new U.ErrnoError(44);v.follow_mount??=!0,y.isAbs(A)||(A=U.cwd()+"/"+A);A:for(var r=0;r<40;r++){for(var j=A.split("/").filter(A=>!!A),t=U.root,b="/",f=0;f>>0)%U.nameTable.length},hashAddNode(A){var v=U.hashName(A.parent.id,A.name);A.name_next=U.nameTable[v],U.nameTable[v]=A},hashRemoveNode(A){var v=U.hashName(A.parent.id,A.name);if(U.nameTable[v]===A)U.nameTable[v]=A.name_next;else for(var r=U.nameTable[v];r;){if(r.name_next===A){r.name_next=A.name_next;break}r=r.name_next}},lookupNode(A,v){var r=U.mayLookup(A);if(r)throw new U.ErrnoError(r);for(var j=U.hashName(A.id,v),t=U.nameTable[j];t;t=t.name_next){var b=t.name;if(t.parent.id===A.id&&b===v)return t}return U.lookup(A,v)},createNode(A,v,r,j){var t=new U.FSNode(A,v,r,j);return U.hashAddNode(t),t},destroyNode(A){U.hashRemoveNode(A)},isRoot:A=>A===A.parent,isMountpoint:A=>!!A.mounted,isFile:A=>32768==(61440&A),isDir:A=>16384==(61440&A),isLink:A=>40960==(61440&A),isChrdev:A=>8192==(61440&A),isBlkdev:A=>24576==(61440&A),isFIFO:A=>4096==(61440&A),isSocket:A=>!(49152&~A),flagsToPermissionString(A){var v=["r","w","rw"][3&A];return 512&A&&(v+="w"),v},nodePermissions:(A,v)=>U.ignorePermissions||(!v.includes("r")||292&A.mode)&&(!v.includes("w")||146&A.mode)&&(!v.includes("x")||73&A.mode)?0:2,mayLookup(A){if(!U.isDir(A.mode))return 54;var v=U.nodePermissions(A,"x");return v||(A.node_ops.lookup?0:2)},mayCreate(A,v){if(!U.isDir(A.mode))return 54;try{U.lookupNode(A,v);return 20}catch(A){}return U.nodePermissions(A,"wx")},mayDelete(A,v,r){var j;try{j=U.lookupNode(A,v)}catch(A){return A.errno}var t=U.nodePermissions(A,"wx");if(t)return t;if(r){if(!U.isDir(j.mode))return 54;if(U.isRoot(j)||U.getPath(j)===U.cwd())return 10}else if(U.isDir(j.mode))return 31;return 0},mayOpen(A,v){if(!A)return 44;if(U.isLink(A.mode))return 32;var r=U.flagsToPermissionString(v);return U.isDir(A.mode)&&("r"!==r||576&v)?31:U.nodePermissions(A,r)},checkOpExists(A,v){if(!A)throw new U.ErrnoError(v);return A},MAX_OPEN_FDS:4096,nextfd(){for(var A=0;A<=U.MAX_OPEN_FDS;A++)if(!U.streams[A])return A;throw new U.ErrnoError(33)},getStreamChecked(A){var v=U.getStream(A);if(!v)throw new U.ErrnoError(8);return v},getStream:A=>U.streams[A],createStream:(A,v=-1)=>(A=Object.assign(new U.FSStream,A),-1==v&&(v=U.nextfd()),A.fd=v,U.streams[v]=A,A),closeStream(A){U.streams[A]=null},dupStream(A,v=-1){var r=U.createStream(A,v);return r.stream_ops?.dup?.(r),r},doSetAttr(A,v,r){var j=A?.stream_ops.setattr,t=j?A:v;j??=v.node_ops.setattr,U.checkOpExists(j,63),j(t,r)},chrdev_stream_ops:{open(A){var v=U.getDevice(A.node.rdev);A.stream_ops=v.stream_ops,A.stream_ops.open?.(A)},llseek(){throw new U.ErrnoError(70)}},major:A=>A>>8,minor:A=>255&A,makedev:(A,v)=>A<<8|v,registerDevice(A,v){U.devices[A]={stream_ops:v}},getDevice:A=>U.devices[A],getMounts(A){for(var v=[],r=[A];r.length;){var j=r.pop();v.push(j),r.push(...j.mounts)}return v},syncfs(A,v){"function"==typeof A&&(v=A,A=!1),U.syncFSRequests++,U.syncFSRequests>1&&e(`warning: ${U.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=U.getMounts(U.root.mount),j=0;function t(A){return U.syncFSRequests--,v(A)}function b(A){if(A)return b.errored?void 0:(b.errored=!0,t(A));++j>=r.length&&t(null)}for(var f of r)f.type.syncfs?f.type.syncfs(f,A,b):b(null)},mount(A,v,r){var j,t="/"===r,b=!r;if(t&&U.root)throw new U.ErrnoError(10);if(!t&&!b){var f=U.lookupPath(r,{follow_mount:!1});if(r=f.path,j=f.node,U.isMountpoint(j))throw new U.ErrnoError(10);if(!U.isDir(j.mode))throw new U.ErrnoError(54)}var n={type:A,opts:v,mountpoint:r,mounts:[]},e=A.mount(n);return e.mount=n,n.root=e,t?U.root=e:j&&(j.mounted=n,j.mount&&j.mount.mounts.push(n)),e},unmount(A){var v=U.lookupPath(A,{follow_mount:!1});if(!U.isMountpoint(v.node))throw new U.ErrnoError(28);var r=v.node,j=r.mounted,t=U.getMounts(j);for(var[b,f]of Object.entries(U.nameTable))for(;f;){var n=f.name_next;t.includes(f.mount)&&U.destroyNode(f),f=n}r.mounted=null;var e=r.mount.mounts.indexOf(j);r.mount.mounts.splice(e,1)},lookup:(A,v)=>A.node_ops.lookup(A,v),mknod(A,v,r){var j=U.lookupPath(A,{parent:!0}).node,t=y.basename(A);if(!t)throw new U.ErrnoError(28);if("."===t||".."===t)throw new U.ErrnoError(20);var b=U.mayCreate(j,t);if(b)throw new U.ErrnoError(b);if(!j.node_ops.mknod)throw new U.ErrnoError(63);return j.node_ops.mknod(j,t,v,r)},statfs:A=>U.statfsNode(U.lookupPath(A,{follow:!0}).node),statfsStream:A=>U.statfsNode(A.node),statfsNode(A){var v={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:U.nextInode,ffree:U.nextInode-1,fsid:42,flags:2,namelen:255};return A.node_ops.statfs&&Object.assign(v,A.node_ops.statfs(A.mount.opts.root)),v},create:(A,v=438)=>(v&=4095,v|=32768,U.mknod(A,v,0)),mkdir:(A,v=511)=>(v&=1023,v|=16384,U.mknod(A,v,0)),mkdirTree(A,v){var r=A.split("/"),j="";for(var t of r)if(t){(j||y.isAbs(A))&&(j+="/"),j+=t;try{U.mkdir(j,v)}catch(A){if(20!=A.errno)throw A}}},mkdev:(A,v,r)=>(void 0===r&&(r=v,v=438),v|=8192,U.mknod(A,v,r)),symlink(A,v){if(!H.resolve(A))throw new U.ErrnoError(44);var r=U.lookupPath(v,{parent:!0}).node;if(!r)throw new U.ErrnoError(44);var j=y.basename(v),t=U.mayCreate(r,j);if(t)throw new U.ErrnoError(t);if(!r.node_ops.symlink)throw new U.ErrnoError(63);return r.node_ops.symlink(r,j,A)},rename(A,v){var r,j,t=y.dirname(A),b=y.dirname(v),f=y.basename(A),n=y.basename(v);if(r=U.lookupPath(A,{parent:!0}).node,j=U.lookupPath(v,{parent:!0}).node,!r||!j)throw new U.ErrnoError(44);if(r.mount!==j.mount)throw new U.ErrnoError(75);var e,E=U.lookupNode(r,f),x=H.relative(A,b);if("."!==x.charAt(0))throw new U.ErrnoError(28);if("."!==(x=H.relative(v,t)).charAt(0))throw new U.ErrnoError(55);try{e=U.lookupNode(j,n)}catch(A){}if(E!==e){var a=U.isDir(E.mode),s=U.mayDelete(r,f,a);if(s)throw new U.ErrnoError(s);if(s=e?U.mayDelete(j,n,a):U.mayCreate(j,n))throw new U.ErrnoError(s);if(!r.node_ops.rename)throw new U.ErrnoError(63);if(U.isMountpoint(E)||e&&U.isMountpoint(e))throw new U.ErrnoError(10);if(j!==r&&(s=U.nodePermissions(r,"w")))throw new U.ErrnoError(s);U.hashRemoveNode(E);try{r.node_ops.rename(E,j,n),E.parent=j}catch(A){throw A}finally{U.hashAddNode(E)}}},rmdir(A){var v=U.lookupPath(A,{parent:!0}).node,r=y.basename(A),j=U.lookupNode(v,r),t=U.mayDelete(v,r,!0);if(t)throw new U.ErrnoError(t);if(!v.node_ops.rmdir)throw new U.ErrnoError(63);if(U.isMountpoint(j))throw new U.ErrnoError(10);v.node_ops.rmdir(v,r),U.destroyNode(j)},readdir(A){var v=U.lookupPath(A,{follow:!0}).node;return U.checkOpExists(v.node_ops.readdir,54)(v)},unlink(A){var v=U.lookupPath(A,{parent:!0}).node;if(!v)throw new U.ErrnoError(44);var r=y.basename(A),j=U.lookupNode(v,r),t=U.mayDelete(v,r,!1);if(t)throw new U.ErrnoError(t);if(!v.node_ops.unlink)throw new U.ErrnoError(63);if(U.isMountpoint(j))throw new U.ErrnoError(10);v.node_ops.unlink(v,r),U.destroyNode(j)},readlink(A){var v=U.lookupPath(A).node;if(!v)throw new U.ErrnoError(44);if(!v.node_ops.readlink)throw new U.ErrnoError(28);return v.node_ops.readlink(v)},stat(A,v){var r=U.lookupPath(A,{follow:!v}).node;return U.checkOpExists(r.node_ops.getattr,63)(r)},fstat(A){var v=U.getStreamChecked(A),r=v.node,j=v.stream_ops.getattr,t=j?v:r;return j??=r.node_ops.getattr,U.checkOpExists(j,63),j(t)},lstat:A=>U.stat(A,!0),doChmod(A,v,r,j){U.doSetAttr(A,v,{mode:4095&r|-4096&v.mode,ctime:Date.now(),dontFollow:j})},chmod(A,v,r){var j;"string"==typeof A?j=U.lookupPath(A,{follow:!r}).node:j=A;U.doChmod(null,j,v,r)},lchmod(A,v){U.chmod(A,v,!0)},fchmod(A,v){var r=U.getStreamChecked(A);U.doChmod(r,r.node,v,!1)},doChown(A,v,r){U.doSetAttr(A,v,{timestamp:Date.now(),dontFollow:r})},chown(A,v,r,j){var t;"string"==typeof A?t=U.lookupPath(A,{follow:!j}).node:t=A;U.doChown(null,t,j)},lchown(A,v,r){U.chown(A,v,r,!0)},fchown(A,v,r){var j=U.getStreamChecked(A);U.doChown(j,j.node,!1)},doTruncate(A,v,r){if(U.isDir(v.mode))throw new U.ErrnoError(31);if(!U.isFile(v.mode))throw new U.ErrnoError(28);var j=U.nodePermissions(v,"w");if(j)throw new U.ErrnoError(j);U.doSetAttr(A,v,{size:r,timestamp:Date.now()})},truncate(A,v){if(v<0)throw new U.ErrnoError(28);var r;"string"==typeof A?r=U.lookupPath(A,{follow:!0}).node:r=A;U.doTruncate(null,r,v)},ftruncate(A,v){var r=U.getStreamChecked(A);if(v<0||!(2097155&r.flags))throw new U.ErrnoError(28);U.doTruncate(r,r.node,v)},utime(A,v,r){var j=U.lookupPath(A,{follow:!0}).node;U.checkOpExists(j.node_ops.setattr,63)(j,{atime:v,mtime:r})},open(A,v,r=438){if(""===A)throw new U.ErrnoError(44);var j,t;if(r=64&(v=(A=>{if("string"!=typeof A)return A;var v={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[A];if(void 0===v)throw new Error(`Unknown file open mode: ${A}`);return v})(v))?4095&r|32768:0,"object"==typeof A)j=A;else{t=A.endsWith("/");var b=U.lookupPath(A,{follow:!(131072&v),noent_okay:!0});j=b.node,A=b.path}var f=!1;if(64&v)if(j){if(128&v)throw new U.ErrnoError(20)}else{if(t)throw new U.ErrnoError(31);j=U.mknod(A,511|r,0),f=!0}if(!j)throw new U.ErrnoError(44);if(U.isChrdev(j.mode)&&(v&=-513),65536&v&&!U.isDir(j.mode))throw new U.ErrnoError(54);if(!f){var n=U.mayOpen(j,v);if(n)throw new U.ErrnoError(n)}512&v&&!f&&U.truncate(j,0),v&=-131713;var e=U.createStream({node:j,path:U.getPath(j),flags:v,seekable:!0,position:0,stream_ops:j.stream_ops,ungotten:[],error:!1});return e.stream_ops.open&&e.stream_ops.open(e),f&&U.chmod(j,511&r),e},close(A){if(U.isClosed(A))throw new U.ErrnoError(8);A.getdents&&(A.getdents=null);try{A.stream_ops.close&&A.stream_ops.close(A)}catch(A){throw A}finally{U.closeStream(A.fd)}A.fd=null},isClosed:A=>null===A.fd,llseek(A,v,r){if(U.isClosed(A))throw new U.ErrnoError(8);if(!A.seekable||!A.stream_ops.llseek)throw new U.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new U.ErrnoError(28);return A.position=A.stream_ops.llseek(A,v,r),A.ungotten=[],A.position},read(A,v,r,j,t){if(j<0||t<0)throw new U.ErrnoError(28);if(U.isClosed(A))throw new U.ErrnoError(8);if(1==(2097155&A.flags))throw new U.ErrnoError(8);if(U.isDir(A.node.mode))throw new U.ErrnoError(31);if(!A.stream_ops.read)throw new U.ErrnoError(28);var b=void 0!==t;if(b){if(!A.seekable)throw new U.ErrnoError(70)}else t=A.position;var f=A.stream_ops.read(A,v,r,j,t);return b||(A.position+=f),f},write(A,v,r,j,t,b){if(j<0||t<0)throw new U.ErrnoError(28);if(U.isClosed(A))throw new U.ErrnoError(8);if(!(2097155&A.flags))throw new U.ErrnoError(8);if(U.isDir(A.node.mode))throw new U.ErrnoError(31);if(!A.stream_ops.write)throw new U.ErrnoError(28);A.seekable&&1024&A.flags&&U.llseek(A,0,2);var f=void 0!==t;if(f){if(!A.seekable)throw new U.ErrnoError(70)}else t=A.position;var n=A.stream_ops.write(A,v,r,j,t,b);return f||(A.position+=n),n},mmap(A,v,r,j,t){if(2&j&&!(2&t)&&2!=(2097155&A.flags))throw new U.ErrnoError(2);if(1==(2097155&A.flags))throw new U.ErrnoError(2);if(!A.stream_ops.mmap)throw new U.ErrnoError(43);if(!v)throw new U.ErrnoError(28);return A.stream_ops.mmap(A,v,r,j,t)},msync:(A,v,r,j,t)=>A.stream_ops.msync?A.stream_ops.msync(A,v,r,j,t):0,ioctl(A,v,r){if(!A.stream_ops.ioctl)throw new U.ErrnoError(59);return A.stream_ops.ioctl(A,v,r)},readFile(A,v={}){v.flags=v.flags||0,v.encoding=v.encoding||"binary","utf8"!==v.encoding&&"binary"!==v.encoding&&p(`Invalid encoding type "${v.encoding}"`);var r=U.open(A,v.flags),j=U.stat(A).size,t=new Uint8Array(j);return U.read(r,t,0,j,0),"utf8"===v.encoding&&(t=w(t)),U.close(r),t},writeFile(A,v,r={}){r.flags=r.flags||577;var j=U.open(A,r.flags,r.mode);v=S(v),U.write(j,v,0,v.byteLength,void 0,r.canOwn),U.close(j)},cwd:()=>U.currentPath,chdir(A){var v=U.lookupPath(A,{follow:!0});if(null===v.node)throw new U.ErrnoError(44);if(!U.isDir(v.node.mode))throw new U.ErrnoError(54);var r=U.nodePermissions(v.node,"x");if(r)throw new U.ErrnoError(r);U.currentPath=v.path},createDefaultDirectories(){U.mkdir("/tmp"),U.mkdir("/home"),U.mkdir("/home/web_user")},createDefaultDevices(){U.mkdir("/dev"),U.registerDevice(U.makedev(1,3),{read:()=>0,write:(A,v,r,j,t)=>j,llseek:()=>0}),U.mkdev("/dev/null",U.makedev(1,3)),M.register(U.makedev(5,0),M.default_tty_ops),M.register(U.makedev(6,0),M.default_tty1_ops),U.mkdev("/dev/tty",U.makedev(5,0)),U.mkdev("/dev/tty1",U.makedev(6,0));var A=new Uint8Array(1024),v=0,r=()=>(0===v&&(_(A),v=A.byteLength),A[--v]);U.createDevice("/dev","random",r),U.createDevice("/dev","urandom",r),U.mkdir("/dev/shm"),U.mkdir("/dev/shm/tmp")},createSpecialDirectories(){U.mkdir("/proc");var A=U.mkdir("/proc/self");U.mkdir("/proc/self/fd"),U.mount({mount(){var v=U.createNode(A,"fd",16895,73);return v.stream_ops={llseek:O.stream_ops.llseek},v.node_ops={lookup(A,v){var r=+v,j=U.getStreamChecked(r),t={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>j.path},id:r+1};return t.parent=t,t},readdir:()=>Array.from(U.streams.entries()).filter(([A,v])=>v).map(([A,v])=>A.toString())},v}},{},"/proc/self/fd")},createStandardStreams(A,v,r){A?U.createDevice("/dev","stdin",A):U.symlink("/dev/tty","/dev/stdin"),v?U.createDevice("/dev","stdout",null,v):U.symlink("/dev/tty","/dev/stdout"),r?U.createDevice("/dev","stderr",null,r):U.symlink("/dev/tty1","/dev/stderr"),U.open("/dev/stdin",0),U.open("/dev/stdout",1),U.open("/dev/stderr",1)},staticInit(){U.nameTable=new Array(4096),U.mount(O,{},"/"),U.createDefaultDirectories(),U.createDefaultDevices(),U.createSpecialDirectories(),U.filesystems={MEMFS:O}},init(A,v,r){U.initialized=!0,U.createStandardStreams(A,v,r)},quit(){for(var A of(U.initialized=!1,U.streams))A&&U.close(A)},findObject(A,v){var r=U.analyzePath(A,v);return r.exists?r.object:null},analyzePath(A,v){try{A=(j=U.lookupPath(A,{follow:!v})).path}catch(A){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var j=U.lookupPath(A,{parent:!0});r.parentExists=!0,r.parentPath=j.path,r.parentObject=j.node,r.name=y.basename(A),j=U.lookupPath(A,{follow:!v}),r.exists=!0,r.path=j.path,r.object=j.node,r.name=j.node.name,r.isRoot="/"===j.path}catch(A){r.error=A.errno}return r},createPath(A,v,r,j){A="string"==typeof A?A:U.getPath(A);for(var t=v.split("/").reverse();t.length;){var b=t.pop();if(b){var f=y.join2(A,b);try{U.mkdir(f)}catch(A){if(20!=A.errno)throw A}A=f}}return f},createFile(A,v,r,j,t){var b=y.join2("string"==typeof A?A:U.getPath(A),v),f=X(j,t);return U.create(b,f)},createDataFile(A,v,r,j,t,b){var f=v;A&&(A="string"==typeof A?A:U.getPath(A),f=v?y.join2(A,v):A);var n=X(j,t),e=U.create(f,n);if(r){r=S(r),U.chmod(e,146|n);var E=U.open(e,577);U.write(E,r,0,r.length,0,b),U.close(E),U.chmod(e,n)}},createDevice(A,v,r,j){var t=y.join2("string"==typeof A?A:U.getPath(A),v),b=X(!!r,!!j);U.createDevice.major??=64;var f=U.makedev(U.createDevice.major++,0);return U.registerDevice(f,{open(A){A.seekable=!1},close(A){j?.buffer?.length&&j(10)},read(A,v,j,t,b){for(var f=0,n=0;nthis.length-1||A<0)){var v=A%this.chunkSize,r=A/this.chunkSize|0;return this.getter(r)[v]}}setDataGetter(A){this.getter=A}cacheLength(){var A=new XMLHttpRequest;A.open("HEAD",r,!1),A.send(null),A.status>=200&&A.status<300||304===A.status||p("Couldn't load "+r+". Status: "+A.status);var v,j=Number(A.getResponseHeader("Content-length")),t=(v=A.getResponseHeader("Accept-Ranges"))&&"bytes"===v,b=(v=A.getResponseHeader("Content-Encoding"))&&"gzip"===v,f=1048576;t||(f=j);var e=this;e.setDataGetter(A=>{var v=A*f,t=(A+1)*f-1;return t=Math.min(t,j-1),void 0===e.chunks[A]&&(e.chunks[A]=((A,v)=>{A>v&&p("invalid range ("+A+", "+v+") or no bytes requested!"),v>j-1&&p("only "+j+" bytes available! programmer error!");var t=new XMLHttpRequest;return t.open("GET",r,!1),j!==f&&t.setRequestHeader("Range","bytes="+A+"-"+v),t.responseType="arraybuffer",t.overrideMimeType&&t.overrideMimeType("text/plain; charset=x-user-defined"),t.send(null),t.status>=200&&t.status<300||304===t.status||p("Couldn't load "+r+". Status: "+t.status),void 0!==t.response?new Uint8Array(t.response||[]):P(t.responseText||"",!0)})(v,t)),void 0===e.chunks[A]&&p("doXHR failed!"),e.chunks[A]}),!b&&j||(f=j=1,j=this.getter(0).length,f=j,n("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=j,this._chunkSize=f,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(globalThis.XMLHttpRequest){p("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var f={isDevice:!1,contents:new b}}else f={isDevice:!1,url:r};var e=U.createFile(A,v,f,j,t);f.contents?e.contents=f.contents:f.url&&(e.contents=null,e.url=f.url),Object.defineProperties(e,{usedBytes:{get:function(){return this.contents.length}}});var E={};for(const[A,v]of Object.entries(e.stream_ops))E[A]=(...A)=>(U.forceLoadFile(e),v(...A));function x(A,v,r,j,t){var b=A.node.contents;if(t>=b.length)return 0;var f=Math.min(b.length-t,j);if(b.slice)for(var n=0;n(U.forceLoadFile(e),x(A,v,r,j,t)),E.mmap=(A,v,r,j,t)=>{U.forceLoadFile(e);var b=T(v);if(!b)throw new U.ErrnoError(48);return x(A,l,b,v,r),{ptr:b,allocated:!0}},e.stream_ops=E,e}},V={calculateAt(A,v,r){if(y.isAbs(v))return v;var j;-100===A?j=U.cwd():j=V.getStreamFromFD(A).path;if(0==v.length){if(!r)throw new U.ErrnoError(44);return j}return j+"/"+v},writeStat(A,v){d[A>>2]=v.dev,d[A+4>>2]=v.mode,d[A+8>>2]=v.nlink,d[A+12>>2]=v.uid,d[A+16>>2]=v.gid,d[A+20>>2]=v.rdev,o[A+24>>3]=BigInt(v.size),s[A+32>>2]=4096,s[A+36>>2]=v.blocks;var r=v.atime.getTime(),j=v.mtime.getTime(),t=v.ctime.getTime();return o[A+40>>3]=BigInt(Math.floor(r/1e3)),d[A+48>>2]=r%1e3*1e3*1e3,o[A+56>>3]=BigInt(Math.floor(j/1e3)),d[A+64>>2]=j%1e3*1e3*1e3,o[A+72>>3]=BigInt(Math.floor(t/1e3)),d[A+80>>2]=t%1e3*1e3*1e3,o[A+88>>3]=BigInt(v.ino),0},writeStatFs(A,v){d[A+4>>2]=v.bsize,d[A+60>>2]=v.bsize,o[A+8>>3]=BigInt(v.blocks),o[A+16>>3]=BigInt(v.bfree),o[A+24>>3]=BigInt(v.bavail),o[A+32>>3]=BigInt(v.files),o[A+40>>3]=BigInt(v.ffree),d[A+48>>2]=v.fsid,d[A+64>>2]=v.flags,d[A+56>>2]=v.namelen},doMsync(A,v,r,j,t){if(!U.isFile(v.node.mode))throw new U.ErrnoError(43);if(2&j)return 0;var b=D.slice(A,A+r);U.msync(v,b,t,r,j)},getStreamFromFD:A=>U.getStreamChecked(A),varargs:void 0,getStr:A=>h(A)};var Y=()=>{var A=s[+V.varargs>>2];return V.varargs+=4,A},Q=Y;var Z=[0,31,60,91,121,152,182,213,244,274,305,335],W=[0,31,59,90,120,151,181,212,243,273,304,334],AA=A=>A<-9007199254740992||A>9007199254740992?NaN:Number(A);var vA=(A,v,r)=>J(A,D,v,r),rA=()=>Date.now();var jA=A=>{var v=(A-aA.buffer.byteLength+65535)/65536|0;try{return aA.grow(v),c(),1}catch(A){}},tA={},bA=()=>{if(!bA.strings){var A={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:"./this.program"};for(var v in tA)void 0===tA[v]?delete A[v]:A[v]=tA[v];var r=[];for(var v in A)r.push(`${v}=${A[v]}`);bA.strings=r}return bA.strings},fA=(A,v)=>{((A,v)=>{throw v})(0,new q(A))};var nA,eA,EA,xA,aA,sA=A=>EA(A);U.createPreloadedFile=(A,v,r,j,t,b,f,n,e,E)=>{C(A,v,r,j,t,n,e,E).then(b).catch(f)},U.preloadFile=C,U.staticInit(),r.ccall=(A,v,j,t,b)=>{var f={string:A=>{var v=0;return null!=A&&0!==A&&(v=(A=>{var v=L(A)+1,r=sA(v);return vA(A,r,v),r})(A)),v},array:A=>{var v,r,j=sA(A.length);return v=A,r=j,l.set(v,r),j}};var n=(A=>r["_"+A])(A),e=[],E=0;if(t)for(var x=0;x>1];case"i32":return s[A>>2];case"i64":return o[A>>3];case"float":return k[A>>2];case"double":return i[A>>3];case"*":return d[A>>2];default:p(`invalid type for getValue: ${v}`)}},r.PATH=y,r.UTF8ToString=h,r.stringToUTF8=vA,r.lengthBytesUTF8=L,r.FS=U;var oA,lA={a:(A,v,r,j)=>p(`Assertion failed: ${h(A)}, at: `+[v?h(v):"unknown filename",r,j?h(j):"unknown function"]),b:(A,v,r)=>{new m(A).init(v,r),p()},x:function(A,v,r,j){try{if(v=V.getStr(v),v=V.calculateAt(A,v),-8&r)return-28;var t=U.lookupPath(v,{follow:!0}).node;if(!t)return-44;var b="";return 4&r&&(b+="r"),2&r&&(b+="w"),1&r&&(b+="x"),b&&U.nodePermissions(t,b)?-2:0}catch(A){if(void 0===U||"ErrnoError"!==A.name)throw A;return-A.errno}},f:function(A,v,r){V.varargs=r;try{var j=V.getStreamFromFD(A);switch(v){case 0:if((t=Y())<0)return-28;for(;U.streams[t];)t++;return U.dupStream(j,t).fd;case 1:case 2:case 13:case 14:return 0;case 3:return j.flags;case 4:var t=Y();return j.flags|=t,0;case 12:t=Q();return a[t+0>>1]=2,0}return-28}catch(A){if(void 0===U||"ErrnoError"!==A.name)throw A;return-A.errno}},v:function(A,v){try{return V.writeStat(v,U.fstat(A))}catch(A){if(void 0===U||"ErrnoError"!==A.name)throw A;return-A.errno}},j:function(A,v,r){V.varargs=r;try{var j=V.getStreamFromFD(A);switch(v){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return j.tty?0:-59;case 21505:if(!j.tty)return-59;if(j.tty.ops.ioctl_tcgets){var t=j.tty.ops.ioctl_tcgets(j),b=Q();s[b>>2]=t.c_iflag||0,s[b+4>>2]=t.c_oflag||0,s[b+8>>2]=t.c_cflag||0,s[b+12>>2]=t.c_lflag||0;for(var f=0;f<32;f++)l[b+f+17]=t.c_cc[f]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!j.tty)return-59;if(j.tty.ops.ioctl_tcsets){b=Q();var n=s[b>>2],e=s[b+4>>2],E=s[b+8>>2],x=s[b+12>>2],o=[];for(f=0;f<32;f++)o.push(l[b+f+17]);return j.tty.ops.ioctl_tcsets(j.tty,v,{c_iflag:n,c_oflag:e,c_cflag:E,c_lflag:x,c_cc:o})}return 0;case 21519:if(!j.tty)return-59;b=Q();return s[b>>2]=0,0;case 21520:return j.tty?-28:-59;case 21537:case 21531:b=Q();return U.ioctl(j,v,b);case 21523:if(!j.tty)return-59;if(j.tty.ops.ioctl_tiocgwinsz){var k=j.tty.ops.ioctl_tiocgwinsz(j.tty);b=Q();a[b>>1]=k[0],a[b+2>>1]=k[1]}return 0;default:return-28}}catch(A){if(void 0===U||"ErrnoError"!==A.name)throw A;return-A.errno}},u:function(A,v,r,j){try{v=V.getStr(v);var t=256&j,b=4096&j;return j&=-6401,v=V.calculateAt(A,v,b),V.writeStat(r,t?U.lstat(v):U.stat(v))}catch(A){if(void 0===U||"ErrnoError"!==A.name)throw A;return-A.errno}},l:function(A,v,r,j){V.varargs=j;try{v=V.getStr(v),v=V.calculateAt(A,v);var t=j?Y():0;return U.open(v,r,t).fd}catch(A){if(void 0===U||"ErrnoError"!==A.name)throw A;return-A.errno}},i:()=>p(""),p:function(A,v){A=AA(A);var r=new Date(1e3*A);s[v>>2]=r.getSeconds(),s[v+4>>2]=r.getMinutes(),s[v+8>>2]=r.getHours(),s[v+12>>2]=r.getDate(),s[v+16>>2]=r.getMonth(),s[v+20>>2]=r.getFullYear()-1900,s[v+24>>2]=r.getDay();var j=0|(A=>{var v;return((v=A.getFullYear())%4!=0||v%100==0&&v%400!=0?W:Z)[A.getMonth()]+A.getDate()-1})(r);s[v+28>>2]=j,s[v+36>>2]=-60*r.getTimezoneOffset();var t=new Date(r.getFullYear(),0,1),b=new Date(r.getFullYear(),6,1).getTimezoneOffset(),f=t.getTimezoneOffset(),n=0|(b!=f&&r.getTimezoneOffset()==Math.min(f,b));s[v+32>>2]=n},m:function(A,v,r,j,t,b,f){t=AA(t);try{var n=V.getStreamFromFD(j),e=U.mmap(n,A,t,v,r),E=e.ptr;return s[b>>2]=e.allocated,d[f>>2]=E,0}catch(A){if(void 0===U||"ErrnoError"!==A.name)throw A;return-A.errno}},n:function(A,v,r,j,t,b){b=AA(b);try{var f=V.getStreamFromFD(t);2&r&&V.doMsync(A,f,v,j,b)}catch(A){if(void 0===U||"ErrnoError"!==A.name)throw A;return-A.errno}},q:(A,v,r,j)=>{var t=(new Date).getFullYear(),b=new Date(t,0,1),f=new Date(t,6,1),n=b.getTimezoneOffset(),e=f.getTimezoneOffset(),E=Math.max(n,e);d[A>>2]=60*E,s[v>>2]=Number(n!=e);var x=A=>{var v=A>=0?"-":"+",r=Math.abs(A);return`UTC${v}${String(Math.floor(r/60)).padStart(2,"0")}${String(r%60).padStart(2,"0")}`},a=x(n),o=x(e);e=0&&j<=3))return 28;var j,t;t=0===A?rA():performance.now();var b=Math.round(1e3*t*1e3);return o[r>>3]=BigInt(b),0},g:rA,k:A=>{var v=D.length,r=2147483648;if((A>>>=0)>r)return!1;for(var j=1;j<=4;j*=2){var t=v*(1+.2/j);t=Math.min(t,A+100663296);var b=Math.min(r,N(Math.max(A,t),65536));if(jA(b))return!0}return!1},s:(A,v)=>{var r=0,j=0;for(var t of bA()){var b=v+r;d[A+j>>2]=b,r+=vA(t,b,1/0)+1,j+=4}return 0},t:(A,v)=>{var r=bA();d[A>>2]=r.length;var j=0;for(var t of r)j+=L(t)+1;return d[v>>2]=j,0},h:fA,e:function(A){try{var v=V.getStreamFromFD(A);return U.close(v),0}catch(A){if(void 0===U||"ErrnoError"!==A.name)throw A;return A.errno}},d:function(A,v,r,j){try{var t=((A,v,r,j)=>{for(var t=0,b=0;b>2],n=d[v+4>>2];v+=8;var e=U.read(A,l,f,n,j);if(e<0)return-1;if(t+=e,e>2]=t,0}catch(A){if(void 0===U||"ErrnoError"!==A.name)throw A;return A.errno}},r:function(A,v,r,j){v=AA(v);try{if(isNaN(v))return 61;var t=V.getStreamFromFD(A);return U.llseek(t,v,r),o[j>>3]=BigInt(t.position),t.getdents&&0===v&&0===r&&(t.getdents=null),0}catch(A){if(void 0===U||"ErrnoError"!==A.name)throw A;return A.errno}},c:function(A,v,r,j){try{var t=((A,v,r,j)=>{for(var t=0,b=0;b>2],n=d[v+4>>2];v+=8;var e=U.write(A,l,f,n,j);if(e<0)return-1;if(t+=e,e>2]=t,0}catch(A){if(void 0===U||"ErrnoError"!==A.name)throw A;return A.errno}},o:function(A){return r.agerrMessages.push(h(A)),0}};return oA=await async function(){function A(A,v){return function(A){r._viz_set_y_invert=A.A,r._viz_set_reduce=A.B,r._viz_get_graphviz_version=A.C,r._free=A.D,r._malloc=A.E,r._viz_get_plugin_list=A.F,r._viz_create_graph=A.G,r._viz_read_one_graph=A.H,r._viz_string_dup=A.I,r._viz_string_dup_html=A.J,r._viz_string_free=A.K,r._viz_string_free_html=A.L,r._viz_add_node=A.M,r._viz_add_edge=A.N,r._viz_add_subgraph=A.O,r._viz_set_default_graph_attribute=A.P,r._viz_set_default_node_attribute=A.Q,r._viz_set_default_edge_attribute=A.R,r._viz_set_attribute=A.S,r._viz_free_graph=A.T,r._viz_create_context=A.U,r._viz_free_context=A.V,r._viz_layout=A.W,r._viz_free_layout=A.X,r._viz_reset_errors=A.Y,r._viz_render=A.Z,nA=A._,eA=A.$,EA=A.aa,xA=A.ba,aA=A.y,A.__indirect_function_table}(oA=A.exports),c(),oA}var v={a:lA};x??=u();var j=function(v){return A(v.instance)}(await g(0,x,v));return j}(),function A(){R>0||R>0?K=A:(r.calledRun=!0,E||(F=!0,r.noFSInit||U.initialized||U.init(),oA.z(),U.ignorePermissions=!1,b?.(r)))}(),F?r:new Promise((A,v)=>{b=A,f=v})}const j=[[/^Error: (.*)/,"error"],[/^Warning: (.*)/,"warning"]];function t(A,v){const r=A.ccall("viz_get_plugin_list","number",["string"],[v]);if(0==r)throw new Error(`couldn't get plugin list: ${v}`);const j=[];let t,b=r;for(;t=A.getValue(b,"*");)j.push(A.UTF8ToString(t)),A.ccall("free","number",["number"],[t]),b+=4;return A.ccall("free","number",["number"],[r]),j}function b(A,v,r,j){let t,b,E,x;try{if(A.agerrMessages=[],A.stderrMessages=[],x=function(A,v){if(!v)return[];return v.map(v=>{if("string"!=typeof v.name)throw new Error("image name must be a string");if("number"!=typeof v.width&&"string"!=typeof v.width)throw new Error("image width must be a number or string");if("number"!=typeof v.height&&"string"!=typeof v.height)throw new Error("image height must be a number or string");const r=A.PATH.join("/",v.name),j=`\n\n`;return A.FS.createPath("/",A.PATH.dirname(r)),A.FS.writeFile(r,j),r})}(A,j.images),"string"==typeof v)t=function(A,v){let r;try{const j=A.lengthBytesUTF8(v);return r=A.ccall("malloc","number",["number"],[j+1]),A.stringToUTF8(v,r,j+1),A.ccall("viz_read_one_graph","number",["number"],[r])}finally{r&&A.ccall("free","number",["number"],[r])}}(A,v);else{if("object"!=typeof v)throw new Error("input must be a string or object");t=function(A,v){const r=A.ccall("viz_create_graph","number",["string","number","number"],[v.name,void 0===v.directed||v.directed,void 0!==v.strict&&v.strict]);return n(A,r,v),r}(A,v)}if(0===t)return{status:"failure",output:void 0,errors:f(A)};if(e(A,t,j),A.ccall("viz_set_y_invert","number",["number"],[j.yInvert?1:0]),A.ccall("viz_set_reduce","number",["number"],[j.reduce?1:0]),b=A.ccall("viz_create_context"),A.ccall("viz_reset_errors"),0!==A.ccall("viz_layout","number",["number","number","string"],[b,t,j.engine]))return{status:"failure",output:void 0,errors:f(A)};let a={};for(let v of r){if(E=A.ccall("viz_render","number",["number","number","string"],[b,t,v]),0===E)return{status:"failure",output:void 0,errors:f(A)};a[v]=A.UTF8ToString(E),A.ccall("free","number",["number"],[E]),E=0}return{status:"success",output:a,errors:f(A)}}catch(v){if(/^exit\(\d+\)/.test(v))return{status:"failure",output:void 0,errors:f(A)};throw v}finally{b&&t&&A.ccall("viz_free_layout","number",["number"],[b,t]),t&&A.ccall("viz_free_graph","number",["number"],[t]),b&&A.ccall("viz_free_context","number",["number"],[b]),E&&A.ccall("free","number",["number"],[E]),x&&function(A,v){for(const r of v)A.FS.analyzePath(r).exists&&A.FS.unlink(r)}(A,x)}}function f(A){return function(A){const v=[];let r;for(let j=0;j{for(let v=0;v{if(void 0===r.name)throw new Error("nodes must have a name");const j=A.ccall("viz_add_node","number",["number","string"],[v,String(r.name)]);r.attributes&&E(A,v,j,r.attributes)}),r.edges&&r.edges.forEach(r=>{if(void 0===r.tail)throw new Error("edges must have a tail");if(void 0===r.head)throw new Error("edges must have a head");const j=A.ccall("viz_add_edge","number",["number","string","string"],[v,String(r.tail),String(r.head)]);r.attributes&&E(A,v,j,r.attributes)}),r.subgraphs&&r.subgraphs.forEach(r=>{const j=A.ccall("viz_add_subgraph","number",["number","string"],[v,void 0!==r.name?String(r.name):0]);n(A,j,r)})}function e(A,v,r){if(r.graphAttributes)for(const[j,t]of Object.entries(r.graphAttributes))x(A,v,t,r=>{A.ccall("viz_set_default_graph_attribute","number",["number","string","number"],[v,j,r])});if(r.nodeAttributes)for(const[j,t]of Object.entries(r.nodeAttributes))x(A,v,t,r=>{A.ccall("viz_set_default_node_attribute","number",["number","string","number"],[v,j,r])});if(r.edgeAttributes)for(const[j,t]of Object.entries(r.edgeAttributes))x(A,v,t,r=>{A.ccall("viz_set_default_edge_attribute","number",["number","string","number"],[v,j,r])})}function E(A,v,r,j){for(const[t,b]of Object.entries(j))x(A,v,b,v=>{A.ccall("viz_set_attribute","number",["number","string","number"],[r,t,v])})}function x(A,v,r,j){let t;if(t="object"==typeof r&&"html"in r?A.ccall("viz_string_dup_html","number",["number","string"],[v,String(r.html)]):A.ccall("viz_string_dup","number",["number","string"],[v,String(r)]),0==t)throw new Error("couldn't dup string");j(t),"object"==typeof r&&"html"in r?A.ccall("viz_string_free_html","number",["number","number"],[v,t]):A.ccall("viz_string_free","number",["number","number"],[v,t])}class a{constructor(A){this.module=A}get graphvizVersion(){return function(A){const v=A.ccall("viz_get_graphviz_version","number",[],[]);return A.UTF8ToString(v)}(this.module)}get formats(){return t(this.module,"device")}get engines(){return t(this.module,"layout")}renderFormats(A,v,r={}){return b(this.module,A,v,{engine:"dot",...r})}render(A,v={}){let r;r=void 0===v.format?"dot":v.format;let j=b(this.module,A,[r],{engine:"dot",...v});return"success"===j.status&&(j.output=j.output[r]),j}renderString(A,v={}){const r=this.render(A,v);if("success"!==r.status)throw new Error(r.errors.find(A=>"error"==A.level)?.message||"render failed");return r.output}renderSVGElement(A,v={}){const r=this.renderString(A,{...v,format:"svg"});let j;j=void 0!==v.trustedTypePolicy?v.trustedTypePolicy.createHTML(r):r;return(new DOMParser).parseFromString(j,"image/svg+xml").documentElement}renderJSON(A,v={}){const r=this.renderString(A,{...v,format:"json"});return JSON.parse(r)}}A.engines=["circo","dot","fdp","neato","nop","nop1","nop2","osage","patchwork","sfdp","twopi"],A.formats=["canon","cmap","cmapx","cmapx_np","dot","dot_json","eps","fig","gv","imap","imap_np","ismap","json","json0","pic","plain","plain-ext","pov","ps","ps2","svg","svg_inline","tk","xdot","xdot1.2","xdot1.4","xdot_json"],A.graphvizVersion="14.1.5",A.instance=function(){return r().then(A=>new a(A))}}); diff --git a/plugin-markdown/.settings/org.eclipse.jdt.core.prefs b/plugin-markdown/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index b1dda13..0000000 --- a/plugin-markdown/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,123 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.annotationPath.allLocations=enabled -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.notowning=org.eclipse.jdt.annotation.NotOwning -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled -org.eclipse.jdt.core.compiler.annotation.owning=org.eclipse.jdt.annotation.Owning -org.eclipse.jdt.core.compiler.annotation.resourceanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=17 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompatibleOwningContract=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.insufficientResourceAnalysis=warning -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=error -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=warning -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=enabled -org.eclipse.jdt.core.compiler.source=17 diff --git a/plugin-markdown/META-INF/MANIFEST.MF b/plugin-markdown/META-INF/MANIFEST.MF deleted file mode 100644 index cf34ee0..0000000 --- a/plugin-markdown/META-INF/MANIFEST.MF +++ /dev/null @@ -1,38 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %PluginName -Bundle-SymbolicName: de.sebthom.eclipse.previewer.markdown;singleton:=true -Bundle-Version: 1.0.0.qualifier -Bundle-Vendor: Sebastian Thomschke -Bundle-Localization: src/main/java/de/sebthom/eclipse/previewer/markdown/localization/messages -Automatic-Module-Name: de.sebthom.eclipse.previewer.markdown -Bundle-Activator: de.sebthom.eclipse.previewer.markdown.Plugin -Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-17 -Bundle-ClassPath: . -Require-Bundle: org.eclipse.platform;bundle-version="4.25.0", - org.eclipse.core.net, - org.eclipse.core.resources, - org.eclipse.core.runtime, - org.eclipse.osgi, - org.eclipse.ui, - org.eclipse.ui.editors, - org.apache.commons.commons-io;bundle-version="[2.20.0,3.0.0)", - net.sf.jstuff.core;bundle-version="[8.2.0,9.0.0)", - de.sebthom.eclipse.commons;bundle-version="[1.0.0.20251127-1946,2.0.0)", - de.sebthom.eclipse.previewer;bundle-version="[1.0.0,2.0.0)", - de.sebthom.eclipse.previewer.graphviz;bundle-version="[1.0.0,2.0.0)", - de.sebthom.eclipse.previewer.mermaid;bundle-version="[1.0.0,2.0.0)", - de.sebthom.eclipse.previewer.plantuml;bundle-version="[1.0.0,2.0.0)", - org.nibor.autolink;bundle-version="0.12.0", - org.commonmark;bundle-version="[0.28.0,1.0.0)", - org.commonmark.ext-autolink;bundle-version="[0.28.0,1.0.0)", - org.commonmark.ext-footnotes;bundle-version="[0.28.0,1.0.0)", - org.commonmark.ext-gfm-alerts;bundle-version="0.28.0", - org.commonmark.ext-gfm-strikethrough;bundle-version="[0.28.0,1.0.0)", - org.commonmark.ext-gfm-tables;bundle-version="[0.28.0,1.0.0)", - org.commonmark.ext-heading-anchor;bundle-version="[0.28.0,1.0.0)", - org.commonmark.ext-image-attributes;bundle-version="[0.28.0,1.0.0)", - org.commonmark.ext-ins;bundle-version="[0.28.0,1.0.0)", - org.commonmark.ext-task-list-items;bundle-version="[0.28.0,1.0.0)", - org.commonmark.ext-yaml-front-matter;bundle-version="[0.28.0,1.0.0)" diff --git a/plugin-markdown/about.ini b/plugin-markdown/about.ini deleted file mode 100644 index 9abfe01..0000000 --- a/plugin-markdown/about.ini +++ /dev/null @@ -1,12 +0,0 @@ -# https://ekkescorner.wordpress.com/2010/06/13/brand-your-feature-and-be-part-of-about-eclipse/ -aboutText=\ -Previewer plugin to render GitHub flavored markdown files.\n\ -\n\ -Copyright 2024 by Sebastian Thomschke and contributors.\n\ -\n\ -All rights reserved. This program and the accompanying materials \ -are made available under the terms of the Eclipse Public License v2.0 \ -which accompanies this distribution, and is available at \ -https://www.eclipse.org/legal/epl-v20.html\n\ -\n\ -Visit https://github.com/sebthom/previewer-eclipse-plugin diff --git a/plugin-markdown/build.properties b/plugin-markdown/build.properties deleted file mode 100644 index 3aec967..0000000 --- a/plugin-markdown/build.properties +++ /dev/null @@ -1,12 +0,0 @@ -source.. = src/main/java/ -output.. = target/classes/ -bin.includes = META-INF/,\ - .,\ - plugin.xml,\ - about.ini,\ - src/main/resources/,\ - src/main/java/de/sebthom/eclipse/previewer/markdown/localization/ -bin.excludes = src/main/java/de/sebthom/eclipse/previewer/markdown/localization/Messages.java - -# JDT Null Analysis for Eclipse -additional.bundles = org.eclipse.jdt.annotation diff --git a/plugin-markdown/plugin.xml b/plugin-markdown/plugin.xml deleted file mode 100644 index 433d34b..0000000 --- a/plugin-markdown/plugin.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugin-markdown/pom.xml b/plugin-markdown/pom.xml deleted file mode 100644 index 6452a96..0000000 --- a/plugin-markdown/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - 4.0.0 - - - de.sebthom.eclipse.previewer - de.sebthom.eclipse.previewer.parent - 1.0.0-SNAPSHOT - - - de.sebthom.eclipse.previewer.markdown - eclipse-plugin - - - - true - - - - \ No newline at end of file diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/Constants.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/Constants.java deleted file mode 100644 index 418fc5f..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/Constants.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.markdown; - -/** - * @author Sebastian Thomschke - */ -public interface Constants { - String MARKDOWN_CSS_DARK = "src/main/resources/github-markdown-css/github-markdown-dark.css"; - String MARKDOWN_CSS_LIGHT = "src/main/resources/github-markdown-css/github-markdown-light.css"; -} diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/MarkdownHtmlPreviewRenderer.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/MarkdownHtmlPreviewRenderer.java deleted file mode 100644 index d509266..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/MarkdownHtmlPreviewRenderer.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.markdown; - -import java.io.File; -import java.io.IOException; -import java.net.ConnectException; - -import org.eclipse.core.runtime.preferences.InstanceScope; -import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.api.HtmlPreviewRenderer; -import de.sebthom.eclipse.previewer.markdown.prefs.PluginPreferences; -import de.sebthom.eclipse.previewer.markdown.preprocessor.MarkdownDiagramPreprocessor; -import de.sebthom.eclipse.previewer.markdown.preprocessor.MarkdownPreprocessingResult; -import de.sebthom.eclipse.previewer.markdown.renderer.CommonMarkRenderer; -import de.sebthom.eclipse.previewer.markdown.renderer.GitHubMarkdownRenderer; -import de.sebthom.eclipse.previewer.util.MiscUtils; -import de.sebthom.eclipse.previewer.util.StringUtils; - -/** - * @author Sebastian Thomschke - */ -public class MarkdownHtmlPreviewRenderer implements HtmlPreviewRenderer { - - private File cssDark; - private File cssLight; - private File mermaidJS; - - private static final String MERMAID_INIT_SCRIPT = """ - - """; - - public MarkdownHtmlPreviewRenderer() throws IOException { - cssDark = Plugin.resources().extract(Constants.MARKDOWN_CSS_DARK); - cssLight = Plugin.resources().extract(Constants.MARKDOWN_CSS_LIGHT); - mermaidJS = de.sebthom.eclipse.previewer.mermaid.Plugin.resources().extract( - de.sebthom.eclipse.previewer.mermaid.Constants.MERMAID_JS); - } - - @Override - public void dispose() { - } - - private int getPreferredTabSize() { - return InstanceScope.INSTANCE.getNode("org.eclipse.ui.editors") // - .getInt(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_TAB_WIDTH, 4); - } - - @Override - public void renderToHtml(final ContentSource source, final Appendable out) throws IOException { - var renderer = PluginPreferences.getMarkdownRenderer(); - final var preprocessedMarkdown = PluginPreferences.isRenderPlantUmlAndGraphvizDiagrams() // - ? MarkdownDiagramPreprocessor.preprocess(source) - : MarkdownPreprocessingResult.unchanged(source); - - final var htmlBody = new StringBuilder(); - - boolean isCommonMarkFallback = false; - try { - renderer.markdownToHTML(preprocessedMarkdown.source(), htmlBody); - } catch (final ConnectException ex) { - if (renderer instanceof GitHubMarkdownRenderer && PluginPreferences.isGithubApiFallbackToCommonMark()) { - Plugin.log().debug(ex); - htmlBody.setLength(0); - renderer = CommonMarkRenderer.INSTANCE; - renderer.markdownToHTML(preprocessedMarkdown.source(), htmlBody); - isCommonMarkFallback = true; - } else - throw ex; - } - preprocessedMarkdown.applyHtmlReplacements(htmlBody); - - final var rendererName = isCommonMarkFallback // - ? "CommonMark, GitHub Markdown API unavailable" - : renderer instanceof CommonMarkRenderer // - ? "CommonMark" - : renderer instanceof GitHubMarkdownRenderer // - ? "GitHub Markdown API" - : renderer.getClass().getSimpleName(); - - final var useDarkTheme = MiscUtils.isDarkEclipseTheme(); - out.append(""); // https://github.com/sindresorhus/github-markdown-css#troubleshooting - out.append(""); - out.append(""); - out.append(""); - out.append(""); - out.append(""); - if (PluginPreferences.isRenderMermaidDiagrams()) { - out.append(""); - } - out.append(""); - out.append("\n\n"); - out.append(htmlBody); - if (PluginPreferences.isRenderMermaidDiagrams()) { - out.append(MERMAID_INIT_SCRIPT.replace("$$THEME$$", useDarkTheme ? "dark" : "default")); - } - out.append(StringUtils.htmlInfoBox(source.shortDisplayPath() + " (" + rendererName + ") " + MiscUtils.getCurrentTime())); - out.append(""); - } - -} diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/Plugin.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/Plugin.java deleted file mode 100644 index 0584c22..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/Plugin.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.markdown; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.asNonNull; - -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jface.resource.ImageRegistry; -import org.osgi.framework.BundleContext; - -import de.sebthom.eclipse.commons.AbstractEclipsePlugin; -import de.sebthom.eclipse.commons.BundleResources; -import de.sebthom.eclipse.commons.logging.PluginLogger; -import de.sebthom.eclipse.commons.logging.StatusFactory; -import net.sf.jstuff.core.reflection.Fields; - -/** - * @author Sebastian Thomschke - */ -public class Plugin extends AbstractEclipsePlugin { - - /** - * during runtime you can get ID with getBundle().getSymbolicName() - */ - public static final String PLUGIN_ID = asNonNull(Plugin.class.getPackage()).getName().replace('_', '-'); - - private static @Nullable Plugin instance; - - /** - * @return the shared instance - */ - public static Plugin get() { - return asNonNull(instance, "Default plugin instance is still null."); - } - - public static boolean isInitialized() { - return instance != null; - } - - public static PluginLogger log() { - return get().getLogger(); - } - - public static BundleResources resources() { - return get().getBundleResources(); - } - - public static StatusFactory status() { - return get().getStatusFactory(); - } - - @Override - public BundleResources getBundleResources() { - var bundleResources = this.bundleResources; - if (bundleResources == null) { - bundleResources = this.bundleResources = new BundleResources(this, "src/main/resources"); - } - return bundleResources; - } - - @Override - protected void initializeImageRegistry(final ImageRegistry registry) { - for (final var field : Constants.class.getFields()) { - if (Fields.isStatic(field) && field.getType() == String.class && field.getName().startsWith("IMAGE_")) { - final String imagePath = Fields.read(null, field); - if (imagePath != null) { - registerImage(registry, imagePath); - } - } - } - } - - @Override - public void start(final BundleContext context) throws Exception { - super.start(context); - instance = this; - } - - @Override - public void stop(final BundleContext context) throws Exception { - instance = null; - super.stop(context); - } -} diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/localization/Messages.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/localization/Messages.java deleted file mode 100644 index 34b5e32..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/localization/Messages.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.markdown.localization; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.lateNonNull; - -import de.sebthom.eclipse.commons.localization.MessagesInitializer; - -/** - * @author Sebastian Thomschke - */ -public final class Messages { - - private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; - - // Keys with default values directly assigned in this class are only used by Java classes. - // Keys without default values are loaded from messages.properties, because they are also referenced in plugin.xml - - // CHECKSTYLE:IGNORE .* FOR NEXT 100 LINES - - public static String PluginName = lateNonNull(); - - static { - MessagesInitializer.initializeMessages(BUNDLE_NAME, Messages.class); - } - - private Messages() { - } -} diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/localization/messages.properties b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/localization/messages.properties deleted file mode 100644 index 9be3b46..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/localization/messages.properties +++ /dev/null @@ -1,2 +0,0 @@ -PluginName=Previewer: Markdown -PreferencePageName=Markdown diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/localization/package-info.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/localization/package-info.java deleted file mode 100644 index 256b5ec..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/localization/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.markdown.localization; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/package-info.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/package-info.java deleted file mode 100644 index fa03ca0..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.markdown; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/prefs/PluginPreferencePage.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/prefs/PluginPreferencePage.java deleted file mode 100644 index 787c4df..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/prefs/PluginPreferencePage.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.markdown.prefs; - -import java.util.List; - -import org.eclipse.jface.preference.BooleanFieldEditor; -import org.eclipse.jface.preference.ComboFieldEditor; -import org.eclipse.jface.preference.FieldEditorPreferencePage; -import org.eclipse.jface.preference.StringFieldEditor; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; - -import de.sebthom.eclipse.commons.prefs.fieldeditor.GroupFieldEditor; -import de.sebthom.eclipse.commons.prefs.fieldeditor.IntFieldEditor; -import de.sebthom.eclipse.commons.prefs.fieldeditor.PasswordFieldEditor; - -/** - * @author Sebastian Thomschke - */ -public final class PluginPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { - - @Override - protected void createFieldEditors() { - final var parent = getFieldEditorParent(); - - addField(new ComboFieldEditor(PluginPreferences.PREF_MARKDOWN_RENDERER, "Markdown Renderer:", new String[][] { // - {"CommonMark (= offline rendering)", "commonmark"}, // - {"GitHub Markdown API (= online rendering)", "github"} // - }, parent)); - - addField(new GroupFieldEditor("GitHub API", parent, group -> List.of( // - new StringFieldEditor(PluginPreferences.PREF_GITHUB_API_URL, "API Endpoint URL", group), // - new IntFieldEditor(PluginPreferences.PREF_GITHUB_API_RESONSE_TIMEOUT, "API Resonse Timeout (seconds)", group, 3), // - new PasswordFieldEditor(PluginPreferences.PREF_GITHUB_API_TOKEN, "API Token", group), // - new ComboFieldEditor(PluginPreferences.PREF_GITHUB_API_MARKDOWN_MODE, "Render Mode:", new String[][] { // - {"markdown", "markdown"}, // - {"gfm", "gfm"} // - }, group), // - new BooleanFieldEditor(PluginPreferences.PREF_GITHUB_API_FALLBACK_TO_COMMONMARK, - "Use CommonMark renderer when offline or GitHub Markdown API is unavailable", group)) // - )); - - addField(new BooleanFieldEditor(PluginPreferences.PREF_RENDER_MERMAID_DIAGRAMS, "Render Mermaid diagrams", parent)); - addField(new BooleanFieldEditor(PluginPreferences.PREF_RENDER_PLANTUML_AND_GRAPHVIZ_DIAGRAMS, "Render PlantUML and Graphviz diagrams", - parent)); - } - - public PluginPreferencePage() { - super(FieldEditorPreferencePage.GRID); - } - - @Override - public void init(final IWorkbench workbench) { - setPreferenceStore(PluginPreferences.STORE); - } -} diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/prefs/PluginPreferences.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/prefs/PluginPreferences.java deleted file mode 100644 index f75c7a9..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/prefs/PluginPreferences.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.markdown.prefs; - -import java.io.IOException; - -import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; -import org.eclipse.jface.preference.IPersistentPreferenceStore; -import org.eclipse.jface.util.IPropertyChangeListener; - -import de.sebthom.eclipse.previewer.markdown.Plugin; -import de.sebthom.eclipse.previewer.markdown.renderer.CommonMarkRenderer; -import de.sebthom.eclipse.previewer.markdown.renderer.GitHubMarkdownRenderer; -import de.sebthom.eclipse.previewer.markdown.renderer.MarkdownRenderer; -import net.sf.jstuff.core.io.RuntimeIOException; - -/** - * @author Sebastian Thomschke - */ -public final class PluginPreferences { - - public static final class Initializer extends AbstractPreferenceInitializer { - - @Override - public void initializeDefaultPreferences() { - STORE.setDefault(PREF_MARKDOWN_RENDERER, "commonmark"); - - STORE.setDefault(PREF_GITHUB_API_URL, "https://api.github.com"); - STORE.setDefault(PREF_GITHUB_API_MARKDOWN_MODE, "gfm"); - STORE.setDefault(PREF_GITHUB_API_FALLBACK_TO_COMMONMARK, true); - STORE.setDefault(PREF_GITHUB_API_RESONSE_TIMEOUT, 5); - - STORE.setDefault(PREF_RENDER_MERMAID_DIAGRAMS, true); - STORE.setDefault(PREF_RENDER_PLANTUML_AND_GRAPHVIZ_DIAGRAMS, true); - } - } - - public static final IPersistentPreferenceStore STORE = Plugin.get().getPreferenceStore(); - - public static final String PREF_MARKDOWN_RENDERER = "markdownRenderer"; - - public static final String PREF_GITHUB_API_URL = "githubApiUrl"; - public static final String PREF_GITHUB_API_TOKEN = "githubApiToken"; - public static final String PREF_GITHUB_API_MARKDOWN_MODE = "githubApiMarkdownMode"; - public static final String PREF_GITHUB_API_FALLBACK_TO_COMMONMARK = "githubApiFallbackToCommonmark"; - public static final String PREF_GITHUB_API_RESONSE_TIMEOUT = "githubApiResponseTimeout"; - - public static final String PREF_RENDER_MERMAID_DIAGRAMS = "renderMermaidDiagrams"; - public static final String PREF_RENDER_PLANTUML_AND_GRAPHVIZ_DIAGRAMS = "renderPlantUmlAndGraphvizDiagrams"; - - public static void addListener(final IPropertyChangeListener listener) { - STORE.addPropertyChangeListener(listener); - } - - public static void removeListener(final IPropertyChangeListener listener) { - STORE.removePropertyChangeListener(listener); - } - - public static void save() { - if (STORE.needsSaving()) { - try { - STORE.save(); - } catch (final IOException ex) { - throw new RuntimeIOException(ex); - } - } - } - - public static MarkdownRenderer getMarkdownRenderer() { - return "github".equals(STORE.getString(PREF_MARKDOWN_RENDERER)) // - ? GitHubMarkdownRenderer.INSTANCE - : CommonMarkRenderer.INSTANCE; - } - - public static int getGithubApiResonseTimeout() { - return STORE.getInt(PREF_GITHUB_API_RESONSE_TIMEOUT); - } - - public static String getGithubApiMarkdownRenderMode() { - return STORE.getString(PREF_GITHUB_API_MARKDOWN_MODE); - } - - public static String getGithubApiUrl() { - return STORE.getString(PREF_GITHUB_API_URL); - } - - public static boolean isGithubApiFallbackToCommonMark() { - return STORE.getBoolean(PREF_GITHUB_API_FALLBACK_TO_COMMONMARK); - } - - public static String getGithubApiToken() { - return STORE.getString(PREF_GITHUB_API_TOKEN); - } - - public static boolean isRenderMermaidDiagrams() { - return STORE.getBoolean(PREF_RENDER_MERMAID_DIAGRAMS); - } - - public static boolean isRenderPlantUmlAndGraphvizDiagrams() { - return STORE.getBoolean(PREF_RENDER_PLANTUML_AND_GRAPHVIZ_DIAGRAMS); - } - - private PluginPreferences() { - } -} diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/prefs/package-info.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/prefs/package-info.java deleted file mode 100644 index b3c4c3d..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/prefs/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.markdown.prefs; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/preprocessor/MarkdownDiagramPreprocessor.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/preprocessor/MarkdownDiagramPreprocessor.java deleted file mode 100644 index 8d43b1c..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/preprocessor/MarkdownDiagramPreprocessor.java +++ /dev/null @@ -1,322 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.markdown.preprocessor; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.*; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.Reader; -import java.io.StringReader; -import java.nio.charset.StandardCharsets; -import java.nio.file.Path; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Locale; -import java.util.Set; - -import org.commonmark.node.AbstractVisitor; -import org.commonmark.node.FencedCodeBlock; -import org.commonmark.node.SourceSpan; -import org.commonmark.parser.IncludeSourceSpans; -import org.commonmark.parser.Parser; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.jdt.annotation.NonNull; -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.graphviz.GraphvizRendering; -import de.sebthom.eclipse.previewer.markdown.Plugin; -import de.sebthom.eclipse.previewer.plantuml.PlantUmlRendering; - -/** - * Replaces supported diagram fenced code blocks in Markdown with rendered HTML placeholders. - * - * @author Sebastian Thomschke - */ -public final class MarkdownDiagramPreprocessor { - - private record Candidate(int start, int end, @NonNull String indentation, @NonNull DiagramType type, @NonNull String source) { - } - - private enum DiagramType { - GRAPHVIZ(Set.of("dot", "graphviz")) { - @Override - String render(final String source, final ContentSource context) throws IOException { - return GraphvizRendering.renderToHtmlFragment(source, context); - } - }, - PLANTUML(Set.of("plantuml", "puml", "iuml", "pu")) { - @Override - String render(final String source, final ContentSource context) throws IOException { - return PlantUmlRendering.renderToHtmlFragment(fencedSourceToPlantUmlSource(source)); - } - }; - - private final Set languages; - - DiagramType(final Set languages) { - this.languages = languages; - } - - static @Nullable DiagramType fromInfo(final @Nullable String info) { - if (info == null) - return null; - - final String trimmed = info.trim(); - if (trimmed.isEmpty()) - return null; - - final String language = trimmed.split("\\s+", 2)[0].toLowerCase(Locale.ROOT); - for (final DiagramType type : values()) { - if (type.languages.contains(language)) - return type; - } - return null; - } - - abstract String render(String source, ContentSource context) throws IOException; - } - - private static final class PreprocessedContentSource implements ContentSource { - private final ContentSource delegate; - private final String content; - - PreprocessedContentSource(final ContentSource delegate, final String content) { - this.delegate = delegate; - this.content = content; - } - - @Override - public InputStream contentAsInputStream() { - return new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8)); - } - - @Override - public Reader contentAsReader() { - return new StringReader(content); - } - - @Override - public String contentAsString() { - return content; - } - - @Override - public List contentTypes() { - return delegate.contentTypes(); - } - - @Override - public boolean isSnapshot() { - return true; - } - - @Override - public boolean isSynced() { - return delegate.isSynced(); - } - - @Override - public long lastModified() throws IOException { - return delegate.lastModified(); - } - - @Override - public Path path() { - return delegate.path(); - } - } - - private record SourceRange(int start, int end) { - } - - private static final String PLACEHOLDER_PREFIX = "PREVIEWER_DIAGRAM_BLOCK_"; - private static final Parser SOURCE_SPAN_PARSER = asNonNull(Parser.builder().includeSourceSpans(IncludeSourceSpans.BLOCKS).build()); - - private static List collectCandidates(final String markdown) { - final var candidates = new ArrayList(); - SOURCE_SPAN_PARSER.parse(markdown).accept(new AbstractVisitor() { - @Override - public void visit(final @NonNullByDefault({}) FencedCodeBlock block) { - final DiagramType type = DiagramType.fromInfo(block.getInfo()); - if (type == null) - return; - - final SourceRange range = sourceRange(block); - if (range == null || range.end() > markdown.length()) - return; - - final Candidate candidate = validate(markdown, range, block, type); - if (candidate != null) { - candidates.add(candidate); - } - } - }); - return candidates; - } - - private static char fenceChar(final FencedCodeBlock block) { - final String fenceCharacter = block.getFenceCharacter(); - return fenceCharacter == null || fenceCharacter.isEmpty() ? '\0' : fenceCharacter.charAt(0); - } - - private static int fenceLength(final FencedCodeBlock block) { - final Integer openingFenceLength = block.getOpeningFenceLength(); - return openingFenceLength == null ? 0 : openingFenceLength; - } - - private static String fencedSourceToPlantUmlSource(final String source) { - if (hasPlantUmlDelimiters(source) || source.isBlank()) - return source; - - // Markdown fences already delimit one PlantUML diagram; PlantUML still requires explicit source markers. - return "@startuml\n" + stripTrailingLineBreaks(source) + "\n@enduml\n"; - } - - private static boolean hasClosingFence(final String markdown, final char fenceChar, final int fenceLength) { - int lineStart = nextLineStart(markdown, lineEnd(markdown, 0)); - while (lineStart < markdown.length()) { - final int lineEnd = lineEnd(markdown, lineStart); - if (isClosingFence(markdown.substring(lineStart, lineEnd), fenceChar, fenceLength)) - return true; - lineStart = nextLineStart(markdown, lineEnd); - } - return false; - } - - private static boolean hasPlantUmlDelimiters(final String source) { - boolean hasStart = false; - boolean hasEnd = false; - int lineStart = 0; - while (lineStart < source.length()) { - final int lineEnd = lineEnd(source, lineStart); - final String line = source.substring(lineStart, lineEnd).stripLeading().toLowerCase(Locale.ROOT); - hasStart = hasStart || line.startsWith("@start"); - hasEnd = hasEnd || line.startsWith("@end"); - lineStart = nextLineStart(source, lineEnd); - } - return hasStart && hasEnd; - } - - private static boolean isClosingFence(final String line, final char fenceChar, final int fenceLength) { - int idx = skipUpToThreeLeadingSpaces(line); - int count = 0; - while (idx < line.length() && line.charAt(idx) == fenceChar) { - count++; - idx++; - } - return count >= fenceLength && line.substring(idx).trim().isEmpty(); - } - - private static int lineEnd(final String text, final int start) { - int idx = start; - while (idx < text.length()) { - final char ch = text.charAt(idx); - if (ch == '\r' || ch == '\n') { - break; - } - idx++; - } - return idx; - } - - private static int nextLineStart(final String text, final int lineEnd) { - if (lineEnd >= text.length()) - return text.length(); - if (text.charAt(lineEnd) == '\r' && lineEnd + 1 < text.length() && text.charAt(lineEnd + 1) == '\n') - return lineEnd + 2; - return lineEnd + 1; - } - - public static MarkdownPreprocessingResult preprocess(final ContentSource source) throws IOException { - final String markdown = source.contentAsString(); - final List candidates = collectCandidates(markdown); - if (candidates.isEmpty()) - return MarkdownPreprocessingResult.unchanged(source); - - final var placeholders = new LinkedHashMap(); - final var processedMarkdown = new StringBuilder(markdown); - candidates.sort(Comparator.comparingInt(Candidate::start).reversed()); - - for (int idx = 0; idx < candidates.size(); idx++) { - final Candidate candidate = candidates.get(idx); - try { - final String replacementHtml = candidate.type.render(candidate.source, source); - final String placeholder = PLACEHOLDER_PREFIX + idx + "_" + candidate.type.name().toLowerCase(Locale.ROOT) + "_" + Integer - .toUnsignedString(candidate.source.hashCode(), 36); - placeholders.put(placeholder, replacementHtml); - processedMarkdown.replace(candidate.start, candidate.end, candidate.indentation + placeholder); - } catch (final IOException | RuntimeException ex) { - Plugin.log().debug(ex); - } - } - - if (placeholders.isEmpty()) - return MarkdownPreprocessingResult.unchanged(source); - - return new MarkdownPreprocessingResult(new PreprocessedContentSource(source, processedMarkdown.toString()), placeholders); - } - - private static int skipUpToThreeLeadingSpaces(final String line) { - int idx = 0; - while (idx < 3 && idx < line.length() && line.charAt(idx) == ' ') { - idx++; - } - return idx; - } - - private static @Nullable SourceRange sourceRange(final FencedCodeBlock block) { - int start = Integer.MAX_VALUE; - int end = -1; - for (final SourceSpan span : block.getSourceSpans()) { - if (span.getInputIndex() < 0) - return null; - start = Math.min(start, span.getInputIndex()); - end = Math.max(end, span.getInputIndex() + span.getLength()); - } - return start == Integer.MAX_VALUE || end < start ? null : new SourceRange(start, end); - } - - private static String stripTrailingLineBreaks(final String source) { - int end = source.length(); - while (end > 0 && (source.charAt(end - 1) == '\r' || source.charAt(end - 1) == '\n')) { - end--; - } - return source.substring(0, end); - } - - private static @Nullable Candidate validate(final String markdown, final SourceRange range, final FencedCodeBlock block, - final DiagramType type) { - final String candidateMarkdown = markdown.substring(range.start(), range.end()); - final String firstLine = candidateMarkdown.substring(0, lineEnd(candidateMarkdown, 0)); - final int fenceLength = fenceLength(block); - final char fenceChar = fenceChar(block); - final int fenceStart = skipUpToThreeLeadingSpaces(firstLine); - - int fenceEnd = fenceStart; - while (fenceEnd < firstLine.length() && firstLine.charAt(fenceEnd) == fenceChar) { - fenceEnd++; - } - if (fenceEnd - fenceStart < fenceLength) - return null; - - final String info = firstLine.substring(fenceEnd).trim(); - // Source spans must cover the complete fenced block; otherwise replacing the range could corrupt the Markdown. - if (type != DiagramType.fromInfo(info) || !hasClosingFence(candidateMarkdown, fenceChar, fenceLength)) - return null; - - return new Candidate(range.start(), range.end(), firstLine.substring(0, fenceStart), type, asNonNull(block.getLiteral())); - } - - private MarkdownDiagramPreprocessor() { - } -} diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/preprocessor/MarkdownPreprocessingResult.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/preprocessor/MarkdownPreprocessingResult.java deleted file mode 100644 index 710aae6..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/preprocessor/MarkdownPreprocessingResult.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.markdown.preprocessor; - -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.eclipse.jdt.annotation.NonNull; - -import de.sebthom.eclipse.previewer.api.ContentSource; - -/** - * Carries Markdown content after source preprocessing and HTML replacements to apply after Markdown rendering. - * - * @author Sebastian Thomschke - */ -public record MarkdownPreprocessingResult(@NonNull ContentSource source, @NonNull Map htmlReplacements) { - - public static MarkdownPreprocessingResult unchanged(final ContentSource source) { - return new MarkdownPreprocessingResult(source, Map.of()); - } - - public void applyHtmlReplacements(final StringBuilder html) { - if (htmlReplacements.isEmpty()) - return; - - String replaced = html.toString(); - for (final var entry : htmlReplacements.entrySet()) { - replaced = placeholderParagraphPattern(entry.getKey()).matcher(replaced).replaceAll(Matcher.quoteReplacement(entry.getValue())); - replaced = replaced.replace(entry.getKey(), entry.getValue()); - } - html.setLength(0); - html.append(replaced); - } - - private static Pattern placeholderParagraphPattern(final String placeholder) { - return Pattern.compile("]*)?>\\s*" + Pattern.quote(placeholder) + "\\s*

"); - } -} diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/preprocessor/package-info.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/preprocessor/package-info.java deleted file mode 100644 index 8149c7e..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/preprocessor/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.markdown.preprocessor; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/renderer/CommonMarkRenderer.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/renderer/CommonMarkRenderer.java deleted file mode 100644 index 33a5a75..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/renderer/CommonMarkRenderer.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.markdown.renderer; - -import java.io.IOException; -import java.util.List; - -import org.commonmark.ext.autolink.AutolinkExtension; -import org.commonmark.ext.footnotes.FootnotesExtension; -import org.commonmark.ext.front.matter.YamlFrontMatterExtension; -import org.commonmark.ext.gfm.alerts.AlertsExtension; -import org.commonmark.ext.gfm.strikethrough.StrikethroughExtension; -import org.commonmark.ext.gfm.tables.TablesExtension; -import org.commonmark.ext.heading.anchor.HeadingAnchorExtension; -import org.commonmark.ext.image.attributes.ImageAttributesExtension; -import org.commonmark.ext.ins.InsExtension; -import org.commonmark.ext.task.list.items.TaskListItemsExtension; -import org.commonmark.parser.Parser; -import org.commonmark.renderer.html.HtmlRenderer; - -import de.sebthom.eclipse.previewer.api.ContentSource; - -/** - * @author Sebastian Thomschke - */ -public class CommonMarkRenderer implements MarkdownRenderer { - - public static final CommonMarkRenderer INSTANCE = new CommonMarkRenderer(); - - private final Parser parser; - private final HtmlRenderer renderer; - - @SuppressWarnings("null") - protected CommonMarkRenderer() { - final var extensions = List.of( // - AlertsExtension.create(), // - AutolinkExtension.create(), // - FootnotesExtension.create(), // - HeadingAnchorExtension.create(), // - ImageAttributesExtension.create(), // - InsExtension.create(), // - StrikethroughExtension.create(), // - TablesExtension.create(), // - TaskListItemsExtension.create(), // - YamlFrontMatterExtension.create()); - parser = Parser.builder().extensions(extensions).build(); - renderer = HtmlRenderer.builder().extensions(extensions).build(); - } - - @Override - public void markdownToHTML(final ContentSource source, final Appendable out) throws IOException { - try (var reader = source.contentAsReader()) { - renderer.render(parser.parseReader(reader), out); - } - } -} diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/renderer/GitHubMarkdownRenderer.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/renderer/GitHubMarkdownRenderer.java deleted file mode 100644 index bfb3c6c..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/renderer/GitHubMarkdownRenderer.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.markdown.renderer; - -import java.io.IOException; -import java.net.URI; -import java.net.http.HttpRequest; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; -import java.time.Duration; - -import org.apache.commons.io.input.CharSequenceInputStream; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.markdown.prefs.PluginPreferences; -import de.sebthom.eclipse.previewer.markdown.util.GitUtils; -import de.sebthom.eclipse.previewer.markdown.util.NetUtils; -import de.sebthom.eclipse.previewer.util.StringUtils; - -/** - * Uses the online GitHub API for Markdown to render markdown - * - * @author Sebastian Thomschke - */ -public final class GitHubMarkdownRenderer implements MarkdownRenderer { - - public static final GitHubMarkdownRenderer INSTANCE = new GitHubMarkdownRenderer(); - - @Override - public void markdownToHTML(final ContentSource source, final Appendable out) throws IOException { - try (var reader = source.contentAsReader()) { - - final var githubRepo = GitUtils.getGitHubOrgAndRepo(source.path()); - - final var jsonPayload = new StringBuilder(); - jsonPayload.append("{"); - jsonPayload.append("\"text\": \""); - StringUtils.jsonEscape(reader, jsonPayload); - jsonPayload.append('"'); - jsonPayload.append(", \"mode\": \"").append(PluginPreferences.getGithubApiMarkdownRenderMode()).append('"'); - if (githubRepo != null) { - jsonPayload.append(", \"context\": \"").append(githubRepo[0]).append('/').append(githubRepo[1]).append('"'); - } - jsonPayload.append("}"); - - final var githubApiUrl = PluginPreferences.getGithubApiUrl(); - final var githubApiToken = PluginPreferences.getGithubApiToken(); - final var uri = URI.create(githubApiUrl + (githubApiUrl.endsWith("/") ? "" : "/") + "markdown"); - - final var request = HttpRequest.newBuilder().uri(uri) // - .header("Accept", "application/vnd.github.v3+json") // - .header("Content-Type", "application/json") // - .header("X-GitHub-Api-Version", "2022-11-28") // - .timeout(Duration.ofSeconds(5)) // - .POST(BodyPublishers.ofInputStream(() -> CharSequenceInputStream.builder().setCharSequence(jsonPayload).get())); - if (!githubApiToken.isBlank()) { - request.header("Authorization", "token " + githubApiToken); - } - - try { - final var response = NetUtils.getHttpClient(uri) // - .send(request.build(), BodyHandlers.ofString()); - - if (response.statusCode() != 200) - throw new IOException("HTTP " + response.statusCode() + " " + response.body()); - - out.append(response.body()); - } catch (final InterruptedException ex) { - Thread.currentThread().interrupt(); - throw new IOException(ex); - } - } - } - - protected GitHubMarkdownRenderer() { - } -} diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/renderer/MarkdownRenderer.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/renderer/MarkdownRenderer.java deleted file mode 100644 index f8d71ac..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/renderer/MarkdownRenderer.java +++ /dev/null @@ -1,18 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.markdown.renderer; - -import java.io.IOException; - -import de.sebthom.eclipse.previewer.api.ContentSource; - -/** - * @author Sebastian Thomschke - */ -public interface MarkdownRenderer { - void markdownToHTML(ContentSource source, Appendable out) throws IOException; -} diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/renderer/package-info.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/renderer/package-info.java deleted file mode 100644 index 9f01ae8..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/renderer/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.markdown.renderer; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/util/GitUtils.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/util/GitUtils.java deleted file mode 100644 index 8ae0f8e..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/util/GitUtils.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.markdown.util; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.asNonNull; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.regex.Pattern; - -import org.eclipse.jdt.annotation.Nullable; - -import de.sebthom.eclipse.previewer.markdown.Plugin; - -/** - * @author Sebastian Thomschke - */ -public final class GitUtils { - - public static boolean isFileInGitRepo(final Path path) { - return findGitRepoRoot(path) != null; - } - - public static @Nullable Path findGitRepoRoot(final Path path) { - Path currentPath = path.toAbsolutePath(); - while (currentPath != null) { - if (Files.exists(currentPath.resolve(".git"))) - return currentPath; - currentPath = currentPath.getParent(); - } - return null; - } - - public static @Nullable String getGitRepoUrl(final Path path) { - final Path repoRoot = findGitRepoRoot(path); - if (repoRoot == null) - return null; - - final Path configFilePath = repoRoot.resolve(".git/config"); - if (!Files.exists(configFilePath)) - return null; - - try (var reader = Files.newBufferedReader(configFilePath)) { - boolean inRemoteOriginSection = false; - String line; - - while ((line = reader.readLine()) != null) { - line = line.trim(); - if ("[remote \"origin\"]".equals(line)) { - inRemoteOriginSection = true; - } else if (inRemoteOriginSection) { - if (line.startsWith("url = ")) - return line.substring(6).trim(); - else if (line.startsWith("[")) { - inRemoteOriginSection = false; - } - } - } - } catch (final IOException ex) { - Plugin.log().error(ex); - } - return null; - } - - public static String @Nullable [] getGitHubOrgAndRepo(final Path path) { - final var gitRepoUrl = getGitRepoUrl(path); - return gitRepoUrl == null ? null : getGitHubOrgAndRepo(gitRepoUrl); - } - - public static String @Nullable [] getGitHubOrgAndRepo(final String url) { - final var pattern = Pattern.compile("github\\.com[:/](.+?)/(.+?)(\\.git)?$"); - final var matcher = pattern.matcher(url); - if (matcher.find()) - return new String[] {asNonNull(matcher.group(1)), asNonNull(matcher.group(2))}; - return null; - } - - private GitUtils() { - } -} diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/util/NetUtils.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/util/NetUtils.java deleted file mode 100644 index 485a1b4..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/util/NetUtils.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.markdown.util; - -import java.net.Authenticator; -import java.net.InetSocketAddress; -import java.net.PasswordAuthentication; -import java.net.ProxySelector; -import java.net.URI; -import java.net.http.HttpClient; -import java.net.http.HttpClient.Redirect; -import java.net.http.HttpClient.Version; -import java.time.Duration; - -import org.eclipse.core.net.proxy.IProxyData; -import org.eclipse.core.net.proxy.IProxyService; -import org.eclipse.jdt.annotation.Nullable; - -import de.sebthom.eclipse.previewer.markdown.Plugin; - -/** - * @author Sebastian Thomschke - */ -public final class NetUtils { - - /** - * @param uri for HTTP proxy selection - */ - public static HttpClient getHttpClient(final URI uri) { - final var httpClientBuilder = HttpClient.newBuilder(); - final var proxyService = getProxyService(); - if (proxyService != null) { - for (final IProxyData proxyCfg : proxyService.select(uri)) { - if (proxyCfg.getType().equals(IProxyData.HTTP_PROXY_TYPE)) { - httpClientBuilder.proxy(ProxySelector.of(new InetSocketAddress(proxyCfg.getHost(), proxyCfg.getPort()))); - if (proxyCfg.isRequiresAuthentication()) { - httpClientBuilder.authenticator(new Authenticator() { - @Override - protected @Nullable PasswordAuthentication getPasswordAuthentication() { - return new PasswordAuthentication(proxyCfg.getUserId(), proxyCfg.getPassword().toCharArray()); - } - }); - } - break; - } - } - } - - return httpClientBuilder.version(Version.HTTP_2) // - .followRedirects(Redirect.NORMAL) // - .connectTimeout(Duration.ofSeconds(10)) // - .build(); - } - - private static @Nullable IProxyService getProxyService() { - if (!Plugin.isInitialized()) - return null; - - final var ctx = Plugin.get().getBundle().getBundleContext(); - if (ctx == null) - return null; - - final var proxyServiceRef = ctx.getServiceReference(IProxyService.class); - return proxyServiceRef == null ? null : ctx.getService(proxyServiceRef); - } - - private NetUtils() { - } -} diff --git a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/util/package-info.java b/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/util/package-info.java deleted file mode 100644 index b51732e..0000000 --- a/plugin-markdown/src/main/java/de/sebthom/eclipse/previewer/markdown/util/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.markdown.util; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-markdown/src/main/resources/github-markdown-css/LICENSE.txt b/plugin-markdown/src/main/resources/github-markdown-css/LICENSE.txt deleted file mode 100644 index fa7ceba..0000000 --- a/plugin-markdown/src/main/resources/github-markdown-css/LICENSE.txt +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) Sindre Sorhus (https://sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/plugin-markdown/src/main/resources/github-markdown-css/github-markdown-css.url b/plugin-markdown/src/main/resources/github-markdown-css/github-markdown-css.url deleted file mode 100644 index 9b92a3a..0000000 --- a/plugin-markdown/src/main/resources/github-markdown-css/github-markdown-css.url +++ /dev/null @@ -1,2 +0,0 @@ -[InternetShortcut] -URL=https://github.com/sindresorhus/github-markdown-css/ diff --git a/plugin-markdown/src/main/resources/github-markdown-css/github-markdown-dark.css b/plugin-markdown/src/main/resources/github-markdown-css/github-markdown-dark.css deleted file mode 100644 index 363d9d4..0000000 --- a/plugin-markdown/src/main/resources/github-markdown-css/github-markdown-dark.css +++ /dev/null @@ -1,1104 +0,0 @@ -/* dark */ -.markdown-body { - color-scheme: dark; - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; - margin: 0; - color: #f0f6fc; - background-color: #0d1117; - font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; - font-size: 16px; - line-height: 1.5; - word-wrap: break-word; -} - -.markdown-body .octicon { - display: inline-block; - fill: currentColor; - vertical-align: text-bottom; -} - -.markdown-body h1:hover .anchor .octicon-link:before, -.markdown-body h2:hover .anchor .octicon-link:before, -.markdown-body h3:hover .anchor .octicon-link:before, -.markdown-body h4:hover .anchor .octicon-link:before, -.markdown-body h5:hover .anchor .octicon-link:before, -.markdown-body h6:hover .anchor .octicon-link:before { - width: 16px; - height: 16px; - content: ' '; - display: inline-block; - background-color: currentColor; - -webkit-mask-image: url("data:image/svg+xml,"); - mask-image: url("data:image/svg+xml,"); -} - -.markdown-body details, -.markdown-body figcaption, -.markdown-body figure { - display: block; -} - -.markdown-body summary { - display: list-item; -} - -.markdown-body [hidden] { - display: none !important; -} - -.markdown-body a { - background-color: transparent; - color: #4493f8; - text-decoration: none; -} - -.markdown-body abbr[title] { - border-bottom: none; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; -} - -.markdown-body b, -.markdown-body strong { - font-weight: 600; -} - -.markdown-body dfn { - font-style: italic; -} - -.markdown-body h1 { - margin: .67em 0; - font-weight: 600; - padding-bottom: .3em; - font-size: 2em; - border-bottom: 1px solid #3d444db3; -} - -.markdown-body mark { - background-color: #bb800926; - color: #f0f6fc; -} - -.markdown-body small { - font-size: 90%; -} - -.markdown-body sub, -.markdown-body sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -.markdown-body sub { - bottom: -0.25em; -} - -.markdown-body sup { - top: -0.5em; -} - -.markdown-body img { - border-style: none; - max-width: 100%; - box-sizing: content-box; -} - -.markdown-body code, -.markdown-body kbd, -.markdown-body pre, -.markdown-body samp { - font-family: monospace; - font-size: 1em; -} - -.markdown-body figure { - margin: 1em 2.5rem; -} - -.markdown-body hr { - box-sizing: content-box; - overflow: hidden; - background: transparent; - border-bottom: 1px solid #3d444db3; - height: .25em; - padding: 0; - margin: 1.5rem 0; - background-color: #3d444d; - border: 0; -} - -.markdown-body input { - font: inherit; - margin: 0; - overflow: visible; - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -.markdown-body [type=button], -.markdown-body [type=reset], -.markdown-body [type=submit] { - -webkit-appearance: button; - appearance: button; -} - -.markdown-body [type=checkbox], -.markdown-body [type=radio] { - box-sizing: border-box; - padding: 0; -} - -.markdown-body [type=number]::-webkit-inner-spin-button, -.markdown-body [type=number]::-webkit-outer-spin-button { - height: auto; -} - -.markdown-body [type=search]::-webkit-search-cancel-button, -.markdown-body [type=search]::-webkit-search-decoration { - -webkit-appearance: none; - appearance: none; -} - -.markdown-body ::-webkit-input-placeholder { - color: inherit; - opacity: .54; -} - -.markdown-body ::-webkit-file-upload-button { - -webkit-appearance: button; - appearance: button; - font: inherit; -} - -.markdown-body a:hover { - text-decoration: underline; -} - -.markdown-body ::placeholder { - color: #9198a1; - opacity: 1; -} - -.markdown-body hr::before { - display: table; - content: ""; -} - -.markdown-body hr::after { - display: table; - clear: both; - content: ""; -} - -.markdown-body table { - border-spacing: 0; - border-collapse: collapse; - display: block; - width: max-content; - max-width: 100%; - overflow: auto; - font-variant: tabular-nums; -} - -.markdown-body td, -.markdown-body th { - padding: 0; -} - -.markdown-body details summary { - cursor: pointer; -} - -.markdown-body a:focus, -.markdown-body [role=button]:focus, -.markdown-body input[type=radio]:focus, -.markdown-body input[type=checkbox]:focus { - outline: 2px solid #1f6feb; - outline-offset: -2px; - box-shadow: none; -} - -.markdown-body a:focus:not(:focus-visible), -.markdown-body [role=button]:focus:not(:focus-visible), -.markdown-body input[type=radio]:focus:not(:focus-visible), -.markdown-body input[type=checkbox]:focus:not(:focus-visible) { - outline: solid 1px transparent; -} - -.markdown-body a:focus-visible, -.markdown-body [role=button]:focus-visible, -.markdown-body input[type=radio]:focus-visible, -.markdown-body input[type=checkbox]:focus-visible { - outline: 2px solid #1f6feb; - outline-offset: -2px; - box-shadow: none; -} - -.markdown-body a:not([class]):focus, -.markdown-body a:not([class]):focus-visible, -.markdown-body input[type=radio]:focus, -.markdown-body input[type=radio]:focus-visible, -.markdown-body input[type=checkbox]:focus, -.markdown-body input[type=checkbox]:focus-visible { - outline-offset: 0; -} - -.markdown-body kbd { - display: inline-block; - padding: 0.25rem; - font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace; - line-height: 10px; - color: #f0f6fc; - vertical-align: middle; - background-color: #151b23; - border: solid 1px #3d444db3; - border-bottom-color: #3d444db3; - border-radius: 6px; - box-shadow: inset 0 -1px 0 #3d444db3; -} - -.markdown-body h1, -.markdown-body h2, -.markdown-body h3, -.markdown-body h4, -.markdown-body h5, -.markdown-body h6 { - margin-top: 1.5rem; - margin-bottom: 1rem; - font-weight: 600; - line-height: 1.25; -} - -.markdown-body h2 { - font-weight: 600; - padding-bottom: .3em; - font-size: 1.5em; - border-bottom: 1px solid #3d444db3; -} - -.markdown-body h3 { - font-weight: 600; - font-size: 1.25em; -} - -.markdown-body h4 { - font-weight: 600; - font-size: 1em; -} - -.markdown-body h5 { - font-weight: 600; - font-size: .875em; -} - -.markdown-body h6 { - font-weight: 600; - font-size: .85em; - color: #9198a1; -} - -.markdown-body p { - margin-top: 0; - margin-bottom: 10px; -} - -.markdown-body blockquote { - margin: 0; - padding: 0 1em; - color: #9198a1; - border-left: .25em solid #3d444d; -} - -.markdown-body ul, -.markdown-body ol { - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} - -.markdown-body ol ol, -.markdown-body ul ol { - list-style-type: lower-roman; -} - -.markdown-body ul ul ol, -.markdown-body ul ol ol, -.markdown-body ol ul ol, -.markdown-body ol ol ol { - list-style-type: lower-alpha; -} - -.markdown-body dd { - margin-left: 0; -} - -.markdown-body tt, -.markdown-body code, -.markdown-body samp { - font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace; - font-size: 12px; -} - -.markdown-body pre { - margin-top: 0; - margin-bottom: 0; - font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace; - font-size: 12px; - word-wrap: normal; -} - -.markdown-body .octicon { - display: inline-block; - overflow: visible !important; - vertical-align: text-bottom; - fill: currentColor; -} - -.markdown-body input::-webkit-outer-spin-button, -.markdown-body input::-webkit-inner-spin-button { - margin: 0; - appearance: none; -} - -.markdown-body .mr-2 { - margin-right: 0.5rem !important; -} - -.markdown-body::before { - display: table; - content: ""; -} - -.markdown-body::after { - display: table; - clear: both; - content: ""; -} - -.markdown-body>*:first-child { - margin-top: 0 !important; -} - -.markdown-body>*:last-child { - margin-bottom: 0 !important; -} - -.markdown-body a:not([href]) { - color: inherit; - text-decoration: none; -} - -.markdown-body .absent { - color: #f85149; -} - -.markdown-body .anchor { - float: left; - padding-right: 0.25rem; - margin-left: -20px; - line-height: 1; -} - -.markdown-body .anchor:focus { - outline: none; -} - -.markdown-body p, -.markdown-body blockquote, -.markdown-body ul, -.markdown-body ol, -.markdown-body dl, -.markdown-body table, -.markdown-body pre, -.markdown-body details { - margin-top: 0; - margin-bottom: 1rem; -} - -.markdown-body blockquote>:first-child { - margin-top: 0; -} - -.markdown-body blockquote>:last-child { - margin-bottom: 0; -} - -.markdown-body h1 .octicon-link, -.markdown-body h2 .octicon-link, -.markdown-body h3 .octicon-link, -.markdown-body h4 .octicon-link, -.markdown-body h5 .octicon-link, -.markdown-body h6 .octicon-link { - color: #f0f6fc; - vertical-align: middle; - visibility: hidden; -} - -.markdown-body h1:hover .anchor, -.markdown-body h2:hover .anchor, -.markdown-body h3:hover .anchor, -.markdown-body h4:hover .anchor, -.markdown-body h5:hover .anchor, -.markdown-body h6:hover .anchor { - text-decoration: none; -} - -.markdown-body h1:hover .anchor .octicon-link, -.markdown-body h2:hover .anchor .octicon-link, -.markdown-body h3:hover .anchor .octicon-link, -.markdown-body h4:hover .anchor .octicon-link, -.markdown-body h5:hover .anchor .octicon-link, -.markdown-body h6:hover .anchor .octicon-link { - visibility: visible; -} - -.markdown-body h1 tt, -.markdown-body h1 code, -.markdown-body h2 tt, -.markdown-body h2 code, -.markdown-body h3 tt, -.markdown-body h3 code, -.markdown-body h4 tt, -.markdown-body h4 code, -.markdown-body h5 tt, -.markdown-body h5 code, -.markdown-body h6 tt, -.markdown-body h6 code { - padding: 0 .2em; - font-size: inherit; -} - -.markdown-body summary h1, -.markdown-body summary h2, -.markdown-body summary h3, -.markdown-body summary h4, -.markdown-body summary h5, -.markdown-body summary h6 { - display: inline-block; -} - -.markdown-body summary h1 .anchor, -.markdown-body summary h2 .anchor, -.markdown-body summary h3 .anchor, -.markdown-body summary h4 .anchor, -.markdown-body summary h5 .anchor, -.markdown-body summary h6 .anchor { - margin-left: -40px; -} - -.markdown-body summary h1, -.markdown-body summary h2 { - padding-bottom: 0; - border-bottom: 0; -} - -.markdown-body ul.no-list, -.markdown-body ol.no-list { - padding: 0; - list-style-type: none; -} - -.markdown-body ol[type="a s"] { - list-style-type: lower-alpha; -} - -.markdown-body ol[type="A s"] { - list-style-type: upper-alpha; -} - -.markdown-body ol[type="i s"] { - list-style-type: lower-roman; -} - -.markdown-body ol[type="I s"] { - list-style-type: upper-roman; -} - -.markdown-body ol[type="1"] { - list-style-type: decimal; -} - -.markdown-body div>ol:not([type]) { - list-style-type: decimal; -} - -.markdown-body ul ul, -.markdown-body ul ol, -.markdown-body ol ol, -.markdown-body ol ul { - margin-top: 0; - margin-bottom: 0; -} - -.markdown-body li>p { - margin-top: 1rem; -} - -.markdown-body li+li { - margin-top: .25em; -} - -.markdown-body dl { - padding: 0; -} - -.markdown-body dl dt { - padding: 0; - margin-top: 1rem; - font-size: 1em; - font-style: italic; - font-weight: 600; -} - -.markdown-body dl dd { - padding: 0 1rem; - margin-bottom: 1rem; -} - -.markdown-body table th { - font-weight: 600; -} - -.markdown-body table th, -.markdown-body table td { - padding: 6px 13px; - border: 1px solid #3d444d; -} - -.markdown-body table td>:last-child { - margin-bottom: 0; -} - -.markdown-body table tr { - background-color: #0d1117; - border-top: 1px solid #3d444db3; -} - -.markdown-body table tr:nth-child(2n) { - background-color: #151b23; -} - -.markdown-body table img { - background-color: transparent; -} - -.markdown-body img[align=right] { - padding-left: 20px; -} - -.markdown-body img[align=left] { - padding-right: 20px; -} - -.markdown-body .emoji { - max-width: none; - vertical-align: text-top; - background-color: transparent; -} - -.markdown-body span.frame { - display: block; - overflow: hidden; -} - -.markdown-body span.frame>span { - display: block; - float: left; - width: auto; - padding: 7px; - margin: 13px 0 0; - overflow: hidden; - border: 1px solid #3d444d; -} - -.markdown-body span.frame span img { - display: block; - float: left; -} - -.markdown-body span.frame span span { - display: block; - padding: 5px 0 0; - clear: both; - color: #f0f6fc; -} - -.markdown-body span.align-center { - display: block; - overflow: hidden; - clear: both; -} - -.markdown-body span.align-center>span { - display: block; - margin: 13px auto 0; - overflow: hidden; - text-align: center; -} - -.markdown-body span.align-center span img { - margin: 0 auto; - text-align: center; -} - -.markdown-body span.align-right { - display: block; - overflow: hidden; - clear: both; -} - -.markdown-body span.align-right>span { - display: block; - margin: 13px 0 0; - overflow: hidden; - text-align: right; -} - -.markdown-body span.align-right span img { - margin: 0; - text-align: right; -} - -.markdown-body span.float-left { - display: block; - float: left; - margin-right: 13px; - overflow: hidden; -} - -.markdown-body span.float-left span { - margin: 13px 0 0; -} - -.markdown-body span.float-right { - display: block; - float: right; - margin-left: 13px; - overflow: hidden; -} - -.markdown-body span.float-right>span { - display: block; - margin: 13px auto 0; - overflow: hidden; - text-align: right; -} - -.markdown-body code, -.markdown-body tt { - padding: .2em .4em; - margin: 0; - font-size: 85%; - white-space: break-spaces; - background-color: #656c7633; - border-radius: 6px; -} - -.markdown-body code br, -.markdown-body tt br { - display: none; -} - -.markdown-body del code { - text-decoration: inherit; -} - -.markdown-body samp { - font-size: 85%; -} - -.markdown-body pre code { - font-size: 100%; -} - -.markdown-body pre>code { - padding: 0; - margin: 0; - word-break: normal; - white-space: pre; - background: transparent; - border: 0; -} - -.markdown-body .highlight { - margin-bottom: 1rem; -} - -.markdown-body .highlight pre { - margin-bottom: 0; - word-break: normal; -} - -.markdown-body .highlight pre, -.markdown-body pre { - padding: 1rem; - overflow: auto; - font-size: 85%; - line-height: 1.45; - color: #f0f6fc; - background-color: #151b23; - border-radius: 6px; -} - -.markdown-body pre code, -.markdown-body pre tt { - display: inline; - max-width: auto; - padding: 0; - margin: 0; - overflow: visible; - line-height: inherit; - word-wrap: normal; - background-color: transparent; - border: 0; -} - -.markdown-body .csv-data td, -.markdown-body .csv-data th { - padding: 5px; - overflow: hidden; - font-size: 12px; - line-height: 1; - text-align: left; - white-space: nowrap; -} - -.markdown-body .csv-data .blob-num { - padding: 10px 0.5rem 9px; - text-align: right; - background: #0d1117; - border: 0; -} - -.markdown-body .csv-data tr { - border-top: 0; -} - -.markdown-body .csv-data th { - font-weight: 600; - background: #151b23; - border-top: 0; -} - -.markdown-body [data-footnote-ref]::before { - content: "["; -} - -.markdown-body [data-footnote-ref]::after { - content: "]"; -} - -.markdown-body .footnotes { - font-size: 12px; - color: #9198a1; - border-top: 1px solid #3d444d; -} - -.markdown-body .footnotes ol { - padding-left: 1rem; -} - -.markdown-body .footnotes ol ul { - display: inline-block; - padding-left: 1rem; - margin-top: 1rem; -} - -.markdown-body .footnotes li { - position: relative; -} - -.markdown-body .footnotes li:target::before { - position: absolute; - top: calc(0.5rem*-1); - right: calc(0.5rem*-1); - bottom: calc(0.5rem*-1); - left: calc(1.5rem*-1); - pointer-events: none; - content: ""; - border: 2px solid #1f6feb; - border-radius: 6px; -} - -.markdown-body .footnotes li:target { - color: #f0f6fc; -} - -.markdown-body .footnotes .data-footnote-backref g-emoji { - font-family: monospace; -} - -.markdown-body body:has(:modal) { - padding-right: var(--dialog-scrollgutter) !important; -} - -.markdown-body .pl-c { - color: #9198a1; -} - -.markdown-body .pl-c1, -.markdown-body .pl-s .pl-v { - color: #79c0ff; -} - -.markdown-body .pl-e, -.markdown-body .pl-en { - color: #d2a8ff; -} - -.markdown-body .pl-smi, -.markdown-body .pl-s .pl-s1 { - color: #f0f6fc; -} - -.markdown-body .pl-ent { - color: #7ee787; -} - -.markdown-body .pl-k { - color: #ff7b72; -} - -.markdown-body .pl-s, -.markdown-body .pl-pds, -.markdown-body .pl-s .pl-pse .pl-s1, -.markdown-body .pl-sr, -.markdown-body .pl-sr .pl-cce, -.markdown-body .pl-sr .pl-sre, -.markdown-body .pl-sr .pl-sra { - color: #a5d6ff; -} - -.markdown-body .pl-v, -.markdown-body .pl-smw { - color: #ffa657; -} - -.markdown-body .pl-bu { - color: #f85149; -} - -.markdown-body .pl-ii { - color: #f0f6fc; - background-color: #8e1519; -} - -.markdown-body .pl-c2 { - color: #f0f6fc; - background-color: #b62324; -} - -.markdown-body .pl-sr .pl-cce { - font-weight: bold; - color: #7ee787; -} - -.markdown-body .pl-ml { - color: #f2cc60; -} - -.markdown-body .pl-mh, -.markdown-body .pl-mh .pl-en, -.markdown-body .pl-ms { - font-weight: bold; - color: #1f6feb; -} - -.markdown-body .pl-mi { - font-style: italic; - color: #f0f6fc; -} - -.markdown-body .pl-mb { - font-weight: bold; - color: #f0f6fc; -} - -.markdown-body .pl-md { - color: #ffdcd7; - background-color: #67060c; -} - -.markdown-body .pl-mi1 { - color: #aff5b4; - background-color: #033a16; -} - -.markdown-body .pl-mc { - color: #ffdfb6; - background-color: #5a1e02; -} - -.markdown-body .pl-mi2 { - color: #f0f6fc; - background-color: #1158c7; -} - -.markdown-body .pl-mdr { - font-weight: bold; - color: #d2a8ff; -} - -.markdown-body .pl-ba { - color: #9198a1; -} - -.markdown-body .pl-sg { - color: #3d444d; -} - -.markdown-body .pl-corl { - text-decoration: underline; - color: #a5d6ff; -} - -.markdown-body [role=button]:focus:not(:focus-visible), -.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible), -.markdown-body button:focus:not(:focus-visible), -.markdown-body summary:focus:not(:focus-visible), -.markdown-body a:focus:not(:focus-visible) { - outline: none; - box-shadow: none; -} - -.markdown-body [tabindex="0"]:focus:not(:focus-visible), -.markdown-body details-dialog:focus:not(:focus-visible) { - outline: none; -} - -.markdown-body g-emoji { - display: inline-block; - min-width: 1ch; - font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; - font-size: 1em; - font-style: normal !important; - font-weight: 400; - line-height: 1; - vertical-align: -0.075em; -} - -.markdown-body g-emoji img { - width: 1em; - height: 1em; -} - -.markdown-body .task-list-item { - list-style-type: none; -} - -.markdown-body .task-list-item label { - font-weight: 400; -} - -.markdown-body .task-list-item.enabled label { - cursor: pointer; -} - -.markdown-body .task-list-item+.task-list-item { - margin-top: 0.25rem; -} - -.markdown-body .task-list-item .handle { - display: none; -} - -.markdown-body .task-list-item-checkbox { - margin: 0 .2em .25em -1.4em; - vertical-align: middle; -} - -.markdown-body ul:dir(rtl) .task-list-item-checkbox { - margin: 0 -1.6em .25em .2em; -} - -.markdown-body ol:dir(rtl) .task-list-item-checkbox { - margin: 0 -1.6em .25em .2em; -} - -.markdown-body .contains-task-list:hover .task-list-item-convert-container, -.markdown-body .contains-task-list:focus-within .task-list-item-convert-container { - display: block; - width: auto; - height: 24px; - overflow: visible; - clip: auto; -} - -.markdown-body ::-webkit-calendar-picker-indicator { - filter: invert(50%); -} - -.markdown-body .markdown-alert { - padding: 0.5rem 1rem; - margin-bottom: 1rem; - color: inherit; - border-left: .25em solid #3d444d; -} - -.markdown-body .markdown-alert>:first-child { - margin-top: 0; -} - -.markdown-body .markdown-alert>:last-child { - margin-bottom: 0; -} - -.markdown-body .markdown-alert .markdown-alert-title { - display: flex; - font-weight: 500; - align-items: center; - line-height: 1; -} - -.markdown-body .markdown-alert.markdown-alert-note { - border-left-color: #1f6feb; -} - -.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title { - color: #4493f8; -} - -.markdown-body .markdown-alert.markdown-alert-important { - border-left-color: #8957e5; -} - -.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title { - color: #ab7df8; -} - -.markdown-body .markdown-alert.markdown-alert-warning { - border-left-color: #9e6a03; -} - -.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title { - color: #d29922; -} - -.markdown-body .markdown-alert.markdown-alert-tip { - border-left-color: #238636; -} - -.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title { - color: #3fb950; -} - -.markdown-body .markdown-alert.markdown-alert-caution { - border-left-color: #da3633; -} - -.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title { - color: #f85149; -} - -.markdown-body>*:first-child>.heading-element:first-child { - margin-top: 0 !important; -} - -.markdown-body .highlight pre:has(+.zeroclipboard-container) { - min-height: 52px; -} diff --git a/plugin-markdown/src/main/resources/github-markdown-css/github-markdown-light.css b/plugin-markdown/src/main/resources/github-markdown-css/github-markdown-light.css deleted file mode 100644 index 7b8ef3e..0000000 --- a/plugin-markdown/src/main/resources/github-markdown-css/github-markdown-light.css +++ /dev/null @@ -1,1104 +0,0 @@ -/* light */ -.markdown-body { - color-scheme: light; - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; - margin: 0; - color: #1f2328; - background-color: #ffffff; - font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; - font-size: 16px; - line-height: 1.5; - word-wrap: break-word; -} - -.markdown-body .octicon { - display: inline-block; - fill: currentColor; - vertical-align: text-bottom; -} - -.markdown-body h1:hover .anchor .octicon-link:before, -.markdown-body h2:hover .anchor .octicon-link:before, -.markdown-body h3:hover .anchor .octicon-link:before, -.markdown-body h4:hover .anchor .octicon-link:before, -.markdown-body h5:hover .anchor .octicon-link:before, -.markdown-body h6:hover .anchor .octicon-link:before { - width: 16px; - height: 16px; - content: ' '; - display: inline-block; - background-color: currentColor; - -webkit-mask-image: url("data:image/svg+xml,"); - mask-image: url("data:image/svg+xml,"); -} - -.markdown-body details, -.markdown-body figcaption, -.markdown-body figure { - display: block; -} - -.markdown-body summary { - display: list-item; -} - -.markdown-body [hidden] { - display: none !important; -} - -.markdown-body a { - background-color: transparent; - color: #0969da; - text-decoration: none; -} - -.markdown-body abbr[title] { - border-bottom: none; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; -} - -.markdown-body b, -.markdown-body strong { - font-weight: 600; -} - -.markdown-body dfn { - font-style: italic; -} - -.markdown-body h1 { - margin: .67em 0; - font-weight: 600; - padding-bottom: .3em; - font-size: 2em; - border-bottom: 1px solid #d1d9e0b3; -} - -.markdown-body mark { - background-color: #fff8c5; - color: #1f2328; -} - -.markdown-body small { - font-size: 90%; -} - -.markdown-body sub, -.markdown-body sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -.markdown-body sub { - bottom: -0.25em; -} - -.markdown-body sup { - top: -0.5em; -} - -.markdown-body img { - border-style: none; - max-width: 100%; - box-sizing: content-box; -} - -.markdown-body code, -.markdown-body kbd, -.markdown-body pre, -.markdown-body samp { - font-family: monospace; - font-size: 1em; -} - -.markdown-body figure { - margin: 1em 2.5rem; -} - -.markdown-body hr { - box-sizing: content-box; - overflow: hidden; - background: transparent; - border-bottom: 1px solid #d1d9e0b3; - height: .25em; - padding: 0; - margin: 1.5rem 0; - background-color: #d1d9e0; - border: 0; -} - -.markdown-body input { - font: inherit; - margin: 0; - overflow: visible; - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -.markdown-body [type=button], -.markdown-body [type=reset], -.markdown-body [type=submit] { - -webkit-appearance: button; - appearance: button; -} - -.markdown-body [type=checkbox], -.markdown-body [type=radio] { - box-sizing: border-box; - padding: 0; -} - -.markdown-body [type=number]::-webkit-inner-spin-button, -.markdown-body [type=number]::-webkit-outer-spin-button { - height: auto; -} - -.markdown-body [type=search]::-webkit-search-cancel-button, -.markdown-body [type=search]::-webkit-search-decoration { - -webkit-appearance: none; - appearance: none; -} - -.markdown-body ::-webkit-input-placeholder { - color: inherit; - opacity: .54; -} - -.markdown-body ::-webkit-file-upload-button { - -webkit-appearance: button; - appearance: button; - font: inherit; -} - -.markdown-body a:hover { - text-decoration: underline; -} - -.markdown-body ::placeholder { - color: #59636e; - opacity: 1; -} - -.markdown-body hr::before { - display: table; - content: ""; -} - -.markdown-body hr::after { - display: table; - clear: both; - content: ""; -} - -.markdown-body table { - border-spacing: 0; - border-collapse: collapse; - display: block; - width: max-content; - max-width: 100%; - overflow: auto; - font-variant: tabular-nums; -} - -.markdown-body td, -.markdown-body th { - padding: 0; -} - -.markdown-body details summary { - cursor: pointer; -} - -.markdown-body a:focus, -.markdown-body [role=button]:focus, -.markdown-body input[type=radio]:focus, -.markdown-body input[type=checkbox]:focus { - outline: 2px solid #0969da; - outline-offset: -2px; - box-shadow: none; -} - -.markdown-body a:focus:not(:focus-visible), -.markdown-body [role=button]:focus:not(:focus-visible), -.markdown-body input[type=radio]:focus:not(:focus-visible), -.markdown-body input[type=checkbox]:focus:not(:focus-visible) { - outline: solid 1px transparent; -} - -.markdown-body a:focus-visible, -.markdown-body [role=button]:focus-visible, -.markdown-body input[type=radio]:focus-visible, -.markdown-body input[type=checkbox]:focus-visible { - outline: 2px solid #0969da; - outline-offset: -2px; - box-shadow: none; -} - -.markdown-body a:not([class]):focus, -.markdown-body a:not([class]):focus-visible, -.markdown-body input[type=radio]:focus, -.markdown-body input[type=radio]:focus-visible, -.markdown-body input[type=checkbox]:focus, -.markdown-body input[type=checkbox]:focus-visible { - outline-offset: 0; -} - -.markdown-body kbd { - display: inline-block; - padding: 0.25rem; - font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace; - line-height: 10px; - color: #1f2328; - vertical-align: middle; - background-color: #f6f8fa; - border: solid 1px #d1d9e0b3; - border-bottom-color: #d1d9e0b3; - border-radius: 6px; - box-shadow: inset 0 -1px 0 #d1d9e0b3; -} - -.markdown-body h1, -.markdown-body h2, -.markdown-body h3, -.markdown-body h4, -.markdown-body h5, -.markdown-body h6 { - margin-top: 1.5rem; - margin-bottom: 1rem; - font-weight: 600; - line-height: 1.25; -} - -.markdown-body h2 { - font-weight: 600; - padding-bottom: .3em; - font-size: 1.5em; - border-bottom: 1px solid #d1d9e0b3; -} - -.markdown-body h3 { - font-weight: 600; - font-size: 1.25em; -} - -.markdown-body h4 { - font-weight: 600; - font-size: 1em; -} - -.markdown-body h5 { - font-weight: 600; - font-size: .875em; -} - -.markdown-body h6 { - font-weight: 600; - font-size: .85em; - color: #59636e; -} - -.markdown-body p { - margin-top: 0; - margin-bottom: 10px; -} - -.markdown-body blockquote { - margin: 0; - padding: 0 1em; - color: #59636e; - border-left: .25em solid #d1d9e0; -} - -.markdown-body ul, -.markdown-body ol { - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} - -.markdown-body ol ol, -.markdown-body ul ol { - list-style-type: lower-roman; -} - -.markdown-body ul ul ol, -.markdown-body ul ol ol, -.markdown-body ol ul ol, -.markdown-body ol ol ol { - list-style-type: lower-alpha; -} - -.markdown-body dd { - margin-left: 0; -} - -.markdown-body tt, -.markdown-body code, -.markdown-body samp { - font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace; - font-size: 12px; -} - -.markdown-body pre { - margin-top: 0; - margin-bottom: 0; - font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace; - font-size: 12px; - word-wrap: normal; -} - -.markdown-body .octicon { - display: inline-block; - overflow: visible !important; - vertical-align: text-bottom; - fill: currentColor; -} - -.markdown-body input::-webkit-outer-spin-button, -.markdown-body input::-webkit-inner-spin-button { - margin: 0; - appearance: none; -} - -.markdown-body .mr-2 { - margin-right: 0.5rem !important; -} - -.markdown-body::before { - display: table; - content: ""; -} - -.markdown-body::after { - display: table; - clear: both; - content: ""; -} - -.markdown-body>*:first-child { - margin-top: 0 !important; -} - -.markdown-body>*:last-child { - margin-bottom: 0 !important; -} - -.markdown-body a:not([href]) { - color: inherit; - text-decoration: none; -} - -.markdown-body .absent { - color: #d1242f; -} - -.markdown-body .anchor { - float: left; - padding-right: 0.25rem; - margin-left: -20px; - line-height: 1; -} - -.markdown-body .anchor:focus { - outline: none; -} - -.markdown-body p, -.markdown-body blockquote, -.markdown-body ul, -.markdown-body ol, -.markdown-body dl, -.markdown-body table, -.markdown-body pre, -.markdown-body details { - margin-top: 0; - margin-bottom: 1rem; -} - -.markdown-body blockquote>:first-child { - margin-top: 0; -} - -.markdown-body blockquote>:last-child { - margin-bottom: 0; -} - -.markdown-body h1 .octicon-link, -.markdown-body h2 .octicon-link, -.markdown-body h3 .octicon-link, -.markdown-body h4 .octicon-link, -.markdown-body h5 .octicon-link, -.markdown-body h6 .octicon-link { - color: #1f2328; - vertical-align: middle; - visibility: hidden; -} - -.markdown-body h1:hover .anchor, -.markdown-body h2:hover .anchor, -.markdown-body h3:hover .anchor, -.markdown-body h4:hover .anchor, -.markdown-body h5:hover .anchor, -.markdown-body h6:hover .anchor { - text-decoration: none; -} - -.markdown-body h1:hover .anchor .octicon-link, -.markdown-body h2:hover .anchor .octicon-link, -.markdown-body h3:hover .anchor .octicon-link, -.markdown-body h4:hover .anchor .octicon-link, -.markdown-body h5:hover .anchor .octicon-link, -.markdown-body h6:hover .anchor .octicon-link { - visibility: visible; -} - -.markdown-body h1 tt, -.markdown-body h1 code, -.markdown-body h2 tt, -.markdown-body h2 code, -.markdown-body h3 tt, -.markdown-body h3 code, -.markdown-body h4 tt, -.markdown-body h4 code, -.markdown-body h5 tt, -.markdown-body h5 code, -.markdown-body h6 tt, -.markdown-body h6 code { - padding: 0 .2em; - font-size: inherit; -} - -.markdown-body summary h1, -.markdown-body summary h2, -.markdown-body summary h3, -.markdown-body summary h4, -.markdown-body summary h5, -.markdown-body summary h6 { - display: inline-block; -} - -.markdown-body summary h1 .anchor, -.markdown-body summary h2 .anchor, -.markdown-body summary h3 .anchor, -.markdown-body summary h4 .anchor, -.markdown-body summary h5 .anchor, -.markdown-body summary h6 .anchor { - margin-left: -40px; -} - -.markdown-body summary h1, -.markdown-body summary h2 { - padding-bottom: 0; - border-bottom: 0; -} - -.markdown-body ul.no-list, -.markdown-body ol.no-list { - padding: 0; - list-style-type: none; -} - -.markdown-body ol[type="a s"] { - list-style-type: lower-alpha; -} - -.markdown-body ol[type="A s"] { - list-style-type: upper-alpha; -} - -.markdown-body ol[type="i s"] { - list-style-type: lower-roman; -} - -.markdown-body ol[type="I s"] { - list-style-type: upper-roman; -} - -.markdown-body ol[type="1"] { - list-style-type: decimal; -} - -.markdown-body div>ol:not([type]) { - list-style-type: decimal; -} - -.markdown-body ul ul, -.markdown-body ul ol, -.markdown-body ol ol, -.markdown-body ol ul { - margin-top: 0; - margin-bottom: 0; -} - -.markdown-body li>p { - margin-top: 1rem; -} - -.markdown-body li+li { - margin-top: .25em; -} - -.markdown-body dl { - padding: 0; -} - -.markdown-body dl dt { - padding: 0; - margin-top: 1rem; - font-size: 1em; - font-style: italic; - font-weight: 600; -} - -.markdown-body dl dd { - padding: 0 1rem; - margin-bottom: 1rem; -} - -.markdown-body table th { - font-weight: 600; -} - -.markdown-body table th, -.markdown-body table td { - padding: 6px 13px; - border: 1px solid #d1d9e0; -} - -.markdown-body table td>:last-child { - margin-bottom: 0; -} - -.markdown-body table tr { - background-color: #ffffff; - border-top: 1px solid #d1d9e0b3; -} - -.markdown-body table tr:nth-child(2n) { - background-color: #f6f8fa; -} - -.markdown-body table img { - background-color: transparent; -} - -.markdown-body img[align=right] { - padding-left: 20px; -} - -.markdown-body img[align=left] { - padding-right: 20px; -} - -.markdown-body .emoji { - max-width: none; - vertical-align: text-top; - background-color: transparent; -} - -.markdown-body span.frame { - display: block; - overflow: hidden; -} - -.markdown-body span.frame>span { - display: block; - float: left; - width: auto; - padding: 7px; - margin: 13px 0 0; - overflow: hidden; - border: 1px solid #d1d9e0; -} - -.markdown-body span.frame span img { - display: block; - float: left; -} - -.markdown-body span.frame span span { - display: block; - padding: 5px 0 0; - clear: both; - color: #1f2328; -} - -.markdown-body span.align-center { - display: block; - overflow: hidden; - clear: both; -} - -.markdown-body span.align-center>span { - display: block; - margin: 13px auto 0; - overflow: hidden; - text-align: center; -} - -.markdown-body span.align-center span img { - margin: 0 auto; - text-align: center; -} - -.markdown-body span.align-right { - display: block; - overflow: hidden; - clear: both; -} - -.markdown-body span.align-right>span { - display: block; - margin: 13px 0 0; - overflow: hidden; - text-align: right; -} - -.markdown-body span.align-right span img { - margin: 0; - text-align: right; -} - -.markdown-body span.float-left { - display: block; - float: left; - margin-right: 13px; - overflow: hidden; -} - -.markdown-body span.float-left span { - margin: 13px 0 0; -} - -.markdown-body span.float-right { - display: block; - float: right; - margin-left: 13px; - overflow: hidden; -} - -.markdown-body span.float-right>span { - display: block; - margin: 13px auto 0; - overflow: hidden; - text-align: right; -} - -.markdown-body code, -.markdown-body tt { - padding: .2em .4em; - margin: 0; - font-size: 85%; - white-space: break-spaces; - background-color: #818b981f; - border-radius: 6px; -} - -.markdown-body code br, -.markdown-body tt br { - display: none; -} - -.markdown-body del code { - text-decoration: inherit; -} - -.markdown-body samp { - font-size: 85%; -} - -.markdown-body pre code { - font-size: 100%; -} - -.markdown-body pre>code { - padding: 0; - margin: 0; - word-break: normal; - white-space: pre; - background: transparent; - border: 0; -} - -.markdown-body .highlight { - margin-bottom: 1rem; -} - -.markdown-body .highlight pre { - margin-bottom: 0; - word-break: normal; -} - -.markdown-body .highlight pre, -.markdown-body pre { - padding: 1rem; - overflow: auto; - font-size: 85%; - line-height: 1.45; - color: #1f2328; - background-color: #f6f8fa; - border-radius: 6px; -} - -.markdown-body pre code, -.markdown-body pre tt { - display: inline; - max-width: auto; - padding: 0; - margin: 0; - overflow: visible; - line-height: inherit; - word-wrap: normal; - background-color: transparent; - border: 0; -} - -.markdown-body .csv-data td, -.markdown-body .csv-data th { - padding: 5px; - overflow: hidden; - font-size: 12px; - line-height: 1; - text-align: left; - white-space: nowrap; -} - -.markdown-body .csv-data .blob-num { - padding: 10px 0.5rem 9px; - text-align: right; - background: #ffffff; - border: 0; -} - -.markdown-body .csv-data tr { - border-top: 0; -} - -.markdown-body .csv-data th { - font-weight: 600; - background: #f6f8fa; - border-top: 0; -} - -.markdown-body [data-footnote-ref]::before { - content: "["; -} - -.markdown-body [data-footnote-ref]::after { - content: "]"; -} - -.markdown-body .footnotes { - font-size: 12px; - color: #59636e; - border-top: 1px solid #d1d9e0; -} - -.markdown-body .footnotes ol { - padding-left: 1rem; -} - -.markdown-body .footnotes ol ul { - display: inline-block; - padding-left: 1rem; - margin-top: 1rem; -} - -.markdown-body .footnotes li { - position: relative; -} - -.markdown-body .footnotes li:target::before { - position: absolute; - top: calc(0.5rem*-1); - right: calc(0.5rem*-1); - bottom: calc(0.5rem*-1); - left: calc(1.5rem*-1); - pointer-events: none; - content: ""; - border: 2px solid #0969da; - border-radius: 6px; -} - -.markdown-body .footnotes li:target { - color: #1f2328; -} - -.markdown-body .footnotes .data-footnote-backref g-emoji { - font-family: monospace; -} - -.markdown-body body:has(:modal) { - padding-right: var(--dialog-scrollgutter) !important; -} - -.markdown-body .pl-c { - color: #59636e; -} - -.markdown-body .pl-c1, -.markdown-body .pl-s .pl-v { - color: #0550ae; -} - -.markdown-body .pl-e, -.markdown-body .pl-en { - color: #6639ba; -} - -.markdown-body .pl-smi, -.markdown-body .pl-s .pl-s1 { - color: #1f2328; -} - -.markdown-body .pl-ent { - color: #0550ae; -} - -.markdown-body .pl-k { - color: #cf222e; -} - -.markdown-body .pl-s, -.markdown-body .pl-pds, -.markdown-body .pl-s .pl-pse .pl-s1, -.markdown-body .pl-sr, -.markdown-body .pl-sr .pl-cce, -.markdown-body .pl-sr .pl-sre, -.markdown-body .pl-sr .pl-sra { - color: #0a3069; -} - -.markdown-body .pl-v, -.markdown-body .pl-smw { - color: #953800; -} - -.markdown-body .pl-bu { - color: #82071e; -} - -.markdown-body .pl-ii { - color: #f6f8fa; - background-color: #82071e; -} - -.markdown-body .pl-c2 { - color: #f6f8fa; - background-color: #cf222e; -} - -.markdown-body .pl-sr .pl-cce { - font-weight: bold; - color: #116329; -} - -.markdown-body .pl-ml { - color: #3b2300; -} - -.markdown-body .pl-mh, -.markdown-body .pl-mh .pl-en, -.markdown-body .pl-ms { - font-weight: bold; - color: #0550ae; -} - -.markdown-body .pl-mi { - font-style: italic; - color: #1f2328; -} - -.markdown-body .pl-mb { - font-weight: bold; - color: #1f2328; -} - -.markdown-body .pl-md { - color: #82071e; - background-color: #ffebe9; -} - -.markdown-body .pl-mi1 { - color: #116329; - background-color: #dafbe1; -} - -.markdown-body .pl-mc { - color: #953800; - background-color: #ffd8b5; -} - -.markdown-body .pl-mi2 { - color: #d1d9e0; - background-color: #0550ae; -} - -.markdown-body .pl-mdr { - font-weight: bold; - color: #8250df; -} - -.markdown-body .pl-ba { - color: #59636e; -} - -.markdown-body .pl-sg { - color: #818b98; -} - -.markdown-body .pl-corl { - text-decoration: underline; - color: #0a3069; -} - -.markdown-body [role=button]:focus:not(:focus-visible), -.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible), -.markdown-body button:focus:not(:focus-visible), -.markdown-body summary:focus:not(:focus-visible), -.markdown-body a:focus:not(:focus-visible) { - outline: none; - box-shadow: none; -} - -.markdown-body [tabindex="0"]:focus:not(:focus-visible), -.markdown-body details-dialog:focus:not(:focus-visible) { - outline: none; -} - -.markdown-body g-emoji { - display: inline-block; - min-width: 1ch; - font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; - font-size: 1em; - font-style: normal !important; - font-weight: 400; - line-height: 1; - vertical-align: -0.075em; -} - -.markdown-body g-emoji img { - width: 1em; - height: 1em; -} - -.markdown-body .task-list-item { - list-style-type: none; -} - -.markdown-body .task-list-item label { - font-weight: 400; -} - -.markdown-body .task-list-item.enabled label { - cursor: pointer; -} - -.markdown-body .task-list-item+.task-list-item { - margin-top: 0.25rem; -} - -.markdown-body .task-list-item .handle { - display: none; -} - -.markdown-body .task-list-item-checkbox { - margin: 0 .2em .25em -1.4em; - vertical-align: middle; -} - -.markdown-body ul:dir(rtl) .task-list-item-checkbox { - margin: 0 -1.6em .25em .2em; -} - -.markdown-body ol:dir(rtl) .task-list-item-checkbox { - margin: 0 -1.6em .25em .2em; -} - -.markdown-body .contains-task-list:hover .task-list-item-convert-container, -.markdown-body .contains-task-list:focus-within .task-list-item-convert-container { - display: block; - width: auto; - height: 24px; - overflow: visible; - clip: auto; -} - -.markdown-body ::-webkit-calendar-picker-indicator { - filter: invert(50%); -} - -.markdown-body .markdown-alert { - padding: 0.5rem 1rem; - margin-bottom: 1rem; - color: inherit; - border-left: .25em solid #d1d9e0; -} - -.markdown-body .markdown-alert>:first-child { - margin-top: 0; -} - -.markdown-body .markdown-alert>:last-child { - margin-bottom: 0; -} - -.markdown-body .markdown-alert .markdown-alert-title { - display: flex; - font-weight: 500; - align-items: center; - line-height: 1; -} - -.markdown-body .markdown-alert.markdown-alert-note { - border-left-color: #0969da; -} - -.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title { - color: #0969da; -} - -.markdown-body .markdown-alert.markdown-alert-important { - border-left-color: #8250df; -} - -.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title { - color: #8250df; -} - -.markdown-body .markdown-alert.markdown-alert-warning { - border-left-color: #9a6700; -} - -.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title { - color: #9a6700; -} - -.markdown-body .markdown-alert.markdown-alert-tip { - border-left-color: #1a7f37; -} - -.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title { - color: #1a7f37; -} - -.markdown-body .markdown-alert.markdown-alert-caution { - border-left-color: #cf222e; -} - -.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title { - color: #d1242f; -} - -.markdown-body>*:first-child>.heading-element:first-child { - margin-top: 0 !important; -} - -.markdown-body .highlight pre:has(+.zeroclipboard-container) { - min-height: 52px; -} diff --git a/plugin-mermaid/.settings/org.eclipse.jdt.core.prefs b/plugin-mermaid/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index b1dda13..0000000 --- a/plugin-mermaid/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,123 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.annotationPath.allLocations=enabled -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.notowning=org.eclipse.jdt.annotation.NotOwning -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled -org.eclipse.jdt.core.compiler.annotation.owning=org.eclipse.jdt.annotation.Owning -org.eclipse.jdt.core.compiler.annotation.resourceanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=17 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompatibleOwningContract=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.insufficientResourceAnalysis=warning -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=error -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=warning -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=enabled -org.eclipse.jdt.core.compiler.source=17 diff --git a/plugin-mermaid/META-INF/MANIFEST.MF b/plugin-mermaid/META-INF/MANIFEST.MF deleted file mode 100644 index 3f9bf6e..0000000 --- a/plugin-mermaid/META-INF/MANIFEST.MF +++ /dev/null @@ -1,22 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %PluginName -Bundle-SymbolicName: de.sebthom.eclipse.previewer.mermaid;singleton:=true -Bundle-Version: 1.0.0.qualifier -Bundle-Vendor: Sebastian Thomschke -Bundle-Localization: src/main/java/de/sebthom/eclipse/previewer/mermaid/localization/messages -Automatic-Module-Name: de.sebthom.eclipse.previewer.mermaid -Bundle-Activator: de.sebthom.eclipse.previewer.mermaid.Plugin -Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-17 -Bundle-ClassPath: . -Export-Package: de.sebthom.eclipse.previewer.mermaid;x-friends:="de.sebthom.eclipse.previewer.markdown" -Require-Bundle: org.eclipse.platform;bundle-version="4.25.0", - org.eclipse.core.resources, - org.eclipse.core.runtime, - org.eclipse.osgi, - org.eclipse.ui, - org.apache.commons.lang3;bundle-version="[3.19.0,4.0.0)", - net.sf.jstuff.core;bundle-version="[8.2.0,9.0.0)", - de.sebthom.eclipse.commons;bundle-version="[1.0.0.20251127-1946,2.0.0)", - de.sebthom.eclipse.previewer;bundle-version="[1.0.0,2.0.0)" diff --git a/plugin-mermaid/about.ini b/plugin-mermaid/about.ini deleted file mode 100644 index f386406..0000000 --- a/plugin-mermaid/about.ini +++ /dev/null @@ -1,12 +0,0 @@ -# https://ekkescorner.wordpress.com/2010/06/13/brand-your-feature-and-be-part-of-about-eclipse/ -aboutText=\ -Previewer plugin to render Mermaid diagrams\n\ -\n\ -Copyright 2024 by Sebastian Thomschke and contributors.\n\ -\n\ -All rights reserved. This program and the accompanying materials \ -are made available under the terms of the Eclipse Public License v2.0 \ -which accompanies this distribution, and is available at \ -https://www.eclipse.org/legal/epl-v20.html\n\ -\n\ -Visit https://github.com/sebthom/previewer-eclipse-plugin diff --git a/plugin-mermaid/build.properties b/plugin-mermaid/build.properties deleted file mode 100644 index 3552351..0000000 --- a/plugin-mermaid/build.properties +++ /dev/null @@ -1,12 +0,0 @@ -source.. = src/main/java/ -output.. = target/classes/ -bin.includes = META-INF/,\ - .,\ - plugin.xml,\ - about.ini,\ - src/main/resources/,\ - src/main/java/de/sebthom/eclipse/previewer/mermaid/localization/ -bin.excludes = src/main/java/de/sebthom/eclipse/previewer/mermaid/localization/Messages.java - -# JDT Null Analysis for Eclipse -additional.bundles = org.eclipse.jdt.annotation diff --git a/plugin-mermaid/plugin.xml b/plugin-mermaid/plugin.xml deleted file mode 100644 index aefb923..0000000 --- a/plugin-mermaid/plugin.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/plugin-mermaid/pom.xml b/plugin-mermaid/pom.xml deleted file mode 100644 index bf19dc2..0000000 --- a/plugin-mermaid/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - 4.0.0 - - - de.sebthom.eclipse.previewer - de.sebthom.eclipse.previewer.parent - 1.0.0-SNAPSHOT - - - de.sebthom.eclipse.previewer.mermaid - eclipse-plugin - - - - true - - - - \ No newline at end of file diff --git a/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/Constants.java b/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/Constants.java deleted file mode 100644 index 989074f..0000000 --- a/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/Constants.java +++ /dev/null @@ -1,14 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.mermaid; - -/** - * @author Sebastian Thomschke - */ -public interface Constants { - String MERMAID_JS = "src/main/resources/mermaid/mermaid.esm.min.js"; -} diff --git a/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/MermaidHtmlPreviewRenderer.java b/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/MermaidHtmlPreviewRenderer.java deleted file mode 100644 index e6b1935..0000000 --- a/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/MermaidHtmlPreviewRenderer.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.mermaid; - -import java.io.File; -import java.io.IOException; - -import org.apache.commons.lang3.SystemUtils; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.api.HtmlPreviewRenderer; -import de.sebthom.eclipse.previewer.util.MiscUtils; -import de.sebthom.eclipse.previewer.util.StringUtils; -import net.sf.jstuff.core.Strings; - -/** - * @author Sebastian Thomschke - */ -public class MermaidHtmlPreviewRenderer implements HtmlPreviewRenderer { - - private File mermaidJS; - - private static final String MERMAID_INIT_SCRIPT = """ - - """; - - public MermaidHtmlPreviewRenderer() throws IOException { - mermaidJS = Plugin.resources().extract(Constants.MERMAID_JS); - } - - @Override - public void dispose() { - } - - @Override - public void renderToHtml(final ContentSource source, final Appendable out) throws IOException { - - out.append(""" - - - - - - - """); - - if (MiscUtils.isDarkEclipseTheme()) { - out.append(""); - } - - if (SystemUtils.IS_OS_WINDOWS) { - out.append( - """ - - - - """); - } - - out.append(""); - out.append(StringUtils.htmlSvgWithHoverDownloadButton("")); - out.append(""" -
-           """ + Strings.replace(source.contentAsString(), "<", "<") + """
-         
- """); - out.append(MERMAID_INIT_SCRIPT.replace("$$THEME$$", MiscUtils.isDarkEclipseTheme() ? "dark" : "default")); - out.append(StringUtils.htmlInfoBox(source.shortDisplayPath() + " " + MiscUtils.getCurrentTime())); - out.append(""); - } -} diff --git a/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/Plugin.java b/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/Plugin.java deleted file mode 100644 index fdd0357..0000000 --- a/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/Plugin.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.mermaid; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.asNonNull; - -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jface.resource.ImageRegistry; -import org.osgi.framework.BundleContext; - -import de.sebthom.eclipse.commons.AbstractEclipsePlugin; -import de.sebthom.eclipse.commons.BundleResources; -import de.sebthom.eclipse.commons.logging.PluginLogger; -import de.sebthom.eclipse.commons.logging.StatusFactory; -import net.sf.jstuff.core.reflection.Fields; - -/** - * @author Sebastian Thomschke - */ -public class Plugin extends AbstractEclipsePlugin { - - /** - * during runtime you can get ID with getBundle().getSymbolicName() - */ - public static final String PLUGIN_ID = asNonNull(Plugin.class.getPackage()).getName().replace('_', '-'); - - private static @Nullable Plugin instance; - - /** - * @return the shared instance - */ - public static Plugin get() { - return asNonNull(instance, "Default plugin instance is still null."); - } - - public static boolean isInitialized() { - return instance != null; - } - - public static PluginLogger log() { - return get().getLogger(); - } - - public static BundleResources resources() { - return get().getBundleResources(); - } - - public static StatusFactory status() { - return get().getStatusFactory(); - } - - @Override - public BundleResources getBundleResources() { - var bundleResources = this.bundleResources; - if (bundleResources == null) { - bundleResources = this.bundleResources = new BundleResources(this, "src/main/resources"); - } - return bundleResources; - } - - @Override - protected void initializeImageRegistry(final ImageRegistry registry) { - for (final var field : Constants.class.getFields()) { - if (Fields.isStatic(field) && field.getType() == String.class && field.getName().startsWith("IMAGE_")) { - final String imagePath = Fields.read(null, field); - if (imagePath != null) { - registerImage(registry, imagePath); - } - } - } - } - - @Override - public void start(final BundleContext context) throws Exception { - super.start(context); - instance = this; - } - - @Override - public void stop(final BundleContext context) throws Exception { - instance = null; - super.stop(context); - } -} diff --git a/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/localization/Messages.java b/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/localization/Messages.java deleted file mode 100644 index 352e5a2..0000000 --- a/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/localization/Messages.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.mermaid.localization; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.lateNonNull; - -import de.sebthom.eclipse.commons.localization.MessagesInitializer; - -/** - * @author Sebastian Thomschke - */ -public final class Messages { - - private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; - - // Keys with default values directly assigned in this class are only used by Java classes. - // Keys without default values are loaded from messages.properties, because they are also referenced in plugin.xml - - // CHECKSTYLE:IGNORE .* FOR NEXT 100 LINES - - public static String PluginName = lateNonNull(); - - static { - MessagesInitializer.initializeMessages(BUNDLE_NAME, Messages.class); - } - - private Messages() { - } -} diff --git a/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/localization/messages.properties b/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/localization/messages.properties deleted file mode 100644 index 03f0df2..0000000 --- a/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/localization/messages.properties +++ /dev/null @@ -1,2 +0,0 @@ -PluginName=Previewer: mermaid -PreferencePageName=mermaid diff --git a/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/localization/package-info.java b/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/localization/package-info.java deleted file mode 100644 index 117e591..0000000 --- a/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/localization/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.mermaid.localization; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/package-info.java b/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/package-info.java deleted file mode 100644 index cc8b9fe..0000000 --- a/plugin-mermaid/src/main/java/de/sebthom/eclipse/previewer/mermaid/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.mermaid; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-mermaid/src/main/resources/mermaid/LICENSE.txt b/plugin-mermaid/src/main/resources/mermaid/LICENSE.txt deleted file mode 100644 index 2e5daeb..0000000 --- a/plugin-mermaid/src/main/resources/mermaid/LICENSE.txt +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 - 2022 Knut Sveidqvist - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugin-mermaid/src/main/resources/mermaid/mermaid.esm.min.js b/plugin-mermaid/src/main/resources/mermaid/mermaid.esm.min.js deleted file mode 100644 index e38d851..0000000 --- a/plugin-mermaid/src/main/resources/mermaid/mermaid.esm.min.js +++ /dev/null @@ -1,3300 +0,0 @@ -// https://www.npmjs.com/package/mermaid -// https://cdn.jsdelivr.net/npm/mermaid@11.14.0/dist/mermaid.min.js -"use strict";var __esbuild_esm_mermaid_nm;(__esbuild_esm_mermaid_nm||={}).mermaid=(()=>{var s8e=Object.create;var Ax=Object.defineProperty;var o8e=Object.getOwnPropertyDescriptor;var l8e=Object.getOwnPropertyNames;var c8e=Object.getPrototypeOf,u8e=Object.prototype.hasOwnProperty;var o=(t,e)=>Ax(t,"name",{value:e,configurable:!0});var P=(t,e)=>()=>(t&&(e=t(t=0)),e);var ar=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ur=(t,e)=>{for(var r in e)Ax(t,r,{get:e[r],enumerable:!0})},a4=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of l8e(e))!u8e.call(t,n)&&n!==r&&Ax(t,n,{get:()=>e[n],enumerable:!(i=o8e(e,n))||i.enumerable});return t},Kr=(t,e,r)=>(a4(t,e,"default"),r&&a4(r,e,"default")),Wa=(t,e,r)=>(r=t!=null?s8e(c8e(t)):{},a4(e||!t||!t.__esModule?Ax(r,"default",{value:t,enumerable:!0}):r,t)),s4=t=>a4(Ax({},"__esModule",{value:!0}),t);var h8e,Tg,_8,TY,o4=P(()=>{"use strict";h8e=Object.freeze({left:0,top:0,width:16,height:16}),Tg=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),_8=Object.freeze({...h8e,...Tg}),TY=Object.freeze({..._8,body:"",hidden:!1})});var f8e,kY,CY=P(()=>{"use strict";o4();f8e=Object.freeze({width:null,height:null}),kY=Object.freeze({...f8e,...Tg})});var D8,l4,wY=P(()=>{"use strict";D8=o((t,e,r,i="")=>{let n=t.split(":");if(t.slice(0,1)==="@"){if(n.length<2||n.length>3)return null;i=n.shift().slice(1)}if(n.length>3||!n.length)return null;if(n.length>1){let l=n.pop(),u=n.pop(),h={provider:n.length>0?n[0]:i,prefix:u,name:l};return e&&!l4(h)?null:h}let a=n[0],s=a.split("-");if(s.length>1){let l={provider:i,prefix:s.shift(),name:s.join("-")};return e&&!l4(l)?null:l}if(r&&i===""){let l={provider:i,prefix:"",name:a};return e&&!l4(l,r)?null:l}return null},"stringToIcon"),l4=o((t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1,"validateIconName")});function EY(t,e){let r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);let i=((t.rotate||0)+(e.rotate||0))%4;return i&&(r.rotate=i),r}var SY=P(()=>{"use strict";o(EY,"mergeIconTransformations")});function L8(t,e){let r=EY(t,e);for(let i in TY)i in Tg?i in t&&!(i in r)&&(r[i]=Tg[i]):i in e?r[i]=e[i]:i in t&&(r[i]=t[i]);return r}var AY=P(()=>{"use strict";o4();SY();o(L8,"mergeIconData")});function _Y(t,e){let r=t.icons,i=t.aliases||Object.create(null),n=Object.create(null);function a(s){if(r[s])return n[s]=[];if(!(s in n)){n[s]=null;let l=i[s]&&i[s].parent,u=l&&a(l);u&&(n[s]=[l].concat(u))}return n[s]}return o(a,"resolve"),(e||Object.keys(r).concat(Object.keys(i))).forEach(a),n}var DY=P(()=>{"use strict";o(_Y,"getIconsTree")});function LY(t,e,r){let i=t.icons,n=t.aliases||Object.create(null),a={};function s(l){a=L8(i[l]||n[l],a)}return o(s,"parse"),s(e),r.forEach(s),L8(t,a)}function R8(t,e){if(t.icons[e])return LY(t,e,[]);let r=_Y(t,[e])[e];return r?LY(t,e,r):null}var RY=P(()=>{"use strict";AY();DY();o(LY,"internalGetIconData");o(R8,"getIconData")});function N8(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;let i=t.split(d8e);if(i===null||!i.length)return t;let n=[],a=i.shift(),s=p8e.test(a);for(;;){if(s){let l=parseFloat(a);isNaN(l)?n.push(a):n.push(Math.ceil(l*e*r)/r)}else n.push(a);if(a=i.shift(),a===void 0)return n.join("");s=!s}}var d8e,p8e,NY=P(()=>{"use strict";d8e=/(-?[0-9.]*[0-9]+[0-9.]*)/g,p8e=/^-?[0-9.]*[0-9]+[0-9.]*$/g;o(N8,"calculateSize")});function m8e(t,e="defs"){let r="",i=t.indexOf("<"+e);for(;i>=0;){let n=t.indexOf(">",i),a=t.indexOf("",a);if(s===-1)break;r+=t.slice(n+1,a).trim(),t=t.slice(0,i).trim()+t.slice(s+1)}return{defs:r,content:t}}function g8e(t,e){return t?""+t+""+e:e}function IY(t,e,r){let i=m8e(t);return g8e(i.defs,e+i.content+r)}var MY=P(()=>{"use strict";o(m8e,"splitSVGDefs");o(g8e,"mergeDefsAndContent");o(IY,"wrapSVGContent")});function I8(t,e){let r={..._8,...t},i={...kY,...e},n={left:r.left,top:r.top,width:r.width,height:r.height},a=r.body;[r,i].forEach(y=>{let v=[],x=y.hFlip,b=y.vFlip,T=y.rotate;x?b?T+=2:(v.push("translate("+(n.width+n.left).toString()+" "+(0-n.top).toString()+")"),v.push("scale(-1 1)"),n.top=n.left=0):b&&(v.push("translate("+(0-n.left).toString()+" "+(n.height+n.top).toString()+")"),v.push("scale(1 -1)"),n.top=n.left=0);let w;switch(T<0&&(T-=Math.floor(T/4)*4),T=T%4,T){case 1:w=n.height/2+n.top,v.unshift("rotate(90 "+w.toString()+" "+w.toString()+")");break;case 2:v.unshift("rotate(180 "+(n.width/2+n.left).toString()+" "+(n.height/2+n.top).toString()+")");break;case 3:w=n.width/2+n.left,v.unshift("rotate(-90 "+w.toString()+" "+w.toString()+")");break}T%2===1&&(n.left!==n.top&&(w=n.left,n.left=n.top,n.top=w),n.width!==n.height&&(w=n.width,n.width=n.height,n.height=w)),v.length&&(a=IY(a,'',""))});let s=i.width,l=i.height,u=n.width,h=n.height,f,d;s===null?(d=l===null?"1em":l==="auto"?h:l,f=N8(d,u/h)):(f=s==="auto"?u:s,d=l===null?N8(f,h/u):l==="auto"?h:l);let p={},m=o((y,v)=>{y8e(v)||(p[y]=v.toString())},"setAttr");m("width",f),m("height",d);let g=[n.left,n.top,u,h];return p.viewBox=g.join(" "),{attributes:p,viewBox:g,body:a}}var y8e,OY=P(()=>{"use strict";o4();CY();NY();MY();y8e=o(t=>t==="unset"||t==="undefined"||t==="none","isUnsetKeyword");o(I8,"iconToSVG")});function M8(t,e=x8e){let r=[],i;for(;i=v8e.exec(t);)r.push(i[1]);if(!r.length)return t;let n="suffix"+(Math.random()*16777216|Date.now()).toString(16);return r.forEach(a=>{let s=typeof e=="function"?e(a):e+(b8e++).toString(),l=a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+l+')([")]|\\.[a-z])',"g"),"$1"+s+n+"$3")}),t=t.replace(new RegExp(n,"g"),""),t}var v8e,x8e,b8e,PY=P(()=>{"use strict";v8e=/\sid="(\S+)"/g,x8e="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16),b8e=0;o(M8,"replaceIDs")});function O8(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let i in e)r+=" "+i+'="'+e[i]+'"';return'"+t+""}var BY=P(()=>{"use strict";o(O8,"iconToHTML")});var FY=P(()=>{"use strict";wY();RY();OY();PY();BY()});var P8,Yi,kg=P(()=>{"use strict";P8=o((t,e,{depth:r=2,clobber:i=!1}={})=>{let n={depth:r,clobber:i};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>P8(t,a,n)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&e[a]!==null&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=P8(t[a],e[a],{depth:r-1,clobber:i})):(i||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),Yi=P8});var c4=ar((B8,F8)=>{"use strict";(function(t,e){typeof B8=="object"&&typeof F8<"u"?F8.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})(B8,(function(){"use strict";var t=1e3,e=6e4,r=36e5,i="millisecond",n="second",a="minute",s="hour",l="day",u="week",h="month",f="quarter",d="year",p="date",m="Invalid Date",g=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,v={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:o(function(A){var _=["th","st","nd","rd"],D=A%100;return"["+A+(_[(D-20)%10]||_[D]||_[0])+"]"},"ordinal")},x=o(function(A,_,D){var N=String(A);return!N||N.length>=_?A:""+Array(_+1-N.length).join(D)+A},"m"),b={s:x,z:o(function(A){var _=-A.utcOffset(),D=Math.abs(_),N=Math.floor(D/60),R=D%60;return(_<=0?"+":"-")+x(N,2,"0")+":"+x(R,2,"0")},"z"),m:o(function A(_,D){if(_.date()1)return A(O[0])}else{var $=_.name;w[$]=_,R=$}return!N&&R&&(T=R),R||!N&&T},"t"),S=o(function(A,_){if(C(A))return A.clone();var D=typeof _=="object"?_:{};return D.date=A,D.args=arguments,new M(D)},"O"),L=b;L.l=E,L.i=C,L.w=function(A,_){return S(A,{locale:_.$L,utc:_.$u,x:_.$x,$offset:_.$offset})};var M=(function(){function A(D){this.$L=E(D.locale,null,!0),this.parse(D),this.$x=this.$x||D.x||{},this[k]=!0}o(A,"M");var _=A.prototype;return _.parse=function(D){this.$d=(function(N){var R=N.date,B=N.utc;if(R===null)return new Date(NaN);if(L.u(R))return new Date;if(R instanceof Date)return new Date(R);if(typeof R=="string"&&!/Z$/i.test(R)){var O=R.match(g);if(O){var $=O[2]-1||0,z=(O[7]||"0").substring(0,3);return B?new Date(Date.UTC(O[1],$,O[3]||1,O[4]||0,O[5]||0,O[6]||0,z)):new Date(O[1],$,O[3]||1,O[4]||0,O[5]||0,O[6]||0,z)}}return new Date(R)})(D),this.init()},_.init=function(){var D=this.$d;this.$y=D.getFullYear(),this.$M=D.getMonth(),this.$D=D.getDate(),this.$W=D.getDay(),this.$H=D.getHours(),this.$m=D.getMinutes(),this.$s=D.getSeconds(),this.$ms=D.getMilliseconds()},_.$utils=function(){return L},_.isValid=function(){return this.$d.toString()!==m},_.isSame=function(D,N){var R=S(D);return this.startOf(N)<=R&&R<=this.endOf(N)},_.isAfter=function(D,N){return S(D){"use strict";$Y=Wa(c4(),1),dh={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},Q={trace:o((...t)=>{},"trace"),debug:o((...t)=>{},"debug"),info:o((...t)=>{},"info"),warn:o((...t)=>{},"warn"),error:o((...t)=>{},"error"),fatal:o((...t)=>{},"fatal")},_x=o(function(t="fatal"){let e=dh.fatal;typeof t=="string"?t.toLowerCase()in dh&&(e=dh[t]):typeof t=="number"&&(e=t),Q.trace=()=>{},Q.debug=()=>{},Q.info=()=>{},Q.warn=()=>{},Q.error=()=>{},Q.fatal=()=>{},e<=dh.fatal&&(Q.fatal=console.error?console.error.bind(console,yl("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",yl("FATAL"))),e<=dh.error&&(Q.error=console.error?console.error.bind(console,yl("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",yl("ERROR"))),e<=dh.warn&&(Q.warn=console.warn?console.warn.bind(console,yl("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",yl("WARN"))),e<=dh.info&&(Q.info=console.info?console.info.bind(console,yl("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",yl("INFO"))),e<=dh.debug&&(Q.debug=console.debug?console.debug.bind(console,yl("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",yl("DEBUG"))),e<=dh.trace&&(Q.trace=console.debug?console.debug.bind(console,yl("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",yl("TRACE")))},"setLogLevel"),yl=o(t=>`%c${(0,$Y.default)().format("ss.SSS")} : ${t} : `,"format")});var u4,zY,GY=P(()=>{"use strict";u4={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:o(t=>t>=255?255:t<0?0:t,"r"),g:o(t=>t>=255?255:t<0?0:t,"g"),b:o(t=>t>=255?255:t<0?0:t,"b"),h:o(t=>t%360,"h"),s:o(t=>t>=100?100:t<0?0:t,"s"),l:o(t=>t>=100?100:t<0?0:t,"l"),a:o(t=>t>=1?1:t<0?0:t,"a")},toLinear:o(t=>{let e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},"toLinear"),hue2rgb:o((t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<.16666666666666666?t+(e-t)*6*r:r<.5?e:r<.6666666666666666?t+(e-t)*(.6666666666666666-r)*6:t),"hue2rgb"),hsl2rgb:o(({h:t,s:e,l:r},i)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;let n=r<.5?r*(1+e):r+e-r*e,a=2*r-n;switch(i){case"r":return u4.hue2rgb(a,n,t+.3333333333333333)*255;case"g":return u4.hue2rgb(a,n,t)*255;case"b":return u4.hue2rgb(a,n,t-.3333333333333333)*255}},"hsl2rgb"),rgb2hsl:o(({r:t,g:e,b:r},i)=>{t/=255,e/=255,r/=255;let n=Math.max(t,e,r),a=Math.min(t,e,r),s=(n+a)/2;if(i==="l")return s*100;if(n===a)return 0;let l=n-a,u=s>.5?l/(2-n-a):l/(n+a);if(i==="s")return u*100;switch(n){case t:return((e-r)/l+(e{"use strict";T8e={clamp:o((t,e,r)=>e>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),"clamp"),round:o(t=>Math.round(t*1e10)/1e10,"round")},VY=T8e});var k8e,WY,UY=P(()=>{"use strict";k8e={dec2hex:o(t=>{let e=Math.round(t).toString(16);return e.length>1?e:`0${e}`},"dec2hex")},WY=k8e});var C8e,sr,Qc=P(()=>{"use strict";GY();qY();UY();C8e={channel:zY,lang:VY,unit:WY},sr=C8e});var ph,oa,Dx=P(()=>{"use strict";Qc();ph={};for(let t=0;t<=255;t++)ph[t]=sr.unit.dec2hex(t);oa={ALL:0,RGB:1,HSL:2}});var $8,HY,YY=P(()=>{"use strict";Dx();$8=class{static{o(this,"Type")}constructor(){this.type=oa.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=oa.ALL}is(e){return this.type===e}},HY=$8});var z8,jY,XY=P(()=>{"use strict";Qc();YY();Dx();z8=class{static{o(this,"Channels")}constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new HY}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=oa.ALL,this}_ensureHSL(){let e=this.data,{h:r,s:i,l:n}=e;r===void 0&&(e.h=sr.channel.rgb2hsl(e,"h")),i===void 0&&(e.s=sr.channel.rgb2hsl(e,"s")),n===void 0&&(e.l=sr.channel.rgb2hsl(e,"l"))}_ensureRGB(){let e=this.data,{r,g:i,b:n}=e;r===void 0&&(e.r=sr.channel.hsl2rgb(e,"r")),i===void 0&&(e.g=sr.channel.hsl2rgb(e,"g")),n===void 0&&(e.b=sr.channel.hsl2rgb(e,"b"))}get r(){let e=this.data,r=e.r;return!this.type.is(oa.HSL)&&r!==void 0?r:(this._ensureHSL(),sr.channel.hsl2rgb(e,"r"))}get g(){let e=this.data,r=e.g;return!this.type.is(oa.HSL)&&r!==void 0?r:(this._ensureHSL(),sr.channel.hsl2rgb(e,"g"))}get b(){let e=this.data,r=e.b;return!this.type.is(oa.HSL)&&r!==void 0?r:(this._ensureHSL(),sr.channel.hsl2rgb(e,"b"))}get h(){let e=this.data,r=e.h;return!this.type.is(oa.RGB)&&r!==void 0?r:(this._ensureRGB(),sr.channel.rgb2hsl(e,"h"))}get s(){let e=this.data,r=e.s;return!this.type.is(oa.RGB)&&r!==void 0?r:(this._ensureRGB(),sr.channel.rgb2hsl(e,"s"))}get l(){let e=this.data,r=e.l;return!this.type.is(oa.RGB)&&r!==void 0?r:(this._ensureRGB(),sr.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(oa.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(oa.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(oa.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(oa.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(oa.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(oa.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}},jY=z8});var w8e,Rf,Lx=P(()=>{"use strict";XY();w8e=new jY({r:0,g:0,b:0,a:0},"transparent"),Rf=w8e});var KY,$p,G8=P(()=>{"use strict";Lx();Dx();KY={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:o(t=>{if(t.charCodeAt(0)!==35)return;let e=t.match(KY.re);if(!e)return;let r=e[1],i=parseInt(r,16),n=r.length,a=n%4===0,s=n>4,l=s?1:17,u=s?8:4,h=a?0:-1,f=s?255:15;return Rf.set({r:(i>>u*(h+3)&f)*l,g:(i>>u*(h+2)&f)*l,b:(i>>u*(h+1)&f)*l,a:a?(i&f)*l/255:1},t)},"parse"),stringify:o(t=>{let{r:e,g:r,b:i,a:n}=t;return n<1?`#${ph[Math.round(e)]}${ph[Math.round(r)]}${ph[Math.round(i)]}${ph[Math.round(n*255)]}`:`#${ph[Math.round(e)]}${ph[Math.round(r)]}${ph[Math.round(i)]}`},"stringify")},$p=KY});var h4,Rx,QY=P(()=>{"use strict";Qc();Lx();h4={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:o(t=>{let e=t.match(h4.hueRe);if(e){let[,r,i]=e;switch(i){case"grad":return sr.channel.clamp.h(parseFloat(r)*.9);case"rad":return sr.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return sr.channel.clamp.h(parseFloat(r)*360)}}return sr.channel.clamp.h(parseFloat(t))},"_hue2deg"),parse:o(t=>{let e=t.charCodeAt(0);if(e!==104&&e!==72)return;let r=t.match(h4.re);if(!r)return;let[,i,n,a,s,l]=r;return Rf.set({h:h4._hue2deg(i),s:sr.channel.clamp.s(parseFloat(n)),l:sr.channel.clamp.l(parseFloat(a)),a:s?sr.channel.clamp.a(l?parseFloat(s)/100:parseFloat(s)):1},t)},"parse"),stringify:o(t=>{let{h:e,s:r,l:i,a:n}=t;return n<1?`hsla(${sr.lang.round(e)}, ${sr.lang.round(r)}%, ${sr.lang.round(i)}%, ${n})`:`hsl(${sr.lang.round(e)}, ${sr.lang.round(r)}%, ${sr.lang.round(i)}%)`},"stringify")},Rx=h4});var f4,V8,ZY=P(()=>{"use strict";G8();f4={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:o(t=>{t=t.toLowerCase();let e=f4.colors[t];if(e)return $p.parse(e)},"parse"),stringify:o(t=>{let e=$p.stringify(t);for(let r in f4.colors)if(f4.colors[r]===e)return r},"stringify")},V8=f4});var JY,Nx,ej=P(()=>{"use strict";Qc();Lx();JY={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:o(t=>{let e=t.charCodeAt(0);if(e!==114&&e!==82)return;let r=t.match(JY.re);if(!r)return;let[,i,n,a,s,l,u,h,f]=r;return Rf.set({r:sr.channel.clamp.r(n?parseFloat(i)*2.55:parseFloat(i)),g:sr.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:sr.channel.clamp.b(u?parseFloat(l)*2.55:parseFloat(l)),a:h?sr.channel.clamp.a(f?parseFloat(h)/100:parseFloat(h)):1},t)},"parse"),stringify:o(t=>{let{r:e,g:r,b:i,a:n}=t;return n<1?`rgba(${sr.lang.round(e)}, ${sr.lang.round(r)}, ${sr.lang.round(i)}, ${sr.lang.round(n)})`:`rgb(${sr.lang.round(e)}, ${sr.lang.round(r)}, ${sr.lang.round(i)})`},"stringify")},Nx=JY});var E8e,la,mh=P(()=>{"use strict";G8();QY();ZY();ej();Dx();E8e={format:{keyword:V8,hex:$p,rgb:Nx,rgba:Nx,hsl:Rx,hsla:Rx},parse:o(t=>{if(typeof t!="string")return t;let e=$p.parse(t)||Nx.parse(t)||Rx.parse(t)||V8.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},"parse"),stringify:o(t=>!t.changed&&t.color?t.color:t.type.is(oa.HSL)||t.data.r===void 0?Rx.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?Nx.stringify(t):$p.stringify(t),"stringify")},la=E8e});var S8e,d4,q8=P(()=>{"use strict";Qc();mh();S8e=o((t,e)=>{let r=la.parse(t);for(let i in e)r[i]=sr.channel.clamp[i](e[i]);return la.stringify(r)},"change"),d4=S8e});var A8e,Fn,W8=P(()=>{"use strict";Qc();Lx();mh();q8();A8e=o((t,e,r=0,i=1)=>{if(typeof t!="number")return d4(t,{a:e});let n=Rf.set({r:sr.channel.clamp.r(t),g:sr.channel.clamp.g(e),b:sr.channel.clamp.b(r),a:sr.channel.clamp.a(i)});return la.stringify(n)},"rgba"),Fn=A8e});var _8e,zp,tj=P(()=>{"use strict";Qc();mh();_8e=o((t,e)=>sr.lang.round(la.parse(t)[e]),"channel"),zp=_8e});var D8e,rj,ij=P(()=>{"use strict";Qc();mh();D8e=o(t=>{let{r:e,g:r,b:i}=la.parse(t),n=.2126*sr.channel.toLinear(e)+.7152*sr.channel.toLinear(r)+.0722*sr.channel.toLinear(i);return sr.lang.round(n)},"luminance"),rj=D8e});var L8e,nj,aj=P(()=>{"use strict";ij();L8e=o(t=>rj(t)>=.5,"isLight"),nj=L8e});var R8e,yi,sj=P(()=>{"use strict";aj();R8e=o(t=>!nj(t),"isDark"),yi=R8e});var N8e,Cg,p4=P(()=>{"use strict";Qc();mh();N8e=o((t,e,r)=>{let i=la.parse(t),n=i[e],a=sr.channel.clamp[e](n+r);return n!==a&&(i[e]=a),la.stringify(i)},"adjustChannel"),Cg=N8e});var I8e,Ke,oj=P(()=>{"use strict";p4();I8e=o((t,e)=>Cg(t,"l",e),"lighten"),Ke=I8e});var M8e,Ye,lj=P(()=>{"use strict";p4();M8e=o((t,e)=>Cg(t,"l",-e),"darken"),Ye=M8e});var O8e,m4,cj=P(()=>{"use strict";p4();O8e=o((t,e)=>Cg(t,"a",-e),"transparentize"),m4=O8e});var P8e,ie,uj=P(()=>{"use strict";mh();q8();P8e=o((t,e)=>{let r=la.parse(t),i={};for(let n in e)e[n]&&(i[n]=r[n]+e[n]);return d4(t,i)},"adjust"),ie=P8e});var B8e,hj,fj=P(()=>{"use strict";mh();W8();B8e=o((t,e,r=50)=>{let{r:i,g:n,b:a,a:s}=la.parse(t),{r:l,g:u,b:h,a:f}=la.parse(e),d=r/100,p=d*2-1,m=s-f,y=((p*m===-1?p:(p+m)/(1+p*m))+1)/2,v=1-y,x=i*y+l*v,b=n*y+u*v,T=a*y+h*v,w=s*d+f*(1-d);return Fn(x,b,T,w)},"mix"),hj=B8e});var F8e,Ge,dj=P(()=>{"use strict";mh();fj();F8e=o((t,e=100)=>{let r=la.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,hj(r,t,e)},"invert"),Ge=F8e});var pj=P(()=>{"use strict";W8();tj();sj();oj();lj();cj();uj();dj()});var Yn=P(()=>{"use strict";pj()});var jn,Xn,oc=P(()=>{"use strict";jn="#ffffff",Xn="#f2f2f2"});var Jt,vl=P(()=>{"use strict";Yn();Jt=o((t,e)=>e?ie(t,{s:-40,l:10}):ie(t,{s:-40,l:-10}),"mkBorder")});var H8,mj,gj=P(()=>{"use strict";Yn();oc();vl();H8=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||ie(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||ie(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Jt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Jt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Jt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Jt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Ge(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Ge(this.tertiaryColor),this.lineColor=this.lineColor||Ge(this.background),this.arrowheadColor=this.arrowheadColor||Ge(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?Ye(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||Ye(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Ge(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Ke(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||Ye(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||Ye(this.mainBkg,10)):(this.rowOdd=this.rowOdd||Ke(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||Ke(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||ie(this.primaryColor,{h:30}),this.cScale4=this.cScale4||ie(this.primaryColor,{h:60}),this.cScale5=this.cScale5||ie(this.primaryColor,{h:90}),this.cScale6=this.cScale6||ie(this.primaryColor,{h:120}),this.cScale7=this.cScale7||ie(this.primaryColor,{h:150}),this.cScale8=this.cScale8||ie(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||ie(this.primaryColor,{h:270}),this.cScale10=this.cScale10||ie(this.primaryColor,{h:300}),this.cScale11=this.cScale11||ie(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[i]=e[i]}),this.updateColors(),r.forEach(i=>{this[i]=e[i]})}},mj=o(t=>{let e=new H8;return e.calculate(t),e},"getThemeVariables")});var Y8,yj,vj=P(()=>{"use strict";Yn();vl();Y8=class{static{o(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Ke(this.primaryColor,16),this.tertiaryColor=ie(this.primaryColor,{h:-160}),this.primaryBorderColor=Ge(this.background),this.secondaryBorderColor=Jt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Jt(this.tertiaryColor,this.darkMode),this.primaryTextColor=Ge(this.primaryColor),this.secondaryTextColor=Ge(this.secondaryColor),this.tertiaryTextColor=Ge(this.tertiaryColor),this.lineColor=Ge(this.background),this.textColor=Ge(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Ke(Ge("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=Fn(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=Ye("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=Ye(this.sectionBkgColor,10),this.taskBorderColor=Fn(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=Fn(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||Ke(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||Ye(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){this.secondBkg=Ke(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=Ke(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=Ke(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=Ge(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=ie(this.primaryColor,{h:64}),this.fillType3=ie(this.secondaryColor,{h:64}),this.fillType4=ie(this.primaryColor,{h:-64}),this.fillType5=ie(this.secondaryColor,{h:-64}),this.fillType6=ie(this.primaryColor,{h:128}),this.fillType7=ie(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||ie(this.primaryColor,{h:30}),this.cScale4=this.cScale4||ie(this.primaryColor,{h:60}),this.cScale5=this.cScale5||ie(this.primaryColor,{h:90}),this.cScale6=this.cScale6||ie(this.primaryColor,{h:120}),this.cScale7=this.cScale7||ie(this.primaryColor,{h:150}),this.cScale8=this.cScale8||ie(this.primaryColor,{h:210}),this.cScale9=this.cScale9||ie(this.primaryColor,{h:270}),this.cScale10=this.cScale10||ie(this.primaryColor,{h:300}),this.cScale11=this.cScale11||ie(this.primaryColor,{h:330});for(let e=0;e{this[i]=e[i]}),this.updateColors(),r.forEach(i=>{this[i]=e[i]})}},yj=o(t=>{let e=new Y8;return e.calculate(t),e},"getThemeVariables")});var j8,Zc,wg=P(()=>{"use strict";Yn();vl();oc();j8=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=ie(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=ie(this.primaryColor,{h:-160}),this.primaryBorderColor=Jt(this.primaryColor,this.darkMode),this.secondaryBorderColor=Jt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Jt(this.tertiaryColor,this.darkMode),this.primaryTextColor=Ge(this.primaryColor),this.secondaryTextColor=Ge(this.secondaryColor),this.tertiaryTextColor=Ge(this.tertiaryColor),this.lineColor=Ge(this.background),this.textColor=Ge(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=Jt(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=Fn(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||ie(this.primaryColor,{h:30}),this.cScale4=this.cScale4||ie(this.primaryColor,{h:60}),this.cScale5=this.cScale5||ie(this.primaryColor,{h:90}),this.cScale6=this.cScale6||ie(this.primaryColor,{h:120}),this.cScale7=this.cScale7||ie(this.primaryColor,{h:150}),this.cScale8=this.cScale8||ie(this.primaryColor,{h:210}),this.cScale9=this.cScale9||ie(this.primaryColor,{h:270}),this.cScale10=this.cScale10||ie(this.primaryColor,{h:300}),this.cScale11=this.cScale11||ie(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||Ye(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||Ye(this.tertiaryColor,40);for(let e=0;e{this[i]==="calculated"&&(this[i]=void 0)}),typeof e!="object"){this.updateColors();return}let r=Object.keys(e);r.forEach(i=>{this[i]=e[i]}),this.updateColors(),r.forEach(i=>{this[i]=e[i]})}},Zc=o(t=>{let e=new j8;return e.calculate(t),e},"getThemeVariables")});var X8,xj,bj=P(()=>{"use strict";Yn();oc();vl();X8=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=Ke("#cde498",10),this.primaryBorderColor=Jt(this.primaryColor,this.darkMode),this.secondaryBorderColor=Jt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Jt(this.tertiaryColor,this.darkMode),this.primaryTextColor=Ge(this.primaryColor),this.secondaryTextColor=Ge(this.secondaryColor),this.tertiaryTextColor=Ge(this.primaryColor),this.lineColor=Ge(this.background),this.textColor=Ge(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){this.actorBorder=Ye(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||ie(this.primaryColor,{h:30}),this.cScale4=this.cScale4||ie(this.primaryColor,{h:60}),this.cScale5=this.cScale5||ie(this.primaryColor,{h:90}),this.cScale6=this.cScale6||ie(this.primaryColor,{h:120}),this.cScale7=this.cScale7||ie(this.primaryColor,{h:150}),this.cScale8=this.cScale8||ie(this.primaryColor,{h:210}),this.cScale9=this.cScale9||ie(this.primaryColor,{h:270}),this.cScale10=this.cScale10||ie(this.primaryColor,{h:300}),this.cScale11=this.cScale11||ie(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||Ye(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||Ye(this.tertiaryColor,40);for(let e=0;e{this[i]=e[i]}),this.updateColors(),r.forEach(i=>{this[i]=e[i]})}},xj=o(t=>{let e=new X8;return e.calculate(t),e},"getThemeVariables")});var K8,Tj,kj=P(()=>{"use strict";Yn();vl();oc();K8=class{static{o(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=Ke(this.contrast,55),this.background="#ffffff",this.tertiaryColor=ie(this.primaryColor,{h:-160}),this.primaryBorderColor=Jt(this.primaryColor,this.darkMode),this.secondaryBorderColor=Jt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Jt(this.tertiaryColor,this.darkMode),this.primaryTextColor=Ge(this.primaryColor),this.secondaryTextColor=Ge(this.secondaryColor),this.tertiaryTextColor=Ge(this.tertiaryColor),this.lineColor=Ge(this.background),this.textColor=Ge(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||Ke(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){this.secondBkg=Ke(this.contrast,55),this.border2=this.contrast,this.actorBorder=Ke(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[i]=e[i]}),this.updateColors(),r.forEach(i=>{this[i]=e[i]})}},Tj=o(t=>{let e=new K8;return e.calculate(t),e},"getThemeVariables")});var Q8,Cj,wj=P(()=>{"use strict";Yn();vl();oc();Q8=class{static{o(this,"Theme")}constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=Jt(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||ie(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||ie(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Jt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Jt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Jt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Jt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Ge(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Ge(this.tertiaryColor),this.lineColor=this.lineColor||Ge(this.background),this.arrowheadColor=this.arrowheadColor||Ge(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?Ye(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||Ye(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Ge(this.lineColor);let e="#ECECFE",r="#E9E9F1",i=ie(e,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||i,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||Ke(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||e,this.cScale1=this.cScale1||r,this.cScale2=this.cScale2||i,this.cScale3=this.cScale3||ie(e,{h:30}),this.cScale4=this.cScale4||ie(e,{h:60}),this.cScale5=this.cScale5||ie(e,{h:90}),this.cScale6=this.cScale6||ie(e,{h:120}),this.cScale7=this.cScale7||ie(e,{h:150}),this.cScale8=this.cScale8||ie(e,{h:210,l:150}),this.cScale9=this.cScale9||ie(e,{h:270}),this.cScale10=this.cScale10||ie(e,{h:300}),this.cScale11=this.cScale11||ie(e,{h:330}),this.darkMode)for(let a=0;a{this[i]=e[i]}),this.updateColors(),r.forEach(i=>{this[i]=e[i]})}},Cj=o(t=>{let e=new Q8;return e.calculate(t),e},"getThemeVariables")});var Z8,Ej,Sj=P(()=>{"use strict";Yn();vl();oc();Z8=class{static{o(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Ke(this.primaryColor,16),this.tertiaryColor=ie(this.primaryColor,{h:-160}),this.primaryBorderColor=Ge(this.background),this.secondaryBorderColor=Jt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Jt(this.tertiaryColor,this.darkMode),this.primaryTextColor=Ge(this.primaryColor),this.secondaryTextColor=Ge(this.secondaryColor),this.tertiaryTextColor=Ge(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Ke(Ge("#323D47"),10),this.border1="#ccc",this.border2=Fn(255,255,255,.25),this.arrowheadColor=Ge(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||ie(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||ie(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Jt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Jt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Jt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Jt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Ge(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Ge(this.tertiaryColor),this.lineColor=this.lineColor||Ge(this.background),this.arrowheadColor=this.arrowheadColor||Ge(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?Ye(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||Ye(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Ge(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Ke(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||ie(this.primaryColor,{h:30}),this.cScale4=this.cScale4||ie(this.primaryColor,{h:60}),this.cScale5=this.cScale5||ie(this.primaryColor,{h:90}),this.cScale6=this.cScale6||ie(this.primaryColor,{h:120}),this.cScale7=this.cScale7||ie(this.primaryColor,{h:150}),this.cScale8=this.cScale8||ie(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||ie(this.primaryColor,{h:270}),this.cScale10=this.cScale10||ie(this.primaryColor,{h:300}),this.cScale11=this.cScale11||ie(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[i]=e[i]}),this.updateColors(),r.forEach(i=>{this[i]=e[i]})}},Ej=o(t=>{let e=new Z8;return e.calculate(t),e},"getThemeVariables")});var J8,Aj,_j=P(()=>{"use strict";Yn();vl();oc();J8=class{static{o(this,"Theme")}constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=Jt("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||ie(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||ie(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Jt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Jt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Jt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Jt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||Ge(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Ge(this.tertiaryColor),this.lineColor=this.lineColor||Ge(this.background),this.arrowheadColor=this.arrowheadColor||Ge(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?Ye(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||Ye(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Ge(this.lineColor);let e="#ECECFE",r="#E9E9F1",i=ie(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||i,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||Ke(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let a=0;a{this[i]=e[i]}),this.updateColors(),r.forEach(i=>{this[i]=e[i]})}},Aj=o(t=>{let e=new J8;return e.calculate(t),e},"getThemeVariables")});var eD,Dj,Lj=P(()=>{"use strict";Yn();vl();oc();eD=class{static{o(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Ke(this.primaryColor,16),this.tertiaryColor=ie(this.primaryColor,{h:-160}),this.primaryBorderColor=Ge(this.background),this.secondaryBorderColor=Jt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Jt(this.tertiaryColor,this.darkMode),this.primaryTextColor=Ge(this.primaryColor),this.secondaryTextColor=Ge(this.secondaryColor),this.tertiaryTextColor=Ge(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Ke(Ge("#323D47"),10),this.border1="#ccc",this.border2=Fn(255,255,255,.25),this.arrowheadColor=Ge(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||ie(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||ie(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Jt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Jt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Jt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Jt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||Ge(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Ge(this.tertiaryColor),this.lineColor=this.lineColor||Ge(this.background),this.arrowheadColor=this.arrowheadColor||Ge(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?Ye(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||Ye(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Ge(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Ke(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||ie(this.primaryColor,{h:30}),this.cScale4=this.cScale4||ie(this.primaryColor,{h:60}),this.cScale5=this.cScale5||ie(this.primaryColor,{h:90}),this.cScale6=this.cScale6||ie(this.primaryColor,{h:120}),this.cScale7=this.cScale7||ie(this.primaryColor,{h:150}),this.cScale8=this.cScale8||ie(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||ie(this.primaryColor,{h:270}),this.cScale10=this.cScale10||ie(this.primaryColor,{h:300}),this.cScale11=this.cScale11||ie(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[i]=e[i]}),this.updateColors(),r.forEach(i=>{this[i]=e[i]})}},Dj=o(t=>{let e=new eD;return e.calculate(t),e},"getThemeVariables")});var tD,Rj,Nj=P(()=>{"use strict";Yn();vl();oc();tD=class{static{o(this,"Theme")}constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=Jt(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||ie(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||ie(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Jt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Jt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Jt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Jt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||Ge(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Ge(this.tertiaryColor),this.lineColor=this.lineColor||Ge(this.background),this.arrowheadColor=this.arrowheadColor||Ge(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?Ye(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||Ye(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Ge(this.lineColor);let e="#ECECFE",r="#E9E9F1",i=ie(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||i,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||Ke(e,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let a=0;a{this[i]=e[i]}),this.updateColors(),r.forEach(i=>{this[i]=e[i]})}},Rj=o(t=>{let e=new tD;return e.calculate(t),e},"getThemeVariables")});var rD,Ij,Mj=P(()=>{"use strict";Yn();vl();oc();rD=class{static{o(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Ke(this.primaryColor,16),this.tertiaryColor=ie(this.primaryColor,{h:-160}),this.primaryBorderColor=Ge(this.background),this.secondaryBorderColor=Jt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Jt(this.tertiaryColor,this.darkMode),this.primaryTextColor=Ge(this.primaryColor),this.secondaryTextColor=Ge(this.secondaryColor),this.tertiaryTextColor=Ge(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Ke(Ge("#323D47"),10),this.border1="#ccc",this.border2=Fn(255,255,255,.25),this.arrowheadColor=Ge(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||ie(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||ie(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Jt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Jt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Jt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Jt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||Ge(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Ge(this.tertiaryColor),this.lineColor=this.lineColor||Ge(this.background),this.arrowheadColor=this.arrowheadColor||Ge(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?Ye(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||Ye(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Ge(this.lineColor),this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Ke(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let r=0;r{this[i]=e[i]}),this.updateColors(),r.forEach(i=>{this[i]=e[i]})}},Ij=o(t=>{let e=new rD;return e.calculate(t),e},"getThemeVariables")});var xl,g4=P(()=>{"use strict";gj();vj();wg();bj();kj();wj();Sj();_j();Lj();Nj();Mj();xl={base:{getThemeVariables:mj},dark:{getThemeVariables:yj},default:{getThemeVariables:Zc},forest:{getThemeVariables:xj},neutral:{getThemeVariables:Tj},neo:{getThemeVariables:Cj},"neo-dark":{getThemeVariables:Ej},redux:{getThemeVariables:Aj},"redux-dark":{getThemeVariables:Dj},"redux-color":{getThemeVariables:Rj},"redux-dark-color":{getThemeVariables:Ij}}});var so,Oj=P(()=>{"use strict";so={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1}});var Pj,Bj,Fj,fr,wa=P(()=>{"use strict";g4();Oj();Pj={...so,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:xl.default.getThemeVariables(),sequence:{...so.sequence,messageFont:o(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:o(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:o(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...so.gantt,tickInterval:void 0,useWidth:void 0},c4:{...so.c4,useWidth:void 0,personFont:o(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...so.flowchart,inheritDir:!1},external_personFont:o(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:o(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:o(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:o(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:o(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:o(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:o(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:o(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:o(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:o(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:o(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:o(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:o(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:o(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:o(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:o(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:o(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:o(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:o(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:o(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:o(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...so.pie,useWidth:984},xyChart:{...so.xyChart,useWidth:void 0},requirement:{...so.requirement,useWidth:void 0},packet:{...so.packet},treeView:{...so.treeView,useWidth:void 0},radar:{...so.radar},ishikawa:{...so.ishikawa},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...so.venn}},Bj=o((t,e="")=>Object.keys(t).reduce((r,i)=>Array.isArray(t[i])?r:typeof t[i]=="object"&&t[i]!==null?[...r,e+i,...Bj(t[i],"")]:[...r,e+i],[]),"keyify"),Fj=new Set(Bj(Pj,"")),fr=Pj});var Eg,$8e,iD=P(()=>{"use strict";wa();bt();Eg=o(t=>{if(Q.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>Eg(e));return}for(let e of Object.keys(t)){if(Q.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!Fj.has(e)||t[e]==null){Q.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){Q.debug("sanitizing object",e),Eg(t[e]);continue}let r=["themeCSS","fontFamily","altFontFamily"];for(let i of r)e.includes(i)&&(Q.debug("sanitizing css option",e),t[e]=$8e(t[e]))}if(t.themeVariables)for(let e of Object.keys(t.themeVariables)){let r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}Q.debug("After sanitization",t)}},"sanitizeDirective"),$8e=o(t=>{let e=0,r=0;for(let i of t){if(e{"use strict";kg();bt();g4();wa();iD();Nf=Object.freeze(fr),ls=o(t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),oo=Yi({},Nf),Gp=[],Ix=Yi({},Nf),v4=o((t,e)=>{let r=Yi({},t),i={};for(let n of e)Vj(n),i=Yi(i,n);if(r=Yi(r,i),i.theme&&i.theme in xl){let n=Yi({},y4),a=Yi(n.themeVariables||{},i.themeVariables);r.theme&&r.theme in xl&&(r.themeVariables=xl[r.theme].getThemeVariables(a))}return Ix=r,Uj(Ix),Ix},"updateCurrentConfig"),nD=o(t=>(oo=Yi({},Nf),oo=Yi(oo,t),t.theme&&xl[t.theme]&&(oo.themeVariables=xl[t.theme].getThemeVariables(t.themeVariables)),v4(oo,Gp),oo),"setSiteConfig"),zj=o(t=>{y4=Yi({},t)},"saveConfigFromInitialize"),Gj=o(t=>(oo=Yi(oo,t),v4(oo,Gp),oo),"updateSiteConfig"),aD=o(()=>Yi({},oo),"getSiteConfig"),x4=o(t=>(Uj(t),Yi(Ix,t),Lt()),"setConfig"),Lt=o(()=>Yi({},Ix),"getConfig"),Vj=o(t=>{t&&(["secure",...oo.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(Q.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&Vj(t[e])}))},"sanitize"),qj=o(t=>{Eg(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),Gp.push(t),v4(oo,Gp)},"addDirective"),Mx=o((t=oo)=>{Gp=[],v4(t,Gp)},"reset"),z8e={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},$j={},Wj=o(t=>{$j[t]||(Q.warn(z8e[t]),$j[t]=!0)},"issueWarning"),Uj=o(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&Wj("LAZY_LOAD_DEPRECATED")},"checkConfig"),Hj=o(()=>{let t={};y4&&(t=Yi(t,y4));for(let e of Gp)t=Yi(t,e);return t},"getUserDefinedConfig"),Or=o(t=>(t.flowchart?.htmlLabels!=null&&Wj("FLOWCHART_HTML_LABELS_DEPRECATED"),ls(t.htmlLabels??t.flowchart?.htmlLabels??!0)),"getEffectiveHtmlLabels")});function Is(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n2&&arguments[2]!==void 0?arguments[2]:k4;Yj&&Yj(t,null);let i=e.length;for(;i--;){let n=e[i];if(typeof n=="string"){let a=r(n);a!==n&&(G8e(e)||(e[i]=a),n=a)}t[n]=!0}return t}function X8e(t){for(let e=0;e0&&arguments[0]!==void 0?arguments[0]:sDe(),e=o(xt=>nX(xt),"DOMPurify");if(e.version="3.3.1",e.removed=[],!t||!t.document||t.document.nodeType!==$x.document||!t.Element)return e.isSupported=!1,e;let{document:r}=t,i=r,n=i.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:l,Element:u,NodeFilter:h,NamedNodeMap:f=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:p,trustedTypes:m}=t,g=u.prototype,y=Fx(g,"cloneNode"),v=Fx(g,"remove"),x=Fx(g,"nextSibling"),b=Fx(g,"childNodes"),T=Fx(g,"parentNode");if(typeof s=="function"){let xt=r.createElement("template");xt.content&&xt.content.ownerDocument&&(r=xt.content.ownerDocument)}let w,k="",{implementation:C,createNodeIterator:E,createDocumentFragment:S,getElementsByTagName:L}=r,{importNode:M}=i,I=eX();e.isSupported=typeof tX=="function"&&typeof T=="function"&&C&&C.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:A,ERB_EXPR:_,TMPLIT_EXPR:D,DATA_ATTR:N,ARIA_ATTR:R,IS_SCRIPT_OR_DATA:B,ATTR_WHITESPACE:O,CUSTOM_ELEMENT:$}=Jj,{IS_ALLOWED_URI:z}=Jj,F=null,V=Qr({},[...Xj,...lD,...cD,...uD,...Kj]),H=null,X=Qr({},[...Qj,...hD,...Zj,...T4]),W=Object.seal(fD(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Z=null,Y=null,ae=Object.seal(fD(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),J=!0,ee=!0,re=!1,te=!0,be=!1,de=!0,Ee=!1,Ne=!1,we=!1,Te=!1,De=!1,$e=!1,pe=!0,Je=!1,Ce="user-content-",Fe=!0,Ue=!1,qe={},Me=null,He=Qr({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),K=null,oe=Qr({},["audio","video","img","source","image","track"]),U=null,ue=Qr({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),G="http://www.w3.org/1998/Math/MathML",se="http://www.w3.org/2000/svg",le="http://www.w3.org/1999/xhtml",ke=le,me=!1,ye=null,Re=Qr({},[G,se,le],sD),ve=Qr({},["mi","mo","mn","ms","mtext"]),Oe=Qr({},["annotation-xml"]),We=Qr({},["title","style","font","a","script"]),Be=null,Qe=["application/xhtml+xml","text/html"],ce="text/html",it=null,fe=null,ut=r.createElement("form"),Nt=o(function(Ie){return Ie instanceof RegExp||Ie instanceof Function},"isRegexOrFunction"),Pt=o(function(){let Ie=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(fe&&fe===Ie)){if((!Ie||typeof Ie!="object")&&(Ie={}),Ie=Jc(Ie),Be=Qe.indexOf(Ie.PARSER_MEDIA_TYPE)===-1?ce:Ie.PARSER_MEDIA_TYPE,it=Be==="application/xhtml+xml"?sD:k4,F=lc(Ie,"ALLOWED_TAGS")?Qr({},Ie.ALLOWED_TAGS,it):V,H=lc(Ie,"ALLOWED_ATTR")?Qr({},Ie.ALLOWED_ATTR,it):X,ye=lc(Ie,"ALLOWED_NAMESPACES")?Qr({},Ie.ALLOWED_NAMESPACES,sD):Re,U=lc(Ie,"ADD_URI_SAFE_ATTR")?Qr(Jc(ue),Ie.ADD_URI_SAFE_ATTR,it):ue,K=lc(Ie,"ADD_DATA_URI_TAGS")?Qr(Jc(oe),Ie.ADD_DATA_URI_TAGS,it):oe,Me=lc(Ie,"FORBID_CONTENTS")?Qr({},Ie.FORBID_CONTENTS,it):He,Z=lc(Ie,"FORBID_TAGS")?Qr({},Ie.FORBID_TAGS,it):Jc({}),Y=lc(Ie,"FORBID_ATTR")?Qr({},Ie.FORBID_ATTR,it):Jc({}),qe=lc(Ie,"USE_PROFILES")?Ie.USE_PROFILES:!1,J=Ie.ALLOW_ARIA_ATTR!==!1,ee=Ie.ALLOW_DATA_ATTR!==!1,re=Ie.ALLOW_UNKNOWN_PROTOCOLS||!1,te=Ie.ALLOW_SELF_CLOSE_IN_ATTR!==!1,be=Ie.SAFE_FOR_TEMPLATES||!1,de=Ie.SAFE_FOR_XML!==!1,Ee=Ie.WHOLE_DOCUMENT||!1,Te=Ie.RETURN_DOM||!1,De=Ie.RETURN_DOM_FRAGMENT||!1,$e=Ie.RETURN_TRUSTED_TYPE||!1,we=Ie.FORCE_BODY||!1,pe=Ie.SANITIZE_DOM!==!1,Je=Ie.SANITIZE_NAMED_PROPS||!1,Fe=Ie.KEEP_CONTENT!==!1,Ue=Ie.IN_PLACE||!1,z=Ie.ALLOWED_URI_REGEXP||rX,ke=Ie.NAMESPACE||le,ve=Ie.MATHML_TEXT_INTEGRATION_POINTS||ve,Oe=Ie.HTML_INTEGRATION_POINTS||Oe,W=Ie.CUSTOM_ELEMENT_HANDLING||{},Ie.CUSTOM_ELEMENT_HANDLING&&Nt(Ie.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(W.tagNameCheck=Ie.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ie.CUSTOM_ELEMENT_HANDLING&&Nt(Ie.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(W.attributeNameCheck=Ie.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ie.CUSTOM_ELEMENT_HANDLING&&typeof Ie.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(W.allowCustomizedBuiltInElements=Ie.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),be&&(ee=!1),De&&(Te=!0),qe&&(F=Qr({},Kj),H=[],qe.html===!0&&(Qr(F,Xj),Qr(H,Qj)),qe.svg===!0&&(Qr(F,lD),Qr(H,hD),Qr(H,T4)),qe.svgFilters===!0&&(Qr(F,cD),Qr(H,hD),Qr(H,T4)),qe.mathMl===!0&&(Qr(F,uD),Qr(H,Zj),Qr(H,T4))),Ie.ADD_TAGS&&(typeof Ie.ADD_TAGS=="function"?ae.tagCheck=Ie.ADD_TAGS:(F===V&&(F=Jc(F)),Qr(F,Ie.ADD_TAGS,it))),Ie.ADD_ATTR&&(typeof Ie.ADD_ATTR=="function"?ae.attributeCheck=Ie.ADD_ATTR:(H===X&&(H=Jc(H)),Qr(H,Ie.ADD_ATTR,it))),Ie.ADD_URI_SAFE_ATTR&&Qr(U,Ie.ADD_URI_SAFE_ATTR,it),Ie.FORBID_CONTENTS&&(Me===He&&(Me=Jc(Me)),Qr(Me,Ie.FORBID_CONTENTS,it)),Ie.ADD_FORBID_CONTENTS&&(Me===He&&(Me=Jc(Me)),Qr(Me,Ie.ADD_FORBID_CONTENTS,it)),Fe&&(F["#text"]=!0),Ee&&Qr(F,["html","head","body"]),F.table&&(Qr(F,["tbody"]),delete Z.tbody),Ie.TRUSTED_TYPES_POLICY){if(typeof Ie.TRUSTED_TYPES_POLICY.createHTML!="function")throw Bx('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ie.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Bx('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');w=Ie.TRUSTED_TYPES_POLICY,k=w.createHTML("")}else w===void 0&&(w=oDe(m,n)),w!==null&&typeof k=="string"&&(k=w.createHTML(""));Ns&&Ns(Ie),fe=Ie}},"_parseConfig"),St=Qr({},[...lD,...cD,...K8e]),It=Qr({},[...uD,...Q8e]),ot=o(function(Ie){let ft=T(Ie);(!ft||!ft.tagName)&&(ft={namespaceURI:ke,tagName:"template"});let _t=k4(Ie.tagName),zr=k4(ft.tagName);return ye[Ie.namespaceURI]?Ie.namespaceURI===se?ft.namespaceURI===le?_t==="svg":ft.namespaceURI===G?_t==="svg"&&(zr==="annotation-xml"||ve[zr]):!!St[_t]:Ie.namespaceURI===G?ft.namespaceURI===le?_t==="math":ft.namespaceURI===se?_t==="math"&&Oe[zr]:!!It[_t]:Ie.namespaceURI===le?ft.namespaceURI===se&&!Oe[zr]||ft.namespaceURI===G&&!ve[zr]?!1:!It[_t]&&(We[_t]||!St[_t]):!!(Be==="application/xhtml+xml"&&ye[Ie.namespaceURI]):!1},"_checkValidNamespace"),ct=o(function(Ie){Ox(e.removed,{element:Ie});try{T(Ie).removeChild(Ie)}catch{v(Ie)}},"_forceRemove"),Dt=o(function(Ie,ft){try{Ox(e.removed,{attribute:ft.getAttributeNode(Ie),from:ft})}catch{Ox(e.removed,{attribute:null,from:ft})}if(ft.removeAttribute(Ie),Ie==="is")if(Te||De)try{ct(ft)}catch{}else try{ft.setAttribute(Ie,"")}catch{}},"_removeAttribute"),kt=o(function(Ie){let ft=null,_t=null;if(we)Ie=""+Ie;else{let ci=oD(Ie,/^[\r\n\t ]+/);_t=ci&&ci[0]}Be==="application/xhtml+xml"&&ke===le&&(Ie=''+Ie+"");let zr=w?w.createHTML(Ie):Ie;if(ke===le)try{ft=new p().parseFromString(zr,Be)}catch{}if(!ft||!ft.documentElement){ft=C.createDocument(ke,"template",null);try{ft.documentElement.innerHTML=me?k:zr}catch{}}let ri=ft.body||ft.documentElement;return Ie&&_t&&ri.insertBefore(r.createTextNode(_t),ri.childNodes[0]||null),ke===le?L.call(ft,Ee?"html":"body")[0]:Ee?ft.documentElement:ri},"_initDocument"),yt=o(function(Ie){return E.call(Ie.ownerDocument||Ie,Ie,h.SHOW_ELEMENT|h.SHOW_COMMENT|h.SHOW_TEXT|h.SHOW_PROCESSING_INSTRUCTION|h.SHOW_CDATA_SECTION,null)},"_createNodeIterator"),jt=o(function(Ie){return Ie instanceof d&&(typeof Ie.nodeName!="string"||typeof Ie.textContent!="string"||typeof Ie.removeChild!="function"||!(Ie.attributes instanceof f)||typeof Ie.removeAttribute!="function"||typeof Ie.setAttribute!="function"||typeof Ie.namespaceURI!="string"||typeof Ie.insertBefore!="function"||typeof Ie.hasChildNodes!="function")},"_isClobbered"),hr=o(function(Ie){return typeof l=="function"&&Ie instanceof l},"_isNode");function Qt(xt,Ie,ft){b4(xt,_t=>{_t.call(e,Ie,ft,fe)})}o(Qt,"_executeHooks");let Er=o(function(Ie){let ft=null;if(Qt(I.beforeSanitizeElements,Ie,null),jt(Ie))return ct(Ie),!0;let _t=it(Ie.nodeName);if(Qt(I.uponSanitizeElement,Ie,{tagName:_t,allowedTags:F}),de&&Ie.hasChildNodes()&&!hr(Ie.firstElementChild)&&Rs(/<[/\w!]/g,Ie.innerHTML)&&Rs(/<[/\w!]/g,Ie.textContent)||Ie.nodeType===$x.progressingInstruction||de&&Ie.nodeType===$x.comment&&Rs(/<[/\w]/g,Ie.data))return ct(Ie),!0;if(!(ae.tagCheck instanceof Function&&ae.tagCheck(_t))&&(!F[_t]||Z[_t])){if(!Z[_t]&&ir(_t)&&(W.tagNameCheck instanceof RegExp&&Rs(W.tagNameCheck,_t)||W.tagNameCheck instanceof Function&&W.tagNameCheck(_t)))return!1;if(Fe&&!Me[_t]){let zr=T(Ie)||Ie.parentNode,ri=b(Ie)||Ie.childNodes;if(ri&&zr){let ci=ri.length;for(let Ir=ci-1;Ir>=0;--Ir){let sa=y(ri[Ir],!0);sa.__removalCount=(Ie.__removalCount||0)+1,zr.insertBefore(sa,x(Ie))}}}return ct(Ie),!0}return Ie instanceof u&&!ot(Ie)||(_t==="noscript"||_t==="noembed"||_t==="noframes")&&Rs(/<\/no(script|embed|frames)/i,Ie.innerHTML)?(ct(Ie),!0):(be&&Ie.nodeType===$x.text&&(ft=Ie.textContent,b4([A,_,D],zr=>{ft=Px(ft,zr," ")}),Ie.textContent!==ft&&(Ox(e.removed,{element:Ie.cloneNode()}),Ie.textContent=ft)),Qt(I.afterSanitizeElements,Ie,null),!1)},"_sanitizeElements"),dr=o(function(Ie,ft,_t){if(pe&&(ft==="id"||ft==="name")&&(_t in r||_t in ut))return!1;if(!(ee&&!Y[ft]&&Rs(N,ft))){if(!(J&&Rs(R,ft))){if(!(ae.attributeCheck instanceof Function&&ae.attributeCheck(ft,Ie))){if(!H[ft]||Y[ft]){if(!(ir(Ie)&&(W.tagNameCheck instanceof RegExp&&Rs(W.tagNameCheck,Ie)||W.tagNameCheck instanceof Function&&W.tagNameCheck(Ie))&&(W.attributeNameCheck instanceof RegExp&&Rs(W.attributeNameCheck,ft)||W.attributeNameCheck instanceof Function&&W.attributeNameCheck(ft,Ie))||ft==="is"&&W.allowCustomizedBuiltInElements&&(W.tagNameCheck instanceof RegExp&&Rs(W.tagNameCheck,_t)||W.tagNameCheck instanceof Function&&W.tagNameCheck(_t))))return!1}else if(!U[ft]){if(!Rs(z,Px(_t,O,""))){if(!((ft==="src"||ft==="xlink:href"||ft==="href")&&Ie!=="script"&&H8e(_t,"data:")===0&&K[Ie])){if(!(re&&!Rs(B,Px(_t,O,"")))){if(_t)return!1}}}}}}}return!0},"_isValidAttribute"),ir=o(function(Ie){return Ie!=="annotation-xml"&&oD(Ie,$)},"_isBasicCustomElement"),pr=o(function(Ie){Qt(I.beforeSanitizeAttributes,Ie,null);let{attributes:ft}=Ie;if(!ft||jt(Ie))return;let _t={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:H,forceKeepAttr:void 0},zr=ft.length;for(;zr--;){let ri=ft[zr],{name:ci,namespaceURI:Ir,value:sa}=ri,qa=it(ci),Mi=sa,Ft=ci==="value"?Mi:Y8e(Mi);if(_t.attrName=qa,_t.attrValue=Ft,_t.keepAttr=!0,_t.forceKeepAttr=void 0,Qt(I.uponSanitizeAttribute,Ie,_t),Ft=_t.attrValue,Je&&(qa==="id"||qa==="name")&&(Dt(ci,Ie),Ft=Ce+Ft),de&&Rs(/((--!?|])>)|<\/(style|title|textarea)/i,Ft)){Dt(ci,Ie);continue}if(qa==="attributename"&&oD(Ft,"href")){Dt(ci,Ie);continue}if(_t.forceKeepAttr)continue;if(!_t.keepAttr){Dt(ci,Ie);continue}if(!te&&Rs(/\/>/i,Ft)){Dt(ci,Ie);continue}be&&b4([A,_,D],qt=>{Ft=Px(Ft,qt," ")});let Et=it(Ie.nodeName);if(!dr(Et,qa,Ft)){Dt(ci,Ie);continue}if(w&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!Ir)switch(m.getAttributeType(Et,qa)){case"TrustedHTML":{Ft=w.createHTML(Ft);break}case"TrustedScriptURL":{Ft=w.createScriptURL(Ft);break}}if(Ft!==Mi)try{Ir?Ie.setAttributeNS(Ir,ci,Ft):Ie.setAttribute(ci,Ft),jt(Ie)?ct(Ie):jj(e.removed)}catch{Dt(ci,Ie)}}Qt(I.afterSanitizeAttributes,Ie,null)},"_sanitizeAttributes"),Ii=o(function xt(Ie){let ft=null,_t=yt(Ie);for(Qt(I.beforeSanitizeShadowDOM,Ie,null);ft=_t.nextNode();)Qt(I.uponSanitizeShadowNode,ft,null),Er(ft),pr(ft),ft.content instanceof a&&xt(ft.content);Qt(I.afterSanitizeShadowDOM,Ie,null)},"_sanitizeShadowDOM");return e.sanitize=function(xt){let Ie=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ft=null,_t=null,zr=null,ri=null;if(me=!xt,me&&(xt=""),typeof xt!="string"&&!hr(xt))if(typeof xt.toString=="function"){if(xt=xt.toString(),typeof xt!="string")throw Bx("dirty is not a string, aborting")}else throw Bx("toString is not a function");if(!e.isSupported)return xt;if(Ne||Pt(Ie),e.removed=[],typeof xt=="string"&&(Ue=!1),Ue){if(xt.nodeName){let sa=it(xt.nodeName);if(!F[sa]||Z[sa])throw Bx("root node is forbidden and cannot be sanitized in-place")}}else if(xt instanceof l)ft=kt(""),_t=ft.ownerDocument.importNode(xt,!0),_t.nodeType===$x.element&&_t.nodeName==="BODY"||_t.nodeName==="HTML"?ft=_t:ft.appendChild(_t);else{if(!Te&&!be&&!Ee&&xt.indexOf("<")===-1)return w&&$e?w.createHTML(xt):xt;if(ft=kt(xt),!ft)return Te?null:$e?k:""}ft&&we&&ct(ft.firstChild);let ci=yt(Ue?xt:ft);for(;zr=ci.nextNode();)Er(zr),pr(zr),zr.content instanceof a&&Ii(zr.content);if(Ue)return xt;if(Te){if(De)for(ri=S.call(ft.ownerDocument);ft.firstChild;)ri.appendChild(ft.firstChild);else ri=ft;return(H.shadowroot||H.shadowrootmode)&&(ri=M.call(i,ri,!0)),ri}let Ir=Ee?ft.outerHTML:ft.innerHTML;return Ee&&F["!doctype"]&&ft.ownerDocument&&ft.ownerDocument.doctype&&ft.ownerDocument.doctype.name&&Rs(iX,ft.ownerDocument.doctype.name)&&(Ir=" -`+Ir),be&&b4([A,_,D],sa=>{Ir=Px(Ir,sa," ")}),w&&$e?w.createHTML(Ir):Ir},e.setConfig=function(){let xt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Pt(xt),Ne=!0},e.clearConfig=function(){fe=null,Ne=!1},e.isValidAttribute=function(xt,Ie,ft){fe||Pt({});let _t=it(xt),zr=it(Ie);return dr(_t,zr,ft)},e.addHook=function(xt,Ie){typeof Ie=="function"&&Ox(I[xt],Ie)},e.removeHook=function(xt,Ie){if(Ie!==void 0){let ft=W8e(I[xt],Ie);return ft===-1?void 0:U8e(I[xt],ft,1)[0]}return jj(I[xt])},e.removeHooks=function(xt){I[xt]=[]},e.removeAllHooks=function(){I=eX()},e}var tX,Yj,G8e,V8e,q8e,Ns,bl,fD,dD,pD,b4,W8e,jj,Ox,U8e,k4,sD,oD,Px,H8e,Y8e,lc,Rs,Bx,Xj,lD,cD,K8e,uD,Q8e,Kj,Qj,hD,Zj,T4,Z8e,J8e,eDe,tDe,rDe,rX,iDe,nDe,iX,aDe,Jj,$x,sDe,oDe,eX,Tl,zx=P(()=>{"use strict";({entries:tX,setPrototypeOf:Yj,isFrozen:G8e,getPrototypeOf:V8e,getOwnPropertyDescriptor:q8e}=Object),{freeze:Ns,seal:bl,create:fD}=Object,{apply:dD,construct:pD}=typeof Reflect<"u"&&Reflect;Ns||(Ns=o(function(e){return e},"freeze"));bl||(bl=o(function(e){return e},"seal"));dD||(dD=o(function(e,r){for(var i=arguments.length,n=new Array(i>2?i-2:0),a=2;a1?r-1:0),n=1;n/gm),eDe=bl(/\$\{[\w\W]*/gm),tDe=bl(/^data-[\-\w.\u00B7-\uFFFF]+$/),rDe=bl(/^aria-[\-\w]+$/),rX=bl(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),iDe=bl(/^(?:\w+script|data):/i),nDe=bl(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),iX=bl(/^html$/i),aDe=bl(/^[a-z][.\w]*(-[.\w]+)+$/i),Jj=Object.freeze({__proto__:null,ARIA_ATTR:rDe,ATTR_WHITESPACE:nDe,CUSTOM_ELEMENT:aDe,DATA_ATTR:tDe,DOCTYPE_NAME:iX,ERB_EXPR:J8e,IS_ALLOWED_URI:rX,IS_SCRIPT_OR_DATA:iDe,MUSTACHE_EXPR:Z8e,TMPLIT_EXPR:eDe}),$x={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},sDe=o(function(){return typeof window>"u"?null:window},"getGlobal"),oDe=o(function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null,n="data-tt-policy-suffix";r&&r.hasAttribute(n)&&(i=r.getAttribute(n));let a="dompurify"+(i?"#"+i:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},"_createTrustedTypesPolicy"),eX=o(function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},"_createHooksMap");o(nX,"createDOMPurify");Tl=nX()});var PK={};ur(PK,{ParseError:()=>wt,SETTINGS_SCHEMA:()=>Wx,__defineFunction:()=>Bt,__defineMacro:()=>he,__defineSymbol:()=>q,__domTree:()=>OK,__parse:()=>RK,__renderToDomTree:()=>X4,__renderToHTMLTree:()=>IK,__setFontMetrics:()=>FX,default:()=>QLe,render:()=>iL,renderToString:()=>LK,version:()=>MK});function dDe(t){return String(t).replace(fDe,e=>hDe[e])}function yDe(t){if(t.default)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}function wDe(t){for(var e=0;e<_D.length;e++)for(var r=_D[e],i=0;i=n[0]&&t<=n[1])return r.name}return null}function BX(t){for(var e=0;e=M4[e]&&t<=M4[e+1])return!0;return!1}function FX(t,e){ru[t]=e}function GD(t,e,r){if(!ru[e])throw new Error("Font metrics not found for font: "+e+".");var i=t.charCodeAt(0),n=ru[e][i];if(!n&&t[0]in sX&&(i=sX[t[0]].charCodeAt(0),n=ru[e][i]),!n&&r==="text"&&BX(i)&&(n=ru[e][77]),n)return{depth:n[0],height:n[1],italic:n[2],skew:n[3],width:n[4]}}function ODe(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!mD[e]){var r=mD[e]={cssEmPerMu:C4.quad[e]/18};for(var i in C4)C4.hasOwnProperty(i)&&(r[i]=C4[i][e])}return mD[e]}function cX(t){if(t instanceof uo)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}function zDe(t){if(t instanceof Wp)return t;throw new Error("Expected span but got "+String(t)+".")}function q(t,e,r,i,n,a){ji[t][n]={font:e,group:r,replace:i},a&&i&&(ji[t][i]=ji[t][n])}function Bt(t){for(var{type:e,names:r,props:i,handler:n,htmlBuilder:a,mathmlBuilder:s}=t,l={type:e,numArgs:i.numArgs,argTypes:i.argTypes,allowedInArgument:!!i.allowedInArgument,allowedInText:!!i.allowedInText,allowedInMath:i.allowedInMath===void 0?!0:i.allowedInMath,numOptionalArgs:i.numOptionalArgs||0,infix:!!i.infix,primitive:!!i.primitive,handler:n},u=0;u0&&(a.push(L4(s,e)),s=[]),a.push(i[l]));s.length>0&&a.push(L4(s,e));var h;r?(h=L4(ca(r,e,!0)),h.classes=["tag"],a.push(h)):n&&a.push(n);var f=Th(["katex-html"],a);if(f.setAttribute("aria-hidden","true"),h){var d=h.children[0];d.style.height=Rt(f.height+f.depth),f.depth&&(d.style.verticalAlign=Rt(-f.depth))}return f}function KX(t){return new qp(t)}function vD(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof Cl&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof Cl&&r.text===","}else return!1}function pX(t,e,r,i,n){var a=ho(t,r),s;a.length===1&&a[0]instanceof Ms&&["mrow","mtable"].includes(a[0].type)?s=a[0]:s=new Ct.MathNode("mrow",a);var l=new Ct.MathNode("annotation",[new Ct.TextNode(e)]);l.setAttribute("encoding","application/x-tex");var u=new Ct.MathNode("semantics",[s,l]),h=new Ct.MathNode("math",[u]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),i&&h.setAttribute("display","block");var f=n?"katex":"katex-mathml";return je.makeSpan([f],[h])}function Gr(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function UD(t){var e=U4(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function U4(t){return t&&(t.type==="atom"||VDe.hasOwnProperty(t.type))?t:null}function eK(t,e){var r=ca(t.body,e,!0);return vLe([t.mclass],r,e)}function tK(t,e){var r,i=ho(t.body,e);return t.mclass==="minner"?r=new Ct.MathNode("mpadded",i):t.mclass==="mord"?t.isCharacterBox?(r=i[0],r.type="mi"):r=new Ct.MathNode("mi",i):(t.isCharacterBox?(r=i[0],r.type="mo"):r=new Ct.MathNode("mo",i),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}function TLe(t,e,r){var i=xLe[t];switch(i){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(i,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var n=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:i,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),l=r.callFunction("\\\\cdright",[e[1]],[]),u={type:"ordgroup",mode:"math",body:[n,s,l]};return r.callFunction("\\\\cdparent",[u],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var h={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[h],[])}default:return{type:"textord",text:" ",mode:"math"}}}function kLe(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new wt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var i=[],n=[i],a=0;a-1))if("<>AV".indexOf(h)>-1)for(var d=0;d<2;d++){for(var p=!0,m=u+1;mAV=|." after @',s[u]);var g=TLe(h,f,t),y={type:"styling",body:[g],mode:"math",style:"display"};i.push(y),l=mX()}a%2===0?i.push(l):i.shift(),i=[],n.push(i)}t.gullet.endGroup(),t.gullet.endGroup();var v=new Array(n[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:n,arraystretch:1,addJot:!0,rowGaps:[null],cols:v,colSeparationType:"CD",hLinesBeforeRow:new Array(n.length+1).fill([])}}function Y4(t,e){var r=U4(t);if(r&&OLe.includes(r.text))return r;throw r?new wt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new wt("Invalid delimiter type '"+t.type+"'",t)}function vX(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}function nu(t){for(var{type:e,names:r,props:i,handler:n,htmlBuilder:a,mathmlBuilder:s}=t,l={type:e,numArgs:i.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:n},u=0;u1||!f)&&y.pop(),x.length{"use strict";co=class t{static{o(this,"SourceLocation")}constructor(e,r,i){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=r,this.end=i}static range(e,r){return r?!e||!e.loc||!r.loc||e.loc.lexer!==r.loc.lexer?null:new t(e.loc.lexer,e.loc.start,r.loc.end):e&&e.loc}},Ho=class t{static{o(this,"Token")}constructor(e,r){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=r}range(e,r){return new t(r,co.range(this,e))}},wt=class t{static{o(this,"ParseError")}constructor(e,r){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var i="KaTeX parse error: "+e,n,a,s=r&&r.loc;if(s&&s.start<=s.end){var l=s.lexer.input;n=s.start,a=s.end,n===l.length?i+=" at end of input: ":i+=" at position "+(n+1)+": ";var u=l.slice(n,a).replace(/[^]/g,"$&\u0332"),h;n>15?h="\u2026"+l.slice(n-15,n):h=l.slice(0,n);var f;a+15":">","<":"<",'"':""","'":"'"},fDe=/[&><"']/g;o(dDe,"escape");PX=o(function t(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?t(e.body[0]):e:e.type==="font"?t(e.body):e},"getBaseElem"),pDe=o(function(e){var r=PX(e);return r.type==="mathord"||r.type==="textord"||r.type==="atom"},"isCharacterBox"),mDe=o(function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},"assert"),gDe=o(function(e){var r=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return r?r[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(r[1])?null:r[1].toLowerCase():"_relative"},"protocolFromUrl"),ui={deflt:lDe,escape:dDe,hyphenate:uDe,getBaseElem:PX,isCharacterBox:pDe,protocolFromUrl:gDe},Wx={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:o(t=>"#"+t,"cliProcessor")},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:o((t,e)=>(e.push(t),e),"cliProcessor")},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:o(t=>Math.max(0,t),"processor"),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:o(t=>Math.max(0,t),"processor"),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:o(t=>Math.max(0,t),"processor"),cli:"-e, --max-expand ",cliProcessor:o(t=>t==="Infinity"?1/0:parseInt(t),"cliProcessor")},globalGroup:{type:"boolean",cli:!1}};o(yDe,"getDefaultValue");Hx=class{static{o(this,"Settings")}constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var r in Wx)if(Wx.hasOwnProperty(r)){var i=Wx[r];this[r]=e[r]!==void 0?i.processor?i.processor(e[r]):e[r]:yDe(i)}}reportNonstrict(e,r,i){var n=this.strict;if(typeof n=="function"&&(n=n(e,r,i)),!(!n||n==="ignore")){if(n===!0||n==="error")throw new wt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),i);n==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+n+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,i){var n=this.strict;if(typeof n=="function")try{n=n(e,r,i)}catch{n="error"}return!n||n==="ignore"?!1:n===!0||n==="error"?!0:n==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+n+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var r=ui.protocolFromUrl(e.url);if(r==null)return!1;e.protocol=r}var i=typeof this.trust=="function"?this.trust(e):this.trust;return!!i}},eu=class{static{o(this,"Style")}constructor(e,r,i){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=r,this.cramped=i}sup(){return tu[vDe[this.id]]}sub(){return tu[xDe[this.id]]}fracNum(){return tu[bDe[this.id]]}fracDen(){return tu[TDe[this.id]]}cramp(){return tu[kDe[this.id]]}text(){return tu[CDe[this.id]]}isTight(){return this.size>=2}},zD=0,O4=1,Ag=2,xh=3,Yx=4,kl=5,_g=6,Os=7,tu=[new eu(zD,0,!1),new eu(O4,0,!0),new eu(Ag,1,!1),new eu(xh,1,!0),new eu(Yx,2,!1),new eu(kl,2,!0),new eu(_g,3,!1),new eu(Os,3,!0)],vDe=[Yx,kl,Yx,kl,_g,Os,_g,Os],xDe=[kl,kl,kl,kl,Os,Os,Os,Os],bDe=[Ag,xh,Yx,kl,_g,Os,_g,Os],TDe=[xh,xh,kl,kl,Os,Os,Os,Os],kDe=[O4,O4,xh,xh,kl,kl,Os,Os],CDe=[zD,O4,Ag,xh,Ag,xh,Ag,xh],gr={DISPLAY:tu[zD],TEXT:tu[Ag],SCRIPT:tu[Yx],SCRIPTSCRIPT:tu[_g]},_D=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];o(wDe,"scriptFromCodepoint");M4=[];_D.forEach(t=>t.blocks.forEach(e=>M4.push(...e)));o(BX,"supportedCodepoint");Sg=80,EDe=o(function(e,r){return"M95,"+(622+e+r)+` -c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 -c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 -c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 -s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 -c69,-144,104.5,-217.7,106.5,-221 -l`+e/2.075+" -"+e+` -c5.3,-9.3,12,-14,20,-14 -H400000v`+(40+e)+`H845.2724 -s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 -c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z -M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtMain"),SDe=o(function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 -c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 -c340,-704.7,510.7,-1060.3,512,-1067 -l`+e/2.084+" -"+e+` -c4.7,-7.3,11,-11,19,-11 -H40000v`+(40+e)+`H1012.3 -s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 -c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 -s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 -c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z -M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize1"),ADe=o(function(e,r){return"M983 "+(10+e+r)+` -l`+e/3.13+" -"+e+` -c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` -H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 -s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 -c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 -c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 -c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 -c53.7,-170.3,84.5,-266.8,92.5,-289.5z -M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize2"),_De=o(function(e,r){return"M424,"+(2398+e+r)+` -c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 -c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 -s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 -s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 -l`+e/4.223+" -"+e+`c4,-6.7,10,-10,18,-10 H400000 -v`+(40+e)+`H1014.6 -s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 -c-2,6,-10,9,-24,9 -c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+r+` -h400000v`+(40+e)+"h-400000z"},"sqrtSize3"),DDe=o(function(e,r){return"M473,"+(2713+e+r)+` -c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+` -c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7 -s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 -c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 -c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 -s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, -606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},"sqrtSize4"),LDe=o(function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},"phasePath"),RDe=o(function(e,r,i){var n=i-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` -H742v`+n+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 -h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 -c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 -219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},"sqrtTall"),NDe=o(function(e,r,i){r=1e3*r;var n="";switch(e){case"sqrtMain":n=EDe(r,Sg);break;case"sqrtSize1":n=SDe(r,Sg);break;case"sqrtSize2":n=ADe(r,Sg);break;case"sqrtSize3":n=_De(r,Sg);break;case"sqrtSize4":n=DDe(r,Sg);break;case"sqrtTall":n=RDe(r,Sg,i)}return n},"sqrtPath"),IDe=o(function(e,r){switch(e){case"\u239C":return"M291 0 H417 V"+r+" H291z M291 0 H417 V"+r+" H291z";case"\u2223":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z";case"\u2225":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z"+("M367 0 H410 V"+r+" H367z M367 0 H410 V"+r+" H367z");case"\u239F":return"M457 0 H583 V"+r+" H457z M457 0 H583 V"+r+" H457z";case"\u23A2":return"M319 0 H403 V"+r+" H319z M319 0 H403 V"+r+" H319z";case"\u23A5":return"M263 0 H347 V"+r+" H263z M263 0 H347 V"+r+" H263z";case"\u23AA":return"M384 0 H504 V"+r+" H384z M384 0 H504 V"+r+" H384z";case"\u23D0":return"M312 0 H355 V"+r+" H312z M312 0 H355 V"+r+" H312z";case"\u2016":return"M257 0 H300 V"+r+" H257z M257 0 H300 V"+r+" H257z"+("M478 0 H521 V"+r+" H478z M478 0 H521 V"+r+" H478z");default:return""}},"innerPath"),aX={doubleleftarrow:`M262 157 -l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 - 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 - 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 -c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 - 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 --86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 --2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z -m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l --10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 - 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88 --33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 --17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 --13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 -c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 --107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120 - 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 --5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 -c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 - 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 - 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 - l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 --45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 - 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 - 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 - 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 --331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80 -H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 - 435 0h399565z`,leftgroupunder:`M400000 262 -H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 - 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 --3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 --18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 --196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 - 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 --4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 --10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z -m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 - 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 - 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 --152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 - 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 --2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 -v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 --83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 --68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 - 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:`M40 281 V428 H0 V94 H40 V241 H400000 v40z -M40 281 V428 H0 V94 H40 V241 H400000 v40z`,leftmapsto:`M40 281 V448H0V74H40V241H400000v40z -M40 281 V448H0V74H40V241H400000v40z`,leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 --.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 -c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 - 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:`M0 50 h400000 v40H0z m0 194h40000v40H0z -M0 50 h400000 v40H0z m0 194h40000v40H0z`,midbrace:`M200428 334 -c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 --53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 - 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 - 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214 -c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 - 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 - 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 --5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 --320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z -m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 -60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 --451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z -m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 -c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 --480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z -m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 -85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 --707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z -m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 -c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128 --16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 - 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 - 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 --40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 --12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 - 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l --6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 -s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 -c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 - 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 --174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 - 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 - 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 --3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 --10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 - 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 --18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 - 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z -m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 - 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 --7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 --27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 - 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 - 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 --64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z -m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 - 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 --13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 - 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z -M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 - 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 --52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 --167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 - 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 --70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 --40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 --37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 - 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167 -c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 - 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 - 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 --19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 - 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 --2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 - 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 - 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 --68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418 --8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 - 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 -c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 - 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 --11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 - 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 - 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 - -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 --11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 - 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 - 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 - -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 -3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 -10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 --1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 --7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 -H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 -c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 -c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 --11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 --11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 --11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, --5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, --11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, --11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, --11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 -c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 -c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 -s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 -121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 -s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 -c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z -M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 --27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 -13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 --84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 --119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 --12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 -151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 -c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 -c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 -c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 -c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z -M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0 -c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, --231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 -c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z -M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 -c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, -1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, --152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z -M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0 -c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, --231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 -c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z -M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},MDe=o(function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 -H403z M403 1759 V0 H319 V1759 v`+r+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v1759 H0 v84 H347z -M347 1759 V0 H263 V1759 v`+r+" v1759 h84z";case"vert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15 -c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 -c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+r+" v585 h43z";case"doublevert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15 -c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 -c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+r+` v585 h43z -M367 15 v585 v`+r+` v585 c2.667,10,9.667,15,21,15 -c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 -c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+r+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+r+` v1715 h263 v84 H319z -MM319 602 V0 H403 V602 v`+r+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+r+` v1799 H0 v-84 H319z -MM319 602 V0 H403 V602 v`+r+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v602 h84z -M403 1759 V0 H319 V1759 v`+r+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v602 h84z -M347 1759 V0 h-84 V1759 v`+r+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1 -c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349, --36,557 l0,`+(r+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, -949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9 -c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, --544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 -l0,-`+(r+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, --210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3, -63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 -c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(r+9)+` -c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664 -c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11 -c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 -c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 -l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, --470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}},"tallDelim"),qp=class{static{o(this,"DocumentFragment")}constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText(),"toText");return this.children.map(e).join("")}},ru={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},C4={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},sX={\u00C5:"A",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};o(FX,"setFontMetrics");o(GD,"getCharacterMetrics");mD={};o(ODe,"getGlobalMetrics");PDe=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],oX=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],lX=o(function(e,r){return r.size<2?e:PDe[e-1][r.size-1]},"sizeAtStyle"),P4=class t{static{o(this,"Options")}constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||t.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=oX[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var i in e)e.hasOwnProperty(i)&&(r[i]=e[i]);return new t(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:lX(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:oX[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=lX(t.BASESIZE,e);return this.size===r&&this.textSize===t.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==t.BASESIZE?["sizing","reset-size"+this.size,"size"+t.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=ODe(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}};P4.BASESIZE=6;DD={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},BDe={ex:!0,em:!0,mu:!0},$X=o(function(e){return typeof e!="string"&&(e=e.unit),e in DD||e in BDe||e==="ex"},"validUnit"),wn=o(function(e,r){var i;if(e.unit in DD)i=DD[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")i=r.fontMetrics().cssEmPerMu;else{var n;if(r.style.isTight()?n=r.havingStyle(r.style.text()):n=r,e.unit==="ex")i=n.fontMetrics().xHeight;else if(e.unit==="em")i=n.fontMetrics().quad;else throw new wt("Invalid unit: '"+e.unit+"'");n!==r&&(i*=n.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*i,r.maxSize)},"calculateSize"),Rt=o(function(e){return+e.toFixed(4)+"em"},"makeEm"),Of=o(function(e){return e.filter(r=>r).join(" ")},"createClass"),zX=o(function(e,r,i){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=i||{},r){r.style.isTight()&&this.classes.push("mtight");var n=r.getColor();n&&(this.style.color=n)}},"initNode"),GX=o(function(e){var r=document.createElement(e);r.className=Of(this.classes);for(var i in this.style)this.style.hasOwnProperty(i)&&(r.style[i]=this.style[i]);for(var n in this.attributes)this.attributes.hasOwnProperty(n)&&r.setAttribute(n,this.attributes[n]);for(var a=0;a/=\x00-\x1f]/,VX=o(function(e){var r="<"+e;this.classes.length&&(r+=' class="'+ui.escape(Of(this.classes))+'"');var i="";for(var n in this.style)this.style.hasOwnProperty(n)&&(i+=ui.hyphenate(n)+":"+this.style[n]+";");i&&(r+=' style="'+ui.escape(i)+'"');for(var a in this.attributes)if(this.attributes.hasOwnProperty(a)){if(FDe.test(a))throw new wt("Invalid attribute name '"+a+"'");r+=" "+a+'="'+ui.escape(this.attributes[a])+'"'}r+=">";for(var s=0;s",r},"toMarkup"),Wp=class{static{o(this,"Span")}constructor(e,r,i,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,zX.call(this,e,i,n),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return GX.call(this,"span")}toMarkup(){return VX.call(this,"span")}},jx=class{static{o(this,"Anchor")}constructor(e,r,i,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,zX.call(this,r,n),this.children=i||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return GX.call(this,"a")}toMarkup(){return VX.call(this,"a")}},LD=class{static{o(this,"Img")}constructor(e,r,i){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=r,this.src=e,this.classes=["mord"],this.style=i}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r in this.style)this.style.hasOwnProperty(r)&&(e.style[r]=this.style[r]);return e}toMarkup(){var e=''+ui.escape(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=Rt(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=Of(this.classes));for(var i in this.style)this.style.hasOwnProperty(i)&&(r=r||document.createElement("span"),r.style[i]=this.style[i]);return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(i+="margin-right:"+this.italic+"em;");for(var n in this.style)this.style.hasOwnProperty(n)&&(i+=ui.hyphenate(n)+":"+this.style[n]+";");i&&(e=!0,r+=' style="'+ui.escape(i)+'"');var a=ui.escape(this.text);return e?(r+=">",r+=a,r+="",r):a}},uc=class{static{o(this,"SvgNode")}constructor(e,r){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var i in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,i)&&r.setAttribute(i,this.attributes[i]);for(var n=0;n':''}},Xx=class{static{o(this,"LineNode")}constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var i in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,i)&&r.setAttribute(i,this.attributes[i]);return r}toMarkup(){var e="","\\gt",!0);q(j,ne,Le,"\u2208","\\in",!0);q(j,ne,Le,"\uE020","\\@not");q(j,ne,Le,"\u2282","\\subset",!0);q(j,ne,Le,"\u2283","\\supset",!0);q(j,ne,Le,"\u2286","\\subseteq",!0);q(j,ne,Le,"\u2287","\\supseteq",!0);q(j,_e,Le,"\u2288","\\nsubseteq",!0);q(j,_e,Le,"\u2289","\\nsupseteq",!0);q(j,ne,Le,"\u22A8","\\models");q(j,ne,Le,"\u2190","\\leftarrow",!0);q(j,ne,Le,"\u2264","\\le");q(j,ne,Le,"\u2264","\\leq",!0);q(j,ne,Le,"<","\\lt",!0);q(j,ne,Le,"\u2192","\\rightarrow",!0);q(j,ne,Le,"\u2192","\\to");q(j,_e,Le,"\u2271","\\ngeq",!0);q(j,_e,Le,"\u2270","\\nleq",!0);q(j,ne,Ch,"\xA0","\\ ");q(j,ne,Ch,"\xA0","\\space");q(j,ne,Ch,"\xA0","\\nobreakspace");q(gt,ne,Ch,"\xA0","\\ ");q(gt,ne,Ch,"\xA0"," ");q(gt,ne,Ch,"\xA0","\\space");q(gt,ne,Ch,"\xA0","\\nobreakspace");q(j,ne,Ch,null,"\\nobreak");q(j,ne,Ch,null,"\\allowbreak");q(j,ne,q4,",",",");q(j,ne,q4,";",";");q(j,_e,$t,"\u22BC","\\barwedge",!0);q(j,_e,$t,"\u22BB","\\veebar",!0);q(j,ne,$t,"\u2299","\\odot",!0);q(j,ne,$t,"\u2295","\\oplus",!0);q(j,ne,$t,"\u2297","\\otimes",!0);q(j,ne,ze,"\u2202","\\partial",!0);q(j,ne,$t,"\u2298","\\oslash",!0);q(j,_e,$t,"\u229A","\\circledcirc",!0);q(j,_e,$t,"\u22A1","\\boxdot",!0);q(j,ne,$t,"\u25B3","\\bigtriangleup");q(j,ne,$t,"\u25BD","\\bigtriangledown");q(j,ne,$t,"\u2020","\\dagger");q(j,ne,$t,"\u22C4","\\diamond");q(j,ne,$t,"\u22C6","\\star");q(j,ne,$t,"\u25C3","\\triangleleft");q(j,ne,$t,"\u25B9","\\triangleright");q(j,ne,Yo,"{","\\{");q(gt,ne,ze,"{","\\{");q(gt,ne,ze,"{","\\textbraceleft");q(j,ne,Ps,"}","\\}");q(gt,ne,ze,"}","\\}");q(gt,ne,ze,"}","\\textbraceright");q(j,ne,Yo,"{","\\lbrace");q(j,ne,Ps,"}","\\rbrace");q(j,ne,Yo,"[","\\lbrack",!0);q(gt,ne,ze,"[","\\lbrack",!0);q(j,ne,Ps,"]","\\rbrack",!0);q(gt,ne,ze,"]","\\rbrack",!0);q(j,ne,Yo,"(","\\lparen",!0);q(j,ne,Ps,")","\\rparen",!0);q(gt,ne,ze,"<","\\textless",!0);q(gt,ne,ze,">","\\textgreater",!0);q(j,ne,Yo,"\u230A","\\lfloor",!0);q(j,ne,Ps,"\u230B","\\rfloor",!0);q(j,ne,Yo,"\u2308","\\lceil",!0);q(j,ne,Ps,"\u2309","\\rceil",!0);q(j,ne,ze,"\\","\\backslash");q(j,ne,ze,"\u2223","|");q(j,ne,ze,"\u2223","\\vert");q(gt,ne,ze,"|","\\textbar",!0);q(j,ne,ze,"\u2225","\\|");q(j,ne,ze,"\u2225","\\Vert");q(gt,ne,ze,"\u2225","\\textbardbl");q(gt,ne,ze,"~","\\textasciitilde");q(gt,ne,ze,"\\","\\textbackslash");q(gt,ne,ze,"^","\\textasciicircum");q(j,ne,Le,"\u2191","\\uparrow",!0);q(j,ne,Le,"\u21D1","\\Uparrow",!0);q(j,ne,Le,"\u2193","\\downarrow",!0);q(j,ne,Le,"\u21D3","\\Downarrow",!0);q(j,ne,Le,"\u2195","\\updownarrow",!0);q(j,ne,Le,"\u21D5","\\Updownarrow",!0);q(j,ne,Kn,"\u2210","\\coprod");q(j,ne,Kn,"\u22C1","\\bigvee");q(j,ne,Kn,"\u22C0","\\bigwedge");q(j,ne,Kn,"\u2A04","\\biguplus");q(j,ne,Kn,"\u22C2","\\bigcap");q(j,ne,Kn,"\u22C3","\\bigcup");q(j,ne,Kn,"\u222B","\\int");q(j,ne,Kn,"\u222B","\\intop");q(j,ne,Kn,"\u222C","\\iint");q(j,ne,Kn,"\u222D","\\iiint");q(j,ne,Kn,"\u220F","\\prod");q(j,ne,Kn,"\u2211","\\sum");q(j,ne,Kn,"\u2A02","\\bigotimes");q(j,ne,Kn,"\u2A01","\\bigoplus");q(j,ne,Kn,"\u2A00","\\bigodot");q(j,ne,Kn,"\u222E","\\oint");q(j,ne,Kn,"\u222F","\\oiint");q(j,ne,Kn,"\u2230","\\oiiint");q(j,ne,Kn,"\u2A06","\\bigsqcup");q(j,ne,Kn,"\u222B","\\smallint");q(gt,ne,Dg,"\u2026","\\textellipsis");q(j,ne,Dg,"\u2026","\\mathellipsis");q(gt,ne,Dg,"\u2026","\\ldots",!0);q(j,ne,Dg,"\u2026","\\ldots",!0);q(j,ne,Dg,"\u22EF","\\@cdots",!0);q(j,ne,Dg,"\u22F1","\\ddots",!0);q(j,ne,ze,"\u22EE","\\varvdots");q(gt,ne,ze,"\u22EE","\\varvdots");q(j,ne,hn,"\u02CA","\\acute");q(j,ne,hn,"\u02CB","\\grave");q(j,ne,hn,"\xA8","\\ddot");q(j,ne,hn,"~","\\tilde");q(j,ne,hn,"\u02C9","\\bar");q(j,ne,hn,"\u02D8","\\breve");q(j,ne,hn,"\u02C7","\\check");q(j,ne,hn,"^","\\hat");q(j,ne,hn,"\u20D7","\\vec");q(j,ne,hn,"\u02D9","\\dot");q(j,ne,hn,"\u02DA","\\mathring");q(j,ne,mr,"\uE131","\\@imath");q(j,ne,mr,"\uE237","\\@jmath");q(j,ne,ze,"\u0131","\u0131");q(j,ne,ze,"\u0237","\u0237");q(gt,ne,ze,"\u0131","\\i",!0);q(gt,ne,ze,"\u0237","\\j",!0);q(gt,ne,ze,"\xDF","\\ss",!0);q(gt,ne,ze,"\xE6","\\ae",!0);q(gt,ne,ze,"\u0153","\\oe",!0);q(gt,ne,ze,"\xF8","\\o",!0);q(gt,ne,ze,"\xC6","\\AE",!0);q(gt,ne,ze,"\u0152","\\OE",!0);q(gt,ne,ze,"\xD8","\\O",!0);q(gt,ne,hn,"\u02CA","\\'");q(gt,ne,hn,"\u02CB","\\`");q(gt,ne,hn,"\u02C6","\\^");q(gt,ne,hn,"\u02DC","\\~");q(gt,ne,hn,"\u02C9","\\=");q(gt,ne,hn,"\u02D8","\\u");q(gt,ne,hn,"\u02D9","\\.");q(gt,ne,hn,"\xB8","\\c");q(gt,ne,hn,"\u02DA","\\r");q(gt,ne,hn,"\u02C7","\\v");q(gt,ne,hn,"\xA8",'\\"');q(gt,ne,hn,"\u02DD","\\H");q(gt,ne,hn,"\u25EF","\\textcircled");qX={"--":!0,"---":!0,"``":!0,"''":!0};q(gt,ne,ze,"\u2013","--",!0);q(gt,ne,ze,"\u2013","\\textendash");q(gt,ne,ze,"\u2014","---",!0);q(gt,ne,ze,"\u2014","\\textemdash");q(gt,ne,ze,"\u2018","`",!0);q(gt,ne,ze,"\u2018","\\textquoteleft");q(gt,ne,ze,"\u2019","'",!0);q(gt,ne,ze,"\u2019","\\textquoteright");q(gt,ne,ze,"\u201C","``",!0);q(gt,ne,ze,"\u201C","\\textquotedblleft");q(gt,ne,ze,"\u201D","''",!0);q(gt,ne,ze,"\u201D","\\textquotedblright");q(j,ne,ze,"\xB0","\\degree",!0);q(gt,ne,ze,"\xB0","\\degree");q(gt,ne,ze,"\xB0","\\textdegree",!0);q(j,ne,ze,"\xA3","\\pounds");q(j,ne,ze,"\xA3","\\mathsterling",!0);q(gt,ne,ze,"\xA3","\\pounds");q(gt,ne,ze,"\xA3","\\textsterling",!0);q(j,_e,ze,"\u2720","\\maltese");q(gt,_e,ze,"\u2720","\\maltese");uX='0123456789/@."';for(w4=0;w40)return cc(a,h,n,r,s.concat(f));if(u){var d,p;if(u==="boldsymbol"){var m=UDe(a,n,r,s,i);d=m.fontName,p=[m.fontClass]}else l?(d=HX[u].fontName,p=[u]):(d=D4(u,r.fontWeight,r.fontShape),p=[u,r.fontWeight,r.fontShape]);if(W4(a,d,n).metrics)return cc(a,d,n,r,s.concat(p));if(qX.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var g=[],y=0;y{if(Of(t.classes)!==Of(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var i in t.style)if(t.style.hasOwnProperty(i)&&t.style[i]!==e.style[i])return!1;for(var n in e.style)if(e.style.hasOwnProperty(n)&&t.style[n]!==e.style[n])return!1;return!0},"canCombine"),jDe=o(t=>{for(var e=0;er&&(r=s.height),s.depth>i&&(i=s.depth),s.maxFontSize>n&&(n=s.maxFontSize)}e.height=r,e.depth=i,e.maxFontSize=n},"sizeElementFromChildren"),lo=o(function(e,r,i,n){var a=new Wp(e,r,i,n);return VD(a),a},"makeSpan"),WX=o((t,e,r,i)=>new Wp(t,e,r,i),"makeSvgSpan"),XDe=o(function(e,r,i){var n=lo([e],[],r);return n.height=Math.max(i||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),n.style.borderBottomWidth=Rt(n.height),n.maxFontSize=1,n},"makeLineSpan"),KDe=o(function(e,r,i,n){var a=new jx(e,r,i,n);return VD(a),a},"makeAnchor"),UX=o(function(e){var r=new qp(e);return VD(r),r},"makeFragment"),QDe=o(function(e,r){return e instanceof qp?lo([],[e],r):e},"wrapFragment"),ZDe=o(function(e){if(e.positionType==="individualShift"){for(var r=e.children,i=[r[0]],n=-r[0].shift-r[0].elem.depth,a=n,s=1;s{var r=lo(["mspace"],[],e),i=wn(t,e);return r.style.marginRight=Rt(i),r},"makeGlue"),D4=o(function(e,r,i){var n="";switch(e){case"amsrm":n="AMS";break;case"textrm":n="Main";break;case"textsf":n="SansSerif";break;case"texttt":n="Typewriter";break;default:n=e}var a;return r==="textbf"&&i==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",n+"-"+a},"retrieveTextFontName"),HX={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},YX={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},tLe=o(function(e,r){var[i,n,a]=YX[e],s=new iu(i),l=new uc([s],{width:Rt(n),height:Rt(a),style:"width:"+Rt(n),viewBox:"0 0 "+1e3*n+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),u=WX(["overlay"],[l],r);return u.height=a,u.style.height=Rt(a),u.style.width=Rt(n),u},"staticSvg"),je={fontMap:HX,makeSymbol:cc,mathsym:WDe,makeSpan:lo,makeSvgSpan:WX,makeLineSpan:XDe,makeAnchor:KDe,makeFragment:UX,wrapFragment:QDe,makeVList:JDe,makeOrd:HDe,makeGlue:eLe,staticSvg:tLe,svgData:YX,tryCombineChars:jDe},Cn={number:3,unit:"mu"},Vp={number:4,unit:"mu"},vh={number:5,unit:"mu"},rLe={mord:{mop:Cn,mbin:Vp,mrel:vh,minner:Cn},mop:{mord:Cn,mop:Cn,mrel:vh,minner:Cn},mbin:{mord:Vp,mop:Vp,mopen:Vp,minner:Vp},mrel:{mord:vh,mop:vh,mopen:vh,minner:vh},mopen:{},mclose:{mop:Cn,mbin:Vp,mrel:vh,minner:Cn},mpunct:{mord:Cn,mop:Cn,mrel:vh,mopen:Cn,mclose:Cn,mpunct:Cn,minner:Cn},minner:{mord:Cn,mop:Cn,mbin:Vp,mrel:vh,mopen:Cn,mpunct:Cn,minner:Cn}},iLe={mord:{mop:Cn},mop:{mord:Cn,mop:Cn},mbin:{},mrel:{},mopen:{},mclose:{mop:Cn},mpunct:{},minner:{mop:Cn}},jX={},F4={},$4={};o(Bt,"defineFunction");o(Up,"defineFunctionBuilders");z4=o(function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},"normalizeArgument"),$n=o(function(e){return e.type==="ordgroup"?e.body:[e]},"ordargument"),Th=je.makeSpan,nLe=["leftmost","mbin","mopen","mrel","mop","mpunct"],aLe=["rightmost","mrel","mclose","mpunct"],sLe={display:gr.DISPLAY,text:gr.TEXT,script:gr.SCRIPT,scriptscript:gr.SCRIPTSCRIPT},oLe={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},ca=o(function(e,r,i,n){n===void 0&&(n=[null,null]);for(var a=[],s=0;s{var v=y.classes[0],x=g.classes[0];v==="mbin"&&aLe.includes(x)?y.classes[0]="mord":x==="mbin"&&nLe.includes(v)&&(g.classes[0]="mord")},{node:d},p,m),dX(a,(g,y)=>{var v=ND(y),x=ND(g),b=v&&x?g.hasClass("mtight")?iLe[v][x]:rLe[v][x]:null;if(b)return je.makeGlue(b,h)},{node:d},p,m),a},"buildExpression"),dX=o(function t(e,r,i,n,a){n&&e.push(n);for(var s=0;sp=>{e.splice(d+1,0,p),s++})(s)}n&&e.pop()},"traverseNonSpaceNodes"),XX=o(function(e){return e instanceof qp||e instanceof jx||e instanceof Wp&&e.hasClass("enclosing")?e:null},"checkPartialGroup"),lLe=o(function t(e,r){var i=XX(e);if(i){var n=i.children;if(n.length){if(r==="right")return t(n[n.length-1],"right");if(r==="left")return t(n[0],"left")}}return e},"getOutermostNode"),ND=o(function(e,r){return e?(r&&(e=lLe(e,r)),oLe[e.classes[0]]||null):null},"getTypeOfDomTree"),Kx=o(function(e,r){var i=["nulldelimiter"].concat(e.baseSizingClasses());return Th(r.concat(i))},"makeNullDelimiter"),ii=o(function(e,r,i){if(!e)return Th();if(F4[e.type]){var n=F4[e.type](e,r);if(i&&r.size!==i.size){n=Th(r.sizingClasses(i),[n],r);var a=r.sizeMultiplier/i.sizeMultiplier;n.height*=a,n.depth*=a}return n}else throw new wt("Got group of unknown type: '"+e.type+"'")},"buildGroup");o(L4,"buildHTMLUnbreakable");o(ID,"buildHTML");o(KX,"newDocumentFragment");Ms=class{static{o(this,"MathNode")}constructor(e,r,i){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=r||[],this.classes=i||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=Of(this.classes));for(var i=0;i0&&(e+=' class ="'+ui.escape(Of(this.classes))+'"'),e+=">";for(var i=0;i",e}toText(){return this.children.map(e=>e.toText()).join("")}},Cl=class{static{o(this,"TextNode")}constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return ui.escape(this.toText())}toText(){return this.text}},MD=class{static{o(this,"SpaceNode")}constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character="\u200A":e>=.1666&&e<=.1667?this.character="\u2009":e>=.2222&&e<=.2223?this.character="\u2005":e>=.2777&&e<=.2778?this.character="\u2005\u200A":e>=-.05556&&e<=-.05555?this.character="\u200A\u2063":e>=-.1667&&e<=-.1666?this.character="\u2009\u2063":e>=-.2223&&e<=-.2222?this.character="\u205F\u2063":e>=-.2778&&e<=-.2777?this.character="\u2005\u2063":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",Rt(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},Ct={MathNode:Ms,TextNode:Cl,SpaceNode:MD,newDocumentFragment:KX},wl=o(function(e,r,i){return ji[r][e]&&ji[r][e].replace&&e.charCodeAt(0)!==55349&&!(qX.hasOwnProperty(e)&&i&&(i.fontFamily&&i.fontFamily.slice(4,6)==="tt"||i.font&&i.font.slice(4,6)==="tt"))&&(e=ji[r][e].replace),new Ct.TextNode(e)},"makeText"),qD=o(function(e){return e.length===1?e[0]:new Ct.MathNode("mrow",e)},"makeRow"),WD=o(function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var i=r.font;if(!i||i==="mathnormal")return null;var n=e.mode;if(i==="mathit")return"italic";if(i==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(i==="mathbf")return"bold";if(i==="mathbb")return"double-struck";if(i==="mathsfit")return"sans-serif-italic";if(i==="mathfrak")return"fraktur";if(i==="mathscr"||i==="mathcal")return"script";if(i==="mathsf")return"sans-serif";if(i==="mathtt")return"monospace";var a=e.text;if(["\\imath","\\jmath"].includes(a))return null;ji[n][a]&&ji[n][a].replace&&(a=ji[n][a].replace);var s=je.fontMap[i].fontName;return GD(a,s,n)?je.fontMap[i].variant:null},"getVariant");o(vD,"isNumberPunctuation");ho=o(function(e,r,i){if(e.length===1){var n=$i(e[0],r);return i&&n instanceof Ms&&n.type==="mo"&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n]}for(var a=[],s,l=0;l=1&&(s.type==="mn"||vD(s))){var h=u.children[0];h instanceof Ms&&h.type==="mn"&&(h.children=[...s.children,...h.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var f=s.children[0];if(f instanceof Cl&&f.text==="\u0338"&&(u.type==="mo"||u.type==="mi"||u.type==="mn")){var d=u.children[0];d instanceof Cl&&d.text.length>0&&(d.text=d.text.slice(0,1)+"\u0338"+d.text.slice(1),a.pop())}}}a.push(u),s=u}return a},"buildExpression"),Pf=o(function(e,r,i){return qD(ho(e,r,i))},"buildExpressionRow"),$i=o(function(e,r){if(!e)return new Ct.MathNode("mrow");if($4[e.type]){var i=$4[e.type](e,r);return i}else throw new wt("Got group of unknown type: '"+e.type+"'")},"buildGroup");o(pX,"buildMathML");QX=o(function(e){return new P4({style:e.displayMode?gr.DISPLAY:gr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},"optionsFromSettings"),ZX=o(function(e,r){if(r.displayMode){var i=["katex-display"];r.leqno&&i.push("leqno"),r.fleqn&&i.push("fleqn"),e=je.makeSpan(i,[e])}return e},"displayWrap"),cLe=o(function(e,r,i){var n=QX(i),a;if(i.output==="mathml")return pX(e,r,n,i.displayMode,!0);if(i.output==="html"){var s=ID(e,n);a=je.makeSpan(["katex"],[s])}else{var l=pX(e,r,n,i.displayMode,!1),u=ID(e,n);a=je.makeSpan(["katex"],[l,u])}return ZX(a,i)},"buildTree"),uLe=o(function(e,r,i){var n=QX(i),a=ID(e,n),s=je.makeSpan(["katex"],[a]);return ZX(s,i)},"buildHTMLTree"),hLe={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xrightleftarrows:"\u21C4",xrightequilibrium:"\u21CC",xleftequilibrium:"\u21CB","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},fLe=o(function(e){var r=new Ct.MathNode("mo",[new Ct.TextNode(hLe[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},"mathMLnode"),dLe={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},pLe=o(function(e){return e.type==="ordgroup"?e.body.length:1},"groupLength"),mLe=o(function(e,r){function i(){var l=4e5,u=e.label.slice(1);if(["widehat","widecheck","widetilde","utilde"].includes(u)){var h=e,f=pLe(h.base),d,p,m;if(f>5)u==="widehat"||u==="widecheck"?(d=420,l=2364,m=.42,p=u+"4"):(d=312,l=2340,m=.34,p="tilde4");else{var g=[1,1,2,2,3,3][f];u==="widehat"||u==="widecheck"?(l=[0,1062,2364,2364,2364][g],d=[0,239,300,360,420][g],m=[0,.24,.3,.3,.36,.42][g],p=u+g):(l=[0,600,1033,2339,2340][g],d=[0,260,286,306,312][g],m=[0,.26,.286,.3,.306,.34][g],p="tilde"+g)}var y=new iu(p),v=new uc([y],{width:"100%",height:Rt(m),viewBox:"0 0 "+l+" "+d,preserveAspectRatio:"none"});return{span:je.makeSvgSpan([],[v],r),minWidth:0,height:m}}else{var x=[],b=dLe[u],[T,w,k]=b,C=k/1e3,E=T.length,S,L;if(E===1){var M=b[3];S=["hide-tail"],L=[M]}else if(E===2)S=["halfarrow-left","halfarrow-right"],L=["xMinYMin","xMaxYMin"];else if(E===3)S=["brace-left","brace-center","brace-right"],L=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support - `+E+" children.");for(var I=0;I0&&(n.style.minWidth=Rt(a)),n},"svgSpan"),gLe=o(function(e,r,i,n,a){var s,l=e.height+e.depth+i+n;if(/fbox|color|angl/.test(r)){if(s=je.makeSpan(["stretchy",r],[],a),r==="fbox"){var u=a.color&&a.getColor();u&&(s.style.borderColor=u)}}else{var h=[];/^[bx]cancel$/.test(r)&&h.push(new Xx({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&h.push(new Xx({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var f=new uc(h,{width:"100%",height:Rt(l)});s=je.makeSvgSpan([],[f],a)}return s.height=l,s.style.height=Rt(l),s},"encloseSpan"),kh={encloseSpan:gLe,mathMLnode:fLe,svgSpan:mLe};o(Gr,"assertNodeType");o(UD,"assertSymbolNodeType");o(U4,"checkSymbolNodeType");HD=o((t,e)=>{var r,i,n;t&&t.type==="supsub"?(i=Gr(t.base,"accent"),r=i.base,t.base=r,n=zDe(ii(t,e)),t.base=i):(i=Gr(t,"accent"),r=i.base);var a=ii(r,e.havingCrampedStyle()),s=i.isShifty&&ui.isCharacterBox(r),l=0;if(s){var u=ui.getBaseElem(r),h=ii(u,e.havingCrampedStyle());l=cX(h).skew}var f=i.label==="\\c",d=f?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),p;if(i.isStretchy)p=kh.svgSpan(i,e),p=je.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:p,wrapperClasses:["svg-align"],wrapperStyle:l>0?{width:"calc(100% - "+Rt(2*l)+")",marginLeft:Rt(2*l)}:void 0}]},e);else{var m,g;i.label==="\\vec"?(m=je.staticSvg("vec",e),g=je.svgData.vec[1]):(m=je.makeOrd({mode:i.mode,text:i.label},e,"textord"),m=cX(m),m.italic=0,g=m.width,f&&(d+=m.depth)),p=je.makeSpan(["accent-body"],[m]);var y=i.label==="\\textcircled";y&&(p.classes.push("accent-full"),d=a.height);var v=l;y||(v-=g/2),p.style.left=Rt(v),i.label==="\\textcircled"&&(p.style.top=".2em"),p=je.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:p}]},e)}var x=je.makeSpan(["mord","accent"],[p],e);return n?(n.children[0]=x,n.height=Math.max(x.height,n.height),n.classes[0]="mord",n):x},"htmlBuilder$a"),JX=o((t,e)=>{var r=t.isStretchy?kh.mathMLnode(t.label):new Ct.MathNode("mo",[wl(t.label,t.mode)]),i=new Ct.MathNode("mover",[$i(t.base,e),r]);return i.setAttribute("accent","true"),i},"mathmlBuilder$9"),yLe=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Bt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:o((t,e)=>{var r=z4(e[0]),i=!yLe.test(t.funcName),n=!i||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:i,isShifty:n,base:r}},"handler"),htmlBuilder:HD,mathmlBuilder:JX});Bt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:o((t,e)=>{var r=e[0],i=t.parser.mode;return i==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),i="text"),{type:"accent",mode:i,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},"handler"),htmlBuilder:HD,mathmlBuilder:JX});Bt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r,funcName:i}=t,n=e[0];return{type:"accentUnder",mode:r.mode,label:i,base:n}},"handler"),htmlBuilder:o((t,e)=>{var r=ii(t.base,e),i=kh.svgSpan(t,e),n=t.label==="\\utilde"?.12:0,a=je.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:i,wrapperClasses:["svg-align"]},{type:"kern",size:n},{type:"elem",elem:r}]},e);return je.makeSpan(["mord","accentunder"],[a],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=kh.mathMLnode(t.label),i=new Ct.MathNode("munder",[$i(t.base,e),r]);return i.setAttribute("accentunder","true"),i},"mathmlBuilder")});R4=o(t=>{var e=new Ct.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e},"paddedNode");Bt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:i,funcName:n}=t;return{type:"xArrow",mode:i.mode,label:n,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,i=e.havingStyle(r.sup()),n=je.wrapFragment(ii(t.body,i,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";n.classes.push(a+"-arrow-pad");var s;t.below&&(i=e.havingStyle(r.sub()),s=je.wrapFragment(ii(t.below,i,e),e),s.classes.push(a+"-arrow-pad"));var l=kh.svgSpan(t,e),u=-e.fontMetrics().axisHeight+.5*l.height,h=-e.fontMetrics().axisHeight-.5*l.height-.111;(n.depth>.25||t.label==="\\xleftequilibrium")&&(h-=n.depth);var f;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*l.height+.111;f=je.makeVList({positionType:"individualShift",children:[{type:"elem",elem:n,shift:h},{type:"elem",elem:l,shift:u},{type:"elem",elem:s,shift:d}]},e)}else f=je.makeVList({positionType:"individualShift",children:[{type:"elem",elem:n,shift:h},{type:"elem",elem:l,shift:u}]},e);return f.children[0].children[0].children[1].classes.push("svg-align"),je.makeSpan(["mrel","x-arrow"],[f],e)},mathmlBuilder(t,e){var r=kh.mathMLnode(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var i;if(t.body){var n=R4($i(t.body,e));if(t.below){var a=R4($i(t.below,e));i=new Ct.MathNode("munderover",[r,a,n])}else i=new Ct.MathNode("mover",[r,n])}else if(t.below){var s=R4($i(t.below,e));i=new Ct.MathNode("munder",[r,s])}else i=R4(),i=new Ct.MathNode("mover",[r,i]);return i}});vLe=je.makeSpan;o(eK,"htmlBuilder$9");o(tK,"mathmlBuilder$8");Bt({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:i}=t,n=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+i.slice(5),body:$n(n),isCharacterBox:ui.isCharacterBox(n)}},htmlBuilder:eK,mathmlBuilder:tK});H4=o(t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"},"binrelClass");Bt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:H4(e[0]),body:$n(e[1]),isCharacterBox:ui.isCharacterBox(e[1])}}});Bt({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:i}=t,n=e[1],a=e[0],s;i!=="\\stackrel"?s=H4(n):s="mrel";var l={type:"op",mode:n.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:i!=="\\stackrel",body:$n(n)},u={type:"supsub",mode:a.mode,base:l,sup:i==="\\underset"?null:a,sub:i==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[u],isCharacterBox:ui.isCharacterBox(u)}},htmlBuilder:eK,mathmlBuilder:tK});Bt({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:H4(e[0]),body:$n(e[0])}},htmlBuilder(t,e){var r=ca(t.body,e,!0),i=je.makeSpan([t.mclass],r,e);return i.style.textShadow="0.02em 0.01em 0.04px",i},mathmlBuilder(t,e){var r=ho(t.body,e),i=new Ct.MathNode("mstyle",r);return i.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),i}});xLe={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},mX=o(()=>({type:"styling",body:[],mode:"math",style:"display"}),"newCell"),gX=o(t=>t.type==="textord"&&t.text==="@","isStartOfArrow"),bLe=o((t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e,"isLabelEnd");o(TLe,"cdArrow");o(kLe,"parseCD");Bt({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:i}=t;return{type:"cdlabel",mode:r.mode,side:i.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),i=je.wrapFragment(ii(t.label,r,e),e);return i.classes.push("cd-label-"+t.side),i.style.bottom=Rt(.8-i.depth),i.height=0,i.depth=0,i},mathmlBuilder(t,e){var r=new Ct.MathNode("mrow",[$i(t.label,e)]);return r=new Ct.MathNode("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new Ct.MathNode("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Bt({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=je.wrapFragment(ii(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new Ct.MathNode("mrow",[$i(t.fragment,e)])}});Bt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,i=Gr(e[0],"ordgroup"),n=i.body,a="",s=0;s=1114111)throw new wt("\\@char with invalid code point "+a);return u<=65535?h=String.fromCharCode(u):(u-=65536,h=String.fromCharCode((u>>10)+55296,(u&1023)+56320)),{type:"textord",mode:r.mode,text:h}}});rK=o((t,e)=>{var r=ca(t.body,e.withColor(t.color),!1);return je.makeFragment(r)},"htmlBuilder$8"),iK=o((t,e)=>{var r=ho(t.body,e.withColor(t.color)),i=new Ct.MathNode("mstyle",r);return i.setAttribute("mathcolor",t.color),i},"mathmlBuilder$7");Bt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,i=Gr(e[0],"color-token").color,n=e[1];return{type:"color",mode:r.mode,color:i,body:$n(n)}},htmlBuilder:rK,mathmlBuilder:iK});Bt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:i}=t,n=Gr(e[0],"color-token").color;r.gullet.macros.set("\\current@color",n);var a=r.parseExpression(!0,i);return{type:"color",mode:r.mode,color:n,body:a}},htmlBuilder:rK,mathmlBuilder:iK});Bt({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:i}=t,n=i.gullet.future().text==="["?i.parseSizeGroup(!0):null,a=!i.settings.displayMode||!i.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:i.mode,newLine:a,size:n&&Gr(n,"size").value}},htmlBuilder(t,e){var r=je.makeSpan(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=Rt(wn(t.size,e)))),r},mathmlBuilder(t,e){var r=new Ct.MathNode("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",Rt(wn(t.size,e)))),r}});OD={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},nK=o(t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new wt("Expected a control sequence",t);return e},"checkControlSequence"),CLe=o(t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},"getRHS"),aK=o((t,e,r,i)=>{var n=t.gullet.macros.get(r.text);n==null&&(r.noexpand=!0,n={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,n,i)},"letCommand");Bt({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var i=e.fetch();if(OD[i.text])return(r==="\\global"||r==="\\\\globallong")&&(i.text=OD[i.text]),Gr(e.parseFunction(),"internal");throw new wt("Invalid token after macro prefix",i)}});Bt({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,i=e.gullet.popToken(),n=i.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(n))throw new wt("Expected a control sequence",i);for(var a=0,s,l=[[]];e.gullet.future().text!=="{";)if(i=e.gullet.popToken(),i.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),l[a].push("{");break}if(i=e.gullet.popToken(),!/^[1-9]$/.test(i.text))throw new wt('Invalid argument number "'+i.text+'"');if(parseInt(i.text)!==a+1)throw new wt('Argument number "'+i.text+'" out of order');a++,l.push([])}else{if(i.text==="EOF")throw new wt("Expected a macro definition");l[a].push(i.text)}var{tokens:u}=e.gullet.consumeArg();return s&&u.unshift(s),(r==="\\edef"||r==="\\xdef")&&(u=e.gullet.expandTokens(u),u.reverse()),e.gullet.macros.set(n,{tokens:u,numArgs:a,delimiters:l},r===OD[r]),{type:"internal",mode:e.mode}}});Bt({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,i=nK(e.gullet.popToken());e.gullet.consumeSpaces();var n=CLe(e);return aK(e,i,n,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Bt({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,i=nK(e.gullet.popToken()),n=e.gullet.popToken(),a=e.gullet.popToken();return aK(e,i,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(n),{type:"internal",mode:e.mode}}});qx=o(function(e,r,i){var n=ji.math[e]&&ji.math[e].replace,a=GD(n||e,r,i);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},"getMetrics"),YD=o(function(e,r,i,n){var a=i.havingBaseStyle(r),s=je.makeSpan(n.concat(a.sizingClasses(i)),[e],i),l=a.sizeMultiplier/i.sizeMultiplier;return s.height*=l,s.depth*=l,s.maxFontSize=a.sizeMultiplier,s},"styleWrap"),sK=o(function(e,r,i){var n=r.havingBaseStyle(i),a=(1-r.sizeMultiplier/n.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=Rt(a),e.height-=a,e.depth+=a},"centerSpan"),wLe=o(function(e,r,i,n,a,s){var l=je.makeSymbol(e,"Main-Regular",a,n),u=YD(l,r,n,s);return i&&sK(u,n,r),u},"makeSmallDelim"),ELe=o(function(e,r,i,n){return je.makeSymbol(e,"Size"+r+"-Regular",i,n)},"mathrmSize"),oK=o(function(e,r,i,n,a,s){var l=ELe(e,r,a,n),u=YD(je.makeSpan(["delimsizing","size"+r],[l],n),gr.TEXT,n,s);return i&&sK(u,n,gr.TEXT),u},"makeLargeDelim"),xD=o(function(e,r,i){var n;r==="Size1-Regular"?n="delim-size1":n="delim-size4";var a=je.makeSpan(["delimsizinginner",n],[je.makeSpan([],[je.makeSymbol(e,r,i)])]);return{type:"elem",elem:a}},"makeGlyphSpan"),bD=o(function(e,r,i){var n=ru["Size4-Regular"][e.charCodeAt(0)]?ru["Size4-Regular"][e.charCodeAt(0)][4]:ru["Size1-Regular"][e.charCodeAt(0)][4],a=new iu("inner",IDe(e,Math.round(1e3*r))),s=new uc([a],{width:Rt(n),height:Rt(r),style:"width:"+Rt(n),viewBox:"0 0 "+1e3*n+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),l=je.makeSvgSpan([],[s],i);return l.height=r,l.style.height=Rt(r),l.style.width=Rt(n),{type:"elem",elem:l}},"makeInner"),PD=.008,N4={type:"kern",size:-1*PD},SLe=["|","\\lvert","\\rvert","\\vert"],ALe=["\\|","\\lVert","\\rVert","\\Vert"],lK=o(function(e,r,i,n,a,s){var l,u,h,f,d="",p=0;l=h=f=e,u=null;var m="Size1-Regular";e==="\\uparrow"?h=f="\u23D0":e==="\\Uparrow"?h=f="\u2016":e==="\\downarrow"?l=h="\u23D0":e==="\\Downarrow"?l=h="\u2016":e==="\\updownarrow"?(l="\\uparrow",h="\u23D0",f="\\downarrow"):e==="\\Updownarrow"?(l="\\Uparrow",h="\u2016",f="\\Downarrow"):SLe.includes(e)?(h="\u2223",d="vert",p=333):ALe.includes(e)?(h="\u2225",d="doublevert",p=556):e==="["||e==="\\lbrack"?(l="\u23A1",h="\u23A2",f="\u23A3",m="Size4-Regular",d="lbrack",p=667):e==="]"||e==="\\rbrack"?(l="\u23A4",h="\u23A5",f="\u23A6",m="Size4-Regular",d="rbrack",p=667):e==="\\lfloor"||e==="\u230A"?(h=l="\u23A2",f="\u23A3",m="Size4-Regular",d="lfloor",p=667):e==="\\lceil"||e==="\u2308"?(l="\u23A1",h=f="\u23A2",m="Size4-Regular",d="lceil",p=667):e==="\\rfloor"||e==="\u230B"?(h=l="\u23A5",f="\u23A6",m="Size4-Regular",d="rfloor",p=667):e==="\\rceil"||e==="\u2309"?(l="\u23A4",h=f="\u23A5",m="Size4-Regular",d="rceil",p=667):e==="("||e==="\\lparen"?(l="\u239B",h="\u239C",f="\u239D",m="Size4-Regular",d="lparen",p=875):e===")"||e==="\\rparen"?(l="\u239E",h="\u239F",f="\u23A0",m="Size4-Regular",d="rparen",p=875):e==="\\{"||e==="\\lbrace"?(l="\u23A7",u="\u23A8",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(l="\u23AB",u="\u23AC",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lgroup"||e==="\u27EE"?(l="\u23A7",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\rgroup"||e==="\u27EF"?(l="\u23AB",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lmoustache"||e==="\u23B0"?(l="\u23A7",f="\u23AD",h="\u23AA",m="Size4-Regular"):(e==="\\rmoustache"||e==="\u23B1")&&(l="\u23AB",f="\u23A9",h="\u23AA",m="Size4-Regular");var g=qx(l,m,a),y=g.height+g.depth,v=qx(h,m,a),x=v.height+v.depth,b=qx(f,m,a),T=b.height+b.depth,w=0,k=1;if(u!==null){var C=qx(u,m,a);w=C.height+C.depth,k=2}var E=y+T+w,S=Math.max(0,Math.ceil((r-E)/(k*x))),L=E+S*k*x,M=n.fontMetrics().axisHeight;i&&(M*=n.sizeMultiplier);var I=L/2-M,A=[];if(d.length>0){var _=L-y-T,D=Math.round(L*1e3),N=MDe(d,Math.round(_*1e3)),R=new iu(d,N),B=(p/1e3).toFixed(3)+"em",O=(D/1e3).toFixed(3)+"em",$=new uc([R],{width:B,height:O,viewBox:"0 0 "+p+" "+D}),z=je.makeSvgSpan([],[$],n);z.height=D/1e3,z.style.width=B,z.style.height=O,A.push({type:"elem",elem:z})}else{if(A.push(xD(f,m,a)),A.push(N4),u===null){var F=L-y-T+2*PD;A.push(bD(h,F,n))}else{var V=(L-y-T-w)/2+2*PD;A.push(bD(h,V,n)),A.push(N4),A.push(xD(u,m,a)),A.push(N4),A.push(bD(h,V,n))}A.push(N4),A.push(xD(l,m,a))}var H=n.havingBaseStyle(gr.TEXT),X=je.makeVList({positionType:"bottom",positionData:I,children:A},H);return YD(je.makeSpan(["delimsizing","mult"],[X],H),gr.TEXT,n,s)},"makeStackedDelim"),TD=80,kD=.08,CD=o(function(e,r,i,n,a){var s=NDe(e,n,i),l=new iu(e,s),u=new uc([l],{width:"400em",height:Rt(r),viewBox:"0 0 400000 "+i,preserveAspectRatio:"xMinYMin slice"});return je.makeSvgSpan(["hide-tail"],[u],a)},"sqrtSvg"),_Le=o(function(e,r){var i=r.havingBaseSizing(),n=fK("\\surd",e*i.sizeMultiplier,hK,i),a=i.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),l,u=0,h=0,f=0,d;return n.type==="small"?(f=1e3+1e3*s+TD,e<1?a=1:e<1.4&&(a=.7),u=(1+s+kD)/a,h=(1+s)/a,l=CD("sqrtMain",u,f,s,r),l.style.minWidth="0.853em",d=.833/a):n.type==="large"?(f=(1e3+TD)*Ux[n.size],h=(Ux[n.size]+s)/a,u=(Ux[n.size]+s+kD)/a,l=CD("sqrtSize"+n.size,u,f,s,r),l.style.minWidth="1.02em",d=1/a):(u=e+s+kD,h=e+s,f=Math.floor(1e3*e+s)+TD,l=CD("sqrtTall",u,f,s,r),l.style.minWidth="0.742em",d=1.056),l.height=h,l.style.height=Rt(u),{span:l,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},"makeSqrtImage"),cK=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"],DLe=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"],uK=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],Ux=[0,1.2,1.8,2.4,3],LLe=o(function(e,r,i,n,a){if(e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle"),cK.includes(e)||uK.includes(e))return oK(e,r,!1,i,n,a);if(DLe.includes(e))return lK(e,Ux[r],!1,i,n,a);throw new wt("Illegal delimiter: '"+e+"'")},"makeSizedDelim"),RLe=[{type:"small",style:gr.SCRIPTSCRIPT},{type:"small",style:gr.SCRIPT},{type:"small",style:gr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],NLe=[{type:"small",style:gr.SCRIPTSCRIPT},{type:"small",style:gr.SCRIPT},{type:"small",style:gr.TEXT},{type:"stack"}],hK=[{type:"small",style:gr.SCRIPTSCRIPT},{type:"small",style:gr.SCRIPT},{type:"small",style:gr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],ILe=o(function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},"delimTypeToFont"),fK=o(function(e,r,i,n){for(var a=Math.min(2,3-n.style.size),s=a;sr)return i[s]}return i[i.length-1]},"traverseSequence"),dK=o(function(e,r,i,n,a,s){e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle");var l;uK.includes(e)?l=RLe:cK.includes(e)?l=hK:l=NLe;var u=fK(e,r,l,n);return u.type==="small"?wLe(e,u.style,i,n,a,s):u.type==="large"?oK(e,u.size,i,n,a,s):lK(e,r,i,n,a,s)},"makeCustomSizedDelim"),MLe=o(function(e,r,i,n,a,s){var l=n.fontMetrics().axisHeight*n.sizeMultiplier,u=901,h=5/n.fontMetrics().ptPerEm,f=Math.max(r-l,i+l),d=Math.max(f/500*u,2*f-h);return dK(e,d,!0,n,a,s)},"makeLeftRightDelim"),bh={sqrtImage:_Le,sizedDelim:LLe,sizeToMaxHeight:Ux,customSizedDelim:dK,leftRightDelim:MLe},yX={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},OLe=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];o(Y4,"checkDelimiter");Bt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:o((t,e)=>{var r=Y4(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:yX[t.funcName].size,mclass:yX[t.funcName].mclass,delim:r.text}},"handler"),htmlBuilder:o((t,e)=>t.delim==="."?je.makeSpan([t.mclass]):bh.sizedDelim(t.delim,t.size,e,t.mode,[t.mclass]),"htmlBuilder"),mathmlBuilder:o(t=>{var e=[];t.delim!=="."&&e.push(wl(t.delim,t.mode));var r=new Ct.MathNode("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var i=Rt(bh.sizeToMaxHeight[t.size]);return r.setAttribute("minsize",i),r.setAttribute("maxsize",i),r},"mathmlBuilder")});o(vX,"assertParsed");Bt({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new wt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:Y4(e[0],t).text,color:r}},"handler")});Bt({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=Y4(e[0],t),i=t.parser;++i.leftrightDepth;var n=i.parseExpression(!1);--i.leftrightDepth,i.expect("\\right",!1);var a=Gr(i.parseFunction(),"leftright-right");return{type:"leftright",mode:i.mode,body:n,left:r.text,right:a.delim,rightColor:a.color}},"handler"),htmlBuilder:o((t,e)=>{vX(t);for(var r=ca(t.body,e,!0,["mopen","mclose"]),i=0,n=0,a=!1,s=0;s{vX(t);var r=ho(t.body,e);if(t.left!=="."){var i=new Ct.MathNode("mo",[wl(t.left,t.mode)]);i.setAttribute("fence","true"),r.unshift(i)}if(t.right!=="."){var n=new Ct.MathNode("mo",[wl(t.right,t.mode)]);n.setAttribute("fence","true"),t.rightColor&&n.setAttribute("mathcolor",t.rightColor),r.push(n)}return qD(r)},"mathmlBuilder")});Bt({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=Y4(e[0],t);if(!t.parser.leftrightDepth)throw new wt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},"handler"),htmlBuilder:o((t,e)=>{var r;if(t.delim===".")r=Kx(e,[]);else{r=bh.sizedDelim(t.delim,1,e,t.mode,[]);var i={delim:t.delim,options:e};r.isMiddle=i}return r},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?wl("|","text"):wl(t.delim,t.mode),i=new Ct.MathNode("mo",[r]);return i.setAttribute("fence","true"),i.setAttribute("lspace","0.05em"),i.setAttribute("rspace","0.05em"),i},"mathmlBuilder")});jD=o((t,e)=>{var r=je.wrapFragment(ii(t.body,e),e),i=t.label.slice(1),n=e.sizeMultiplier,a,s=0,l=ui.isCharacterBox(t.body);if(i==="sout")a=je.makeSpan(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/n,s=-.5*e.fontMetrics().xHeight;else if(i==="phase"){var u=wn({number:.6,unit:"pt"},e),h=wn({number:.35,unit:"ex"},e),f=e.havingBaseSizing();n=n/f.sizeMultiplier;var d=r.height+r.depth+u+h;r.style.paddingLeft=Rt(d/2+u);var p=Math.floor(1e3*d*n),m=LDe(p),g=new uc([new iu("phase",m)],{width:"400em",height:Rt(p/1e3),viewBox:"0 0 400000 "+p,preserveAspectRatio:"xMinYMin slice"});a=je.makeSvgSpan(["hide-tail"],[g],e),a.style.height=Rt(d),s=r.depth+u+h}else{/cancel/.test(i)?l||r.classes.push("cancel-pad"):i==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var y=0,v=0,x=0;/box/.test(i)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),y=e.fontMetrics().fboxsep+(i==="colorbox"?0:x),v=y):i==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),y=4*x,v=Math.max(0,.25-r.depth)):(y=l?.2:0,v=y),a=kh.encloseSpan(r,i,y,v,e),/fbox|boxed|fcolorbox/.test(i)?(a.style.borderStyle="solid",a.style.borderWidth=Rt(x)):i==="angl"&&x!==.049&&(a.style.borderTopWidth=Rt(x),a.style.borderRightWidth=Rt(x)),s=r.depth+v,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var b;if(t.backgroundColor)b=je.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]},e);else{var T=/cancel|phase/.test(i)?["svg-align"]:[];b=je.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]},e)}return/cancel/.test(i)&&(b.height=r.height,b.depth=r.depth),/cancel/.test(i)&&!l?je.makeSpan(["mord","cancel-lap"],[b],e):je.makeSpan(["mord"],[b],e)},"htmlBuilder$7"),XD=o((t,e)=>{var r=0,i=new Ct.MathNode(t.label.indexOf("colorbox")>-1?"mpadded":"menclose",[$i(t.body,e)]);switch(t.label){case"\\cancel":i.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":i.setAttribute("notation","downdiagonalstrike");break;case"\\phase":i.setAttribute("notation","phasorangle");break;case"\\sout":i.setAttribute("notation","horizontalstrike");break;case"\\fbox":i.setAttribute("notation","box");break;case"\\angl":i.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,i.setAttribute("width","+"+2*r+"pt"),i.setAttribute("height","+"+2*r+"pt"),i.setAttribute("lspace",r+"pt"),i.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var n=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);i.setAttribute("style","border: "+n+"em solid "+String(t.borderColor))}break;case"\\xcancel":i.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&i.setAttribute("mathbackground",t.backgroundColor),i},"mathmlBuilder$6");Bt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:i,funcName:n}=t,a=Gr(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:i.mode,label:n,backgroundColor:a,body:s}},htmlBuilder:jD,mathmlBuilder:XD});Bt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:i,funcName:n}=t,a=Gr(e[0],"color-token").color,s=Gr(e[1],"color-token").color,l=e[2];return{type:"enclose",mode:i.mode,label:n,backgroundColor:s,borderColor:a,body:l}},htmlBuilder:jD,mathmlBuilder:XD});Bt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Bt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:i}=t,n=e[0];return{type:"enclose",mode:r.mode,label:i,body:n}},htmlBuilder:jD,mathmlBuilder:XD});Bt({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});pK={};o(nu,"defineEnvironment");mK={};o(he,"defineMacro");o(xX,"getHLines");j4=o(t=>{var e=t.parser.settings;if(!e.displayMode)throw new wt("{"+t.envName+"} can be used only in display mode.")},"validateAmsEnvironmentContext");o(KD,"getAutoTag");o(Bf,"parseArray");o(QD,"dCellStyle");au=o(function(e,r){var i,n,a=e.body.length,s=e.hLinesBeforeRow,l=0,u=new Array(a),h=[],f=Math.max(r.fontMetrics().arrayRuleWidth,r.minRuleThickness),d=1/r.fontMetrics().ptPerEm,p=5*d;if(e.colSeparationType&&e.colSeparationType==="small"){var m=r.havingStyle(gr.SCRIPT).sizeMultiplier;p=.2778*(m/r.sizeMultiplier)}var g=e.colSeparationType==="CD"?wn({number:3,unit:"ex"},r):12*d,y=3*d,v=e.arraystretch*g,x=.7*v,b=.3*v,T=0;function w(Te){for(var De=0;De0&&(T+=.25),h.push({pos:T,isDashed:Te[De]})}for(o(w,"setHLinePos"),w(s[0]),i=0;i0&&(I+=b,ETe))for(i=0;i=l)){var Y=void 0;(n>0||e.hskipBeforeAndAfter)&&(Y=ui.deflt(V.pregap,p),Y!==0&&(N=je.makeSpan(["arraycolsep"],[]),N.style.width=Rt(Y),D.push(N)));var ae=[];for(i=0;i0){for(var te=je.makeLineSpan("hline",r,f),be=je.makeLineSpan("hdashline",r,f),de=[{type:"elem",elem:u,shift:0}];h.length>0;){var Ee=h.pop(),Ne=Ee.pos-A;Ee.isDashed?de.push({type:"elem",elem:be,shift:Ne}):de.push({type:"elem",elem:te,shift:Ne})}u=je.makeVList({positionType:"individualShift",children:de},r)}if(B.length===0)return je.makeSpan(["mord"],[u],r);var we=je.makeVList({positionType:"individualShift",children:B},r);return we=je.makeSpan(["tag"],[we],r),je.makeFragment([u,we])},"htmlBuilder"),PLe={c:"center ",l:"left ",r:"right "},su=o(function(e,r){for(var i=[],n=new Ct.MathNode("mtd",[],["mtr-glue"]),a=new Ct.MathNode("mtd",[],["mml-eqn-num"]),s=0;s0){var g=e.cols,y="",v=!1,x=0,b=g.length;g[0].type==="separator"&&(p+="top ",x=1),g[g.length-1].type==="separator"&&(p+="bottom ",b-=1);for(var T=x;T0?"left ":"",p+=S[S.length-1].length>0?"right ":"";for(var L=1;L-1?"alignat":"align",a=e.envName==="split",s=Bf(e.parser,{cols:i,addJot:!0,autoTag:a?void 0:KD(e.envName),emptySingleRow:!0,colSeparationType:n,maxNumCols:a?2:void 0,leqno:e.parser.settings.leqno},"display"),l,u=0,h={type:"ordgroup",mode:e.mode,body:[]};if(r[0]&&r[0].type==="ordgroup"){for(var f="",d=0;d0&&m&&(v=1),i[g]={type:"align",align:y,pregap:v,postgap:0}}return s.colSeparationType=m?"align":"alignat",s},"alignedHandler");nu({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=U4(e[0]),i=r?[e[0]]:Gr(e[0],"ordgroup").body,n=i.map(function(s){var l=UD(s),u=l.text;if("lcr".indexOf(u)!==-1)return{type:"align",align:u};if(u==="|")return{type:"separator",separator:"|"};if(u===":")return{type:"separator",separator:":"};throw new wt("Unknown column alignment: "+u,s)}),a={cols:n,hskipBeforeAndAfter:!0,maxNumCols:n.length};return Bf(t.parser,a,QD(t.envName))},htmlBuilder:au,mathmlBuilder:su});nu({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",i={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var n=t.parser;if(n.consumeSpaces(),n.fetch().text==="["){if(n.consume(),n.consumeSpaces(),r=n.fetch().text,"lcr".indexOf(r)===-1)throw new wt("Expected l or c or r",n.nextToken);n.consume(),n.consumeSpaces(),n.expect("]"),n.consume(),i.cols=[{type:"align",align:r}]}}var a=Bf(t.parser,i,QD(t.envName)),s=Math.max(0,...a.body.map(l=>l.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:au,mathmlBuilder:su});nu({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=Bf(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:au,mathmlBuilder:su});nu({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=U4(e[0]),i=r?[e[0]]:Gr(e[0],"ordgroup").body,n=i.map(function(s){var l=UD(s),u=l.text;if("lc".indexOf(u)!==-1)return{type:"align",align:u};throw new wt("Unknown column alignment: "+u,s)});if(n.length>1)throw new wt("{subarray} can contain only one column");var a={cols:n,hskipBeforeAndAfter:!1,arraystretch:.5};if(a=Bf(t.parser,a,"script"),a.body.length>0&&a.body[0].length>1)throw new wt("{subarray} can contain only one column");return a},htmlBuilder:au,mathmlBuilder:su});nu({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=Bf(t.parser,e,QD(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.indexOf("r")>-1?".":"\\{",right:t.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:au,mathmlBuilder:su});nu({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:gK,htmlBuilder:au,mathmlBuilder:su});nu({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){["gather","gather*"].includes(t.envName)&&j4(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:KD(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return Bf(t.parser,e,"display")},htmlBuilder:au,mathmlBuilder:su});nu({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:gK,htmlBuilder:au,mathmlBuilder:su});nu({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){j4(t);var e={autoTag:KD(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return Bf(t.parser,e,"display")},htmlBuilder:au,mathmlBuilder:su});nu({type:"array",names:["CD"],props:{numArgs:0},handler(t){return j4(t),kLe(t.parser)},htmlBuilder:au,mathmlBuilder:su});he("\\nonumber","\\gdef\\@eqnsw{0}");he("\\notag","\\nonumber");Bt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new wt(t.funcName+" valid only within array environment")}});bX=pK;Bt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:i}=t,n=e[0];if(n.type!=="ordgroup")throw new wt("Invalid environment name",n);for(var a="",s=0;s{var r=t.font,i=e.withFont(r);return ii(t.body,i)},"htmlBuilder$5"),vK=o((t,e)=>{var r=t.font,i=e.withFont(r);return $i(t.body,i)},"mathmlBuilder$4"),TX={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Bt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:o((t,e)=>{var{parser:r,funcName:i}=t,n=z4(e[0]),a=i;return a in TX&&(a=TX[a]),{type:"font",mode:r.mode,font:a.slice(1),body:n}},"handler"),htmlBuilder:yK,mathmlBuilder:vK});Bt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r}=t,i=e[0],n=ui.isCharacterBox(i);return{type:"mclass",mode:r.mode,mclass:H4(i),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:i}],isCharacterBox:n}},"handler")});Bt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:o((t,e)=>{var{parser:r,funcName:i,breakOnTokenText:n}=t,{mode:a}=r,s=r.parseExpression(!0,n),l="math"+i.slice(1);return{type:"font",mode:a,font:l,body:{type:"ordgroup",mode:r.mode,body:s}}},"handler"),htmlBuilder:yK,mathmlBuilder:vK});xK=o((t,e)=>{var r=e;return t==="display"?r=r.id>=gr.SCRIPT.id?r.text():gr.DISPLAY:t==="text"&&r.size===gr.DISPLAY.size?r=gr.TEXT:t==="script"?r=gr.SCRIPT:t==="scriptscript"&&(r=gr.SCRIPTSCRIPT),r},"adjustStyle"),ZD=o((t,e)=>{var r=xK(t.size,e.style),i=r.fracNum(),n=r.fracDen(),a;a=e.havingStyle(i);var s=ii(t.numer,a,e);if(t.continued){var l=8.5/e.fontMetrics().ptPerEm,u=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?g=3*p:g=7*p,y=e.fontMetrics().denom1):(d>0?(m=e.fontMetrics().num2,g=p):(m=e.fontMetrics().num3,g=3*p),y=e.fontMetrics().denom2);var v;if(f){var b=e.fontMetrics().axisHeight;m-s.depth-(b+.5*d){var r=new Ct.MathNode("mfrac",[$i(t.numer,e),$i(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var i=wn(t.barSize,e);r.setAttribute("linethickness",Rt(i))}var n=xK(t.size,e.style);if(n.size!==e.style.size){r=new Ct.MathNode("mstyle",[r]);var a=n.size===gr.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",a),r.setAttribute("scriptlevel","0")}if(t.leftDelim!=null||t.rightDelim!=null){var s=[];if(t.leftDelim!=null){var l=new Ct.MathNode("mo",[new Ct.TextNode(t.leftDelim.replace("\\",""))]);l.setAttribute("fence","true"),s.push(l)}if(s.push(r),t.rightDelim!=null){var u=new Ct.MathNode("mo",[new Ct.TextNode(t.rightDelim.replace("\\",""))]);u.setAttribute("fence","true"),s.push(u)}return qD(s)}return r},"mathmlBuilder$3");Bt({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:o((t,e)=>{var{parser:r,funcName:i}=t,n=e[0],a=e[1],s,l=null,u=null,h="auto";switch(i){case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,l="(",u=")";break;case"\\\\bracefrac":s=!1,l="\\{",u="\\}";break;case"\\\\brackfrac":s=!1,l="[",u="]";break;default:throw new Error("Unrecognized genfrac command")}switch(i){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text";break}return{type:"genfrac",mode:r.mode,continued:!1,numer:n,denom:a,hasBarLine:s,leftDelim:l,rightDelim:u,size:h,barSize:null}},"handler"),htmlBuilder:ZD,mathmlBuilder:JD});Bt({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:o((t,e)=>{var{parser:r,funcName:i}=t,n=e[0],a=e[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:n,denom:a,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}},"handler")});Bt({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:i}=t,n;switch(r){case"\\over":n="\\frac";break;case"\\choose":n="\\binom";break;case"\\atop":n="\\\\atopfrac";break;case"\\brace":n="\\\\bracefrac";break;case"\\brack":n="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:n,token:i}}});kX=["display","text","script","scriptscript"],CX=o(function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r},"delimFromValue");Bt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,i=e[4],n=e[5],a=z4(e[0]),s=a.type==="atom"&&a.family==="open"?CX(a.text):null,l=z4(e[1]),u=l.type==="atom"&&l.family==="close"?CX(l.text):null,h=Gr(e[2],"size"),f,d=null;h.isBlank?f=!0:(d=h.value,f=d.number>0);var p="auto",m=e[3];if(m.type==="ordgroup"){if(m.body.length>0){var g=Gr(m.body[0],"textord");p=kX[Number(g.text)]}}else m=Gr(m,"textord"),p=kX[Number(m.text)];return{type:"genfrac",mode:r.mode,numer:i,denom:n,continued:!1,hasBarLine:f,barSize:d,leftDelim:s,rightDelim:u,size:p}},htmlBuilder:ZD,mathmlBuilder:JD});Bt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:i,token:n}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Gr(e[0],"size").value,token:n}}});Bt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:o((t,e)=>{var{parser:r,funcName:i}=t,n=e[0],a=mDe(Gr(e[1],"infix").size),s=e[2],l=a.number>0;return{type:"genfrac",mode:r.mode,numer:n,denom:s,continued:!1,hasBarLine:l,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},"handler"),htmlBuilder:ZD,mathmlBuilder:JD});bK=o((t,e)=>{var r=e.style,i,n;t.type==="supsub"?(i=t.sup?ii(t.sup,e.havingStyle(r.sup()),e):ii(t.sub,e.havingStyle(r.sub()),e),n=Gr(t.base,"horizBrace")):n=Gr(t,"horizBrace");var a=ii(n.base,e.havingBaseStyle(gr.DISPLAY)),s=kh.svgSpan(n,e),l;if(n.isOver?(l=je.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]},e),l.children[0].children[0].children[1].classes.push("svg-align")):(l=je.makeVList({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]},e),l.children[0].children[0].children[0].classes.push("svg-align")),i){var u=je.makeSpan(["mord",n.isOver?"mover":"munder"],[l],e);n.isOver?l=je.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:.2},{type:"elem",elem:i}]},e):l=je.makeVList({positionType:"bottom",positionData:u.depth+.2+i.height+i.depth,children:[{type:"elem",elem:i},{type:"kern",size:.2},{type:"elem",elem:u}]},e)}return je.makeSpan(["mord",n.isOver?"mover":"munder"],[l],e)},"htmlBuilder$3"),BLe=o((t,e)=>{var r=kh.mathMLnode(t.label);return new Ct.MathNode(t.isOver?"mover":"munder",[$i(t.base,e),r])},"mathmlBuilder$2");Bt({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:i}=t;return{type:"horizBrace",mode:r.mode,label:i,isOver:/^\\over/.test(i),base:e[0]}},htmlBuilder:bK,mathmlBuilder:BLe});Bt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,i=e[1],n=Gr(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:n})?{type:"href",mode:r.mode,href:n,body:$n(i)}:r.formatUnsupportedCmd("\\href")},"handler"),htmlBuilder:o((t,e)=>{var r=ca(t.body,e,!1);return je.makeAnchor(t.href,[],r,e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=Pf(t.body,e);return r instanceof Ms||(r=new Ms("mrow",[r])),r.setAttribute("href",t.href),r},"mathmlBuilder")});Bt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,i=Gr(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:i}))return r.formatUnsupportedCmd("\\url");for(var n=[],a=0;a{var{parser:r,funcName:i,token:n}=t,a=Gr(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var l,u={};switch(i){case"\\htmlClass":u.class=a,l={command:"\\htmlClass",class:a};break;case"\\htmlId":u.id=a,l={command:"\\htmlId",id:a};break;case"\\htmlStyle":u.style=a,l={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var h=a.split(","),f=0;f{var r=ca(t.body,e,!1),i=["enclosing"];t.attributes.class&&i.push(...t.attributes.class.trim().split(/\s+/));var n=je.makeSpan(i,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&n.setAttribute(a,t.attributes[a]);return n},"htmlBuilder"),mathmlBuilder:o((t,e)=>Pf(t.body,e),"mathmlBuilder")});Bt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:$n(e[0]),mathml:$n(e[1])}},"handler"),htmlBuilder:o((t,e)=>{var r=ca(t.html,e,!1);return je.makeFragment(r)},"htmlBuilder"),mathmlBuilder:o((t,e)=>Pf(t.mathml,e),"mathmlBuilder")});wD=o(function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new wt("Invalid size: '"+e+"' in \\includegraphics");var i={number:+(r[1]+r[2]),unit:r[3]};if(!$X(i))throw new wt("Invalid unit: '"+i.unit+"' in \\includegraphics.");return i},"sizeData");Bt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:o((t,e,r)=>{var{parser:i}=t,n={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},l="";if(r[0])for(var u=Gr(r[0],"raw").string,h=u.split(","),f=0;f{var r=wn(t.height,e),i=0;t.totalheight.number>0&&(i=wn(t.totalheight,e)-r);var n=0;t.width.number>0&&(n=wn(t.width,e));var a={height:Rt(r+i)};n>0&&(a.width=Rt(n)),i>0&&(a.verticalAlign=Rt(-i));var s=new LD(t.src,t.alt,a);return s.height=r,s.depth=i,s},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=new Ct.MathNode("mglyph",[]);r.setAttribute("alt",t.alt);var i=wn(t.height,e),n=0;if(t.totalheight.number>0&&(n=wn(t.totalheight,e)-i,r.setAttribute("valign",Rt(-n))),r.setAttribute("height",Rt(i+n)),t.width.number>0){var a=wn(t.width,e);r.setAttribute("width",Rt(a))}return r.setAttribute("src",t.src),r},"mathmlBuilder")});Bt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:i}=t,n=Gr(e[0],"size");if(r.settings.strict){var a=i[1]==="m",s=n.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+i+" supports only mu units, "+("not "+n.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+i+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+i+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:n.value}},htmlBuilder(t,e){return je.makeGlue(t.dimension,e)},mathmlBuilder(t,e){var r=wn(t.dimension,e);return new Ct.SpaceNode(r)}});Bt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r,funcName:i}=t,n=e[0];return{type:"lap",mode:r.mode,alignment:i.slice(5),body:n}},"handler"),htmlBuilder:o((t,e)=>{var r;t.alignment==="clap"?(r=je.makeSpan([],[ii(t.body,e)]),r=je.makeSpan(["inner"],[r],e)):r=je.makeSpan(["inner"],[ii(t.body,e)]);var i=je.makeSpan(["fix"],[]),n=je.makeSpan([t.alignment],[r,i],e),a=je.makeSpan(["strut"]);return a.style.height=Rt(n.height+n.depth),n.depth&&(a.style.verticalAlign=Rt(-n.depth)),n.children.unshift(a),n=je.makeSpan(["thinbox"],[n],e),je.makeSpan(["mord","vbox"],[n],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=new Ct.MathNode("mpadded",[$i(t.body,e)]);if(t.alignment!=="rlap"){var i=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",i+"width")}return r.setAttribute("width","0px"),r},"mathmlBuilder")});Bt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:i}=t,n=i.mode;i.switchMode("math");var a=r==="\\("?"\\)":"$",s=i.parseExpression(!1,a);return i.expect(a),i.switchMode(n),{type:"styling",mode:i.mode,style:"text",body:s}}});Bt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new wt("Mismatched "+t.funcName)}});wX=o((t,e)=>{switch(e.style.size){case gr.DISPLAY.size:return t.display;case gr.TEXT.size:return t.text;case gr.SCRIPT.size:return t.script;case gr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}},"chooseMathStyle");Bt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:o((t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:$n(e[0]),text:$n(e[1]),script:$n(e[2]),scriptscript:$n(e[3])}},"handler"),htmlBuilder:o((t,e)=>{var r=wX(t,e),i=ca(r,e,!1);return je.makeFragment(i)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=wX(t,e);return Pf(r,e)},"mathmlBuilder")});TK=o((t,e,r,i,n,a,s)=>{t=je.makeSpan([],[t]);var l=r&&ui.isCharacterBox(r),u,h;if(e){var f=ii(e,i.havingStyle(n.sup()),i);h={elem:f,kern:Math.max(i.fontMetrics().bigOpSpacing1,i.fontMetrics().bigOpSpacing3-f.depth)}}if(r){var d=ii(r,i.havingStyle(n.sub()),i);u={elem:d,kern:Math.max(i.fontMetrics().bigOpSpacing2,i.fontMetrics().bigOpSpacing4-d.height)}}var p;if(h&&u){var m=i.fontMetrics().bigOpSpacing5+u.elem.height+u.elem.depth+u.kern+t.depth+s;p=je.makeVList({positionType:"bottom",positionData:m,children:[{type:"kern",size:i.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:Rt(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:Rt(a)},{type:"kern",size:i.fontMetrics().bigOpSpacing5}]},i)}else if(u){var g=t.height-s;p=je.makeVList({positionType:"top",positionData:g,children:[{type:"kern",size:i.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:Rt(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t}]},i)}else if(h){var y=t.depth+s;p=je.makeVList({positionType:"bottom",positionData:y,children:[{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:Rt(a)},{type:"kern",size:i.fontMetrics().bigOpSpacing5}]},i)}else return t;var v=[p];if(u&&a!==0&&!l){var x=je.makeSpan(["mspace"],[],i);x.style.marginRight=Rt(a),v.unshift(x)}return je.makeSpan(["mop","op-limits"],v,i)},"assembleSupSub"),kK=["\\smallint"],Lg=o((t,e)=>{var r,i,n=!1,a;t.type==="supsub"?(r=t.sup,i=t.sub,a=Gr(t.base,"op"),n=!0):a=Gr(t,"op");var s=e.style,l=!1;s.size===gr.DISPLAY.size&&a.symbol&&!kK.includes(a.name)&&(l=!0);var u;if(a.symbol){var h=l?"Size2-Regular":"Size1-Regular",f="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(f=a.name.slice(1),a.name=f==="oiint"?"\\iint":"\\iiint"),u=je.makeSymbol(a.name,h,"math",e,["mop","op-symbol",l?"large-op":"small-op"]),f.length>0){var d=u.italic,p=je.staticSvg(f+"Size"+(l?"2":"1"),e);u=je.makeVList({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:p,shift:l?.08:0}]},e),a.name="\\"+f,u.classes.unshift("mop"),u.italic=d}}else if(a.body){var m=ca(a.body,e,!0);m.length===1&&m[0]instanceof uo?(u=m[0],u.classes[0]="mop"):u=je.makeSpan(["mop"],m,e)}else{for(var g=[],y=1;y{var r;if(t.symbol)r=new Ms("mo",[wl(t.name,t.mode)]),kK.includes(t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new Ms("mo",ho(t.body,e));else{r=new Ms("mi",[new Cl(t.name.slice(1))]);var i=new Ms("mo",[wl("\u2061","text")]);t.parentIsSupSub?r=new Ms("mrow",[r,i]):r=KX([r,i])}return r},"mathmlBuilder$1"),FLe={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};Bt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A04","\u2A06"],props:{numArgs:0},handler:o((t,e)=>{var{parser:r,funcName:i}=t,n=i;return n.length===1&&(n=FLe[n]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:n}},"handler"),htmlBuilder:Lg,mathmlBuilder:Qx});Bt({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var{parser:r}=t,i=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:$n(i)}},"handler"),htmlBuilder:Lg,mathmlBuilder:Qx});$Le={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};Bt({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Lg,mathmlBuilder:Qx});Bt({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Lg,mathmlBuilder:Qx});Bt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t,i=r;return i.length===1&&(i=$Le[i]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:Lg,mathmlBuilder:Qx});CK=o((t,e)=>{var r,i,n=!1,a;t.type==="supsub"?(r=t.sup,i=t.sub,a=Gr(t.base,"operatorname"),n=!0):a=Gr(t,"operatorname");var s;if(a.body.length>0){for(var l=a.body.map(d=>{var p=d.text;return typeof p=="string"?{type:"textord",mode:d.mode,text:p}:d}),u=ca(l,e.withFont("mathrm"),!0),h=0;h{for(var r=ho(t.body,e.withFont("mathrm")),i=!0,n=0;nf.toText()).join("");r=[new Ct.TextNode(l)]}var u=new Ct.MathNode("mi",r);u.setAttribute("mathvariant","normal");var h=new Ct.MathNode("mo",[wl("\u2061","text")]);return t.parentIsSupSub?new Ct.MathNode("mrow",[u,h]):Ct.newDocumentFragment([u,h])},"mathmlBuilder");Bt({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r,funcName:i}=t,n=e[0];return{type:"operatorname",mode:r.mode,body:$n(n),alwaysHandleSupSub:i==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},"handler"),htmlBuilder:CK,mathmlBuilder:zLe});he("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");Up({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?je.makeFragment(ca(t.body,e,!1)):je.makeSpan(["mord"],ca(t.body,e,!0),e)},mathmlBuilder(t,e){return Pf(t.body,e,!0)}});Bt({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,i=e[0];return{type:"overline",mode:r.mode,body:i}},htmlBuilder(t,e){var r=ii(t.body,e.havingCrampedStyle()),i=je.makeLineSpan("overline-line",e),n=e.fontMetrics().defaultRuleThickness,a=je.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*n},{type:"elem",elem:i},{type:"kern",size:n}]},e);return je.makeSpan(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new Ct.MathNode("mo",[new Ct.TextNode("\u203E")]);r.setAttribute("stretchy","true");var i=new Ct.MathNode("mover",[$i(t.body,e),r]);return i.setAttribute("accent","true"),i}});Bt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,i=e[0];return{type:"phantom",mode:r.mode,body:$n(i)}},"handler"),htmlBuilder:o((t,e)=>{var r=ca(t.body,e.withPhantom(),!1);return je.makeFragment(r)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=ho(t.body,e);return new Ct.MathNode("mphantom",r)},"mathmlBuilder")});Bt({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,i=e[0];return{type:"hphantom",mode:r.mode,body:i}},"handler"),htmlBuilder:o((t,e)=>{var r=je.makeSpan([],[ii(t.body,e.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var i=0;i{var r=ho($n(t.body),e),i=new Ct.MathNode("mphantom",r),n=new Ct.MathNode("mpadded",[i]);return n.setAttribute("height","0px"),n.setAttribute("depth","0px"),n},"mathmlBuilder")});Bt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,i=e[0];return{type:"vphantom",mode:r.mode,body:i}},"handler"),htmlBuilder:o((t,e)=>{var r=je.makeSpan(["inner"],[ii(t.body,e.withPhantom())]),i=je.makeSpan(["fix"],[]);return je.makeSpan(["mord","rlap"],[r,i],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=ho($n(t.body),e),i=new Ct.MathNode("mphantom",r),n=new Ct.MathNode("mpadded",[i]);return n.setAttribute("width","0px"),n},"mathmlBuilder")});Bt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,i=Gr(e[0],"size").value,n=e[1];return{type:"raisebox",mode:r.mode,dy:i,body:n}},htmlBuilder(t,e){var r=ii(t.body,e),i=wn(t.dy,e);return je.makeVList({positionType:"shift",positionData:-i,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){var r=new Ct.MathNode("mpadded",[$i(t.body,e)]),i=t.dy.number+t.dy.unit;return r.setAttribute("voffset",i),r}});Bt({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Bt({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:i}=t,n=r[0],a=Gr(e[0],"size"),s=Gr(e[1],"size");return{type:"rule",mode:i.mode,shift:n&&Gr(n,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=je.makeSpan(["mord","rule"],[],e),i=wn(t.width,e),n=wn(t.height,e),a=t.shift?wn(t.shift,e):0;return r.style.borderRightWidth=Rt(i),r.style.borderTopWidth=Rt(n),r.style.bottom=Rt(a),r.width=i,r.height=n+a,r.depth=-a,r.maxFontSize=n*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=wn(t.width,e),i=wn(t.height,e),n=t.shift?wn(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new Ct.MathNode("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",Rt(r)),s.setAttribute("height",Rt(i));var l=new Ct.MathNode("mpadded",[s]);return n>=0?l.setAttribute("height",Rt(n)):(l.setAttribute("height",Rt(n)),l.setAttribute("depth",Rt(-n))),l.setAttribute("voffset",Rt(n)),l}});o(wK,"sizingGroup");EX=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],GLe=o((t,e)=>{var r=e.havingSize(t.size);return wK(t.body,r,e)},"htmlBuilder");Bt({type:"sizing",names:EX,props:{numArgs:0,allowedInText:!0},handler:o((t,e)=>{var{breakOnTokenText:r,funcName:i,parser:n}=t,a=n.parseExpression(!1,r);return{type:"sizing",mode:n.mode,size:EX.indexOf(i)+1,body:a}},"handler"),htmlBuilder:GLe,mathmlBuilder:o((t,e)=>{var r=e.havingSize(t.size),i=ho(t.body,r),n=new Ct.MathNode("mstyle",i);return n.setAttribute("mathsize",Rt(r.sizeMultiplier)),n},"mathmlBuilder")});Bt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:o((t,e,r)=>{var{parser:i}=t,n=!1,a=!1,s=r[0]&&Gr(r[0],"ordgroup");if(s)for(var l="",u=0;u{var r=je.makeSpan([],[ii(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0,r.children))for(var i=0;i{var r=new Ct.MathNode("mpadded",[$i(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r},"mathmlBuilder")});Bt({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:i}=t,n=r[0],a=e[0];return{type:"sqrt",mode:i.mode,body:a,index:n}},htmlBuilder(t,e){var r=ii(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=je.wrapFragment(r,e);var i=e.fontMetrics(),n=i.defaultRuleThickness,a=n;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var p=u.height-r.height-s-h;r.style.paddingLeft=Rt(f);var m=je.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+p)},{type:"elem",elem:u},{type:"kern",size:h}]},e);if(t.index){var g=e.havingStyle(gr.SCRIPTSCRIPT),y=ii(t.index,g,e),v=.6*(m.height-m.depth),x=je.makeVList({positionType:"shift",positionData:-v,children:[{type:"elem",elem:y}]},e),b=je.makeSpan(["root"],[x]);return je.makeSpan(["mord","sqrt"],[b,m],e)}else return je.makeSpan(["mord","sqrt"],[m],e)},mathmlBuilder(t,e){var{body:r,index:i}=t;return i?new Ct.MathNode("mroot",[$i(r,e),$i(i,e)]):new Ct.MathNode("msqrt",[$i(r,e)])}});SX={display:gr.DISPLAY,text:gr.TEXT,script:gr.SCRIPT,scriptscript:gr.SCRIPTSCRIPT};Bt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:i,parser:n}=t,a=n.parseExpression(!0,r),s=i.slice(1,i.length-5);return{type:"styling",mode:n.mode,style:s,body:a}},htmlBuilder(t,e){var r=SX[t.style],i=e.havingStyle(r).withFont("");return wK(t.body,i,e)},mathmlBuilder(t,e){var r=SX[t.style],i=e.havingStyle(r),n=ho(t.body,i),a=new Ct.MathNode("mstyle",n),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},l=s[t.style];return a.setAttribute("scriptlevel",l[0]),a.setAttribute("displaystyle",l[1]),a}});VLe=o(function(e,r){var i=e.base;if(i)if(i.type==="op"){var n=i.limits&&(r.style.size===gr.DISPLAY.size||i.alwaysHandleSupSub);return n?Lg:null}else if(i.type==="operatorname"){var a=i.alwaysHandleSupSub&&(r.style.size===gr.DISPLAY.size||i.limits);return a?CK:null}else{if(i.type==="accent")return ui.isCharacterBox(i.base)?HD:null;if(i.type==="horizBrace"){var s=!e.sub;return s===i.isOver?bK:null}else return null}else return null},"htmlBuilderDelegate");Up({type:"supsub",htmlBuilder(t,e){var r=VLe(t,e);if(r)return r(t,e);var{base:i,sup:n,sub:a}=t,s=ii(i,e),l,u,h=e.fontMetrics(),f=0,d=0,p=i&&ui.isCharacterBox(i);if(n){var m=e.havingStyle(e.style.sup());l=ii(n,m,e),p||(f=s.height-m.fontMetrics().supDrop*m.sizeMultiplier/e.sizeMultiplier)}if(a){var g=e.havingStyle(e.style.sub());u=ii(a,g,e),p||(d=s.depth+g.fontMetrics().subDrop*g.sizeMultiplier/e.sizeMultiplier)}var y;e.style===gr.DISPLAY?y=h.sup1:e.style.cramped?y=h.sup3:y=h.sup2;var v=e.sizeMultiplier,x=Rt(.5/h.ptPerEm/v),b=null;if(u){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof uo||T)&&(b=Rt(-s.italic))}var w;if(l&&u){f=Math.max(f,y,l.depth+.25*h.xHeight),d=Math.max(d,h.sub2);var k=h.defaultRuleThickness,C=4*k;if(f-l.depth-(u.height-d)0&&(f+=E,d-=E)}var S=[{type:"elem",elem:u,shift:d,marginRight:x,marginLeft:b},{type:"elem",elem:l,shift:-f,marginRight:x}];w=je.makeVList({positionType:"individualShift",children:S},e)}else if(u){d=Math.max(d,h.sub1,u.height-.8*h.xHeight);var L=[{type:"elem",elem:u,marginLeft:b,marginRight:x}];w=je.makeVList({positionType:"shift",positionData:d,children:L},e)}else if(l)f=Math.max(f,y,l.depth+.25*h.xHeight),w=je.makeVList({positionType:"shift",positionData:-f,children:[{type:"elem",elem:l,marginRight:x}]},e);else throw new Error("supsub must have either sup or sub.");var M=ND(s,"right")||"mord";return je.makeSpan([M],[s,je.makeSpan(["msupsub"],[w])],e)},mathmlBuilder(t,e){var r=!1,i,n;t.base&&t.base.type==="horizBrace"&&(n=!!t.sup,n===t.base.isOver&&(r=!0,i=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[$i(t.base,e)];t.sub&&a.push($i(t.sub,e)),t.sup&&a.push($i(t.sup,e));var s;if(r)s=i?"mover":"munder";else if(t.sub)if(t.sup){var h=t.base;h&&h.type==="op"&&h.limits&&e.style===gr.DISPLAY||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(e.style===gr.DISPLAY||h.limits)?s="munderover":s="msubsup"}else{var u=t.base;u&&u.type==="op"&&u.limits&&(e.style===gr.DISPLAY||u.alwaysHandleSupSub)||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(u.limits||e.style===gr.DISPLAY)?s="munder":s="msub"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===gr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===gr.DISPLAY)?s="mover":s="msup"}return new Ct.MathNode(s,a)}});Up({type:"atom",htmlBuilder(t,e){return je.mathsym(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new Ct.MathNode("mo",[wl(t.text,t.mode)]);if(t.family==="bin"){var i=WD(t,e);i==="bold-italic"&&r.setAttribute("mathvariant",i)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});EK={mi:"italic",mn:"normal",mtext:"normal"};Up({type:"mathord",htmlBuilder(t,e){return je.makeOrd(t,e,"mathord")},mathmlBuilder(t,e){var r=new Ct.MathNode("mi",[wl(t.text,t.mode,e)]),i=WD(t,e)||"italic";return i!==EK[r.type]&&r.setAttribute("mathvariant",i),r}});Up({type:"textord",htmlBuilder(t,e){return je.makeOrd(t,e,"textord")},mathmlBuilder(t,e){var r=wl(t.text,t.mode,e),i=WD(t,e)||"normal",n;return t.mode==="text"?n=new Ct.MathNode("mtext",[r]):/[0-9]/.test(t.text)?n=new Ct.MathNode("mn",[r]):t.text==="\\prime"?n=new Ct.MathNode("mo",[r]):n=new Ct.MathNode("mi",[r]),i!==EK[n.type]&&n.setAttribute("mathvariant",i),n}});ED={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},SD={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};Up({type:"spacing",htmlBuilder(t,e){if(SD.hasOwnProperty(t.text)){var r=SD[t.text].className||"";if(t.mode==="text"){var i=je.makeOrd(t,e,"textord");return i.classes.push(r),i}else return je.makeSpan(["mspace",r],[je.mathsym(t.text,t.mode,e)],e)}else{if(ED.hasOwnProperty(t.text))return je.makeSpan(["mspace",ED[t.text]],[],e);throw new wt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(SD.hasOwnProperty(t.text))r=new Ct.MathNode("mtext",[new Ct.TextNode("\xA0")]);else{if(ED.hasOwnProperty(t.text))return new Ct.MathNode("mspace");throw new wt('Unknown type of space "'+t.text+'"')}return r}});AX=o(()=>{var t=new Ct.MathNode("mtd",[]);return t.setAttribute("width","50%"),t},"pad");Up({type:"tag",mathmlBuilder(t,e){var r=new Ct.MathNode("mtable",[new Ct.MathNode("mtr",[AX(),new Ct.MathNode("mtd",[Pf(t.body,e)]),AX(),new Ct.MathNode("mtd",[Pf(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});_X={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},DX={"\\textbf":"textbf","\\textmd":"textmd"},qLe={"\\textit":"textit","\\textup":"textup"},LX=o((t,e)=>{var r=t.font;if(r){if(_X[r])return e.withTextFontFamily(_X[r]);if(DX[r])return e.withTextFontWeight(DX[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(qLe[r])},"optionsWithFont");Bt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:i}=t,n=e[0];return{type:"text",mode:r.mode,body:$n(n),font:i}},htmlBuilder(t,e){var r=LX(t,e),i=ca(t.body,r,!0);return je.makeSpan(["mord","text"],i,r)},mathmlBuilder(t,e){var r=LX(t,e);return Pf(t.body,r)}});Bt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=ii(t.body,e),i=je.makeLineSpan("underline-line",e),n=e.fontMetrics().defaultRuleThickness,a=je.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:n},{type:"elem",elem:i},{type:"kern",size:3*n},{type:"elem",elem:r}]},e);return je.makeSpan(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new Ct.MathNode("mo",[new Ct.TextNode("\u203E")]);r.setAttribute("stretchy","true");var i=new Ct.MathNode("munder",[$i(t.body,e),r]);return i.setAttribute("accentunder","true"),i}});Bt({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=ii(t.body,e),i=e.fontMetrics().axisHeight,n=.5*(r.height-i-(r.depth+i));return je.makeVList({positionType:"shift",positionData:n,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){return new Ct.MathNode("mpadded",[$i(t.body,e)],["vcenter"])}});Bt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new wt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=RX(t),i=[],n=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"\u2423":"\xA0"),"makeVerb"),Mf=jX,SK=`[ \r - ]`,WLe="\\\\[a-zA-Z@]+",ULe="\\\\[^\uD800-\uDFFF]",HLe="("+WLe+")"+SK+"*",YLe=`\\\\( -|[ \r ]+ -?)[ \r ]*`,BD="[\u0300-\u036F]",jLe=new RegExp(BD+"+$"),XLe="("+SK+"+)|"+(YLe+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(BD+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(BD+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+HLe)+("|"+ULe+")"),G4=class{static{o(this,"Lexer")}constructor(e,r){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=r,this.tokenRegex=new RegExp(XLe,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new Ho("EOF",new co(this,r,r));var i=this.tokenRegex.exec(e);if(i===null||i.index!==r)throw new wt("Unexpected character: '"+e[r]+"'",new Ho(e[r],new co(this,r,r+1)));var n=i[6]||i[3]||(i[2]?"\\ ":" ");if(this.catcodes[n]===14){var a=e.indexOf(` -`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new Ho(n,new co(this,r,this.tokenRegex.lastIndex))}},FD=class{static{o(this,"Namespace")}constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new wt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,i){if(i===void 0&&(i=!1),i){for(var n=0;n0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}},KLe=mK;he("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});he("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});he("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});he("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});he("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});he("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");he("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});NX={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};he("\\char",function(t){var e=t.popToken(),r,i="";if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")i=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new wt("\\char` missing argument");i=e.text.charCodeAt(0)}else r=10;if(r){if(i=NX[e.text],i==null||i>=r)throw new wt("Invalid base-"+r+" digit "+e.text);for(var n;(n=NX[t.future().text])!=null&&n{var n=t.consumeArg().tokens;if(n.length!==1)throw new wt("\\newcommand's first argument must be a macro name");var a=n[0].text,s=t.isDefined(a);if(s&&!e)throw new wt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new wt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var l=0;if(n=t.consumeArg().tokens,n.length===1&&n[0].text==="["){for(var u="",h=t.expandNextToken();h.text!=="]"&&h.text!=="EOF";)u+=h.text,h=t.expandNextToken();if(!u.match(/^\s*[0-9]+\s*$/))throw new wt("Invalid number of arguments: "+u);l=parseInt(u),n=t.consumeArg().tokens}return s&&i||t.macros.set(a,{tokens:n,numArgs:l}),""},"newcommand");he("\\newcommand",t=>eL(t,!1,!0,!1));he("\\renewcommand",t=>eL(t,!0,!1,!1));he("\\providecommand",t=>eL(t,!0,!0,!0));he("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});he("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});he("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),Mf[r],ji.math[r],ji.text[r]),""});he("\\bgroup","{");he("\\egroup","}");he("~","\\nobreakspace");he("\\lq","`");he("\\rq","'");he("\\aa","\\r a");he("\\AA","\\r A");he("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");he("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");he("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");he("\u212C","\\mathscr{B}");he("\u2130","\\mathscr{E}");he("\u2131","\\mathscr{F}");he("\u210B","\\mathscr{H}");he("\u2110","\\mathscr{I}");he("\u2112","\\mathscr{L}");he("\u2133","\\mathscr{M}");he("\u211B","\\mathscr{R}");he("\u212D","\\mathfrak{C}");he("\u210C","\\mathfrak{H}");he("\u2128","\\mathfrak{Z}");he("\\Bbbk","\\Bbb{k}");he("\xB7","\\cdotp");he("\\llap","\\mathllap{\\textrm{#1}}");he("\\rlap","\\mathrlap{\\textrm{#1}}");he("\\clap","\\mathclap{\\textrm{#1}}");he("\\mathstrut","\\vphantom{(}");he("\\underbar","\\underline{\\text{#1}}");he("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');he("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");he("\\ne","\\neq");he("\u2260","\\neq");he("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");he("\u2209","\\notin");he("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");he("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");he("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");he("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");he("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");he("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");he("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");he("\u27C2","\\perp");he("\u203C","\\mathclose{!\\mkern-0.8mu!}");he("\u220C","\\notni");he("\u231C","\\ulcorner");he("\u231D","\\urcorner");he("\u231E","\\llcorner");he("\u231F","\\lrcorner");he("\xA9","\\copyright");he("\xAE","\\textregistered");he("\uFE0F","\\textregistered");he("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');he("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');he("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');he("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');he("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");he("\u22EE","\\vdots");he("\\varGamma","\\mathit{\\Gamma}");he("\\varDelta","\\mathit{\\Delta}");he("\\varTheta","\\mathit{\\Theta}");he("\\varLambda","\\mathit{\\Lambda}");he("\\varXi","\\mathit{\\Xi}");he("\\varPi","\\mathit{\\Pi}");he("\\varSigma","\\mathit{\\Sigma}");he("\\varUpsilon","\\mathit{\\Upsilon}");he("\\varPhi","\\mathit{\\Phi}");he("\\varPsi","\\mathit{\\Psi}");he("\\varOmega","\\mathit{\\Omega}");he("\\substack","\\begin{subarray}{c}#1\\end{subarray}");he("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");he("\\boxed","\\fbox{$\\displaystyle{#1}$}");he("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");he("\\implies","\\DOTSB\\;\\Longrightarrow\\;");he("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");he("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");he("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");IX={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};he("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in IX?e=IX[r]:(r.slice(0,4)==="\\not"||r in ji.math&&["bin","rel"].includes(ji.math[r].group))&&(e="\\dotsb"),e});tL={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};he("\\dotso",function(t){var e=t.future().text;return e in tL?"\\ldots\\,":"\\ldots"});he("\\dotsc",function(t){var e=t.future().text;return e in tL&&e!==","?"\\ldots\\,":"\\ldots"});he("\\cdots",function(t){var e=t.future().text;return e in tL?"\\@cdots\\,":"\\@cdots"});he("\\dotsb","\\cdots");he("\\dotsm","\\cdots");he("\\dotsi","\\!\\cdots");he("\\dotsx","\\ldots\\,");he("\\DOTSI","\\relax");he("\\DOTSB","\\relax");he("\\DOTSX","\\relax");he("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");he("\\,","\\tmspace+{3mu}{.1667em}");he("\\thinspace","\\,");he("\\>","\\mskip{4mu}");he("\\:","\\tmspace+{4mu}{.2222em}");he("\\medspace","\\:");he("\\;","\\tmspace+{5mu}{.2777em}");he("\\thickspace","\\;");he("\\!","\\tmspace-{3mu}{.1667em}");he("\\negthinspace","\\!");he("\\negmedspace","\\tmspace-{4mu}{.2222em}");he("\\negthickspace","\\tmspace-{5mu}{.277em}");he("\\enspace","\\kern.5em ");he("\\enskip","\\hskip.5em\\relax");he("\\quad","\\hskip1em\\relax");he("\\qquad","\\hskip2em\\relax");he("\\tag","\\@ifstar\\tag@literal\\tag@paren");he("\\tag@paren","\\tag@literal{({#1})}");he("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new wt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});he("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");he("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");he("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");he("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");he("\\newline","\\\\\\relax");he("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");AK=Rt(ru["Main-Regular"][84][1]-.7*ru["Main-Regular"][65][1]);he("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+AK+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");he("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+AK+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");he("\\hspace","\\@ifstar\\@hspacer\\@hspace");he("\\@hspace","\\hskip #1\\relax");he("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");he("\\ordinarycolon",":");he("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");he("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');he("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');he("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');he("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');he("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');he("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');he("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');he("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');he("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');he("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');he("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');he("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');he("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');he("\u2237","\\dblcolon");he("\u2239","\\eqcolon");he("\u2254","\\coloneqq");he("\u2255","\\eqqcolon");he("\u2A74","\\Coloneqq");he("\\ratio","\\vcentcolon");he("\\coloncolon","\\dblcolon");he("\\colonequals","\\coloneqq");he("\\coloncolonequals","\\Coloneqq");he("\\equalscolon","\\eqqcolon");he("\\equalscoloncolon","\\Eqqcolon");he("\\colonminus","\\coloneq");he("\\coloncolonminus","\\Coloneq");he("\\minuscolon","\\eqcolon");he("\\minuscoloncolon","\\Eqcolon");he("\\coloncolonapprox","\\Colonapprox");he("\\coloncolonsim","\\Colonsim");he("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");he("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");he("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");he("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");he("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");he("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");he("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");he("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");he("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");he("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");he("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");he("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");he("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");he("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");he("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");he("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");he("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");he("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");he("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");he("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");he("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");he("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");he("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");he("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");he("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");he("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");he("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");he("\\imath","\\html@mathml{\\@imath}{\u0131}");he("\\jmath","\\html@mathml{\\@jmath}{\u0237}");he("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");he("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");he("\u27E6","\\llbracket");he("\u27E7","\\rrbracket");he("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");he("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");he("\u2983","\\lBrace");he("\u2984","\\rBrace");he("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");he("\u29B5","\\minuso");he("\\darr","\\downarrow");he("\\dArr","\\Downarrow");he("\\Darr","\\Downarrow");he("\\lang","\\langle");he("\\rang","\\rangle");he("\\uarr","\\uparrow");he("\\uArr","\\Uparrow");he("\\Uarr","\\Uparrow");he("\\N","\\mathbb{N}");he("\\R","\\mathbb{R}");he("\\Z","\\mathbb{Z}");he("\\alef","\\aleph");he("\\alefsym","\\aleph");he("\\Alpha","\\mathrm{A}");he("\\Beta","\\mathrm{B}");he("\\bull","\\bullet");he("\\Chi","\\mathrm{X}");he("\\clubs","\\clubsuit");he("\\cnums","\\mathbb{C}");he("\\Complex","\\mathbb{C}");he("\\Dagger","\\ddagger");he("\\diamonds","\\diamondsuit");he("\\empty","\\emptyset");he("\\Epsilon","\\mathrm{E}");he("\\Eta","\\mathrm{H}");he("\\exist","\\exists");he("\\harr","\\leftrightarrow");he("\\hArr","\\Leftrightarrow");he("\\Harr","\\Leftrightarrow");he("\\hearts","\\heartsuit");he("\\image","\\Im");he("\\infin","\\infty");he("\\Iota","\\mathrm{I}");he("\\isin","\\in");he("\\Kappa","\\mathrm{K}");he("\\larr","\\leftarrow");he("\\lArr","\\Leftarrow");he("\\Larr","\\Leftarrow");he("\\lrarr","\\leftrightarrow");he("\\lrArr","\\Leftrightarrow");he("\\Lrarr","\\Leftrightarrow");he("\\Mu","\\mathrm{M}");he("\\natnums","\\mathbb{N}");he("\\Nu","\\mathrm{N}");he("\\Omicron","\\mathrm{O}");he("\\plusmn","\\pm");he("\\rarr","\\rightarrow");he("\\rArr","\\Rightarrow");he("\\Rarr","\\Rightarrow");he("\\real","\\Re");he("\\reals","\\mathbb{R}");he("\\Reals","\\mathbb{R}");he("\\Rho","\\mathrm{P}");he("\\sdot","\\cdot");he("\\sect","\\S");he("\\spades","\\spadesuit");he("\\sub","\\subset");he("\\sube","\\subseteq");he("\\supe","\\supseteq");he("\\Tau","\\mathrm{T}");he("\\thetasym","\\vartheta");he("\\weierp","\\wp");he("\\Zeta","\\mathrm{Z}");he("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");he("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");he("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");he("\\bra","\\mathinner{\\langle{#1}|}");he("\\ket","\\mathinner{|{#1}\\rangle}");he("\\braket","\\mathinner{\\langle{#1}\\rangle}");he("\\Bra","\\left\\langle#1\\right|");he("\\Ket","\\left|#1\\right\\rangle");_K=o(t=>e=>{var r=e.consumeArg().tokens,i=e.consumeArg().tokens,n=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),l=e.macros.get("\\|");e.macros.beginGroup();var u=o(d=>p=>{t&&(p.macros.set("|",s),n.length&&p.macros.set("\\|",l));var m=d;if(!d&&n.length){var g=p.future();g.text==="|"&&(p.popToken(),m=!0)}return{tokens:m?n:i,numArgs:0}},"midMacro");e.macros.set("|",u(!1)),n.length&&e.macros.set("\\|",u(!0));var h=e.consumeArg().tokens,f=e.expandTokens([...a,...h,...r]);return e.macros.endGroup(),{tokens:f.reverse(),numArgs:0}},"braketHelper");he("\\bra@ket",_K(!1));he("\\bra@set",_K(!0));he("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");he("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");he("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");he("\\angln","{\\angl n}");he("\\blue","\\textcolor{##6495ed}{#1}");he("\\orange","\\textcolor{##ffa500}{#1}");he("\\pink","\\textcolor{##ff00af}{#1}");he("\\red","\\textcolor{##df0030}{#1}");he("\\green","\\textcolor{##28ae7b}{#1}");he("\\gray","\\textcolor{gray}{#1}");he("\\purple","\\textcolor{##9d38bd}{#1}");he("\\blueA","\\textcolor{##ccfaff}{#1}");he("\\blueB","\\textcolor{##80f6ff}{#1}");he("\\blueC","\\textcolor{##63d9ea}{#1}");he("\\blueD","\\textcolor{##11accd}{#1}");he("\\blueE","\\textcolor{##0c7f99}{#1}");he("\\tealA","\\textcolor{##94fff5}{#1}");he("\\tealB","\\textcolor{##26edd5}{#1}");he("\\tealC","\\textcolor{##01d1c1}{#1}");he("\\tealD","\\textcolor{##01a995}{#1}");he("\\tealE","\\textcolor{##208170}{#1}");he("\\greenA","\\textcolor{##b6ffb0}{#1}");he("\\greenB","\\textcolor{##8af281}{#1}");he("\\greenC","\\textcolor{##74cf70}{#1}");he("\\greenD","\\textcolor{##1fab54}{#1}");he("\\greenE","\\textcolor{##0d923f}{#1}");he("\\goldA","\\textcolor{##ffd0a9}{#1}");he("\\goldB","\\textcolor{##ffbb71}{#1}");he("\\goldC","\\textcolor{##ff9c39}{#1}");he("\\goldD","\\textcolor{##e07d10}{#1}");he("\\goldE","\\textcolor{##a75a05}{#1}");he("\\redA","\\textcolor{##fca9a9}{#1}");he("\\redB","\\textcolor{##ff8482}{#1}");he("\\redC","\\textcolor{##f9685d}{#1}");he("\\redD","\\textcolor{##e84d39}{#1}");he("\\redE","\\textcolor{##bc2612}{#1}");he("\\maroonA","\\textcolor{##ffbde0}{#1}");he("\\maroonB","\\textcolor{##ff92c6}{#1}");he("\\maroonC","\\textcolor{##ed5fa6}{#1}");he("\\maroonD","\\textcolor{##ca337c}{#1}");he("\\maroonE","\\textcolor{##9e034e}{#1}");he("\\purpleA","\\textcolor{##ddd7ff}{#1}");he("\\purpleB","\\textcolor{##c6b9fc}{#1}");he("\\purpleC","\\textcolor{##aa87ff}{#1}");he("\\purpleD","\\textcolor{##7854ab}{#1}");he("\\purpleE","\\textcolor{##543b78}{#1}");he("\\mintA","\\textcolor{##f5f9e8}{#1}");he("\\mintB","\\textcolor{##edf2df}{#1}");he("\\mintC","\\textcolor{##e0e5cc}{#1}");he("\\grayA","\\textcolor{##f6f7f7}{#1}");he("\\grayB","\\textcolor{##f0f1f2}{#1}");he("\\grayC","\\textcolor{##e3e5e6}{#1}");he("\\grayD","\\textcolor{##d6d8da}{#1}");he("\\grayE","\\textcolor{##babec2}{#1}");he("\\grayF","\\textcolor{##888d93}{#1}");he("\\grayG","\\textcolor{##626569}{#1}");he("\\grayH","\\textcolor{##3b3e40}{#1}");he("\\grayI","\\textcolor{##21242c}{#1}");he("\\kaBlue","\\textcolor{##314453}{#1}");he("\\kaGreen","\\textcolor{##71B307}{#1}");DK={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},$D=class{static{o(this,"MacroExpander")}constructor(e,r,i){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new FD(KLe,r.macros),this.mode=i,this.stack=[]}feed(e){this.lexer=new G4(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,i,n;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:n,end:i}=this.consumeArg(["]"])}else({tokens:n,start:r,end:i}=this.consumeArg());return this.pushToken(new Ho("EOF",i.loc)),this.pushTokens(n),new Ho("",co.range(r,i))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],i=e&&e.length>0;i||this.consumeSpaces();var n=this.future(),a,s=0,l=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new wt("Extra }",a)}else if(a.text==="EOF")throw new wt("Unexpected end of input in a macro argument, expected '"+(e&&i?e[l]:"}")+"'",a);if(e&&i)if((s===0||s===1&&e[l]==="{")&&a.text===e[l]){if(++l,l===e.length){r.splice(-l,l);break}}else l=0}while(s!==0||i);return n.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:n,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new wt("The length of delimiters doesn't match the number of args!");for(var i=r[0],n=0;nthis.settings.maxExpand)throw new wt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),i=r.text,n=r.noexpand?null:this._getExpansion(i);if(n==null||e&&n.unexpandable){if(e&&n==null&&i[0]==="\\"&&!this.isDefined(i))throw new wt("Undefined control sequence: "+i);return this.pushToken(r),!1}this.countExpansion(1);var a=n.tokens,s=this.consumeArgs(n.numArgs,n.delimiters);if(n.numArgs){a=a.slice();for(var l=a.length-1;l>=0;--l){var u=a[l];if(u.text==="#"){if(l===0)throw new wt("Incomplete placeholder at end of macro body",u);if(u=a[--l],u.text==="#")a.splice(l+1,1);else if(/^[1-9]$/.test(u.text))a.splice(l,2,...s[+u.text-1]);else throw new wt("Not a valid argument number",u)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Ho(e)]):void 0}expandTokens(e){var r=[],i=this.stack.length;for(this.pushTokens(e);this.stack.length>i;)if(this.expandOnce(!0)===!1){var n=this.stack.pop();n.treatAsRelax&&(n.noexpand=!1,n.treatAsRelax=!1),r.push(n)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(i=>i.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var i=this.lexer.catcodes[e];if(i!=null&&i!==13)return}var n=typeof r=="function"?r(this):r;if(typeof n=="string"){var a=0;if(n.indexOf("#")!==-1)for(var s=n.replace(/##/g,"");s.indexOf("#"+(a+1))!==-1;)++a;for(var l=new G4(n,this.settings),u=[],h=l.lex();h.text!=="EOF";)u.push(h),h=l.lex();u.reverse();var f={tokens:u,numArgs:a};return f}return n}isDefined(e){return this.macros.has(e)||Mf.hasOwnProperty(e)||ji.math.hasOwnProperty(e)||ji.text.hasOwnProperty(e)||DK.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:Mf.hasOwnProperty(e)&&!Mf[e].primitive}},MX=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,I4=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),AD={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},OX={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},V4=class t{static{o(this,"Parser")}constructor(e,r){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new $D(e,r,this.mode),this.settings=r,this.leftrightDepth=0}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new wt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new Ho("}")),this.gullet.pushTokens(e);var i=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,i}parseExpression(e,r){for(var i=[];;){this.mode==="math"&&this.consumeSpaces();var n=this.fetch();if(t.endOfExpression.indexOf(n.text)!==-1||r&&n.text===r||e&&Mf[n.text]&&Mf[n.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;i.push(a)}return this.mode==="text"&&this.formLigatures(i),this.handleInfixNodes(i)}handleInfixNodes(e){for(var r=-1,i,n=0;n=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+r[0]+'" used in math mode',e);var l=ji[this.mode][r].group,u=co.range(e),h;if(GDe.hasOwnProperty(l)){var f=l;h={type:"atom",mode:this.mode,family:f,loc:u,text:r}}else h={type:l,mode:this.mode,loc:u,text:r};s=h}else if(r.charCodeAt(0)>=128)this.settings.strict&&(BX(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:co.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),Tl.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}var Hp,ZLe,JLe,zK,FK,Tr,tRe,rRe,iRe,nRe,GK,Yp,aRe,sRe,ou,nL,oRe,lRe,$K,K4,sn,jp,cRe,Rg,lt,Vr=P(()=>{"use strict";zx();Sr();Hp=//gi,ZLe=o(t=>t?GK(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),JLe=(()=>{let t=!1;return()=>{t||(eRe(),t=!0)}})();o(eRe,"setupDompurifyHooks");zK=o(t=>(JLe(),Tl.sanitize(t)),"removeScript"),FK=o((t,e)=>{if(Or(e)){let r=e.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?t=zK(t):r!=="loose"&&(t=GK(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=nRe(t))}return t},"sanitizeMore"),Tr=o((t,e)=>t&&(e.dompurifyConfig?t=Tl.sanitize(FK(t,e),e.dompurifyConfig).toString():t=Tl.sanitize(FK(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),tRe=o((t,e)=>typeof t=="string"?Tr(t,e):t.flat().map(r=>Tr(r,e)),"sanitizeTextOrArray"),rRe=o(t=>Hp.test(t),"hasBreaks"),iRe=o(t=>t.split(Hp),"splitBreaks"),nRe=o(t=>t.replace(/#br#/g,"
"),"placeholderToBreak"),GK=o(t=>t.replace(Hp,"#br#"),"breakToPlaceholder"),Yp=o(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),aRe=o(function(...t){let e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),sRe=o(function(...t){let e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),ou=o(function(t){let e=t.split(/(,)/),r=[];for(let i=0;i0&&i+1Math.max(0,t.split(e).length-1),"countOccurrence"),oRe=o((t,e)=>{let r=nL(t,"~"),i=nL(e,"~");return r===1&&i===1},"shouldCombineSets"),lRe=o(t=>{let e=nL(t,"~"),r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);let i=[...t],n=i.indexOf("~"),a=i.lastIndexOf("~");for(;n!==-1&&a!==-1&&n!==a;)i[n]="<",i[a]=">",n=i.indexOf("~"),a=i.lastIndexOf("~");return r&&i.unshift("~"),i.join("")},"processSet"),$K=o(()=>window.MathMLElement!==void 0,"isMathMLSupported"),K4=/\$\$(.*)\$\$/g,sn=o(t=>(t.match(K4)?.length??0)>0,"hasKatex"),jp=o(async(t,e)=>{let r=document.createElement("div");r.innerHTML=await Rg(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);let n={width:r.clientWidth,height:r.clientHeight};return r.remove(),n},"calculateMathMLDimensions"),cRe=o(async(t,e)=>{if(!sn(t))return t;if(!($K()||e.legacyMathML||e.forceLegacyMathML))return t.replace(K4,"MathML is unsupported in this environment.");{let{default:r}=await Promise.resolve().then(()=>(BK(),PK)),i=e.forceLegacyMathML||!$K()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(Hp).map(n=>sn(n)?`
${n}
`:`
${n}
`).join("").replace(K4,(n,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:i}).replace(/\n/g," ").replace(//g,""))}return t.replace(K4,"Katex is not supported in @mermaid-js/tiny. Please use the full mermaid library.")},"renderKatexUnsanitized"),Rg=o(async(t,e)=>Tr(await cRe(t,e),e),"renderKatexSanitized"),lt={getRows:ZLe,sanitizeText:Tr,sanitizeTextOrArray:tRe,hasBreaks:rRe,splitBreaks:iRe,lineBreakRegex:Hp,removeScript:zK,getUrl:Yp,evaluate:ls,getMax:aRe,getMin:sRe}});var sL,aL,VK,Q4,qK,WK,fo,lu=P(()=>{"use strict";FY();Sr();Vr();bt();sL={body:'?',height:80,width:80},aL=new Map,VK=new Map,Q4=o(t=>{for(let e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(Q.debug("Registering icon pack:",e.name),"loader"in e)VK.set(e.name,e.loader);else if("icons"in e)aL.set(e.name,e.icons);else throw Q.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),qK=o(async(t,e)=>{let r=D8(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);let i=r.prefix||e;if(!i)throw new Error(`Icon name must contain a prefix: ${t}`);let n=aL.get(i);if(!n){let s=VK.get(i);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{n={...await s(),prefix:i},aL.set(i,n)}catch(l){throw Q.error(l),new Error(`Failed to load icon set: ${r.prefix}`)}}let a=R8(n,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),WK=o(async t=>{try{return await qK(t),!0}catch{return!1}},"isIconAvailable"),fo=o(async(t,e,r)=>{let i;try{i=await qK(t,e?.fallbackPrefix)}catch(s){Q.error(s),i=sL}let n=I8(i,e),a=O8(M8(n.body),{...n.attributes,...r});return Tr(a,Lt())},"getIconSVG")});function Z4(t){for(var e=[],r=1;r{"use strict";o(Z4,"dedent")});var J4,Xp,UK,ew=P(()=>{"use strict";J4=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,Xp=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,UK=/\s*%%.*\n/gm});var Ng,lL=P(()=>{"use strict";Ng=class extends Error{static{o(this,"UnknownDiagramError")}constructor(e){super(e),this.name="UnknownDiagramError"}}});var wh,Ig,Zx,cL,HK,Kp=P(()=>{"use strict";bt();ew();lL();wh={},Ig=o(function(t,e){t=t.replace(J4,"").replace(Xp,"").replace(UK,` -`);for(let[r,{detector:i}]of Object.entries(wh))if(i(t,e))return r;throw new Ng(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),Zx=o((...t)=>{for(let{id:e,detector:r,loader:i}of t)cL(e,r,i)},"registerLazyLoadedDiagrams"),cL=o((t,e,r)=>{wh[t]&&Q.warn(`Detector with key ${t} already exists. Overwriting.`),wh[t]={detector:e,loader:r},Q.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),HK=o(t=>wh[t].loader,"getDiagramLoader")});var Jx,YK,uL=P(()=>{"use strict";Jx=(function(){var t=o(function(Ce,Fe,Ue,qe){for(Ue=Ue||{},qe=Ce.length;qe--;Ue[Ce[qe]]=Fe);return Ue},"o"),e=[1,24],r=[1,25],i=[1,26],n=[1,27],a=[1,28],s=[1,63],l=[1,64],u=[1,65],h=[1,66],f=[1,67],d=[1,68],p=[1,69],m=[1,29],g=[1,30],y=[1,31],v=[1,32],x=[1,33],b=[1,34],T=[1,35],w=[1,36],k=[1,37],C=[1,38],E=[1,39],S=[1,40],L=[1,41],M=[1,42],I=[1,43],A=[1,44],_=[1,45],D=[1,46],N=[1,47],R=[1,48],B=[1,50],O=[1,51],$=[1,52],z=[1,53],F=[1,54],V=[1,55],H=[1,56],X=[1,57],W=[1,58],Z=[1,59],Y=[1,60],ae=[14,42],J=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ee=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],re=[1,82],te=[1,83],be=[1,84],de=[1,85],Ee=[12,14,42],Ne=[12,14,33,42],we=[12,14,33,42,76,77,79,80],Te=[12,33],De=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],$e={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:o(function(Fe,Ue,qe,Me,He,K,oe){var U=K.length-1;switch(He){case 3:Me.setDirection("TB");break;case 4:Me.setDirection("BT");break;case 5:Me.setDirection("RL");break;case 6:Me.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Me.setC4Type(K[U-3]);break;case 19:Me.setTitle(K[U].substring(6)),this.$=K[U].substring(6);break;case 20:Me.setAccDescription(K[U].substring(15)),this.$=K[U].substring(15);break;case 21:this.$=K[U].trim(),Me.setTitle(this.$);break;case 22:case 23:this.$=K[U].trim(),Me.setAccDescription(this.$);break;case 28:K[U].splice(2,0,"ENTERPRISE"),Me.addPersonOrSystemBoundary(...K[U]),this.$=K[U];break;case 29:K[U].splice(2,0,"SYSTEM"),Me.addPersonOrSystemBoundary(...K[U]),this.$=K[U];break;case 30:Me.addPersonOrSystemBoundary(...K[U]),this.$=K[U];break;case 31:K[U].splice(2,0,"CONTAINER"),Me.addContainerBoundary(...K[U]),this.$=K[U];break;case 32:Me.addDeploymentNode("node",...K[U]),this.$=K[U];break;case 33:Me.addDeploymentNode("nodeL",...K[U]),this.$=K[U];break;case 34:Me.addDeploymentNode("nodeR",...K[U]),this.$=K[U];break;case 35:Me.popBoundaryParseStack();break;case 39:Me.addPersonOrSystem("person",...K[U]),this.$=K[U];break;case 40:Me.addPersonOrSystem("external_person",...K[U]),this.$=K[U];break;case 41:Me.addPersonOrSystem("system",...K[U]),this.$=K[U];break;case 42:Me.addPersonOrSystem("system_db",...K[U]),this.$=K[U];break;case 43:Me.addPersonOrSystem("system_queue",...K[U]),this.$=K[U];break;case 44:Me.addPersonOrSystem("external_system",...K[U]),this.$=K[U];break;case 45:Me.addPersonOrSystem("external_system_db",...K[U]),this.$=K[U];break;case 46:Me.addPersonOrSystem("external_system_queue",...K[U]),this.$=K[U];break;case 47:Me.addContainer("container",...K[U]),this.$=K[U];break;case 48:Me.addContainer("container_db",...K[U]),this.$=K[U];break;case 49:Me.addContainer("container_queue",...K[U]),this.$=K[U];break;case 50:Me.addContainer("external_container",...K[U]),this.$=K[U];break;case 51:Me.addContainer("external_container_db",...K[U]),this.$=K[U];break;case 52:Me.addContainer("external_container_queue",...K[U]),this.$=K[U];break;case 53:Me.addComponent("component",...K[U]),this.$=K[U];break;case 54:Me.addComponent("component_db",...K[U]),this.$=K[U];break;case 55:Me.addComponent("component_queue",...K[U]),this.$=K[U];break;case 56:Me.addComponent("external_component",...K[U]),this.$=K[U];break;case 57:Me.addComponent("external_component_db",...K[U]),this.$=K[U];break;case 58:Me.addComponent("external_component_queue",...K[U]),this.$=K[U];break;case 60:Me.addRel("rel",...K[U]),this.$=K[U];break;case 61:Me.addRel("birel",...K[U]),this.$=K[U];break;case 62:Me.addRel("rel_u",...K[U]),this.$=K[U];break;case 63:Me.addRel("rel_d",...K[U]),this.$=K[U];break;case 64:Me.addRel("rel_l",...K[U]),this.$=K[U];break;case 65:Me.addRel("rel_r",...K[U]),this.$=K[U];break;case 66:Me.addRel("rel_b",...K[U]),this.$=K[U];break;case 67:K[U].splice(0,1),Me.addRel("rel",...K[U]),this.$=K[U];break;case 68:Me.updateElStyle("update_el_style",...K[U]),this.$=K[U];break;case 69:Me.updateRelStyle("update_rel_style",...K[U]),this.$=K[U];break;case 70:Me.updateLayoutConfig("update_layout_config",...K[U]),this.$=K[U];break;case 71:this.$=[K[U]];break;case 72:K[U].unshift(K[U-1]),this.$=K[U];break;case 73:case 75:this.$=K[U].trim();break;case 74:let ue={};ue[K[U-1].trim()]=K[U].trim(),this.$=ue;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:i,26:n,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:w,52:k,53:C,54:E,55:S,56:L,57:M,58:I,59:A,60:_,61:D,62:N,63:R,64:B,65:O,66:$,67:z,68:F,69:V,70:H,71:X,72:W,73:Z,74:Y},{13:70,19:20,20:21,21:22,22:e,23:r,24:i,26:n,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:w,52:k,53:C,54:E,55:S,56:L,57:M,58:I,59:A,60:_,61:D,62:N,63:R,64:B,65:O,66:$,67:z,68:F,69:V,70:H,71:X,72:W,73:Z,74:Y},{13:71,19:20,20:21,21:22,22:e,23:r,24:i,26:n,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:w,52:k,53:C,54:E,55:S,56:L,57:M,58:I,59:A,60:_,61:D,62:N,63:R,64:B,65:O,66:$,67:z,68:F,69:V,70:H,71:X,72:W,73:Z,74:Y},{13:72,19:20,20:21,21:22,22:e,23:r,24:i,26:n,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:w,52:k,53:C,54:E,55:S,56:L,57:M,58:I,59:A,60:_,61:D,62:N,63:R,64:B,65:O,66:$,67:z,68:F,69:V,70:H,71:X,72:W,73:Z,74:Y},{13:73,19:20,20:21,21:22,22:e,23:r,24:i,26:n,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:w,52:k,53:C,54:E,55:S,56:L,57:M,58:I,59:A,60:_,61:D,62:N,63:R,64:B,65:O,66:$,67:z,68:F,69:V,70:H,71:X,72:W,73:Z,74:Y},{14:[1,74]},t(ae,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:w,52:k,53:C,54:E,55:S,56:L,57:M,58:I,59:A,60:_,61:D,62:N,63:R,64:B,65:O,66:$,67:z,68:F,69:V,70:H,71:X,72:W,73:Z,74:Y}),t(ae,[2,14]),t(J,[2,16],{12:[1,76]}),t(ae,[2,36],{12:[1,77]}),t(ee,[2,19]),t(ee,[2,20]),{25:[1,78]},{27:[1,79]},t(ee,[2,23]),{35:80,75:81,76:re,77:te,79:be,80:de},{35:86,75:81,76:re,77:te,79:be,80:de},{35:87,75:81,76:re,77:te,79:be,80:de},{35:88,75:81,76:re,77:te,79:be,80:de},{35:89,75:81,76:re,77:te,79:be,80:de},{35:90,75:81,76:re,77:te,79:be,80:de},{35:91,75:81,76:re,77:te,79:be,80:de},{35:92,75:81,76:re,77:te,79:be,80:de},{35:93,75:81,76:re,77:te,79:be,80:de},{35:94,75:81,76:re,77:te,79:be,80:de},{35:95,75:81,76:re,77:te,79:be,80:de},{35:96,75:81,76:re,77:te,79:be,80:de},{35:97,75:81,76:re,77:te,79:be,80:de},{35:98,75:81,76:re,77:te,79:be,80:de},{35:99,75:81,76:re,77:te,79:be,80:de},{35:100,75:81,76:re,77:te,79:be,80:de},{35:101,75:81,76:re,77:te,79:be,80:de},{35:102,75:81,76:re,77:te,79:be,80:de},{35:103,75:81,76:re,77:te,79:be,80:de},{35:104,75:81,76:re,77:te,79:be,80:de},t(Ee,[2,59]),{35:105,75:81,76:re,77:te,79:be,80:de},{35:106,75:81,76:re,77:te,79:be,80:de},{35:107,75:81,76:re,77:te,79:be,80:de},{35:108,75:81,76:re,77:te,79:be,80:de},{35:109,75:81,76:re,77:te,79:be,80:de},{35:110,75:81,76:re,77:te,79:be,80:de},{35:111,75:81,76:re,77:te,79:be,80:de},{35:112,75:81,76:re,77:te,79:be,80:de},{35:113,75:81,76:re,77:te,79:be,80:de},{35:114,75:81,76:re,77:te,79:be,80:de},{35:115,75:81,76:re,77:te,79:be,80:de},{20:116,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:w,52:k,53:C,54:E,55:S,56:L,57:M,58:I,59:A,60:_,61:D,62:N,63:R,64:B,65:O,66:$,67:z,68:F,69:V,70:H,71:X,72:W,73:Z,74:Y},{12:[1,118],33:[1,117]},{35:119,75:81,76:re,77:te,79:be,80:de},{35:120,75:81,76:re,77:te,79:be,80:de},{35:121,75:81,76:re,77:te,79:be,80:de},{35:122,75:81,76:re,77:te,79:be,80:de},{35:123,75:81,76:re,77:te,79:be,80:de},{35:124,75:81,76:re,77:te,79:be,80:de},{35:125,75:81,76:re,77:te,79:be,80:de},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(ae,[2,15]),t(J,[2,17],{21:22,19:130,22:e,23:r,24:i,26:n,28:a}),t(ae,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:i,26:n,28:a,34:s,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:w,52:k,53:C,54:E,55:S,56:L,57:M,58:I,59:A,60:_,61:D,62:N,63:R,64:B,65:O,66:$,67:z,68:F,69:V,70:H,71:X,72:W,73:Z,74:Y}),t(ee,[2,21]),t(ee,[2,22]),t(Ee,[2,39]),t(Ne,[2,71],{75:81,35:132,76:re,77:te,79:be,80:de}),t(we,[2,73]),{78:[1,133]},t(we,[2,75]),t(we,[2,76]),t(Ee,[2,40]),t(Ee,[2,41]),t(Ee,[2,42]),t(Ee,[2,43]),t(Ee,[2,44]),t(Ee,[2,45]),t(Ee,[2,46]),t(Ee,[2,47]),t(Ee,[2,48]),t(Ee,[2,49]),t(Ee,[2,50]),t(Ee,[2,51]),t(Ee,[2,52]),t(Ee,[2,53]),t(Ee,[2,54]),t(Ee,[2,55]),t(Ee,[2,56]),t(Ee,[2,57]),t(Ee,[2,58]),t(Ee,[2,60]),t(Ee,[2,61]),t(Ee,[2,62]),t(Ee,[2,63]),t(Ee,[2,64]),t(Ee,[2,65]),t(Ee,[2,66]),t(Ee,[2,67]),t(Ee,[2,68]),t(Ee,[2,69]),t(Ee,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(Te,[2,28]),t(Te,[2,29]),t(Te,[2,30]),t(Te,[2,31]),t(Te,[2,32]),t(Te,[2,33]),t(Te,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(J,[2,18]),t(ae,[2,38]),t(Ne,[2,72]),t(we,[2,74]),t(Ee,[2,24]),t(Ee,[2,35]),t(De,[2,25]),t(De,[2,26],{12:[1,138]}),t(De,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:o(function(Fe,Ue){if(Ue.recoverable)this.trace(Fe);else{var qe=new Error(Fe);throw qe.hash=Ue,qe}},"parseError"),parse:o(function(Fe){var Ue=this,qe=[0],Me=[],He=[null],K=[],oe=this.table,U="",ue=0,G=0,se=0,le=2,ke=1,me=K.slice.call(arguments,1),ye=Object.create(this.lexer),Re={yy:{}};for(var ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ve)&&(Re.yy[ve]=this.yy[ve]);ye.setInput(Fe,Re.yy),Re.yy.lexer=ye,Re.yy.parser=this,typeof ye.yylloc>"u"&&(ye.yylloc={});var Oe=ye.yylloc;K.push(Oe);var We=ye.options&&ye.options.ranges;typeof Re.yy.parseError=="function"?this.parseError=Re.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Be(yt){qe.length=qe.length-2*yt,He.length=He.length-yt,K.length=K.length-yt}o(Be,"popStack");function Qe(){var yt;return yt=Me.pop()||ye.lex()||ke,typeof yt!="number"&&(yt instanceof Array&&(Me=yt,yt=Me.pop()),yt=Ue.symbols_[yt]||yt),yt}o(Qe,"lex");for(var ce,it,fe,ut,Nt,Pt,St={},It,ot,ct,Dt;;){if(fe=qe[qe.length-1],this.defaultActions[fe]?ut=this.defaultActions[fe]:((ce===null||typeof ce>"u")&&(ce=Qe()),ut=oe[fe]&&oe[fe][ce]),typeof ut>"u"||!ut.length||!ut[0]){var kt="";Dt=[];for(It in oe[fe])this.terminals_[It]&&It>le&&Dt.push("'"+this.terminals_[It]+"'");ye.showPosition?kt="Parse error on line "+(ue+1)+`: -`+ye.showPosition()+` -Expecting `+Dt.join(", ")+", got '"+(this.terminals_[ce]||ce)+"'":kt="Parse error on line "+(ue+1)+": Unexpected "+(ce==ke?"end of input":"'"+(this.terminals_[ce]||ce)+"'"),this.parseError(kt,{text:ye.match,token:this.terminals_[ce]||ce,line:ye.yylineno,loc:Oe,expected:Dt})}if(ut[0]instanceof Array&&ut.length>1)throw new Error("Parse Error: multiple actions possible at state: "+fe+", token: "+ce);switch(ut[0]){case 1:qe.push(ce),He.push(ye.yytext),K.push(ye.yylloc),qe.push(ut[1]),ce=null,it?(ce=it,it=null):(G=ye.yyleng,U=ye.yytext,ue=ye.yylineno,Oe=ye.yylloc,se>0&&se--);break;case 2:if(ot=this.productions_[ut[1]][1],St.$=He[He.length-ot],St._$={first_line:K[K.length-(ot||1)].first_line,last_line:K[K.length-1].last_line,first_column:K[K.length-(ot||1)].first_column,last_column:K[K.length-1].last_column},We&&(St._$.range=[K[K.length-(ot||1)].range[0],K[K.length-1].range[1]]),Pt=this.performAction.apply(St,[U,G,ue,Re.yy,ut[1],He,K].concat(me)),typeof Pt<"u")return Pt;ot&&(qe=qe.slice(0,-1*ot*2),He=He.slice(0,-1*ot),K=K.slice(0,-1*ot)),qe.push(this.productions_[ut[1]][0]),He.push(St.$),K.push(St._$),ct=oe[qe[qe.length-2]][qe[qe.length-1]],qe.push(ct);break;case 3:return!0}}return!0},"parse")},pe=(function(){var Ce={EOF:1,parseError:o(function(Ue,qe){if(this.yy.parser)this.yy.parser.parseError(Ue,qe);else throw new Error(Ue)},"parseError"),setInput:o(function(Fe,Ue){return this.yy=Ue||this.yy||{},this._input=Fe,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var Fe=this._input[0];this.yytext+=Fe,this.yyleng++,this.offset++,this.match+=Fe,this.matched+=Fe;var Ue=Fe.match(/(?:\r\n?|\n).*/g);return Ue?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Fe},"input"),unput:o(function(Fe){var Ue=Fe.length,qe=Fe.split(/(?:\r\n?|\n)/g);this._input=Fe+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ue),this.offset-=Ue;var Me=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),qe.length-1&&(this.yylineno-=qe.length-1);var He=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:qe?(qe.length===Me.length?this.yylloc.first_column:0)+Me[Me.length-qe.length].length-qe[0].length:this.yylloc.first_column-Ue},this.options.ranges&&(this.yylloc.range=[He[0],He[0]+this.yyleng-Ue]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(Fe){this.unput(this.match.slice(Fe))},"less"),pastInput:o(function(){var Fe=this.matched.substr(0,this.matched.length-this.match.length);return(Fe.length>20?"...":"")+Fe.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Fe=this.match;return Fe.length<20&&(Fe+=this._input.substr(0,20-Fe.length)),(Fe.substr(0,20)+(Fe.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Fe=this.pastInput(),Ue=new Array(Fe.length+1).join("-");return Fe+this.upcomingInput()+` -`+Ue+"^"},"showPosition"),test_match:o(function(Fe,Ue){var qe,Me,He;if(this.options.backtrack_lexer&&(He={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(He.yylloc.range=this.yylloc.range.slice(0))),Me=Fe[0].match(/(?:\r\n?|\n).*/g),Me&&(this.yylineno+=Me.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Me?Me[Me.length-1].length-Me[Me.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Fe[0].length},this.yytext+=Fe[0],this.match+=Fe[0],this.matches=Fe,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Fe[0].length),this.matched+=Fe[0],qe=this.performAction.call(this,this.yy,this,Ue,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),qe)return qe;if(this._backtrack){for(var K in He)this[K]=He[K];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Fe,Ue,qe,Me;this._more||(this.yytext="",this.match="");for(var He=this._currentRules(),K=0;KUe[0].length)){if(Ue=qe,Me=K,this.options.backtrack_lexer){if(Fe=this.test_match(qe,He[K]),Fe!==!1)return Fe;if(this._backtrack){Ue=!1;continue}else return!1}else if(!this.options.flex)break}return Ue?(Fe=this.test_match(Ue,He[Me]),Fe!==!1?Fe:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Ue=this.next();return Ue||this.lex()},"lex"),begin:o(function(Ue){this.conditionStack.push(Ue)},"begin"),popState:o(function(){var Ue=this.conditionStack.length-1;return Ue>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(Ue){return Ue=this.conditionStack.length-1-Math.abs(Ue||0),Ue>=0?this.conditionStack[Ue]:"INITIAL"},"topState"),pushState:o(function(Ue){this.begin(Ue)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(Ue,qe,Me,He){var K=He;switch(Me){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),26;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;break;case 23:return this.begin("person"),44;break;case 24:return this.begin("system_ext_queue"),51;break;case 25:return this.begin("system_ext_db"),50;break;case 26:return this.begin("system_ext"),49;break;case 27:return this.begin("system_queue"),48;break;case 28:return this.begin("system_db"),47;break;case 29:return this.begin("system"),46;break;case 30:return this.begin("boundary"),37;break;case 31:return this.begin("enterprise_boundary"),34;break;case 32:return this.begin("system_boundary"),36;break;case 33:return this.begin("container_ext_queue"),57;break;case 34:return this.begin("container_ext_db"),56;break;case 35:return this.begin("container_ext"),55;break;case 36:return this.begin("container_queue"),54;break;case 37:return this.begin("container_db"),53;break;case 38:return this.begin("container"),52;break;case 39:return this.begin("container_boundary"),38;break;case 40:return this.begin("component_ext_queue"),63;break;case 41:return this.begin("component_ext_db"),62;break;case 42:return this.begin("component_ext"),61;break;case 43:return this.begin("component_queue"),60;break;case 44:return this.begin("component_db"),59;break;case 45:return this.begin("component"),58;break;case 46:return this.begin("node"),39;break;case 47:return this.begin("node"),39;break;case 48:return this.begin("node_l"),40;break;case 49:return this.begin("node_r"),41;break;case 50:return this.begin("rel"),64;break;case 51:return this.begin("birel"),65;break;case 52:return this.begin("rel_u"),66;break;case 53:return this.begin("rel_u"),66;break;case 54:return this.begin("rel_d"),67;break;case 55:return this.begin("rel_d"),67;break;case 56:return this.begin("rel_l"),68;break;case 57:return this.begin("rel_l"),68;break;case 58:return this.begin("rel_r"),69;break;case 59:return this.begin("rel_r"),69;break;case 60:return this.begin("rel_b"),70;break;case 61:return this.begin("rel_index"),71;break;case 62:return this.begin("update_el_style"),72;break;case 63:return this.begin("update_rel_style"),73;break;case 64:return this.begin("update_layout_config"),74;break;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";break;case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";break;case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return Ce})();$e.lexer=pe;function Je(){this.yy={}}return o(Je,"Parser"),Je.prototype=$e,$e.Parser=Je,new Je})();Jx.parser=Jx;YK=Jx});var uRe,hRe,Hr,El,Xi=P(()=>{"use strict";bt();uRe=o(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),hRe=o(function(t,e,r){let i=new Map;return r?(i.set("width","100%"),i.set("style",`max-width: ${e}px;`)):(i.set("height",t),i.set("width",e)),i},"calculateSvgSizeAttrs"),Hr=o(function(t,e,r,i){let n=hRe(e,r,i);uRe(t,n)},"configureSvgSize"),El=o(function(t,e,r,i){let n=e.node().getBBox(),a=n.width,s=n.height;Q.info(`SVG bounds: ${a}x${s}`,n);let l=0,u=0;Q.info(`Graph bounds: ${l}x${u}`,t),l=a+r*2,u=s+r*2,Q.info(`Calculated bounds: ${l}x${u}`),Hr(e,u,l,i);let h=`${n.x-r} ${n.y-r} ${n.width+2*r} ${n.height+2*r}`;e.attr("viewBox",h)},"setupGraphViewbox")});var tw,fRe,jK,XK,hL=P(()=>{"use strict";bt();tw={},fRe=o((t,e,r,i)=>{let n="";return t in tw&&tw[t]?n=tw[t]({...r,svgId:i}):Q.warn(`No theme found for ${t}`),` & { - font-family: ${r.fontFamily}; - font-size: ${r.fontSize}; - fill: ${r.textColor} - } - @keyframes edge-animation-frame { - from { - stroke-dashoffset: 0; - } - } - @keyframes dash { - to { - stroke-dashoffset: 0; - } - } - & .edge-animation-slow { - stroke-dasharray: 9,5 !important; - stroke-dashoffset: 900; - animation: dash 50s linear infinite; - stroke-linecap: round; - } - & .edge-animation-fast { - stroke-dasharray: 9,5 !important; - stroke-dashoffset: 900; - animation: dash 20s linear infinite; - stroke-linecap: round; - } - /* Classes common for multiple diagrams */ - - & .error-icon { - fill: ${r.errorBkgColor}; - } - & .error-text { - fill: ${r.errorTextColor}; - stroke: ${r.errorTextColor}; - } - - & .edge-thickness-normal { - stroke-width: ${r.strokeWidth??1}px; - } - & .edge-thickness-thick { - stroke-width: 3.5px - } - & .edge-pattern-solid { - stroke-dasharray: 0; - } - & .edge-thickness-invisible { - stroke-width: 0; - fill: none; - } - & .edge-pattern-dashed{ - stroke-dasharray: 3; - } - .edge-pattern-dotted { - stroke-dasharray: 2; - } - - & .marker { - fill: ${r.lineColor}; - stroke: ${r.lineColor}; - } - & .marker.cross { - stroke: ${r.lineColor}; - } - - & svg { - font-family: ${r.fontFamily}; - font-size: ${r.fontSize}; - } - & p { - margin: 0 - } - - ${n} - .node .neo-node { - stroke: ${r.nodeBorder}; - } - - [data-look="neo"].node rect, [data-look="neo"].cluster rect, [data-look="neo"].node polygon { - stroke: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; - filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; - } - - - [data-look="neo"].node path { - stroke: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; - stroke-width: ${r.strokeWidth??1}px; - } - - [data-look="neo"].node .outer-path { - filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; - } - - [data-look="neo"].node .neo-line path { - stroke: ${r.nodeBorder}; - filter: none; - } - - [data-look="neo"].node circle{ - stroke: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; - filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; - } - - [data-look="neo"].node circle .state-start{ - fill: #000000; - } - - [data-look="neo"].icon-shape .icon { - fill: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; - filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; - } - - [data-look="neo"].icon-shape .icon-neo path { - stroke: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; - filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; - } - - ${e} -`},"getStyles"),jK=o((t,e)=>{e!==void 0&&(tw[t]=e)},"addStylesForDiagram"),XK=fRe});var e2={};ur(e2,{clear:()=>wr,getAccDescription:()=>Rr,getAccTitle:()=>Dr,getDiagramTitle:()=>Nr,setAccDescription:()=>Lr,setAccTitle:()=>Ar,setDiagramTitle:()=>Mr});var fL,dL,pL,mL,wr,Ar,Dr,Lr,Rr,Mr,Nr,Ki=P(()=>{"use strict";Vr();Sr();fL="",dL="",pL="",mL=o(t=>Tr(t,Lt()),"sanitizeText"),wr=o(()=>{fL="",pL="",dL=""},"clear"),Ar=o(t=>{fL=mL(t).replace(/^\s+/g,"")},"setAccTitle"),Dr=o(()=>fL,"getAccTitle"),Lr=o(t=>{pL=mL(t).replace(/\n\s+/g,` -`)},"setAccDescription"),Rr=o(()=>pL,"getAccDescription"),Mr=o(t=>{dL=mL(t)},"setDiagramTitle"),Nr=o(()=>dL,"getDiagramTitle")});var KK,dRe,ge,t2,iw,r2,yL,pRe,rw,Qp,i2,gL,Ut=P(()=>{"use strict";Kp();bt();Sr();Vr();Xi();hL();Ki();KK=Q,dRe=_x,ge=Lt,t2=x4,iw=Nf,r2=o(t=>Tr(t,ge()),"sanitizeText"),yL=El,pRe=o(()=>e2,"getCommonDb"),rw={},Qp=o((t,e,r)=>{rw[t]&&KK.warn(`Diagram with id ${t} already registered. Overwriting.`),rw[t]=e,r&&cL(t,r),jK(t,e.styles),e.injectUtils?.(KK,dRe,ge,r2,yL,pRe(),()=>{})},"registerDiagram"),i2=o(t=>{if(t in rw)return rw[t];throw new gL(t)},"getDiagram"),gL=class extends Error{static{o(this,"DiagramNotFoundError")}constructor(e){super(`Diagram ${e} not found.`)}}});var fc,Ff,Bs,hc,cu,n2,vL,xL,nw,aw,QK,mRe,gRe,yRe,vRe,xRe,bRe,TRe,kRe,CRe,wRe,ERe,SRe,ARe,_Re,DRe,LRe,RRe,ZK,NRe,IRe,JK,MRe,ORe,PRe,BRe,$f,FRe,$Re,zRe,GRe,VRe,a2,bL=P(()=>{"use strict";Ut();Vr();Ki();fc=[],Ff=[""],Bs="global",hc="",cu=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],n2=[],vL="",xL=!1,nw=4,aw=2,mRe=o(function(){return QK},"getC4Type"),gRe=o(function(t){QK=Tr(t,ge())},"setC4Type"),yRe=o(function(t,e,r,i,n,a,s,l,u){if(t==null||e===void 0||e===null||r===void 0||r===null||i===void 0||i===null)return;let h={},f=n2.find(d=>d.from===e&&d.to===r);if(f?h=f:n2.push(h),h.type=t,h.from=e,h.to=r,h.label={text:i},n==null)h.techn={text:""};else if(typeof n=="object"){let[d,p]=Object.entries(n)[0];h[d]={text:p}}else h.techn={text:n};if(a==null)h.descr={text:""};else if(typeof a=="object"){let[d,p]=Object.entries(a)[0];h[d]={text:p}}else h.descr={text:a};if(typeof s=="object"){let[d,p]=Object.entries(s)[0];h[d]=p}else h.sprite=s;if(typeof l=="object"){let[d,p]=Object.entries(l)[0];h[d]=p}else h.tags=l;if(typeof u=="object"){let[d,p]=Object.entries(u)[0];h[d]=p}else h.link=u;h.wrap=$f()},"addRel"),vRe=o(function(t,e,r,i,n,a,s){if(e===null||r===null)return;let l={},u=fc.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,fc.push(l)),r==null?l.label={text:""}:l.label={text:r},i==null)l.descr={text:""};else if(typeof i=="object"){let[h,f]=Object.entries(i)[0];l[h]={text:f}}else l.descr={text:i};if(typeof n=="object"){let[h,f]=Object.entries(n)[0];l[h]=f}else l.sprite=n;if(typeof a=="object"){let[h,f]=Object.entries(a)[0];l[h]=f}else l.tags=a;if(typeof s=="object"){let[h,f]=Object.entries(s)[0];l[h]=f}else l.link=s;l.typeC4Shape={text:t},l.parentBoundary=Bs,l.wrap=$f()},"addPersonOrSystem"),xRe=o(function(t,e,r,i,n,a,s,l){if(e===null||r===null)return;let u={},h=fc.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,fc.push(u)),r==null?u.label={text:""}:u.label={text:r},i==null)u.techn={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.techn={text:i};if(n==null)u.descr={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.descr={text:n};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=$f(),u.typeC4Shape={text:t},u.parentBoundary=Bs},"addContainer"),bRe=o(function(t,e,r,i,n,a,s,l){if(e===null||r===null)return;let u={},h=fc.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,fc.push(u)),r==null?u.label={text:""}:u.label={text:r},i==null)u.techn={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.techn={text:i};if(n==null)u.descr={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.descr={text:n};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=$f(),u.typeC4Shape={text:t},u.parentBoundary=Bs},"addComponent"),TRe=o(function(t,e,r,i,n){if(t===null||e===null)return;let a={},s=cu.find(l=>l.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,cu.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.tags=i;if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.link=n;a.parentBoundary=Bs,a.wrap=$f(),hc=Bs,Bs=t,Ff.push(hc)},"addPersonOrSystemBoundary"),kRe=o(function(t,e,r,i,n){if(t===null||e===null)return;let a={},s=cu.find(l=>l.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,cu.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.tags=i;if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.link=n;a.parentBoundary=Bs,a.wrap=$f(),hc=Bs,Bs=t,Ff.push(hc)},"addContainerBoundary"),CRe=o(function(t,e,r,i,n,a,s,l){if(e===null||r===null)return;let u={},h=cu.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,cu.push(u)),r==null?u.label={text:""}:u.label={text:r},i==null)u.type={text:"node"};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.type={text:i};if(n==null)u.descr={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.descr={text:n};if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.nodeType=t,u.parentBoundary=Bs,u.wrap=$f(),hc=Bs,Bs=e,Ff.push(hc)},"addDeploymentNode"),wRe=o(function(){Bs=hc,Ff.pop(),hc=Ff.pop(),Ff.push(hc)},"popBoundaryParseStack"),ERe=o(function(t,e,r,i,n,a,s,l,u,h,f){let d=fc.find(p=>p.alias===e);if(!(d===void 0&&(d=cu.find(p=>p.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[p,m]=Object.entries(r)[0];d[p]=m}else d.bgColor=r;if(i!=null)if(typeof i=="object"){let[p,m]=Object.entries(i)[0];d[p]=m}else d.fontColor=i;if(n!=null)if(typeof n=="object"){let[p,m]=Object.entries(n)[0];d[p]=m}else d.borderColor=n;if(a!=null)if(typeof a=="object"){let[p,m]=Object.entries(a)[0];d[p]=m}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[p,m]=Object.entries(s)[0];d[p]=m}else d.shape=s;if(l!=null)if(typeof l=="object"){let[p,m]=Object.entries(l)[0];d[p]=m}else d.sprite=l;if(u!=null)if(typeof u=="object"){let[p,m]=Object.entries(u)[0];d[p]=m}else d.techn=u;if(h!=null)if(typeof h=="object"){let[p,m]=Object.entries(h)[0];d[p]=m}else d.legendText=h;if(f!=null)if(typeof f=="object"){let[p,m]=Object.entries(f)[0];d[p]=m}else d.legendSprite=f}},"updateElStyle"),SRe=o(function(t,e,r,i,n,a,s){let l=n2.find(u=>u.from===e&&u.to===r);if(l!==void 0){if(i!=null)if(typeof i=="object"){let[u,h]=Object.entries(i)[0];l[u]=h}else l.textColor=i;if(n!=null)if(typeof n=="object"){let[u,h]=Object.entries(n)[0];l[u]=h}else l.lineColor=n;if(a!=null)if(typeof a=="object"){let[u,h]=Object.entries(a)[0];l[u]=parseInt(h)}else l.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[u,h]=Object.entries(s)[0];l[u]=parseInt(h)}else l.offsetY=parseInt(s)}},"updateRelStyle"),ARe=o(function(t,e,r){let i=nw,n=aw;if(typeof e=="object"){let a=Object.values(e)[0];i=parseInt(a)}else i=parseInt(e);if(typeof r=="object"){let a=Object.values(r)[0];n=parseInt(a)}else n=parseInt(r);i>=1&&(nw=i),n>=1&&(aw=n)},"updateLayoutConfig"),_Re=o(function(){return nw},"getC4ShapeInRow"),DRe=o(function(){return aw},"getC4BoundaryInRow"),LRe=o(function(){return Bs},"getCurrentBoundaryParse"),RRe=o(function(){return hc},"getParentBoundaryParse"),ZK=o(function(t){return t==null?fc:fc.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),NRe=o(function(t){return fc.find(e=>e.alias===t)},"getC4Shape"),IRe=o(function(t){return Object.keys(ZK(t))},"getC4ShapeKeys"),JK=o(function(t){return t==null?cu:cu.filter(e=>e.parentBoundary===t)},"getBoundaries"),MRe=JK,ORe=o(function(){return n2},"getRels"),PRe=o(function(){return vL},"getTitle"),BRe=o(function(t){xL=t},"setWrap"),$f=o(function(){return xL},"autoWrap"),FRe=o(function(){fc=[],cu=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],hc="",Bs="global",Ff=[""],n2=[],Ff=[""],vL="",xL=!1,nw=4,aw=2},"clear"),$Re={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},zRe={FILLED:0,OPEN:1},GRe={LEFTOF:0,RIGHTOF:1,OVER:2},VRe=o(function(t){vL=Tr(t,ge())},"setTitle"),a2={addPersonOrSystem:vRe,addPersonOrSystemBoundary:TRe,addContainer:xRe,addContainerBoundary:kRe,addComponent:bRe,addDeploymentNode:CRe,popBoundaryParseStack:wRe,addRel:yRe,updateElStyle:ERe,updateRelStyle:SRe,updateLayoutConfig:ARe,autoWrap:$f,setWrap:BRe,getC4ShapeArray:ZK,getC4Shape:NRe,getC4ShapeKeys:IRe,getBoundaries:JK,getBoundarys:MRe,getCurrentBoundaryParse:LRe,getParentBoundaryParse:RRe,getRels:ORe,getTitle:PRe,getC4Type:mRe,getC4ShapeInRow:_Re,getC4BoundaryInRow:DRe,setAccTitle:Ar,getAccTitle:Dr,getAccDescription:Rr,setAccDescription:Lr,getConfig:o(()=>ge().c4,"getConfig"),clear:FRe,LINETYPE:$Re,ARROWTYPE:zRe,PLACEMENT:GRe,setTitle:VRe,setC4Type:gRe}});function Zp(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}var TL=P(()=>{"use strict";o(Zp,"ascending")});function kL(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}var eQ=P(()=>{"use strict";o(kL,"descending")});function Jp(t){let e,r,i;t.length!==2?(e=Zp,r=o((l,u)=>Zp(t(l),u),"compare2"),i=o((l,u)=>t(l)-u,"delta")):(e=t===Zp||t===kL?t:qRe,r=t,i=t);function n(l,u,h=0,f=l.length){if(h>>1;r(l[d],u)<0?h=d+1:f=d}while(h>>1;r(l[d],u)<=0?h=d+1:f=d}while(hh&&i(l[d-1],u)>-i(l[d],u)?d-1:d}return o(s,"center"),{left:n,center:s,right:a}}function qRe(){return 0}var CL=P(()=>{"use strict";TL();eQ();o(Jp,"bisector");o(qRe,"zero")});function wL(t){return t===null?NaN:+t}var tQ=P(()=>{"use strict";o(wL,"number")});var rQ,iQ,WRe,URe,EL,nQ=P(()=>{"use strict";TL();CL();tQ();rQ=Jp(Zp),iQ=rQ.right,WRe=rQ.left,URe=Jp(wL).center,EL=iQ});function aQ({_intern:t,_key:e},r){let i=e(r);return t.has(i)?t.get(i):r}function HRe({_intern:t,_key:e},r){let i=e(r);return t.has(i)?t.get(i):(t.set(i,r),r)}function YRe({_intern:t,_key:e},r){let i=e(r);return t.has(i)&&(r=t.get(i),t.delete(i)),r}function jRe(t){return t!==null&&typeof t=="object"?t.valueOf():t}var Mg,sQ=P(()=>{"use strict";Mg=class extends Map{static{o(this,"InternMap")}constructor(e,r=jRe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[i,n]of e)this.set(i,n)}get(e){return super.get(aQ(this,e))}has(e){return super.has(aQ(this,e))}set(e,r){return super.set(HRe(this,e),r)}delete(e){return super.delete(YRe(this,e))}};o(aQ,"intern_get");o(HRe,"intern_set");o(YRe,"intern_delete");o(jRe,"keyof")});function sw(t,e,r){let i=(e-t)/Math.max(0,r),n=Math.floor(Math.log10(i)),a=i/Math.pow(10,n),s=a>=XRe?10:a>=KRe?5:a>=QRe?2:1,l,u,h;return n<0?(h=Math.pow(10,-n)/s,l=Math.round(t*h),u=Math.round(e*h),l/he&&--u,h=-h):(h=Math.pow(10,n)*s,l=Math.round(t/h),u=Math.round(e/h),l*he&&--u),u0))return[];if(t===e)return[t];let i=e=n))return[];let l=a-n+1,u=new Array(l);if(i)if(s<0)for(let h=0;h{"use strict";XRe=Math.sqrt(50),KRe=Math.sqrt(10),QRe=Math.sqrt(2);o(sw,"tickSpec");o(ow,"ticks");o(s2,"tickIncrement");o(Og,"tickStep")});function lw(t,e){let r;if(e===void 0)for(let i of t)i!=null&&(r=i)&&(r=i);else{let i=-1;for(let n of t)(n=e(n,++i,t))!=null&&(r=n)&&(r=n)}return r}var lQ=P(()=>{"use strict";o(lw,"max")});function cw(t,e){let r;if(e===void 0)for(let i of t)i!=null&&(r>i||r===void 0&&i>=i)&&(r=i);else{let i=-1;for(let n of t)(n=e(n,++i,t))!=null&&(r>n||r===void 0&&n>=n)&&(r=n)}return r}var cQ=P(()=>{"use strict";o(cw,"min")});function uw(t,e,r){t=+t,e=+e,r=(n=arguments.length)<2?(e=t,t=0,1):n<3?1:+r;for(var i=-1,n=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(n);++i{"use strict";o(uw,"range")});var zf=P(()=>{"use strict";nQ();CL();lQ();cQ();uQ();oQ();sQ()});function SL(t){return t}var hQ=P(()=>{"use strict";o(SL,"default")});function ZRe(t){return"translate("+t+",0)"}function JRe(t){return"translate(0,"+t+")"}function e9e(t){return e=>+t(e)}function t9e(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function r9e(){return!this.__axis}function dQ(t,e){var r=[],i=null,n=null,a=6,s=6,l=3,u=typeof window<"u"&&window.devicePixelRatio>1?0:.5,h=t===fw||t===hw?-1:1,f=t===hw||t===AL?"x":"y",d=t===fw||t===_L?ZRe:JRe;function p(m){var g=i??(e.ticks?e.ticks.apply(e,r):e.domain()),y=n??(e.tickFormat?e.tickFormat.apply(e,r):SL),v=Math.max(a,0)+l,x=e.range(),b=+x[0]+u,T=+x[x.length-1]+u,w=(e.bandwidth?t9e:e9e)(e.copy(),u),k=m.selection?m.selection():m,C=k.selectAll(".domain").data([null]),E=k.selectAll(".tick").data(g,e).order(),S=E.exit(),L=E.enter().append("g").attr("class","tick"),M=E.select("line"),I=E.select("text");C=C.merge(C.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),E=E.merge(L),M=M.merge(L.append("line").attr("stroke","currentColor").attr(f+"2",h*a)),I=I.merge(L.append("text").attr("fill","currentColor").attr(f,h*v).attr("dy",t===fw?"0em":t===_L?"0.71em":"0.32em")),m!==k&&(C=C.transition(m),E=E.transition(m),M=M.transition(m),I=I.transition(m),S=S.transition(m).attr("opacity",fQ).attr("transform",function(A){return isFinite(A=w(A))?d(A+u):this.getAttribute("transform")}),L.attr("opacity",fQ).attr("transform",function(A){var _=this.parentNode.__axis;return d((_&&isFinite(_=_(A))?_:w(A))+u)})),S.remove(),C.attr("d",t===hw||t===AL?s?"M"+h*s+","+b+"H"+u+"V"+T+"H"+h*s:"M"+u+","+b+"V"+T:s?"M"+b+","+h*s+"V"+u+"H"+T+"V"+h*s:"M"+b+","+u+"H"+T),E.attr("opacity",1).attr("transform",function(A){return d(w(A)+u)}),M.attr(f+"2",h*a),I.attr(f,h*v).text(y),k.filter(r9e).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===AL?"start":t===hw?"end":"middle"),k.each(function(){this.__axis=w})}return o(p,"axis"),p.scale=function(m){return arguments.length?(e=m,p):e},p.ticks=function(){return r=Array.from(arguments),p},p.tickArguments=function(m){return arguments.length?(r=m==null?[]:Array.from(m),p):r.slice()},p.tickValues=function(m){return arguments.length?(i=m==null?null:Array.from(m),p):i&&i.slice()},p.tickFormat=function(m){return arguments.length?(n=m,p):n},p.tickSize=function(m){return arguments.length?(a=s=+m,p):a},p.tickSizeInner=function(m){return arguments.length?(a=+m,p):a},p.tickSizeOuter=function(m){return arguments.length?(s=+m,p):s},p.tickPadding=function(m){return arguments.length?(l=+m,p):l},p.offset=function(m){return arguments.length?(u=+m,p):u},p}function DL(t){return dQ(fw,t)}function LL(t){return dQ(_L,t)}var fw,AL,_L,hw,fQ,pQ=P(()=>{"use strict";hQ();fw=1,AL=2,_L=3,hw=4,fQ=1e-6;o(ZRe,"translateX");o(JRe,"translateY");o(e9e,"number");o(t9e,"center");o(r9e,"entering");o(dQ,"axis");o(DL,"axisTop");o(LL,"axisBottom")});var mQ=P(()=>{"use strict";pQ()});function yQ(){for(var t=0,e=arguments.length,r={},i;t=0&&(i=r.slice(n+1),r=r.slice(0,n)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:i}})}function a9e(t,e){for(var r=0,i=t.length,n;r{"use strict";i9e={value:o(()=>{},"value")};o(yQ,"dispatch");o(dw,"Dispatch");o(n9e,"parseTypenames");dw.prototype=yQ.prototype={constructor:dw,on:o(function(t,e){var r=this._,i=n9e(t+"",r),n,a=-1,s=i.length;if(arguments.length<2){for(;++a0)for(var r=new Array(n),i=0,n,a;i{"use strict";vQ()});var pw,IL,ML=P(()=>{"use strict";pw="http://www.w3.org/1999/xhtml",IL={svg:"http://www.w3.org/2000/svg",xhtml:pw,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}});function uu(t){var e=t+="",r=e.indexOf(":");return r>=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),IL.hasOwnProperty(e)?{space:IL[e],local:t}:t}var mw=P(()=>{"use strict";ML();o(uu,"default")});function s9e(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===pw&&e.documentElement.namespaceURI===pw?e.createElement(t):e.createElementNS(r,t)}}function o9e(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function o2(t){var e=uu(t);return(e.local?o9e:s9e)(e)}var OL=P(()=>{"use strict";mw();ML();o(s9e,"creatorInherit");o(o9e,"creatorFixed");o(o2,"default")});function l9e(){}function Gf(t){return t==null?l9e:function(){return this.querySelector(t)}}var gw=P(()=>{"use strict";o(l9e,"none");o(Gf,"default")});function PL(t){typeof t!="function"&&(t=Gf(t));for(var e=this._groups,r=e.length,i=new Array(r),n=0;n{"use strict";dc();gw();o(PL,"default")});function BL(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}var bQ=P(()=>{"use strict";o(BL,"array")});function c9e(){return[]}function Pg(t){return t==null?c9e:function(){return this.querySelectorAll(t)}}var FL=P(()=>{"use strict";o(c9e,"empty");o(Pg,"default")});function u9e(t){return function(){return BL(t.apply(this,arguments))}}function $L(t){typeof t=="function"?t=u9e(t):t=Pg(t);for(var e=this._groups,r=e.length,i=[],n=[],a=0;a{"use strict";dc();bQ();FL();o(u9e,"arrayAll");o($L,"default")});function Bg(t){return function(){return this.matches(t)}}function yw(t){return function(e){return e.matches(t)}}var l2=P(()=>{"use strict";o(Bg,"default");o(yw,"childMatcher")});function f9e(t){return function(){return h9e.call(this.children,t)}}function d9e(){return this.firstElementChild}function zL(t){return this.select(t==null?d9e:f9e(typeof t=="function"?t:yw(t)))}var h9e,kQ=P(()=>{"use strict";l2();h9e=Array.prototype.find;o(f9e,"childFind");o(d9e,"childFirst");o(zL,"default")});function m9e(){return Array.from(this.children)}function g9e(t){return function(){return p9e.call(this.children,t)}}function GL(t){return this.selectAll(t==null?m9e:g9e(typeof t=="function"?t:yw(t)))}var p9e,CQ=P(()=>{"use strict";l2();p9e=Array.prototype.filter;o(m9e,"children");o(g9e,"childrenFilter");o(GL,"default")});function VL(t){typeof t!="function"&&(t=Bg(t));for(var e=this._groups,r=e.length,i=new Array(r),n=0;n{"use strict";dc();l2();o(VL,"default")});function c2(t){return new Array(t.length)}var qL=P(()=>{"use strict";o(c2,"default")});function WL(){return new Nn(this._enter||this._groups.map(c2),this._parents)}function u2(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}var UL=P(()=>{"use strict";qL();dc();o(WL,"default");o(u2,"EnterNode");u2.prototype={constructor:u2,appendChild:o(function(t){return this._parent.insertBefore(t,this._next)},"appendChild"),insertBefore:o(function(t,e){return this._parent.insertBefore(t,e)},"insertBefore"),querySelector:o(function(t){return this._parent.querySelector(t)},"querySelector"),querySelectorAll:o(function(t){return this._parent.querySelectorAll(t)},"querySelectorAll")}});function HL(t){return function(){return t}}var EQ=P(()=>{"use strict";o(HL,"default")});function y9e(t,e,r,i,n,a){for(var s=0,l,u=e.length,h=a.length;s=T&&(T=b+1);!(k=v[T])&&++T{"use strict";dc();UL();EQ();o(y9e,"bindIndex");o(v9e,"bindKey");o(x9e,"datum");o(YL,"default");o(b9e,"arraylike")});function jL(){return new Nn(this._exit||this._groups.map(c2),this._parents)}var AQ=P(()=>{"use strict";qL();dc();o(jL,"default")});function XL(t,e,r){var i=this.enter(),n=this,a=this.exit();return typeof t=="function"?(i=t(i),i&&(i=i.selection())):i=i.append(t+""),e!=null&&(n=e(n),n&&(n=n.selection())),r==null?a.remove():r(a),i&&n?i.merge(n).order():n}var _Q=P(()=>{"use strict";o(XL,"default")});function KL(t){for(var e=t.selection?t.selection():t,r=this._groups,i=e._groups,n=r.length,a=i.length,s=Math.min(n,a),l=new Array(n),u=0;u{"use strict";dc();o(KL,"default")});function QL(){for(var t=this._groups,e=-1,r=t.length;++e=0;)(s=i[n])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}var LQ=P(()=>{"use strict";o(QL,"default")});function ZL(t){t||(t=T9e);function e(d,p){return d&&p?t(d.__data__,p.__data__):!d-!p}o(e,"compareNode");for(var r=this._groups,i=r.length,n=new Array(i),a=0;ae?1:t>=e?0:NaN}var RQ=P(()=>{"use strict";dc();o(ZL,"default");o(T9e,"ascending")});function JL(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}var NQ=P(()=>{"use strict";o(JL,"default")});function eR(){return Array.from(this)}var IQ=P(()=>{"use strict";o(eR,"default")});function tR(){for(var t=this._groups,e=0,r=t.length;e{"use strict";o(tR,"default")});function rR(){let t=0;for(let e of this)++t;return t}var OQ=P(()=>{"use strict";o(rR,"default")});function iR(){return!this.node()}var PQ=P(()=>{"use strict";o(iR,"default")});function nR(t){for(var e=this._groups,r=0,i=e.length;r{"use strict";o(nR,"default")});function k9e(t){return function(){this.removeAttribute(t)}}function C9e(t){return function(){this.removeAttributeNS(t.space,t.local)}}function w9e(t,e){return function(){this.setAttribute(t,e)}}function E9e(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function S9e(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttribute(t):this.setAttribute(t,r)}}function A9e(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}function aR(t,e){var r=uu(t);if(arguments.length<2){var i=this.node();return r.local?i.getAttributeNS(r.space,r.local):i.getAttribute(r)}return this.each((e==null?r.local?C9e:k9e:typeof e=="function"?r.local?A9e:S9e:r.local?E9e:w9e)(r,e))}var FQ=P(()=>{"use strict";mw();o(k9e,"attrRemove");o(C9e,"attrRemoveNS");o(w9e,"attrConstant");o(E9e,"attrConstantNS");o(S9e,"attrFunction");o(A9e,"attrFunctionNS");o(aR,"default")});function h2(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}var sR=P(()=>{"use strict";o(h2,"default")});function _9e(t){return function(){this.style.removeProperty(t)}}function D9e(t,e,r){return function(){this.style.setProperty(t,e,r)}}function L9e(t,e,r){return function(){var i=e.apply(this,arguments);i==null?this.style.removeProperty(t):this.style.setProperty(t,i,r)}}function oR(t,e,r){return arguments.length>1?this.each((e==null?_9e:typeof e=="function"?L9e:D9e)(t,e,r??"")):Vf(this.node(),t)}function Vf(t,e){return t.style.getPropertyValue(e)||h2(t).getComputedStyle(t,null).getPropertyValue(e)}var lR=P(()=>{"use strict";sR();o(_9e,"styleRemove");o(D9e,"styleConstant");o(L9e,"styleFunction");o(oR,"default");o(Vf,"styleValue")});function R9e(t){return function(){delete this[t]}}function N9e(t,e){return function(){this[t]=e}}function I9e(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function cR(t,e){return arguments.length>1?this.each((e==null?R9e:typeof e=="function"?I9e:N9e)(t,e)):this.node()[t]}var $Q=P(()=>{"use strict";o(R9e,"propertyRemove");o(N9e,"propertyConstant");o(I9e,"propertyFunction");o(cR,"default")});function zQ(t){return t.trim().split(/^|\s+/)}function uR(t){return t.classList||new GQ(t)}function GQ(t){this._node=t,this._names=zQ(t.getAttribute("class")||"")}function VQ(t,e){for(var r=uR(t),i=-1,n=e.length;++i{"use strict";o(zQ,"classArray");o(uR,"classList");o(GQ,"ClassList");GQ.prototype={add:o(function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},"add"),remove:o(function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},"remove"),contains:o(function(t){return this._names.indexOf(t)>=0},"contains")};o(VQ,"classedAdd");o(qQ,"classedRemove");o(M9e,"classedTrue");o(O9e,"classedFalse");o(P9e,"classedFunction");o(hR,"default")});function B9e(){this.textContent=""}function F9e(t){return function(){this.textContent=t}}function $9e(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function fR(t){return arguments.length?this.each(t==null?B9e:(typeof t=="function"?$9e:F9e)(t)):this.node().textContent}var UQ=P(()=>{"use strict";o(B9e,"textRemove");o(F9e,"textConstant");o($9e,"textFunction");o(fR,"default")});function z9e(){this.innerHTML=""}function G9e(t){return function(){this.innerHTML=t}}function V9e(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function dR(t){return arguments.length?this.each(t==null?z9e:(typeof t=="function"?V9e:G9e)(t)):this.node().innerHTML}var HQ=P(()=>{"use strict";o(z9e,"htmlRemove");o(G9e,"htmlConstant");o(V9e,"htmlFunction");o(dR,"default")});function q9e(){this.nextSibling&&this.parentNode.appendChild(this)}function pR(){return this.each(q9e)}var YQ=P(()=>{"use strict";o(q9e,"raise");o(pR,"default")});function W9e(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function mR(){return this.each(W9e)}var jQ=P(()=>{"use strict";o(W9e,"lower");o(mR,"default")});function gR(t){var e=typeof t=="function"?t:o2(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}var XQ=P(()=>{"use strict";OL();o(gR,"default")});function U9e(){return null}function yR(t,e){var r=typeof t=="function"?t:o2(t),i=e==null?U9e:typeof e=="function"?e:Gf(e);return this.select(function(){return this.insertBefore(r.apply(this,arguments),i.apply(this,arguments)||null)})}var KQ=P(()=>{"use strict";OL();gw();o(U9e,"constantNull");o(yR,"default")});function H9e(){var t=this.parentNode;t&&t.removeChild(this)}function vR(){return this.each(H9e)}var QQ=P(()=>{"use strict";o(H9e,"remove");o(vR,"default")});function Y9e(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function j9e(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function xR(t){return this.select(t?j9e:Y9e)}var ZQ=P(()=>{"use strict";o(Y9e,"selection_cloneShallow");o(j9e,"selection_cloneDeep");o(xR,"default")});function bR(t){return arguments.length?this.property("__data__",t):this.node().__data__}var JQ=P(()=>{"use strict";o(bR,"default")});function X9e(t){return function(e){t.call(this,e,this.__data__)}}function K9e(t){return t.trim().split(/^|\s+/).map(function(e){var r="",i=e.indexOf(".");return i>=0&&(r=e.slice(i+1),e=e.slice(0,i)),{type:e,name:r}})}function Q9e(t){return function(){var e=this.__on;if(e){for(var r=0,i=-1,n=e.length,a;r{"use strict";o(X9e,"contextListener");o(K9e,"parseTypenames");o(Q9e,"onRemove");o(Z9e,"onAdd");o(TR,"default")});function tZ(t,e,r){var i=h2(t),n=i.CustomEvent;typeof n=="function"?n=new n(e,r):(n=i.document.createEvent("Event"),r?(n.initEvent(e,r.bubbles,r.cancelable),n.detail=r.detail):n.initEvent(e,!1,!1)),t.dispatchEvent(n)}function J9e(t,e){return function(){return tZ(this,t,e)}}function eNe(t,e){return function(){return tZ(this,t,e.apply(this,arguments))}}function kR(t,e){return this.each((typeof e=="function"?eNe:J9e)(t,e))}var rZ=P(()=>{"use strict";sR();o(tZ,"dispatchEvent");o(J9e,"dispatchConstant");o(eNe,"dispatchFunction");o(kR,"default")});function*CR(){for(var t=this._groups,e=0,r=t.length;e{"use strict";o(CR,"default")});function Nn(t,e){this._groups=t,this._parents=e}function nZ(){return new Nn([[document.documentElement]],wR)}function tNe(){return this}var wR,Eh,dc=P(()=>{"use strict";xQ();TQ();kQ();CQ();wQ();SQ();UL();AQ();_Q();DQ();LQ();RQ();NQ();IQ();MQ();OQ();PQ();BQ();FQ();lR();$Q();WQ();UQ();HQ();YQ();jQ();XQ();KQ();QQ();ZQ();JQ();eZ();rZ();iZ();wR=[null];o(Nn,"Selection");o(nZ,"selection");o(tNe,"selection_selection");Nn.prototype=nZ.prototype={constructor:Nn,select:PL,selectAll:$L,selectChild:zL,selectChildren:GL,filter:VL,data:YL,enter:WL,exit:jL,join:XL,merge:KL,selection:tNe,order:QL,sort:ZL,call:JL,nodes:eR,node:tR,size:rR,empty:iR,each:nR,attr:aR,style:oR,property:cR,classed:hR,text:fR,html:dR,raise:pR,lower:mR,append:gR,insert:yR,remove:vR,clone:xR,datum:bR,on:TR,dispatch:kR,[Symbol.iterator]:CR};Eh=nZ});function Ze(t){return typeof t=="string"?new Nn([[document.querySelector(t)]],[document.documentElement]):new Nn([[t]],wR)}var aZ=P(()=>{"use strict";dc();o(Ze,"default")});var pc=P(()=>{"use strict";l2();mw();aZ();dc();gw();FL();lR()});var sZ=P(()=>{"use strict"});function qf(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function Fg(t,e){var r=Object.create(t.prototype);for(var i in e)r[i]=e[i];return r}var ER=P(()=>{"use strict";o(qf,"default");o(Fg,"extend")});function Wf(){}function lZ(){return this.rgb().formatHex()}function cNe(){return this.rgb().formatHex8()}function uNe(){return mZ(this).formatHsl()}function cZ(){return this.rgb().formatRgb()}function gc(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=rNe.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?uZ(e):r===3?new Ua(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?vw(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?vw(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=iNe.exec(t))?new Ua(e[1],e[2],e[3],1):(e=nNe.exec(t))?new Ua(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=aNe.exec(t))?vw(e[1],e[2],e[3],e[4]):(e=sNe.exec(t))?vw(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=oNe.exec(t))?dZ(e[1],e[2]/100,e[3]/100,1):(e=lNe.exec(t))?dZ(e[1],e[2]/100,e[3]/100,e[4]):oZ.hasOwnProperty(t)?uZ(oZ[t]):t==="transparent"?new Ua(NaN,NaN,NaN,0):null}function uZ(t){return new Ua(t>>16&255,t>>8&255,t&255,1)}function vw(t,e,r,i){return i<=0&&(t=e=r=NaN),new Ua(t,e,r,i)}function AR(t){return t instanceof Wf||(t=gc(t)),t?(t=t.rgb(),new Ua(t.r,t.g,t.b,t.opacity)):new Ua}function zg(t,e,r,i){return arguments.length===1?AR(t):new Ua(t,e,r,i??1)}function Ua(t,e,r,i){this.r=+t,this.g=+e,this.b=+r,this.opacity=+i}function hZ(){return`#${e0(this.r)}${e0(this.g)}${e0(this.b)}`}function hNe(){return`#${e0(this.r)}${e0(this.g)}${e0(this.b)}${e0((isNaN(this.opacity)?1:this.opacity)*255)}`}function fZ(){let t=Tw(this.opacity);return`${t===1?"rgb(":"rgba("}${t0(this.r)}, ${t0(this.g)}, ${t0(this.b)}${t===1?")":`, ${t})`}`}function Tw(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function t0(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function e0(t){return t=t0(t),(t<16?"0":"")+t.toString(16)}function dZ(t,e,r,i){return i<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new mc(t,e,r,i)}function mZ(t){if(t instanceof mc)return new mc(t.h,t.s,t.l,t.opacity);if(t instanceof Wf||(t=gc(t)),!t)return new mc;if(t instanceof mc)return t;t=t.rgb();var e=t.r/255,r=t.g/255,i=t.b/255,n=Math.min(e,r,i),a=Math.max(e,r,i),s=NaN,l=a-n,u=(a+n)/2;return l?(e===a?s=(r-i)/l+(r0&&u<1?0:s,new mc(s,l,u,t.opacity)}function gZ(t,e,r,i){return arguments.length===1?mZ(t):new mc(t,e,r,i??1)}function mc(t,e,r,i){this.h=+t,this.s=+e,this.l=+r,this.opacity=+i}function pZ(t){return t=(t||0)%360,t<0?t+360:t}function xw(t){return Math.max(0,Math.min(1,t||0))}function SR(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}var f2,bw,$g,d2,hu,rNe,iNe,nNe,aNe,sNe,oNe,lNe,oZ,_R=P(()=>{"use strict";ER();o(Wf,"Color");f2=.7,bw=1/f2,$g="\\s*([+-]?\\d+)\\s*",d2="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",hu="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",rNe=/^#([0-9a-f]{3,8})$/,iNe=new RegExp(`^rgb\\(${$g},${$g},${$g}\\)$`),nNe=new RegExp(`^rgb\\(${hu},${hu},${hu}\\)$`),aNe=new RegExp(`^rgba\\(${$g},${$g},${$g},${d2}\\)$`),sNe=new RegExp(`^rgba\\(${hu},${hu},${hu},${d2}\\)$`),oNe=new RegExp(`^hsl\\(${d2},${hu},${hu}\\)$`),lNe=new RegExp(`^hsla\\(${d2},${hu},${hu},${d2}\\)$`),oZ={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};qf(Wf,gc,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:lZ,formatHex:lZ,formatHex8:cNe,formatHsl:uNe,formatRgb:cZ,toString:cZ});o(lZ,"color_formatHex");o(cNe,"color_formatHex8");o(uNe,"color_formatHsl");o(cZ,"color_formatRgb");o(gc,"color");o(uZ,"rgbn");o(vw,"rgba");o(AR,"rgbConvert");o(zg,"rgb");o(Ua,"Rgb");qf(Ua,zg,Fg(Wf,{brighter(t){return t=t==null?bw:Math.pow(bw,t),new Ua(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?f2:Math.pow(f2,t),new Ua(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Ua(t0(this.r),t0(this.g),t0(this.b),Tw(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:hZ,formatHex:hZ,formatHex8:hNe,formatRgb:fZ,toString:fZ}));o(hZ,"rgb_formatHex");o(hNe,"rgb_formatHex8");o(fZ,"rgb_formatRgb");o(Tw,"clampa");o(t0,"clampi");o(e0,"hex");o(dZ,"hsla");o(mZ,"hslConvert");o(gZ,"hsl");o(mc,"Hsl");qf(mc,gZ,Fg(Wf,{brighter(t){return t=t==null?bw:Math.pow(bw,t),new mc(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?f2:Math.pow(f2,t),new mc(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,i=r+(r<.5?r:1-r)*e,n=2*r-i;return new Ua(SR(t>=240?t-240:t+120,n,i),SR(t,n,i),SR(t<120?t+240:t-120,n,i),this.opacity)},clamp(){return new mc(pZ(this.h),xw(this.s),xw(this.l),Tw(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=Tw(this.opacity);return`${t===1?"hsl(":"hsla("}${pZ(this.h)}, ${xw(this.s)*100}%, ${xw(this.l)*100}%${t===1?")":`, ${t})`}`}}));o(pZ,"clamph");o(xw,"clampt");o(SR,"hsl2rgb")});var yZ,vZ,xZ=P(()=>{"use strict";yZ=Math.PI/180,vZ=180/Math.PI});function EZ(t){if(t instanceof fu)return new fu(t.l,t.a,t.b,t.opacity);if(t instanceof Sh)return SZ(t);t instanceof Ua||(t=AR(t));var e=NR(t.r),r=NR(t.g),i=NR(t.b),n=DR((.2225045*e+.7168786*r+.0606169*i)/TZ),a,s;return e===r&&r===i?a=s=n:(a=DR((.4360747*e+.3850649*r+.1430804*i)/bZ),s=DR((.0139322*e+.0971045*r+.7141733*i)/kZ)),new fu(116*n-16,500*(a-n),200*(n-s),t.opacity)}function IR(t,e,r,i){return arguments.length===1?EZ(t):new fu(t,e,r,i??1)}function fu(t,e,r,i){this.l=+t,this.a=+e,this.b=+r,this.opacity=+i}function DR(t){return t>fNe?Math.pow(t,1/3):t/wZ+CZ}function LR(t){return t>Gg?t*t*t:wZ*(t-CZ)}function RR(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function NR(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function dNe(t){if(t instanceof Sh)return new Sh(t.h,t.c,t.l,t.opacity);if(t instanceof fu||(t=EZ(t)),t.a===0&&t.b===0)return new Sh(NaN,0{"use strict";ER();_R();xZ();kw=18,bZ=.96422,TZ=1,kZ=.82521,CZ=4/29,Gg=6/29,wZ=3*Gg*Gg,fNe=Gg*Gg*Gg;o(EZ,"labConvert");o(IR,"lab");o(fu,"Lab");qf(fu,IR,Fg(Wf,{brighter(t){return new fu(this.l+kw*(t??1),this.a,this.b,this.opacity)},darker(t){return new fu(this.l-kw*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=bZ*LR(e),t=TZ*LR(t),r=kZ*LR(r),new Ua(RR(3.1338561*e-1.6168667*t-.4906146*r),RR(-.9787684*e+1.9161415*t+.033454*r),RR(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));o(DR,"xyz2lab");o(LR,"lab2xyz");o(RR,"lrgb2rgb");o(NR,"rgb2lrgb");o(dNe,"hclConvert");o(p2,"hcl");o(Sh,"Hcl");o(SZ,"hcl2lab");qf(Sh,p2,Fg(Wf,{brighter(t){return new Sh(this.h,this.c,this.l+kw*(t??1),this.opacity)},darker(t){return new Sh(this.h,this.c,this.l-kw*(t??1),this.opacity)},rgb(){return SZ(this).rgb()}}))});var Vg=P(()=>{"use strict";_R();AZ()});function MR(t,e,r,i,n){var a=t*t,s=a*t;return((1-3*t+3*a-s)*e+(4-6*a+3*s)*r+(1+3*t+3*a-3*s)*i+s*n)/6}function OR(t){var e=t.length-1;return function(r){var i=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),n=t[i],a=t[i+1],s=i>0?t[i-1]:2*n-a,l=i{"use strict";o(MR,"basis");o(OR,"default")});function BR(t){var e=t.length;return function(r){var i=Math.floor(((r%=1)<0?++r:r)*e),n=t[(i+e-1)%e],a=t[i%e],s=t[(i+1)%e],l=t[(i+2)%e];return MR((r-i/e)*e,n,a,s,l)}}var _Z=P(()=>{"use strict";PR();o(BR,"default")});var qg,FR=P(()=>{"use strict";qg=o(t=>()=>t,"default")});function DZ(t,e){return function(r){return t+r*e}}function pNe(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(i){return Math.pow(t+i*e,r)}}function LZ(t,e){var r=e-t;return r?DZ(t,r>180||r<-180?r-360*Math.round(r/360):r):qg(isNaN(t)?e:t)}function RZ(t){return(t=+t)==1?Ah:function(e,r){return r-e?pNe(e,r,t):qg(isNaN(e)?r:e)}}function Ah(t,e){var r=e-t;return r?DZ(t,r):qg(isNaN(t)?e:t)}var $R=P(()=>{"use strict";FR();o(DZ,"linear");o(pNe,"exponential");o(LZ,"hue");o(RZ,"gamma");o(Ah,"nogamma")});function NZ(t){return function(e){var r=e.length,i=new Array(r),n=new Array(r),a=new Array(r),s,l;for(s=0;s{"use strict";Vg();PR();_Z();$R();r0=o((function t(e){var r=RZ(e);function i(n,a){var s=r((n=zg(n)).r,(a=zg(a)).r),l=r(n.g,a.g),u=r(n.b,a.b),h=Ah(n.opacity,a.opacity);return function(f){return n.r=s(f),n.g=l(f),n.b=u(f),n.opacity=h(f),n+""}}return o(i,"rgb"),i.gamma=t,i}),"rgbGamma")(1);o(NZ,"rgbSpline");mNe=NZ(OR),gNe=NZ(BR)});function GR(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,i=e.slice(),n;return function(a){for(n=0;n{"use strict";o(GR,"default");o(IZ,"isNumberArray")});function OZ(t,e){var r=e?e.length:0,i=t?Math.min(r,t.length):0,n=new Array(i),a=new Array(r),s;for(s=0;s{"use strict";Cw();o(OZ,"genericArray")});function VR(t,e){var r=new Date;return t=+t,e=+e,function(i){return r.setTime(t*(1-i)+e*i),r}}var BZ=P(()=>{"use strict";o(VR,"default")});function Ea(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}var m2=P(()=>{"use strict";o(Ea,"default")});function qR(t,e){var r={},i={},n;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(n in e)n in t?r[n]=Uf(t[n],e[n]):i[n]=e[n];return function(a){for(n in r)i[n]=r[n](a);return i}}var FZ=P(()=>{"use strict";Cw();o(qR,"default")});function yNe(t){return function(){return t}}function vNe(t){return function(e){return t(e)+""}}function Wg(t,e){var r=UR.lastIndex=WR.lastIndex=0,i,n,a,s=-1,l=[],u=[];for(t=t+"",e=e+"";(i=UR.exec(t))&&(n=WR.exec(e));)(a=n.index)>r&&(a=e.slice(r,a),l[s]?l[s]+=a:l[++s]=a),(i=i[0])===(n=n[0])?l[s]?l[s]+=n:l[++s]=n:(l[++s]=null,u.push({i:s,x:Ea(i,n)})),r=WR.lastIndex;return r{"use strict";m2();UR=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,WR=new RegExp(UR.source,"g");o(yNe,"zero");o(vNe,"one");o(Wg,"default")});function Uf(t,e){var r=typeof e,i;return e==null||r==="boolean"?qg(e):(r==="number"?Ea:r==="string"?(i=gc(e))?(e=i,r0):Wg:e instanceof gc?r0:e instanceof Date?VR:IZ(e)?GR:Array.isArray(e)?OZ:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?qR:Ea)(t,e)}var Cw=P(()=>{"use strict";Vg();zR();PZ();BZ();m2();FZ();HR();FR();MZ();o(Uf,"default")});function ww(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}var $Z=P(()=>{"use strict";o(ww,"default")});function Sw(t,e,r,i,n,a){var s,l,u;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(u=t*r+e*i)&&(r-=t*u,i-=e*u),(l=Math.sqrt(r*r+i*i))&&(r/=l,i/=l,u/=l),t*i{"use strict";zZ=180/Math.PI,Ew={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};o(Sw,"default")});function VZ(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?Ew:Sw(e.a,e.b,e.c,e.d,e.e,e.f)}function qZ(t){return t==null?Ew:(Aw||(Aw=document.createElementNS("http://www.w3.org/2000/svg","g")),Aw.setAttribute("transform",t),(t=Aw.transform.baseVal.consolidate())?(t=t.matrix,Sw(t.a,t.b,t.c,t.d,t.e,t.f)):Ew)}var Aw,WZ=P(()=>{"use strict";GZ();o(VZ,"parseCss");o(qZ,"parseSvg")});function UZ(t,e,r,i){function n(h){return h.length?h.pop()+" ":""}o(n,"pop");function a(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push("translate(",null,e,null,r);g.push({i:y-4,x:Ea(h,d)},{i:y-2,x:Ea(f,p)})}else(d||p)&&m.push("translate("+d+e+p+r)}o(a,"translate");function s(h,f,d,p){h!==f?(h-f>180?f+=360:f-h>180&&(h+=360),p.push({i:d.push(n(d)+"rotate(",null,i)-2,x:Ea(h,f)})):f&&d.push(n(d)+"rotate("+f+i)}o(s,"rotate");function l(h,f,d,p){h!==f?p.push({i:d.push(n(d)+"skewX(",null,i)-2,x:Ea(h,f)}):f&&d.push(n(d)+"skewX("+f+i)}o(l,"skewX");function u(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push(n(m)+"scale(",null,",",null,")");g.push({i:y-4,x:Ea(h,d)},{i:y-2,x:Ea(f,p)})}else(d!==1||p!==1)&&m.push(n(m)+"scale("+d+","+p+")")}return o(u,"scale"),function(h,f){var d=[],p=[];return h=t(h),f=t(f),a(h.translateX,h.translateY,f.translateX,f.translateY,d,p),s(h.rotate,f.rotate,d,p),l(h.skewX,f.skewX,d,p),u(h.scaleX,h.scaleY,f.scaleX,f.scaleY,d,p),h=f=null,function(m){for(var g=-1,y=p.length,v;++g{"use strict";m2();WZ();o(UZ,"interpolateTransform");YR=UZ(VZ,"px, ","px)","deg)"),jR=UZ(qZ,", ",")",")")});function YZ(t){return function(e,r){var i=t((e=p2(e)).h,(r=p2(r)).h),n=Ah(e.c,r.c),a=Ah(e.l,r.l),s=Ah(e.opacity,r.opacity);return function(l){return e.h=i(l),e.c=n(l),e.l=a(l),e.opacity=s(l),e+""}}}var XR,xNe,jZ=P(()=>{"use strict";Vg();$R();o(YZ,"hcl");XR=YZ(LZ),xNe=YZ(Ah)});var Ug=P(()=>{"use strict";Cw();m2();$Z();HR();HZ();zR();jZ()});function T2(){return i0||(QZ(bNe),i0=x2.now()+Lw)}function bNe(){i0=0}function b2(){this._call=this._time=this._next=null}function Rw(t,e,r){var i=new b2;return i.restart(t,e,r),i}function ZZ(){T2(),++Hg;for(var t=_w,e;t;)(e=i0-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Hg}function XZ(){i0=(Dw=x2.now())+Lw,Hg=y2=0;try{ZZ()}finally{Hg=0,kNe(),i0=0}}function TNe(){var t=x2.now(),e=t-Dw;e>KZ&&(Lw-=e,Dw=t)}function kNe(){for(var t,e=_w,r,i=1/0;e;)e._call?(i>e._time&&(i=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:_w=r);v2=t,KR(i)}function KR(t){if(!Hg){y2&&(y2=clearTimeout(y2));var e=t-i0;e>24?(t<1/0&&(y2=setTimeout(XZ,t-x2.now()-Lw)),g2&&(g2=clearInterval(g2))):(g2||(Dw=x2.now(),g2=setInterval(TNe,KZ)),Hg=1,QZ(XZ))}}var Hg,y2,g2,KZ,_w,v2,Dw,i0,Lw,x2,QZ,QR=P(()=>{"use strict";Hg=0,y2=0,g2=0,KZ=1e3,Dw=0,i0=0,Lw=0,x2=typeof performance=="object"&&performance.now?performance:Date,QZ=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};o(T2,"now");o(bNe,"clearNow");o(b2,"Timer");b2.prototype=Rw.prototype={constructor:b2,restart:o(function(t,e,r){if(typeof t!="function")throw new TypeError("callback is not a function");r=(r==null?T2():+r)+(e==null?0:+e),!this._next&&v2!==this&&(v2?v2._next=this:_w=this,v2=this),this._call=t,this._time=r,KR()},"restart"),stop:o(function(){this._call&&(this._call=null,this._time=1/0,KR())},"stop")};o(Rw,"timer");o(ZZ,"timerFlush");o(XZ,"wake");o(TNe,"poke");o(kNe,"nap");o(KR,"sleep")});function k2(t,e,r){var i=new b2;return e=e==null?0:+e,i.restart(n=>{i.stop(),t(n+e)},e,r),i}var JZ=P(()=>{"use strict";QR();o(k2,"default")});var Nw=P(()=>{"use strict";QR();JZ()});function _h(t,e,r,i,n,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;ENe(t,r,{name:e,index:i,group:n,on:CNe,tween:wNe,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:rJ})}function w2(t,e){var r=ua(t,e);if(r.state>rJ)throw new Error("too late; already scheduled");return r}function Ha(t,e){var r=ua(t,e);if(r.state>Iw)throw new Error("too late; already running");return r}function ua(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function ENe(t,e,r){var i=t.__transition,n;i[e]=r,r.timer=Rw(a,0,r.time);function a(h){r.state=eJ,r.timer.restart(s,r.delay,r.time),r.delay<=h&&s(h-r.delay)}o(a,"schedule");function s(h){var f,d,p,m;if(r.state!==eJ)return u();for(f in i)if(m=i[f],m.name===r.name){if(m.state===Iw)return k2(s);m.state===tJ?(m.state=C2,m.timer.stop(),m.on.call("interrupt",t,t.__data__,m.index,m.group),delete i[f]):+f{"use strict";NL();Nw();CNe=RL("start","end","cancel","interrupt"),wNe=[],rJ=0,eJ=1,Mw=2,Iw=3,tJ=4,Ow=5,C2=6;o(_h,"default");o(w2,"init");o(Ha,"set");o(ua,"get");o(ENe,"create")});function E2(t,e){var r=t.__transition,i,n,a=!0,s;if(r){e=e==null?null:e+"";for(s in r){if((i=r[s]).name!==e){a=!1;continue}n=i.state>Mw&&i.state{"use strict";po();o(E2,"default")});function ZR(t){return this.each(function(){E2(this,t)})}var nJ=P(()=>{"use strict";iJ();o(ZR,"default")});function SNe(t,e){var r,i;return function(){var n=Ha(this,t),a=n.tween;if(a!==r){i=r=a;for(var s=0,l=i.length;s{"use strict";po();o(SNe,"tweenRemove");o(ANe,"tweenFunction");o(JR,"default");o(Yg,"tweenValue")});function A2(t,e){var r;return(typeof e=="number"?Ea:e instanceof gc?r0:(r=gc(e))?(e=r,r0):Wg)(t,e)}var e9=P(()=>{"use strict";Vg();Ug();o(A2,"default")});function _Ne(t){return function(){this.removeAttribute(t)}}function DNe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function LNe(t,e,r){var i,n=r+"",a;return function(){var s=this.getAttribute(t);return s===n?null:s===i?a:a=e(i=s,r)}}function RNe(t,e,r){var i,n=r+"",a;return function(){var s=this.getAttributeNS(t.space,t.local);return s===n?null:s===i?a:a=e(i=s,r)}}function NNe(t,e,r){var i,n,a;return function(){var s,l=r(this),u;return l==null?void this.removeAttribute(t):(s=this.getAttribute(t),u=l+"",s===u?null:s===i&&u===n?a:(n=u,a=e(i=s,l)))}}function INe(t,e,r){var i,n,a;return function(){var s,l=r(this),u;return l==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),u=l+"",s===u?null:s===i&&u===n?a:(n=u,a=e(i=s,l)))}}function t9(t,e){var r=uu(t),i=r==="transform"?jR:A2;return this.attrTween(t,typeof e=="function"?(r.local?INe:NNe)(r,i,Yg(this,"attr."+t,e)):e==null?(r.local?DNe:_Ne)(r):(r.local?RNe:LNe)(r,i,e))}var aJ=P(()=>{"use strict";Ug();pc();S2();e9();o(_Ne,"attrRemove");o(DNe,"attrRemoveNS");o(LNe,"attrConstant");o(RNe,"attrConstantNS");o(NNe,"attrFunction");o(INe,"attrFunctionNS");o(t9,"default")});function MNe(t,e){return function(r){this.setAttribute(t,e.call(this,r))}}function ONe(t,e){return function(r){this.setAttributeNS(t.space,t.local,e.call(this,r))}}function PNe(t,e){var r,i;function n(){var a=e.apply(this,arguments);return a!==i&&(r=(i=a)&&ONe(t,a)),r}return o(n,"tween"),n._value=e,n}function BNe(t,e){var r,i;function n(){var a=e.apply(this,arguments);return a!==i&&(r=(i=a)&&MNe(t,a)),r}return o(n,"tween"),n._value=e,n}function r9(t,e){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;var i=uu(t);return this.tween(r,(i.local?PNe:BNe)(i,e))}var sJ=P(()=>{"use strict";pc();o(MNe,"attrInterpolate");o(ONe,"attrInterpolateNS");o(PNe,"attrTweenNS");o(BNe,"attrTween");o(r9,"default")});function FNe(t,e){return function(){w2(this,t).delay=+e.apply(this,arguments)}}function $Ne(t,e){return e=+e,function(){w2(this,t).delay=e}}function i9(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?FNe:$Ne)(e,t)):ua(this.node(),e).delay}var oJ=P(()=>{"use strict";po();o(FNe,"delayFunction");o($Ne,"delayConstant");o(i9,"default")});function zNe(t,e){return function(){Ha(this,t).duration=+e.apply(this,arguments)}}function GNe(t,e){return e=+e,function(){Ha(this,t).duration=e}}function n9(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?zNe:GNe)(e,t)):ua(this.node(),e).duration}var lJ=P(()=>{"use strict";po();o(zNe,"durationFunction");o(GNe,"durationConstant");o(n9,"default")});function VNe(t,e){if(typeof e!="function")throw new Error;return function(){Ha(this,t).ease=e}}function a9(t){var e=this._id;return arguments.length?this.each(VNe(e,t)):ua(this.node(),e).ease}var cJ=P(()=>{"use strict";po();o(VNe,"easeConstant");o(a9,"default")});function qNe(t,e){return function(){var r=e.apply(this,arguments);if(typeof r!="function")throw new Error;Ha(this,t).ease=r}}function s9(t){if(typeof t!="function")throw new Error;return this.each(qNe(this._id,t))}var uJ=P(()=>{"use strict";po();o(qNe,"easeVarying");o(s9,"default")});function o9(t){typeof t!="function"&&(t=Bg(t));for(var e=this._groups,r=e.length,i=new Array(r),n=0;n{"use strict";pc();n0();o(o9,"default")});function l9(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,r=t._groups,i=e.length,n=r.length,a=Math.min(i,n),s=new Array(i),l=0;l{"use strict";n0();o(l9,"default")});function WNe(t){return(t+"").trim().split(/^|\s+/).every(function(e){var r=e.indexOf(".");return r>=0&&(e=e.slice(0,r)),!e||e==="start"})}function UNe(t,e,r){var i,n,a=WNe(e)?w2:Ha;return function(){var s=a(this,t),l=s.on;l!==i&&(n=(i=l).copy()).on(e,r),s.on=n}}function c9(t,e){var r=this._id;return arguments.length<2?ua(this.node(),r).on.on(t):this.each(UNe(r,t,e))}var dJ=P(()=>{"use strict";po();o(WNe,"start");o(UNe,"onFunction");o(c9,"default")});function HNe(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function u9(){return this.on("end.remove",HNe(this._id))}var pJ=P(()=>{"use strict";o(HNe,"removeFunction");o(u9,"default")});function h9(t){var e=this._name,r=this._id;typeof t!="function"&&(t=Gf(t));for(var i=this._groups,n=i.length,a=new Array(n),s=0;s{"use strict";pc();n0();po();o(h9,"default")});function f9(t){var e=this._name,r=this._id;typeof t!="function"&&(t=Pg(t));for(var i=this._groups,n=i.length,a=[],s=[],l=0;l{"use strict";pc();n0();po();o(f9,"default")});function d9(){return new YNe(this._groups,this._parents)}var YNe,yJ=P(()=>{"use strict";pc();YNe=Eh.prototype.constructor;o(d9,"default")});function jNe(t,e){var r,i,n;return function(){var a=Vf(this,t),s=(this.style.removeProperty(t),Vf(this,t));return a===s?null:a===r&&s===i?n:n=e(r=a,i=s)}}function vJ(t){return function(){this.style.removeProperty(t)}}function XNe(t,e,r){var i,n=r+"",a;return function(){var s=Vf(this,t);return s===n?null:s===i?a:a=e(i=s,r)}}function KNe(t,e,r){var i,n,a;return function(){var s=Vf(this,t),l=r(this),u=l+"";return l==null&&(u=l=(this.style.removeProperty(t),Vf(this,t))),s===u?null:s===i&&u===n?a:(n=u,a=e(i=s,l))}}function QNe(t,e){var r,i,n,a="style."+e,s="end."+a,l;return function(){var u=Ha(this,t),h=u.on,f=u.value[a]==null?l||(l=vJ(e)):void 0;(h!==r||n!==f)&&(i=(r=h).copy()).on(s,n=f),u.on=i}}function p9(t,e,r){var i=(t+="")=="transform"?YR:A2;return e==null?this.styleTween(t,jNe(t,i)).on("end.style."+t,vJ(t)):typeof e=="function"?this.styleTween(t,KNe(t,i,Yg(this,"style."+t,e))).each(QNe(this._id,t)):this.styleTween(t,XNe(t,i,e),r).on("end.style."+t,null)}var xJ=P(()=>{"use strict";Ug();pc();po();S2();e9();o(jNe,"styleNull");o(vJ,"styleRemove");o(XNe,"styleConstant");o(KNe,"styleFunction");o(QNe,"styleMaybeRemove");o(p9,"default")});function ZNe(t,e,r){return function(i){this.style.setProperty(t,e.call(this,i),r)}}function JNe(t,e,r){var i,n;function a(){var s=e.apply(this,arguments);return s!==n&&(i=(n=s)&&ZNe(t,s,r)),i}return o(a,"tween"),a._value=e,a}function m9(t,e,r){var i="style."+(t+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(e==null)return this.tween(i,null);if(typeof e!="function")throw new Error;return this.tween(i,JNe(t,e,r??""))}var bJ=P(()=>{"use strict";o(ZNe,"styleInterpolate");o(JNe,"styleTween");o(m9,"default")});function eIe(t){return function(){this.textContent=t}}function tIe(t){return function(){var e=t(this);this.textContent=e??""}}function g9(t){return this.tween("text",typeof t=="function"?tIe(Yg(this,"text",t)):eIe(t==null?"":t+""))}var TJ=P(()=>{"use strict";S2();o(eIe,"textConstant");o(tIe,"textFunction");o(g9,"default")});function rIe(t){return function(e){this.textContent=t.call(this,e)}}function iIe(t){var e,r;function i(){var n=t.apply(this,arguments);return n!==r&&(e=(r=n)&&rIe(n)),e}return o(i,"tween"),i._value=t,i}function y9(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,iIe(t))}var kJ=P(()=>{"use strict";o(rIe,"textInterpolate");o(iIe,"textTween");o(y9,"default")});function v9(){for(var t=this._name,e=this._id,r=Pw(),i=this._groups,n=i.length,a=0;a{"use strict";n0();po();o(v9,"default")});function x9(){var t,e,r=this,i=r._id,n=r.size();return new Promise(function(a,s){var l={value:s},u={value:o(function(){--n===0&&a()},"value")};r.each(function(){var h=Ha(this,i),f=h.on;f!==t&&(e=(t=f).copy(),e._.cancel.push(l),e._.interrupt.push(l),e._.end.push(u)),h.on=e}),n===0&&a()})}var wJ=P(()=>{"use strict";po();o(x9,"default")});function Fs(t,e,r,i){this._groups=t,this._parents=e,this._name=r,this._id=i}function EJ(t){return Eh().transition(t)}function Pw(){return++nIe}var nIe,Dh,n0=P(()=>{"use strict";pc();aJ();sJ();oJ();lJ();cJ();uJ();hJ();fJ();dJ();pJ();mJ();gJ();yJ();xJ();bJ();TJ();kJ();CJ();S2();wJ();nIe=0;o(Fs,"Transition");o(EJ,"transition");o(Pw,"newId");Dh=Eh.prototype;Fs.prototype=EJ.prototype={constructor:Fs,select:h9,selectAll:f9,selectChild:Dh.selectChild,selectChildren:Dh.selectChildren,filter:o9,merge:l9,selection:d9,transition:v9,call:Dh.call,nodes:Dh.nodes,node:Dh.node,size:Dh.size,empty:Dh.empty,each:Dh.each,on:c9,attr:t9,attrTween:r9,style:p9,styleTween:m9,text:g9,textTween:y9,remove:u9,tween:JR,delay:i9,duration:n9,ease:a9,easeVarying:s9,end:x9,[Symbol.iterator]:Dh[Symbol.iterator]}});function Bw(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var SJ=P(()=>{"use strict";o(Bw,"cubicInOut")});var b9=P(()=>{"use strict";SJ()});function sIe(t,e){for(var r;!(r=t.__transition)||!(r=r[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return r}function T9(t){var e,r;t instanceof Fs?(e=t._id,t=t._name):(e=Pw(),(r=aIe).time=T2(),t=t==null?null:t+"");for(var i=this._groups,n=i.length,a=0;a{"use strict";n0();po();b9();Nw();aIe={time:null,delay:0,duration:250,ease:Bw};o(sIe,"inherit");o(T9,"default")});var _J=P(()=>{"use strict";pc();nJ();AJ();Eh.prototype.interrupt=ZR;Eh.prototype.transition=T9});var Fw=P(()=>{"use strict";_J()});var DJ=P(()=>{"use strict"});var LJ=P(()=>{"use strict"});var RJ=P(()=>{"use strict"});function NJ(t){return[+t[0],+t[1]]}function oIe(t){return[NJ(t[0]),NJ(t[1])]}function k9(t){return{type:t}}var O6t,P6t,B6t,F6t,$6t,z6t,IJ=P(()=>{"use strict";Fw();DJ();LJ();RJ();({abs:O6t,max:P6t,min:B6t}=Math);o(NJ,"number1");o(oIe,"number2");F6t={name:"x",handles:["w","e"].map(k9),input:o(function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},"input"),output:o(function(t){return t&&[t[0][0],t[1][0]]},"output")},$6t={name:"y",handles:["n","s"].map(k9),input:o(function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},"input"),output:o(function(t){return t&&[t[0][1],t[1][1]]},"output")},z6t={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(k9),input:o(function(t){return t==null?null:oIe(t)},"input"),output:o(function(t){return t},"output")};o(k9,"type")});var MJ=P(()=>{"use strict";IJ()});function OJ(t){this._+=t[0];for(let e=1,r=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return OJ;let r=10**e;return function(i){this._+=i[0];for(let n=1,a=i.length;n{"use strict";C9=Math.PI,w9=2*C9,a0=1e-6,lIe=w9-a0;o(OJ,"append");o(cIe,"appendRound");s0=class{static{o(this,"Path")}constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?OJ:cIe(e)}moveTo(e,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,r){this._append`L${this._x1=+e},${this._y1=+r}`}quadraticCurveTo(e,r,i,n){this._append`Q${+e},${+r},${this._x1=+i},${this._y1=+n}`}bezierCurveTo(e,r,i,n,a,s){this._append`C${+e},${+r},${+i},${+n},${this._x1=+a},${this._y1=+s}`}arcTo(e,r,i,n,a){if(e=+e,r=+r,i=+i,n=+n,a=+a,a<0)throw new Error(`negative radius: ${a}`);let s=this._x1,l=this._y1,u=i-e,h=n-r,f=s-e,d=l-r,p=f*f+d*d;if(this._x1===null)this._append`M${this._x1=e},${this._y1=r}`;else if(p>a0)if(!(Math.abs(d*u-h*f)>a0)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let m=i-s,g=n-l,y=u*u+h*h,v=m*m+g*g,x=Math.sqrt(y),b=Math.sqrt(p),T=a*Math.tan((C9-Math.acos((y+p-v)/(2*x*b)))/2),w=T/b,k=T/x;Math.abs(w-1)>a0&&this._append`L${e+w*f},${r+w*d}`,this._append`A${a},${a},0,0,${+(d*m>f*g)},${this._x1=e+k*u},${this._y1=r+k*h}`}}arc(e,r,i,n,a,s){if(e=+e,r=+r,i=+i,s=!!s,i<0)throw new Error(`negative radius: ${i}`);let l=i*Math.cos(n),u=i*Math.sin(n),h=e+l,f=r+u,d=1^s,p=s?n-a:a-n;this._x1===null?this._append`M${h},${f}`:(Math.abs(this._x1-h)>a0||Math.abs(this._y1-f)>a0)&&this._append`L${h},${f}`,i&&(p<0&&(p=p%w9+w9),p>lIe?this._append`A${i},${i},0,1,${d},${e-l},${r-u}A${i},${i},0,1,${d},${this._x1=h},${this._y1=f}`:p>a0&&this._append`A${i},${i},0,${+(p>=C9)},${d},${this._x1=e+i*Math.cos(a)},${this._y1=r+i*Math.sin(a)}`)}rect(e,r,i,n){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${i=+i}v${+n}h${-i}Z`}toString(){return this._}};o(PJ,"path");PJ.prototype=s0.prototype});var E9=P(()=>{"use strict";BJ()});var FJ=P(()=>{"use strict"});var $J=P(()=>{"use strict"});var zJ=P(()=>{"use strict"});var GJ=P(()=>{"use strict"});var VJ=P(()=>{"use strict"});var qJ=P(()=>{"use strict"});var WJ=P(()=>{"use strict"});function S9(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function o0(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var r,i=t.slice(0,r);return[i.length>1?i[0]+i.slice(2):i,+t.slice(r+1)]}var _2=P(()=>{"use strict";o(S9,"default");o(o0,"formatDecimalParts")});function yc(t){return t=o0(Math.abs(t)),t?t[1]:NaN}var D2=P(()=>{"use strict";_2();o(yc,"default")});function A9(t,e){return function(r,i){for(var n=r.length,a=[],s=0,l=t[0],u=0;n>0&&l>0&&(u+l+1>i&&(l=Math.max(1,i-u)),a.push(r.substring(n-=l,n+l)),!((u+=l+1)>i));)l=t[s=(s+1)%t.length];return a.reverse().join(e)}}var UJ=P(()=>{"use strict";o(A9,"default")});function _9(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var HJ=P(()=>{"use strict";o(_9,"default")});function Hf(t){if(!(e=uIe.exec(t)))throw new Error("invalid format: "+t);var e;return new $w({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function $w(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}var uIe,D9=P(()=>{"use strict";uIe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;o(Hf,"formatSpecifier");Hf.prototype=$w.prototype;o($w,"FormatSpecifier");$w.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type}});function L9(t){e:for(var e=t.length,r=1,i=-1,n;r0&&(i=0);break}return i>0?t.slice(0,i)+t.slice(n+1):t}var YJ=P(()=>{"use strict";o(L9,"default")});function N9(t,e){var r=o0(t,e);if(!r)return t+"";var i=r[0],n=r[1],a=n-(R9=Math.max(-8,Math.min(8,Math.floor(n/3)))*3)+1,s=i.length;return a===s?i:a>s?i+new Array(a-s+1).join("0"):a>0?i.slice(0,a)+"."+i.slice(a):"0."+new Array(1-a).join("0")+o0(t,Math.max(0,e+a-1))[0]}var R9,I9=P(()=>{"use strict";_2();o(N9,"default")});function zw(t,e){var r=o0(t,e);if(!r)return t+"";var i=r[0],n=r[1];return n<0?"0."+new Array(-n).join("0")+i:i.length>n+1?i.slice(0,n+1)+"."+i.slice(n+1):i+new Array(n-i.length+2).join("0")}var jJ=P(()=>{"use strict";_2();o(zw,"default")});var M9,XJ=P(()=>{"use strict";_2();I9();jJ();M9={"%":o((t,e)=>(t*100).toFixed(e),"%"),b:o(t=>Math.round(t).toString(2),"b"),c:o(t=>t+"","c"),d:S9,e:o((t,e)=>t.toExponential(e),"e"),f:o((t,e)=>t.toFixed(e),"f"),g:o((t,e)=>t.toPrecision(e),"g"),o:o(t=>Math.round(t).toString(8),"o"),p:o((t,e)=>zw(t*100,e),"p"),r:zw,s:N9,X:o(t=>Math.round(t).toString(16).toUpperCase(),"X"),x:o(t=>Math.round(t).toString(16),"x")}});function Gw(t){return t}var KJ=P(()=>{"use strict";o(Gw,"default")});function O9(t){var e=t.grouping===void 0||t.thousands===void 0?Gw:A9(QJ.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",i=t.currency===void 0?"":t.currency[1]+"",n=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?Gw:_9(QJ.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"\u2212":t.minus+"",u=t.nan===void 0?"NaN":t.nan+"";function h(d){d=Hf(d);var p=d.fill,m=d.align,g=d.sign,y=d.symbol,v=d.zero,x=d.width,b=d.comma,T=d.precision,w=d.trim,k=d.type;k==="n"?(b=!0,k="g"):M9[k]||(T===void 0&&(T=12),w=!0,k="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var C=y==="$"?r:y==="#"&&/[boxX]/.test(k)?"0"+k.toLowerCase():"",E=y==="$"?i:/[%p]/.test(k)?s:"",S=M9[k],L=/[defgprs%]/.test(k);T=T===void 0?6:/[gprs]/.test(k)?Math.max(1,Math.min(21,T)):Math.max(0,Math.min(20,T));function M(I){var A=C,_=E,D,N,R;if(k==="c")_=S(I)+_,I="";else{I=+I;var B=I<0||1/I<0;if(I=isNaN(I)?u:S(Math.abs(I),T),w&&(I=L9(I)),B&&+I==0&&g!=="+"&&(B=!1),A=(B?g==="("?g:l:g==="-"||g==="("?"":g)+A,_=(k==="s"?ZJ[8+R9/3]:"")+_+(B&&g==="("?")":""),L){for(D=-1,N=I.length;++DR||R>57){_=(R===46?n+I.slice(D+1):I.slice(D))+_,I=I.slice(0,D);break}}}b&&!v&&(I=e(I,1/0));var O=A.length+I.length+_.length,$=O>1)+A+I+_+$.slice(O);break;default:I=$+A+I+_;break}return a(I)}return o(M,"format"),M.toString=function(){return d+""},M}o(h,"newFormat");function f(d,p){var m=h((d=Hf(d),d.type="f",d)),g=Math.max(-8,Math.min(8,Math.floor(yc(p)/3)))*3,y=Math.pow(10,-g),v=ZJ[8+g/3];return function(x){return m(y*x)+v}}return o(f,"formatPrefix"),{format:h,formatPrefix:f}}var QJ,ZJ,JJ=P(()=>{"use strict";D2();UJ();HJ();D9();YJ();XJ();I9();KJ();QJ=Array.prototype.map,ZJ=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];o(O9,"default")});function P9(t){return Vw=O9(t),du=Vw.format,qw=Vw.formatPrefix,Vw}var Vw,du,qw,eee=P(()=>{"use strict";JJ();P9({thousands:",",grouping:[3],currency:["$",""]});o(P9,"defaultLocale")});function Ww(t){return Math.max(0,-yc(Math.abs(t)))}var tee=P(()=>{"use strict";D2();o(Ww,"default")});function Uw(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(yc(e)/3)))*3-yc(Math.abs(t)))}var ree=P(()=>{"use strict";D2();o(Uw,"default")});function Hw(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,yc(e)-yc(t))+1}var iee=P(()=>{"use strict";D2();o(Hw,"default")});var B9=P(()=>{"use strict";eee();D9();tee();ree();iee()});var nee=P(()=>{"use strict"});function hIe(t){var e=0,r=t.children,i=r&&r.length;if(!i)e=1;else for(;--i>=0;)e+=r[i].value;t.value=e}function F9(){return this.eachAfter(hIe)}var aee=P(()=>{"use strict";o(hIe,"count");o(F9,"default")});function $9(t,e){let r=-1;for(let i of this)t.call(e,i,++r,this);return this}var see=P(()=>{"use strict";o($9,"default")});function z9(t,e){for(var r=this,i=[r],n,a,s=-1;r=i.pop();)if(t.call(e,r,++s,this),n=r.children)for(a=n.length-1;a>=0;--a)i.push(n[a]);return this}var oee=P(()=>{"use strict";o(z9,"default")});function G9(t,e){for(var r=this,i=[r],n=[],a,s,l,u=-1;r=i.pop();)if(n.push(r),a=r.children)for(s=0,l=a.length;s{"use strict";o(G9,"default")});function V9(t,e){let r=-1;for(let i of this)if(t.call(e,i,++r,this))return i}var cee=P(()=>{"use strict";o(V9,"default")});function q9(t){return this.eachAfter(function(e){for(var r=+t(e.data)||0,i=e.children,n=i&&i.length;--n>=0;)r+=i[n].value;e.value=r})}var uee=P(()=>{"use strict";o(q9,"default")});function W9(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}var hee=P(()=>{"use strict";o(W9,"default")});function U9(t){for(var e=this,r=fIe(e,t),i=[e];e!==r;)e=e.parent,i.push(e);for(var n=i.length;t!==r;)i.splice(n,0,t),t=t.parent;return i}function fIe(t,e){if(t===e)return t;var r=t.ancestors(),i=e.ancestors(),n=null;for(t=r.pop(),e=i.pop();t===e;)n=t,t=r.pop(),e=i.pop();return n}var fee=P(()=>{"use strict";o(U9,"default");o(fIe,"leastCommonAncestor")});function H9(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}var dee=P(()=>{"use strict";o(H9,"default")});function Y9(){return Array.from(this)}var pee=P(()=>{"use strict";o(Y9,"default")});function j9(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}var mee=P(()=>{"use strict";o(j9,"default")});function X9(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}var gee=P(()=>{"use strict";o(X9,"default")});function*K9(){var t=this,e,r=[t],i,n,a;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,i=t.children)for(n=0,a=i.length;n{"use strict";o(K9,"default")});function jg(t,e){t instanceof Map?(t=[void 0,t],e===void 0&&(e=mIe)):e===void 0&&(e=pIe);for(var r=new L2(t),i,n=[r],a,s,l,u;i=n.pop();)if((s=e(i.data))&&(u=(s=Array.from(s)).length))for(i.children=s,l=u-1;l>=0;--l)n.push(a=s[l]=new L2(s[l])),a.parent=i,a.depth=i.depth+1;return r.eachBefore(yIe)}function dIe(){return jg(this).eachBefore(gIe)}function pIe(t){return t.children}function mIe(t){return Array.isArray(t)?t[1]:null}function gIe(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function yIe(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function L2(t){this.data=t,this.depth=this.height=0,this.parent=null}var vee=P(()=>{"use strict";aee();see();oee();lee();cee();uee();hee();fee();dee();pee();mee();gee();yee();o(jg,"hierarchy");o(dIe,"node_copy");o(pIe,"objectChildren");o(mIe,"mapChildren");o(gIe,"copyData");o(yIe,"computeHeight");o(L2,"Node");L2.prototype=jg.prototype={constructor:L2,count:F9,each:$9,eachAfter:G9,eachBefore:z9,find:V9,sum:q9,sort:W9,path:U9,ancestors:H9,descendants:Y9,leaves:j9,links:X9,copy:dIe,[Symbol.iterator]:K9}});function xee(t){if(typeof t!="function")throw new Error;return t}var bee=P(()=>{"use strict";o(xee,"required")});function Xg(){return 0}function l0(t){return function(){return t}}var Tee=P(()=>{"use strict";o(Xg,"constantZero");o(l0,"default")});function Q9(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}var kee=P(()=>{"use strict";o(Q9,"default")});function Z9(t,e,r,i,n){for(var a=t.children,s,l=-1,u=a.length,h=t.value&&(i-e)/t.value;++l{"use strict";o(Z9,"default")});function J9(t,e,r,i,n){for(var a=t.children,s,l=-1,u=a.length,h=t.value&&(n-r)/t.value;++l{"use strict";o(J9,"default")});function xIe(t,e,r,i,n,a){for(var s=[],l=e.children,u,h,f=0,d=0,p=l.length,m,g,y=e.value,v,x,b,T,w,k,C;fb&&(b=h),C=v*v*k,T=Math.max(b/C,C/x),T>w){v-=h;break}w=T}s.push(u={value:v,dice:m{"use strict";Cee();wee();vIe=(1+Math.sqrt(5))/2;o(xIe,"squarifyRatio");Eee=o((function t(e){function r(i,n,a,s,l){xIe(e,i,n,a,s,l)}return o(r,"squarify"),r.ratio=function(i){return t((i=+i)>1?i:1)},r}),"custom")(vIe)});function Yw(){var t=Eee,e=!1,r=1,i=1,n=[0],a=Xg,s=Xg,l=Xg,u=Xg,h=Xg;function f(p){return p.x0=p.y0=0,p.x1=r,p.y1=i,p.eachBefore(d),n=[0],e&&p.eachBefore(Q9),p}o(f,"treemap");function d(p){var m=n[p.depth],g=p.x0+m,y=p.y0+m,v=p.x1-m,x=p.y1-m;v{"use strict";kee();See();bee();Tee();o(Yw,"default")});var _ee=P(()=>{"use strict";vee();Aee()});var Dee=P(()=>{"use strict"});var Lee=P(()=>{"use strict"});function Yf(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var R2=P(()=>{"use strict";o(Yf,"initRange")});function jo(){var t=new Mg,e=[],r=[],i=eN;function n(a){let s=t.get(a);if(s===void 0){if(i!==eN)return i;t.set(a,s=e.push(a)-1)}return r[s%r.length]}return o(n,"scale"),n.domain=function(a){if(!arguments.length)return e.slice();e=[],t=new Mg;for(let s of a)t.has(s)||t.set(s,e.push(s)-1);return n},n.range=function(a){return arguments.length?(r=Array.from(a),n):r.slice()},n.unknown=function(a){return arguments.length?(i=a,n):i},n.copy=function(){return jo(e,r).unknown(i)},Yf.apply(n,arguments),n}var eN,tN=P(()=>{"use strict";zf();R2();eN=Symbol("implicit");o(jo,"ordinal")});function Kg(){var t=jo().unknown(void 0),e=t.domain,r=t.range,i=0,n=1,a,s,l=!1,u=0,h=0,f=.5;delete t.unknown;function d(){var p=e().length,m=n{"use strict";zf();R2();tN();o(Kg,"band")});function rN(t){return function(){return t}}var Nee=P(()=>{"use strict";o(rN,"constants")});function iN(t){return+t}var Iee=P(()=>{"use strict";o(iN,"number")});function Qg(t){return t}function nN(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:rN(isNaN(e)?NaN:.5)}function bIe(t,e){var r;return t>e&&(r=t,t=e,e=r),function(i){return Math.max(t,Math.min(e,i))}}function TIe(t,e,r){var i=t[0],n=t[1],a=e[0],s=e[1];return n2?kIe:TIe,u=h=null,d}o(f,"rescale");function d(p){return p==null||isNaN(p=+p)?a:(u||(u=l(t.map(i),e,r)))(i(s(p)))}return o(d,"scale"),d.invert=function(p){return s(n((h||(h=l(e,t.map(i),Ea)))(p)))},d.domain=function(p){return arguments.length?(t=Array.from(p,iN),f()):t.slice()},d.range=function(p){return arguments.length?(e=Array.from(p),f()):e.slice()},d.rangeRound=function(p){return e=Array.from(p),r=ww,f()},d.clamp=function(p){return arguments.length?(s=p?!0:Qg,f()):s!==Qg},d.interpolate=function(p){return arguments.length?(r=p,f()):r},d.unknown=function(p){return arguments.length?(a=p,d):a},function(p,m){return i=p,n=m,f()}}function N2(){return CIe()(Qg,Qg)}var Mee,aN=P(()=>{"use strict";zf();Ug();Nee();Iee();Mee=[0,1];o(Qg,"identity");o(nN,"normalize");o(bIe,"clamper");o(TIe,"bimap");o(kIe,"polymap");o(jw,"copy");o(CIe,"transformer");o(N2,"continuous")});function sN(t,e,r,i){var n=Og(t,e,r),a;switch(i=Hf(i??",f"),i.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return i.precision==null&&!isNaN(a=Uw(n,s))&&(i.precision=a),qw(i,s)}case"":case"e":case"g":case"p":case"r":{i.precision==null&&!isNaN(a=Hw(n,Math.max(Math.abs(t),Math.abs(e))))&&(i.precision=a-(i.type==="e"));break}case"f":case"%":{i.precision==null&&!isNaN(a=Ww(n))&&(i.precision=a-(i.type==="%")*2);break}}return du(i)}var Oee=P(()=>{"use strict";zf();B9();o(sN,"tickFormat")});function wIe(t){var e=t.domain;return t.ticks=function(r){var i=e();return ow(i[0],i[i.length-1],r??10)},t.tickFormat=function(r,i){var n=e();return sN(n[0],n[n.length-1],r??10,i)},t.nice=function(r){r==null&&(r=10);var i=e(),n=0,a=i.length-1,s=i[n],l=i[a],u,h,f=10;for(l0;){if(h=s2(s,l,r),h===u)return i[n]=s,i[a]=l,e(i);if(h>0)s=Math.floor(s/h)*h,l=Math.ceil(l/h)*h;else if(h<0)s=Math.ceil(s*h)/h,l=Math.floor(l*h)/h;else break;u=h}return t},t}function vc(){var t=N2();return t.copy=function(){return jw(t,vc())},Yf.apply(t,arguments),wIe(t)}var Pee=P(()=>{"use strict";zf();aN();R2();Oee();o(wIe,"linearish");o(vc,"linear")});function oN(t,e){t=t.slice();var r=0,i=t.length-1,n=t[r],a=t[i],s;return a{"use strict";o(oN,"nice")});function zi(t,e,r,i){function n(a){return t(a=arguments.length===0?new Date:new Date(+a)),a}return o(n,"interval"),n.floor=a=>(t(a=new Date(+a)),a),n.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),n.round=a=>{let s=n(a),l=n.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),n.range=(a,s,l)=>{let u=[];if(a=n.ceil(a),l=l==null?1:Math.floor(l),!(a0))return u;let h;do u.push(h=new Date(+a)),e(a,l),t(a);while(hzi(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,l)=>{if(s>=s)if(l<0)for(;++l<=0;)for(;e(s,-1),!a(s););else for(;--l>=0;)for(;e(s,1),!a(s););}),r&&(n.count=(a,s)=>(lN.setTime(+a),cN.setTime(+s),t(lN),t(cN),Math.floor(r(lN,cN))),n.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?n.filter(i?s=>i(s)%a===0:s=>n.count(0,s)%a===0):n)),n}var lN,cN,Lh=P(()=>{"use strict";lN=new Date,cN=new Date;o(zi,"timeInterval")});var pu,Fee,uN=P(()=>{"use strict";Lh();pu=zi(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);pu.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?zi(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):pu);Fee=pu.range});var Xo,$ee,hN=P(()=>{"use strict";Lh();Xo=zi(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),$ee=Xo.range});var Rh,EIe,Xw,SIe,fN=P(()=>{"use strict";Lh();Rh=zi(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),EIe=Rh.range,Xw=zi(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),SIe=Xw.range});var Nh,AIe,Kw,_Ie,dN=P(()=>{"use strict";Lh();Nh=zi(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),AIe=Nh.range,Kw=zi(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),_Ie=Kw.range});var Sl,DIe,M2,LIe,Qw,RIe,pN=P(()=>{"use strict";Lh();Sl=zi(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),DIe=Sl.range,M2=zi(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),LIe=M2.range,Qw=zi(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),RIe=Qw.range});function h0(t){return zi(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}function f0(t){return zi(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var xc,jf,Zw,Jw,gu,e3,t3,Gee,NIe,IIe,MIe,OIe,PIe,BIe,d0,Zg,Vee,qee,Xf,Wee,Uee,Hee,FIe,$Ie,zIe,GIe,VIe,qIe,mN=P(()=>{"use strict";Lh();o(h0,"timeWeekday");xc=h0(0),jf=h0(1),Zw=h0(2),Jw=h0(3),gu=h0(4),e3=h0(5),t3=h0(6),Gee=xc.range,NIe=jf.range,IIe=Zw.range,MIe=Jw.range,OIe=gu.range,PIe=e3.range,BIe=t3.range;o(f0,"utcWeekday");d0=f0(0),Zg=f0(1),Vee=f0(2),qee=f0(3),Xf=f0(4),Wee=f0(5),Uee=f0(6),Hee=d0.range,FIe=Zg.range,$Ie=Vee.range,zIe=qee.range,GIe=Xf.range,VIe=Wee.range,qIe=Uee.range});var Ih,WIe,r3,UIe,gN=P(()=>{"use strict";Lh();Ih=zi(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),WIe=Ih.range,r3=zi(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),UIe=r3.range});var Ko,HIe,bc,YIe,yN=P(()=>{"use strict";Lh();Ko=zi(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Ko.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:zi(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});HIe=Ko.range,bc=zi(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());bc.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:zi(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});YIe=bc.range});function jee(t,e,r,i,n,a){let s=[[Xo,1,1e3],[Xo,5,5*1e3],[Xo,15,15*1e3],[Xo,30,30*1e3],[a,1,6e4],[a,5,5*6e4],[a,15,15*6e4],[a,30,30*6e4],[n,1,36e5],[n,3,3*36e5],[n,6,6*36e5],[n,12,12*36e5],[i,1,864e5],[i,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function l(h,f,d){let p=fv).right(s,p);if(m===s.length)return t.every(Og(h/31536e6,f/31536e6,d));if(m===0)return pu.every(Math.max(Og(h,f,d),1));let[g,y]=s[p/s[m-1][2]{"use strict";zf();uN();hN();fN();dN();pN();mN();gN();yN();o(jee,"ticker");[XIe,KIe]=jee(bc,r3,d0,Qw,Kw,Xw),[vN,xN]=jee(Ko,Ih,xc,Sl,Nh,Rh)});var i3=P(()=>{"use strict";uN();hN();fN();dN();pN();mN();gN();yN();Xee()});function bN(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function TN(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function O2(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function kN(t){var e=t.dateTime,r=t.date,i=t.time,n=t.periods,a=t.days,s=t.shortDays,l=t.months,u=t.shortMonths,h=P2(n),f=B2(n),d=P2(a),p=B2(a),m=P2(s),g=B2(s),y=P2(l),v=B2(l),x=P2(u),b=B2(u),T={a:B,A:O,b:$,B:z,c:null,d:tte,e:tte,f:xMe,g:DMe,G:RMe,H:gMe,I:yMe,j:vMe,L:ste,m:bMe,M:TMe,p:F,q:V,Q:nte,s:ate,S:kMe,u:CMe,U:wMe,V:EMe,w:SMe,W:AMe,x:null,X:null,y:_Me,Y:LMe,Z:NMe,"%":ite},w={a:H,A:X,b:W,B:Z,c:null,d:rte,e:rte,f:PMe,g:HMe,G:jMe,H:IMe,I:MMe,j:OMe,L:lte,m:BMe,M:FMe,p:Y,q:ae,Q:nte,s:ate,S:$Me,u:zMe,U:GMe,V:VMe,w:qMe,W:WMe,x:null,X:null,y:UMe,Y:YMe,Z:XMe,"%":ite},k={a:M,A:I,b:A,B:_,c:D,d:Jee,e:Jee,f:fMe,g:Zee,G:Qee,H:ete,I:ete,j:lMe,L:hMe,m:oMe,M:cMe,p:L,q:sMe,Q:pMe,s:mMe,S:uMe,u:tMe,U:rMe,V:iMe,w:eMe,W:nMe,x:N,X:R,y:Zee,Y:Qee,Z:aMe,"%":dMe};T.x=C(r,T),T.X=C(i,T),T.c=C(e,T),w.x=C(r,w),w.X=C(i,w),w.c=C(e,w);function C(J,ee){return function(re){var te=[],be=-1,de=0,Ee=J.length,Ne,we,Te;for(re instanceof Date||(re=new Date(+re));++be53)return null;"w"in te||(te.w=1),"Z"in te?(de=TN(O2(te.y,0,1)),Ee=de.getUTCDay(),de=Ee>4||Ee===0?Zg.ceil(de):Zg(de),de=M2.offset(de,(te.V-1)*7),te.y=de.getUTCFullYear(),te.m=de.getUTCMonth(),te.d=de.getUTCDate()+(te.w+6)%7):(de=bN(O2(te.y,0,1)),Ee=de.getDay(),de=Ee>4||Ee===0?jf.ceil(de):jf(de),de=Sl.offset(de,(te.V-1)*7),te.y=de.getFullYear(),te.m=de.getMonth(),te.d=de.getDate()+(te.w+6)%7)}else("W"in te||"U"in te)&&("w"in te||(te.w="u"in te?te.u%7:"W"in te?1:0),Ee="Z"in te?TN(O2(te.y,0,1)).getUTCDay():bN(O2(te.y,0,1)).getDay(),te.m=0,te.d="W"in te?(te.w+6)%7+te.W*7-(Ee+5)%7:te.w+te.U*7-(Ee+6)%7);return"Z"in te?(te.H+=te.Z/100|0,te.M+=te.Z%100,TN(te)):bN(te)}}o(E,"newParse");function S(J,ee,re,te){for(var be=0,de=ee.length,Ee=re.length,Ne,we;be=Ee)return-1;if(Ne=ee.charCodeAt(be++),Ne===37){if(Ne=ee.charAt(be++),we=k[Ne in Kee?ee.charAt(be++):Ne],!we||(te=we(J,re,te))<0)return-1}else if(Ne!=re.charCodeAt(te++))return-1}return te}o(S,"parseSpecifier");function L(J,ee,re){var te=h.exec(ee.slice(re));return te?(J.p=f.get(te[0].toLowerCase()),re+te[0].length):-1}o(L,"parsePeriod");function M(J,ee,re){var te=m.exec(ee.slice(re));return te?(J.w=g.get(te[0].toLowerCase()),re+te[0].length):-1}o(M,"parseShortWeekday");function I(J,ee,re){var te=d.exec(ee.slice(re));return te?(J.w=p.get(te[0].toLowerCase()),re+te[0].length):-1}o(I,"parseWeekday");function A(J,ee,re){var te=x.exec(ee.slice(re));return te?(J.m=b.get(te[0].toLowerCase()),re+te[0].length):-1}o(A,"parseShortMonth");function _(J,ee,re){var te=y.exec(ee.slice(re));return te?(J.m=v.get(te[0].toLowerCase()),re+te[0].length):-1}o(_,"parseMonth");function D(J,ee,re){return S(J,e,ee,re)}o(D,"parseLocaleDateTime");function N(J,ee,re){return S(J,r,ee,re)}o(N,"parseLocaleDate");function R(J,ee,re){return S(J,i,ee,re)}o(R,"parseLocaleTime");function B(J){return s[J.getDay()]}o(B,"formatShortWeekday");function O(J){return a[J.getDay()]}o(O,"formatWeekday");function $(J){return u[J.getMonth()]}o($,"formatShortMonth");function z(J){return l[J.getMonth()]}o(z,"formatMonth");function F(J){return n[+(J.getHours()>=12)]}o(F,"formatPeriod");function V(J){return 1+~~(J.getMonth()/3)}o(V,"formatQuarter");function H(J){return s[J.getUTCDay()]}o(H,"formatUTCShortWeekday");function X(J){return a[J.getUTCDay()]}o(X,"formatUTCWeekday");function W(J){return u[J.getUTCMonth()]}o(W,"formatUTCShortMonth");function Z(J){return l[J.getUTCMonth()]}o(Z,"formatUTCMonth");function Y(J){return n[+(J.getUTCHours()>=12)]}o(Y,"formatUTCPeriod");function ae(J){return 1+~~(J.getUTCMonth()/3)}return o(ae,"formatUTCQuarter"),{format:o(function(J){var ee=C(J+="",T);return ee.toString=function(){return J},ee},"format"),parse:o(function(J){var ee=E(J+="",!1);return ee.toString=function(){return J},ee},"parse"),utcFormat:o(function(J){var ee=C(J+="",w);return ee.toString=function(){return J},ee},"utcFormat"),utcParse:o(function(J){var ee=E(J+="",!0);return ee.toString=function(){return J},ee},"utcParse")}}function hi(t,e,r){var i=t<0?"-":"",n=(i?-t:t)+"",a=n.length;return i+(a[e.toLowerCase(),r]))}function eMe(t,e,r){var i=Sa.exec(e.slice(r,r+1));return i?(t.w=+i[0],r+i[0].length):-1}function tMe(t,e,r){var i=Sa.exec(e.slice(r,r+1));return i?(t.u=+i[0],r+i[0].length):-1}function rMe(t,e,r){var i=Sa.exec(e.slice(r,r+2));return i?(t.U=+i[0],r+i[0].length):-1}function iMe(t,e,r){var i=Sa.exec(e.slice(r,r+2));return i?(t.V=+i[0],r+i[0].length):-1}function nMe(t,e,r){var i=Sa.exec(e.slice(r,r+2));return i?(t.W=+i[0],r+i[0].length):-1}function Qee(t,e,r){var i=Sa.exec(e.slice(r,r+4));return i?(t.y=+i[0],r+i[0].length):-1}function Zee(t,e,r){var i=Sa.exec(e.slice(r,r+2));return i?(t.y=+i[0]+(+i[0]>68?1900:2e3),r+i[0].length):-1}function aMe(t,e,r){var i=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return i?(t.Z=i[1]?0:-(i[2]+(i[3]||"00")),r+i[0].length):-1}function sMe(t,e,r){var i=Sa.exec(e.slice(r,r+1));return i?(t.q=i[0]*3-3,r+i[0].length):-1}function oMe(t,e,r){var i=Sa.exec(e.slice(r,r+2));return i?(t.m=i[0]-1,r+i[0].length):-1}function Jee(t,e,r){var i=Sa.exec(e.slice(r,r+2));return i?(t.d=+i[0],r+i[0].length):-1}function lMe(t,e,r){var i=Sa.exec(e.slice(r,r+3));return i?(t.m=0,t.d=+i[0],r+i[0].length):-1}function ete(t,e,r){var i=Sa.exec(e.slice(r,r+2));return i?(t.H=+i[0],r+i[0].length):-1}function cMe(t,e,r){var i=Sa.exec(e.slice(r,r+2));return i?(t.M=+i[0],r+i[0].length):-1}function uMe(t,e,r){var i=Sa.exec(e.slice(r,r+2));return i?(t.S=+i[0],r+i[0].length):-1}function hMe(t,e,r){var i=Sa.exec(e.slice(r,r+3));return i?(t.L=+i[0],r+i[0].length):-1}function fMe(t,e,r){var i=Sa.exec(e.slice(r,r+6));return i?(t.L=Math.floor(i[0]/1e3),r+i[0].length):-1}function dMe(t,e,r){var i=QIe.exec(e.slice(r,r+1));return i?r+i[0].length:-1}function pMe(t,e,r){var i=Sa.exec(e.slice(r));return i?(t.Q=+i[0],r+i[0].length):-1}function mMe(t,e,r){var i=Sa.exec(e.slice(r));return i?(t.s=+i[0],r+i[0].length):-1}function tte(t,e){return hi(t.getDate(),e,2)}function gMe(t,e){return hi(t.getHours(),e,2)}function yMe(t,e){return hi(t.getHours()%12||12,e,2)}function vMe(t,e){return hi(1+Sl.count(Ko(t),t),e,3)}function ste(t,e){return hi(t.getMilliseconds(),e,3)}function xMe(t,e){return ste(t,e)+"000"}function bMe(t,e){return hi(t.getMonth()+1,e,2)}function TMe(t,e){return hi(t.getMinutes(),e,2)}function kMe(t,e){return hi(t.getSeconds(),e,2)}function CMe(t){var e=t.getDay();return e===0?7:e}function wMe(t,e){return hi(xc.count(Ko(t)-1,t),e,2)}function ote(t){var e=t.getDay();return e>=4||e===0?gu(t):gu.ceil(t)}function EMe(t,e){return t=ote(t),hi(gu.count(Ko(t),t)+(Ko(t).getDay()===4),e,2)}function SMe(t){return t.getDay()}function AMe(t,e){return hi(jf.count(Ko(t)-1,t),e,2)}function _Me(t,e){return hi(t.getFullYear()%100,e,2)}function DMe(t,e){return t=ote(t),hi(t.getFullYear()%100,e,2)}function LMe(t,e){return hi(t.getFullYear()%1e4,e,4)}function RMe(t,e){var r=t.getDay();return t=r>=4||r===0?gu(t):gu.ceil(t),hi(t.getFullYear()%1e4,e,4)}function NMe(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+hi(e/60|0,"0",2)+hi(e%60,"0",2)}function rte(t,e){return hi(t.getUTCDate(),e,2)}function IMe(t,e){return hi(t.getUTCHours(),e,2)}function MMe(t,e){return hi(t.getUTCHours()%12||12,e,2)}function OMe(t,e){return hi(1+M2.count(bc(t),t),e,3)}function lte(t,e){return hi(t.getUTCMilliseconds(),e,3)}function PMe(t,e){return lte(t,e)+"000"}function BMe(t,e){return hi(t.getUTCMonth()+1,e,2)}function FMe(t,e){return hi(t.getUTCMinutes(),e,2)}function $Me(t,e){return hi(t.getUTCSeconds(),e,2)}function zMe(t){var e=t.getUTCDay();return e===0?7:e}function GMe(t,e){return hi(d0.count(bc(t)-1,t),e,2)}function cte(t){var e=t.getUTCDay();return e>=4||e===0?Xf(t):Xf.ceil(t)}function VMe(t,e){return t=cte(t),hi(Xf.count(bc(t),t)+(bc(t).getUTCDay()===4),e,2)}function qMe(t){return t.getUTCDay()}function WMe(t,e){return hi(Zg.count(bc(t)-1,t),e,2)}function UMe(t,e){return hi(t.getUTCFullYear()%100,e,2)}function HMe(t,e){return t=cte(t),hi(t.getUTCFullYear()%100,e,2)}function YMe(t,e){return hi(t.getUTCFullYear()%1e4,e,4)}function jMe(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Xf(t):Xf.ceil(t),hi(t.getUTCFullYear()%1e4,e,4)}function XMe(){return"+0000"}function ite(){return"%"}function nte(t){return+t}function ate(t){return Math.floor(+t/1e3)}var Kee,Sa,QIe,ZIe,ute=P(()=>{"use strict";i3();o(bN,"localDate");o(TN,"utcDate");o(O2,"newDate");o(kN,"formatLocale");Kee={"-":"",_:" ",0:"0"},Sa=/^\s*\d+/,QIe=/^%/,ZIe=/[\\^$*+?|[\]().{}]/g;o(hi,"pad");o(JIe,"requote");o(P2,"formatRe");o(B2,"formatLookup");o(eMe,"parseWeekdayNumberSunday");o(tMe,"parseWeekdayNumberMonday");o(rMe,"parseWeekNumberSunday");o(iMe,"parseWeekNumberISO");o(nMe,"parseWeekNumberMonday");o(Qee,"parseFullYear");o(Zee,"parseYear");o(aMe,"parseZone");o(sMe,"parseQuarter");o(oMe,"parseMonthNumber");o(Jee,"parseDayOfMonth");o(lMe,"parseDayOfYear");o(ete,"parseHour24");o(cMe,"parseMinutes");o(uMe,"parseSeconds");o(hMe,"parseMilliseconds");o(fMe,"parseMicroseconds");o(dMe,"parseLiteralPercent");o(pMe,"parseUnixTimestamp");o(mMe,"parseUnixTimestampSeconds");o(tte,"formatDayOfMonth");o(gMe,"formatHour24");o(yMe,"formatHour12");o(vMe,"formatDayOfYear");o(ste,"formatMilliseconds");o(xMe,"formatMicroseconds");o(bMe,"formatMonthNumber");o(TMe,"formatMinutes");o(kMe,"formatSeconds");o(CMe,"formatWeekdayNumberMonday");o(wMe,"formatWeekNumberSunday");o(ote,"dISO");o(EMe,"formatWeekNumberISO");o(SMe,"formatWeekdayNumberSunday");o(AMe,"formatWeekNumberMonday");o(_Me,"formatYear");o(DMe,"formatYearISO");o(LMe,"formatFullYear");o(RMe,"formatFullYearISO");o(NMe,"formatZone");o(rte,"formatUTCDayOfMonth");o(IMe,"formatUTCHour24");o(MMe,"formatUTCHour12");o(OMe,"formatUTCDayOfYear");o(lte,"formatUTCMilliseconds");o(PMe,"formatUTCMicroseconds");o(BMe,"formatUTCMonthNumber");o(FMe,"formatUTCMinutes");o($Me,"formatUTCSeconds");o(zMe,"formatUTCWeekdayNumberMonday");o(GMe,"formatUTCWeekNumberSunday");o(cte,"UTCdISO");o(VMe,"formatUTCWeekNumberISO");o(qMe,"formatUTCWeekdayNumberSunday");o(WMe,"formatUTCWeekNumberMonday");o(UMe,"formatUTCYear");o(HMe,"formatUTCYearISO");o(YMe,"formatUTCFullYear");o(jMe,"formatUTCFullYearISO");o(XMe,"formatUTCZone");o(ite,"formatLiteralPercent");o(nte,"formatUnixTimestamp");o(ate,"formatUnixTimestampSeconds")});function CN(t){return Jg=kN(t),p0=Jg.format,hte=Jg.parse,fte=Jg.utcFormat,dte=Jg.utcParse,Jg}var Jg,p0,hte,fte,dte,pte=P(()=>{"use strict";ute();CN({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});o(CN,"defaultLocale")});var wN=P(()=>{"use strict";pte()});function KMe(t){return new Date(t)}function QMe(t){return t instanceof Date?+t:+new Date(+t)}function mte(t,e,r,i,n,a,s,l,u,h){var f=N2(),d=f.invert,p=f.domain,m=h(".%L"),g=h(":%S"),y=h("%I:%M"),v=h("%I %p"),x=h("%a %d"),b=h("%b %d"),T=h("%B"),w=h("%Y");function k(C){return(u(C){"use strict";i3();wN();aN();R2();Bee();o(KMe,"date");o(QMe,"number");o(mte,"calendar");o(n3,"time")});var yte=P(()=>{"use strict";Ree();Pee();tN();gte()});function EN(t){for(var e=t.length/6|0,r=new Array(e),i=0;i{"use strict";o(EN,"default")});var SN,xte=P(()=>{"use strict";vte();SN=EN("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab")});var bte=P(()=>{"use strict";xte()});function on(t){return o(function(){return t},"constant")}var a3=P(()=>{"use strict";o(on,"default")});function kte(t){return t>1?0:t<-1?e1:Math.acos(t)}function _N(t){return t>=1?F2:t<=-1?-F2:Math.asin(t)}var AN,Ya,Kf,Tte,s3,Tc,m0,Aa,e1,F2,t1,o3=P(()=>{"use strict";AN=Math.abs,Ya=Math.atan2,Kf=Math.cos,Tte=Math.max,s3=Math.min,Tc=Math.sin,m0=Math.sqrt,Aa=1e-12,e1=Math.PI,F2=e1/2,t1=2*e1;o(kte,"acos");o(_N,"asin")});function l3(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{let i=Math.floor(r);if(!(i>=0))throw new RangeError(`invalid digits: ${r}`);e=i}return t},()=>new s0(e)}var DN=P(()=>{"use strict";E9();o(l3,"withPath")});function ZMe(t){return t.innerRadius}function JMe(t){return t.outerRadius}function eOe(t){return t.startAngle}function tOe(t){return t.endAngle}function rOe(t){return t&&t.padAngle}function iOe(t,e,r,i,n,a,s,l){var u=r-t,h=i-e,f=s-n,d=l-a,p=d*u-f*h;if(!(p*pD*D+N*N&&(S=M,L=I),{cx:S,cy:L,x01:-f,y01:-d,x11:S*(n/k-1),y11:L*(n/k-1)}}function kc(){var t=ZMe,e=JMe,r=on(0),i=null,n=eOe,a=tOe,s=rOe,l=null,u=l3(h);function h(){var f,d,p=+t.apply(this,arguments),m=+e.apply(this,arguments),g=n.apply(this,arguments)-F2,y=a.apply(this,arguments)-F2,v=AN(y-g),x=y>g;if(l||(l=f=u()),mAa))l.moveTo(0,0);else if(v>t1-Aa)l.moveTo(m*Kf(g),m*Tc(g)),l.arc(0,0,m,g,y,!x),p>Aa&&(l.moveTo(p*Kf(y),p*Tc(y)),l.arc(0,0,p,y,g,x));else{var b=g,T=y,w=g,k=y,C=v,E=v,S=s.apply(this,arguments)/2,L=S>Aa&&(i?+i.apply(this,arguments):m0(p*p+m*m)),M=s3(AN(m-p)/2,+r.apply(this,arguments)),I=M,A=M,_,D;if(L>Aa){var N=_N(L/p*Tc(S)),R=_N(L/m*Tc(S));(C-=N*2)>Aa?(N*=x?1:-1,w+=N,k-=N):(C=0,w=k=(g+y)/2),(E-=R*2)>Aa?(R*=x?1:-1,b+=R,T-=R):(E=0,b=T=(g+y)/2)}var B=m*Kf(b),O=m*Tc(b),$=p*Kf(k),z=p*Tc(k);if(M>Aa){var F=m*Kf(T),V=m*Tc(T),H=p*Kf(w),X=p*Tc(w),W;if(vAa?A>Aa?(_=c3(H,X,B,O,m,A,x),D=c3(F,V,$,z,m,A,x),l.moveTo(_.cx+_.x01,_.cy+_.y01),AAa)||!(C>Aa)?l.lineTo($,z):I>Aa?(_=c3($,z,F,V,p,-I,x),D=c3(B,O,H,X,p,-I,x),l.lineTo(_.cx+_.x01,_.cy+_.y01),I{"use strict";a3();o3();DN();o(ZMe,"arcInnerRadius");o(JMe,"arcOuterRadius");o(eOe,"arcStartAngle");o(tOe,"arcEndAngle");o(rOe,"arcPadAngle");o(iOe,"intersect");o(c3,"cornerTangents");o(kc,"default")});function $2(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}var wDt,LN=P(()=>{"use strict";wDt=Array.prototype.slice;o($2,"default")});function wte(t){this._context=t}function yu(t){return new wte(t)}var RN=P(()=>{"use strict";o(wte,"Linear");wte.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}},"point")};o(yu,"default")});function Ete(t){return t[0]}function Ste(t){return t[1]}var Ate=P(()=>{"use strict";o(Ete,"x");o(Ste,"y")});function Cc(t,e){var r=on(!0),i=null,n=yu,a=null,s=l3(l);t=typeof t=="function"?t:t===void 0?Ete:on(t),e=typeof e=="function"?e:e===void 0?Ste:on(e);function l(u){var h,f=(u=$2(u)).length,d,p=!1,m;for(i==null&&(a=n(m=s())),h=0;h<=f;++h)!(h{"use strict";LN();a3();RN();DN();Ate();o(Cc,"default")});function NN(t,e){return et?1:e>=t?0:NaN}var Dte=P(()=>{"use strict";o(NN,"default")});function IN(t){return t}var Lte=P(()=>{"use strict";o(IN,"default")});function u3(){var t=IN,e=NN,r=null,i=on(0),n=on(t1),a=on(0);function s(l){var u,h=(l=$2(l)).length,f,d,p=0,m=new Array(h),g=new Array(h),y=+i.apply(this,arguments),v=Math.min(t1,Math.max(-t1,n.apply(this,arguments)-y)),x,b=Math.min(Math.abs(v)/h,a.apply(this,arguments)),T=b*(v<0?-1:1),w;for(u=0;u0&&(p+=w);for(e!=null?m.sort(function(k,C){return e(g[k],g[C])}):r!=null&&m.sort(function(k,C){return r(l[k],l[C])}),u=0,d=p?(v-h*T)/p:0;u0?w*d:0)+T,g[f]={data:l[f],index:u,value:w,startAngle:y,endAngle:x,padAngle:b};return g}return o(s,"pie"),s.value=function(l){return arguments.length?(t=typeof l=="function"?l:on(+l),s):t},s.sortValues=function(l){return arguments.length?(e=l,r=null,s):e},s.sort=function(l){return arguments.length?(r=l,e=null,s):r},s.startAngle=function(l){return arguments.length?(i=typeof l=="function"?l:on(+l),s):i},s.endAngle=function(l){return arguments.length?(n=typeof l=="function"?l:on(+l),s):n},s.padAngle=function(l){return arguments.length?(a=typeof l=="function"?l:on(+l),s):a},s}var Rte=P(()=>{"use strict";LN();a3();Dte();Lte();o3();o(u3,"default")});function z2(t){return new h3(t,!0)}function G2(t){return new h3(t,!1)}var h3,Nte=P(()=>{"use strict";h3=class{static{o(this,"Bump")}constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}};o(z2,"bumpX");o(G2,"bumpY")});function Qo(){}var V2=P(()=>{"use strict";o(Qo,"default")});function r1(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function q2(t){this._context=t}function wc(t){return new q2(t)}var W2=P(()=>{"use strict";o(r1,"point");o(q2,"Basis");q2.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 3:r1(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:r1(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(wc,"default")});function Ite(t){this._context=t}function f3(t){return new Ite(t)}var Mte=P(()=>{"use strict";V2();W2();o(Ite,"BasisClosed");Ite.prototype={areaStart:Qo,areaEnd:Qo,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:r1(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(f3,"default")});function Ote(t){this._context=t}function d3(t){return new Ote(t)}var Pte=P(()=>{"use strict";W2();o(Ote,"BasisOpen");Ote.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,i=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,i):this._context.moveTo(r,i);break;case 3:this._point=4;default:r1(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(d3,"default")});function Bte(t,e){this._basis=new q2(t),this._beta=e}var MN,Fte=P(()=>{"use strict";W2();o(Bte,"Bundle");Bte.prototype={lineStart:o(function(){this._x=[],this._y=[],this._basis.lineStart()},"lineStart"),lineEnd:o(function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var i=t[0],n=e[0],a=t[r]-i,s=e[r]-n,l=-1,u;++l<=r;)u=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(i+u*a),this._beta*e[l]+(1-this._beta)*(n+u*s));this._x=this._y=null,this._basis.lineEnd()},"lineEnd"),point:o(function(t,e){this._x.push(+t),this._y.push(+e)},"point")};MN=o((function t(e){function r(i){return e===1?new q2(i):new Bte(i,e)}return o(r,"bundle"),r.beta=function(i){return t(+i)},r}),"custom")(.85)});function i1(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function p3(t,e){this._context=t,this._k=(1-e)/6}var U2,H2=P(()=>{"use strict";o(i1,"point");o(p3,"Cardinal");p3.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:i1(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:i1(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};U2=o((function t(e){function r(i){return new p3(i,e)}return o(r,"cardinal"),r.tension=function(i){return t(+i)},r}),"custom")(0)});function m3(t,e){this._context=t,this._k=(1-e)/6}var ON,PN=P(()=>{"use strict";V2();H2();o(m3,"CardinalClosed");m3.prototype={areaStart:Qo,areaEnd:Qo,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:i1(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};ON=o((function t(e){function r(i){return new m3(i,e)}return o(r,"cardinal"),r.tension=function(i){return t(+i)},r}),"custom")(0)});function g3(t,e){this._context=t,this._k=(1-e)/6}var BN,FN=P(()=>{"use strict";H2();o(g3,"CardinalOpen");g3.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:i1(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};BN=o((function t(e){function r(i){return new g3(i,e)}return o(r,"cardinal"),r.tension=function(i){return t(+i)},r}),"custom")(0)});function Y2(t,e,r){var i=t._x1,n=t._y1,a=t._x2,s=t._y2;if(t._l01_a>Aa){var l=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);i=(i*l-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,n=(n*l-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>Aa){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*h+t._x1*t._l23_2a-e*t._l12_2a)/f,s=(s*h+t._y1*t._l23_2a-r*t._l12_2a)/f}t._context.bezierCurveTo(i,n,a,s,t._x2,t._y2)}function $te(t,e){this._context=t,this._alpha=e}var j2,y3=P(()=>{"use strict";o3();H2();o(Y2,"point");o($te,"CatmullRom");$te.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Y2(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};j2=o((function t(e){function r(i){return e?new $te(i,e):new p3(i,0)}return o(r,"catmullRom"),r.alpha=function(i){return t(+i)},r}),"custom")(.5)});function zte(t,e){this._context=t,this._alpha=e}var $N,Gte=P(()=>{"use strict";PN();V2();y3();o(zte,"CatmullRomClosed");zte.prototype={areaStart:Qo,areaEnd:Qo,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Y2(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};$N=o((function t(e){function r(i){return e?new zte(i,e):new m3(i,0)}return o(r,"catmullRom"),r.alpha=function(i){return t(+i)},r}),"custom")(.5)});function Vte(t,e){this._context=t,this._alpha=e}var zN,qte=P(()=>{"use strict";FN();y3();o(Vte,"CatmullRomOpen");Vte.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Y2(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};zN=o((function t(e){function r(i){return e?new Vte(i,e):new g3(i,0)}return o(r,"catmullRom"),r.alpha=function(i){return t(+i)},r}),"custom")(.5)});function Wte(t){this._context=t}function v3(t){return new Wte(t)}var Ute=P(()=>{"use strict";V2();o(Wte,"LinearClosed");Wte.prototype={areaStart:Qo,areaEnd:Qo,lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){this._point&&this._context.closePath()},"lineEnd"),point:o(function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))},"point")};o(v3,"default")});function Hte(t){return t<0?-1:1}function Yte(t,e,r){var i=t._x1-t._x0,n=e-t._x1,a=(t._y1-t._y0)/(i||n<0&&-0),s=(r-t._y1)/(n||i<0&&-0),l=(a*n+s*i)/(i+n);return(Hte(a)+Hte(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(l))||0}function jte(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function GN(t,e,r){var i=t._x0,n=t._y0,a=t._x1,s=t._y1,l=(a-i)/3;t._context.bezierCurveTo(i+l,n+l*e,a-l,s-l*r,a,s)}function x3(t){this._context=t}function Xte(t){this._context=new Kte(t)}function Kte(t){this._context=t}function X2(t){return new x3(t)}function K2(t){return new Xte(t)}var Qte=P(()=>{"use strict";o(Hte,"sign");o(Yte,"slope3");o(jte,"slope2");o(GN,"point");o(x3,"MonotoneX");x3.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:GN(this,this._t0,jte(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,GN(this,jte(this,r=Yte(this,t,e)),r);break;default:GN(this,this._t0,r=Yte(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}},"point")};o(Xte,"MonotoneY");(Xte.prototype=Object.create(x3.prototype)).point=function(t,e){x3.prototype.point.call(this,e,t)};o(Kte,"ReflectContext");Kte.prototype={moveTo:o(function(t,e){this._context.moveTo(e,t)},"moveTo"),closePath:o(function(){this._context.closePath()},"closePath"),lineTo:o(function(t,e){this._context.lineTo(e,t)},"lineTo"),bezierCurveTo:o(function(t,e,r,i,n,a){this._context.bezierCurveTo(e,t,i,r,a,n)},"bezierCurveTo")};o(X2,"monotoneX");o(K2,"monotoneY")});function Jte(t){this._context=t}function Zte(t){var e,r=t.length-1,i,n=new Array(r),a=new Array(r),s=new Array(r);for(n[0]=0,a[0]=2,s[0]=t[0]+2*t[1],e=1;e=0;--e)n[e]=(s[e]-n[e+1])/a[e];for(a[r-1]=(t[r]+n[r-1])/2,e=0;e{"use strict";o(Jte,"Natural");Jte.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=[],this._y=[]},"lineStart"),lineEnd:o(function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var i=Zte(t),n=Zte(e),a=0,s=1;s{"use strict";o(b3,"Step");b3.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=this._y=NaN,this._point=0},"lineStart"),lineEnd:o(function(){0=0&&(this._t=1-this._t,this._line=1-this._line)},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e},"point")};o(a1,"default");o(Q2,"stepBefore");o(Z2,"stepAfter")});var rre=P(()=>{"use strict";Cte();_te();Rte();Mte();Pte();W2();Nte();Fte();PN();FN();H2();Gte();qte();y3();Ute();RN();Qte();ere();tre()});var ire=P(()=>{"use strict"});var nre=P(()=>{"use strict"});function Qf(t,e,r){this.k=t,this.x=e,this.y=r}function qN(t){for(;!t.__zoom;)if(!(t=t.parentNode))return VN;return t.__zoom}var VN,WN=P(()=>{"use strict";o(Qf,"Transform");Qf.prototype={constructor:Qf,scale:o(function(t){return t===1?this:new Qf(this.k*t,this.x,this.y)},"scale"),translate:o(function(t,e){return t===0&e===0?this:new Qf(this.k,this.x+this.k*t,this.y+this.k*e)},"translate"),apply:o(function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},"apply"),applyX:o(function(t){return t*this.k+this.x},"applyX"),applyY:o(function(t){return t*this.k+this.y},"applyY"),invert:o(function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},"invert"),invertX:o(function(t){return(t-this.x)/this.k},"invertX"),invertY:o(function(t){return(t-this.y)/this.k},"invertY"),rescaleX:o(function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},"rescaleX"),rescaleY:o(function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},"rescaleY"),toString:o(function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"},"toString")};VN=new Qf(1,0,0);qN.prototype=Qf.prototype;o(qN,"transform")});var are=P(()=>{"use strict"});var sre=P(()=>{"use strict";Fw();ire();nre();WN();are()});var ore=P(()=>{"use strict";sre();WN()});var Pr=P(()=>{"use strict";zf();mQ();MJ();FJ();Vg();$J();zJ();NL();sZ();GJ();b9();VJ();WJ();B9();nee();_ee();Ug();E9();Dee();qJ();Lee();yte();bte();pc();rre();i3();wN();Nw();Fw();ore()});var lre=ar(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.BLANK_URL=_a.relativeFirstCharacters=_a.whitespaceEscapeCharsRegex=_a.urlSchemeRegex=_a.ctrlCharactersRegex=_a.htmlCtrlEntityRegex=_a.htmlEntitiesRegex=_a.invalidProtocolRegex=void 0;_a.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im;_a.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g;_a.htmlCtrlEntityRegex=/&(newline|tab);/gi;_a.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;_a.urlSchemeRegex=/^.+(:|:)/gim;_a.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;_a.relativeFirstCharacters=[".","/"];_a.BLANK_URL="about:blank"});var s1=ar(T3=>{"use strict";Object.defineProperty(T3,"__esModule",{value:!0});T3.sanitizeUrl=void 0;var us=lre();function nOe(t){return us.relativeFirstCharacters.indexOf(t[0])>-1}o(nOe,"isRelativeUrlWithoutProtocol");function aOe(t){var e=t.replace(us.ctrlCharactersRegex,"");return e.replace(us.htmlEntitiesRegex,function(r,i){return String.fromCharCode(i)})}o(aOe,"decodeHtmlCharacters");function sOe(t){return URL.canParse(t)}o(sOe,"isValidUrl");function cre(t){try{return decodeURIComponent(t)}catch{return t}}o(cre,"decodeURI");function oOe(t){if(!t)return us.BLANK_URL;var e,r=cre(t.trim());do r=aOe(r).replace(us.htmlCtrlEntityRegex,"").replace(us.ctrlCharactersRegex,"").replace(us.whitespaceEscapeCharsRegex,"").trim(),r=cre(r),e=r.match(us.ctrlCharactersRegex)||r.match(us.htmlEntitiesRegex)||r.match(us.htmlCtrlEntityRegex)||r.match(us.whitespaceEscapeCharsRegex);while(e&&e.length>0);var i=r;if(!i)return us.BLANK_URL;if(nOe(i))return i;var n=i.trimStart(),a=n.match(us.urlSchemeRegex);if(!a)return i;var s=a[0].toLowerCase().trim();if(us.invalidProtocolRegex.test(s))return us.BLANK_URL;var l=n.replace(/\\/g,"/");if(s==="mailto:"||s.includes("://"))return l;if(s==="http:"||s==="https:"){if(!sOe(l))return us.BLANK_URL;var u=new URL(l);return u.protocol=u.protocol.toLowerCase(),u.hostname=u.hostname.toLowerCase(),u.toString()}return l}o(oOe,"sanitizeUrl");T3.sanitizeUrl=oOe});var UN,g0,k3,ure,C3,w3,ja,J2,E3,y0=P(()=>{"use strict";UN=Wa(s1(),1);Pr();Vr();g0=o((t,e)=>{let r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(let i in e.attrs)r.attr(i,e.attrs[i]);return e.class&&r.attr("class",e.class),r},"drawRect"),k3=o((t,e)=>{let r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};g0(t,r).lower()},"drawBackgroundRect"),ure=o((t,e)=>{let r=e.text.replace(Hp," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),e.class&&i.attr("class",e.class);let n=i.append("tspan");return n.attr("x",e.x+e.textMargin*2),n.text(r),i},"drawText"),C3=o((t,e,r,i)=>{let n=t.append("image");n.attr("x",e),n.attr("y",r);let a=(0,UN.sanitizeUrl)(i);n.attr("xlink:href",a)},"drawImage"),w3=o((t,e,r,i)=>{let n=t.append("use");n.attr("x",e),n.attr("y",r);let a=(0,UN.sanitizeUrl)(i);n.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),ja=o(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),J2=o(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),E3=o(()=>{let t=Ze(".mermaidTooltip");return t.empty()&&(t=Ze("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")});var hre,HN,fre,lOe,cOe,uOe,hOe,fOe,dOe,pOe,mOe,gOe,yOe,vOe,Mh,Ec,dre=P(()=>{"use strict";Vr();y0();hre=Wa(s1(),1),HN=o(function(t,e){return g0(t,e)},"drawRect"),fre=o(function(t,e,r,i,n,a){let s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",i),s.attr("y",n);let l=a.startsWith("data:image/png;base64")?a:(0,hre.sanitizeUrl)(a);s.attr("xlink:href",l)},"drawImage"),lOe=o((t,e,r,i)=>{let n=t.append("g"),a=0;for(let s of e){let l=s.textColor?s.textColor:"#444444",u=s.lineColor?s.lineColor:"#444444",h=s.offsetX?parseInt(s.offsetX):0,f=s.offsetY?parseInt(s.offsetY):0,d="";if(a===0){let m=n.append("line");m.attr("x1",s.startPoint.x),m.attr("y1",s.startPoint.y),m.attr("x2",s.endPoint.x),m.attr("y2",s.endPoint.y),m.attr("stroke-width","1"),m.attr("stroke",u),m.style("fill","none"),s.type!=="rel_b"&&m.attr("marker-end","url("+d+"#"+i+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&m.attr("marker-start","url("+d+"#"+i+"-arrowend)"),a=-1}else{let m=n.append("path");m.attr("fill","none").attr("stroke-width","1").attr("stroke",u).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",s.startPoint.x).replaceAll("starty",s.startPoint.y).replaceAll("controlx",s.startPoint.x+(s.endPoint.x-s.startPoint.x)/2-(s.endPoint.x-s.startPoint.x)/4).replaceAll("controly",s.startPoint.y+(s.endPoint.y-s.startPoint.y)/2).replaceAll("stopx",s.endPoint.x).replaceAll("stopy",s.endPoint.y)),s.type!=="rel_b"&&m.attr("marker-end","url("+d+"#"+i+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&m.attr("marker-start","url("+d+"#"+i+"-arrowend)")}let p=r.messageFont();Mh(r)(s.label.text,n,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+h,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+f,s.label.width,s.label.height,{fill:l},p),s.techn&&s.techn.text!==""&&(p=r.messageFont(),Mh(r)("["+s.techn.text+"]",n,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+h,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+r.messageFontSize+5+f,Math.max(s.label.width,s.techn.width),s.techn.height,{fill:l,"font-style":"italic"},p))}},"drawRels"),cOe=o(function(t,e,r){let i=t.append("g"),n=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",l={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(l={"stroke-width":1});let u={x:e.x,y:e.y,fill:n,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:l};HN(i,u);let h=r.boundaryFont();h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=s,Mh(r)(e.label.text,i,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},h),e.type&&e.type.text!==""&&(h=r.boundaryFont(),h.fontColor=s,Mh(r)(e.type.text,i,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},h)),e.descr&&e.descr.text!==""&&(h=r.boundaryFont(),h.fontSize=h.fontSize-2,h.fontColor=s,Mh(r)(e.descr.text,i,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},h))},"drawBoundary"),uOe=o(function(t,e,r){let i=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],n=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}let l=t.append("g");l.attr("class","person-man");let u=ja();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":u.x=e.x,u.y=e.y,u.fill=i,u.width=e.width,u.height=e.height,u.stroke=n,u.rx=2.5,u.ry=2.5,u.attrs={"stroke-width":.5},HN(l,u);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":l.append("path").attr("fill",i).attr("stroke-width","0.5").attr("stroke",n).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",n).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":l.append("path").attr("fill",i).attr("stroke-width","0.5").attr("stroke",n).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",n).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let h=vOe(r,e.typeC4Shape.text);switch(l.append("text").attr("fill",a).attr("font-family",h.fontFamily).attr("font-size",h.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":fre(l,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let f=r[e.typeC4Shape.text+"Font"]();return f.fontWeight="bold",f.fontSize=f.fontSize+2,f.fontColor=a,Mh(r)(e.label.text,l,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},f),f=r[e.typeC4Shape.text+"Font"](),f.fontColor=a,e.techn&&e.techn?.text!==""?Mh(r)(e.techn.text,l,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},f):e.type&&e.type.text!==""&&Mh(r)(e.type.text,l,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},f),e.descr&&e.descr.text!==""&&(f=r.personFont(),f.fontColor=a,Mh(r)(e.descr.text,l,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},f)),e.height},"drawC4Shape"),hOe=o(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),fOe=o(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),dOe=o(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),pOe=o(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),mOe=o(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),gOe=o(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),yOe=o(function(t,e){let i=t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);i.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),i.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),vOe=o((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),Mh=(function(){function t(n,a,s,l,u,h,f){let d=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(n);i(d,f)}o(t,"byText");function e(n,a,s,l,u,h,f,d){let{fontSize:p,fontFamily:m,fontWeight:g}=d,y=n.split(lt.lineBreakRegex);for(let v=0;v{"use strict";xOe=typeof global=="object"&&global&&global.Object===Object&&global,A3=xOe});var bOe,TOe,In,Al=P(()=>{"use strict";YN();bOe=typeof self=="object"&&self&&self.Object===Object&&self,TOe=A3||bOe||Function("return this")(),In=TOe});var kOe,Da,v0=P(()=>{"use strict";Al();kOe=In.Symbol,Da=kOe});function EOe(t){var e=COe.call(t,eb),r=t[eb];try{t[eb]=void 0;var i=!0}catch{}var n=wOe.call(t);return i&&(e?t[eb]=r:delete t[eb]),n}var pre,COe,wOe,eb,mre,gre=P(()=>{"use strict";v0();pre=Object.prototype,COe=pre.hasOwnProperty,wOe=pre.toString,eb=Da?Da.toStringTag:void 0;o(EOe,"getRawTag");mre=EOe});function _Oe(t){return AOe.call(t)}var SOe,AOe,yre,vre=P(()=>{"use strict";SOe=Object.prototype,AOe=SOe.toString;o(_Oe,"objectToString");yre=_Oe});function ROe(t){return t==null?t===void 0?LOe:DOe:xre&&xre in Object(t)?mre(t):yre(t)}var DOe,LOe,xre,Xa,Oh=P(()=>{"use strict";v0();gre();vre();DOe="[object Null]",LOe="[object Undefined]",xre=Da?Da.toStringTag:void 0;o(ROe,"baseGetTag");Xa=ROe});function NOe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Gi,Zo=P(()=>{"use strict";o(NOe,"isObject");Gi=NOe});function BOe(t){if(!Gi(t))return!1;var e=Xa(t);return e==MOe||e==OOe||e==IOe||e==POe}var IOe,MOe,OOe,POe,Qn,tb=P(()=>{"use strict";Oh();Zo();IOe="[object AsyncFunction]",MOe="[object Function]",OOe="[object GeneratorFunction]",POe="[object Proxy]";o(BOe,"isFunction");Qn=BOe});var FOe,_3,bre=P(()=>{"use strict";Al();FOe=In["__core-js_shared__"],_3=FOe});function $Oe(t){return!!Tre&&Tre in t}var Tre,kre,Cre=P(()=>{"use strict";bre();Tre=(function(){var t=/[^.]+$/.exec(_3&&_3.keys&&_3.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();o($Oe,"isMasked");kre=$Oe});function VOe(t){if(t!=null){try{return GOe.call(t)}catch{}try{return t+""}catch{}}return""}var zOe,GOe,Ph,jN=P(()=>{"use strict";zOe=Function.prototype,GOe=zOe.toString;o(VOe,"toSource");Ph=VOe});function KOe(t){if(!Gi(t)||kre(t))return!1;var e=Qn(t)?XOe:WOe;return e.test(Ph(t))}var qOe,WOe,UOe,HOe,YOe,jOe,XOe,wre,Ere=P(()=>{"use strict";tb();Cre();Zo();jN();qOe=/[\\^$.*+?()[\]{}|]/g,WOe=/^\[object .+?Constructor\]$/,UOe=Function.prototype,HOe=Object.prototype,YOe=UOe.toString,jOe=HOe.hasOwnProperty,XOe=RegExp("^"+YOe.call(jOe).replace(qOe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");o(KOe,"baseIsNative");wre=KOe});function QOe(t,e){return t?.[e]}var Sre,Are=P(()=>{"use strict";o(QOe,"getValue");Sre=QOe});function ZOe(t,e){var r=Sre(t,e);return wre(r)?r:void 0}var mo,Zf=P(()=>{"use strict";Ere();Are();o(ZOe,"getNative");mo=ZOe});var JOe,Bh,rb=P(()=>{"use strict";Zf();JOe=mo(Object,"create"),Bh=JOe});function ePe(){this.__data__=Bh?Bh(null):{},this.size=0}var _re,Dre=P(()=>{"use strict";rb();o(ePe,"hashClear");_re=ePe});function tPe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Lre,Rre=P(()=>{"use strict";o(tPe,"hashDelete");Lre=tPe});function aPe(t){var e=this.__data__;if(Bh){var r=e[t];return r===rPe?void 0:r}return nPe.call(e,t)?e[t]:void 0}var rPe,iPe,nPe,Nre,Ire=P(()=>{"use strict";rb();rPe="__lodash_hash_undefined__",iPe=Object.prototype,nPe=iPe.hasOwnProperty;o(aPe,"hashGet");Nre=aPe});function lPe(t){var e=this.__data__;return Bh?e[t]!==void 0:oPe.call(e,t)}var sPe,oPe,Mre,Ore=P(()=>{"use strict";rb();sPe=Object.prototype,oPe=sPe.hasOwnProperty;o(lPe,"hashHas");Mre=lPe});function uPe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Bh&&e===void 0?cPe:e,this}var cPe,Pre,Bre=P(()=>{"use strict";rb();cPe="__lodash_hash_undefined__";o(uPe,"hashSet");Pre=uPe});function o1(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";Dre();Rre();Ire();Ore();Bre();o(o1,"Hash");o1.prototype.clear=_re;o1.prototype.delete=Lre;o1.prototype.get=Nre;o1.prototype.has=Mre;o1.prototype.set=Pre;XN=o1});function hPe(){this.__data__=[],this.size=0}var $re,zre=P(()=>{"use strict";o(hPe,"listCacheClear");$re=hPe});function fPe(t,e){return t===e||t!==t&&e!==e}var _l,x0=P(()=>{"use strict";o(fPe,"eq");_l=fPe});function dPe(t,e){for(var r=t.length;r--;)if(_l(t[r][0],e))return r;return-1}var Jf,ib=P(()=>{"use strict";x0();o(dPe,"assocIndexOf");Jf=dPe});function gPe(t){var e=this.__data__,r=Jf(e,t);if(r<0)return!1;var i=e.length-1;return r==i?e.pop():mPe.call(e,r,1),--this.size,!0}var pPe,mPe,Gre,Vre=P(()=>{"use strict";ib();pPe=Array.prototype,mPe=pPe.splice;o(gPe,"listCacheDelete");Gre=gPe});function yPe(t){var e=this.__data__,r=Jf(e,t);return r<0?void 0:e[r][1]}var qre,Wre=P(()=>{"use strict";ib();o(yPe,"listCacheGet");qre=yPe});function vPe(t){return Jf(this.__data__,t)>-1}var Ure,Hre=P(()=>{"use strict";ib();o(vPe,"listCacheHas");Ure=vPe});function xPe(t,e){var r=this.__data__,i=Jf(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}var Yre,jre=P(()=>{"use strict";ib();o(xPe,"listCacheSet");Yre=xPe});function l1(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";zre();Vre();Wre();Hre();jre();o(l1,"ListCache");l1.prototype.clear=$re;l1.prototype.delete=Gre;l1.prototype.get=qre;l1.prototype.has=Ure;l1.prototype.set=Yre;ed=l1});var bPe,td,D3=P(()=>{"use strict";Zf();Al();bPe=mo(In,"Map"),td=bPe});function TPe(){this.size=0,this.__data__={hash:new XN,map:new(td||ed),string:new XN}}var Xre,Kre=P(()=>{"use strict";Fre();nb();D3();o(TPe,"mapCacheClear");Xre=TPe});function kPe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var Qre,Zre=P(()=>{"use strict";o(kPe,"isKeyable");Qre=kPe});function CPe(t,e){var r=t.__data__;return Qre(e)?r[typeof e=="string"?"string":"hash"]:r.map}var rd,ab=P(()=>{"use strict";Zre();o(CPe,"getMapData");rd=CPe});function wPe(t){var e=rd(this,t).delete(t);return this.size-=e?1:0,e}var Jre,eie=P(()=>{"use strict";ab();o(wPe,"mapCacheDelete");Jre=wPe});function EPe(t){return rd(this,t).get(t)}var tie,rie=P(()=>{"use strict";ab();o(EPe,"mapCacheGet");tie=EPe});function SPe(t){return rd(this,t).has(t)}var iie,nie=P(()=>{"use strict";ab();o(SPe,"mapCacheHas");iie=SPe});function APe(t,e){var r=rd(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}var aie,sie=P(()=>{"use strict";ab();o(APe,"mapCacheSet");aie=APe});function c1(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";Kre();eie();rie();nie();sie();o(c1,"MapCache");c1.prototype.clear=Xre;c1.prototype.delete=Jre;c1.prototype.get=tie;c1.prototype.has=iie;c1.prototype.set=aie;b0=c1});function KN(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(_Pe);var r=o(function(){var i=arguments,n=e?e.apply(this,i):i[0],a=r.cache;if(a.has(n))return a.get(n);var s=t.apply(this,i);return r.cache=a.set(n,s)||a,s},"memoized");return r.cache=new(KN.Cache||b0),r}var _Pe,u1,QN=P(()=>{"use strict";L3();_Pe="Expected a function";o(KN,"memoize");KN.Cache=b0;u1=KN});function DPe(){this.__data__=new ed,this.size=0}var oie,lie=P(()=>{"use strict";nb();o(DPe,"stackClear");oie=DPe});function LPe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var cie,uie=P(()=>{"use strict";o(LPe,"stackDelete");cie=LPe});function RPe(t){return this.__data__.get(t)}var hie,fie=P(()=>{"use strict";o(RPe,"stackGet");hie=RPe});function NPe(t){return this.__data__.has(t)}var die,pie=P(()=>{"use strict";o(NPe,"stackHas");die=NPe});function MPe(t,e){var r=this.__data__;if(r instanceof ed){var i=r.__data__;if(!td||i.length{"use strict";nb();D3();L3();IPe=200;o(MPe,"stackSet");mie=MPe});function h1(t){var e=this.__data__=new ed(t);this.size=e.size}var vu,sb=P(()=>{"use strict";nb();lie();uie();fie();pie();gie();o(h1,"Stack");h1.prototype.clear=oie;h1.prototype.delete=cie;h1.prototype.get=hie;h1.prototype.has=die;h1.prototype.set=mie;vu=h1});var OPe,f1,ZN=P(()=>{"use strict";Zf();OPe=(function(){try{var t=mo(Object,"defineProperty");return t({},"",{}),t}catch{}})(),f1=OPe});function PPe(t,e,r){e=="__proto__"&&f1?f1(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var xu,d1=P(()=>{"use strict";ZN();o(PPe,"baseAssignValue");xu=PPe});function BPe(t,e,r){(r!==void 0&&!_l(t[e],r)||r===void 0&&!(e in t))&&xu(t,e,r)}var ob,JN=P(()=>{"use strict";d1();x0();o(BPe,"assignMergeValue");ob=BPe});function FPe(t){return function(e,r,i){for(var n=-1,a=Object(e),s=i(e),l=s.length;l--;){var u=s[t?l:++n];if(r(a[u],u,a)===!1)break}return e}}var yie,vie=P(()=>{"use strict";o(FPe,"createBaseFor");yie=FPe});var $Pe,p1,R3=P(()=>{"use strict";vie();$Pe=yie(),p1=$Pe});function GPe(t,e){if(e)return t.slice();var r=t.length,i=Tie?Tie(r):new t.constructor(r);return t.copy(i),i}var kie,xie,zPe,bie,Tie,N3,eI=P(()=>{"use strict";Al();kie=typeof exports=="object"&&exports&&!exports.nodeType&&exports,xie=kie&&typeof module=="object"&&module&&!module.nodeType&&module,zPe=xie&&xie.exports===kie,bie=zPe?In.Buffer:void 0,Tie=bie?bie.allocUnsafe:void 0;o(GPe,"cloneBuffer");N3=GPe});var VPe,m1,tI=P(()=>{"use strict";Al();VPe=In.Uint8Array,m1=VPe});function qPe(t){var e=new t.constructor(t.byteLength);return new m1(e).set(new m1(t)),e}var g1,I3=P(()=>{"use strict";tI();o(qPe,"cloneArrayBuffer");g1=qPe});function WPe(t,e){var r=e?g1(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var M3,rI=P(()=>{"use strict";I3();o(WPe,"cloneTypedArray");M3=WPe});function UPe(t,e){var r=-1,i=t.length;for(e||(e=Array(i));++r{"use strict";o(UPe,"copyArray");O3=UPe});var Cie,HPe,wie,Eie=P(()=>{"use strict";Zo();Cie=Object.create,HPe=(function(){function t(){}return o(t,"object"),function(e){if(!Gi(e))return{};if(Cie)return Cie(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}})(),wie=HPe});function YPe(t,e){return function(r){return t(e(r))}}var P3,nI=P(()=>{"use strict";o(YPe,"overArg");P3=YPe});var jPe,y1,B3=P(()=>{"use strict";nI();jPe=P3(Object.getPrototypeOf,Object),y1=jPe});function KPe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||XPe;return t===r}var XPe,bu,v1=P(()=>{"use strict";XPe=Object.prototype;o(KPe,"isPrototype");bu=KPe});function QPe(t){return typeof t.constructor=="function"&&!bu(t)?wie(y1(t)):{}}var F3,aI=P(()=>{"use strict";Eie();B3();v1();o(QPe,"initCloneObject");F3=QPe});function ZPe(t){return t!=null&&typeof t=="object"}var En,Dl=P(()=>{"use strict";o(ZPe,"isObjectLike");En=ZPe});function eBe(t){return En(t)&&Xa(t)==JPe}var JPe,sI,Sie=P(()=>{"use strict";Oh();Dl();JPe="[object Arguments]";o(eBe,"baseIsArguments");sI=eBe});var Aie,tBe,rBe,iBe,Sc,x1=P(()=>{"use strict";Sie();Dl();Aie=Object.prototype,tBe=Aie.hasOwnProperty,rBe=Aie.propertyIsEnumerable,iBe=sI((function(){return arguments})())?sI:function(t){return En(t)&&tBe.call(t,"callee")&&!rBe.call(t,"callee")},Sc=iBe});var nBe,Gt,fn=P(()=>{"use strict";nBe=Array.isArray,Gt=nBe});function sBe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=aBe}var aBe,b1,$3=P(()=>{"use strict";aBe=9007199254740991;o(sBe,"isLength");b1=sBe});function oBe(t){return t!=null&&b1(t.length)&&!Qn(t)}var Mn,Ll=P(()=>{"use strict";tb();$3();o(oBe,"isArrayLike");Mn=oBe});function lBe(t){return En(t)&&Mn(t)}var T0,z3=P(()=>{"use strict";Ll();Dl();o(lBe,"isArrayLikeObject");T0=lBe});function cBe(){return!1}var _ie,Die=P(()=>{"use strict";o(cBe,"stubFalse");_ie=cBe});var Nie,Lie,uBe,Rie,hBe,fBe,Ac,T1=P(()=>{"use strict";Al();Die();Nie=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Lie=Nie&&typeof module=="object"&&module&&!module.nodeType&&module,uBe=Lie&&Lie.exports===Nie,Rie=uBe?In.Buffer:void 0,hBe=Rie?Rie.isBuffer:void 0,fBe=hBe||_ie,Ac=fBe});function vBe(t){if(!En(t)||Xa(t)!=dBe)return!1;var e=y1(t);if(e===null)return!0;var r=gBe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&Iie.call(r)==yBe}var dBe,pBe,mBe,Iie,gBe,yBe,Mie,Oie=P(()=>{"use strict";Oh();B3();Dl();dBe="[object Object]",pBe=Function.prototype,mBe=Object.prototype,Iie=pBe.toString,gBe=mBe.hasOwnProperty,yBe=Iie.call(Object);o(vBe,"isPlainObject");Mie=vBe});function qBe(t){return En(t)&&b1(t.length)&&!!ln[Xa(t)]}var xBe,bBe,TBe,kBe,CBe,wBe,EBe,SBe,ABe,_Be,DBe,LBe,RBe,NBe,IBe,MBe,OBe,PBe,BBe,FBe,$Be,zBe,GBe,VBe,ln,Pie,Bie=P(()=>{"use strict";Oh();$3();Dl();xBe="[object Arguments]",bBe="[object Array]",TBe="[object Boolean]",kBe="[object Date]",CBe="[object Error]",wBe="[object Function]",EBe="[object Map]",SBe="[object Number]",ABe="[object Object]",_Be="[object RegExp]",DBe="[object Set]",LBe="[object String]",RBe="[object WeakMap]",NBe="[object ArrayBuffer]",IBe="[object DataView]",MBe="[object Float32Array]",OBe="[object Float64Array]",PBe="[object Int8Array]",BBe="[object Int16Array]",FBe="[object Int32Array]",$Be="[object Uint8Array]",zBe="[object Uint8ClampedArray]",GBe="[object Uint16Array]",VBe="[object Uint32Array]",ln={};ln[MBe]=ln[OBe]=ln[PBe]=ln[BBe]=ln[FBe]=ln[$Be]=ln[zBe]=ln[GBe]=ln[VBe]=!0;ln[xBe]=ln[bBe]=ln[NBe]=ln[TBe]=ln[IBe]=ln[kBe]=ln[CBe]=ln[wBe]=ln[EBe]=ln[SBe]=ln[ABe]=ln[_Be]=ln[DBe]=ln[LBe]=ln[RBe]=!1;o(qBe,"baseIsTypedArray");Pie=qBe});function WBe(t){return function(e){return t(e)}}var Rl,k0=P(()=>{"use strict";o(WBe,"baseUnary");Rl=WBe});var Fie,lb,UBe,oI,HBe,Nl,cb=P(()=>{"use strict";YN();Fie=typeof exports=="object"&&exports&&!exports.nodeType&&exports,lb=Fie&&typeof module=="object"&&module&&!module.nodeType&&module,UBe=lb&&lb.exports===Fie,oI=UBe&&A3.process,HBe=(function(){try{var t=lb&&lb.require&&lb.require("util").types;return t||oI&&oI.binding&&oI.binding("util")}catch{}})(),Nl=HBe});var $ie,YBe,id,ub=P(()=>{"use strict";Bie();k0();cb();$ie=Nl&&Nl.isTypedArray,YBe=$ie?Rl($ie):Pie,id=YBe});function jBe(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var hb,lI=P(()=>{"use strict";o(jBe,"safeGet");hb=jBe});function QBe(t,e,r){var i=t[e];(!(KBe.call(t,e)&&_l(i,r))||r===void 0&&!(e in t))&&xu(t,e,r)}var XBe,KBe,Tu,k1=P(()=>{"use strict";d1();x0();XBe=Object.prototype,KBe=XBe.hasOwnProperty;o(QBe,"assignValue");Tu=QBe});function ZBe(t,e,r,i){var n=!r;r||(r={});for(var a=-1,s=e.length;++a{"use strict";k1();d1();o(ZBe,"copyObject");Il=ZBe});function JBe(t,e){for(var r=-1,i=Array(t);++r{"use strict";o(JBe,"baseTimes");zie=JBe});function rFe(t,e){var r=typeof t;return e=e??eFe,!!e&&(r=="number"||r!="symbol"&&tFe.test(t))&&t>-1&&t%1==0&&t{"use strict";eFe=9007199254740991,tFe=/^(?:0|[1-9]\d*)$/;o(rFe,"isIndex");nd=rFe});function aFe(t,e){var r=Gt(t),i=!r&&Sc(t),n=!r&&!i&&Ac(t),a=!r&&!i&&!n&&id(t),s=r||i||n||a,l=s?zie(t.length,String):[],u=l.length;for(var h in t)(e||nFe.call(t,h))&&!(s&&(h=="length"||n&&(h=="offset"||h=="parent")||a&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||nd(h,u)))&&l.push(h);return l}var iFe,nFe,G3,cI=P(()=>{"use strict";Gie();x1();fn();T1();fb();ub();iFe=Object.prototype,nFe=iFe.hasOwnProperty;o(aFe,"arrayLikeKeys");G3=aFe});function sFe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var Vie,qie=P(()=>{"use strict";o(sFe,"nativeKeysIn");Vie=sFe});function cFe(t){if(!Gi(t))return Vie(t);var e=bu(t),r=[];for(var i in t)i=="constructor"&&(e||!lFe.call(t,i))||r.push(i);return r}var oFe,lFe,Wie,Uie=P(()=>{"use strict";Zo();v1();qie();oFe=Object.prototype,lFe=oFe.hasOwnProperty;o(cFe,"baseKeysIn");Wie=cFe});function uFe(t){return Mn(t)?G3(t,!0):Wie(t)}var go,ad=P(()=>{"use strict";cI();Uie();Ll();o(uFe,"keysIn");go=uFe});function hFe(t){return Il(t,go(t))}var Hie,Yie=P(()=>{"use strict";C0();ad();o(hFe,"toPlainObject");Hie=hFe});function fFe(t,e,r,i,n,a,s){var l=hb(t,r),u=hb(e,r),h=s.get(u);if(h){ob(t,r,h);return}var f=a?a(l,u,r+"",t,e,s):void 0,d=f===void 0;if(d){var p=Gt(u),m=!p&&Ac(u),g=!p&&!m&&id(u);f=u,p||m||g?Gt(l)?f=l:T0(l)?f=O3(l):m?(d=!1,f=N3(u,!0)):g?(d=!1,f=M3(u,!0)):f=[]:Mie(u)||Sc(u)?(f=l,Sc(l)?f=Hie(l):(!Gi(l)||Qn(l))&&(f=F3(u))):d=!1}d&&(s.set(u,f),n(f,u,i,a,s),s.delete(u)),ob(t,r,f)}var jie,Xie=P(()=>{"use strict";JN();eI();rI();iI();aI();x1();fn();z3();T1();tb();Zo();Oie();ub();lI();Yie();o(fFe,"baseMergeDeep");jie=fFe});function Kie(t,e,r,i,n){t!==e&&p1(e,function(a,s){if(n||(n=new vu),Gi(a))jie(t,e,s,r,Kie,i,n);else{var l=i?i(hb(t,s),a,s+"",t,e,n):void 0;l===void 0&&(l=a),ob(t,s,l)}},go)}var Qie,Zie=P(()=>{"use strict";sb();JN();R3();Xie();Zo();ad();lI();o(Kie,"baseMerge");Qie=Kie});function dFe(t){return t}var La,Fh=P(()=>{"use strict";o(dFe,"identity");La=dFe});function pFe(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var Jie,ene=P(()=>{"use strict";o(pFe,"apply");Jie=pFe});function mFe(t,e,r){return e=tne(e===void 0?t.length-1:e,0),function(){for(var i=arguments,n=-1,a=tne(i.length-e,0),s=Array(a);++n{"use strict";ene();tne=Math.max;o(mFe,"overRest");V3=mFe});function gFe(t){return function(){return t}}var yo,hI=P(()=>{"use strict";o(gFe,"constant");yo=gFe});var yFe,rne,ine=P(()=>{"use strict";hI();ZN();Fh();yFe=f1?function(t,e){return f1(t,"toString",{configurable:!0,enumerable:!1,value:yo(e),writable:!0})}:La,rne=yFe});function TFe(t){var e=0,r=0;return function(){var i=bFe(),n=xFe-(i-r);if(r=i,n>0){if(++e>=vFe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var vFe,xFe,bFe,nne,ane=P(()=>{"use strict";vFe=800,xFe=16,bFe=Date.now;o(TFe,"shortOut");nne=TFe});var kFe,q3,fI=P(()=>{"use strict";ine();ane();kFe=nne(rne),q3=kFe});function CFe(t,e){return q3(V3(t,e,La),t+"")}var ku,C1=P(()=>{"use strict";Fh();uI();fI();o(CFe,"baseRest");ku=CFe});function wFe(t,e,r){if(!Gi(r))return!1;var i=typeof e;return(i=="number"?Mn(r)&&nd(e,r.length):i=="string"&&e in r)?_l(r[e],t):!1}var Jo,w0=P(()=>{"use strict";x0();Ll();fb();Zo();o(wFe,"isIterateeCall");Jo=wFe});function EFe(t){return ku(function(e,r){var i=-1,n=r.length,a=n>1?r[n-1]:void 0,s=n>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(n--,a):void 0,s&&Jo(r[0],r[1],s)&&(a=n<3?void 0:a,n=1),e=Object(e);++i{"use strict";C1();w0();o(EFe,"createAssigner");W3=EFe});var SFe,sd,pI=P(()=>{"use strict";Zie();dI();SFe=W3(function(t,e,r){Qie(t,e,r)}),sd=SFe});function yI(t,e){if(!t)return e;let r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return AFe[r]??e}function RFe(t,e){let r=t.trim();if(r)return e.securityLevel!=="loose"?(0,lne.sanitizeUrl)(r):r}function hne(t,e){return!t||!e?0:Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function IFe(t){let e,r=0;t.forEach(n=>{r+=hne(n,e),e=n});let i=r/2;return vI(t,i)}function MFe(t){return t.length===1?t[0]:IFe(t)}function PFe(t,e,r){let i=structuredClone(r);Q.info("our points",i),e!=="start_left"&&e!=="start_right"&&i.reverse();let n=25+t,a=vI(i,n),s=10+t*.5,l=Math.atan2(i[0].y-a.y,i[0].x-a.x),u={x:0,y:0};return e==="start_left"?(u.x=Math.sin(l+Math.PI)*s+(i[0].x+a.x)/2,u.y=-Math.cos(l+Math.PI)*s+(i[0].y+a.y)/2):e==="end_right"?(u.x=Math.sin(l-Math.PI)*s+(i[0].x+a.x)/2-5,u.y=-Math.cos(l-Math.PI)*s+(i[0].y+a.y)/2-5):e==="end_left"?(u.x=Math.sin(l)*s+(i[0].x+a.x)/2-5,u.y=-Math.cos(l)*s+(i[0].y+a.y)/2-5):(u.x=Math.sin(l)*s+(i[0].x+a.x)/2,u.y=-Math.cos(l)*s+(i[0].y+a.y)/2),u}function xI(t){let e="",r="";for(let i of t)i!==void 0&&(i.startsWith("color:")||i.startsWith("text-align:")?r=r+i+";":e=e+i+";");return{style:e,labelStyle:r}}function BFe(t){let e="",r="0123456789abcdef",i=r.length;for(let n=0;nMath.round(parseFloat(a)).toString());return n.includes(r.toString())||n.includes(i.toString())}var lne,gI,AFe,_Fe,DFe,cne,une,LFe,NFe,sne,vI,OFe,one,bI,TI,FFe,$Fe,kI,zFe,CI,mI,U3,GFe,VFe,$s,Kt,fne,zs,Cu,er=P(()=>{"use strict";lne=Wa(s1(),1);Pr();Vr();iD();bt();Kp();kg();QN();pI();ew();gI="\u200B",AFe={curveBasis:wc,curveBasisClosed:f3,curveBasisOpen:d3,curveBumpX:z2,curveBumpY:G2,curveBundle:MN,curveCardinalClosed:ON,curveCardinalOpen:BN,curveCardinal:U2,curveCatmullRomClosed:$N,curveCatmullRomOpen:zN,curveCatmullRom:j2,curveLinear:yu,curveLinearClosed:v3,curveMonotoneX:X2,curveMonotoneY:K2,curveNatural:n1,curveStep:a1,curveStepAfter:Z2,curveStepBefore:Q2},_Fe=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,DFe=o(function(t,e){let r=cne(t,/(?:init\b)|(?:initialize\b)/),i={};if(Array.isArray(r)){let s=r.map(l=>l.args);Eg(s),i=Yi(i,[...s])}else i=r.args;if(!i)return;let n=Ig(t,e),a="config";return i[a]!==void 0&&(n==="flowchart-v2"&&(n="flowchart"),i[n]=i[a],delete i[a]),i},"detectInit"),cne=o(function(t,e=null){try{let r=new RegExp(`[%]{2}(?![{]${_Fe.source})(?=[}][%]{2}).* -`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),Q.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let i,n=[];for(;(i=Xp.exec(t))!==null;)if(i.index===Xp.lastIndex&&Xp.lastIndex++,i&&!e||e&&i[1]?.match(e)||e&&i[2]?.match(e)){let a=i[1]?i[1]:i[2],s=i[3]?i[3].trim():i[4]?JSON.parse(i[4].trim()):null;n.push({type:a,args:s})}return n.length===0?{type:t,args:null}:n.length===1?n[0]:n}catch(r){return Q.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),une=o(function(t){return t.replace(Xp,"")},"removeDirectives"),LFe=o(function(t,e){for(let[r,i]of e.entries())if(i.match(t))return r;return-1},"isSubstringInArray");o(yI,"interpolateToCurve");o(RFe,"formatUrl");NFe=o((t,...e)=>{let r=t.split("."),i=r.length-1,n=r[i],a=window;for(let s=0;s{let r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),vI=o((t,e)=>{let r,i=e;for(let n of t){if(r){let a=hne(n,r);if(a===0)return r;if(a=1)return{x:n.x,y:n.y};if(s>0&&s<1)return{x:sne((1-s)*r.x+s*n.x,5),y:sne((1-s)*r.y+s*n.y,5)}}}r=n}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),OFe=o((t,e,r)=>{Q.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());let n=vI(e,25),a=t?10:5,s=Math.atan2(e[0].y-n.y,e[0].x-n.x),l={x:0,y:0};return l.x=Math.sin(s)*a+(e[0].x+n.x)/2,l.y=-Math.cos(s)*a+(e[0].y+n.y)/2,l},"calcCardinalityPosition");o(PFe,"calcTerminalLabelPosition");o(xI,"getStylesFromArray");one=0,bI=o(()=>(one++,"id-"+Math.random().toString(36).substr(2,12)+"-"+one),"generateId");o(BFe,"makeRandomHex");TI=o(t=>BFe(t.length),"random"),FFe=o(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),$Fe=o(function(t,e){let r=e.text.replace(lt.lineBreakRegex," "),[,i]=$s(e.fontSize),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.style("text-anchor",e.anchor),n.style("font-family",e.fontFamily),n.style("font-size",i),n.style("font-weight",e.fontWeight),n.attr("fill",e.fill),e.class!==void 0&&n.attr("class",e.class);let a=n.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),n},"drawSimpleText"),kI=u1((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},r),lt.lineBreakRegex.test(t)))return t;let i=t.split(" ").filter(Boolean),n=[],a="";return i.forEach((s,l)=>{let u=Ra(`${s} `,r),h=Ra(a,r);if(u>e){let{hyphenatedStrings:p,remainingWord:m}=zFe(s,e,"-",r);n.push(a,...p),a=m}else h+u>=e?(n.push(a),a=s):a=[a,s].filter(Boolean).join(" ");l+1===i.length&&n.push(a)}),n.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),zFe=u1((t,e,r="-",i)=>{i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},i);let n=[...t],a=[],s="";return n.forEach((l,u)=>{let h=`${s}${l}`;if(Ra(h,i)>=e){let d=u+1,p=n.length===d,m=`${h}${r}`;a.push(p?h:m),s=""}else s=h}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",i)=>`${t}${e}${r}${i.fontSize}${i.fontWeight}${i.fontFamily}`);o(H3,"calculateTextHeight");o(Ra,"calculateTextWidth");CI=u1((t,e)=>{let{fontSize:r=12,fontFamily:i="Arial",fontWeight:n=400}=e;if(!t)return{width:0,height:0};let[,a]=$s(r),s=["sans-serif",i],l=t.split(lt.lineBreakRegex),u=[],h=Ze("body");if(!h.remove)return{width:0,height:0,lineHeight:0};let f=h.append("svg");for(let p of s){let m=0,g={width:0,height:0,lineHeight:0};for(let y of l){let v=FFe();v.text=y||gI;let x=$Fe(f,v).style("font-size",a).style("font-weight",n).style("font-family",p),b=(x._groups||x)[0][0].getBBox();if(b.width===0&&b.height===0)throw new Error("svg element not in render tree");g.width=Math.round(Math.max(g.width,b.width)),m=Math.round(b.height),g.height+=m,g.lineHeight=Math.round(Math.max(g.lineHeight,m))}u.push(g)}f.remove();let d=isNaN(u[1].height)||isNaN(u[1].width)||isNaN(u[1].lineHeight)||u[0].height>u[1].height&&u[0].width>u[1].width&&u[0].lineHeight>u[1].lineHeight?0:1;return u[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),mI=class{constructor(e=!1,r){this.count=0;this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}static{o(this,"InitIDGenerator")}},GFe=o(function(t){return U3=U3||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),U3.innerHTML=t,unescape(U3.textContent)},"entityDecode");o(wI,"isDetailedError");VFe=o((t,e,r,i)=>{if(!i)return;let n=t.node()?.getBBox();n&&t.append("text").text(i).attr("text-anchor","middle").attr("x",n.x+n.width/2).attr("y",-r).attr("class",e)},"insertTitle"),$s=o(t=>{if(typeof t=="number")return[t,t+"px"];let e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");o(fi,"cleanAndMerge");Kt={assignWithDepth:Yi,wrapLabel:kI,calculateTextHeight:H3,calculateTextWidth:Ra,calculateTextDimensions:CI,cleanAndMerge:fi,detectInit:DFe,detectDirective:cne,isSubstringInArray:LFe,interpolateToCurve:yI,calcLabelPosition:MFe,calcCardinalityPosition:OFe,calcTerminalLabelPosition:PFe,formatUrl:RFe,getStylesFromArray:xI,generateId:bI,random:TI,runFunc:NFe,entityDecode:GFe,insertTitle:VFe,isLabelCoordinateInPath:qFe,parseFontSize:$s,InitIDGenerator:mI},fne=o(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){let i=r.substring(1,r.length-1);return/^\+?\d+$/.test(i)?"\uFB02\xB0\xB0"+i+"\xB6\xDF":"\uFB02\xB0"+i+"\xB6\xDF"}),e},"encodeEntities"),zs=o(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),Cu=o((t,e,{counter:r=0,prefix:i,suffix:n},a)=>a||`${i?`${i}_`:""}${t}_${e}_${r}${n?`_${n}`:""}`,"getEdgeId");o(xi,"handleUndefinedAttr");o(qFe,"isLabelCoordinateInPath")});function _c(t,e,r,i,n){if(!e[t].width)if(r)e[t].text=kI(e[t].text,n,i),e[t].textLines=e[t].text.split(lt.lineBreakRegex).length,e[t].width=n,e[t].height=H3(e[t].text,i);else{let a=e[t].text.split(lt.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(let l of a)e[t].width=Math.max(Ra(l,i),e[t].width),s=H3(l,i),e[t].height=e[t].height+s}}function yne(t,e,r,i,n){let a=new K3(n);a.data.widthLimit=r.data.widthLimit/Math.min(EI,i.length);for(let[s,l]of i.entries()){let u=0;l.image={width:0,height:0,Y:0},l.sprite&&(l.image.width=48,l.image.height=48,l.image.Y=u,u=l.image.Y+l.image.height);let h=l.wrap&&tr.wrap,f=Y3(tr);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",_c("label",l,h,f,a.data.widthLimit),l.label.Y=u+8,u=l.label.Y+l.label.height,l.type&&l.type.text!==""){l.type.text="["+l.type.text+"]";let g=Y3(tr);_c("type",l,h,g,a.data.widthLimit),l.type.Y=u+5,u=l.type.Y+l.type.height}if(l.descr&&l.descr.text!==""){let g=Y3(tr);g.fontSize=g.fontSize-2,_c("descr",l,h,g,a.data.widthLimit),l.descr.Y=u+20,u=l.descr.Y+l.descr.height}if(s==0||s%EI===0){let g=r.data.startx+tr.diagramMarginX,y=r.data.stopy+tr.diagramMarginY+u;a.setData(g,g,y,y)}else{let g=a.data.stopx!==a.data.startx?a.data.stopx+tr.diagramMarginX:a.data.startx,y=a.data.starty;a.setData(g,g,y,y)}a.name=l.alias;let d=n.db.getC4ShapeArray(l.alias),p=n.db.getC4ShapeKeys(l.alias);p.length>0&&gne(a,t,d,p),e=l.alias;let m=n.db.getBoundaries(e);m.length>0&&yne(t,e,a,m,n),l.alias!=="global"&&mne(t,l,a),r.data.stopy=Math.max(a.data.stopy+tr.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+tr.c4ShapeMargin,r.data.stopx),j3=Math.max(j3,r.data.stopx),X3=Math.max(X3,r.data.stopy)}}var j3,X3,pne,EI,tr,K3,SI,db,Y3,WFe,mne,gne,vo,dne,UFe,HFe,YFe,AI,vne=P(()=>{"use strict";Pr();dre();bt();uL();Vr();bL();Ut();kg();er();Xi();j3=0,X3=0,pne=4,EI=2;Jx.yy=a2;tr={},K3=class{static{o(this,"Bounds")}constructor(e){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,SI(e.db.getConfig())}setData(e,r,i,n){this.nextData.startx=this.data.startx=e,this.nextData.stopx=this.data.stopx=r,this.nextData.starty=this.data.starty=i,this.nextData.stopy=this.data.stopy=n}updateVal(e,r,i,n){e[r]===void 0?e[r]=i:e[r]=n(i,e[r])}insert(e){this.nextData.cnt=this.nextData.cnt+1;let r=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+e.margin:this.nextData.stopx+e.margin*2,i=r+e.width,n=this.nextData.starty+e.margin*2,a=n+e.height;(r>=this.data.widthLimit||i>=this.data.widthLimit||this.nextData.cnt>pne)&&(r=this.nextData.startx+e.margin+tr.nextLinePaddingX,n=this.nextData.stopy+e.margin*2,this.nextData.stopx=i=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=n+e.height,this.nextData.cnt=1),e.x=r,e.y=n,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",n,Math.min),this.updateVal(this.data,"stopx",i,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",n,Math.min),this.updateVal(this.nextData,"stopx",i,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},SI(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},SI=o(function(t){Yi(tr,t),t.fontFamily&&(tr.personFontFamily=tr.systemFontFamily=tr.messageFontFamily=t.fontFamily),t.fontSize&&(tr.personFontSize=tr.systemFontSize=tr.messageFontSize=t.fontSize),t.fontWeight&&(tr.personFontWeight=tr.systemFontWeight=tr.messageFontWeight=t.fontWeight)},"setConf"),db=o((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),Y3=o(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),WFe=o(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");o(_c,"calcC4ShapeTextWH");mne=o(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=tr.c4ShapeMargin-35;let i=e.wrap&&tr.wrap,n=Y3(tr);n.fontSize=n.fontSize+2,n.fontWeight="bold";let a=Ra(e.label.text,n);_c("label",e,i,n,a),Ec.drawBoundary(t,e,tr)},"drawBoundary"),gne=o(function(t,e,r,i){let n=0;for(let a of i){n=0;let s=r[a],l=db(tr,s.typeC4Shape.text);switch(l.fontSize=l.fontSize-2,s.typeC4Shape.width=Ra("\xAB"+s.typeC4Shape.text+"\xBB",l),s.typeC4Shape.height=l.fontSize+2,s.typeC4Shape.Y=tr.c4ShapePadding,n=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=n,n=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=n,n=s.image.Y+s.image.height);let u=s.wrap&&tr.wrap,h=tr.width-tr.c4ShapePadding*2,f=db(tr,s.typeC4Shape.text);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",_c("label",s,u,f,h),s.label.Y=n+8,n=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let m=db(tr,s.typeC4Shape.text);_c("type",s,u,m,h),s.type.Y=n+5,n=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let m=db(tr,s.techn.text);_c("techn",s,u,m,h),s.techn.Y=n+5,n=s.techn.Y+s.techn.height}let d=n,p=s.label.width;if(s.descr&&s.descr.text!==""){let m=db(tr,s.typeC4Shape.text);_c("descr",s,u,m,h),s.descr.Y=n+20,n=s.descr.Y+s.descr.height,p=Math.max(s.label.width,s.descr.width),d=n-s.descr.textLines*5}p=p+tr.c4ShapePadding,s.width=Math.max(s.width||tr.width,p,tr.width),s.height=Math.max(s.height||tr.height,d,tr.height),s.margin=s.margin||tr.c4ShapeMargin,t.insert(s),Ec.drawC4Shape(e,s,tr)}t.bumpLastMargin(tr.c4ShapeMargin)},"drawC4ShapeArray"),vo=class{static{o(this,"Point")}constructor(e,r){this.x=e,this.y=r}},dne=o(function(t,e){let r=t.x,i=t.y,n=e.x,a=e.y,s=r+t.width/2,l=i+t.height/2,u=Math.abs(r-n),h=Math.abs(i-a),f=h/u,d=t.height/t.width,p=null;return i==a&&rn?p=new vo(r,l):r==n&&ia&&(p=new vo(s,i)),r>n&&i=f?p=new vo(r,l+f*t.width/2):p=new vo(s-u/h*t.height/2,i+t.height):r=f?p=new vo(r+t.width,l+f*t.width/2):p=new vo(s+u/h*t.height/2,i+t.height):ra?d>=f?p=new vo(r+t.width,l-f*t.width/2):p=new vo(s+t.height/2*u/h,i):r>n&&i>a&&(d>=f?p=new vo(r,l-t.width/2*f):p=new vo(s-t.height/2*u/h,i)),p},"getIntersectPoint"),UFe=o(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let i=dne(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let n=dne(e,r);return{startPoint:i,endPoint:n}},"getIntersectPoints"),HFe=o(function(t,e,r,i,n){let a=0;for(let s of e){a=a+1;let l=s.wrap&&tr.wrap,u=WFe(tr);i.db.getC4Type()==="C4Dynamic"&&(s.label.text=a+": "+s.label.text);let f=Ra(s.label.text,u);_c("label",s,l,u,f),s.techn&&s.techn.text!==""&&(f=Ra(s.techn.text,u),_c("techn",s,l,u,f)),s.descr&&s.descr.text!==""&&(f=Ra(s.descr.text,u),_c("descr",s,l,u,f));let d=r(s.from),p=r(s.to),m=UFe(d,p);s.startPoint=m.startPoint,s.endPoint=m.endPoint}Ec.drawRels(t,e,tr,n)},"drawRels");o(yne,"drawInsideBoundary");YFe=o(function(t,e,r,i){tr=ge().c4;let n=ge().securityLevel,a;n==="sandbox"&&(a=Ze("#i"+e));let s=n==="sandbox"?Ze(a.nodes()[0].contentDocument.body):Ze("body"),l=i.db;i.db.setWrap(tr.wrap),pne=l.getC4ShapeInRow(),EI=l.getC4BoundaryInRow(),Q.debug(`C:${JSON.stringify(tr,null,2)}`);let u=n==="sandbox"?s.select(`[id="${e}"]`):Ze(`[id="${e}"]`);Ec.insertComputerIcon(u,e),Ec.insertDatabaseIcon(u,e),Ec.insertClockIcon(u,e);let h=new K3(i);h.setData(tr.diagramMarginX,tr.diagramMarginX,tr.diagramMarginY,tr.diagramMarginY),h.data.widthLimit=screen.availWidth,j3=tr.diagramMarginX,X3=tr.diagramMarginY;let f=i.db.getTitle(),d=i.db.getBoundaries("");yne(u,"",h,d,i),Ec.insertArrowHead(u,e),Ec.insertArrowEnd(u,e),Ec.insertArrowCrossHead(u,e),Ec.insertArrowFilledHead(u,e),HFe(u,i.db.getRels(),i.db.getC4Shape,i,e),h.data.stopx=j3,h.data.stopy=X3;let p=h.data,g=p.stopy-p.starty+2*tr.diagramMarginY,v=p.stopx-p.startx+2*tr.diagramMarginX;f&&u.append("text").text(f).attr("x",(p.stopx-p.startx)/2-4*tr.diagramMarginX).attr("y",p.starty+tr.diagramMarginY),Hr(u,g,v,tr.useMaxWidth);let x=f?60:0;u.attr("viewBox",p.startx-tr.diagramMarginX+" -"+(tr.diagramMarginY+x)+" "+v+" "+(g+x)),Q.debug("models:",p)},"draw"),AI={drawPersonOrSystemArray:gne,drawBoundary:mne,setConf:SI,draw:YFe}});var jFe,xne,bne=P(()=>{"use strict";jFe=o(t=>`.person { - stroke: ${t.personBorder}; - fill: ${t.personBkg}; - } -`,"getStyles"),xne=jFe});var Tne={};ur(Tne,{diagram:()=>XFe});var XFe,kne=P(()=>{"use strict";uL();bL();vne();bne();XFe={parser:YK,db:a2,renderer:AI,styles:xne,init:o(({c4:t,wrap:e})=>{AI.setConf(t),a2.setWrap(e)},"init")}});function $ne(t){return typeof t>"u"||t===null}function JFe(t){return typeof t=="object"&&t!==null}function e$e(t){return Array.isArray(t)?t:$ne(t)?[]:[t]}function t$e(t,e){var r,i,n,a;if(e)for(a=Object.keys(e),r=0,i=a.length;rl&&(a=" ... ",e=i-l+a.length),r-i>l&&(s=" ...",r=i+l-s.length),{str:a+t.slice(e,r).replace(/\t/g,"\u2192")+s,pos:i-e+a.length}}function DI(t,e){return ha.repeat(" ",e-t.length)+t}function u$e(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,i=[0],n=[],a,s=-1;a=r.exec(t.buffer);)n.push(a.index),i.push(a.index+a[0].length),t.position<=a.index&&s<0&&(s=i.length-2);s<0&&(s=i.length-1);var l="",u,h,f=Math.min(t.line+e.linesAfter,n.length).toString().length,d=e.maxLength-(e.indent+f+3);for(u=1;u<=e.linesBefore&&!(s-u<0);u++)h=_I(t.buffer,i[s-u],n[s-u],t.position-(i[s]-i[s-u]),d),l=ha.repeat(" ",e.indent)+DI((t.line-u+1).toString(),f)+" | "+h.str+` -`+l;for(h=_I(t.buffer,i[s],n[s],t.position,d),l+=ha.repeat(" ",e.indent)+DI((t.line+1).toString(),f)+" | "+h.str+` -`,l+=ha.repeat("-",e.indent+f+3+h.pos)+`^ -`,u=1;u<=e.linesAfter&&!(s+u>=n.length);u++)h=_I(t.buffer,i[s+u],n[s+u],t.position-(i[s]-i[s+u]),d),l+=ha.repeat(" ",e.indent)+DI((t.line+u+1).toString(),f)+" | "+h.str+` -`;return l.replace(/\n$/,"")}function p$e(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(i){e[String(i)]=r})}),e}function m$e(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(f$e.indexOf(r)===-1)throw new xo('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=p$e(e.styleAliases||null),d$e.indexOf(this.kind)===-1)throw new xo('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}function wne(t,e){var r=[];return t[e].forEach(function(i){var n=r.length;r.forEach(function(a,s){a.tag===i.tag&&a.kind===i.kind&&a.multi===i.multi&&(n=s)}),r[n]=i}),r}function g$e(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function i(n){n.multi?(t.multi[n.kind].push(n),t.multi.fallback.push(n)):t[n.kind][n.tag]=t.fallback[n.tag]=n}for(o(i,"collectType"),e=0,r=arguments.length;e=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}function G$e(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(ha.isNegativeZero(t))return"-0.0";return r=t.toString(10),z$e.test(r)?r.replace("e",".e"):r}function V$e(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||ha.isNegativeZero(t))}function U$e(t){return t===null?!1:Vne.exec(t)!==null||qne.exec(t)!==null}function H$e(t){var e,r,i,n,a,s,l,u=0,h=null,f,d,p;if(e=Vne.exec(t),e===null&&(e=qne.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(a=+e[4],s=+e[5],l=+e[6],e[7]){for(u=e[7].slice(0,3);u.length<3;)u+="0";u=+u}return e[9]&&(f=+e[10],d=+(e[11]||0),h=(f*60+d)*6e4,e[9]==="-"&&(h=-h)),p=new Date(Date.UTC(r,i,n,a,s,l,u)),h&&p.setTime(p.getTime()-h),p}function Y$e(t){return t.toISOString()}function X$e(t){return t==="<<"||t===null}function Q$e(t){if(t===null)return!1;var e,r,i=0,n=t.length,a=PI;for(r=0;r64)){if(e<0)return!1;i+=6}return i%8===0}function Z$e(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,a=PI,s=0,l=[];for(e=0;e>16&255),l.push(s>>8&255),l.push(s&255)),s=s<<6|a.indexOf(i.charAt(e));return r=n%4*6,r===0?(l.push(s>>16&255),l.push(s>>8&255),l.push(s&255)):r===18?(l.push(s>>10&255),l.push(s>>2&255)):r===12&&l.push(s>>4&255),new Uint8Array(l)}function J$e(t){var e="",r=0,i,n,a=t.length,s=PI;for(i=0;i>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]),r=(r<<8)+t[i];return n=a%3,n===0?(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]):n===2?(e+=s[r>>10&63],e+=s[r>>4&63],e+=s[r<<2&63],e+=s[64]):n===1&&(e+=s[r>>2&63],e+=s[r<<4&63],e+=s[64],e+=s[64]),e}function eze(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}function nze(t){if(t===null)return!0;var e=[],r,i,n,a,s,l=t;for(r=0,i=l.length;r>10)+55296,(t-65536&1023)+56320)}function Xne(t,e,r){e==="__proto__"?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}function Cze(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Wne,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Zne(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=h$e(r),new xo(e,r)}function or(t,e){throw Zne(t,e)}function J3(t,e){t.onWarning&&t.onWarning.call(null,Zne(t,e))}function od(t,e,r,i){var n,a,s,l;if(e1&&(t.result+=ha.repeat(` -`,e-1))}function wze(t,e,r){var i,n,a,s,l,u,h,f,d=t.kind,p=t.result,m;if(m=t.input.charCodeAt(t.position),bo(m)||E1(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(n=t.input.charCodeAt(t.position+1),bo(n)||r&&E1(n)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,l=!1;m!==0;){if(m===58){if(n=t.input.charCodeAt(t.position+1),bo(n)||r&&E1(n))break}else if(m===35){if(i=t.input.charCodeAt(t.position-1),bo(i))break}else{if(t.position===t.lineStart&&r5(t)||r&&E1(m))break;if(wu(m))if(u=t.line,h=t.lineStart,f=t.lineIndent,Zn(t,!1,-1),t.lineIndent>=e){l=!0,m=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=u,t.lineStart=h,t.lineIndent=f;break}}l&&(od(t,a,s,!1),FI(t,t.line-u),a=s=t.position,l=!1),S0(m)||(s=t.position+1),m=t.input.charCodeAt(++t.position)}return od(t,a,s,!1),t.result?!0:(t.kind=d,t.result=p,!1)}function Eze(t,e){var r,i,n;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(od(t,i,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)i=t.position,t.position++,n=t.position;else return!0;else wu(r)?(od(t,i,n,!0),FI(t,Zn(t,!1,e)),i=n=t.position):t.position===t.lineStart&&r5(t)?or(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);or(t,"unexpected end of the stream within a single quoted scalar")}function Sze(t,e){var r,i,n,a,s,l;if(l=t.input.charCodeAt(t.position),l!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;(l=t.input.charCodeAt(t.position))!==0;){if(l===34)return od(t,r,t.position,!0),t.position++,!0;if(l===92){if(od(t,r,t.position,!0),l=t.input.charCodeAt(++t.position),wu(l))Zn(t,!1,e);else if(l<256&&Kne[l])t.result+=Qne[l],t.position++;else if((s=bze(l))>0){for(n=s,a=0;n>0;n--)l=t.input.charCodeAt(++t.position),(s=xze(l))>=0?a=(a<<4)+s:or(t,"expected hexadecimal character");t.result+=kze(a),t.position++}else or(t,"unknown escape sequence");r=i=t.position}else wu(l)?(od(t,r,i,!0),FI(t,Zn(t,!1,e)),r=i=t.position):t.position===t.lineStart&&r5(t)?or(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}or(t,"unexpected end of the stream within a double quoted scalar")}function Aze(t,e){var r=!0,i,n,a,s=t.tag,l,u=t.anchor,h,f,d,p,m,g=Object.create(null),y,v,x,b;if(b=t.input.charCodeAt(t.position),b===91)f=93,m=!1,l=[];else if(b===123)f=125,m=!0,l={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=l),b=t.input.charCodeAt(++t.position);b!==0;){if(Zn(t,!0,e),b=t.input.charCodeAt(t.position),b===f)return t.position++,t.tag=s,t.anchor=u,t.kind=m?"mapping":"sequence",t.result=l,!0;r?b===44&&or(t,"expected the node content, but found ','"):or(t,"missed comma between flow collection entries"),v=y=x=null,d=p=!1,b===63&&(h=t.input.charCodeAt(t.position+1),bo(h)&&(d=p=!0,t.position++,Zn(t,!0,e))),i=t.line,n=t.lineStart,a=t.position,A1(t,e,Q3,!1,!0),v=t.tag,y=t.result,Zn(t,!0,e),b=t.input.charCodeAt(t.position),(p||t.line===i)&&b===58&&(d=!0,b=t.input.charCodeAt(++t.position),Zn(t,!0,e),A1(t,e,Q3,!1,!0),x=t.result),m?S1(t,l,g,v,y,x,i,n,a):d?l.push(S1(t,null,g,v,y,x,i,n,a)):l.push(y),Zn(t,!0,e),b=t.input.charCodeAt(t.position),b===44?(r=!0,b=t.input.charCodeAt(++t.position)):r=!1}or(t,"unexpected end of the stream within a flow collection")}function _ze(t,e){var r,i,n=LI,a=!1,s=!1,l=e,u=0,h=!1,f,d;if(d=t.input.charCodeAt(t.position),d===124)i=!1;else if(d===62)i=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)LI===n?n=d===43?Ene:mze:or(t,"repeat of a chomping mode identifier");else if((f=Tze(d))>=0)f===0?or(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?or(t,"repeat of an indentation width identifier"):(l=e+f-1,s=!0);else break;if(S0(d)){do d=t.input.charCodeAt(++t.position);while(S0(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!wu(d)&&d!==0)}for(;d!==0;){for(BI(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!s||t.lineIndentl&&(l=t.lineIndent),wu(d)){u++;continue}if(t.lineIndente)&&u!==0)or(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(v&&(s=t.line,l=t.lineStart,u=t.position),A1(t,e,Z3,!0,n)&&(v?g=t.result:y=t.result),v||(S1(t,d,p,m,g,y,s,l,u),m=g=y=null),Zn(t,!0,-1),b=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&b!==0)or(t,"bad indentation of a mapping entry");else if(t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,p=t.implicitTypes.length;d"),t.result!==null&&g.kind!==t.kind&&or(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+g.kind+'", not "'+t.kind+'"'),g.resolve(t.result,t.tag)?(t.result=g.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):or(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||f}function Ize(t){var e=t.position,r,i,n,a=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(Zn(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(a=!0,s=t.input.charCodeAt(++t.position),r=t.position;s!==0&&!bo(s);)s=t.input.charCodeAt(++t.position);for(i=t.input.slice(r,t.position),n=[],i.length<1&&or(t,"directive name must not be less than one character in length");s!==0;){for(;S0(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!wu(s));break}if(wu(s))break;for(r=t.position;s!==0&&!bo(s);)s=t.input.charCodeAt(++t.position);n.push(t.input.slice(r,t.position))}s!==0&&BI(t),ld.call(_ne,i)?_ne[i](t,i,n):J3(t,'unknown document directive "'+i+'"')}if(Zn(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Zn(t,!0,-1)):a&&or(t,"directives end mark is expected"),A1(t,t.lineIndent-1,Z3,!1,!0),Zn(t,!0,-1),t.checkLineBreaks&&yze.test(t.input.slice(e,t.position))&&J3(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&r5(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Zn(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var i=Jne(t,r);if(typeof e!="function")return i;for(var n=0,a=i.length;n=55296&&r<=56319&&e+1=56320&&i<=57343)?(r-55296)*1024+i-56320+65536:r}function lae(t){var e=/^\n* /;return e.test(t)}function cGe(t,e,r,i,n,a,s,l){var u,h=0,f=null,d=!1,p=!1,m=i!==-1,g=-1,y=oGe(pb(t,0))&&lGe(pb(t,t.length-1));if(e||s)for(u=0;u=65536?u+=2:u++){if(h=pb(t,u),!vb(h))return w1;y=y&&Ine(h,f,l),f=h}else{for(u=0;u=65536?u+=2:u++){if(h=pb(t,u),h===gb)d=!0,m&&(p=p||u-g-1>i&&t[g+1]!==" ",g=u);else if(!vb(h))return w1;y=y&&Ine(h,f,l),f=h}p=p||m&&u-g-1>i&&t[g+1]!==" "}return!d&&!p?y&&!s&&!n(t)?cae:a===yb?w1:MI:r>9&&lae(t)?w1:s?a===yb?w1:MI:p?hae:uae}function uGe(t,e,r,i,n){t.dump=(function(){if(e.length===0)return t.quotingType===yb?'""':"''";if(!t.noCompatMode&&(eGe.indexOf(e)!==-1||tGe.test(e)))return t.quotingType===yb?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),l=i||t.flowLevel>-1&&r>=t.flowLevel;function u(h){return sGe(t,h)}switch(o(u,"testAmbiguity"),cGe(e,l,t.indent,s,u,t.quotingType,t.forceQuotes&&!i,n)){case cae:return e;case MI:return"'"+e.replace(/'/g,"''")+"'";case uae:return"|"+Mne(e,t.indent)+One(Rne(e,a));case hae:return">"+Mne(e,t.indent)+One(Rne(hGe(e,s),a));case w1:return'"'+fGe(e)+'"';default:throw new xo("impossible error: invalid scalar style")}})()}function Mne(t,e){var r=lae(t)?String(e):"",i=t[t.length-1]===` -`,n=i&&(t[t.length-2]===` -`||t===` -`),a=n?"+":i?"":"-";return r+a+` -`}function One(t){return t[t.length-1]===` -`?t.slice(0,-1):t}function hGe(t,e){for(var r=/(\n+)([^\n]*)/g,i=(function(){var h=t.indexOf(` -`);return h=h!==-1?h:t.length,r.lastIndex=h,Pne(t.slice(0,h),e)})(),n=t[0]===` -`||t[0]===" ",a,s;s=r.exec(t);){var l=s[1],u=s[2];a=u[0]===" ",i+=l+(!n&&!a&&u!==""?` -`:"")+Pne(u,e),n=a}return i}function Pne(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,i,n=0,a,s=0,l=0,u="";i=r.exec(t);)l=i.index,l-n>e&&(a=s>n?s:l,u+=` -`+t.slice(n,a),n=a+1),s=l;return u+=` -`,t.length-n>e&&s>n?u+=t.slice(n,s)+` -`+t.slice(s+1):u+=t.slice(n),u.slice(1)}function fGe(t){for(var e="",r=0,i,n=0;n=65536?n+=2:n++)r=pb(t,n),i=fs[r],!i&&vb(r)?(e+=t[n],r>=65536&&(e+=t[n+1])):e+=i||iGe(r);return e}function dGe(t,e,r){var i="",n=t.tag,a,s,l;for(a=0,s=r.length;a"u"&&$h(t,e,null,!1,!1))&&(i!==""&&(i+=","+(t.condenseFlow?"":" ")),i+=t.dump);t.tag=n,t.dump="["+i+"]"}function Bne(t,e,r,i){var n="",a=t.tag,s,l,u;for(s=0,l=r.length;s"u"&&$h(t,e+1,null,!0,!0,!1,!0))&&((!i||n!=="")&&(n+=II(t,e)),t.dump&&gb===t.dump.charCodeAt(0)?n+="-":n+="- ",n+=t.dump);t.tag=a,t.dump=n||"[]"}function pGe(t,e,r){var i="",n=t.tag,a=Object.keys(r),s,l,u,h,f;for(s=0,l=a.length;s1024&&(f+="? "),f+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),$h(t,e,h,!1,!1)&&(f+=t.dump,i+=f));t.tag=n,t.dump="{"+i+"}"}function mGe(t,e,r,i){var n="",a=t.tag,s=Object.keys(r),l,u,h,f,d,p;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new xo("sortKeys must be a boolean or a function");for(l=0,u=s.length;l1024,d&&(t.dump&&gb===t.dump.charCodeAt(0)?p+="?":p+="? "),p+=t.dump,d&&(p+=II(t,e)),$h(t,e+1,f,!0,d)&&(t.dump&&gb===t.dump.charCodeAt(0)?p+=":":p+=": ",p+=t.dump,n+=p));t.tag=a,t.dump=n||"{}"}function Fne(t,e,r){var i,n,a,s,l,u;for(n=r?t.explicitTypes:t.implicitTypes,a=0,s=n.length;a tag resolver accepts not "'+u+'" style');t.dump=i}return!0}return!1}function $h(t,e,r,i,n,a,s){t.tag=null,t.dump=r,Fne(t,r,!1)||Fne(t,r,!0);var l=tae.call(t.dump),u=i,h;i&&(i=t.flowLevel<0||t.flowLevel>e);var f=l==="[object Object]"||l==="[object Array]",d,p;if(f&&(d=t.duplicates.indexOf(r),p=d!==-1),(t.tag!==null&&t.tag!=="?"||p||t.indent!==2&&e>0)&&(n=!1),p&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(f&&p&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),l==="[object Object]")i&&Object.keys(t.dump).length!==0?(mGe(t,e,t.dump,n),p&&(t.dump="&ref_"+d+t.dump)):(pGe(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object Array]")i&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?Bne(t,e-1,t.dump,n):Bne(t,e,t.dump,n),p&&(t.dump="&ref_"+d+t.dump)):(dGe(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object String]")t.tag!=="?"&&uGe(t,t.dump,e,a,u);else{if(l==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new xo("unacceptable kind of an object to dump "+l)}t.tag!==null&&t.tag!=="?"&&(h=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?h="!"+h:h.slice(0,18)==="tag:yaml.org,2002:"?h="!!"+h.slice(18):h="!<"+h+">",t.dump=h+" "+t.dump)}return!0}function gGe(t,e){var r=[],i=[],n,a;for(OI(t,r,i),n=0,a=i.length;n{"use strict";o($ne,"isNothing");o(JFe,"isObject");o(e$e,"toArray");o(t$e,"extend");o(r$e,"repeat");o(i$e,"isNegativeZero");n$e=$ne,a$e=JFe,s$e=e$e,o$e=r$e,l$e=i$e,c$e=t$e,ha={isNothing:n$e,isObject:a$e,toArray:s$e,repeat:o$e,isNegativeZero:l$e,extend:c$e};o(zne,"formatError");o(mb,"YAMLException$1");mb.prototype=Object.create(Error.prototype);mb.prototype.constructor=mb;mb.prototype.toString=o(function(e){return this.name+": "+zne(this,e)},"toString");xo=mb;o(_I,"getLine");o(DI,"padStart");o(u$e,"makeSnippet");h$e=u$e,f$e=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],d$e=["scalar","sequence","mapping"];o(p$e,"compileStyleAliases");o(m$e,"Type$1");hs=m$e;o(wne,"compileList");o(g$e,"compileMap");o(RI,"Schema$1");RI.prototype.extend=o(function(e){var r=[],i=[];if(e instanceof hs)i.push(e);else if(Array.isArray(e))i=i.concat(e);else if(e&&(Array.isArray(e.implicit)||Array.isArray(e.explicit)))e.implicit&&(r=r.concat(e.implicit)),e.explicit&&(i=i.concat(e.explicit));else throw new xo("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");r.forEach(function(a){if(!(a instanceof hs))throw new xo("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(a.loadKind&&a.loadKind!=="scalar")throw new xo("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(a.multi)throw new xo("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),i.forEach(function(a){if(!(a instanceof hs))throw new xo("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var n=Object.create(RI.prototype);return n.implicit=(this.implicit||[]).concat(r),n.explicit=(this.explicit||[]).concat(i),n.compiledImplicit=wne(n,"implicit"),n.compiledExplicit=wne(n,"explicit"),n.compiledTypeMap=g$e(n.compiledImplicit,n.compiledExplicit),n},"extend");y$e=RI,v$e=new hs("tag:yaml.org,2002:str",{kind:"scalar",construct:o(function(t){return t!==null?t:""},"construct")}),x$e=new hs("tag:yaml.org,2002:seq",{kind:"sequence",construct:o(function(t){return t!==null?t:[]},"construct")}),b$e=new hs("tag:yaml.org,2002:map",{kind:"mapping",construct:o(function(t){return t!==null?t:{}},"construct")}),T$e=new y$e({explicit:[v$e,x$e,b$e]});o(k$e,"resolveYamlNull");o(C$e,"constructYamlNull");o(w$e,"isNull");E$e=new hs("tag:yaml.org,2002:null",{kind:"scalar",resolve:k$e,construct:C$e,predicate:w$e,represent:{canonical:o(function(){return"~"},"canonical"),lowercase:o(function(){return"null"},"lowercase"),uppercase:o(function(){return"NULL"},"uppercase"),camelcase:o(function(){return"Null"},"camelcase"),empty:o(function(){return""},"empty")},defaultStyle:"lowercase"});o(S$e,"resolveYamlBoolean");o(A$e,"constructYamlBoolean");o(_$e,"isBoolean");D$e=new hs("tag:yaml.org,2002:bool",{kind:"scalar",resolve:S$e,construct:A$e,predicate:_$e,represent:{lowercase:o(function(t){return t?"true":"false"},"lowercase"),uppercase:o(function(t){return t?"TRUE":"FALSE"},"uppercase"),camelcase:o(function(t){return t?"True":"False"},"camelcase")},defaultStyle:"lowercase"});o(L$e,"isHexCode");o(R$e,"isOctCode");o(N$e,"isDecCode");o(I$e,"resolveYamlInteger");o(M$e,"constructYamlInteger");o(O$e,"isInteger");P$e=new hs("tag:yaml.org,2002:int",{kind:"scalar",resolve:I$e,construct:M$e,predicate:O$e,represent:{binary:o(function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:o(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:o(function(t){return t.toString(10)},"decimal"),hexadecimal:o(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),B$e=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");o(F$e,"resolveYamlFloat");o($$e,"constructYamlFloat");z$e=/^[-+]?[0-9]+e/;o(G$e,"representYamlFloat");o(V$e,"isFloat");q$e=new hs("tag:yaml.org,2002:float",{kind:"scalar",resolve:F$e,construct:$$e,predicate:V$e,represent:G$e,defaultStyle:"lowercase"}),Gne=T$e.extend({implicit:[E$e,D$e,P$e,q$e]}),W$e=Gne,Vne=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),qne=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");o(U$e,"resolveYamlTimestamp");o(H$e,"constructYamlTimestamp");o(Y$e,"representYamlTimestamp");j$e=new hs("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:U$e,construct:H$e,instanceOf:Date,represent:Y$e});o(X$e,"resolveYamlMerge");K$e=new hs("tag:yaml.org,2002:merge",{kind:"scalar",resolve:X$e}),PI=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;o(Q$e,"resolveYamlBinary");o(Z$e,"constructYamlBinary");o(J$e,"representYamlBinary");o(eze,"isBinary");tze=new hs("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Q$e,construct:Z$e,predicate:eze,represent:J$e}),rze=Object.prototype.hasOwnProperty,ize=Object.prototype.toString;o(nze,"resolveYamlOmap");o(aze,"constructYamlOmap");sze=new hs("tag:yaml.org,2002:omap",{kind:"sequence",resolve:nze,construct:aze}),oze=Object.prototype.toString;o(lze,"resolveYamlPairs");o(cze,"constructYamlPairs");uze=new hs("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:lze,construct:cze}),hze=Object.prototype.hasOwnProperty;o(fze,"resolveYamlSet");o(dze,"constructYamlSet");pze=new hs("tag:yaml.org,2002:set",{kind:"mapping",resolve:fze,construct:dze}),Wne=W$e.extend({implicit:[j$e,K$e],explicit:[tze,sze,uze,pze]}),ld=Object.prototype.hasOwnProperty,Q3=1,Une=2,Hne=3,Z3=4,LI=1,mze=2,Ene=3,gze=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,yze=/[\x85\u2028\u2029]/,vze=/[,\[\]\{\}]/,Yne=/^(?:!|!!|![a-z\-]+!)$/i,jne=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;o(Sne,"_class");o(wu,"is_EOL");o(S0,"is_WHITE_SPACE");o(bo,"is_WS_OR_EOL");o(E1,"is_FLOW_INDICATOR");o(xze,"fromHexCode");o(bze,"escapedHexLen");o(Tze,"fromDecimalCode");o(Ane,"simpleEscapeSequence");o(kze,"charFromCodepoint");o(Xne,"setProperty");Kne=new Array(256),Qne=new Array(256);for(E0=0;E0<256;E0++)Kne[E0]=Ane(E0)?1:0,Qne[E0]=Ane(E0);o(Cze,"State$1");o(Zne,"generateError");o(or,"throwError");o(J3,"throwWarning");_ne={YAML:o(function(e,r,i){var n,a,s;e.version!==null&&or(e,"duplication of %YAML directive"),i.length!==1&&or(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&or(e,"ill-formed argument of the YAML directive"),a=parseInt(n[1],10),s=parseInt(n[2],10),a!==1&&or(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&J3(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:o(function(e,r,i){var n,a;i.length!==2&&or(e,"TAG directive accepts exactly two arguments"),n=i[0],a=i[1],Yne.test(n)||or(e,"ill-formed tag handle (first argument) of the TAG directive"),ld.call(e.tagMap,n)&&or(e,'there is a previously declared suffix for "'+n+'" tag handle'),jne.test(a)||or(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{or(e,"tag prefix is malformed: "+a)}e.tagMap[n]=a},"handleTagDirective")};o(od,"captureSegment");o(Dne,"mergeMappings");o(S1,"storeMappingPair");o(BI,"readLineBreak");o(Zn,"skipSeparationSpace");o(r5,"testDocumentSeparator");o(FI,"writeFoldedLines");o(wze,"readPlainScalar");o(Eze,"readSingleQuotedScalar");o(Sze,"readDoubleQuotedScalar");o(Aze,"readFlowCollection");o(_ze,"readBlockScalar");o(Lne,"readBlockSequence");o(Dze,"readBlockMapping");o(Lze,"readTagProperty");o(Rze,"readAnchorProperty");o(Nze,"readAlias");o(A1,"composeNode");o(Ize,"readDocument");o(Jne,"loadDocuments");o(Mze,"loadAll$1");o(Oze,"load$1");Pze=Mze,Bze=Oze,eae={loadAll:Pze,load:Bze},tae=Object.prototype.toString,rae=Object.prototype.hasOwnProperty,$I=65279,Fze=9,gb=10,$ze=13,zze=32,Gze=33,Vze=34,NI=35,qze=37,Wze=38,Uze=39,Hze=42,iae=44,Yze=45,e5=58,jze=61,Xze=62,Kze=63,Qze=64,nae=91,aae=93,Zze=96,sae=123,Jze=124,oae=125,fs={};fs[0]="\\0";fs[7]="\\a";fs[8]="\\b";fs[9]="\\t";fs[10]="\\n";fs[11]="\\v";fs[12]="\\f";fs[13]="\\r";fs[27]="\\e";fs[34]='\\"';fs[92]="\\\\";fs[133]="\\N";fs[160]="\\_";fs[8232]="\\L";fs[8233]="\\P";eGe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],tGe=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;o(rGe,"compileStyleMap");o(iGe,"encodeHex");nGe=1,yb=2;o(aGe,"State");o(Rne,"indentString");o(II,"generateNextLine");o(sGe,"testImplicitResolving");o(t5,"isWhitespace");o(vb,"isPrintable");o(Nne,"isNsCharOrWhitespace");o(Ine,"isPlainSafe");o(oGe,"isPlainSafeFirst");o(lGe,"isPlainSafeLast");o(pb,"codePointAt");o(lae,"needIndentIndicator");cae=1,MI=2,uae=3,hae=4,w1=5;o(cGe,"chooseScalarStyle");o(uGe,"writeScalar");o(Mne,"blockHeader");o(One,"dropEndingNewline");o(hGe,"foldString");o(Pne,"foldLine");o(fGe,"escapeString");o(dGe,"writeFlowSequence");o(Bne,"writeBlockSequence");o(pGe,"writeFlowMapping");o(mGe,"writeBlockMapping");o(Fne,"detectType");o($h,"writeNode");o(gGe,"getDuplicateReferences");o(OI,"inspectNode");o(yGe,"dump$1");vGe=yGe,xGe={dump:vGe};o(zI,"renamed");cd=Gne,ud=eae.load,eFt=eae.loadAll,tFt=xGe.dump,rFt=zI("safeLoad","load"),iFt=zI("safeLoadAll","loadAll"),nFt=zI("safeDump","dump")});function WI(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function yae(t){_0=t}function Ei(t,e=""){let r=typeof t=="string"?t:t.source,i={replace:o((n,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(Gs.caret,"$1"),r=r.replace(n,s),i},"replace"),getRegex:o(()=>new RegExp(r,e),"getRegex")};return i}function Eu(t,e){if(e){if(Gs.escapeTest.test(t))return t.replace(Gs.escapeReplace,dae)}else if(Gs.escapeTestNoEncode.test(t))return t.replace(Gs.escapeReplaceNoEncode,dae);return t}function pae(t){try{t=encodeURI(t).replace(Gs.percentDecode,"%")}catch{return null}return t}function mae(t,e){let r=t.replace(Gs.findPipe,(a,s,l)=>{let u=!1,h=s;for(;--h>=0&&l[h]==="\\";)u=!u;return u?"|":" |"}),i=r.split(Gs.splitPipe),n=0;if(i[0].trim()||i.shift(),i.length>0&&!i.at(-1)?.trim()&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length0?-2:-1}function gae(t,e,r,i,n){let a=e.href,s=e.title||null,l=t[1].replace(n.other.outputLinkReplace,"$1");i.state.inLink=!0;let u={type:t[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:s,text:l,tokens:i.inlineTokens(l)};return i.state.inLink=!1,u}function eVe(t,e,r){let i=t.match(r.other.indentCodeCompensation);if(i===null)return e;let n=i[1];return e.split(` -`).map(a=>{let s=a.match(r.other.beginningSpace);if(s===null)return a;let[l]=s;return l.length>=n.length?a.slice(n.length):a}).join(` -`)}function bi(t,e){return A0.parse(t,e)}var _0,Cb,Gs,bGe,TGe,kGe,wb,CGe,UI,vae,xae,wGe,HI,EGe,YI,SGe,AGe,l5,jI,_Ge,bae,DGe,XI,fae,LGe,RGe,NGe,IGe,Tae,MGe,c5,KI,kae,OGe,Cae,PGe,BGe,FGe,wae,$Ge,zGe,Eae,GGe,VGe,qGe,WGe,UGe,HGe,YGe,a5,jGe,Sae,Aae,XGe,QI,KGe,GI,QGe,n5,bb,ZGe,dae,s5,zh,o5,ZI,Gh,kb,tVe,A0,sFt,oFt,lFt,cFt,uFt,hFt,fFt,_ae=P(()=>{"use strict";o(WI,"L");_0=WI();o(yae,"G");Cb={exec:o(()=>null,"exec")};o(Ei,"h");Gs={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:o(t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),"listItemRegex"),nextBulletRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),"nextBulletRegex"),hrRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),"hrRegex"),fencesBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),"fencesBeginRegex"),headingBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),"headingBeginRegex"),htmlBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i"),"htmlBeginRegex")},bGe=/^(?:[ \t]*(?:\n|$))+/,TGe=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,kGe=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,wb=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,CGe=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,UI=/(?:[*+-]|\d{1,9}[.)])/,vae=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,xae=Ei(vae).replace(/bull/g,UI).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),wGe=Ei(vae).replace(/bull/g,UI).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),HI=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,EGe=/^[^\n]+/,YI=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,SGe=Ei(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",YI).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),AGe=Ei(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,UI).getRegex(),l5="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",jI=/|$))/,_Ge=Ei("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",jI).replace("tag",l5).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),bae=Ei(HI).replace("hr",wb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",l5).getRegex(),DGe=Ei(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",bae).getRegex(),XI={blockquote:DGe,code:TGe,def:SGe,fences:kGe,heading:CGe,hr:wb,html:_Ge,lheading:xae,list:AGe,newline:bGe,paragraph:bae,table:Cb,text:EGe},fae=Ei("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",wb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",l5).getRegex(),LGe={...XI,lheading:wGe,table:fae,paragraph:Ei(HI).replace("hr",wb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",fae).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",l5).getRegex()},RGe={...XI,html:Ei(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",jI).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Cb,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Ei(HI).replace("hr",wb).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",xae).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},NGe=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,IGe=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Tae=/^( {2,}|\\)\n(?!\s*$)/,MGe=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,wae=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,$Ge=Ei(wae,"u").replace(/punct/g,c5).getRegex(),zGe=Ei(wae,"u").replace(/punct/g,Cae).getRegex(),Eae="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",GGe=Ei(Eae,"gu").replace(/notPunctSpace/g,kae).replace(/punctSpace/g,KI).replace(/punct/g,c5).getRegex(),VGe=Ei(Eae,"gu").replace(/notPunctSpace/g,BGe).replace(/punctSpace/g,PGe).replace(/punct/g,Cae).getRegex(),qGe=Ei("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,kae).replace(/punctSpace/g,KI).replace(/punct/g,c5).getRegex(),WGe=Ei(/\\(punct)/,"gu").replace(/punct/g,c5).getRegex(),UGe=Ei(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),HGe=Ei(jI).replace("(?:-->|$)","-->").getRegex(),YGe=Ei("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",HGe).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),a5=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`[^`]*`|[^\[\]\\`])*?/,jGe=Ei(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",a5).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Sae=Ei(/^!?\[(label)\]\[(ref)\]/).replace("label",a5).replace("ref",YI).getRegex(),Aae=Ei(/^!?\[(ref)\](?:\[\])?/).replace("ref",YI).getRegex(),XGe=Ei("reflink|nolink(?!\\()","g").replace("reflink",Sae).replace("nolink",Aae).getRegex(),QI={_backpedal:Cb,anyPunctuation:WGe,autolink:UGe,blockSkip:FGe,br:Tae,code:IGe,del:Cb,emStrongLDelim:$Ge,emStrongRDelimAst:GGe,emStrongRDelimUnd:qGe,escape:NGe,link:jGe,nolink:Aae,punctuation:OGe,reflink:Sae,reflinkSearch:XGe,tag:YGe,text:MGe,url:Cb},KGe={...QI,link:Ei(/^!?\[(label)\]\((.*?)\)/).replace("label",a5).getRegex(),reflink:Ei(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",a5).getRegex()},GI={...QI,emStrongRDelimAst:VGe,emStrongLDelim:zGe,url:Ei(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},dae=o(t=>ZGe[t],"ke");o(Eu,"w");o(pae,"J");o(mae,"V");o(Tb,"z");o(JGe,"ge");o(gae,"fe");o(eVe,"Je");s5=class{static{o(this,"y")}options;rules;lexer;constructor(t){this.options=t||_0}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let r=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?r:Tb(r,` -`)}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let r=e[0],i=eVe(r,e[3]||"",this.rules);return{type:"code",raw:r,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:i}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let r=e[2].trim();if(this.rules.other.endingHash.test(r)){let i=Tb(r,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(r=i.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:r,tokens:this.lexer.inline(r)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:Tb(e[0],` -`)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let r=Tb(e[0],` -`).split(` -`),i="",n="",a=[];for(;r.length>0;){let s=!1,l=[],u;for(u=0;u1,n={type:"list",raw:"",ordered:i,start:i?+r.slice(0,-1):"",loose:!1,items:[]};r=i?`\\d{1,9}\\${r.slice(-1)}`:`\\${r}`,this.options.pedantic&&(r=i?r:"[*+-]");let a=this.rules.other.listItemRegex(r),s=!1;for(;t;){let u=!1,h="",f="";if(!(e=a.exec(t))||this.rules.block.hr.test(t))break;h=e[0],t=t.substring(h.length);let d=e[2].split(` -`,1)[0].replace(this.rules.other.listReplaceTabs,x=>" ".repeat(3*x.length)),p=t.split(` -`,1)[0],m=!d.trim(),g=0;if(this.options.pedantic?(g=2,f=d.trimStart()):m?g=e[1].length+1:(g=e[2].search(this.rules.other.nonSpaceChar),g=g>4?1:g,f=d.slice(g),g+=e[1].length),m&&this.rules.other.blankLine.test(p)&&(h+=p+` -`,t=t.substring(p.length+1),u=!0),!u){let x=this.rules.other.nextBulletRegex(g),b=this.rules.other.hrRegex(g),T=this.rules.other.fencesBeginRegex(g),w=this.rules.other.headingBeginRegex(g),k=this.rules.other.htmlBeginRegex(g);for(;t;){let C=t.split(` -`,1)[0],E;if(p=C,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),E=p):E=p.replace(this.rules.other.tabCharGlobal," "),T.test(p)||w.test(p)||k.test(p)||x.test(p)||b.test(p))break;if(E.search(this.rules.other.nonSpaceChar)>=g||!p.trim())f+=` -`+E.slice(g);else{if(m||d.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||T.test(d)||w.test(d)||b.test(d))break;f+=` -`+p}!m&&!p.trim()&&(m=!0),h+=C+` -`,t=t.substring(C.length+1),d=E.slice(g)}}n.loose||(s?n.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(s=!0));let y=null,v;this.options.gfm&&(y=this.rules.other.listIsTask.exec(f),y&&(v=y[0]!=="[ ] ",f=f.replace(this.rules.other.listReplaceTask,""))),n.items.push({type:"list_item",raw:h,task:!!y,checked:v,loose:!1,text:f,tokens:[]}),n.raw+=h}let l=n.items.at(-1);if(l)l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd();else return;n.raw=n.raw.trimEnd();for(let u=0;ud.type==="space"),f=h.length>0&&h.some(d=>this.rules.other.anyLine.test(d.raw));n.loose=f}if(n.loose)for(let u=0;u({text:l,tokens:this.lexer.inline(l),header:!1,align:a.align[u]})));return a}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let r=e[1].charAt(e[1].length-1)===` -`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let r=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(r)){if(!this.rules.other.endAngleBracket.test(r))return;let a=Tb(r.slice(0,-1),"\\");if((r.length-a.length)%2===0)return}else{let a=JGe(e[2],"()");if(a===-2)return;if(a>-1){let s=(e[0].indexOf("!")===0?5:4)+e[1].length+a;e[2]=e[2].substring(0,a),e[0]=e[0].substring(0,s).trim(),e[3]=""}}let i=e[2],n="";if(this.options.pedantic){let a=this.rules.other.pedanticHrefTitle.exec(i);a&&(i=a[1],n=a[3])}else n=e[3]?e[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(r)?i=i.slice(1):i=i.slice(1,-1)),gae(e,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:n&&n.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(t,e){let r;if((r=this.rules.inline.reflink.exec(t))||(r=this.rules.inline.nolink.exec(t))){let i=(r[2]||r[1]).replace(this.rules.other.multipleSpaceGlobal," "),n=e[i.toLowerCase()];if(!n){let a=r[0].charAt(0);return{type:"text",raw:a,text:a}}return gae(r,n,r[0],this.lexer,this.rules)}}emStrong(t,e,r=""){let i=this.rules.inline.emStrongLDelim.exec(t);if(!(!i||i[3]&&r.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[2])||!r||this.rules.inline.punctuation.exec(r))){let n=[...i[0]].length-1,a,s,l=n,u=0,h=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,e=e.slice(-1*t.length+n);(i=h.exec(e))!=null;){if(a=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!a)continue;if(s=[...a].length,i[3]||i[4]){l+=s;continue}else if((i[5]||i[6])&&n%3&&!((n+s)%3)){u+=s;continue}if(l-=s,l>0)continue;s=Math.min(s,s+l+u);let f=[...i[0]][0].length,d=t.slice(0,n+i.index+f+s);if(Math.min(n,s)%2){let m=d.slice(1,-1);return{type:"em",raw:d,text:m,tokens:this.lexer.inlineTokens(m)}}let p=d.slice(2,-2);return{type:"strong",raw:d,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let r=e[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(r),n=this.rules.other.startingSpaceChar.test(r)&&this.rules.other.endingSpaceChar.test(r);return i&&n&&(r=r.substring(1,r.length-1)),{type:"codespan",raw:e[0],text:r}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){let e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let r,i;return e[2]==="@"?(r=e[1],i="mailto:"+r):(r=e[1],i=r),{type:"link",raw:e[0],text:r,href:i,tokens:[{type:"text",raw:r,text:r}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let r,i;if(e[2]==="@")r=e[0],i="mailto:"+r;else{let n;do n=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(n!==e[0]);r=e[0],e[1]==="www."?i="http://"+e[0]:i=e[0]}return{type:"link",raw:e[0],text:r,href:i,tokens:[{type:"text",raw:r,text:r}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let r=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:r}}}},zh=class VI{static{o(this,"l")}tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||_0,this.options.tokenizer=this.options.tokenizer||new s5,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let r={other:Gs,block:n5.normal,inline:bb.normal};this.options.pedantic?(r.block=n5.pedantic,r.inline=bb.pedantic):this.options.gfm&&(r.block=n5.gfm,this.options.breaks?r.inline=bb.breaks:r.inline=bb.gfm),this.tokenizer.rules=r}static get rules(){return{block:n5,inline:bb}}static lex(e,r){return new VI(r).lex(e)}static lexInline(e,r){return new VI(r).inlineTokens(e)}lex(e){e=e.replace(Gs.carriageReturn,` -`),this.blockTokens(e,this.tokens);for(let r=0;r(n=s.call({lexer:this},e,r))?(e=e.substring(n.raw.length),r.push(n),!0):!1))continue;if(n=this.tokenizer.space(e)){e=e.substring(n.raw.length);let s=r.at(-1);n.raw.length===1&&s!==void 0?s.raw+=` -`:r.push(n);continue}if(n=this.tokenizer.code(e)){e=e.substring(n.raw.length);let s=r.at(-1);s?.type==="paragraph"||s?.type==="text"?(s.raw+=(s.raw.endsWith(` -`)?"":` -`)+n.raw,s.text+=` -`+n.text,this.inlineQueue.at(-1).src=s.text):r.push(n);continue}if(n=this.tokenizer.fences(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.heading(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.hr(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.blockquote(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.list(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.html(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.def(e)){e=e.substring(n.raw.length);let s=r.at(-1);s?.type==="paragraph"||s?.type==="text"?(s.raw+=(s.raw.endsWith(` -`)?"":` -`)+n.raw,s.text+=` -`+n.raw,this.inlineQueue.at(-1).src=s.text):this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title},r.push(n));continue}if(n=this.tokenizer.table(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.lheading(e)){e=e.substring(n.raw.length),r.push(n);continue}let a=e;if(this.options.extensions?.startBlock){let s=1/0,l=e.slice(1),u;this.options.extensions.startBlock.forEach(h=>{u=h.call({lexer:this},l),typeof u=="number"&&u>=0&&(s=Math.min(s,u))}),s<1/0&&s>=0&&(a=e.substring(0,s+1))}if(this.state.top&&(n=this.tokenizer.paragraph(a))){let s=r.at(-1);i&&s?.type==="paragraph"?(s.raw+=(s.raw.endsWith(` -`)?"":` -`)+n.raw,s.text+=` -`+n.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(n),i=a.length!==e.length,e=e.substring(n.raw.length);continue}if(n=this.tokenizer.text(e)){e=e.substring(n.raw.length);let s=r.at(-1);s?.type==="text"?(s.raw+=(s.raw.endsWith(` -`)?"":` -`)+n.raw,s.text+=` -`+n.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(n);continue}if(e){let s="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){let i=e,n=null;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(i))!=null;)l.includes(n[0].slice(n[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,n.index)+"["+"a".repeat(n[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(n=this.tokenizer.rules.inline.anyPunctuation.exec(i))!=null;)i=i.slice(0,n.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;(n=this.tokenizer.rules.inline.blockSkip.exec(i))!=null;)i=i.slice(0,n.index)+"["+"a".repeat(n[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);i=this.options.hooks?.emStrongMask?.call({lexer:this},i)??i;let a=!1,s="";for(;e;){a||(s=""),a=!1;let l;if(this.options.extensions?.inline?.some(h=>(l=h.call({lexer:this},e,r))?(e=e.substring(l.raw.length),r.push(l),!0):!1))continue;if(l=this.tokenizer.escape(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.tag(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.link(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(l.raw.length);let h=r.at(-1);l.type==="text"&&h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(l=this.tokenizer.emStrong(e,i,s)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.codespan(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.br(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.del(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.autolink(e)){e=e.substring(l.raw.length),r.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(e))){e=e.substring(l.raw.length),r.push(l);continue}let u=e;if(this.options.extensions?.startInline){let h=1/0,f=e.slice(1),d;this.options.extensions.startInline.forEach(p=>{d=p.call({lexer:this},f),typeof d=="number"&&d>=0&&(h=Math.min(h,d))}),h<1/0&&h>=0&&(u=e.substring(0,h+1))}if(l=this.tokenizer.inlineText(u)){e=e.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(s=l.raw.slice(-1)),a=!0;let h=r.at(-1);h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(e){let h="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return r}},o5=class{static{o(this,"P")}options;parser;constructor(t){this.options=t||_0}space(t){return""}code({text:t,lang:e,escaped:r}){let i=(e||"").match(Gs.notSpaceStart)?.[0],n=t.replace(Gs.endingNewline,"")+` -`;return i?'
'+(r?n:Eu(n,!0))+`
-`:"
"+(r?n:Eu(n,!0))+`
-`}blockquote({tokens:t}){return`
-${this.parser.parse(t)}
-`}html({text:t}){return t}def(t){return""}heading({tokens:t,depth:e}){return`${this.parser.parseInline(t)} -`}hr(t){return`
-`}list(t){let e=t.ordered,r=t.start,i="";for(let s=0;s -`+i+" -`}listitem(t){let e="";if(t.task){let r=this.checkbox({checked:!!t.checked});t.loose?t.tokens[0]?.type==="paragraph"?(t.tokens[0].text=r+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&t.tokens[0].tokens[0].type==="text"&&(t.tokens[0].tokens[0].text=r+" "+Eu(t.tokens[0].tokens[0].text),t.tokens[0].tokens[0].escaped=!0)):t.tokens.unshift({type:"text",raw:r+" ",text:r+" ",escaped:!0}):e+=r+" "}return e+=this.parser.parse(t.tokens,!!t.loose),`
  • ${e}
  • -`}checkbox({checked:t}){return"'}paragraph({tokens:t}){return`

    ${this.parser.parseInline(t)}

    -`}table(t){let e="",r="";for(let n=0;n${i}`),` - -`+e+` -`+i+`
    -`}tablerow({text:t}){return` -${t} -`}tablecell(t){let e=this.parser.parseInline(t.tokens),r=t.header?"th":"td";return(t.align?`<${r} align="${t.align}">`:`<${r}>`)+e+` -`}strong({tokens:t}){return`${this.parser.parseInline(t)}`}em({tokens:t}){return`${this.parser.parseInline(t)}`}codespan({text:t}){return`${Eu(t,!0)}`}br(t){return"
    "}del({tokens:t}){return`${this.parser.parseInline(t)}`}link({href:t,title:e,tokens:r}){let i=this.parser.parseInline(r),n=pae(t);if(n===null)return i;t=n;let a='
    ",a}image({href:t,title:e,text:r,tokens:i}){i&&(r=this.parser.parseInline(i,this.parser.textRenderer));let n=pae(t);if(n===null)return Eu(r);t=n;let a=`${r}{let s=n[a].flat(1/0);r=r.concat(this.walkTokens(s,e))}):n.tokens&&(r=r.concat(this.walkTokens(n.tokens,e)))}}return r}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(r=>{let i={...r};if(i.async=this.defaults.async||i.async||!1,r.extensions&&(r.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){let a=e.renderers[n.name];a?e.renderers[n.name]=function(...s){let l=n.renderer.apply(this,s);return l===!1&&(l=a.apply(this,s)),l}:e.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||n.level!=="block"&&n.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let a=e[n.level];a?a.unshift(n.tokenizer):e[n.level]=[n.tokenizer],n.start&&(n.level==="block"?e.startBlock?e.startBlock.push(n.start):e.startBlock=[n.start]:n.level==="inline"&&(e.startInline?e.startInline.push(n.start):e.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(e.childTokens[n.name]=n.childTokens)}),i.extensions=e),r.renderer){let n=this.defaults.renderer||new o5(this.defaults);for(let a in r.renderer){if(!(a in n))throw new Error(`renderer '${a}' does not exist`);if(["options","parser"].includes(a))continue;let s=a,l=r.renderer[s],u=n[s];n[s]=(...h)=>{let f=l.apply(n,h);return f===!1&&(f=u.apply(n,h)),f||""}}i.renderer=n}if(r.tokenizer){let n=this.defaults.tokenizer||new s5(this.defaults);for(let a in r.tokenizer){if(!(a in n))throw new Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let s=a,l=r.tokenizer[s],u=n[s];n[s]=(...h)=>{let f=l.apply(n,h);return f===!1&&(f=u.apply(n,h)),f}}i.tokenizer=n}if(r.hooks){let n=this.defaults.hooks||new kb;for(let a in r.hooks){if(!(a in n))throw new Error(`hook '${a}' does not exist`);if(["options","block"].includes(a))continue;let s=a,l=r.hooks[s],u=n[s];kb.passThroughHooks.has(a)?n[s]=h=>{if(this.defaults.async&&kb.passThroughHooksRespectAsync.has(a))return Promise.resolve(l.call(n,h)).then(d=>u.call(n,d));let f=l.call(n,h);return u.call(n,f)}:n[s]=(...h)=>{let f=l.apply(n,h);return f===!1&&(f=u.apply(n,h)),f}}i.hooks=n}if(r.walkTokens){let n=this.defaults.walkTokens,a=r.walkTokens;i.walkTokens=function(s){let l=[];return l.push(a.call(this,s)),n&&(l=l.concat(n.call(this,s))),l}}this.defaults={...this.defaults,...i}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return zh.lex(t,e??this.defaults)}parser(t,e){return Gh.parse(t,e??this.defaults)}parseMarkdown(t){return(e,r)=>{let i={...r},n={...this.defaults,...i},a=this.onError(!!n.silent,!!n.async);if(this.defaults.async===!0&&i.async===!1)return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));n.hooks&&(n.hooks.options=n,n.hooks.block=t);let s=n.hooks?n.hooks.provideLexer():t?zh.lex:zh.lexInline,l=n.hooks?n.hooks.provideParser():t?Gh.parse:Gh.parseInline;if(n.async)return Promise.resolve(n.hooks?n.hooks.preprocess(e):e).then(u=>s(u,n)).then(u=>n.hooks?n.hooks.processAllTokens(u):u).then(u=>n.walkTokens?Promise.all(this.walkTokens(u,n.walkTokens)).then(()=>u):u).then(u=>l(u,n)).then(u=>n.hooks?n.hooks.postprocess(u):u).catch(a);try{n.hooks&&(e=n.hooks.preprocess(e));let u=s(e,n);n.hooks&&(u=n.hooks.processAllTokens(u)),n.walkTokens&&this.walkTokens(u,n.walkTokens);let h=l(u,n);return n.hooks&&(h=n.hooks.postprocess(h)),h}catch(u){return a(u)}}}onError(t,e){return r=>{if(r.message+=` -Please report this to https://github.com/markedjs/marked.`,t){let i="

    An error occurred:

    "+Eu(r.message+"",!0)+"
    ";return e?Promise.resolve(i):i}if(e)return Promise.reject(r);throw r}}},A0=new tVe;o(bi,"d");bi.options=bi.setOptions=function(t){return A0.setOptions(t),bi.defaults=A0.defaults,yae(bi.defaults),bi};bi.getDefaults=WI;bi.defaults=_0;bi.use=function(...t){return A0.use(...t),bi.defaults=A0.defaults,yae(bi.defaults),bi};bi.walkTokens=function(t,e){return A0.walkTokens(t,e)};bi.parseInline=A0.parseInline;bi.Parser=Gh;bi.parser=Gh.parse;bi.Renderer=o5;bi.TextRenderer=ZI;bi.Lexer=zh;bi.lexer=zh.lex;bi.Tokenizer=s5;bi.Hooks=kb;bi.parse=bi;sFt=bi.options,oFt=bi.setOptions,lFt=bi.use,cFt=bi.walkTokens,uFt=bi.parseInline,hFt=Gh.parse,fFt=zh.lex});function rVe(t,{markdownAutoWrap:e}){let i=t.replace(//g,` -`).replace(/\n{2,}/g,` -`);return Z4(i)}function Dae(t){return t.split(/\\n|\n|/gi).map(e=>e.trim().match(/<[^>]+>|[^\s<>]+/g)?.map(r=>({content:r,type:"normal"}))??[])}function Lae(t,e={}){let r=rVe(t,e),i=bi.lexer(r),n=[[]],a=0;function s(l,u="normal"){l.type==="text"?l.text.split(` -`).forEach((f,d)=>{d!==0&&(a++,n.push([])),f.split(" ").forEach(p=>{p=p.replace(/'/g,"'"),p&&n[a].push({content:p,type:u})})}):l.type==="strong"||l.type==="em"?l.tokens.forEach(h=>{s(h,l.type)}):l.type==="html"&&n[a].push({content:l.text,type:"normal"})}return o(s,"processNode"),i.forEach(l=>{l.type==="paragraph"?l.tokens?.forEach(u=>{s(u)}):l.type==="html"?n[a].push({content:l.text,type:"normal"}):n[a].push({content:l.raw,type:"normal"})}),n}function Rae(t){return t?`

    ${t.replace(/\\n|\n/g,"
    ")}

    `:""}function Nae(t,{markdownAutoWrap:e}={}){let r=bi.lexer(t);function i(n){return n.type==="text"?e===!1?n.text.replace(/\n */g,"
    ").replace(/ /g," "):n.text.replace(/\n */g,"
    "):n.type==="strong"?`${n.tokens?.map(i).join("")}`:n.type==="em"?`${n.tokens?.map(i).join("")}`:n.type==="paragraph"?`

    ${n.tokens?.map(i).join("")}

    `:n.type==="space"?"":n.type==="html"?`${n.text}`:n.type==="escape"?n.text:(Q.warn(`Unsupported markdown: ${n.type}`),n.raw)}return o(i,"output"),r.map(i).join("")}var Iae=P(()=>{"use strict";_ae();oL();bt();o(rVe,"preprocessMarkdown");o(Dae,"nonMarkdownToLines");o(Lae,"markdownToLines");o(Rae,"nonMarkdownToHTML");o(Nae,"markdownToHTML")});function iVe(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}function nVe(t,e){let r=iVe(e.content);return Mae(t,[],r,e.type)}function Mae(t,e,r,i){if(r.length===0)return[{content:e.join(""),type:i},{content:"",type:i}];let[n,...a]=r,s=[...e,n];return t([{content:s.join(""),type:i}])?Mae(t,s,a,i):(e.length===0&&n&&(e.push(n),r.shift()),[{content:e.join(""),type:i},{content:r.join(""),type:i}])}function Oae(t,e){if(t.some(({content:r})=>r.includes(` -`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return JI(t,e)}function JI(t,e,r=[],i=[]){if(t.length===0)return i.length>0&&r.push(i),r.length>0?r:[];let n="";t[0].content===" "&&(n=" ",t.shift());let a=t.shift()??{content:" ",type:"normal"},s=[...i];if(n!==""&&s.push({content:n,type:"normal"}),s.push(a),e(s))return JI(t,e,r,s);if(i.length>0)r.push(i),t.unshift(a);else if(a.content){let[l,u]=nVe(e,a);r.push([l]),u.content&&t.unshift(u)}return JI(t,e,r)}var Pae=P(()=>{"use strict";o(iVe,"splitTextToChars");o(nVe,"splitWordToFitWidth");o(Mae,"splitWordToFitWidthRecursion");o(Oae,"splitLineToFitWidth");o(JI,"splitLineToFitWidthRecursion")});function Bae(t,e){e&&t.attr("style",e)}async function aVe(t,e,r,i,n=!1,a=Lt()){let s=t.append("foreignObject");s.attr("width",`${Math.min(10*r,Fae)}px`),s.attr("height",`${Math.min(10*r,Fae)}px`);let l=s.append("xhtml:div"),u=sn(e.label)?await Rg(e.label.replace(lt.lineBreakRegex,` -`),a):Tr(e.label,a),h=e.isNode?"nodeLabel":"edgeLabel",f=l.append("span");f.html(u),Bae(f,e.labelStyle),f.attr("class",`${h} ${i}`),Bae(l,e.labelStyle),l.style("display","table-cell"),l.style("white-space","nowrap"),l.style("line-height","1.5"),r!==Number.POSITIVE_INFINITY&&(l.style("max-width",r+"px"),l.style("text-align","center")),l.attr("xmlns","http://www.w3.org/1999/xhtml"),n&&l.attr("class","labelBkg");let d=l.node().getBoundingClientRect();return d.width===r&&(l.style("display","table"),l.style("white-space","break-spaces"),l.style("width",r+"px"),d=l.node().getBoundingClientRect()),s.node()}function eM(t,e,r,i=!1){let n=t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em");return i&&n.attr("text-anchor","middle"),n}function sVe(t,e,r){let i=t.append("text"),n=eM(i,1,e);tM(n,r);let a=n.node().getComputedTextLength();return i.remove(),a}function zae(t,e,r){let i=t.append("text"),n=eM(i,1,e);tM(n,[{content:r,type:"normal"}]);let a=n.node()?.getBoundingClientRect();return a&&i.remove(),a}function oVe(t,e,r,i=!1,n=!1){let s=e.append("g"),l=s.insert("rect").attr("class","background").attr("style","stroke: none"),u=s.append("text").attr("y","-10.1");n&&u.attr("text-anchor","middle");let h=0;for(let f of r){let d=o(m=>sVe(s,1.1,m)<=t,"checkWidth"),p=d(f)?[f]:Oae(f,d);for(let m of p){let g=eM(u,h,1.1,n);tM(g,m),h++}}if(i){let f=u.node().getBBox(),d=2;return l.attr("x",f.x-d).attr("y",f.y-d).attr("width",f.width+2*d).attr("height",f.height+2*d),s.node()}else return u.node()}function $ae(t){let e=/&(amp|lt|gt);/g;return t.replace(e,(r,i)=>{switch(i){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return r}})}function tM(t,e){t.text(""),e.forEach((r,i)=>{let n=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");i===0?n.text($ae(r.content)):n.text(" "+$ae(r.content))})}async function lVe(t,e={}){let r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(n,a,s)=>(r.push((async()=>{let l=`${a}:${s}`;return await WK(l)?await fo(l,void 0,{class:"label-icon"}):``})()),n));let i=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>i.shift()??"")}var Fae,Vi,To=P(()=>{"use strict";Pr();Vr();bt();Iae();er();lu();Pae();Sr();o(Bae,"applyStyle");Fae=16384;o(aVe,"addHtmlSpan");o(eM,"createTspan");o(sVe,"computeWidthOfText");o(zae,"computeDimensionOfText");o(oVe,"createFormattedText");o($ae,"decodeHTMLEntities");o(tM,"updateTextContentAndStyles");o(lVe,"replaceIconSubstring");Vi=o(async(t,e="",{style:r="",isTitle:i=!1,classes:n="",useHtmlLabels:a=!0,markdown:s=!0,isNode:l=!0,width:u=200,addSvgBackground:h=!1}={},f)=>{if(Q.debug("XYZ createText",e,r,i,n,a,l,"addSvgBackground: ",h),a){let d=s?Nae(e,f):Rae(e),p=await lVe(zs(d),f),m=e.replace(/\\\\/g,"\\"),g={isNode:l,label:sn(e)?m:p,labelStyle:r.replace("fill:","color:")};return await aVe(t,g,u,n,h,f)}else{let d=zs(e.replace(//g,"
    ")),p=s?Lae(d.replace("
    ","
    "),f):Dae(d),m=oVe(u,t,p,e?h:!1,!l);if(l){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));let g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");Ze(m).attr("style",g)}else{let g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");Ze(m).select("rect").attr("style",g.replace(/background:/g,"fill:"));let y=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");Ze(m).select("text").attr("style",y)}return i?Ze(m).selectAll("tspan.text-outer-tspan").classed("title-row",!0):Ze(m).selectAll("tspan.text-outer-tspan").classed("row",!0),m}},"createText")});async function u5(t,e){let r=t.getElementsByTagName("img");if(!r||r.length===0)return;let i=e.replace(/]*>/g,"").trim()==="";await Promise.all([...r].map(n=>new Promise(a=>{function s(){if(n.style.display="flex",n.style.flexDirection="column",i){let l=ge().fontSize?ge().fontSize:window.getComputedStyle(document.body).fontSize,u=5,[h=fr.fontSize]=$s(l),f=h*u+"px";n.style.minWidth=f,n.style.maxWidth=f}else n.style.width="100%";a(n)}o(s,"setupImage"),setTimeout(()=>{n.complete&&s()}),n.addEventListener("error",s),n.addEventListener("load",s)})))}var rM=P(()=>{"use strict";Ut();wa();er();o(u5,"configureLabelImages")});function rr(t){let e=t.map((r,i)=>`${i===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}function Ml(t,e,r,i,n,a){let s=[],u=r-t,h=i-e,f=u/a,d=2*Math.PI/f,p=e+h/2;for(let m=0;m<=50;m++){let g=m/50,y=t+g*u,v=p+n*Math.sin(d*(y-t));s.push({x:y,y:v})}return s}function D0(t,e,r,i,n,a){let s=[],l=n*Math.PI/180,f=(a*Math.PI/180-l)/(i-1);for(let d=0;du.tagName==="path"),r=document.createElementNS("http://www.w3.org/2000/svg","path"),i=e.map(u=>u.getAttribute("d")).filter(u=>u!==null).join(" ");r.setAttribute("d",i);let n=e.find(u=>u.getAttribute("fill")!=="none"),a=e.find(u=>u.getAttribute("stroke")!=="none"),s=o((u,h)=>u?.getAttribute(h)??void 0,"getAttr");if(n){let u={fill:s(n,"fill"),"fill-opacity":s(n,"fill-opacity")??"1"};Object.entries(u).forEach(([h,f])=>{f&&r.setAttribute(h,f)})}if(a){let u={stroke:s(a,"stroke"),"stroke-width":s(a,"stroke-width")??"1","stroke-opacity":s(a,"stroke-opacity")??"1"};Object.entries(u).forEach(([h,f])=>{f&&r.setAttribute(h,f)})}let l=document.createElementNS("http://www.w3.org/2000/svg","g");return l.appendChild(r),l}var vt,h5,at,mt,zt=P(()=>{"use strict";To();Ut();Sr();Pr();Vr();er();rM();vt=o(async(t,e,r)=>{let i,n=e.useHtmlLabels||ls(ge()?.htmlLabels);r?i=r:i="node default";let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",xi(e.labelStyle)),l;e.label===void 0?l="":l=typeof e.label=="string"?e.label:e.label[0];let u=!!e.icon||!!e.img,h=e.labelType==="markdown",f=await Vi(s,Tr(zs(l),ge()),{useHtmlLabels:n,width:e.width||ge().flowchart?.wrappingWidth,classes:h?"markdown-node-label":"",style:e.labelStyle,addSvgBackground:u,markdown:h},ge()),d=f.getBBox(),p=(e?.padding??0)/2;if(n){let m=f.children[0],g=Ze(f);await u5(m,l),d=m.getBoundingClientRect(),g.attr("width",d.width),g.attr("height",d.height)}return n?s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):s.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:d,halfPadding:p,label:s}},"labelHelper"),h5=o(async(t,e,r)=>{let i=r.useHtmlLabels??Or(ge()),n=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await Vi(n,Tr(zs(e),ge()),{useHtmlLabels:i,width:r.width||ge()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img}),s=a.getBBox(),l=r.padding/2;if(Or(ge())){let u=a.children[0],h=Ze(a);s=u.getBoundingClientRect(),h.attr("width",s.width),h.attr("height",s.height)}return i?n.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):n.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&n.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:l,label:n}},"insertLabel"),at=o((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),mt=o((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");o(rr,"createPathFromPoints");o(Ml,"generateFullSineWavePoints");o(D0,"generateCirclePoints");o(iM,"mergePaths")});function cVe(t,e){return t.intersect(e)}var Gae,Vae=P(()=>{"use strict";o(cVe,"intersectNode");Gae=cVe});function uVe(t,e,r,i){var n=t.x,a=t.y,s=n-i.x,l=a-i.y,u=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/u);i.x{"use strict";o(uVe,"intersectEllipse");f5=uVe});function hVe(t,e,r){return f5(t,e,e,r)}var qae,Wae=P(()=>{"use strict";nM();o(hVe,"intersectCircle");qae=hVe});function fVe(t,e,r,i){{let n=e.y-t.y,a=t.x-e.x,s=e.x*t.y-t.x*e.y,l=n*r.x+a*r.y+s,u=n*i.x+a*i.y+s,h=1e-6;if(l!==0&&u!==0&&Uae(l,u))return;let f=i.y-r.y,d=r.x-i.x,p=i.x*r.y-r.x*i.y,m=f*t.x+d*t.y+p,g=f*e.x+d*e.y+p;if(Math.abs(m)0}var Hae,Yae=P(()=>{"use strict";o(fVe,"intersectLine");o(Uae,"sameSign");Hae=fVe});function dVe(t,e,r){let i=t.x,n=t.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(f){s=Math.min(s,f.x),l=Math.min(l,f.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));let u=i-t.width/2-s,h=n-t.height/2-l;for(let f=0;f1&&a.sort(function(f,d){let p=f.x-r.x,m=f.y-r.y,g=Math.sqrt(p*p+m*m),y=d.x-r.x,v=d.y-r.y,x=Math.sqrt(y*y+v*v);return g{"use strict";Yae();o(dVe,"intersectPolygon");jae=dVe});var pVe,hd,aM=P(()=>{"use strict";pVe=o((t,e)=>{var r=t.x,i=t.y,n=e.x-r,a=e.y-i,s=t.width/2,l=t.height/2,u,h;return Math.abs(a)*s>Math.abs(n)*l?(a<0&&(l=-l),u=a===0?0:l*n/a,h=l):(n<0&&(s=-s),u=s,h=n===0?0:s*a/n),{x:r+u,y:i+h}},"intersectRect"),hd=pVe});var et,Xt=P(()=>{"use strict";Vae();Wae();nM();Xae();aM();et={node:Gae,circle:qae,ellipse:f5,polygon:jae,rect:hd}});var Kae,Su,mVe,Eb,tt,st,gVe,Ht=P(()=>{"use strict";Ut();Kae=o(t=>{let{handDrawnSeed:e}=ge();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),Su=o(t=>{let e=mVe([...t.cssCompiledStyles||[],...t.cssStyles||[],...t.labelStyle||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),mVe=o(t=>{let e=new Map;return t.forEach(r=>{let[i,n]=r.split(":");e.set(i.trim(),n?.trim())}),e},"styles2Map"),Eb=o(t=>t==="color"||t==="font-size"||t==="font-family"||t==="font-weight"||t==="font-style"||t==="text-decoration"||t==="text-align"||t==="text-transform"||t==="line-height"||t==="letter-spacing"||t==="word-spacing"||t==="text-shadow"||t==="text-overflow"||t==="white-space"||t==="word-wrap"||t==="word-break"||t==="overflow-wrap"||t==="hyphens","isLabelStyle"),tt=o(t=>{let{stylesArray:e}=Su(t),r=[],i=[],n=[],a=[];return e.forEach(s=>{let l=s[0];Eb(l)?r.push(s.join(":")+" !important"):(i.push(s.join(":")+" !important"),l.includes("stroke")&&n.push(s.join(":")+" !important"),l==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:i.join(";"),stylesArray:e,borderStyles:n,backgroundStyles:a}},"styles2String"),st=o((t,e)=>{let{themeVariables:r,handDrawnSeed:i}=ge(),{nodeBorder:n,mainBkg:a}=r,{stylesMap:s}=Su(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||n,seed:i,strokeWidth:s.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:gVe(s.get("stroke-dasharray"))},e)},"userNodeOverrides"),gVe=o(t=>{if(!t)return[0,0];let e=t.trim().split(/\s+/).map(Number);if(e.length===1){let n=isNaN(e[0])?0:e[0];return[n,n]}let r=isNaN(e[0])?0:e[0],i=isNaN(e[1])?0:e[1];return[r,i]},"getStrokeDashArray")});function sM(t,e,r){if(t&&t.length){let[i,n]=e,a=Math.PI/180*r,s=Math.cos(a),l=Math.sin(a);for(let u of t){let[h,f]=u;u[0]=(h-i)*s-(f-n)*l+i,u[1]=(h-i)*l+(f-n)*s+n}}}function yVe(t,e){return t[0]===e[0]&&t[1]===e[1]}function vVe(t,e,r,i=1){let n=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,l=[0,0];if(n)for(let h of s)sM(h,l,n);let u=(function(h,f,d){let p=[];for(let b of h){let T=[...b];yVe(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&p.push(T)}let m=[];f=Math.max(f,.1);let g=[];for(let b of p)for(let T=0;Tb.yminT.ymin?1:b.xT.x?1:b.ymax===T.ymax?0:(b.ymax-T.ymax)/Math.abs(b.ymax-T.ymax))),!g.length)return m;let y=[],v=g[0].ymin,x=0;for(;y.length||g.length;){if(g.length){let b=-1;for(let T=0;Tv);T++)b=T;g.splice(0,b+1).forEach((T=>{y.push({s:v,edge:T})}))}if(y=y.filter((b=>!(b.edge.ymax<=v))),y.sort(((b,T)=>b.edge.x===T.edge.x?0:(b.edge.x-T.edge.x)/Math.abs(b.edge.x-T.edge.x))),(d!==1||x%f==0)&&y.length>1)for(let b=0;b=y.length)break;let w=y[b].edge,k=y[T].edge;m.push([[Math.round(w.x),v],[Math.round(k.x),v]])}v+=d,y.forEach((b=>{b.edge.x=b.edge.x+d*b.edge.islope})),x++}return m})(s,a,i);if(n){for(let h of s)sM(h,l,-n);(function(h,f,d){let p=[];h.forEach((m=>p.push(...m))),sM(p,f,d)})(u,l,-n)}return u}function Db(t,e){var r;let i=e.hachureAngle+90,n=e.hachureGap;n<0&&(n=4*e.strokeWidth),n=Math.round(Math.max(n,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=n),vVe(t,n,i,a||1)}function T5(t){let e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}function lM(t,e){return t.type===e}function kM(t){let e=[],r=(function(s){let l=new Array;for(;s!=="";)if(s.match(/^([ \t\r\n,]+)/))s=s.substr(RegExp.$1.length);else if(s.match(/^([aAcChHlLmMqQsStTvVzZ])/))l[l.length]={type:xVe,text:RegExp.$1},s=s.substr(RegExp.$1.length);else{if(!s.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];l[l.length]={type:oM,text:`${parseFloat(RegExp.$1)}`},s=s.substr(RegExp.$1.length)}return l[l.length]={type:Qae,text:""},l})(t),i="BOD",n=0,a=r[n];for(;!lM(a,Qae);){let s=0,l=[];if(i==="BOD"){if(a.text!=="M"&&a.text!=="m")return kM("M0,0"+t);n++,s=d5[a.text],i=a.text}else lM(a,oM)?s=d5[i]:(n++,s=d5[a.text],i=a.text);if(!(n+sf%2?h+r:h+e));a.push({key:"C",data:u}),e=u[4],r=u[5];break}case"Q":a.push({key:"Q",data:[...l]}),e=l[2],r=l[3];break;case"q":{let u=l.map(((h,f)=>f%2?h+r:h+e));a.push({key:"Q",data:u}),e=u[2],r=u[3];break}case"A":a.push({key:"A",data:[...l]}),e=l[5],r=l[6];break;case"a":e+=l[5],r+=l[6],a.push({key:"A",data:[l[0],l[1],l[2],l[3],l[4],e,r]});break;case"H":a.push({key:"H",data:[...l]}),e=l[0];break;case"h":e+=l[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...l]}),r=l[0];break;case"v":r+=l[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...l]}),e=l[2],r=l[3];break;case"s":{let u=l.map(((h,f)=>f%2?h+r:h+e));a.push({key:"S",data:u}),e=u[2],r=u[3];break}case"T":a.push({key:"T",data:[...l]}),e=l[0],r=l[1];break;case"t":e+=l[0],r+=l[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=i,r=n}return a}function sse(t){let e=[],r="",i=0,n=0,a=0,s=0,l=0,u=0;for(let{key:h,data:f}of t){switch(h){case"M":e.push({key:"M",data:[...f]}),[i,n]=f,[a,s]=f;break;case"C":e.push({key:"C",data:[...f]}),i=f[4],n=f[5],l=f[2],u=f[3];break;case"L":e.push({key:"L",data:[...f]}),[i,n]=f;break;case"H":i=f[0],e.push({key:"L",data:[i,n]});break;case"V":n=f[0],e.push({key:"L",data:[i,n]});break;case"S":{let d=0,p=0;r==="C"||r==="S"?(d=i+(i-l),p=n+(n-u)):(d=i,p=n),e.push({key:"C",data:[d,p,...f]}),l=f[0],u=f[1],i=f[2],n=f[3];break}case"T":{let[d,p]=f,m=0,g=0;r==="Q"||r==="T"?(m=i+(i-l),g=n+(n-u)):(m=i,g=n);let y=i+2*(m-i)/3,v=n+2*(g-n)/3,x=d+2*(m-d)/3,b=p+2*(g-p)/3;e.push({key:"C",data:[y,v,x,b,d,p]}),l=m,u=g,i=d,n=p;break}case"Q":{let[d,p,m,g]=f,y=i+2*(d-i)/3,v=n+2*(p-n)/3,x=m+2*(d-m)/3,b=g+2*(p-g)/3;e.push({key:"C",data:[y,v,x,b,m,g]}),l=d,u=p,i=m,n=g;break}case"A":{let d=Math.abs(f[0]),p=Math.abs(f[1]),m=f[2],g=f[3],y=f[4],v=f[5],x=f[6];d===0||p===0?(e.push({key:"C",data:[i,n,v,x,v,x]}),i=v,n=x):(i!==v||n!==x)&&(ose(i,n,v,x,d,p,m,g,y).forEach((function(b){e.push({key:"C",data:b})})),i=v,n=x);break}case"Z":e.push({key:"Z",data:[]}),i=a,n=s}r=h}return e}function Sb(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function ose(t,e,r,i,n,a,s,l,u,h){let f=(d=s,Math.PI*d/180);var d;let p=[],m=0,g=0,y=0,v=0;if(h)[m,g,y,v]=h;else{[t,e]=Sb(t,e,-f),[r,i]=Sb(r,i,-f);let _=(t-r)/2,D=(e-i)/2,N=_*_/(n*n)+D*D/(a*a);N>1&&(N=Math.sqrt(N),n*=N,a*=N);let R=n*n,B=a*a,O=R*B-R*D*D-B*_*_,$=R*D*D+B*_*_,z=(l===u?-1:1)*Math.sqrt(Math.abs(O/$));y=z*n*D/a+(t+r)/2,v=z*-a*_/n+(e+i)/2,m=Math.asin(parseFloat(((e-v)/a).toFixed(9))),g=Math.asin(parseFloat(((i-v)/a).toFixed(9))),tg&&(m-=2*Math.PI),!u&&g>m&&(g-=2*Math.PI)}let x=g-m;if(Math.abs(x)>120*Math.PI/180){let _=g,D=r,N=i;g=u&&g>m?m+120*Math.PI/180*1:m+120*Math.PI/180*-1,p=ose(r=y+n*Math.cos(g),i=v+a*Math.sin(g),D,N,n,a,s,0,u,[g,_,y,v])}x=g-m;let b=Math.cos(m),T=Math.sin(m),w=Math.cos(g),k=Math.sin(g),C=Math.tan(x/4),E=4/3*n*C,S=4/3*a*C,L=[t,e],M=[t+E*T,e-S*b],I=[r+E*k,i-S*w],A=[r,i];if(M[0]=2*L[0]-M[0],M[1]=2*L[1]-M[1],h)return[M,I,A].concat(p);{p=[M,I,A].concat(p);let _=[];for(let D=0;D2){let n=[];for(let a=0;a2*Math.PI&&(m=0,g=2*Math.PI);let y=2*Math.PI/u.curveStepCount,v=Math.min(y/2,(g-m)/2),x=ise(v,h,f,d,p,m,g,1,u);if(!u.disableMultiStroke){let b=ise(v,h,f,d,p,m,g,1.5,u);x.push(...b)}return s&&(l?x.push(...fd(h,f,h+d*Math.cos(m),f+p*Math.sin(m),u),...fd(h,f,h+d*Math.cos(g),f+p*Math.sin(g),u)):x.push({op:"lineTo",data:[h,f]},{op:"lineTo",data:[h+d*Math.cos(m),f+p*Math.sin(m)]})),{type:"path",ops:x}}function ese(t,e){let r=sse(ase(kM(t))),i=[],n=[0,0],a=[0,0];for(let{key:s,data:l}of r)switch(s){case"M":a=[l[0],l[1]],n=[l[0],l[1]];break;case"L":i.push(...fd(a[0],a[1],l[0],l[1],e)),a=[l[0],l[1]];break;case"C":{let[u,h,f,d,p,m]=l;i.push(...kVe(u,h,f,d,p,m,a,e)),a=[p,m];break}case"Z":i.push(...fd(a[0],a[1],n[0],n[1],e)),a=[n[0],n[1]]}return{type:"path",ops:i}}function cM(t,e){let r=[];for(let i of t)if(i.length){let n=e.maxRandomnessOffset||0,a=i.length;if(a>2){r.push({op:"move",data:[i[0][0]+xr(n,e),i[0][1]+xr(n,e)]});for(let s=1;s500?.4:-.0016668*u+1.233334;let f=n.maxRandomnessOffset||0;f*f*100>l&&(f=u/10);let d=f/2,p=.2+.2*use(n),m=n.bowing*n.maxRandomnessOffset*(i-e)/200,g=n.bowing*n.maxRandomnessOffset*(t-r)/200;m=xr(m,n,h),g=xr(g,n,h);let y=[],v=o(()=>xr(d,n,h),"M"),x=o(()=>xr(f,n,h),"k"),b=n.preserveVertices;return a&&(s?y.push({op:"move",data:[t+(b?0:v()),e+(b?0:v())]}):y.push({op:"move",data:[t+(b?0:xr(f,n,h)),e+(b?0:xr(f,n,h))]})),s?y.push({op:"bcurveTo",data:[m+t+(r-t)*p+v(),g+e+(i-e)*p+v(),m+t+2*(r-t)*p+v(),g+e+2*(i-e)*p+v(),r+(b?0:v()),i+(b?0:v())]}):y.push({op:"bcurveTo",data:[m+t+(r-t)*p+x(),g+e+(i-e)*p+x(),m+t+2*(r-t)*p+x(),g+e+2*(i-e)*p+x(),r+(b?0:x()),i+(b?0:x())]}),y}function p5(t,e,r){if(!t.length)return[];let i=[];i.push([t[0][0]+xr(e,r),t[0][1]+xr(e,r)]),i.push([t[0][0]+xr(e,r),t[0][1]+xr(e,r)]);for(let n=1;n3){let a=[],s=1-r.curveTightness;n.push({op:"move",data:[t[1][0],t[1][1]]});for(let l=1;l+21&&n.push(l)):n.push(l),n.push(t[e+3])}else{let u=t[e+0],h=t[e+1],f=t[e+2],d=t[e+3],p=L0(u,h,.5),m=L0(h,f,.5),g=L0(f,d,.5),y=L0(p,m,.5),v=L0(m,g,.5),x=L0(y,v,.5);xM([u,p,y,x],0,r,n),xM([x,v,g,d],0,r,n)}var a,s;return n}function wVe(t,e){return b5(t,0,t.length,e)}function b5(t,e,r,i,n){let a=n||[],s=t[e],l=t[r-1],u=0,h=1;for(let f=e+1;fu&&(u=d,h=f)}return Math.sqrt(u)>i?(b5(t,e,h+1,i,a),b5(t,h,r,i,a)):(a.length||a.push(s),a.push(l)),a}function uM(t,e=.15,r){let i=[],n=(t.length-1)/3;for(let a=0;a0?b5(i,0,i.length,r):i}var _b,hM,fM,dM,pM,mM,ko,gM,xVe,oM,Qae,d5,bVe,el,D1,bM,m5,TM,rt,Yt=P(()=>{"use strict";o(sM,"t");o(yVe,"e");o(vVe,"s");o(Db,"n");_b=class{static{o(this,"o")}constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){let i=Db(e,r);return{type:"fillSketch",ops:this.renderLines(i,r)}}renderLines(e,r){let i=[];for(let n of e)i.push(...this.helper.doubleLineOps(n[0][0],n[0][1],n[1][0],n[1][1],r));return i}};o(T5,"a");hM=class extends _b{static{o(this,"h")}fillPolygons(e,r){let i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let n=Db(e,Object.assign({},r,{hachureGap:i})),a=Math.PI/180*r.hachureAngle,s=[],l=.5*i*Math.cos(a),u=.5*i*Math.sin(a);for(let[h,f]of n)T5([h,f])&&s.push([[h[0]-l,h[1]+u],[...f]],[[h[0]+l,h[1]-u],[...f]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}},fM=class extends _b{static{o(this,"r")}fillPolygons(e,r){let i=this._fillPolygons(e,r),n=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,n);return i.ops=i.ops.concat(a.ops),i}},dM=class{static{o(this,"i")}constructor(e){this.helper=e}fillPolygons(e,r){let i=Db(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(i,r)}dotsOnLines(e,r){let i=[],n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);let s=n/4;for(let l of e){let u=T5(l),h=u/n,f=Math.ceil(h)-1,d=u-f*n,p=(l[0][0]+l[1][0])/2-n/4,m=Math.min(l[0][1],l[1][1]);for(let g=0;g{let l=T5(s),u=Math.floor(l/(i+n)),h=(l+n-u*(i+n))/2,f=s[0],d=s[1];f[0]>d[0]&&(f=s[1],d=s[0]);let p=Math.atan((d[1]-f[1])/(d[0]-f[0]));for(let m=0;m{let s=T5(a),l=Math.round(s/(2*r)),u=a[0],h=a[1];u[0]>h[0]&&(u=a[1],h=a[0]);let f=Math.atan((h[1]-u[1])/(h[0]-u[0]));for(let d=0;d2*Math.PI&&(E=0,S=2*Math.PI);let L=(S-E)/b.curveStepCount,M=[];for(let I=E;I<=S;I+=L)M.push([T+k*Math.cos(I),w+C*Math.sin(I)]);return M.push([T+k*Math.cos(S),w+C*Math.sin(S)]),M.push([T,w]),_1([M],b)})(e,r,i,n,a,s,h));return h.stroke!==el&&f.push(d),this._d("arc",f,h)}curve(e,r){let i=this._o(r),n=[],a=Zae(e,i);if(i.fill&&i.fill!==el)if(i.fillStyle==="solid"){let s=Zae(e,Object.assign(Object.assign({},i),{disableMultiStroke:!0,roughness:i.roughness?i.roughness+i.fillShapeRoughnessGain:0}));n.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{let s=[],l=e;if(l.length){let u=typeof l[0][0]=="number"?[l]:l;for(let h of u)h.length<3?s.push(...h):h.length===3?s.push(...uM(nse([h[0],h[0],h[1],h[2]]),10,(1+i.roughness)/2)):s.push(...uM(nse(h),10,(1+i.roughness)/2))}s.length&&n.push(_1([s],i))}return i.stroke!==el&&n.push(a),this._d("curve",n,i)}polygon(e,r){let i=this._o(r),n=[],a=g5(e,!0,i);return i.fill&&(i.fillStyle==="solid"?n.push(cM([e],i)):n.push(_1([e],i))),i.stroke!==el&&n.push(a),this._d("polygon",n,i)}path(e,r){let i=this._o(r),n=[];if(!e)return this._d("path",n,i);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let a=i.fill&&i.fill!=="transparent"&&i.fill!==el,s=i.stroke!==el,l=!!(i.simplification&&i.simplification<1),u=(function(f,d,p){let m=sse(ase(kM(f))),g=[],y=[],v=[0,0],x=[],b=o(()=>{x.length>=4&&y.push(...uM(x,d)),x=[]},"i"),T=o(()=>{b(),y.length&&(g.push(y),y=[])},"c");for(let{key:k,data:C}of m)switch(k){case"M":T(),v=[C[0],C[1]],y.push(v);break;case"L":b(),y.push([C[0],C[1]]);break;case"C":if(!x.length){let E=y.length?y[y.length-1]:v;x.push([E[0],E[1]])}x.push([C[0],C[1]]),x.push([C[2],C[3]]),x.push([C[4],C[5]]);break;case"Z":b(),y.push([v[0],v[1]])}if(T(),!p)return g;let w=[];for(let k of g){let C=wVe(k,p);C.length&&w.push(C)}return w})(e,1,l?4-4*(i.simplification||1):(1+i.roughness)/2),h=ese(e,i);if(a)if(i.fillStyle==="solid")if(u.length===1){let f=ese(e,Object.assign(Object.assign({},i),{disableMultiStroke:!0,roughness:i.roughness?i.roughness+i.fillShapeRoughnessGain:0}));n.push({type:"fillPath",ops:this._mergedShape(f.ops)})}else n.push(cM(u,i));else n.push(_1(u,i));return s&&(l?u.forEach((f=>{n.push(g5(f,!1,i))})):n.push(h)),this._d("path",n,i)}opsToPath(e,r){let i="";for(let n of e.ops){let a=typeof r=="number"&&r>=0?n.data.map((s=>+s.toFixed(r))):n.data;switch(n.op){case"move":i+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":i+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":i+=`L${a[0]} ${a[1]} `}}return i.trim()}toPaths(e){let r=e.sets||[],i=e.options||this.defaultOptions,n=[];for(let a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:i.stroke,strokeWidth:i.strokeWidth,fill:el};break;case"fillPath":s={d:this.opsToPath(a),stroke:el,strokeWidth:0,fill:i.fill||el};break;case"fillSketch":s=this.fillSketch(a,i)}s&&n.push(s)}return n}fillSketch(e,r){let i=r.fillWeight;return i<0&&(i=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||el,strokeWidth:i,fill:el}}_mergedShape(e){return e.filter(((r,i)=>i===0||r.op!=="move"))}},bM=class{static{o(this,"st")}constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new D1(r)}draw(e){let r=e.sets||[],i=e.options||this.getDefaultOptions(),n=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(let s of r)switch(s.type){case"path":n.save(),n.strokeStyle=i.stroke==="none"?"transparent":i.stroke,n.lineWidth=i.strokeWidth,i.strokeLineDash&&n.setLineDash(i.strokeLineDash),i.strokeLineDashOffset&&(n.lineDashOffset=i.strokeLineDashOffset),this._drawToContext(n,s,a),n.restore();break;case"fillPath":{n.save(),n.fillStyle=i.fill||"";let l=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(n,s,a,l),n.restore();break}case"fillSketch":this.fillSketch(n,s,i)}}fillSketch(e,r,i){let n=i.fillWeight;n<0&&(n=i.strokeWidth/2),e.save(),i.fillLineDash&&e.setLineDash(i.fillLineDash),i.fillLineDashOffset&&(e.lineDashOffset=i.fillLineDashOffset),e.strokeStyle=i.fill||"",e.lineWidth=n,this._drawToContext(e,r,i.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,i,n="nonzero"){e.beginPath();for(let a of r.ops){let s=typeof i=="number"&&i>=0?a.data.map((l=>+l.toFixed(i))):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(n):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,i,n,a){let s=this.gen.line(e,r,i,n,a);return this.draw(s),s}rectangle(e,r,i,n,a){let s=this.gen.rectangle(e,r,i,n,a);return this.draw(s),s}ellipse(e,r,i,n,a){let s=this.gen.ellipse(e,r,i,n,a);return this.draw(s),s}circle(e,r,i,n){let a=this.gen.circle(e,r,i,n);return this.draw(a),a}linearPath(e,r){let i=this.gen.linearPath(e,r);return this.draw(i),i}polygon(e,r){let i=this.gen.polygon(e,r);return this.draw(i),i}arc(e,r,i,n,a,s,l=!1,u){let h=this.gen.arc(e,r,i,n,a,s,l,u);return this.draw(h),h}curve(e,r){let i=this.gen.curve(e,r);return this.draw(i),i}path(e,r){let i=this.gen.path(e,r);return this.draw(i),i}},m5="http://www.w3.org/2000/svg",TM=class{static{o(this,"ot")}constructor(e,r){this.svg=e,this.gen=new D1(r)}draw(e){let r=e.sets||[],i=e.options||this.getDefaultOptions(),n=this.svg.ownerDocument||window.document,a=n.createElementNS(m5,"g"),s=e.options.fixedDecimalPlaceDigits;for(let l of r){let u=null;switch(l.type){case"path":u=n.createElementNS(m5,"path"),u.setAttribute("d",this.opsToPath(l,s)),u.setAttribute("stroke",i.stroke),u.setAttribute("stroke-width",i.strokeWidth+""),u.setAttribute("fill","none"),i.strokeLineDash&&u.setAttribute("stroke-dasharray",i.strokeLineDash.join(" ").trim()),i.strokeLineDashOffset&&u.setAttribute("stroke-dashoffset",`${i.strokeLineDashOffset}`);break;case"fillPath":u=n.createElementNS(m5,"path"),u.setAttribute("d",this.opsToPath(l,s)),u.setAttribute("stroke","none"),u.setAttribute("stroke-width","0"),u.setAttribute("fill",i.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||u.setAttribute("fill-rule","evenodd");break;case"fillSketch":u=this.fillSketch(n,l,i)}u&&a.appendChild(u)}return a}fillSketch(e,r,i){let n=i.fillWeight;n<0&&(n=i.strokeWidth/2);let a=e.createElementNS(m5,"path");return a.setAttribute("d",this.opsToPath(r,i.fixedDecimalPlaceDigits)),a.setAttribute("stroke",i.fill||""),a.setAttribute("stroke-width",n+""),a.setAttribute("fill","none"),i.fillLineDash&&a.setAttribute("stroke-dasharray",i.fillLineDash.join(" ").trim()),i.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${i.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,i,n,a){let s=this.gen.line(e,r,i,n,a);return this.draw(s)}rectangle(e,r,i,n,a){let s=this.gen.rectangle(e,r,i,n,a);return this.draw(s)}ellipse(e,r,i,n,a){let s=this.gen.ellipse(e,r,i,n,a);return this.draw(s)}circle(e,r,i,n){let a=this.gen.circle(e,r,i,n);return this.draw(a)}linearPath(e,r){let i=this.gen.linearPath(e,r);return this.draw(i)}polygon(e,r){let i=this.gen.polygon(e,r);return this.draw(i)}arc(e,r,i,n,a,s,l=!1,u){let h=this.gen.arc(e,r,i,n,a,s,l,u);return this.draw(h)}curve(e,r){let i=this.gen.curve(e,r);return this.draw(i)}path(e,r){let i=this.gen.path(e,r);return this.draw(i)}},rt={canvas:o((t,e)=>new bM(t,e),"canvas"),svg:o((t,e)=>new TM(t,e),"svg"),generator:o(t=>new D1(t),"generator"),newSeed:o(()=>D1.newSeed(),"newSeed")}});function hse(t,e){let{labelStyles:r}=tt(e);e.labelStyle=r;let i=mt(e),n=i;i||(n="anchor");let a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=1,{cssStyles:l}=e,u=rt.svg(a),h=st(e,{fill:"black",stroke:"none",fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);let f=u.circle(0,0,s*2,h),d=a.insert(()=>f,":first-child");return d.attr("class","anchor").attr("style",xi(l)),at(e,d),e.intersect=function(p){return Q.info("Circle intersect",e,s,p),et.circle(e,s,p)},a}var fse=P(()=>{"use strict";bt();zt();Xt();Ht();Yt();er();o(hse,"anchor")});function dse(t,e,r,i,n,a,s){let u=(t+r)/2,h=(e+i)/2,f=Math.atan2(i-e,r-t),d=(r-t)/2,p=(i-e)/2,m=d/n,g=p/a,y=Math.sqrt(m**2+g**2);if(y>1)throw new Error("The given radii are too small to create an arc between the points.");let v=Math.sqrt(1-y**2),x=u+v*a*Math.sin(f)*(s?-1:1),b=h-v*n*Math.cos(f)*(s?-1:1),T=Math.atan2((e-b)/a,(t-x)/n),k=Math.atan2((i-b)/a,(r-x)/n)-T;s&&k<0&&(k+=2*Math.PI),!s&&k>0&&(k-=2*Math.PI);let C=[];for(let E=0;E<20;E++){let S=E/19,L=T+S*k,M=x+n*Math.cos(L),I=b+a*Math.sin(L);C.push({x:M,y:I})}return C}function EVe(t,e,r){let[i,n]=[e,r].sort((a,s)=>s-a);return n*(1-Math.sqrt(1-(t/i/2)**2))}async function pse(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=e.look==="neo"?16:n,s=e.look==="neo"?12:n,l=o(L=>L+s,"calcTotalHeight"),u=o(L=>{let M=L/2;return[M/(2.5+L/50),M]},"calcEllipseRadius"),{shapeSvg:h,bbox:f}=await vt(t,e,mt(e)),d=l(e?.height?e?.height:f.height),[p,m]=u(d),g=EVe(d,p,m),v=(e?.width?e?.width:f.width)+a*2+g-g,x=d,{cssStyles:b}=e,T=[{x:v/2,y:-x/2},{x:-v/2,y:-x/2},...dse(-v/2,-x/2,-v/2,x/2,p,m,!1),{x:v/2,y:x/2},...dse(v/2,x/2,v/2,-x/2,p,m,!0)],w=rt.svg(h),k=st(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");let C=rr(T),E=w.path(C,k),S=h.insert(()=>E,":first-child");return S.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&S.selectAll("path").attr("style",b),i&&e.look!=="handDrawn"&&S.selectAll("path").attr("style",i),S.attr("transform",`translate(${p/2}, 0)`),at(e,S),e.intersect=function(L){return et.polygon(e,T,L)},h}var mse=P(()=>{"use strict";zt();Xt();Ht();Yt();o(dse,"generateArcPoints");o(EVe,"calculateArcSagitta");o(pse,"bowTieRect")});function ds(t,e,r,i){return t.insert("polygon",":first-child").attr("points",i.map(function(n){return n.x+","+n.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}var Vh=P(()=>{"use strict";o(ds,"insertPolygonShape")});async function gse(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=e.look==="neo"?28:n,s=e.look==="neo"?24:n,{shapeSvg:l,bbox:u}=await vt(t,e,mt(e)),h=(e?.width??u.width)+(e.look==="neo"?a*2:a+k5),f=(e?.height??u.height)+(e.look==="neo"?s*2:s),d=0,p=h,m=-f,g=0,y=[{x:d+k5,y:m},{x:p,y:m},{x:p,y:g},{x:d,y:g},{x:d,y:m+k5},{x:d+k5,y:m}],v,{cssStyles:x}=e;if(e.look==="handDrawn"){let b=rt.svg(l),T=st(e,{}),w=rr(y),k=b.path(w,T);v=l.insert(()=>k,":first-child").attr("transform",`translate(${-h/2}, ${f/2})`),x&&v.attr("style",x)}else v=ds(l,h,f,y);return i&&v.attr("style",i),at(e,v),e.intersect=function(b){return et.polygon(e,y,b)},l}var k5,yse=P(()=>{"use strict";zt();Xt();Ht();Yt();Vh();zt();k5=12;o(gse,"card")});function vse(t,e){let{nodeStyles:r}=tt(e);e.label="";let i=t.insert("g").attr("class",mt(e)).attr("id",e.domId??e.id),{cssStyles:n}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],l=rt.svg(i),u=st(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let h=rr(s),f=l.path(h,u),d=i.insert(()=>f,":first-child");return n&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",n),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(p){return et.polygon(e,s,p)},i}var xse=P(()=>{"use strict";Xt();Yt();Ht();zt();o(vse,"choice")});async function C5(t,e,r){let{labelStyles:i,nodeStyles:n}=tt(e);e.labelStyle=i;let{shapeSvg:a,bbox:s,halfPadding:l}=await vt(t,e,mt(e)),u=16,h=r?.padding??l,f=e.look==="neo"?s.width/2+u*2:s.width/2+h,d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=rt.svg(a),g=st(e,{}),y=m.circle(0,0,f*2,g);d=a.insert(()=>y,":first-child"),d.attr("class","basic label-container").attr("style",xi(p))}else d=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",n).attr("r",f).attr("cx",0).attr("cy",0);return at(e,d),e.calcIntersect=function(m,g){let y=m.width/2;return et.circle(m,y,g)},e.intersect=function(m){return Q.info("Circle intersect",e,f,m),et.circle(e,f,m)},a}var CM=P(()=>{"use strict";Yt();bt();er();Xt();Ht();zt();o(C5,"circle")});function SVe(t){let e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),i=t*2,n={x:i/2*e,y:i/2*r},a={x:-(i/2)*e,y:i/2*r},s={x:-(i/2)*e,y:-(i/2)*r},l={x:i/2*e,y:-(i/2)*r};return`M ${a.x},${a.y} L ${l.x},${l.y} - M ${n.x},${n.y} L ${s.x},${s.y}`}function bse(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r,e.label="";let n=t.insert("g").attr("class",mt(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,l=rt.svg(n),u=st(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let h=l.circle(0,0,a*2,u),f=SVe(a),d=l.path(f,u),p=n.insert(()=>h,":first-child");return p.insert(()=>d),p.attr("class","outer-path"),s&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",s),i&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",i),at(e,p),e.intersect=function(m){return Q.info("crossedCircle intersect",e,{radius:a,point:m}),et.circle(e,a,m)},n}var Tse=P(()=>{"use strict";bt();zt();Ht();Yt();Xt();o(SVe,"createLine");o(bse,"crossedCircle")});function dd(t,e,r,i=100,n=0,a=180){let s=[],l=n*Math.PI/180,f=(a*Math.PI/180-l)/(i-1);for(let d=0;dk,":first-child").attr("stroke-opacity",0),C.insert(()=>T,":first-child"),C.attr("class","text"),p&&e.look!=="handDrawn"&&C.selectAll("path").attr("style",p),i&&e.look!=="handDrawn"&&C.selectAll("path").attr("style",i),C.attr("transform",`translate(${d}, 0)`),s.attr("transform",`translate(${-h/2+d-(a.x-(a.left??0))},${-f/2+(e.padding??0)/2-(a.y-(a.top??0))})`),at(e,C),e.intersect=function(E){return et.polygon(e,g,E)},n}var Cse=P(()=>{"use strict";zt();Xt();Ht();Yt();o(dd,"generateCirclePoints");o(kse,"curlyBraceLeft")});function pd(t,e,r,i=100,n=0,a=180){let s=[],l=n*Math.PI/180,f=(a*Math.PI/180-l)/(i-1);for(let d=0;dk,":first-child").attr("stroke-opacity",0),C.insert(()=>T,":first-child"),C.attr("class","text"),p&&e.look!=="handDrawn"&&C.selectAll("path").attr("style",p),i&&e.look!=="handDrawn"&&C.selectAll("path").attr("style",i),C.attr("transform",`translate(${-d}, 0)`),s.attr("transform",`translate(${-h/2+(e.padding??0)/2-(a.x-(a.left??0))},${-f/2+(e.padding??0)/2-(a.y-(a.top??0))})`),at(e,C),e.intersect=function(E){return et.polygon(e,g,E)},n}var Ese=P(()=>{"use strict";zt();Xt();Ht();Yt();o(pd,"generateCirclePoints");o(wse,"curlyBraceRight")});function ps(t,e,r,i=100,n=0,a=180){let s=[],l=n*Math.PI/180,f=(a*Math.PI/180-l)/(i-1);for(let d=0;dL,":first-child").attr("stroke-opacity",0),M.insert(()=>w,":first-child"),M.insert(()=>E,":first-child"),M.attr("class","text"),p&&e.look!=="handDrawn"&&M.selectAll("path").attr("style",p),i&&e.look!=="handDrawn"&&M.selectAll("path").attr("style",i),M.attr("transform",`translate(${d-d/4}, 0)`),s.attr("transform",`translate(${-h/2+(e.padding??0)/2-(a.x-(a.left??0))},${-f/2+(e.padding??0)/2-(a.y-(a.top??0))})`),at(e,M),e.intersect=function(I){return et.polygon(e,y,I)},n}var Ase=P(()=>{"use strict";zt();Xt();Ht();Yt();o(ps,"generateCirclePoints");o(Sse,"curlyBraces")});async function _se(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=e.look==="neo"?16:n,s=e.look==="neo"?12:n,l=20,u=5,{shapeSvg:h,bbox:f}=await vt(t,e,mt(e)),d=Math.max(l,(f.width+a*2)*1.25,e?.width??0),p=Math.max(u,f.height+s*2,e?.height??0),m=p/2,{cssStyles:g}=e,y=rt.svg(h),v=st(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");let x=d,b=p,T=x-m,w=b/4,k=[{x:T,y:0},{x:w,y:0},{x:0,y:b/2},{x:w,y:b},{x:T,y:b},...D0(-T,-b/2,m,50,270,90)],C=rr(k),E=y.path(C,v),S=h.insert(()=>E,":first-child");return S.attr("class","basic label-container outer-path"),g&&e.look!=="handDrawn"&&S.selectChildren("path").attr("style",g),i&&e.look!=="handDrawn"&&S.selectChildren("path").attr("style",i),S.attr("transform",`translate(${-d/2}, ${-p/2})`),at(e,S),e.intersect=function(L){return et.polygon(e,k,L)},h}var Dse=P(()=>{"use strict";zt();Xt();Ht();Yt();o(_se,"curvedTrapezoid")});async function Nse(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=e.look==="neo"?24:n,s=e.look==="neo"?24:n;if(e.width||e.height){let v=e.width??0;e.width=(e.width??0)-s,e.widthk,":first-child"),g=l.insert(()=>w,":first-child"),g.attr("class","basic label-container"),y&&g.attr("style",y)}else{let v=AVe(0,0,f,m,d,p);g=l.insert("path",":first-child").attr("d",v).attr("class","basic label-container outer-path").attr("style",xi(y)).attr("style",i)}return g.attr("label-offset-y",p),g.attr("transform",`translate(${-f/2}, ${-(m/2+p)})`),at(e,g),h.attr("transform",`translate(${-(u.width/2)-(u.x-(u.left??0))}, ${-(u.height/2)+(e.padding??0)/1.5-(u.y-(u.top??0))})`),e.intersect=function(v){let x=et.rect(e,v),b=x.x-(e.x??0);if(d!=0&&(Math.abs(b)<(e.width??0)/2||Math.abs(b)==(e.width??0)/2&&Math.abs(x.y-(e.y??0))>(e.height??0)/2-p)){let T=p*p*(1-b*b/(d*d));T>0&&(T=Math.sqrt(T)),T=p-T,v.y-(e.y??0)>0&&(T=-T),x.y+=T}return x},l}var AVe,_Ve,DVe,Lse,Rse,Ise=P(()=>{"use strict";zt();Xt();Ht();Yt();er();AVe=o((t,e,r,i,n,a)=>[`M${t},${e+a}`,`a${n},${a} 0,0,0 ${r},0`,`a${n},${a} 0,0,0 ${-r},0`,`l0,${i}`,`a${n},${a} 0,0,0 ${r},0`,`l0,${-i}`].join(" "),"createCylinderPathD"),_Ve=o((t,e,r,i,n,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${n},${a} 0,0,0 ${-r},0`,`l0,${i}`,`a${n},${a} 0,0,0 ${r},0`,`l0,${-i}`].join(" "),"createOuterCylinderPathD"),DVe=o((t,e,r,i,n,a)=>[`M${t-r/2},${-i/2}`,`a${n},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),Lse=8,Rse=8;o(Nse,"cylinder")});async function Mse(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?16:e.padding??0,{shapeSvg:s,bbox:l,label:u}=await vt(t,e,mt(e)),h=l.width+n,f=l.height+a,d=f*.2,p=-h/2,m=-f/2-d/2,{cssStyles:g}=e,y=rt.svg(s),v=st(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");let x=[{x:p,y:m+d},{x:-p,y:m+d},{x:-p,y:-m},{x:p,y:-m},{x:p,y:m},{x:-p,y:m},{x:-p,y:m+d}],b=y.polygon(x.map(w=>[w.x,w.y]),v),T=s.insert(()=>b,":first-child");return T.attr("class","basic label-container outer-path"),g&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",g),i&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",i),u.attr("transform",`translate(${p+(e.padding??0)/2-(l.x-(l.left??0))}, ${m+d+(e.padding??0)/2-(l.y-(l.top??0))})`),at(e,T),e.intersect=function(w){return et.rect(e,w)},s}var Ose=P(()=>{"use strict";zt();Xt();Ht();Yt();o(Mse,"dividedRectangle")});async function Pse(t,e){let{labelStyles:r,nodeStyles:i}=tt(e),n=e.look==="neo"?12:5;e.labelStyle=r;let a=e.padding??0,s=e.look==="neo"?16:a,{shapeSvg:l,bbox:u}=await vt(t,e,mt(e)),h=(e?.width?e?.width/2:u.width/2)+(s??0),f=h-n,d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=rt.svg(l),g=st(e,{roughness:.2,strokeWidth:2.5}),y=st(e,{roughness:.2,strokeWidth:1.5}),v=m.circle(0,0,h*2,g),x=m.circle(0,0,f*2,y);d=l.insert("g",":first-child"),d.attr("class",xi(e.cssClasses)).attr("style",xi(p)),d.node()?.appendChild(v),d.node()?.appendChild(x)}else{d=l.insert("g",":first-child");let m=d.insert("circle",":first-child"),g=d.insert("circle");d.attr("class","basic label-container").attr("style",i),m.attr("class","outer-circle").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0),g.attr("class","inner-circle").attr("style",i).attr("r",f).attr("cx",0).attr("cy",0)}return at(e,d),e.intersect=function(m){return Q.info("DoubleCircle intersect",e,h,m),et.circle(e,h,m)},l}var Bse=P(()=>{"use strict";bt();zt();Xt();Ht();Yt();er();o(Pse,"doublecircle")});function Fse(t,e,{config:{themeVariables:r}}){let{labelStyles:i,nodeStyles:n}=tt(e);e.label="",e.labelStyle=i;let a=t.insert("g").attr("class",mt(e)).attr("id",e.domId??e.id),s=7,{cssStyles:l}=e,u=rt.svg(a),{nodeBorder:h}=r,f=st(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(f.roughness=0);let d=u.circle(0,0,s*2,f),p=a.insert(()=>d,":first-child");return p.selectAll("path").attr("style",`fill: ${h} !important;`),l&&l.length>0&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",l),n&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",n),at(e,p),e.intersect=function(m){return Q.info("filledCircle intersect",e,{radius:s,point:m}),et.circle(e,s,m)},a}var $se=P(()=>{"use strict";Yt();bt();Xt();Ht();zt();o(Fse,"filledCircle")});async function Vse(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=e.look==="neo"?n*2:n;(e.width||e.height)&&(e.height=e?.height??0,e.heightx,":first-child").attr("transform",`translate(${-f/2}, ${f/2})`).attr("class","outer-path");return m&&e.look!=="handDrawn"&&b.selectChildren("path").attr("style",m),i&&e.look!=="handDrawn"&&b.selectChildren("path").attr("style",i),e.width=h,e.height=f,at(e,b),u.attr("transform",`translate(${-l.width/2-(l.x-(l.left??0))}, ${-f/2+(e.padding??0)/2+(l.y-(l.top??0))})`),e.intersect=function(T){return Q.info("Triangle intersect",e,p,T),et.polygon(e,p,T)},s}var zse,Gse,qse=P(()=>{"use strict";bt();zt();Xt();Ht();Yt();zt();zse=10,Gse=10;o(Vse,"flippedTriangle")});function Wse(t,e,{dir:r,config:{state:i,themeVariables:n}}){let{nodeStyles:a}=tt(e);e.label="";let s=t.insert("g").attr("class",mt(e)).attr("id",e.domId??e.id),{cssStyles:l}=e,u=Math.max(70,e?.width??0),h=Math.max(10,e?.height??0);r==="LR"&&(u=Math.max(10,e?.width??0),h=Math.max(70,e?.height??0));let f=-1*u/2,d=-1*h/2,p=rt.svg(s),m=st(e,{stroke:n.lineColor,fill:n.lineColor});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=p.rectangle(f,d,u,h,m),y=s.insert(()=>g,":first-child");l&&e.look!=="handDrawn"&&y.selectAll("path").attr("style",l),a&&e.look!=="handDrawn"&&y.selectAll("path").attr("style",a),at(e,y);let v=i?.padding??0;return e.width&&e.height&&(e.width+=v/2||0,e.height+=v/2||0),e.intersect=function(x){return et.rect(e,x)},s}var Use=P(()=>{"use strict";Yt();Xt();Ht();zt();o(Wse,"forkJoin")});async function Hse(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=15,a=10,s=e.look==="neo"?16:e.padding??0,l=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.height=(e?.height??0)-l*2,e.heightb,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",m),i&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",i),at(e,T),e.intersect=function(w){return Q.info("Pill intersect",e,{radius:p,point:w}),et.polygon(e,v,w)},u}var Yse=P(()=>{"use strict";bt();zt();Xt();Ht();Yt();o(Hse,"halfRoundedRectangle")});async function jse(t,e){let{labelStyles:r,nodeStyles:i}=tt(e),n=e.look==="neo"?3.5:4;e.labelStyle=r;let a=e.padding??0,s=70,l=32,u=e.look==="neo"?s:a,h=e.look==="neo"?l:a;if(e.width||e.height){let T=(e.height??0)/n;e.width=(e?.width??0)-2*T-h,e.height=(e.height??0)-u}let{shapeSvg:f,bbox:d}=await vt(t,e,mt(e)),p=(e?.height?e?.height:d.height)+u,m=p/n,g=(e?.width?e?.width:d.width)+2*m+h,y=[{x:m,y:0},{x:g-m,y:0},{x:g,y:-p/2},{x:g-m,y:-p},{x:m,y:-p},{x:0,y:-p/2}],v,{cssStyles:x}=e;if(e.look==="handDrawn"){let b=rt.svg(f),T=st(e,{}),w=LVe(0,0,g,p,m),k=b.path(w,T);v=f.insert(()=>k,":first-child").attr("transform",`translate(${-g/2}, ${p/2})`),x&&v.attr("style",x)}else v=ds(f,g,p,y);return i&&v.attr("style",i),e.width=g,e.height=p,at(e,v),e.intersect=function(b){return et.polygon(e,y,b)},f}var LVe,Xse=P(()=>{"use strict";zt();Xt();Ht();Yt();Vh();LVe=o((t,e,r,i,n)=>[`M${t+n},${e}`,`L${t+r-n},${e}`,`L${t+r},${e-i/2}`,`L${t+r-n},${e-i}`,`L${t+n},${e-i}`,`L${t},${e-i/2}`,"Z"].join(" "),"createHexagonPathD");o(jse,"hexagon")});async function Kse(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.label="",e.labelStyle=r;let{shapeSvg:n}=await vt(t,e,mt(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:l}=e,u=rt.svg(n),h=st(e,{});e.look!=="handDrawn"&&(h.roughness=0,h.fillStyle="solid");let f=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=rr(f),p=u.path(d,h),m=n.insert(()=>p,":first-child");return m.attr("class","basic label-container outer-path"),l&&e.look!=="handDrawn"&&m.selectChildren("path").attr("style",l),i&&e.look!=="handDrawn"&&m.selectChildren("path").attr("style",i),m.attr("transform",`translate(${-a/2}, ${-s/2})`),at(e,m),e.intersect=function(g){return Q.info("Pill intersect",e,{points:f}),et.polygon(e,f,g)},n}var Qse=P(()=>{"use strict";bt();zt();Xt();Ht();Yt();o(Kse,"hourglass")});async function Zse(t,e,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:n}=tt(e);e.labelStyle=n;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=i?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,label:d}=await vt(t,e,"icon-shape default"),p=e.pos==="t",m=l,g=l,{nodeBorder:y}=r,{stylesMap:v}=Su(e),x=-g/2,b=-m/2,T=e.label?8:0,w=rt.svg(h),k=st(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");let C=w.rectangle(x,b,g,m,k),E=Math.max(g,f.width),S=m+f.height+T,L=w.rectangle(-E/2,-S/2,E,S,{...k,fill:"transparent",stroke:"none"}),M=h.insert(()=>C,":first-child"),I=h.insert(()=>L);if(e.icon){let A=h.append("g");A.html(`${await fo(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let _=A.node().getBBox(),D=_.width,N=_.height,R=_.x,B=_.y;A.attr("transform",`translate(${-D/2-R},${p?f.height/2+T/2-N/2-B:-f.height/2-T/2-N/2-B})`),A.attr("style",`color: ${v.get("stroke")??y};`)}return d.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${p?-S/2:S/2-f.height})`),M.attr("transform",`translate(0,${p?f.height/2+T/2:-f.height/2-T/2})`),at(e,I),e.intersect=function(A){if(Q.info("iconSquare intersect",e,A),!e.label)return et.rect(e,A);let _=e.x??0,D=e.y??0,N=e.height??0,R=[];return p?R=[{x:_-f.width/2,y:D-N/2},{x:_+f.width/2,y:D-N/2},{x:_+f.width/2,y:D-N/2+f.height+T},{x:_+g/2,y:D-N/2+f.height+T},{x:_+g/2,y:D+N/2},{x:_-g/2,y:D+N/2},{x:_-g/2,y:D-N/2+f.height+T},{x:_-f.width/2,y:D-N/2+f.height+T}]:R=[{x:_-g/2,y:D-N/2},{x:_+g/2,y:D-N/2},{x:_+g/2,y:D-N/2+m},{x:_+f.width/2,y:D-N/2+m},{x:_+f.width/2/2,y:D+N/2},{x:_-f.width/2,y:D+N/2},{x:_-f.width/2,y:D-N/2+m},{x:_-g/2,y:D-N/2+m}],et.polygon(e,R,A)},h}var Jse=P(()=>{"use strict";Yt();bt();lu();Xt();Ht();zt();o(Zse,"icon")});async function eoe(t,e,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:n}=tt(e);e.labelStyle=n;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=i?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,label:d}=await vt(t,e,"icon-shape default"),p=20,m=e.label?8:0,g=e.pos==="t",{nodeBorder:y,mainBkg:v}=r,{stylesMap:x}=Su(e),b=rt.svg(h),T=st(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let w=x.get("fill");T.stroke=w??v;let k=h.append("g");e.icon&&k.html(`${await fo(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let C=k.node().getBBox(),E=C.width,S=C.height,L=C.x,M=C.y,I=Math.max(E,S)*Math.SQRT2+p*2,A=b.circle(0,0,I,T),_=Math.max(I,f.width),D=I+f.height+m,N=b.rectangle(-_/2,-D/2,_,D,{...T,fill:"transparent",stroke:"none"}),R=h.insert(()=>A,":first-child"),B=h.insert(()=>N);return k.attr("transform",`translate(${-E/2-L},${g?f.height/2+m/2-S/2-M:-f.height/2-m/2-S/2-M})`),k.attr("style",`color: ${x.get("stroke")??y};`),d.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${g?-D/2:D/2-f.height})`),R.attr("transform",`translate(0,${g?f.height/2+m/2:-f.height/2-m/2})`),at(e,B),e.intersect=function(O){return Q.info("iconSquare intersect",e,O),et.rect(e,O)},h}var toe=P(()=>{"use strict";Yt();bt();lu();Xt();Ht();zt();o(eoe,"iconCircle")});var Co,R0=P(()=>{"use strict";Co=o((t,e,r,i,n)=>["M",t+n,e,"H",t+r-n,"A",n,n,0,0,1,t+r,e+n,"V",e+i-n,"A",n,n,0,0,1,t+r-n,e+i,"H",t+n,"A",n,n,0,0,1,t,e+i-n,"V",e+n,"A",n,n,0,0,1,t+n,e,"Z"].join(" "),"createRoundedRectPathD")});async function roe(t,e,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:n}=tt(e);e.labelStyle=n;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=i?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,halfPadding:d,label:p}=await vt(t,e,"icon-shape default"),m=e.pos==="t",g=l+d*2,y=l+d*2,{nodeBorder:v,mainBkg:x}=r,{stylesMap:b}=Su(e),T=-y/2,w=-g/2,k=e.label?8:0,C=rt.svg(h),E=st(e,{});e.look!=="handDrawn"&&(E.roughness=0,E.fillStyle="solid");let S=b.get("fill");E.stroke=S??x;let L=C.path(Co(T,w,y,g,5),E),M=Math.max(y,f.width),I=g+f.height+k,A=C.rectangle(-M/2,-I/2,M,I,{...E,fill:"transparent",stroke:"none"}),_=h.insert(()=>L,":first-child").attr("class","icon-shape2"),D=h.insert(()=>A);if(e.icon){let N=h.append("g");N.html(`${await fo(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let R=N.node().getBBox(),B=R.width,O=R.height,$=R.x,z=R.y;N.attr("transform",`translate(${-B/2-$},${m?f.height/2+k/2-O/2-z:-f.height/2-k/2-O/2-z})`),N.attr("style",`color: ${b.get("stroke")??v};`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-I/2:I/2-f.height})`),_.attr("transform",`translate(0,${m?f.height/2+k/2:-f.height/2-k/2})`),at(e,D),e.intersect=function(N){if(Q.info("iconSquare intersect",e,N),!e.label)return et.rect(e,N);let R=e.x??0,B=e.y??0,O=e.height??0,$=[];return m?$=[{x:R-f.width/2,y:B-O/2},{x:R+f.width/2,y:B-O/2},{x:R+f.width/2,y:B-O/2+f.height+k},{x:R+y/2,y:B-O/2+f.height+k},{x:R+y/2,y:B+O/2},{x:R-y/2,y:B+O/2},{x:R-y/2,y:B-O/2+f.height+k},{x:R-f.width/2,y:B-O/2+f.height+k}]:$=[{x:R-y/2,y:B-O/2},{x:R+y/2,y:B-O/2},{x:R+y/2,y:B-O/2+g},{x:R+f.width/2,y:B-O/2+g},{x:R+f.width/2/2,y:B+O/2},{x:R-f.width/2,y:B+O/2},{x:R-f.width/2,y:B-O/2+g},{x:R-y/2,y:B-O/2+g}],et.polygon(e,$,N)},h}var ioe=P(()=>{"use strict";Yt();bt();lu();Xt();Ht();R0();zt();o(roe,"iconRounded")});async function noe(t,e,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:n}=tt(e);e.labelStyle=n;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=i?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,halfPadding:d,label:p}=await vt(t,e,"icon-shape default"),m=e.pos==="t",g=l+d*2,y=l+d*2,{nodeBorder:v,mainBkg:x}=r,{stylesMap:b}=Su(e),T=-y/2,w=-g/2,k=e.label?8:0,C=rt.svg(h),E=st(e,{});e.look!=="handDrawn"&&(E.roughness=0,E.fillStyle="solid");let S=b.get("fill");E.stroke=S??x;let L=C.path(Co(T,w,y,g,.1),E),M=Math.max(y,f.width),I=g+f.height+k,A=C.rectangle(-M/2,-I/2,M,I,{...E,fill:"transparent",stroke:"none"}),_=h.insert(()=>L,":first-child"),D=h.insert(()=>A);if(e.icon){let N=h.append("g");N.html(`${await fo(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let R=N.node().getBBox(),B=R.width,O=R.height,$=R.x,z=R.y;N.attr("transform",`translate(${-B/2-$},${m?f.height/2+k/2-O/2-z:-f.height/2-k/2-O/2-z})`),N.attr("style",`color: ${b.get("stroke")??v};`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-I/2:I/2-f.height})`),_.attr("transform",`translate(0,${m?f.height/2+k/2:-f.height/2-k/2})`),at(e,D),e.intersect=function(N){if(Q.info("iconSquare intersect",e,N),!e.label)return et.rect(e,N);let R=e.x??0,B=e.y??0,O=e.height??0,$=[];return m?$=[{x:R-f.width/2,y:B-O/2},{x:R+f.width/2,y:B-O/2},{x:R+f.width/2,y:B-O/2+f.height+k},{x:R+y/2,y:B-O/2+f.height+k},{x:R+y/2,y:B+O/2},{x:R-y/2,y:B+O/2},{x:R-y/2,y:B-O/2+f.height+k},{x:R-f.width/2,y:B-O/2+f.height+k}]:$=[{x:R-y/2,y:B-O/2},{x:R+y/2,y:B-O/2},{x:R+y/2,y:B-O/2+g},{x:R+f.width/2,y:B-O/2+g},{x:R+f.width/2/2,y:B+O/2},{x:R-f.width/2,y:B+O/2},{x:R-f.width/2,y:B-O/2+g},{x:R-y/2,y:B-O/2+g}],et.polygon(e,$,N)},h}var aoe=P(()=>{"use strict";Yt();bt();lu();Xt();R0();Ht();zt();o(noe,"iconSquare")});async function soe(t,e,{config:{flowchart:r}}){let i=new Image;i.src=e?.img??"",await i.decode();let n=Number(i.naturalWidth.toString().replace("px","")),a=Number(i.naturalHeight.toString().replace("px",""));e.imageAspectRatio=n/a;let{labelStyles:s}=tt(e);e.labelStyle=s;let l=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;let u=Math.max(e.label?l??0:0,e?.assetWidth??n),h=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:u,f=e.constraint==="on"?h/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(h,l??0);let{shapeSvg:d,bbox:p,label:m}=await vt(t,e,"image-shape default"),g=e.pos==="t",y=-h/2,v=-f/2,x=e.label?8:0,b=rt.svg(d),T=st(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let w=b.rectangle(y,v,h,f,T),k=Math.max(h,p.width),C=f+p.height+x,E=b.rectangle(-k/2,-C/2,k,C,{...T,fill:"none",stroke:"none"}),S=d.insert(()=>w,":first-child"),L=d.insert(()=>E);if(e.img){let M=d.append("image");M.attr("href",e.img),M.attr("width",h),M.attr("height",f),M.attr("preserveAspectRatio","none"),M.attr("transform",`translate(${-h/2},${g?C/2-f:-C/2})`)}return m.attr("transform",`translate(${-p.width/2-(p.x-(p.left??0))},${g?-f/2-p.height/2-x/2:f/2-p.height/2+x/2})`),S.attr("transform",`translate(0,${g?p.height/2+x/2:-p.height/2-x/2})`),at(e,L),e.intersect=function(M){if(Q.info("iconSquare intersect",e,M),!e.label)return et.rect(e,M);let I=e.x??0,A=e.y??0,_=e.height??0,D=[];return g?D=[{x:I-p.width/2,y:A-_/2},{x:I+p.width/2,y:A-_/2},{x:I+p.width/2,y:A-_/2+p.height+x},{x:I+h/2,y:A-_/2+p.height+x},{x:I+h/2,y:A+_/2},{x:I-h/2,y:A+_/2},{x:I-h/2,y:A-_/2+p.height+x},{x:I-p.width/2,y:A-_/2+p.height+x}]:D=[{x:I-h/2,y:A-_/2},{x:I+h/2,y:A-_/2},{x:I+h/2,y:A-_/2+f},{x:I+p.width/2,y:A-_/2+f},{x:I+p.width/2/2,y:A+_/2},{x:I-p.width/2,y:A+_/2},{x:I-p.width/2,y:A-_/2+f},{x:I-h/2,y:A-_/2+f}],et.polygon(e,D,M)},d}var ooe=P(()=>{"use strict";Yt();bt();Xt();Ht();zt();o(soe,"imageSquare")});async function loe(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=n,s=e.look==="neo"?n*2:n,{shapeSvg:l,bbox:u}=await vt(t,e,mt(e)),h=Math.max(u.width+(s??0)*2,e?.width??0),f=Math.max(u.height+(a??0)*2,e?.height??0),d=[{x:0,y:0},{x:h,y:0},{x:h+3*f/6,y:-f},{x:-3*f/6,y:-f}],p,{cssStyles:m}=e;if(e.look==="handDrawn"){let g=rt.svg(l),y=st(e,{}),v=rr(d),x=g.path(v,y);p=l.insert(()=>x,":first-child").attr("transform",`translate(${-h/2}, ${f/2})`),m&&p.attr("style",m)}else p=ds(l,h,f,d);return i&&p.attr("style",i),e.width=h,e.height=f,at(e,p),e.intersect=function(g){return et.polygon(e,d,g)},l}var coe=P(()=>{"use strict";zt();Xt();Ht();Yt();Vh();o(loe,"inv_trapezoid")});async function qh(t,e,r){let{labelStyles:i,nodeStyles:n}=tt(e);e.labelStyle=i;let{shapeSvg:a,bbox:s}=await vt(t,e,mt(e)),l=Math.max(s.width+r.labelPaddingX*2,e?.width||0),u=Math.max(s.height+r.labelPaddingY*2,e?.height||0),h=-l/2,f=-u/2,d,{rx:p,ry:m}=e,{cssStyles:g}=e;if(r?.rx&&r.ry&&(p=r.rx,m=r.ry),e.look==="handDrawn"){let y=rt.svg(a),v=st(e,{}),x=p||m?y.path(Co(h,f,l,u,p||0),v):y.rectangle(h,f,l,u,v);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",xi(g))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",n).attr("rx",xi(p)).attr("ry",xi(m)).attr("x",h).attr("y",f).attr("width",l).attr("height",u);return at(e,d),e.calcIntersect=function(y,v){return et.rect(y,v)},e.intersect=function(y){return et.rect(e,y)},a}var L1=P(()=>{"use strict";zt();Xt();R0();Ht();Yt();er();o(qh,"drawRect")});async function uoe(t,e){let{shapeSvg:r,bbox:i,label:n}=await vt(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),n.attr("transform",`translate(${-(i.width/2)-(i.x-(i.left??0))}, ${-(i.height/2)-(i.y-(i.top??0))})`),at(e,a),e.intersect=function(u){return et.rect(e,u)},r}var hoe=P(()=>{"use strict";L1();zt();Xt();o(uoe,"labelRect")});async function foe(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=n,s=e.look==="neo"?n*2:n,{shapeSvg:l,bbox:u}=await vt(t,e,mt(e)),h=(e?.height??u.height)+a,f=(e?.width??u.width)+s,d=[{x:0,y:0},{x:f+3*h/6,y:0},{x:f,y:-h},{x:-(3*h)/6,y:-h}],p,{cssStyles:m}=e;if(e.look==="handDrawn"){let g=rt.svg(l),y=st(e,{}),v=rr(d),x=g.path(v,y);p=l.insert(()=>x,":first-child").attr("transform",`translate(${-f/2}, ${h/2})`),m&&p.attr("style",m)}else p=ds(l,f,h,d);return i&&p.attr("style",i),e.width=f,e.height=h,at(e,p),e.intersect=function(g){return et.polygon(e,d,g)},l}var doe=P(()=>{"use strict";zt();Xt();Ht();Yt();Vh();o(foe,"lean_left")});async function poe(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=n,s=e.look==="neo"?n*2:n,{shapeSvg:l,bbox:u}=await vt(t,e,mt(e)),h=(e?.height??u.height)+a,f=(e?.width??u.width)+s,d=[{x:-3*h/6,y:0},{x:f,y:0},{x:f+3*h/6,y:-h},{x:0,y:-h}],p,{cssStyles:m}=e;if(e.look==="handDrawn"){let g=rt.svg(l),y=st(e,{}),v=rr(d),x=g.path(v,y);p=l.insert(()=>x,":first-child").attr("transform",`translate(${-f/2}, ${h/2})`),m&&p.attr("style",m)}else p=ds(l,f,h,d);return i&&p.attr("style",i),e.width=f,e.height=h,at(e,p),e.intersect=function(g){return et.polygon(e,d,g)},l}var moe=P(()=>{"use strict";zt();Xt();Ht();Yt();Vh();o(poe,"lean_right")});function goe(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.label="",e.labelStyle=r;let n=t.insert("g").attr("class",mt(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),l=Math.max(35,e?.height??0),u=7,h=[{x:s,y:0},{x:0,y:l+u/2},{x:s-2*u,y:l+u/2},{x:0,y:2*l},{x:s,y:l-u/2},{x:2*u,y:l-u/2}],f=rt.svg(n),d=st(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=rr(h),m=f.path(p,d),g=n.insert(()=>m,":first-child");return g.attr("class","outer-path"),a&&e.look!=="handDrawn"&&g.selectAll("path").attr("style",a),i&&e.look!=="handDrawn"&&g.selectAll("path").attr("style",i),g.attr("transform",`translate(-${s/2},${-l})`),at(e,g),e.intersect=function(y){return Q.info("lightningBolt intersect",e,y),et.polygon(e,h,y)},n}var yoe=P(()=>{"use strict";bt();zt();Ht();Yt();Xt();zt();o(goe,"lightningBolt")});async function boe(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=e.look==="neo"?16:n,s=e.look==="neo"?24:n;if(e.width||e.height){let x=e.width??0;e.width=(e.width??0)-a,e.widthC,":first-child").attr("class","line"),y=l.insert(()=>k,":first-child"),y.attr("class","basic label-container"),v&&y.attr("style",v)}else{let x=RVe(0,0,f,m,d,p,g);y=l.insert("path",":first-child").attr("d",x).attr("class","basic label-container outer-path").attr("style",xi(v)).attr("style",i)}return y.attr("label-offset-y",p),y.attr("transform",`translate(${-f/2}, ${-(m/2+p)})`),at(e,y),h.attr("transform",`translate(${-(u.width/2)-(u.x-(u.left??0))}, ${-(u.height/2)+p-(u.y-(u.top??0))})`),e.intersect=function(x){let b=et.rect(e,x),T=b.x-(e.x??0);if(d!=0&&(Math.abs(T)<(e.width??0)/2||Math.abs(T)==(e.width??0)/2&&Math.abs(b.y-(e.y??0))>(e.height??0)/2-p)){let w=p*p*(1-T*T/(d*d));w>0&&(w=Math.sqrt(w)),w=p-w,x.y-(e.y??0)>0&&(w=-w),b.y+=w}return b},l}var RVe,NVe,IVe,voe,xoe,Toe=P(()=>{"use strict";zt();Xt();Ht();Yt();er();RVe=o((t,e,r,i,n,a,s)=>[`M${t},${e+a}`,`a${n},${a} 0,0,0 ${r},0`,`a${n},${a} 0,0,0 ${-r},0`,`l0,${i}`,`a${n},${a} 0,0,0 ${r},0`,`l0,${-i}`,`M${t},${e+a+s}`,`a${n},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),NVe=o((t,e,r,i,n,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${n},${a} 0,0,0 ${-r},0`,`l0,${i}`,`a${n},${a} 0,0,0 ${r},0`,`l0,${-i}`,`M${t},${e+a+s}`,`a${n},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),IVe=o((t,e,r,i,n,a)=>[`M${t-r/2},${-i/2}`,`a${n},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),voe=10,xoe=10;o(boe,"linedCylinder")});async function koe(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=e.look==="neo"?16:n,s=e.look==="neo"?12:n;if(e.width||e.height){let w=e.width;e.width=(w??0)*10/11-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10)}let{shapeSvg:l,bbox:u,label:h}=await vt(t,e,mt(e)),f=(e?.width?e?.width:u.width)+(a??0)*2,d=(e?.height?e?.height:u.height)+(s??0)*2,p=e.look==="neo"?d/4:d/8,m=d+p,{cssStyles:g}=e,y=rt.svg(l),v=st(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");let x=[{x:-f/2-f/2*.1,y:-m/2},{x:-f/2-f/2*.1,y:m/2},...Ml(-f/2-f/2*.1,m/2,f/2+f/2*.1,m/2,p,.8),{x:f/2+f/2*.1,y:-m/2},{x:-f/2-f/2*.1,y:-m/2},{x:-f/2,y:-m/2},{x:-f/2,y:m/2*1.1},{x:-f/2,y:-m/2}],b=y.polygon(x.map(w=>[w.x,w.y]),v),T=l.insert(()=>b,":first-child");return T.attr("class","basic label-container outer-path"),g&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",g),i&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",i),T.attr("transform",`translate(0,${-p/2})`),h.attr("transform",`translate(${-f/2+(e.padding??0)+f/2*.1/2-(u.x-(u.left??0))},${-d/2+(e.padding??0)-p/2-(u.y-(u.top??0))})`),at(e,T),e.intersect=function(w){return et.polygon(e,x,w)},l}var Coe=P(()=>{"use strict";zt();Xt();Yt();Ht();o(koe,"linedWaveEdgedRect")});async function woe(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=e.look==="neo"?16:n,s=e.look==="neo"?12:n,l=e.look==="neo"?10:5;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2-2*l,10),e.height=Math.max((e?.height??0)-s*2-2*l,10));let{shapeSvg:u,bbox:h,label:f}=await vt(t,e,mt(e)),d=(e?.width?e?.width:h.width)+a*2+2*l,p=(e?.height?e?.height:h.height)+s*2+2*l,m=d-2*l,g=p-2*l,y=-m/2,v=-g/2,{cssStyles:x}=e,b=rt.svg(u),T=st(e,{}),w=[{x:y-l,y:v+l},{x:y-l,y:v+g+l},{x:y+m-l,y:v+g+l},{x:y+m-l,y:v+g},{x:y+m,y:v+g},{x:y+m,y:v+g-l},{x:y+m+l,y:v+g-l},{x:y+m+l,y:v-l},{x:y+l,y:v-l},{x:y+l,y:v},{x:y,y:v},{x:y,y:v+l}],k=[{x:y,y:v+l},{x:y+m-l,y:v+l},{x:y+m-l,y:v+g},{x:y+m,y:v+g},{x:y+m,y:v},{x:y,y:v}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let C=rr(w),E=b.path(C,T),S=rr(k),L=b.path(S,T);e.look!=="handDrawn"&&(E=iM(E),L=iM(L));let M=u.insert("g",":first-child");return M.insert(()=>E),M.insert(()=>L),M.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&M.selectAll("path").attr("style",x),i&&e.look!=="handDrawn"&&M.selectAll("path").attr("style",i),f.attr("transform",`translate(${-(h.width/2)-l-(h.x-(h.left??0))}, ${-(h.height/2)+l-(h.y-(h.top??0))})`),at(e,M),e.intersect=function(I){return et.polygon(e,w,I)},u}var Eoe=P(()=>{"use strict";zt();Ht();Yt();Xt();o(woe,"multiRect")});async function Soe(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let{shapeSvg:n,bbox:a,label:s}=await vt(t,e,mt(e)),l=e.padding??0,u=e.look==="neo"?16:l,h=e.look==="neo"?12:l,f=!0;(e.width||e.height)&&(f=!1,e.width=(e?.width??0)-u*2,e.height=(e?.height??0)-h*3);let d=Math.max(a.width,e?.width??0)+u*2,p=Math.max(a.height,e?.height??0)+h*3,m=e.look==="neo"?p/4:p/8,g=p+(f?m/2:-m/2),y=-d/2,v=-g/2,x=10,{cssStyles:b}=e,T=Ml(y-x,v+g+x,y+d-x,v+g+x,m,.8),w=T?.[T.length-1],k=[{x:y-x,y:v+x},{x:y-x,y:v+g+x},...T,{x:y+d-x,y:w.y-x},{x:y+d,y:w.y-x},{x:y+d,y:w.y-2*x},{x:y+d+x,y:w.y-2*x},{x:y+d+x,y:v-x},{x:y+x,y:v-x},{x:y+x,y:v},{x:y,y:v},{x:y,y:v+x}],C=[{x:y,y:v+x},{x:y+d-x,y:v+x},{x:y+d-x,y:w.y-x},{x:y+d,y:w.y-x},{x:y+d,y:v},{x:y,y:v}],E=rt.svg(n),S=st(e,{});e.look!=="handDrawn"&&(S.roughness=0,S.fillStyle="solid");let L=rr(k),M=E.path(L,S),I=rr(C),A=E.path(I,S),_=n.insert(()=>M,":first-child");return _.insert(()=>A),_.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",b),i&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",i),_.attr("transform",`translate(0,${-m/2})`),s.attr("transform",`translate(${-(a.width/2)-x-(a.x-(a.left??0))}, ${-(a.height/2)+x-m/2-(a.y-(a.top??0))})`),at(e,_),e.intersect=function(D){return et.polygon(e,k,D)},n}var Aoe=P(()=>{"use strict";zt();Xt();Yt();Ht();o(Soe,"multiWaveEdgedRectangle")});async function _oe(t,e,{config:{themeVariables:r}}){let{labelStyles:i,nodeStyles:n}=tt(e);e.labelStyle=i,e.useHtmlLabels||Or(Lt())||(e.centerLabel=!0);let{shapeSvg:s,bbox:l,label:u}=await vt(t,e,mt(e)),h=Math.max(l.width+(e.padding??0)*2,e?.width??0),f=Math.max(l.height+(e.padding??0)*2,e?.height??0),d=-h/2,p=-f/2,{cssStyles:m}=e,g=rt.svg(s),y=st(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=g.rectangle(d,p,h,f,y),x=s.insert(()=>v,":first-child");return x.attr("class","basic label-container outer-path"),u.attr("class","label noteLabel"),m&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),u.attr("transform",`translate(${-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),at(e,x),e.intersect=function(b){return et.rect(e,b)},s}var Doe=P(()=>{"use strict";Yt();Xt();Ht();zt();Sr();Sr();o(_oe,"note")});async function Loe(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let{shapeSvg:n,bbox:a}=await vt(t,e,mt(e)),s=a.width+(e.padding??0),l=a.height+(e.padding??0),u=s+l,h=.5,f=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=rt.svg(n),g=st(e,{}),y=MVe(0,0,u),v=m.path(y,g);d=n.insert(()=>v,":first-child").attr("transform",`translate(${-u/2+h}, ${u/2})`),p&&d.attr("style",p)}else d=ds(n,u,u,f),d.attr("transform",`translate(${-u/2+h}, ${u/2})`);return i&&d.attr("style",i),at(e,d),e.calcIntersect=function(m,g){let y=m.width,v=[{x:y/2,y:0},{x:y,y:-y/2},{x:y/2,y:-y},{x:0,y:-y/2}],x=et.polygon(m,v,g);return{x:x.x-.5,y:x.y-.5}},e.intersect=function(m){return this.calcIntersect(e,m)},n}var MVe,Roe=P(()=>{"use strict";zt();Xt();Ht();Yt();Vh();MVe=o((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");o(Loe,"question")});async function Noe(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=e.look==="neo"?21:n??0,s=e.look==="neo"?12:n??0,{shapeSvg:l,bbox:u,label:h}=await vt(t,e,mt(e)),f=(e?.width??u.width)+(e.look==="neo"?a*2:a),d=(e?.height??u.height)+(e.look==="neo"?s*2:s),p=-f/2,m=-d/2,g=m/2,y=[{x:p+g,y:m},{x:p,y:0},{x:p+g,y:-m},{x:-p,y:-m},{x:-p,y:m}],{cssStyles:v}=e,x=rt.svg(l),b=st(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");let T=rr(y),w=x.path(T,b),k=l.insert(()=>w,":first-child");return k.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&k.selectAll("path").attr("style",v),i&&e.look!=="handDrawn"&&k.selectAll("path").attr("style",i),k.attr("transform",`translate(${-g/2},0)`),h.attr("transform",`translate(${-g/2-u.width/2-(u.x-(u.left??0))}, ${-(u.height/2)-(u.y-(u.top??0))})`),at(e,k),e.intersect=function(C){return et.polygon(e,y,C)},l}var Ioe=P(()=>{"use strict";zt();Xt();Ht();Yt();o(Noe,"rect_left_inv_arrow")});var OVe,Dc,w5=P(()=>{"use strict";Sr();Ut();To();OVe=o(async(t,e,r,i=!1,n=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);let s=ge(),l=Or(s);return await Vi(t,a,{style:r,isTitle:i,useHtmlLabels:l,markdown:!1,isNode:n,width:Number.POSITIVE_INFINITY},s)},"createLabel"),Dc=OVe});async function Moe(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n;e.cssClasses?n="node "+e.cssClasses:n="node default";let a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g"),l=a.insert("g").attr("class","label").attr("style",i),u=e.description,h=e.label,f=await Dc(l,h,e.labelStyle,!0,!0),d={width:0,height:0};if(Or(ge())){let S=f.children[0],L=Ze(f);d=S.getBoundingClientRect(),L.attr("width",d.width),L.attr("height",d.height)}Q.info("Text 2",u);let p=u||[],m=f.getBBox(),g=await Dc(l,Array.isArray(p)?p.join("
    "):p,e.labelStyle,!0,!0),y=g.children[0],v=Ze(g);d=y.getBoundingClientRect(),v.attr("width",d.width),v.attr("height",d.height);let x=(e.padding||0)/2;Ze(g).attr("transform","translate( "+(d.width>m.width?0:(m.width-d.width)/2)+", "+(m.height+x+5)+")"),Ze(f).attr("transform","translate( "+(d.width(Q.debug("Rough node insert CXC",M),I),":first-child"),C=a.insert(()=>(Q.debug("Rough node insert CXC",M),M),":first-child")}else C=s.insert("rect",":first-child"),E=s.insert("line"),C.attr("class","outer title-state").attr("style",i).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),E.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+m.height+x).attr("y2",-d.height/2-x+m.height+x);return at(e,C),e.intersect=function(S){return et.rect(e,S)},a}var Ooe=P(()=>{"use strict";Pr();zt();w5();Xt();Ht();Yt();Ut();R0();bt();Sr();o(Moe,"rectWithTitle")});async function Poe(t,e,{config:{themeVariables:r}}){let i=r?.radius??5,n={rx:i,ry:i,classes:"",labelPaddingX:(e?.padding??0)*1,labelPaddingY:(e?.padding??0)*1};return qh(t,e,n)}var Boe=P(()=>{"use strict";L1();o(Poe,"roundedRect")});async function Foe(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0,{shapeSvg:s,bbox:l,label:u}=await vt(t,e,mt(e)),h=(e?.width??l.width)+n*2+(e.look==="neo"?N0:N0*2),f=(e?.height??l.height)+a*2,d=h-N0,p=f,m=N0-h/2,g=-f/2,{cssStyles:y}=e,v=rt.svg(s),x=st(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");let b=[{x:m,y:g},{x:m+d,y:g},{x:m+d,y:g+p},{x:m-N0,y:g+p},{x:m-N0,y:g},{x:m,y:g},{x:m,y:g+p}],T=v.polygon(b.map(k=>[k.x,k.y]),x),w=s.insert(()=>T,":first-child");return w.attr("class","basic label-container outer-path").attr("style",xi(y)),i&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",i),y&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",i),u.attr("transform",`translate(${N0/2-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),at(e,w),e.intersect=function(k){return et.rect(e,k)},s}var N0,$oe=P(()=>{"use strict";zt();Xt();Ht();Yt();er();N0=8;o(Foe,"shadedProcess")});async function zoe(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=e.look==="neo"?16:n,s=e.look==="neo"?12:n;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-a*2,10),e.height=Math.max((e?.height??0)/1.5-s*2,10));let{shapeSvg:l,bbox:u,label:h}=await vt(t,e,mt(e)),f=(e?.width?e?.width:u.width)+a*2,d=((e?.height?e?.height:u.height)+s*2)*1.5,p=f,m=d/1.5,g=-p/2,y=-m/2,{cssStyles:v}=e,x=rt.svg(l),b=st(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");let T=[{x:g,y},{x:g,y:y+m},{x:g+p,y:y+m},{x:g+p,y:y-m/2}],w=rr(T),k=x.path(w,b),C=l.insert(()=>k,":first-child");return C.attr("class","basic label-container outer-path"),v&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",v),i&&e.look!=="handDrawn"&&C.selectChildren("path").attr("style",i),C.attr("transform",`translate(0, ${m/4})`),h.attr("transform",`translate(${-p/2+(e.padding??0)-(u.x-(u.left??0))}, ${-m/4+(e.padding??0)-(u.y-(u.top??0))})`),at(e,C),e.intersect=function(E){return et.polygon(e,T,E)},l}var Goe=P(()=>{"use strict";zt();Xt();Ht();Yt();o(zoe,"slopedRect")});async function Voe(t,e){let r=e.padding??0,i=e.look==="neo"?16:r*2,n=e.look==="neo"?12:r,a={rx:0,ry:0,classes:"",labelPaddingX:e.labelPaddingX??i,labelPaddingY:n};return qh(t,e,a)}var qoe=P(()=>{"use strict";L1();o(Voe,"squareRect")});async function Woe(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=e.look==="neo"?20:n,s=e.look==="neo"?12:n,{shapeSvg:l,bbox:u}=await vt(t,e,mt(e)),h=u.height+(e.look==="neo"?s*2:s),f=u.width+h/4+(e.look==="neo"?a*2:a),d=h/2,{cssStyles:p}=e,m=rt.svg(l),g=st(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:-f/2+d,y:-h/2},{x:f/2-d,y:-h/2},...D0(-f/2+d,0,d,50,90,270),{x:f/2-d,y:h/2},...D0(f/2-d,0,d,50,270,450)],v=rr(y),x=m.path(v,g),b=l.insert(()=>x,":first-child");return b.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&b.selectChildren("path").attr("style",p),i&&e.look!=="handDrawn"&&b.selectChildren("path").attr("style",i),at(e,b),e.intersect=function(T){return et.polygon(e,y,T)},l}var Uoe=P(()=>{"use strict";zt();Xt();Ht();Yt();o(Woe,"stadium")});async function Hoe(t,e){let r={rx:e.look==="neo"?3:5,ry:e.look==="neo"?3:5,classes:"flowchart-node"};return qh(t,e,r)}var Yoe=P(()=>{"use strict";L1();o(Hoe,"state")});function joe(t,e,{config:{themeVariables:r}}){let{labelStyles:i,nodeStyles:n}=tt(e);e.labelStyle=i;let{cssStyles:a}=e,{lineColor:s,stateBorder:l,nodeBorder:u,nodeShadow:h}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);let f=t.insert("g").attr("class","node default").attr("id",e.domId??e.id),d=rt.svg(f),p=st(e,{});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");let m=d.circle(0,0,e.width,{...p,stroke:s,strokeWidth:2}),g=l??u,y=(e.width??0)*5/14,v=d.circle(0,0,y,{...p,fill:g,stroke:g,strokeWidth:2,fillStyle:"solid"}),x=f.insert(()=>m,":first-child");if(x.insert(()=>v),e.look!=="handDrawn"&&x.attr("class","outer-path"),a&&x.selectAll("path").attr("style",a),n&&x.selectAll("path").attr("style",n),e.width<25&&h&&e.look!=="handDrawn"){let b=t.node()?.ownerSVGElement?.id??"",T=b?`${b}-drop-shadow-small`:"drop-shadow-small";x.attr("style",`filter:url(#${T})`)}return at(e,x),e.intersect=function(b){return et.circle(e,(e.width??0)/2,b)},f}var Xoe=P(()=>{"use strict";Yt();Xt();Ht();zt();o(joe,"stateEnd")});function Koe(t,e,{config:{themeVariables:r}}){let{lineColor:i,nodeShadow:n}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);let a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),s;if(e.look==="handDrawn"){let u=rt.svg(a).circle(0,0,e.width,Kae(i));s=a.insert(()=>u),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14)}else s=a.insert("circle",":first-child"),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14);if(e.width<25&&n&&e.look!=="handDrawn"){let l=t.node()?.ownerSVGElement?.id??"",u=l?`${l}-drop-shadow-small`:"drop-shadow-small";s.attr("style",`filter:url(#${u})`)}return at(e,s),e.intersect=function(l){return et.circle(e,(e.width??7)/2,l)},a}var Qoe=P(()=>{"use strict";Yt();Xt();Ht();zt();o(Koe,"stateStart")});async function Zoe(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e?.padding??8,a=e.look==="neo"?28:n,s=e.look==="neo"?12:n,{shapeSvg:l,bbox:u}=await vt(t,e,mt(e)),h=(e?.width??u.width)+2*R1+a,f=(e?.height??u.height)+s,d=h-2*R1,p=f,m=-h/2,g=-f/2,y=[{x:0,y:0},{x:d,y:0},{x:d,y:-p},{x:0,y:-p},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-p},{x:-8,y:-p},{x:-8,y:0}];if(e.look==="handDrawn"){let v=rt.svg(l),x=st(e,{}),b=v.rectangle(m,g,d+16,p,x),T=v.line(m+R1,g,m+R1,g+p,x),w=v.line(m+R1+d,g,m+R1+d,g+p,x);l.insert(()=>T,":first-child"),l.insert(()=>w,":first-child");let k=l.insert(()=>b,":first-child"),{cssStyles:C}=e;k.attr("class","basic label-container").attr("style",xi(C)),at(e,k)}else{let v=ds(l,d,p,y);i&&v.attr("style",i),at(e,v)}return e.intersect=function(v){return et.polygon(e,y,v)},l}var R1,Joe=P(()=>{"use strict";zt();Xt();Ht();Yt();Vh();er();R1=8;o(Zoe,"subroutine")});async function ele(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=e.look==="neo"?16:n,s=e.look==="neo"?12:n;(e.width||e.height)&&(e.height=Math.max((e?.height??0)-s*2,10),e.width=Math.max((e?.width??0)-a*2-wM*(e.height+s*2),10));let{shapeSvg:l,bbox:u}=await vt(t,e,mt(e)),h=(e?.height?e?.height:u.height)+s*2,f=wM*h,d=wM*h,m=(e?.width?e?.width:u.width)+a*2+f-f,g=h,y=-m/2,v=-g/2,{cssStyles:x}=e,b=rt.svg(l),T=st(e,{}),w=[{x:y-f/2,y:v},{x:y+m+f/2,y:v},{x:y+m+f/2,y:v+g},{x:y-f/2,y:v+g}],k=[{x:y+m-f/2,y:v+g},{x:y+m+f/2,y:v+g},{x:y+m+f/2,y:v+g-d}];e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let C=rr(w),E=b.path(C,T),S=rr(k),L=b.path(S,{...T,fillStyle:"solid"}),M=l.insert(()=>L,":first-child");return M.insert(()=>E,":first-child"),M.attr("class","basic label-container outer-path"),x&&e.look!=="handDrawn"&&M.selectAll("path").attr("style",x),i&&e.look!=="handDrawn"&&M.selectAll("path").attr("style",i),at(e,M),e.intersect=function(I){return et.polygon(e,w,I)},l}var wM,tle=P(()=>{"use strict";zt();Ht();Yt();Xt();wM=.2;o(ele,"taggedRect")});async function rle(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let{shapeSvg:n,bbox:a,label:s}=await vt(t,e,mt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/8,f=.2*l,d=.2*u,p=u+h,{cssStyles:m}=e,g=rt.svg(n),y=st(e,{});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=[{x:-l/2-l/2*.1,y:p/2},...Ml(-l/2-l/2*.1,p/2,l/2+l/2*.1,p/2,h,.8),{x:l/2+l/2*.1,y:-p/2},{x:-l/2-l/2*.1,y:-p/2}],x=-l/2+l/2*.1,b=-p/2-d*.4,T=[{x:x+l-f,y:(b+u)*1.3},{x:x+l,y:b+u-d},{x:x+l,y:(b+u)*.9},...Ml(x+l,(b+u)*1.25,x+l-f,(b+u)*1.3,-u*.02,.5)],w=rr(v),k=g.path(w,y),C=rr(T),E=g.path(C,{...y,fillStyle:"solid"}),S=n.insert(()=>E,":first-child");return S.insert(()=>k,":first-child"),S.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&S.selectAll("path").attr("style",m),i&&e.look!=="handDrawn"&&S.selectAll("path").attr("style",i),S.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h/2-(a.y-(a.top??0))})`),at(e,S),e.intersect=function(L){return et.polygon(e,v,L)},n}var ile=P(()=>{"use strict";zt();Xt();Yt();Ht();o(rle,"taggedWaveEdgedRectangle")});async function nle(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let{shapeSvg:n,bbox:a}=await vt(t,e,mt(e)),s=Math.max(a.width+(e.padding??0),e?.width||0),l=Math.max(a.height+(e.padding??0),e?.height||0),u=-s/2,h=-l/2,f=n.insert("rect",":first-child");return f.attr("class","text").attr("style",i).attr("rx",0).attr("ry",0).attr("x",u).attr("y",h).attr("width",s).attr("height",l),at(e,f),e.intersect=function(d){return et.rect(e,d)},n}var ale=P(()=>{"use strict";zt();Xt();Ht();o(nle,"text")});async function lle(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=e.look==="neo"?12:n/2;if(e.width||e.height){let y=e.height??0;e.height=(e.height??0)-a,e.heightT,":first-child"),g=s.insert(()=>b,":first-child"),g.attr("class","basic label-container"),m&&g.attr("style",m)}else{let y=PVe(0,0,p,h,d,f);g=s.insert("path",":first-child").attr("d",y).attr("class","basic label-container").attr("style",xi(m)).attr("style",i),g.attr("class","basic label-container outer-path"),m&&g.selectAll("path").attr("style",m),i&&g.selectAll("path").attr("style",i)}return g.attr("label-offset-x",d),g.attr("transform",`translate(${-p/2}, ${h/2} )`),u.attr("transform",`translate(${-(l.width/2)-d-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),at(e,g),e.intersect=function(y){let v=et.rect(e,y),x=v.y-(e.y??0);if(f!=0&&(Math.abs(x)<(e.height??0)/2||Math.abs(x)==(e.height??0)/2&&Math.abs(v.x-(e.x??0))>(e.width??0)/2-d)){let b=d*d*(1-x*x/(f*f));b!=0&&(b=Math.sqrt(Math.abs(b))),b=d-b,y.x-(e.x??0)>0&&(b=-b),v.x+=b}return v},s}var PVe,BVe,FVe,sle,ole,cle=P(()=>{"use strict";zt();Ht();Yt();Xt();er();PVe=o((t,e,r,i,n,a)=>`M${t},${e} - a${n},${a} 0,0,1 0,${-i} - l${r},0 - a${n},${a} 0,0,1 0,${i} - M${r},${-i} - a${n},${a} 0,0,0 0,${i} - l${-r},0`,"createCylinderPathD"),BVe=o((t,e,r,i,n,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${n},${a} 0,0,0 0,${-i}`,`l${-r},0`,`a${n},${a} 0,0,0 0,${i}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),FVe=o((t,e,r,i,n,a)=>[`M${t+r/2},${-i/2}`,`a${n},${a} 0,0,0 0,${i}`].join(" "),"createInnerCylinderPathD"),sle=5,ole=10;o(lle,"tiltedCylinder")});async function ule(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=(e.look==="neo",n),s=e.look==="neo"?n*2:n,{shapeSvg:l,bbox:u}=await vt(t,e,mt(e)),h=(e?.height??u.height)+a,f=(e?.width??u.width)+s,d=[{x:-3*h/6,y:0},{x:f+3*h/6,y:0},{x:f,y:-h},{x:0,y:-h}],p,{cssStyles:m}=e;if(e.look==="handDrawn"){let g=rt.svg(l),y=st(e,{}),v=rr(d),x=g.path(v,y);p=l.insert(()=>x,":first-child").attr("transform",`translate(${-f/2}, ${h/2})`),m&&p.attr("style",m)}else p=ds(l,f,h,d);return i&&p.attr("style",i),e.width=f,e.height=h,at(e,p),e.intersect=function(g){return et.polygon(e,d,g)},l}var hle=P(()=>{"use strict";zt();Xt();Ht();Yt();Vh();o(ule,"trapezoid")});async function fle(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=e.look==="neo"?16:n,s=e.look==="neo"?12:n,l=15,u=5;(e.width||e.height)&&(e.height=(e.height??0)-s*2,e.heightb,":first-child");return T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",m),i&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",i),at(e,T),e.intersect=function(w){return et.polygon(e,v,w)},h}var dle=P(()=>{"use strict";zt();Xt();Ht();Yt();o(fle,"trapezoidalPentagon")});async function gle(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=e.look==="neo"?n*2:n;(e.width||e.height)&&(e.width=((e?.width??0)-a)/2,e.widthb,":first-child").attr("transform",`translate(${-d/2}, ${d/2})`).attr("class","outer-path");return g&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",g),i&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",i),e.width=f,e.height=d,at(e,T),u.attr("transform",`translate(${-l.width/2-(l.x-(l.left??0))}, ${d/2-(l.height+(e.padding??0)/(h?2:1)-(l.y-(l.top??0)))})`),e.intersect=function(w){return Q.info("Triangle intersect",e,m,w),et.polygon(e,m,w)},s}var ple,mle,yle=P(()=>{"use strict";bt();zt();Xt();Ht();Yt();zt();Vr();Ut();ple=10,mle=10;o(gle,"triangle")});async function vle(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=e.look==="neo"?16:n,s=e.look==="neo"?12:n,l=!0;(e.width||e.height)&&(l=!1,e.width=(e?.width??0)-a*2,e.width<10&&(e.width=10),e.height=(e?.height??0)-s*2,e.height<10&&(e.height=10));let{shapeSvg:u,bbox:h,label:f}=await vt(t,e,mt(e)),d=(e?.width?e?.width:h.width)+(a??0)*2,p=(e?.height?e?.height:h.height)+(s??0)*2,m=e.look==="neo"?p/4:p/8,g=p+(l?m:-m),{cssStyles:y}=e,x=14-d,b=x>0?x/2:0,T=rt.svg(u),w=st(e,{});e.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");let k=[{x:-d/2-b,y:g/2},...Ml(-d/2-b,g/2,d/2+b,g/2,m,.8),{x:d/2+b,y:-g/2},{x:-d/2-b,y:-g/2}],C=rr(k),E=T.path(C,w),S=u.insert(()=>E,":first-child");return S.attr("class","basic label-container outer-path"),y&&e.look!=="handDrawn"&&S.selectAll("path").attr("style",y),i&&e.look!=="handDrawn"&&S.selectAll("path").attr("style",i),S.attr("transform",`translate(0,${-m/2})`),f.attr("transform",`translate(${-d/2+(e.padding??0)-(h.x-(h.left??0))},${-p/2+(e.padding??0)-m-(h.y-(h.top??0))})`),at(e,S),e.intersect=function(L){return et.polygon(e,k,L)},u}var xle=P(()=>{"use strict";zt();Xt();Yt();Ht();o(vle,"waveEdgedRectangle")});async function ble(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.padding??0,a=e.look==="neo"?16:n,s=e.look==="neo"?20:n;if(e.width||e.height){e.width=e?.width??0,e.width<20&&(e.width=20),e.height=e?.height??0,e.height<10&&(e.height=10);let w=Math.min(e.height*.2,e.height/4);e.height=Math.ceil(e.height-s-w*(20/9)),e.width=e.width-a*2}let{shapeSvg:l,bbox:u}=await vt(t,e,mt(e)),h=(e?.width?e?.width:u.width)+a*2,f=(e?.height?e?.height:u.height)+s,d=f/8,p=f+d*2,{cssStyles:m}=e,g=rt.svg(l),y=st(e,{});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=[{x:-h/2,y:p/2},...Ml(-h/2,p/2,h/2,p/2,d,1),{x:h/2,y:-p/2},...Ml(h/2,-p/2,-h/2,-p/2,d,-1)],x=rr(v),b=g.path(x,y),T=l.insert(()=>b,":first-child");return T.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),i&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",i),at(e,T),e.intersect=function(w){return et.polygon(e,v,w)},l}var Tle=P(()=>{"use strict";zt();Xt();Ht();Yt();o(ble,"waveRectangle")});async function kle(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-n*2-On,10),e.height=Math.max((e?.height??0)-a*2-On,10));let{shapeSvg:s,bbox:l,label:u}=await vt(t,e,mt(e)),h=(e?.width?e?.width:l.width)+n*2+On,f=(e?.height?e?.height:l.height)+a*2+On,d=h-On,p=f-On,m=-d/2,g=-p/2,{cssStyles:y}=e,v=rt.svg(s),x=st(e,{}),b=[{x:m-On,y:g-On},{x:m-On,y:g+p},{x:m+d,y:g+p},{x:m+d,y:g-On}],T=`M${m-On},${g-On} L${m+d},${g-On} L${m+d},${g+p} L${m-On},${g+p} L${m-On},${g-On} - M${m-On},${g} L${m+d},${g} - M${m},${g-On} L${m},${g+p}`;e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");let w=v.path(T,x),k=s.insert(()=>w,":first-child");return k.attr("transform",`translate(${On/2}, ${On/2})`),k.attr("class","basic label-container outer-path"),y&&e.look!=="handDrawn"&&k.selectAll("path").attr("style",y),i&&e.look!=="handDrawn"&&k.selectAll("path").attr("style",i),u.attr("transform",`translate(${-(l.width/2)+On/2-(l.x-(l.left??0))}, ${-(l.height/2)+On/2-(l.y-(l.top??0))})`),at(e,k),e.intersect=function(C){return et.polygon(e,b,C)},s}var On,Cle=P(()=>{"use strict";zt();Ht();Yt();Xt();On=10;o(kle,"windowPane")});async function EM(t,e){let r=e;r.alias&&(e.label=r.alias);let{theme:i,themeVariables:n}=Lt(),{rowEven:a,rowOdd:s,nodeBorder:l,borderColorArray:u}=n;if(e.look==="handDrawn"){let{themeVariables:Z}=Lt(),{background:Y}=Z,ae={...e,id:e.id+"-background",domId:(e.domId||e.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${Y}`]};await EM(t,ae)}let h=Lt();e.useHtmlLabels=h.htmlLabels;let f=h.er?.diagramPadding??10,d=h.er?.entityPadding??6,{cssStyles:p}=e,{labelStyles:m,nodeStyles:g}=tt(e);if(r.attributes.length===0&&e.label){let Z={rx:0,ry:0,labelPaddingX:f,labelPaddingY:f*1.5,classes:""};Ra(e.label,h)+Z.labelPaddingX*20){let Z=x.width+f*2-(k+C+E+S);k+=Z/I,C+=Z/I,E>0&&(E+=Z/I),S>0&&(S+=Z/I)}let _=k+C+E+S,D=rt.svg(v),N=st(e,{});e.look!=="handDrawn"&&(N.roughness=0,N.fillStyle="solid");let R=0;w.length>0&&(R=w.reduce((Z,Y)=>Z+(Y?.rowHeight??0),0));let B=Math.max(A.width+f*2,e?.width||0,_),O=Math.max((R??0)+x.height,e?.height||0),$=-B/2,z=-O/2;if(v.selectAll("g:not(:first-child)").each((Z,Y,ae)=>{let J=Ze(ae[Y]),ee=J.attr("transform"),re=0,te=0;if(ee){let de=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(ee);de&&(re=parseFloat(de[1]),te=parseFloat(de[2]),J.attr("class").includes("attribute-name")?re+=k:J.attr("class").includes("attribute-keys")?re+=k+C:J.attr("class").includes("attribute-comment")&&(re+=k+C+E))}J.attr("transform",`translate(${$+f/2+re}, ${te+z+x.height+d/2})`)}),v.select(".name").attr("transform","translate("+-x.width/2+", "+(z+d/2)+")"),i!=null&&wle.has(i)){let Z=r.colorIndex??0;v.attr("data-color-id",`color-${Z%u.length}`)}let F=D.rectangle($,z,B,O,N),V=v.insert(()=>F,":first-child").attr("class","outer-path").attr("style",p.join(""));T.push(0);for(let[Z,Y]of w.entries()){let J=(Z+1)%2===0&&Y.yOffset!==0,ee=D.rectangle($,x.height+z+Y?.yOffset,B,Y?.rowHeight,{...N,fill:J?a:s,stroke:l});v.insert(()=>ee,"g.label").attr("style",p.join("")).attr("class",`row-rect-${J?"even":"odd"}`)}let H=1e-4,X=Rb($,x.height+z,B+$,x.height+z,H),W=D.polygon(X.map(Z=>[Z.x,Z.y]),N);if(v.insert(()=>W).attr("class","divider"),X=Rb(k+$,x.height+z,k+$,O+z,H),W=D.polygon(X.map(Z=>[Z.x,Z.y]),N),v.insert(()=>W).attr("class","divider"),L){let Z=k+C+$;X=Rb(Z,x.height+z,Z,O+z,H),W=D.polygon(X.map(Y=>[Y.x,Y.y]),N),v.insert(()=>W).attr("class","divider")}if(M){let Z=k+C+E+$;X=Rb(Z,x.height+z,Z,O+z,H),W=D.polygon(X.map(Y=>[Y.x,Y.y]),N),v.insert(()=>W).attr("class","divider")}for(let Z of T){let Y=x.height+z+Z;X=Rb($,Y,B+$,Y,H),W=D.polygon(X.map(ae=>[ae.x,ae.y]),N),v.insert(()=>W).attr("class","divider")}if(at(e,V),g&&e.look!=="handDrawn")if(i!=null&&$Ve.has(i))v.selectAll("path").attr("style",g);else{let Y=g.split(";")?.filter(ae=>ae.includes("stroke"))?.map(ae=>`${ae}`).join("; ");v.selectAll("path").attr("style",Y??""),v.selectAll(".row-rect-even path").attr("style",g)}return e.intersect=function(Z){return et.rect(e,Z)},v}async function Lb(t,e,r,i=0,n=0,a=[],s=""){let l=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${i}, ${n})`).attr("style",s);e!==ou(e)&&(e=ou(e),e=e.replaceAll("<","<").replaceAll(">",">"));let u=l.node().appendChild(await Vi(l,e,{width:Ra(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let f=u.children[0];for(f.textContent=f.textContent.replaceAll("<","<").replaceAll(">",">");f.childNodes[0];)f=f.childNodes[0],f.textContent=f.textContent.replaceAll("<","<").replaceAll(">",">")}let h=u.getBBox();if(ls(r.htmlLabels)){let f=u.children[0];f.style.textAlign="start";let d=Ze(u);h=f.getBoundingClientRect(),d.attr("width",h.width),d.attr("height",h.height)}return h}function Rb(t,e,r,i,n){return t===r?[{x:t-n/2,y:e},{x:t+n/2,y:e},{x:r+n/2,y:i},{x:r-n/2,y:i}]:[{x:t,y:e-n/2},{x:t,y:e+n/2},{x:r,y:i+n/2},{x:r,y:i-n/2}]}var wle,$Ve,Ele=P(()=>{"use strict";zt();Xt();Ht();Yt();L1();Sr();To();Vr();Pr();er();wle=new Set(["redux-color","redux-dark-color"]),$Ve=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);o(EM,"erBox");o(Lb,"addText");o(Rb,"lineToPolygon")});async function Sle(t,e,r,i,n=r.class.padding??12){let a=i?0:3,s=t.insert("g").attr("class",mt(e)).attr("id",e.domId||e.id),l=null,u=null,h=null,f=null,d=0,p=0,m=0;if(l=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){let b=e.annotations[0];await E5(l,{text:`\xAB${b}\xBB`},0),d=l.node().getBBox().height}u=s.insert("g").attr("class","label-group text"),await E5(u,e,0,["font-weight: bolder"]);let g=u.node().getBBox();p=g.height,h=s.insert("g").attr("class","members-group text");let y=0;for(let b of e.members){let T=await E5(h,b,y,[b.parseClassifier()]);y+=T+a}m=h.node().getBBox().height,m<=0&&(m=n/2),f=s.insert("g").attr("class","methods-group text");let v=0;for(let b of e.methods){let T=await E5(f,b,v,[b.parseClassifier()]);v+=T+a}let x=s.node().getBBox();if(l!==null){let b=l.node().getBBox();l.attr("transform",`translate(${-b.width/2})`)}return u.attr("transform",`translate(${-g.width/2}, ${d})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${d+p+n*2})`),x=s.node().getBBox(),f.attr("transform",`translate(0, ${d+p+(m?m+n*4:n*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}async function E5(t,e,r,i=[]){let n=t.insert("g").attr("class","label").attr("style",i.join("; ")),a=Lt(),s="useHtmlLabels"in e?e.useHtmlLabels:ls(a.htmlLabels)??!0,l="";"text"in e?l=e.text:l=e.label,!s&&l.startsWith("\\")&&(l=l.substring(1)),sn(l)&&(s=!0);let u=await Vi(n,r2(zs(l)),{width:Ra(l,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a),h,f=1;if(s){let d=u.children[0],p=Ze(u);f=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(f+=d.innerHTML.split("").length-1);let m=d.getElementsByTagName("img");if(m){let g=l.replace(/]*>/g,"").trim()==="";await Promise.all([...m].map(y=>new Promise(v=>{function x(){if(y.style.display="flex",y.style.flexDirection="column",g){let b=a.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,w=parseInt(b,10)*5+"px";y.style.minWidth=w,y.style.maxWidth=w}else y.style.width="100%";v(y)}o(x,"setupImage"),setTimeout(()=>{y.complete&&x()}),y.addEventListener("error",x),y.addEventListener("load",x)})))}h=d.getBoundingClientRect(),p.attr("width",h.width),p.attr("height",h.height)}else{i.includes("font-weight: bolder")&&Ze(u).selectAll("tspan").attr("font-weight",""),f=u.children.length;let d=u.children[0];(u.textContent===""||u.textContent.includes(">"))&&(d.textContent=l[0]+l.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),l[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),h=u.getBBox()}return n.attr("transform","translate(0,"+(-h.height/(2*f)+r)+")"),h.height}var Ale=P(()=>{"use strict";Pr();Sr();zt();er();Ut();To();Vr();o(Sle,"textHelper");o(E5,"addText")});async function _le(t,e){let r=ge(),{themeVariables:i}=r,{useGradient:n}=i,a=r.class.padding??12,s=a,l=e.useHtmlLabels??ls(r.htmlLabels)??!0,u=e;u.annotations=u.annotations??[],u.members=u.members??[],u.methods=u.methods??[];let{shapeSvg:h,bbox:f}=await Sle(t,e,r,l,s),{labelStyles:d,nodeStyles:p}=tt(e);e.labelStyle=d,e.cssStyles=u.styles||"";let m=u.styles?.join(";")||p||"";e.cssStyles||(e.cssStyles=m.replaceAll("!important","").split(";"));let g=u.members.length===0&&u.methods.length===0&&!r.class?.hideEmptyMembersBox,y=rt.svg(h),v=st(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");let x=Math.max(e.width??0,f.width),b=Math.max(e.height??0,f.height),T=(e.height??0)>f.height;u.members.length===0&&u.methods.length===0?b+=s:u.members.length>0&&u.methods.length===0&&(b+=s*2);let w=-x/2,k=-b/2,C=g?a*2:u.members.length===0&&u.methods.length===0?-a:0;T&&(C=a*2);let E=y.rectangle(w-a,k-a-(g?a:u.members.length===0&&u.methods.length===0?-a/2:0),x+2*a,b+2*a+C,v),S=h.insert(()=>E,":first-child");S.attr("class","basic label-container outer-path");let L=S.node().getBBox(),M=h.select(".annotation-group").node().getBBox().height-(g?a/2:0)||0,I=h.select(".label-group").node().getBBox().height-(g?a/2:0)||0,A=h.select(".members-group").node().getBBox().height-(g?a/2:0)||0,_=(M+I+k+a-(k-a-(g?a:u.members.length===0&&u.methods.length===0?-a/2:0)))/2;if(h.selectAll(".text").each((D,N,R)=>{let B=Ze(R[N]),O=B.attr("transform"),$=0;if(O){let H=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(O);H&&($=parseFloat(H[2]))}let z=$+k+a-(g?a:u.members.length===0&&u.methods.length===0?-a/2:0);if(B.attr("class").includes("methods-group")){let V=Math.max(A,s/2);T?z=Math.max(_,M+I+V+k+s*2+a)+s*2:z=M+I+V+k+s*4+a}u.members.length===0&&u.methods.length===0&&r.class?.hideEmptyMembersBox&&(u.annotations.length>0?z=$-s:z=$),l||(z-=4);let F=w;(B.attr("class").includes("label-group")||B.attr("class").includes("annotation-group"))&&(F=-B.node()?.getBBox().width/2||0,h.selectAll("text").each(function(V,H,X){window.getComputedStyle(X[H]).textAnchor==="middle"&&(F=0)})),B.attr("transform",`translate(${F}, ${z})`)}),u.members.length>0||u.methods.length>0||g){let D=M+I+k+a,N=y.line(L.x,D,L.x+L.width,D+.001,v);h.insert(()=>N).attr("class",`divider${e.look==="neo"&&!n?" neo-line":""}`).attr("style",m)}if(g||u.members.length>0||u.methods.length>0){let D=M+I+A+k+s*2+a,N=y.line(L.x,T?Math.max(_,D):D,L.x+L.width,(T?Math.max(_,D):D)+.001,v);h.insert(()=>N).attr("class",`divider${e.look==="neo"&&!n?" neo-line":""}`).attr("style",m)}if(u.look!=="handDrawn"&&h.selectAll("path").attr("style",m),S.select(":nth-child(2)").attr("style",m),h.selectAll(".divider").select("path").attr("style",m),e.labelStyle?h.selectAll("span").attr("style",e.labelStyle):h.selectAll("span").attr("style",m),!l){let D=RegExp(/color\s*:\s*([^;]*)/),N=D.exec(m);if(N){let R=N[0].replace("color","fill");h.selectAll("tspan").attr("style",R)}else if(d){let R=D.exec(d);if(R){let B=R[0].replace("color","fill");h.selectAll("tspan").attr("style",B)}}}return at(e,S),e.intersect=function(D){return et.rect(e,D)},h}var Dle=P(()=>{"use strict";zt();Ut();Pr();Yt();Ht();Xt();Ale();Vr();o(_le,"classBox")});async function Lle(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let n=e,a=e,s=20,l=20,u="verifyMethod"in e,h=mt(e),{themeVariables:f}=ge(),{borderColorArray:d,requirementEdgeLabelBackground:p}=f,m=t.insert("g").attr("class",h).attr("id",e.domId??e.id),g;u?g=await Wh(m,`<<${n.type}>>`,0,e.labelStyle):g=await Wh(m,"<<Element>>",0,e.labelStyle);let y=g,v=await Wh(m,n.name,y,e.labelStyle+"; font-weight: bold;");if(y+=v+l,u){let L=await Wh(m,`${n.requirementId?`ID: ${n.requirementId}`:""}`,y,e.labelStyle);y+=L;let M=await Wh(m,`${n.text?`Text: ${n.text}`:""}`,y,e.labelStyle);y+=M;let I=await Wh(m,`${n.risk?`Risk: ${n.risk}`:""}`,y,e.labelStyle);y+=I,await Wh(m,`${n.verifyMethod?`Verification: ${n.verifyMethod}`:""}`,y,e.labelStyle)}else{let L=await Wh(m,`${a.type?`Type: ${a.type}`:""}`,y,e.labelStyle);y+=L,await Wh(m,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,y,e.labelStyle)}let x=(m.node()?.getBBox().width??200)+s,b=(m.node()?.getBBox().height??200)+s,T=-x/2,w=-b/2,k=rt.svg(m),C=st(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");let E=k.rectangle(T,w,x,b,C),S=m.insert(()=>E,":first-child");if(S.attr("class","basic label-container outer-path").attr("style",i),d?.length){let L=e.colorIndex??0;m.attr("data-color-id",`color-${L%d.length}`)}if(m.selectAll(".label").each((L,M,I)=>{let A=Ze(I[M]),_=A.attr("transform"),D=0,N=0;if(_){let $=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(_);$&&(D=parseFloat($[1]),N=parseFloat($[2]))}let R=N-b/2,B=T+s/2;(M===0||M===1)&&(B=D),A.attr("transform",`translate(${B}, ${R+s})`)}),y>g+v+l){let L=w+g+v+l,M;if(e.look==="neo"){let _=[[T,L],[T+x,L],[T+x,L+.001],[T,L+.001]];M=k.polygon(_,C)}else M=k.line(T,L,T+x,L,C);m.insert(()=>M).attr("class","divider")}return at(e,S),e.intersect=function(L){return et.rect(e,L)},i&&e.look!=="handDrawn"&&(p||d?.length)&&m.selectAll("path").attr("style",i),m}async function Wh(t,e,r,i=""){if(e==="")return 0;let n=t.insert("g").attr("class","label").attr("style",i),a=ge(),s=a.htmlLabels??!0,l=await Vi(n,r2(zs(e)),{width:Ra(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:i},a),u;if(s){let h=l.children[0],f=Ze(l);u=h.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}else{let h=l.children[0];for(let f of h.children)i&&f.setAttribute("style",i);u=l.getBBox(),u.height+=6}return n.attr("transform",`translate(${-u.width/2},${-u.height/2+r})`),u.height}var Rle=P(()=>{"use strict";zt();Xt();Ht();Yt();er();Ut();To();Pr();o(Lle,"requirementBox");o(Wh,"addText")});async function Nle(t,e,{config:r}){let{labelStyles:i,nodeStyles:n}=tt(e);e.labelStyle=i||"";let a=10,s=e.width;e.width=(e.width??200)-10;let{shapeSvg:l,bbox:u,label:h}=await vt(t,e,mt(e)),f=e.padding||10,d="",p;"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),p=l.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));let m={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1},g,y;p?{label:g,bbox:y}=await h5(p,"ticket"in e&&e.ticket||"",m):{label:g,bbox:y}=await h5(l,"ticket"in e&&e.ticket||"",m);let{label:v,bbox:x}=await h5(l,"assigned"in e&&e.assigned||"",m);e.width=s;let b=10,T=e?.width||0,w=Math.max(y.height,x.height)/2,k=Math.max(u.height+b*2,e?.height||0)+w,C=-T/2,E=-k/2;h.attr("transform","translate("+(f-T/2)+", "+(-w-u.height/2)+")"),g.attr("transform","translate("+(f-T/2)+", "+(-w+u.height/2)+")"),v.attr("transform","translate("+(f+T/2-x.width-2*a)+", "+(-w+u.height/2)+")");let S,{rx:L,ry:M}=e,{cssStyles:I}=e;if(e.look==="handDrawn"){let A=rt.svg(l),_=st(e,{}),D=L||M?A.path(Co(C,E,T,k,L||0),_):A.rectangle(C,E,T,k,_);S=l.insert(()=>D,":first-child"),S.attr("class","basic label-container").attr("style",I||null)}else{S=l.insert("rect",":first-child"),S.attr("class","basic label-container __APA__").attr("style",n).attr("rx",L??5).attr("ry",M??5).attr("x",C).attr("y",E).attr("width",T).attr("height",k);let A="priority"in e&&e.priority;if(A){let _=l.append("line"),D=C+2,N=E+Math.floor((L??0)/2),R=E+k-Math.floor((L??0)/2);_.attr("x1",D).attr("y1",N).attr("x2",D).attr("y2",R).attr("stroke-width","4").attr("stroke",zVe(A))}}return at(e,S),e.height=k,e.intersect=function(A){return et.rect(e,A)},l}var zVe,Ile=P(()=>{"use strict";zt();Xt();R0();Ht();Yt();zVe=o(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");o(Nle,"kanbanItem")});async function Mle(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let{shapeSvg:n,bbox:a,halfPadding:s,label:l}=await vt(t,e,mt(e)),u=a.width+10*s,h=a.height+8*s,f=.15*u,{cssStyles:d}=e,p=a.width+20,m=a.height+20,g=Math.max(u,p),y=Math.max(h,m);l.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let v,x=`M0 0 - a${f},${f} 1 0,0 ${g*.25},${-1*y*.1} - a${f},${f} 1 0,0 ${g*.25},0 - a${f},${f} 1 0,0 ${g*.25},0 - a${f},${f} 1 0,0 ${g*.25},${y*.1} - - a${f},${f} 1 0,0 ${g*.15},${y*.33} - a${f*.8},${f*.8} 1 0,0 0,${y*.34} - a${f},${f} 1 0,0 ${-1*g*.15},${y*.33} - - a${f},${f} 1 0,0 ${-1*g*.25},${y*.15} - a${f},${f} 1 0,0 ${-1*g*.25},0 - a${f},${f} 1 0,0 ${-1*g*.25},0 - a${f},${f} 1 0,0 ${-1*g*.25},${-1*y*.15} - - a${f},${f} 1 0,0 ${-1*g*.1},${-1*y*.33} - a${f*.8},${f*.8} 1 0,0 0,${-1*y*.34} - a${f},${f} 1 0,0 ${g*.1},${-1*y*.33} - H0 V0 Z`;if(e.look==="handDrawn"){let b=rt.svg(n),T=st(e,{}),w=b.path(x,T);v=n.insert(()=>w,":first-child"),v.attr("class","basic label-container").attr("style",xi(d))}else v=n.insert("path",":first-child").attr("class","basic label-container").attr("style",i).attr("d",x);return v.attr("transform",`translate(${-g/2}, ${-y/2})`),at(e,v),e.calcIntersect=function(b,T){return et.rect(b,T)},e.intersect=function(b){return Q.info("Bang intersect",e,b),et.rect(e,b)},n}var Ole=P(()=>{"use strict";bt();zt();Xt();Ht();Yt();er();o(Mle,"bang")});async function Ple(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let{shapeSvg:n,bbox:a,halfPadding:s,label:l}=await vt(t,e,mt(e)),u=a.width+2*s,h=a.height+2*s,f=.15*u,d=.25*u,p=.35*u,m=.2*u,{cssStyles:g}=e,y,v=`M0 0 - a${f},${f} 0 0,1 ${u*.25},${-1*u*.1} - a${p},${p} 1 0,1 ${u*.4},${-1*u*.1} - a${d},${d} 1 0,1 ${u*.35},${u*.2} - - a${f},${f} 1 0,1 ${u*.15},${h*.35} - a${m},${m} 1 0,1 ${-1*u*.15},${h*.65} - - a${d},${f} 1 0,1 ${-1*u*.25},${u*.15} - a${p},${p} 1 0,1 ${-1*u*.5},0 - a${f},${f} 1 0,1 ${-1*u*.25},${-1*u*.15} - - a${f},${f} 1 0,1 ${-1*u*.1},${-1*h*.35} - a${m},${m} 1 0,1 ${u*.1},${-1*h*.65} - H0 V0 Z`;if(e.look==="handDrawn"){let x=rt.svg(n),b=st(e,{}),T=x.path(v,b);y=n.insert(()=>T,":first-child"),y.attr("class","basic label-container").attr("style",xi(g))}else y=n.insert("path",":first-child").attr("class","basic label-container").attr("style",i).attr("d",v);return l.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),y.attr("transform",`translate(${-u/2}, ${-h/2})`),at(e,y),e.calcIntersect=function(x,b){return et.rect(x,b)},e.intersect=function(x){return Q.info("Cloud intersect",e,x),et.rect(e,x)},n}var Ble=P(()=>{"use strict";Yt();bt();er();Xt();Ht();zt();o(Ple,"cloud")});async function Fle(t,e){let{labelStyles:r,nodeStyles:i}=tt(e);e.labelStyle=r;let{shapeSvg:n,bbox:a,halfPadding:s,label:l}=await vt(t,e,mt(e)),u=a.width+8*s,h=a.height+2*s,f=5,d=e.look==="neo"?` - M${-u/2} ${h/2-f} - v${-h+2*f} - q0,-${f} ${f},-${f} - h${u-2*f} - q${f},0 ${f},${f} - v${h-f} - H${-u/2} - Z - `:` - M${-u/2} ${h/2-f} - v${-h+2*f} - q0,-${f} ${f},-${f} - h${u-2*f} - q${f},0 ${f},${f} - v${h-2*f} - q0,${f} ${-f},${f} - h${-(u-2*f)} - q${-f},0 ${-f},${-f} - Z - `;if(!e.domId)throw new Error(`defaultMindmapNode: node "${e.id}" is missing a domId \u2014 was render.ts domId prefixing skipped?`);let p=n.append("path").attr("id",e.domId).attr("class","node-bkg node-"+e.type).attr("style",i).attr("d",d);return n.append("line").attr("class","node-line-").attr("x1",-u/2).attr("y1",h/2).attr("x2",u/2).attr("y2",h/2),l.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),n.append(()=>l.node()),at(e,p),e.calcIntersect=function(m,g){return et.rect(m,g)},e.intersect=function(m){return et.rect(e,m)},n}var $le=P(()=>{"use strict";Xt();Ht();zt();o(Fle,"defaultMindmapNode")});async function zle(t,e){let r={padding:e.padding??0};return C5(t,e,r)}var Gle=P(()=>{"use strict";CM();o(zle,"mindmapCircle")});function Vle(t){return t in SM}var GVe,VVe,SM,AM=P(()=>{"use strict";fse();mse();yse();xse();CM();Tse();Cse();Ese();Ase();Dse();Ise();Ose();Bse();$se();qse();Use();Yse();Xse();Qse();Jse();toe();ioe();aoe();ooe();coe();hoe();doe();moe();yoe();Toe();Coe();Eoe();Aoe();Doe();Roe();Ioe();Ooe();Boe();$oe();Goe();qoe();Uoe();Yoe();Xoe();Qoe();Joe();tle();ile();ale();cle();hle();dle();yle();xle();Tle();Cle();Ele();Dle();Rle();Ile();Ole();Ble();$le();Gle();GVe=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:Voe},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:Poe},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:Woe},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:Zoe},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:Nse},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:C5},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:Mle},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:Ple},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:Loe},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:jse},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:poe},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:foe},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:ule},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:loe},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:Pse},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:nle},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:gse},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:Foe},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:Koe},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:joe},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:Wse},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:Kse},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:kse},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:wse},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:Sse},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:goe},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:vle},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:Hse},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:lle},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:boe},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:_se},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:Mse},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:gle},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:kle},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:Fse},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:fle},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:Vse},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:zoe},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:Soe},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:woe},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:pse},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:bse},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:rle},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:ele},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:ble},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:Noe},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:koe}],VVe=o(()=>{let e=[...Object.entries({state:Hoe,choice:vse,note:_oe,rectWithTitle:Moe,labelRect:uoe,iconSquare:noe,iconCircle:eoe,icon:Zse,iconRounded:roe,imageSquare:soe,anchor:hse,kanbanItem:Nle,mindmapCircle:zle,defaultMindmapNode:Fle,classBox:_le,erBox:EM,requirementBox:Lle}),...GVe.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(n=>[n,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),SM=VVe();o(Vle,"isValidShape")});var qVe,S5,qle=P(()=>{"use strict";Pr();xb();Ut();bt();AM();er();Vr();Ki();y0();zx();qVe="flowchart-",S5=class{constructor(){this.vertexCounter=0;this.config=ge();this.diagramId="";this.vertices=new Map;this.edges=[];this.classes=new Map;this.subGraphs=[];this.subGraphLookup=new Map;this.tooltips=new Map;this.subCount=0;this.firstGraphFlag=!0;this.secCount=-1;this.posCrossRef=[];this.funs=[];this.setAccTitle=Ar;this.setAccDescription=Lr;this.setDiagramTitle=Mr;this.getAccTitle=Dr;this.getAccDescription=Rr;this.getDiagramTitle=Nr;this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{o(this,"FlowDB")}sanitizeText(e){return lt.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}setDiagramId(e){this.diagramId=e}lookUpDomId(e){for(let r of this.vertices.values())if(r.id===e)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${e}`:e}addVertex(e,r,i,n,a,s,l={},u){if(!e||e.trim().length===0)return;let h;if(u!==void 0){let m;u.includes(` -`)?m=u+` -`:m=`{ -`+u+` -}`,h=ud(m,{schema:cd})}let f=this.edges.find(m=>m.id===e);if(f){let m=h;m?.animate!==void 0&&(f.animate=m.animate),m?.animation!==void 0&&(f.animation=m.animation),m?.curve!==void 0&&(f.interpolate=m.curve);return}let d,p=this.vertices.get(e);if(p===void 0&&(r===void 0&&i===void 0&&n!==void 0&&n!==null&&Q.warn(`Style applied to unknown node "${e}". This may indicate a typo. The node will be created automatically.`),p={id:e,labelType:"text",domId:qVe+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,p)),this.vertexCounter++,r!==void 0?(this.config=ge(),d=this.sanitizeText(r.text.trim()),p.labelType=r.type,d.startsWith('"')&&d.endsWith('"')&&(d=d.substring(1,d.length-1)),p.text=d):p.text===void 0&&(p.text=e),i!==void 0&&(p.type=i),n?.forEach(m=>{p.styles.push(m)}),a?.forEach(m=>{p.classes.push(m)}),s!==void 0&&(p.dir=s),p.props===void 0?p.props=l:l!==void 0&&Object.assign(p.props,l),h!==void 0){if(h.shape){if(h.shape!==h.shape.toLowerCase()||h.shape.includes("_"))throw new Error(`No such shape: ${h.shape}. Shape names should be lowercase.`);if(!Vle(h.shape))throw new Error(`No such shape: ${h.shape}.`);p.type=h?.shape}h?.label&&(p.text=h?.label,p.labelType=this.sanitizeNodeLabelType(h?.labelType)),h?.icon&&(p.icon=h?.icon,!h.label?.trim()&&p.text===e&&(p.text="")),h?.form&&(p.form=h?.form),h?.pos&&(p.pos=h?.pos),h?.img&&(p.img=h?.img,!h.label?.trim()&&p.text===e&&(p.text="")),h?.constraint&&(p.constraint=h.constraint),h.w&&(p.assetWidth=Number(h.w)),h.h&&(p.assetHeight=Number(h.h))}}addSingleLink(e,r,i,n){let l={start:e,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};Q.info("abc78 Got edge...",l);let u=i.text;if(u!==void 0&&(l.text=this.sanitizeText(u.text.trim()),l.text.startsWith('"')&&l.text.endsWith('"')&&(l.text=l.text.substring(1,l.text.length-1)),l.labelType=this.sanitizeNodeLabelType(u.type)),i!==void 0&&(l.type=i.type,l.stroke=i.stroke,l.length=i.length>10?10:i.length),n&&!this.edges.some(h=>h.id===n))l.id=n,l.isUserDefinedId=!0;else{let h=this.edges.filter(f=>f.start===l.start&&f.end===l.end);h.length===0?l.id=Cu(l.start,l.end,{counter:0,prefix:"L"}):l.id=Cu(l.start,l.end,{counter:h.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))Q.info("Pushing edge..."),this.edges.push(l);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. - -Initialize mermaid with maxEdges set to a higher number to allow more edges. -You cannot set this config via configuration inside the diagram as it is a secure config. -You have to call mermaid.initialize.`)}isLinkData(e){return e!==null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}addLink(e,r,i){let n=this.isLinkData(i)?i.id.replace("@",""):void 0;Q.info("addLink",e,r,n);for(let a of e)for(let s of r){let l=a===e[e.length-1],u=s===r[0];l&&u?this.addSingleLink(a,s,i,n):this.addSingleLink(a,s,i,void 0)}}updateLinkInterpolate(e,r){e.forEach(i=>{i==="default"?this.edges.defaultInterpolate=r:this.edges[i].interpolate=r})}updateLink(e,r){e.forEach(i=>{if(typeof i=="number"&&i>=this.edges.length)throw new Error(`The index ${i} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);i==="default"?this.edges.defaultStyle=r:(this.edges[i].style=r,(this.edges[i]?.style?.length??0)>0&&!this.edges[i]?.style?.some(n=>n?.startsWith("fill"))&&this.edges[i]?.style?.push("fill:none"))})}addClass(e,r){let i=r.join().replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(n=>{let a=this.classes.get(n);a===void 0&&(a={id:n,styles:[],textStyles:[]},this.classes.set(n,a)),i?.forEach(s=>{if(/color/.exec(s)){let l=s.replace("fill","bgFill");a.textStyles.push(l)}a.styles.push(s)})})}setDirection(e){this.direction=e.trim(),/.*/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(e,r){for(let i of e.split(",")){let n=this.vertices.get(i);n&&n.classes.push(r);let a=this.edges.find(l=>l.id===i);a&&a.classes.push(r);let s=this.subGraphLookup.get(i);s&&s.classes.push(r)}}setTooltip(e,r){if(r!==void 0){r=this.sanitizeText(r);for(let i of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(i):i,r)}}setClickFun(e,r,i){if(ge().securityLevel!=="loose"||r===void 0)return;let n=[];if(typeof i=="string"){n=i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let s=0;s{let s=this.lookUpDomId(e),l=document.querySelector(`[id="${s}"]`);l!==null&&l.addEventListener("click",()=>{Kt.runFunc(r,...n)},!1)}))}setLink(e,r,i){e.split(",").forEach(n=>{let a=this.vertices.get(n);a!==void 0&&(a.link=Kt.formatUrl(r,this.config),a.linkTarget=i)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,r,i){e.split(",").forEach(n=>{this.setClickFun(n,r,i)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(r=>{r(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){let r=E3();Ze(e).select("svg").selectAll("g.node").on("mouseover",a=>{let s=Ze(a.currentTarget),l=s.attr("title");if(l===null)return;let u=a.currentTarget?.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+u.left+(u.right-u.left)/2+"px").style("top",window.scrollY+u.bottom+"px"),r.html(Tl.sanitize(l)),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),Ze(a.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=ge(),wr()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,r,i){let n=e.text.trim(),a=i.text;e===i&&/\s/.exec(i.text)&&(n=void 0);let l=o(p=>{let m={boolean:{},number:{},string:{}},g=[],y;return{nodeList:p.filter(function(x){let b=typeof x;return x.stmt&&x.stmt==="dir"?(y=x.value,!1):x.trim()===""?!1:b in m?m[b].hasOwnProperty(x)?!1:m[b][x]=!0:g.includes(x)?!1:g.push(x)}),dir:y}},"uniq")(r.flat()),u=l.nodeList,h=l.dir,f=ge().flowchart??{};if(h=h??(f.inheritDir?this.getDirection()??ge().direction??void 0:void 0),this.version==="gen-1")for(let p=0;p2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===e)return{result:!0,count:0};let n=0,a=1;for(;n=0){let l=this.indexNodes2(e,s);if(l.result)return{result:!0,count:a+l.count};a=a+l.count}n=n+1}return{result:!1,count:a}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(e){let r=e.trim(),i="arrow_open";switch(r[0]){case"<":i="arrow_point",r=r.slice(1);break;case"x":i="arrow_cross",r=r.slice(1);break;case"o":i="arrow_circle",r=r.slice(1);break}let n="normal";return r.includes("=")&&(n="thick"),r.includes(".")&&(n="dotted"),{type:i,stroke:n}}countChar(e,r){let i=r.length,n=0;for(let a=0;a":n="arrow_point",r.startsWith("<")&&(n="double_"+n,i=i.slice(1));break;case"o":n="arrow_circle",r.startsWith("o")&&(n="double_"+n,i=i.slice(1));break}let a="normal",s=i.length-1;i.startsWith("=")&&(a="thick"),i.startsWith("~")&&(a="invisible");let l=this.countChar(".",i);return l&&(a="dotted",s=l),{type:n,stroke:a,length:s}}destructLink(e,r){let i=this.destructEndLink(e),n;if(r){if(n=this.destructStartLink(r),n.stroke!==i.stroke)return{type:"INVALID",stroke:"INVALID"};if(n.type==="arrow_open")n.type=i.type;else{if(n.type!==i.type)return{type:"INVALID",stroke:"INVALID"};n.type="double_"+n.type}return n.type==="double_arrow"&&(n.type="double_arrow_point"),n.length=i.length,n}return i}exists(e,r){for(let i of e)if(i.nodes.includes(r))return!0;return!1}makeUniq(e,r){let i=[];return e.nodes.forEach((n,a)=>{this.exists(r,n)||i.push(e.nodes[a])}),{nodes:i}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,r){return e.find(i=>i.id===r)}destructEdgeType(e){let r="none",i="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":i=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=e.replace("double_",""),i=r;break}return{arrowTypeStart:r,arrowTypeEnd:i}}addNodeFromVertex(e,r,i,n,a,s){let l=i.get(e.id),u=n.get(e.id)??!1,h=this.findNode(r,e.id);if(h)h.cssStyles=e.styles,h.cssCompiledStyles=this.getCompiledStyles(e.classes),h.cssClasses=e.classes.join(" ");else{let f={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:l,padding:a.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:s,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint};u?r.push({...f,isGroup:!0,shape:"rect"}):r.push({...f,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let r=[];for(let i of e){let n=this.classes.get(i);n?.styles&&(r=[...r,...n.styles??[]].map(a=>a.trim())),n?.textStyles&&(r=[...r,...n.textStyles??[]].map(a=>a.trim()))}return r}getData(){let e=ge(),r=[],i=[],n=this.getSubGraphs(),a=new Map,s=new Map;for(let h=n.length-1;h>=0;h--){let f=n[h];f.nodes.length>0&&s.set(f.id,!0);for(let d of f.nodes)a.set(d,f.id)}for(let h=n.length-1;h>=0;h--){let f=n[h];r.push({id:f.id,label:f.title,labelStyle:"",labelType:f.labelType,parentId:a.get(f.id),padding:8,cssCompiledStyles:this.getCompiledStyles(f.classes),cssClasses:f.classes.join(" "),shape:"rect",dir:f.dir,isGroup:!0,look:e.look})}this.getVertices().forEach(h=>{this.addNodeFromVertex(h,r,a,s,e,e.look||"classic")});let u=this.getEdges();return u.forEach((h,f)=>{let{arrowTypeStart:d,arrowTypeEnd:p}=this.destructEdgeType(h.type),m=[...u.defaultStyle??[]];h.style&&m.push(...h.style);let g={id:Cu(h.start,h.end,{counter:f,prefix:"L"},h.id),isUserDefinedId:h.isUserDefinedId,start:h.start,end:h.end,type:h.type??"normal",label:h.text,labelType:h.labelType,labelpos:"c",thickness:h.stroke,minlen:h.length,classes:h?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:h?.stroke==="invisible"||h?.type==="arrow_open"?"none":d,arrowTypeEnd:h?.stroke==="invisible"||h?.type==="arrow_open"?"none":p,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(h.classes),labelStyle:m,style:m,pattern:h.stroke,look:e.look,animate:h.animate,animation:h.animation,curve:h.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};i.push(g)}),{nodes:r,edges:i,other:{},config:e}}defaultConfig(){return iw.flowchart}}});var Ol,I0=P(()=>{"use strict";Pr();Ol=o((t,e)=>{let r;return e==="sandbox"&&(r=Ze("#i"+t)),(e==="sandbox"?Ze(r.nodes()[0].contentDocument.body):Ze("body")).select(`[id="${t}"]`)},"getDiagramElement")});var Uh,Nb=P(()=>{"use strict";Uh=o(({flowchart:t})=>{let e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,i=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:i}},"getSubGraphTitleMargins")});var Wle,WVe,UVe,HVe,YVe,jVe,XVe,Ule,N1,Hle,A5=P(()=>{"use strict";Ut();Sr();bt();Nb();Pr();Yt();To();aM();w5();R0();Ht();Wle=o(async(t,e)=>{Q.info("Creating subgraph rect for ",e.id,e);let r=ge(),{themeVariables:i,handDrawnSeed:n}=r,{clusterBkg:a,clusterBorder:s}=i,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=tt(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),p=Or(r),m=d.insert("g").attr("class","cluster-label "),g;e.labelType==="markdown"?g=await Vi(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0,width:e.width}):g=await Dc(m,e.label,e.labelStyle||"",!1,!0);let y=g.getBBox();if(Or(r)){let E=g.children[0],S=Ze(g);y=E.getBoundingClientRect(),S.attr("width",y.width),S.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,T=e.y-x/2;Q.trace("Data ",e,JSON.stringify(e));let w;if(e.look==="handDrawn"){let E=rt.svg(d),S=st(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:n}),L=E.path(Co(b,T,v,x,0),S);w=d.insert(()=>(Q.debug("Rough node insert CXC",L),L),":first-child"),w.select("path:nth-child(2)").attr("style",h.join(";")),w.select("path").attr("style",f.join(";").replace("fill","stroke"))}else w=d.insert("rect",":first-child"),w.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",T).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:k}=Uh(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+k})`),l){let E=m.select("span");E&&E.attr("style",l)}let C=w.node().getBBox();return e.offsetX=0,e.width=C.width,e.height=C.height,e.offsetY=y.height-e.padding/2,e.intersect=function(E){return hd(e,E)},{cluster:d,labelBBox:y}},"rect"),WVe=o((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.domId),i=r.insert("rect",":first-child"),n=0*e.padding,a=n/2;i.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+n).attr("height",e.height+n).attr("fill","none");let s=i.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(l){return hd(e,l)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),UVe=o(async(t,e)=>{let r=ge(),{themeVariables:i,handDrawnSeed:n}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:l,nodeBorder:u}=i,h=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-id",e.id).attr("data-look",e.look),f=h.insert("g",":first-child"),d=h.insert("g").attr("class","cluster-label"),p=h.append("rect"),m=await Dc(d,e.label,e.labelStyle,void 0,!0),g=m.getBBox();if(Or(r)){let L=m.children[0],M=Ze(m);g=L.getBoundingClientRect(),M.attr("width",g.width),M.attr("height",g.height)}let y=0*e.padding,v=y/2,x=(e.width<=g.width+e.padding?g.width+e.padding:e.width)+y;e.width<=g.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;let b=e.height+y,T=e.height+y-g.height-6,w=e.x-x/2,k=e.y-b/2;e.width=x;let C=e.y-e.height/2-v+g.height+2,E;if(e.look==="handDrawn"){let L=e.cssClasses.includes("statediagram-cluster-alt"),M=rt.svg(h),I=e.rx||e.ry?M.path(Co(w,k,x,b,10),{roughness:.7,fill:l,fillStyle:"solid",stroke:u,seed:n}):M.rectangle(w,k,x,b,{seed:n});E=h.insert(()=>I,":first-child");let A=M.rectangle(w,C,x,T,{fill:L?a:s,fillStyle:L?"hachure":"solid",stroke:u,seed:n});E=h.insert(()=>I,":first-child"),p=h.insert(()=>A)}else E=f.insert("rect",":first-child"),E.attr("class","outer").attr("x",w).attr("y",k).attr("width",x).attr("height",b).attr("data-look",e.look),p.attr("class","inner").attr("x",w).attr("y",C).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-g.width/2}, ${k+1-(Or(r)?0:3)})`);let S=E.node().getBBox();return e.height=S.height,e.offsetX=0,e.offsetY=g.height-e.padding/2,e.labelBBox=g,e.intersect=function(L){return hd(e,L)},{cluster:h,labelBBox:g}},"roundedWithTitle"),HVe=o(async(t,e)=>{Q.info("Creating subgraph rect for ",e.id,e);let r=ge(),{themeVariables:i,handDrawnSeed:n}=r,{clusterBkg:a,clusterBorder:s}=i,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=tt(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),p=Or(r),m=d.insert("g").attr("class","cluster-label "),g=await Vi(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0,width:e.width}),y=g.getBBox();if(Or(r)){let E=g.children[0],S=Ze(g);y=E.getBoundingClientRect(),S.attr("width",y.width),S.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,T=e.y-x/2;Q.trace("Data ",e,JSON.stringify(e));let w;if(e.look==="handDrawn"){let E=rt.svg(d),S=st(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:n}),L=E.path(Co(b,T,v,x,e.rx),S);w=d.insert(()=>(Q.debug("Rough node insert CXC",L),L),":first-child"),w.select("path:nth-child(2)").attr("style",h.join(";")),w.select("path").attr("style",f.join(";").replace("fill","stroke"))}else w=d.insert("rect",":first-child"),w.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",T).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:k}=Uh(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+k})`),l){let E=m.select("span");E&&E.attr("style",l)}let C=w.node().getBBox();return e.offsetX=0,e.width=C.width,e.height=C.height,e.offsetY=y.height-e.padding/2,e.intersect=function(E){return hd(e,E)},{cluster:d,labelBBox:y}},"kanbanSection"),YVe=o((t,e)=>{let r=ge(),{themeVariables:i,handDrawnSeed:n}=r,{nodeBorder:a}=i,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-look",e.look),l=s.insert("g",":first-child"),u=0*e.padding,h=e.width+u;e.diff=-e.padding;let f=e.height+u,d=e.x-h/2,p=e.y-f/2;e.width=h;let m;if(e.look==="handDrawn"){let v=rt.svg(s).rectangle(d,p,h,f,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:n});m=s.insert(()=>v,":first-child")}else{m=l.insert("rect",":first-child");let y="outer";e.look,y="divider",m.attr("class",y).attr("x",d).attr("y",p).attr("width",h).attr("height",f).attr("data-look",e.look)}let g=m.node().getBBox();return e.height=g.height,e.offsetX=0,e.offsetY=0,e.intersect=function(y){return hd(e,y)},{cluster:s,labelBBox:{}}},"divider"),jVe=Wle,XVe={rect:Wle,squareRect:jVe,roundedWithTitle:UVe,noteGroup:WVe,divider:YVe,kanbanSection:HVe},Ule=new Map,N1=o(async(t,e)=>{let r=e.shape||"rect",i=await XVe[r](t,e);return Ule.set(e.id,i),i},"insertCluster"),Hle=o(()=>{Ule=new Map},"clear")});var Pl,_M=P(()=>{"use strict";Pl=o((t,e)=>{if(e)return"translate("+-t.width/2+", "+-t.height/2+")";let r=t.x??0,i=t.y??0;return"translate("+-(r+t.width/2)+", "+-(i+t.height/2)+")"},"computeLabelTransform")});function _5(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=dn(t),e=dn(e);let[r,i]=[t.x,t.y],[n,a]=[e.x,e.y],s=n-r,l=a-i;return{angle:Math.atan(l/s),deltaX:s,deltaY:l}}var Ka,DM,dn,D5,LM=P(()=>{"use strict";Ka={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},DM={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};o(_5,"calculateDeltaAndAngle");dn=o(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),D5=o(t=>({x:o(function(e,r,i){let n=0,a=dn(i[0]).x=0?1:-1)}else if(r===i.length-1&&Object.hasOwn(Ka,t.arrowTypeEnd)){let{angle:m,deltaX:g}=_5(i[i.length-1],i[i.length-2]);n=Ka[t.arrowTypeEnd]*Math.cos(m)*(g>=0?1:-1)}let s=Math.abs(dn(e).x-dn(i[i.length-1]).x),l=Math.abs(dn(e).y-dn(i[i.length-1]).y),u=Math.abs(dn(e).x-dn(i[0]).x),h=Math.abs(dn(e).y-dn(i[0]).y),f=Ka[t.arrowTypeStart],d=Ka[t.arrowTypeEnd],p=1;if(s0&&l0&&h=0?1:-1)}else if(r===i.length-1&&Object.hasOwn(Ka,t.arrowTypeEnd)){let{angle:m,deltaY:g}=_5(i[i.length-1],i[i.length-2]);n=Ka[t.arrowTypeEnd]*Math.abs(Math.sin(m))*(g>=0?1:-1)}let s=Math.abs(dn(e).y-dn(i[i.length-1]).y),l=Math.abs(dn(e).x-dn(i[i.length-1]).x),u=Math.abs(dn(e).y-dn(i[0]).y),h=Math.abs(dn(e).x-dn(i[0]).x),f=Ka[t.arrowTypeStart],d=Ka[t.arrowTypeEnd],p=1;if(s0&&l0&&h{"use strict";bt();jle=o((t,e,r,i,n,a=!1,s)=>{e.arrowTypeStart&&Yle(t,"start",e.arrowTypeStart,r,i,n,a,s),e.arrowTypeEnd&&Yle(t,"end",e.arrowTypeEnd,r,i,n,a,s)},"addEdgeMarkers"),KVe={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},QVe=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],Yle=o((t,e,r,i,n,a,s=!1,l)=>{let u=KVe[r],h=u&&QVe.includes(u.type);if(!u){Q.warn(`Unknown arrow type: ${r}`);return}let f=u.type,m=`${n}_${a}-${f}${e==="start"?"Start":"End"}${s&&h?"-margin":""}`;if(l&&l.trim()!==""){let g=l.replace(/[^\dA-Za-z]/g,"_"),y=`${m}_${g}`;if(!document.getElementById(y)){let v=document.getElementById(m);if(v){let x=v.cloneNode(!0);x.id=y,x.querySelectorAll("path, circle, line").forEach(T=>{T.setAttribute("stroke",l),u.fill&&T.setAttribute("fill",l)}),v.parentNode?.appendChild(x)}}t.attr(`marker-${e}`,`url(${i}#${y})`)}else t.attr(`marker-${e}`,`url(${i}#${m})`)},"addEdgeMarker")});function L5(t,e){Or(ge())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}function tqe(t){let e=[],r=[];for(let i=1;i5&&Math.abs(a.y-n.y)>5||n.y===a.y&&a.x===s.x&&Math.abs(a.x-n.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(i))}return{cornerPoints:e,cornerPointPositions:r}}function nqe(t,e){if(t.length<2)return"";let r="",i=t.length,n=1e-5;for(let a=0;a({...n}));if(t.length>=2&&Ka[e.arrowTypeStart]){let n=Ka[e.arrowTypeStart],a=t[0],s=t[1],{angle:l}=Zle(a,s),u=n*Math.cos(l),h=n*Math.sin(l);r[0].x=a.x+u,r[0].y=a.y+h}let i=t.length;if(i>=2&&Ka[e.arrowTypeEnd]){let n=Ka[e.arrowTypeEnd],a=t[i-1],s=t[i-2],{angle:l}=Zle(s,a),u=n*Math.cos(l),h=n*Math.sin(l);r[i-1].x=a.x-u,r[i-1].y=a.y-h}return r}var ZVe,R5,Qa,Jle,Ib,N5,I5,JVe,eqe,Kle,Qle,rqe,iqe,M5,RM=P(()=>{"use strict";Ut();Sr();bt();To();_M();er();LM();Nb();Pr();Yt();w5();Xle();Ht();ZVe=o(t=>typeof t=="string"?t:ge()?.flowchart?.curve,"resolveEdgeCurveType"),R5=new Map,Qa=new Map,Jle=o(()=>{R5.clear(),Qa.clear()},"clear"),Ib=o(t=>t?typeof t=="string"?t:t.reduce((e,r)=>e+";"+r,""):"","getLabelStyles"),N5=o(async(t,e)=>{let r=ge(),i=Or(r),{labelStyles:n}=tt(e);e.labelStyle=n;let a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label").attr("data-id",e.id),l=e.labelType==="markdown",h=await Vi(t,e.label,{style:Ib(e.labelStyle),useHtmlLabels:i,addSvgBackground:!0,isNode:!1,markdown:l,width:l?void 0:void 0},r);s.node().appendChild(h),Q.info("abc82",e,e.labelType);let f=h.getBBox(),d=f;if(i){let m=h.children[0],g=Ze(h);f=m.getBoundingClientRect(),d=f,g.attr("width",f.width),g.attr("height",f.height)}else{let m=Ze(h).select("text").node();m&&typeof m.getBBox=="function"&&(d=m.getBBox())}s.attr("transform",Pl(d,i)),R5.set(e.id,a),e.width=f.width,e.height=f.height;let p;if(e.startLabelLeft){let m=t.insert("g").attr("class","edgeTerminals"),g=m.insert("g").attr("class","inner"),y=await Dc(g,e.startLabelLeft,Ib(e.labelStyle)||"",!1,!1);p=y;let v=y.getBBox();if(i){let x=y.children[0],b=Ze(y);v=x.getBoundingClientRect(),b.attr("width",v.width),b.attr("height",v.height)}g.attr("transform",Pl(v,i)),Qa.get(e.id)||Qa.set(e.id,{}),Qa.get(e.id).startLeft=m,L5(p,e.startLabelLeft)}if(e.startLabelRight){let m=t.insert("g").attr("class","edgeTerminals"),g=m.insert("g").attr("class","inner"),y=await Dc(g,e.startLabelRight,Ib(e.labelStyle)||"",!1,!1);p=y,g.node().appendChild(y);let v=y.getBBox();if(i){let x=y.children[0],b=Ze(y);v=x.getBoundingClientRect(),b.attr("width",v.width),b.attr("height",v.height)}g.attr("transform",Pl(v,i)),Qa.get(e.id)||Qa.set(e.id,{}),Qa.get(e.id).startRight=m,L5(p,e.startLabelRight)}if(e.endLabelLeft){let m=t.insert("g").attr("class","edgeTerminals"),g=m.insert("g").attr("class","inner"),y=await Dc(g,e.endLabelLeft,Ib(e.labelStyle)||"",!1,!1);p=y;let v=y.getBBox();if(i){let x=y.children[0],b=Ze(y);v=x.getBoundingClientRect(),b.attr("width",v.width),b.attr("height",v.height)}g.attr("transform",Pl(v,i)),m.node().appendChild(y),Qa.get(e.id)||Qa.set(e.id,{}),Qa.get(e.id).endLeft=m,L5(p,e.endLabelLeft)}if(e.endLabelRight){let m=t.insert("g").attr("class","edgeTerminals"),g=m.insert("g").attr("class","inner"),y=await Dc(g,e.endLabelRight,Ib(e.labelStyle)||"",!1,!1);p=y;let v=y.getBBox();if(i){let x=y.children[0],b=Ze(y);v=x.getBoundingClientRect(),b.attr("width",v.width),b.attr("height",v.height)}g.attr("transform",Pl(v,i)),m.node().appendChild(y),Qa.get(e.id)||Qa.set(e.id,{}),Qa.get(e.id).endRight=m,L5(p,e.endLabelRight)}return h},"insertEdgeLabel");o(L5,"setTerminalWidth");I5=o((t,e)=>{Q.debug("Moving label abc88 ",t.id,t.label,R5.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath,i=ge(),{subGraphTitleTotalMargin:n}=Uh(i);if(t.label){let a=R5.get(t.id),s=t.x,l=t.y;if(r){let u=Kt.calcLabelPosition(r);Q.debug("Moving label "+t.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+n/2})`)}if(t.startLabelLeft){let a=Qa.get(t.id).startLeft,s=t.x,l=t.y;if(r){let u=Kt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.startLabelRight){let a=Qa.get(t.id).startRight,s=t.x,l=t.y;if(r){let u=Kt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelLeft){let a=Qa.get(t.id).endLeft,s=t.x,l=t.y;if(r){let u=Kt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelRight){let a=Qa.get(t.id).endRight,s=t.x,l=t.y;if(r){let u=Kt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),JVe=o((t,e)=>{let r=t.x,i=t.y,n=Math.abs(e.x-r),a=Math.abs(e.y-i),s=t.width/2,l=t.height/2;return n>=s||a>=l},"outsideNode"),eqe=o((t,e,r)=>{Q.debug(`intersection calc abc89: - outsidePoint: ${JSON.stringify(e)} - insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let i=t.x,n=t.y,a=Math.abs(i-r.x),s=t.width/2,l=r.xMath.abs(i-e.x)*u){let d=r.y{Q.warn("abc88 cutPathAtIntersect",t,e);let r=[],i=t[0],n=!1;return t.forEach(a=>{if(Q.info("abc88 checking point",a,e),!JVe(e,a)&&!n){let s=eqe(e,i,a);Q.debug("abc88 inside",a,i,s),Q.debug("abc88 intersection",s,e);let l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)?Q.warn("abc88 no intersect",s,r):r.push(s),n=!0}else Q.warn("abc88 outside",a,i),i=a,n||r.push(a)}),Q.debug("returning points",r),r},"cutPathAtIntersect");o(tqe,"extractCornerPoints");Qle=o(function(t,e,r){let i=e.x-t.x,n=e.y-t.y,a=Math.sqrt(i*i+n*n),s=r/a;return{x:e.x-s*i,y:e.y-s*n}},"findAdjacentPoint"),rqe=o(function(t){let{cornerPointPositions:e}=tqe(t),r=[];for(let i=0;i10&&Math.abs(a.y-n.y)>=10){Q.debug("Corner point fixing",Math.abs(a.x-n.x),Math.abs(a.y-n.y));let m=5;s.x===l.x?p={x:h<0?l.x-m+d:l.x+m-d,y:f<0?l.y-d:l.y+d}:p={x:h<0?l.x-d:l.x+d,y:f<0?l.y-m+d:l.y+m-d}}else Q.debug("Corner point skipping fixing",Math.abs(a.x-n.x),Math.abs(a.y-n.y));r.push(p,u)}else r.push(t[i]);return r},"fixCorners"),iqe=o((t,e,r)=>{let i=t-e-r,n=2,a=2,s=n+a,l=Math.floor(i/s),u=Array(l).fill(`${n} ${a}`).join(" ");return`0 ${e} ${u} ${r}`},"generateDashArray"),M5=o(function(t,e,r,i,n,a,s,l=!1){if(!s)throw new Error(`insertEdge: missing diagramId for edge "${e.id}" \u2014 edge IDs require a diagram prefix for uniqueness`);let{handDrawnSeed:u}=ge(),h=e.points,f=!1,d=n;var p=a;let m=[];for(let B in e.cssCompiledStyles)Eb(B)||m.push(e.cssCompiledStyles[B]);Q.debug("UIO intersect check",e.points,p.x,d.x),p.intersect&&d.intersect&&!l&&(h=h.slice(1,e.points.length-1),h.unshift(d.intersect(h[0])),Q.debug("Last point UIO",e.start,"-->",e.end,h[h.length-1],p,p.intersect(h[h.length-1])),h.push(p.intersect(h[h.length-1])));let g=btoa(JSON.stringify(h));e.toCluster&&(Q.info("to cluster abc88",r.get(e.toCluster)),h=Kle(e.points,r.get(e.toCluster).node),f=!0),e.fromCluster&&(Q.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(h,null,2)),h=Kle(h.reverse(),r.get(e.fromCluster).node).reverse(),f=!0);let y=h.filter(B=>!Number.isNaN(B.y)),v=ZVe(e.curve);v!=="rounded"&&(y=rqe(y));let x=yu;switch(v){case"linear":x=yu;break;case"basis":x=wc;break;case"cardinal":x=U2;break;case"bumpX":x=z2;break;case"bumpY":x=G2;break;case"catmullRom":x=j2;break;case"monotoneX":x=X2;break;case"monotoneY":x=K2;break;case"natural":x=n1;break;case"step":x=a1;break;case"stepAfter":x=Z2;break;case"stepBefore":x=Q2;break;case"rounded":x=yu;break;default:x=wc}let{x:b,y:T}=D5(e),w=Cc().x(b).y(T).curve(x),k;switch(e.thickness){case"normal":k="edge-thickness-normal";break;case"thick":k="edge-thickness-thick";break;case"invisible":k="edge-thickness-invisible";break;default:k="edge-thickness-normal"}switch(e.pattern){case"solid":k+=" edge-pattern-solid";break;case"dotted":k+=" edge-pattern-dotted";break;case"dashed":k+=" edge-pattern-dashed";break;default:k+=" edge-pattern-solid"}let C,E=v==="rounded"?nqe(aqe(y,e),5):w(y),S=Array.isArray(e.style)?e.style:[e.style],L=S.find(B=>B?.startsWith("stroke:")),M="";e.animate&&(M="edge-animation-fast"),e.animation&&(M="edge-animation-"+e.animation);let I=!1;if(e.look==="handDrawn"){let B=rt.svg(t);Object.assign([],y);let O=B.path(E,{roughness:.3,seed:u});k+=" transition",C=Ze(O).select("path").attr("id",`${s}-${e.id}`).attr("class"," "+k+(e.classes?" "+e.classes:"")+(M?" "+M:"")).attr("style",S?S.reduce((z,F)=>z+";"+F,""):"");let $=C.attr("d");C.attr("d",$),t.node().appendChild(C.node())}else{let B=m.join(";"),O=S?S.reduce((X,W)=>X+W+";",""):"",$=(B?B+";"+O+";":O)+";"+(S?S.reduce((X,W)=>X+";"+W,""):"");C=t.append("path").attr("d",E).attr("id",`${s}-${e.id}`).attr("class"," "+k+(e.classes?" "+e.classes:"")+(M?" "+M:"")).attr("style",$),L=$.match(/stroke:([^;]+)/)?.[1],I=e.animate===!0||!!e.animation||B.includes("animation");let z=C.node(),F=typeof z.getTotalLength=="function"?z.getTotalLength():0,V=DM[e.arrowTypeStart]||0,H=DM[e.arrowTypeEnd]||0;if(e.look==="neo"&&!I){let W=`stroke-dasharray: ${e.pattern==="dotted"||e.pattern==="dashed"?iqe(F,V,H):`0 ${V} ${F-V-H} ${H}`}; stroke-dashoffset: 0;`;C.attr("style",W+C.attr("style"))}}C.attr("data-edge",!0),C.attr("data-et","edge"),C.attr("data-id",e.id),C.attr("data-points",g),C.attr("data-look",xi(e.look)),e.showPoints&&y.forEach(B=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",B.x).attr("cy",B.y)});let A="";(ge().flowchart.arrowMarkerAbsolute||ge().state.arrowMarkerAbsolute)&&(A=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,A=A.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),Q.info("arrowTypeStart",e.arrowTypeStart),Q.info("arrowTypeEnd",e.arrowTypeEnd);let _=!I&&e?.look==="neo";jle(C,e,A,s,i,_,L);let D=Math.floor(h.length/2),N=h[D];Kt.isLabelCoordinateInPath(N,C.attr("d"))||(f=!0);let R={};return f&&(R.updatedPath=h),R.originalPath=e.points,R},"insertEdge");o(nqe,"generateRoundedPath");o(Zle,"calculateDeltaAndAngle");o(aqe,"applyMarkerOffsetsToPoints")});var sqe,oqe,lqe,cqe,uqe,hqe,fqe,dqe,pqe,mqe,gqe,yqe,vqe,xqe,bqe,Tqe,kqe,Cqe,wqe,Eqe,Sqe,Aqe,_qe,Dqe,O5,NM=P(()=>{"use strict";bt();Sr();sqe=o((t,e,r,i)=>{e.forEach(n=>{Dqe[n](t,r,i)})},"insertMarkers"),oqe=o((t,e,r)=>{Q.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("marker").attr("id",r+"_"+e+"-extensionStart-margin").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd-margin").attr("class","marker extension "+e).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),lqe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart-margin").attr("class","marker composition "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd-margin").attr("class","marker composition "+e).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),cqe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart-margin").attr("class","marker aggregation "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd-margin").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),uqe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart-margin").attr("class","marker dependency "+e).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd-margin").attr("class","marker dependency "+e).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),hqe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart-margin").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd-margin").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),fqe=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),dqe=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),pqe=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossEnd-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),t.append("marker").attr("id",r+"_"+e+"-crossStart-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),mqe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),gqe=o((t,e,r)=>{let i=Lt(),{themeVariables:n}=i,{transitionColor:a}=n;t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${a}`)},"barbNeo"),yqe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),vqe=o((t,e,r)=>{let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),i.append("path").attr("d","M9,0 L9,18");let n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),n.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),xqe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),bqe=o((t,e,r)=>{let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),i.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");let n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),n.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),Tqe=o((t,e,r)=>{let i=Lt(),{themeVariables:n}=i,{strokeWidth:a}=n;t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${a}`)},"only_one_neo"),kqe=o((t,e,r)=>{let i=Lt(),{themeVariables:n}=i,{strokeWidth:a,mainBkg:s}=n,l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");l.append("circle").attr("fill",s??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),l.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${a}`);let u=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");u.append("circle").attr("fill",s??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),u.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${a}`)},"zero_or_one_neo"),Cqe=o((t,e,r)=>{let i=Lt(),{themeVariables:n}=i,{strokeWidth:a}=n;t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${a}`)},"one_or_more_neo"),wqe=o((t,e,r)=>{let i=Lt(),{themeVariables:n}=i,{strokeWidth:a,mainBkg:s}=n,l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");l.append("circle").attr("fill",s??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),l.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${a}`);let u=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");u.append("circle").attr("fill",s??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),u.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${a}`)},"zero_or_more_neo"),Eqe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0 - L20,10 - M20,10 - L0,20`)},"requirement_arrow"),Sqe=o((t,e,r)=>{let i=Lt(),{themeVariables:n}=i,{strokeWidth:a}=n;t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${a}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0 - L20,10 - M20,10 - L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),Aqe=o((t,e,r)=>{let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");i.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),i.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),i.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),_qe=o((t,e,r)=>{let i=Lt(),{themeVariables:n}=i,{strokeWidth:a}=n,s=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");s.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),s.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),s.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),s.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),Dqe={extension:oqe,composition:lqe,aggregation:cqe,dependency:uqe,lollipop:hqe,point:fqe,circle:dqe,cross:pqe,barb:mqe,barbNeo:gqe,only_one:yqe,zero_or_one:vqe,one_or_more:xqe,zero_or_more:bqe,only_one_neo:Tqe,zero_or_one_neo:kqe,one_or_more_neo:Cqe,zero_or_more_neo:wqe,requirement_arrow:Eqe,requirement_contains:Aqe,requirement_arrow_neo:Sqe,requirement_contains_neo:_qe},O5=sqe});async function I1(t,e,r){let i,n;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");let a=e.shape?SM[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),i=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),n=await a(i,e,r)}else n=await a(t,e,r),i=n;return i.attr("data-look",xi(e.look)),e.tooltip&&n.attr("title",e.tooltip),P5.set(e.id,i),e.haveCallback&&i.attr("class",i.attr("class")+" clickable"),i}var P5,ece,tce,Mb,B5=P(()=>{"use strict";bt();AM();er();P5=new Map;o(I1,"insertNode");ece=o((t,e)=>{P5.set(e.id,t)},"setNodeElem"),tce=o(()=>{P5.clear()},"clear"),Mb=o(t=>{let e=P5.get(t.id);Q.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=8,i=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+i-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),i},"positionNode")});var rce,ice=P(()=>{"use strict";Sr();Vr();bt();A5();RM();NM();B5();zt();er();rce={common:lt,getConfig:Lt,insertCluster:N1,insertEdge:M5,insertEdgeLabel:N5,insertMarkers:O5,insertNode:I1,interpolateToCurve:yI,labelHelper:vt,log:Q,positionEdgeLabel:I5}});function Rqe(t){return typeof t=="symbol"||En(t)&&Xa(t)==Lqe}var Lqe,tl,M0=P(()=>{"use strict";Oh();Dl();Lqe="[object Symbol]";o(Rqe,"isSymbol");tl=Rqe});function Nqe(t,e){for(var r=-1,i=t==null?0:t.length,n=Array(i);++r{"use strict";o(Nqe,"arrayMap");wo=Nqe});function sce(t){if(typeof t=="string")return t;if(Gt(t))return wo(t,sce)+"";if(tl(t))return ace?ace.call(t):"";var e=t+"";return e=="0"&&1/t==-Iqe?"-0":e}var Iqe,nce,ace,oce,lce=P(()=>{"use strict";v0();O0();fn();M0();Iqe=1/0,nce=Da?Da.prototype:void 0,ace=nce?nce.toString:void 0;o(sce,"baseToString");oce=sce});function Oqe(t){for(var e=t.length;e--&&Mqe.test(t.charAt(e)););return e}var Mqe,cce,uce=P(()=>{"use strict";Mqe=/\s/;o(Oqe,"trimmedEndIndex");cce=Oqe});function Bqe(t){return t&&t.slice(0,cce(t)+1).replace(Pqe,"")}var Pqe,hce,fce=P(()=>{"use strict";uce();Pqe=/^\s+/;o(Bqe,"baseTrim");hce=Bqe});function Vqe(t){if(typeof t=="number")return t;if(tl(t))return dce;if(Gi(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Gi(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=hce(t);var r=$qe.test(t);return r||zqe.test(t)?Gqe(t.slice(2),r?2:8):Fqe.test(t)?dce:+t}var dce,Fqe,$qe,zqe,Gqe,pce,mce=P(()=>{"use strict";fce();Zo();M0();dce=NaN,Fqe=/^[-+]0x[0-9a-f]+$/i,$qe=/^0b[01]+$/i,zqe=/^0o[0-7]+$/i,Gqe=parseInt;o(Vqe,"toNumber");pce=Vqe});function Wqe(t){if(!t)return t===0?t:0;if(t=pce(t),t===gce||t===-gce){var e=t<0?-1:1;return e*qqe}return t===t?t:0}var gce,qqe,M1,IM=P(()=>{"use strict";mce();gce=1/0,qqe=17976931348623157e292;o(Wqe,"toFinite");M1=Wqe});function Uqe(t){var e=M1(t),r=e%1;return e===e?r?e-r:e:0}var Au,O1=P(()=>{"use strict";IM();o(Uqe,"toInteger");Au=Uqe});var Hqe,F5,yce=P(()=>{"use strict";Zf();Al();Hqe=mo(In,"WeakMap"),F5=Hqe});function Yqe(){}var Sn,MM=P(()=>{"use strict";o(Yqe,"noop");Sn=Yqe});function jqe(t,e){for(var r=-1,i=t==null?0:t.length;++r{"use strict";o(jqe,"arrayEach");$5=jqe});function Xqe(t,e,r,i){for(var n=t.length,a=r+(i?1:-1);i?a--:++a{"use strict";o(Xqe,"baseFindIndex");z5=Xqe});function Kqe(t){return t!==t}var vce,xce=P(()=>{"use strict";o(Kqe,"baseIsNaN");vce=Kqe});function Qqe(t,e,r){for(var i=r-1,n=t.length;++i{"use strict";o(Qqe,"strictIndexOf");bce=Qqe});function Zqe(t,e,r){return e===e?bce(t,e,r):z5(t,vce,r)}var P1,G5=P(()=>{"use strict";PM();xce();Tce();o(Zqe,"baseIndexOf");P1=Zqe});function Jqe(t,e){var r=t==null?0:t.length;return!!r&&P1(t,e,0)>-1}var V5,BM=P(()=>{"use strict";G5();o(Jqe,"arrayIncludes");V5=Jqe});var eWe,kce,Cce=P(()=>{"use strict";nI();eWe=P3(Object.keys,Object),kce=eWe});function iWe(t){if(!bu(t))return kce(t);var e=[];for(var r in Object(t))rWe.call(t,r)&&r!="constructor"&&e.push(r);return e}var tWe,rWe,B1,q5=P(()=>{"use strict";v1();Cce();tWe=Object.prototype,rWe=tWe.hasOwnProperty;o(iWe,"baseKeys");B1=iWe});function nWe(t){return Mn(t)?G3(t):B1(t)}var ni,_u=P(()=>{"use strict";cI();q5();Ll();o(nWe,"keys");ni=nWe});var aWe,sWe,oWe,Za,wce=P(()=>{"use strict";k1();C0();dI();Ll();v1();_u();aWe=Object.prototype,sWe=aWe.hasOwnProperty,oWe=W3(function(t,e){if(bu(e)||Mn(e)){Il(e,ni(e),t);return}for(var r in e)sWe.call(e,r)&&Tu(t,r,e[r])}),Za=oWe});function uWe(t,e){if(Gt(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||tl(t)?!0:cWe.test(t)||!lWe.test(t)||e!=null&&t in Object(e)}var lWe,cWe,F1,W5=P(()=>{"use strict";fn();M0();lWe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,cWe=/^\w*$/;o(uWe,"isKey");F1=uWe});function fWe(t){var e=u1(t,function(i){return r.size===hWe&&r.clear(),i}),r=e.cache;return e}var hWe,Ece,Sce=P(()=>{"use strict";QN();hWe=500;o(fWe,"memoizeCapped");Ece=fWe});var dWe,pWe,mWe,Ace,_ce=P(()=>{"use strict";Sce();dWe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,pWe=/\\(\\)?/g,mWe=Ece(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(dWe,function(r,i,n,a){e.push(n?a.replace(pWe,"$1"):i||r)}),e}),Ace=mWe});function gWe(t){return t==null?"":oce(t)}var U5,FM=P(()=>{"use strict";lce();o(gWe,"toString");U5=gWe});function yWe(t,e){return Gt(t)?t:F1(t,e)?[t]:Ace(U5(t))}var md,Ob=P(()=>{"use strict";fn();W5();_ce();FM();o(yWe,"castPath");md=yWe});function xWe(t){if(typeof t=="string"||tl(t))return t;var e=t+"";return e=="0"&&1/t==-vWe?"-0":e}var vWe,Du,$1=P(()=>{"use strict";M0();vWe=1/0;o(xWe,"toKey");Du=xWe});function bWe(t,e){e=md(e,t);for(var r=0,i=e.length;t!=null&&r{"use strict";Ob();$1();o(bWe,"baseGet");gd=bWe});function TWe(t,e,r){var i=t==null?void 0:gd(t,e);return i===void 0?r:i}var Dce,Lce=P(()=>{"use strict";Pb();o(TWe,"get");Dce=TWe});function kWe(t,e){for(var r=-1,i=e.length,n=t.length;++r{"use strict";o(kWe,"arrayPush");z1=kWe});function CWe(t){return Gt(t)||Sc(t)||!!(Rce&&t&&t[Rce])}var Rce,Nce,Ice=P(()=>{"use strict";v0();x1();fn();Rce=Da?Da.isConcatSpreadable:void 0;o(CWe,"isFlattenable");Nce=CWe});function Mce(t,e,r,i,n){var a=-1,s=t.length;for(r||(r=Nce),n||(n=[]);++a0&&r(l)?e>1?Mce(l,e-1,r,i,n):z1(n,l):i||(n[n.length]=l)}return n}var Lu,G1=P(()=>{"use strict";H5();Ice();o(Mce,"baseFlatten");Lu=Mce});function wWe(t){var e=t==null?0:t.length;return e?Lu(t,1):[]}var di,Y5=P(()=>{"use strict";G1();o(wWe,"flatten");di=wWe});function EWe(t){return q3(V3(t,void 0,di),t+"")}var Oce,Pce=P(()=>{"use strict";Y5();uI();fI();o(EWe,"flatRest");Oce=EWe});function SWe(t,e,r){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),r=r>n?n:r,r<0&&(r+=n),n=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(n);++i{"use strict";o(SWe,"baseSlice");j5=SWe});function OWe(t){return MWe.test(t)}var AWe,_We,DWe,LWe,RWe,NWe,IWe,MWe,Bce,Fce=P(()=>{"use strict";AWe="\\ud800-\\udfff",_We="\\u0300-\\u036f",DWe="\\ufe20-\\ufe2f",LWe="\\u20d0-\\u20ff",RWe=_We+DWe+LWe,NWe="\\ufe0e\\ufe0f",IWe="\\u200d",MWe=RegExp("["+IWe+AWe+RWe+NWe+"]");o(OWe,"hasUnicode");Bce=OWe});function PWe(t,e,r,i){var n=-1,a=t==null?0:t.length;for(i&&a&&(r=t[++n]);++n{"use strict";o(PWe,"arrayReduce");$ce=PWe});function BWe(t,e){return t&&Il(e,ni(e),t)}var Gce,Vce=P(()=>{"use strict";C0();_u();o(BWe,"baseAssign");Gce=BWe});function FWe(t,e){return t&&Il(e,go(e),t)}var qce,Wce=P(()=>{"use strict";C0();ad();o(FWe,"baseAssignIn");qce=FWe});function $We(t,e){for(var r=-1,i=t==null?0:t.length,n=0,a=[];++r{"use strict";o($We,"arrayFilter");V1=$We});function zWe(){return[]}var K5,zM=P(()=>{"use strict";o(zWe,"stubArray");K5=zWe});var GWe,VWe,Uce,qWe,q1,Q5=P(()=>{"use strict";X5();zM();GWe=Object.prototype,VWe=GWe.propertyIsEnumerable,Uce=Object.getOwnPropertySymbols,qWe=Uce?function(t){return t==null?[]:(t=Object(t),V1(Uce(t),function(e){return VWe.call(t,e)}))}:K5,q1=qWe});function WWe(t,e){return Il(t,q1(t),e)}var Hce,Yce=P(()=>{"use strict";C0();Q5();o(WWe,"copySymbols");Hce=WWe});var UWe,HWe,Z5,GM=P(()=>{"use strict";H5();B3();Q5();zM();UWe=Object.getOwnPropertySymbols,HWe=UWe?function(t){for(var e=[];t;)z1(e,q1(t)),t=y1(t);return e}:K5,Z5=HWe});function YWe(t,e){return Il(t,Z5(t),e)}var jce,Xce=P(()=>{"use strict";C0();GM();o(YWe,"copySymbolsIn");jce=YWe});function jWe(t,e,r){var i=e(t);return Gt(t)?i:z1(i,r(t))}var J5,VM=P(()=>{"use strict";H5();fn();o(jWe,"baseGetAllKeys");J5=jWe});function XWe(t){return J5(t,ni,q1)}var Bb,qM=P(()=>{"use strict";VM();Q5();_u();o(XWe,"getAllKeys");Bb=XWe});function KWe(t){return J5(t,go,Z5)}var eE,WM=P(()=>{"use strict";VM();GM();ad();o(KWe,"getAllKeysIn");eE=KWe});var QWe,tE,Kce=P(()=>{"use strict";Zf();Al();QWe=mo(In,"DataView"),tE=QWe});var ZWe,rE,Qce=P(()=>{"use strict";Zf();Al();ZWe=mo(In,"Promise"),rE=ZWe});var JWe,yd,UM=P(()=>{"use strict";Zf();Al();JWe=mo(In,"Set"),yd=JWe});var Zce,eUe,Jce,eue,tue,rue,tUe,rUe,iUe,nUe,aUe,P0,rl,B0=P(()=>{"use strict";Kce();D3();Qce();UM();yce();Oh();jN();Zce="[object Map]",eUe="[object Object]",Jce="[object Promise]",eue="[object Set]",tue="[object WeakMap]",rue="[object DataView]",tUe=Ph(tE),rUe=Ph(td),iUe=Ph(rE),nUe=Ph(yd),aUe=Ph(F5),P0=Xa;(tE&&P0(new tE(new ArrayBuffer(1)))!=rue||td&&P0(new td)!=Zce||rE&&P0(rE.resolve())!=Jce||yd&&P0(new yd)!=eue||F5&&P0(new F5)!=tue)&&(P0=o(function(t){var e=Xa(t),r=e==eUe?t.constructor:void 0,i=r?Ph(r):"";if(i)switch(i){case tUe:return rue;case rUe:return Zce;case iUe:return Jce;case nUe:return eue;case aUe:return tue}return e},"getTag"));rl=P0});function lUe(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&oUe.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var sUe,oUe,iue,nue=P(()=>{"use strict";sUe=Object.prototype,oUe=sUe.hasOwnProperty;o(lUe,"initCloneArray");iue=lUe});function cUe(t,e){var r=e?g1(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var aue,sue=P(()=>{"use strict";I3();o(cUe,"cloneDataView");aue=cUe});function hUe(t){var e=new t.constructor(t.source,uUe.exec(t));return e.lastIndex=t.lastIndex,e}var uUe,oue,lue=P(()=>{"use strict";uUe=/\w*$/;o(hUe,"cloneRegExp");oue=hUe});function fUe(t){return uue?Object(uue.call(t)):{}}var cue,uue,hue,fue=P(()=>{"use strict";v0();cue=Da?Da.prototype:void 0,uue=cue?cue.valueOf:void 0;o(fUe,"cloneSymbol");hue=fUe});function NUe(t,e,r){var i=t.constructor;switch(e){case TUe:return g1(t);case dUe:case pUe:return new i(+t);case kUe:return aue(t,r);case CUe:case wUe:case EUe:case SUe:case AUe:case _Ue:case DUe:case LUe:case RUe:return M3(t,r);case mUe:return new i;case gUe:case xUe:return new i(t);case yUe:return oue(t);case vUe:return new i;case bUe:return hue(t)}}var dUe,pUe,mUe,gUe,yUe,vUe,xUe,bUe,TUe,kUe,CUe,wUe,EUe,SUe,AUe,_Ue,DUe,LUe,RUe,due,pue=P(()=>{"use strict";I3();sue();lue();fue();rI();dUe="[object Boolean]",pUe="[object Date]",mUe="[object Map]",gUe="[object Number]",yUe="[object RegExp]",vUe="[object Set]",xUe="[object String]",bUe="[object Symbol]",TUe="[object ArrayBuffer]",kUe="[object DataView]",CUe="[object Float32Array]",wUe="[object Float64Array]",EUe="[object Int8Array]",SUe="[object Int16Array]",AUe="[object Int32Array]",_Ue="[object Uint8Array]",DUe="[object Uint8ClampedArray]",LUe="[object Uint16Array]",RUe="[object Uint32Array]";o(NUe,"initCloneByTag");due=NUe});function MUe(t){return En(t)&&rl(t)==IUe}var IUe,mue,gue=P(()=>{"use strict";B0();Dl();IUe="[object Map]";o(MUe,"baseIsMap");mue=MUe});var yue,OUe,vue,xue=P(()=>{"use strict";gue();k0();cb();yue=Nl&&Nl.isMap,OUe=yue?Rl(yue):mue,vue=OUe});function BUe(t){return En(t)&&rl(t)==PUe}var PUe,bue,Tue=P(()=>{"use strict";B0();Dl();PUe="[object Set]";o(BUe,"baseIsSet");bue=BUe});var kue,FUe,Cue,wue=P(()=>{"use strict";Tue();k0();cb();kue=Nl&&Nl.isSet,FUe=kue?Rl(kue):bue,Cue=FUe});function iE(t,e,r,i,n,a){var s,l=e&$Ue,u=e&zUe,h=e&GUe;if(r&&(s=n?r(t,i,n,a):r(t)),s!==void 0)return s;if(!Gi(t))return t;var f=Gt(t);if(f){if(s=iue(t),!l)return O3(t,s)}else{var d=rl(t),p=d==Sue||d==HUe;if(Ac(t))return N3(t,l);if(d==Aue||d==Eue||p&&!n){if(s=u||p?{}:F3(t),!l)return u?jce(t,qce(s,t)):Hce(t,Gce(s,t))}else{if(!Qi[d])return n?t:{};s=due(t,d,l)}}a||(a=new vu);var m=a.get(t);if(m)return m;a.set(t,s),Cue(t)?t.forEach(function(v){s.add(iE(v,e,r,v,t,a))}):vue(t)&&t.forEach(function(v,x){s.set(x,iE(v,e,r,x,t,a))});var g=h?u?eE:Bb:u?go:ni,y=f?void 0:g(t);return $5(y||t,function(v,x){y&&(x=v,v=t[x]),Tu(s,x,iE(v,e,r,x,t,a))}),s}var $Ue,zUe,GUe,Eue,VUe,qUe,WUe,UUe,Sue,HUe,YUe,jUe,Aue,XUe,KUe,QUe,ZUe,JUe,eHe,tHe,rHe,iHe,nHe,aHe,sHe,oHe,lHe,cHe,uHe,Qi,nE,HM=P(()=>{"use strict";sb();OM();k1();Vce();Wce();eI();iI();Yce();Xce();qM();WM();B0();nue();pue();aI();fn();T1();xue();Zo();wue();_u();ad();$Ue=1,zUe=2,GUe=4,Eue="[object Arguments]",VUe="[object Array]",qUe="[object Boolean]",WUe="[object Date]",UUe="[object Error]",Sue="[object Function]",HUe="[object GeneratorFunction]",YUe="[object Map]",jUe="[object Number]",Aue="[object Object]",XUe="[object RegExp]",KUe="[object Set]",QUe="[object String]",ZUe="[object Symbol]",JUe="[object WeakMap]",eHe="[object ArrayBuffer]",tHe="[object DataView]",rHe="[object Float32Array]",iHe="[object Float64Array]",nHe="[object Int8Array]",aHe="[object Int16Array]",sHe="[object Int32Array]",oHe="[object Uint8Array]",lHe="[object Uint8ClampedArray]",cHe="[object Uint16Array]",uHe="[object Uint32Array]",Qi={};Qi[Eue]=Qi[VUe]=Qi[eHe]=Qi[tHe]=Qi[qUe]=Qi[WUe]=Qi[rHe]=Qi[iHe]=Qi[nHe]=Qi[aHe]=Qi[sHe]=Qi[YUe]=Qi[jUe]=Qi[Aue]=Qi[XUe]=Qi[KUe]=Qi[QUe]=Qi[ZUe]=Qi[oHe]=Qi[lHe]=Qi[cHe]=Qi[uHe]=!0;Qi[UUe]=Qi[Sue]=Qi[JUe]=!1;o(iE,"baseClone");nE=iE});function fHe(t){return nE(t,hHe)}var hHe,Si,YM=P(()=>{"use strict";HM();hHe=4;o(fHe,"clone");Si=fHe});function mHe(t){return nE(t,dHe|pHe)}var dHe,pHe,jM,_ue=P(()=>{"use strict";HM();dHe=1,pHe=4;o(mHe,"cloneDeep");jM=mHe});function gHe(t){for(var e=-1,r=t==null?0:t.length,i=0,n=[];++e{"use strict";o(gHe,"compact");Ru=gHe});function vHe(t){return this.__data__.set(t,yHe),this}var yHe,Lue,Rue=P(()=>{"use strict";yHe="__lodash_hash_undefined__";o(vHe,"setCacheAdd");Lue=vHe});function xHe(t){return this.__data__.has(t)}var Nue,Iue=P(()=>{"use strict";o(xHe,"setCacheHas");Nue=xHe});function aE(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new b0;++e{"use strict";L3();Rue();Iue();o(aE,"SetCache");aE.prototype.add=aE.prototype.push=Lue;aE.prototype.has=Nue;W1=aE});function bHe(t,e){for(var r=-1,i=t==null?0:t.length;++r{"use strict";o(bHe,"arraySome");oE=bHe});function THe(t,e){return t.has(e)}var U1,lE=P(()=>{"use strict";o(THe,"cacheHas");U1=THe});function wHe(t,e,r,i,n,a){var s=r&kHe,l=t.length,u=e.length;if(l!=u&&!(s&&u>l))return!1;var h=a.get(t),f=a.get(e);if(h&&f)return h==e&&f==t;var d=-1,p=!0,m=r&CHe?new W1:void 0;for(a.set(t,e),a.set(e,t);++d{"use strict";sE();XM();lE();kHe=1,CHe=2;o(wHe,"equalArrays");cE=wHe});function EHe(t){var e=-1,r=Array(t.size);return t.forEach(function(i,n){r[++e]=[n,i]}),r}var Mue,Oue=P(()=>{"use strict";o(EHe,"mapToArray");Mue=EHe});function SHe(t){var e=-1,r=Array(t.size);return t.forEach(function(i){r[++e]=i}),r}var H1,uE=P(()=>{"use strict";o(SHe,"setToArray");H1=SHe});function zHe(t,e,r,i,n,a,s){switch(r){case $He:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case FHe:return!(t.byteLength!=e.byteLength||!a(new m1(t),new m1(e)));case DHe:case LHe:case IHe:return _l(+t,+e);case RHe:return t.name==e.name&&t.message==e.message;case MHe:case PHe:return t==e+"";case NHe:var l=Mue;case OHe:var u=i&AHe;if(l||(l=H1),t.size!=e.size&&!u)return!1;var h=s.get(t);if(h)return h==e;i|=_He,s.set(t,e);var f=cE(l(t),l(e),i,n,a,s);return s.delete(t),f;case BHe:if(QM)return QM.call(t)==QM.call(e)}return!1}var AHe,_He,DHe,LHe,RHe,NHe,IHe,MHe,OHe,PHe,BHe,FHe,$He,Pue,QM,Bue,Fue=P(()=>{"use strict";v0();tI();x0();KM();Oue();uE();AHe=1,_He=2,DHe="[object Boolean]",LHe="[object Date]",RHe="[object Error]",NHe="[object Map]",IHe="[object Number]",MHe="[object RegExp]",OHe="[object Set]",PHe="[object String]",BHe="[object Symbol]",FHe="[object ArrayBuffer]",$He="[object DataView]",Pue=Da?Da.prototype:void 0,QM=Pue?Pue.valueOf:void 0;o(zHe,"equalByTag");Bue=zHe});function WHe(t,e,r,i,n,a){var s=r&GHe,l=Bb(t),u=l.length,h=Bb(e),f=h.length;if(u!=f&&!s)return!1;for(var d=u;d--;){var p=l[d];if(!(s?p in e:qHe.call(e,p)))return!1}var m=a.get(t),g=a.get(e);if(m&&g)return m==e&&g==t;var y=!0;a.set(t,e),a.set(e,t);for(var v=s;++d{"use strict";qM();GHe=1,VHe=Object.prototype,qHe=VHe.hasOwnProperty;o(WHe,"equalObjects");$ue=WHe});function YHe(t,e,r,i,n,a){var s=Gt(t),l=Gt(e),u=s?Vue:rl(t),h=l?Vue:rl(e);u=u==Gue?hE:u,h=h==Gue?hE:h;var f=u==hE,d=h==hE,p=u==h;if(p&&Ac(t)){if(!Ac(e))return!1;s=!0,f=!1}if(p&&!f)return a||(a=new vu),s||id(t)?cE(t,e,r,i,n,a):Bue(t,e,u,r,i,n,a);if(!(r&UHe)){var m=f&&que.call(t,"__wrapped__"),g=d&&que.call(e,"__wrapped__");if(m||g){var y=m?t.value():t,v=g?e.value():e;return a||(a=new vu),n(y,v,r,i,a)}}return p?(a||(a=new vu),$ue(t,e,r,i,n,a)):!1}var UHe,Gue,Vue,hE,HHe,que,Wue,Uue=P(()=>{"use strict";sb();KM();Fue();zue();B0();fn();T1();ub();UHe=1,Gue="[object Arguments]",Vue="[object Array]",hE="[object Object]",HHe=Object.prototype,que=HHe.hasOwnProperty;o(YHe,"baseIsEqualDeep");Wue=YHe});function Hue(t,e,r,i,n){return t===e?!0:t==null||e==null||!En(t)&&!En(e)?t!==t&&e!==e:Wue(t,e,r,i,Hue,n)}var fE,ZM=P(()=>{"use strict";Uue();Dl();o(Hue,"baseIsEqual");fE=Hue});function KHe(t,e,r,i){var n=r.length,a=n,s=!i;if(t==null)return!a;for(t=Object(t);n--;){var l=r[n];if(s&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++n{"use strict";sb();ZM();jHe=1,XHe=2;o(KHe,"baseIsMatch");Yue=KHe});function QHe(t){return t===t&&!Gi(t)}var dE,JM=P(()=>{"use strict";Zo();o(QHe,"isStrictComparable");dE=QHe});function ZHe(t){for(var e=ni(t),r=e.length;r--;){var i=e[r],n=t[i];e[r]=[i,n,dE(n)]}return e}var Xue,Kue=P(()=>{"use strict";JM();_u();o(ZHe,"getMatchData");Xue=ZHe});function JHe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var pE,eO=P(()=>{"use strict";o(JHe,"matchesStrictComparable");pE=JHe});function eYe(t){var e=Xue(t);return e.length==1&&e[0][2]?pE(e[0][0],e[0][1]):function(r){return r===t||Yue(r,t,e)}}var Que,Zue=P(()=>{"use strict";jue();Kue();eO();o(eYe,"baseMatches");Que=eYe});function tYe(t,e){return t!=null&&e in Object(t)}var Jue,ehe=P(()=>{"use strict";o(tYe,"baseHasIn");Jue=tYe});function rYe(t,e,r){e=md(e,t);for(var i=-1,n=e.length,a=!1;++i{"use strict";Ob();x1();fn();fb();$3();$1();o(rYe,"hasPath");mE=rYe});function iYe(t,e){return t!=null&&mE(t,e,Jue)}var gE,rO=P(()=>{"use strict";ehe();tO();o(iYe,"hasIn");gE=iYe});function sYe(t,e){return F1(t)&&dE(e)?pE(Du(t),e):function(r){var i=Dce(r,t);return i===void 0&&i===e?gE(r,t):fE(e,i,nYe|aYe)}}var nYe,aYe,the,rhe=P(()=>{"use strict";ZM();Lce();rO();W5();JM();eO();$1();nYe=1,aYe=2;o(sYe,"baseMatchesProperty");the=sYe});function oYe(t){return function(e){return e?.[t]}}var yE,iO=P(()=>{"use strict";o(oYe,"baseProperty");yE=oYe});function lYe(t){return function(e){return gd(e,t)}}var ihe,nhe=P(()=>{"use strict";Pb();o(lYe,"basePropertyDeep");ihe=lYe});function cYe(t){return F1(t)?yE(Du(t)):ihe(t)}var ahe,she=P(()=>{"use strict";iO();nhe();W5();$1();o(cYe,"property");ahe=cYe});function uYe(t){return typeof t=="function"?t:t==null?La:typeof t=="object"?Gt(t)?the(t[0],t[1]):Que(t):ahe(t)}var Pi,Vs=P(()=>{"use strict";Zue();rhe();Fh();fn();she();o(uYe,"baseIteratee");Pi=uYe});function hYe(t,e,r,i){for(var n=-1,a=t==null?0:t.length;++n{"use strict";o(hYe,"arrayAggregator");ohe=hYe});function fYe(t,e){return t&&p1(t,e,ni)}var Y1,vE=P(()=>{"use strict";R3();_u();o(fYe,"baseForOwn");Y1=fYe});function dYe(t,e){return function(r,i){if(r==null)return r;if(!Mn(r))return t(r,i);for(var n=r.length,a=e?n:-1,s=Object(r);(e?a--:++a{"use strict";Ll();o(dYe,"createBaseEach");che=dYe});var pYe,Eo,vd=P(()=>{"use strict";vE();uhe();pYe=che(Y1),Eo=pYe});function mYe(t,e,r,i){return Eo(t,function(n,a,s){e(i,n,r(n),s)}),i}var hhe,fhe=P(()=>{"use strict";vd();o(mYe,"baseAggregator");hhe=mYe});function gYe(t,e){return function(r,i){var n=Gt(r)?ohe:hhe,a=e?e():{};return n(r,t,Pi(i,2),a)}}var dhe,phe=P(()=>{"use strict";lhe();fhe();Vs();fn();o(gYe,"createAggregator");dhe=gYe});var yYe,xE,mhe=P(()=>{"use strict";Al();yYe=o(function(){return In.Date.now()},"now"),xE=yYe});var ghe,vYe,xYe,xd,yhe=P(()=>{"use strict";C1();x0();w0();ad();ghe=Object.prototype,vYe=ghe.hasOwnProperty,xYe=ku(function(t,e){t=Object(t);var r=-1,i=e.length,n=i>2?e[2]:void 0;for(n&&Jo(e[0],e[1],n)&&(i=1);++r{"use strict";o(bYe,"arrayIncludesWith");bE=bYe});function kYe(t,e,r,i){var n=-1,a=V5,s=!0,l=t.length,u=[],h=e.length;if(!l)return u;r&&(e=wo(e,Rl(r))),i?(a=bE,s=!1):e.length>=TYe&&(a=U1,s=!1,e=new W1(e));e:for(;++n{"use strict";sE();BM();nO();O0();k0();lE();TYe=200;o(kYe,"baseDifference");vhe=kYe});var CYe,bd,bhe=P(()=>{"use strict";xhe();G1();C1();z3();CYe=ku(function(t,e){return T0(t)?vhe(t,Lu(e,1,T0,!0)):[]}),bd=CYe});function wYe(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var Na,The=P(()=>{"use strict";o(wYe,"last");Na=wYe});function EYe(t,e,r){var i=t==null?0:t.length;return i?(e=r||e===void 0?1:Au(e),j5(t,e<0?0:e,i)):[]}var zn,khe=P(()=>{"use strict";$M();O1();o(EYe,"drop");zn=EYe});function SYe(t,e,r){var i=t==null?0:t.length;return i?(e=r||e===void 0?1:Au(e),e=i-e,j5(t,0,e<0?0:e)):[]}var Hh,Che=P(()=>{"use strict";$M();O1();o(SYe,"dropRight");Hh=SYe});function AYe(t){return typeof t=="function"?t:La}var j1,TE=P(()=>{"use strict";Fh();o(AYe,"castFunction");j1=AYe});function _Ye(t,e){var r=Gt(t)?$5:Eo;return r(t,j1(e))}var Pe,kE=P(()=>{"use strict";OM();vd();TE();fn();o(_Ye,"forEach");Pe=_Ye});var whe=P(()=>{"use strict";kE()});function DYe(t,e){for(var r=-1,i=t==null?0:t.length;++r{"use strict";o(DYe,"arrayEvery");Ehe=DYe});function LYe(t,e){var r=!0;return Eo(t,function(i,n,a){return r=!!e(i,n,a),r}),r}var Ahe,_he=P(()=>{"use strict";vd();o(LYe,"baseEvery");Ahe=LYe});function RYe(t,e,r){var i=Gt(t)?Ehe:Ahe;return r&&Jo(t,e,r)&&(e=void 0),i(t,Pi(e,3))}var ms,Dhe=P(()=>{"use strict";She();_he();Vs();fn();w0();o(RYe,"every");ms=RYe});function NYe(t,e){var r=[];return Eo(t,function(i,n,a){e(i,n,a)&&r.push(i)}),r}var CE,aO=P(()=>{"use strict";vd();o(NYe,"baseFilter");CE=NYe});function IYe(t,e){var r=Gt(t)?V1:CE;return r(t,Pi(e,3))}var pi,sO=P(()=>{"use strict";X5();aO();Vs();fn();o(IYe,"filter");pi=IYe});function MYe(t){return function(e,r,i){var n=Object(e);if(!Mn(e)){var a=Pi(r,3);e=ni(e),r=o(function(l){return a(n[l],l,n)},"predicate")}var s=t(e,r,i);return s>-1?n[a?e[s]:s]:void 0}}var Lhe,Rhe=P(()=>{"use strict";Vs();Ll();_u();o(MYe,"createFind");Lhe=MYe});function PYe(t,e,r){var i=t==null?0:t.length;if(!i)return-1;var n=r==null?0:Au(r);return n<0&&(n=OYe(i+n,0)),z5(t,Pi(e,3),n)}var OYe,Nhe,Ihe=P(()=>{"use strict";PM();Vs();O1();OYe=Math.max;o(PYe,"findIndex");Nhe=PYe});var BYe,qs,Mhe=P(()=>{"use strict";Rhe();Ihe();BYe=Lhe(Nhe),qs=BYe});function FYe(t){return t&&t.length?t[0]:void 0}var Ia,Ohe=P(()=>{"use strict";o(FYe,"head");Ia=FYe});var Phe=P(()=>{"use strict";Ohe()});function $Ye(t,e){var r=-1,i=Mn(t)?Array(t.length):[];return Eo(t,function(n,a,s){i[++r]=e(n,a,s)}),i}var wE,oO=P(()=>{"use strict";vd();Ll();o($Ye,"baseMap");wE=$Ye});function zYe(t,e){var r=Gt(t)?wo:wE;return r(t,Pi(e,3))}var ht,X1=P(()=>{"use strict";O0();Vs();oO();fn();o(zYe,"map");ht=zYe});function GYe(t,e){return Lu(ht(t,e),1)}var Ja,lO=P(()=>{"use strict";G1();X1();o(GYe,"flatMap");Ja=GYe});function VYe(t,e){return t==null?t:p1(t,j1(e),go)}var cO,Bhe=P(()=>{"use strict";R3();TE();ad();o(VYe,"forIn");cO=VYe});function qYe(t,e){return t&&Y1(t,j1(e))}var uO,Fhe=P(()=>{"use strict";vE();TE();o(qYe,"forOwn");uO=qYe});var WYe,UYe,HYe,hO,$he=P(()=>{"use strict";d1();phe();WYe=Object.prototype,UYe=WYe.hasOwnProperty,HYe=dhe(function(t,e,r){UYe.call(t,r)?t[r].push(e):xu(t,r,[e])}),hO=HYe});function YYe(t,e){return t>e}var zhe,Ghe=P(()=>{"use strict";o(YYe,"baseGt");zhe=YYe});function KYe(t,e){return t!=null&&XYe.call(t,e)}var jYe,XYe,Vhe,qhe=P(()=>{"use strict";jYe=Object.prototype,XYe=jYe.hasOwnProperty;o(KYe,"baseHas");Vhe=KYe});function QYe(t,e){return t!=null&&mE(t,e,Vhe)}var Vt,Whe=P(()=>{"use strict";qhe();tO();o(QYe,"has");Vt=QYe});function JYe(t){return typeof t=="string"||!Gt(t)&&En(t)&&Xa(t)==ZYe}var ZYe,Gn,EE=P(()=>{"use strict";Oh();fn();Dl();ZYe="[object String]";o(JYe,"isString");Gn=JYe});function eje(t,e){return wo(e,function(r){return t[r]})}var Uhe,Hhe=P(()=>{"use strict";O0();o(eje,"baseValues");Uhe=eje});function tje(t){return t==null?[]:Uhe(t,ni(t))}var qr,fO=P(()=>{"use strict";Hhe();_u();o(tje,"values");qr=tje});function ije(t,e,r,i){t=Mn(t)?t:qr(t),r=r&&!i?Au(r):0;var n=t.length;return r<0&&(r=rje(n+r,0)),Gn(t)?r<=n&&t.indexOf(e,r)>-1:!!n&&P1(t,e,r)>-1}var rje,pn,Yhe=P(()=>{"use strict";G5();Ll();EE();O1();fO();rje=Math.max;o(ije,"includes");pn=ije});function aje(t,e,r){var i=t==null?0:t.length;if(!i)return-1;var n=r==null?0:Au(r);return n<0&&(n=nje(i+n,0)),P1(t,e,n)}var nje,SE,jhe=P(()=>{"use strict";G5();O1();nje=Math.max;o(aje,"indexOf");SE=aje});function uje(t){if(t==null)return!0;if(Mn(t)&&(Gt(t)||typeof t=="string"||typeof t.splice=="function"||Ac(t)||id(t)||Sc(t)))return!t.length;var e=rl(t);if(e==sje||e==oje)return!t.size;if(bu(t))return!B1(t).length;for(var r in t)if(cje.call(t,r))return!1;return!0}var sje,oje,lje,cje,_r,AE=P(()=>{"use strict";q5();B0();x1();fn();Ll();T1();v1();ub();sje="[object Map]",oje="[object Set]",lje=Object.prototype,cje=lje.hasOwnProperty;o(uje,"isEmpty");_r=uje});function fje(t){return En(t)&&Xa(t)==hje}var hje,Xhe,Khe=P(()=>{"use strict";Oh();Dl();hje="[object RegExp]";o(fje,"baseIsRegExp");Xhe=fje});var Qhe,dje,Bl,Zhe=P(()=>{"use strict";Khe();k0();cb();Qhe=Nl&&Nl.isRegExp,dje=Qhe?Rl(Qhe):Xhe,Bl=dje});function pje(t){return t===void 0}var Br,Jhe=P(()=>{"use strict";o(pje,"isUndefined");Br=pje});function mje(t,e){return t{"use strict";o(mje,"baseLt");_E=mje});function gje(t,e){var r={};return e=Pi(e,3),Y1(t,function(i,n,a){xu(r,n,e(i,n,a))}),r}var F0,efe=P(()=>{"use strict";d1();vE();Vs();o(gje,"mapValues");F0=gje});function yje(t,e,r){for(var i=-1,n=t.length;++i{"use strict";M0();o(yje,"baseExtremum");K1=yje});function vje(t){return t&&t.length?K1(t,La,zhe):void 0}var So,tfe=P(()=>{"use strict";DE();Ghe();Fh();o(vje,"max");So=vje});function xje(t){return t&&t.length?K1(t,La,_E):void 0}var Lc,pO=P(()=>{"use strict";DE();dO();Fh();o(xje,"min");Lc=xje});function bje(t,e){return t&&t.length?K1(t,Pi(e,2),_E):void 0}var $0,rfe=P(()=>{"use strict";DE();Vs();dO();o(bje,"minBy");$0=bje});function kje(t){if(typeof t!="function")throw new TypeError(Tje);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}var Tje,ife,nfe=P(()=>{"use strict";Tje="Expected a function";o(kje,"negate");ife=kje});function Cje(t,e,r,i){if(!Gi(t))return t;e=md(e,t);for(var n=-1,a=e.length,s=a-1,l=t;l!=null&&++n{"use strict";k1();Ob();fb();Zo();$1();o(Cje,"baseSet");afe=Cje});function wje(t,e,r){for(var i=-1,n=e.length,a={};++i{"use strict";Pb();sfe();Ob();o(wje,"basePickBy");LE=wje});function Eje(t,e){if(t==null)return{};var r=wo(eE(t),function(i){return[i]});return e=Pi(e),LE(t,r,function(i,n){return e(i,n[0])})}var Ao,ofe=P(()=>{"use strict";O0();Vs();mO();WM();o(Eje,"pickBy");Ao=Eje});function Sje(t,e){var r=t.length;for(t.sort(e);r--;)t[r]=t[r].value;return t}var lfe,cfe=P(()=>{"use strict";o(Sje,"baseSortBy");lfe=Sje});function Aje(t,e){if(t!==e){var r=t!==void 0,i=t===null,n=t===t,a=tl(t),s=e!==void 0,l=e===null,u=e===e,h=tl(e);if(!l&&!h&&!a&&t>e||a&&s&&u&&!l&&!h||i&&s&&u||!r&&u||!n)return 1;if(!i&&!a&&!h&&t{"use strict";M0();o(Aje,"compareAscending");ufe=Aje});function _je(t,e,r){for(var i=-1,n=t.criteria,a=e.criteria,s=n.length,l=r.length;++i=l)return u;var h=r[i];return u*(h=="desc"?-1:1)}}return t.index-e.index}var ffe,dfe=P(()=>{"use strict";hfe();o(_je,"compareMultiple");ffe=_je});function Dje(t,e,r){e.length?e=wo(e,function(a){return Gt(a)?function(s){return gd(s,a.length===1?a[0]:a)}:a}):e=[La];var i=-1;e=wo(e,Rl(Pi));var n=wE(t,function(a,s,l){var u=wo(e,function(h){return h(a)});return{criteria:u,index:++i,value:a}});return lfe(n,function(a,s){return ffe(a,s,r)})}var pfe,mfe=P(()=>{"use strict";O0();Pb();Vs();oO();cfe();k0();dfe();Fh();fn();o(Dje,"baseOrderBy");pfe=Dje});var Lje,gfe,yfe=P(()=>{"use strict";iO();Lje=yE("length"),gfe=Lje});function Vje(t){for(var e=vfe.lastIndex=0;vfe.test(t);)++e;return e}var xfe,Rje,Nje,Ije,Mje,Oje,Pje,gO,yO,Bje,bfe,Tfe,kfe,Fje,Cfe,wfe,$je,zje,Gje,vfe,Efe,Sfe=P(()=>{"use strict";xfe="\\ud800-\\udfff",Rje="\\u0300-\\u036f",Nje="\\ufe20-\\ufe2f",Ije="\\u20d0-\\u20ff",Mje=Rje+Nje+Ije,Oje="\\ufe0e\\ufe0f",Pje="["+xfe+"]",gO="["+Mje+"]",yO="\\ud83c[\\udffb-\\udfff]",Bje="(?:"+gO+"|"+yO+")",bfe="[^"+xfe+"]",Tfe="(?:\\ud83c[\\udde6-\\uddff]){2}",kfe="[\\ud800-\\udbff][\\udc00-\\udfff]",Fje="\\u200d",Cfe=Bje+"?",wfe="["+Oje+"]?",$je="(?:"+Fje+"(?:"+[bfe,Tfe,kfe].join("|")+")"+wfe+Cfe+")*",zje=wfe+Cfe+$je,Gje="(?:"+[bfe+gO+"?",gO,Tfe,kfe,Pje].join("|")+")",vfe=RegExp(yO+"(?="+yO+")|"+Gje+zje,"g");o(Vje,"unicodeSize");Efe=Vje});function qje(t){return Bce(t)?Efe(t):gfe(t)}var Afe,_fe=P(()=>{"use strict";yfe();Fce();Sfe();o(qje,"stringSize");Afe=qje});function Wje(t,e){return LE(t,e,function(r,i){return gE(t,i)})}var Dfe,Lfe=P(()=>{"use strict";mO();rO();o(Wje,"basePick");Dfe=Wje});var Uje,z0,Rfe=P(()=>{"use strict";Lfe();Pce();Uje=Oce(function(t,e){return t==null?{}:Dfe(t,e)}),z0=Uje});function jje(t,e,r,i){for(var n=-1,a=Yje(Hje((e-t)/(r||1)),0),s=Array(a);a--;)s[i?a:++n]=t,t+=r;return s}var Hje,Yje,Nfe,Ife=P(()=>{"use strict";Hje=Math.ceil,Yje=Math.max;o(jje,"baseRange");Nfe=jje});function Xje(t){return function(e,r,i){return i&&typeof i!="number"&&Jo(e,r,i)&&(r=i=void 0),e=M1(e),r===void 0?(r=e,e=0):r=M1(r),i=i===void 0?e{"use strict";Ife();w0();IM();o(Xje,"createRange");Mfe=Xje});var Kje,Fl,Pfe=P(()=>{"use strict";Ofe();Kje=Mfe(),Fl=Kje});function Qje(t,e,r,i,n){return n(t,function(a,s,l){r=i?(i=!1,a):e(r,a,s,l)}),r}var Bfe,Ffe=P(()=>{"use strict";o(Qje,"baseReduce");Bfe=Qje});function Zje(t,e,r){var i=Gt(t)?$ce:Bfe,n=arguments.length<3;return i(t,Pi(e,4),r,n,Eo)}var mi,vO=P(()=>{"use strict";zce();vd();Vs();Ffe();fn();o(Zje,"reduce");mi=Zje});function Jje(t,e){var r=Gt(t)?V1:CE;return r(t,ife(Pi(e,3)))}var Td,$fe=P(()=>{"use strict";X5();aO();Vs();fn();nfe();o(Jje,"reject");Td=Jje});function rXe(t){if(t==null)return 0;if(Mn(t))return Gn(t)?Afe(t):t.length;var e=rl(t);return e==eXe||e==tXe?t.size:B1(t).length}var eXe,tXe,xO,zfe=P(()=>{"use strict";q5();B0();Ll();EE();_fe();eXe="[object Map]",tXe="[object Set]";o(rXe,"size");xO=rXe});function iXe(t,e){var r;return Eo(t,function(i,n,a){return r=e(i,n,a),!r}),!!r}var Gfe,Vfe=P(()=>{"use strict";vd();o(iXe,"baseSome");Gfe=iXe});function nXe(t,e,r){var i=Gt(t)?oE:Gfe;return r&&Jo(t,e,r)&&(e=void 0),i(t,Pi(e,3))}var Fb,qfe=P(()=>{"use strict";XM();Vs();Vfe();fn();w0();o(nXe,"some");Fb=nXe});var aXe,Nu,Wfe=P(()=>{"use strict";G1();mfe();C1();w0();aXe=ku(function(t,e){if(t==null)return[];var r=e.length;return r>1&&Jo(t,e[0],e[1])?e=[]:r>2&&Jo(e[0],e[1],e[2])&&(e=[e[0]]),pfe(t,Lu(e,1),[])}),Nu=aXe});var sXe,oXe,Ufe,Hfe=P(()=>{"use strict";UM();MM();uE();sXe=1/0,oXe=yd&&1/H1(new yd([,-0]))[1]==sXe?function(t){return new yd(t)}:Sn,Ufe=oXe});function cXe(t,e,r){var i=-1,n=V5,a=t.length,s=!0,l=[],u=l;if(r)s=!1,n=bE;else if(a>=lXe){var h=e?null:Ufe(t);if(h)return H1(h);s=!1,n=U1,u=new W1}else u=e?[]:l;e:for(;++i{"use strict";sE();BM();nO();lE();Hfe();uE();lXe=200;o(cXe,"baseUniq");Q1=cXe});var uXe,bO,Yfe=P(()=>{"use strict";G1();C1();RE();z3();uXe=ku(function(t){return Q1(Lu(t,1,T0,!0))}),bO=uXe});function hXe(t){return t&&t.length?Q1(t):[]}var Z1,jfe=P(()=>{"use strict";RE();o(hXe,"uniq");Z1=hXe});function fXe(t,e){return t&&t.length?Q1(t,Pi(e,2)):[]}var Xfe,Kfe=P(()=>{"use strict";Vs();RE();o(fXe,"uniqBy");Xfe=fXe});function pXe(t){var e=++dXe;return U5(t)+e}var dXe,G0,Qfe=P(()=>{"use strict";FM();dXe=0;o(pXe,"uniqueId");G0=pXe});function mXe(t,e,r){for(var i=-1,n=t.length,a=e.length,s={};++i{"use strict";o(mXe,"baseZipObject");Zfe=mXe});function gXe(t,e){return Zfe(t||[],e||[],Tu)}var NE,ede=P(()=>{"use strict";k1();Jfe();o(gXe,"zipObject");NE=gXe});var nr=P(()=>{"use strict";wce();YM();_ue();Due();hI();yhe();bhe();khe();Che();whe();Dhe();sO();Mhe();Phe();lO();Y5();kE();Bhe();Fhe();$he();Whe();Fh();Yhe();jhe();fn();AE();tb();Zo();Zhe();EE();Jhe();_u();The();X1();efe();tfe();pI();pO();rfe();MM();mhe();Rfe();ofe();Pfe();vO();$fe();zfe();qfe();Wfe();Yfe();jfe();Qfe();fO();ede();});function rde(t,e){t[e]?t[e]++:t[e]=1}function ide(t,e){--t[e]||delete t[e]}function $b(t,e,r,i){var n=""+e,a=""+r;if(!t&&n>a){var s=n;n=a,a=s}return n+tde+a+tde+(Br(i)?yXe:i)}function vXe(t,e,r,i){var n=""+e,a=""+r;if(!t&&n>a){var s=n;n=a,a=s}var l={v:n,w:a};return i&&(l.name=i),l}function TO(t,e){return $b(t,e.v,e.w,e.name)}var yXe,V0,tde,Ai,IE=P(()=>{"use strict";nr();yXe="\0",V0="\0",tde="",Ai=class{static{o(this,"Graph")}constructor(e={}){this._isDirected=Object.prototype.hasOwnProperty.call(e,"directed")?e.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(e,"multigraph")?e.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=yo(void 0),this._defaultEdgeLabelFn=yo(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[V0]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return Qn(e)||(e=yo(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return ni(this._nodes)}sources(){var e=this;return pi(this.nodes(),function(r){return _r(e._in[r])})}sinks(){var e=this;return pi(this.nodes(),function(r){return _r(e._out[r])})}setNodes(e,r){var i=arguments,n=this;return Pe(e,function(a){i.length>1?n.setNode(a,r):n.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=V0,this._children[e]={},this._children[V0][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=o(i=>this.removeEdge(this._edgeObjs[i]),"removeEdge");delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],Pe(this.children(e),i=>{this.setParent(i)}),delete this._children[e]),Pe(ni(this._in[e]),r),delete this._in[e],delete this._preds[e],Pe(ni(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Br(r))r=V0;else{r+="";for(var i=r;!Br(i);i=this.parent(i))if(i===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==V0)return r}}children(e){if(Br(e)&&(e=V0),this._isCompound){var r=this._children[e];if(r)return ni(r)}else{if(e===V0)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return ni(r)}successors(e){var r=this._sucs[e];if(r)return ni(r)}neighbors(e){var r=this.predecessors(e);if(r)return bO(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var i=this;Pe(this._nodes,function(s,l){e(l)&&r.setNode(l,s)}),Pe(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,i.edge(s))});var n={};function a(s){var l=i.parent(s);return l===void 0||r.hasNode(l)?(n[s]=l,l):l in n?n[l]:a(l)}return o(a,"findParent"),this._isCompound&&Pe(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return Qn(e)||(e=yo(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return qr(this._edgeObjs)}setPath(e,r){var i=this,n=arguments;return mi(e,function(a,s){return n.length>1?i.setEdge(a,s,r):i.setEdge(a,s),s}),this}setEdge(){var e,r,i,n,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,i=s.name,arguments.length===2&&(n=arguments[1],a=!0)):(e=s,r=arguments[1],i=arguments[3],arguments.length>2&&(n=arguments[2],a=!0)),e=""+e,r=""+r,Br(i)||(i=""+i);var l=$b(this._isDirected,e,r,i);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,l))return a&&(this._edgeLabels[l]=n),this;if(!Br(i)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[l]=a?n:this._defaultEdgeLabelFn(e,r,i);var u=vXe(this._isDirected,e,r,i);return e=u.v,r=u.w,Object.freeze(u),this._edgeObjs[l]=u,rde(this._preds[r],e),rde(this._sucs[e],r),this._in[r][l]=u,this._out[e][l]=u,this._edgeCount++,this}edge(e,r,i){var n=arguments.length===1?TO(this._isDirected,arguments[0]):$b(this._isDirected,e,r,i);return this._edgeLabels[n]}hasEdge(e,r,i){var n=arguments.length===1?TO(this._isDirected,arguments[0]):$b(this._isDirected,e,r,i);return Object.prototype.hasOwnProperty.call(this._edgeLabels,n)}removeEdge(e,r,i){var n=arguments.length===1?TO(this._isDirected,arguments[0]):$b(this._isDirected,e,r,i),a=this._edgeObjs[n];return a&&(e=a.v,r=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],ide(this._preds[r],e),ide(this._sucs[e],r),delete this._in[r][n],delete this._out[e][n],this._edgeCount--),this}inEdges(e,r){var i=this._in[e];if(i){var n=qr(i);return r?pi(n,function(a){return a.v===r}):n}}outEdges(e,r){var i=this._out[e];if(i){var n=qr(i);return r?pi(n,function(a){return a.w===r}):n}}nodeEdges(e,r){var i=this.inEdges(e,r);if(i)return i.concat(this.outEdges(e,r))}};Ai.prototype._nodeCount=0;Ai.prototype._edgeCount=0;o(rde,"incrementOrInitEntry");o(ide,"decrementOrRemoveEntry");o($b,"edgeArgsToId");o(vXe,"edgeArgsToObj");o(TO,"edgeObjToId")});var $l=P(()=>{"use strict";IE()});function nde(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function xXe(t,e){if(t!=="_next"&&t!=="_prev")return e}var OE,ade=P(()=>{"use strict";OE=class{static{o(this,"List")}constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return nde(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&nde(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,i=r._prev;i!==r;)e.push(JSON.stringify(i,xXe)),i=i._prev;return"["+e.join(", ")+"]"}};o(nde,"unlink");o(xXe,"filterOutLinks")});function sde(t,e){if(t.nodeCount()<=1)return[];var r=kXe(t,e||bXe),i=TXe(r.graph,r.buckets,r.zeroIdx);return di(ht(i,function(n){return t.outEdges(n.v,n.w)}))}function TXe(t,e,r){for(var i=[],n=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)kO(t,e,r,s);for(;s=n.dequeue();)kO(t,e,r,s);if(t.nodeCount()){for(var l=e.length-2;l>0;--l)if(s=e[l].dequeue(),s){i=i.concat(kO(t,e,r,s,!0));break}}}return i}function kO(t,e,r,i,n){var a=n?[]:void 0;return Pe(t.inEdges(i.v),function(s){var l=t.edge(s),u=t.node(s.v);n&&a.push({v:s.v,w:s.w}),u.out-=l,CO(e,r,u)}),Pe(t.outEdges(i.v),function(s){var l=t.edge(s),u=s.w,h=t.node(u);h.in-=l,CO(e,r,h)}),t.removeNode(i.v),a}function kXe(t,e){var r=new Ai,i=0,n=0;Pe(t.nodes(),function(l){r.setNode(l,{v:l,in:0,out:0})}),Pe(t.edges(),function(l){var u=r.edge(l.v,l.w)||0,h=e(l),f=u+h;r.setEdge(l.v,l.w,f),n=Math.max(n,r.node(l.v).out+=h),i=Math.max(i,r.node(l.w).in+=h)});var a=Fl(n+i+3).map(function(){return new OE}),s=i+1;return Pe(r.nodes(),function(l){CO(a,s,r.node(l))}),{graph:r,buckets:a,zeroIdx:s}}function CO(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}var bXe,ode=P(()=>{"use strict";nr();$l();ade();bXe=yo(1);o(sde,"greedyFAS");o(TXe,"doGreedyFAS");o(kO,"removeNode");o(kXe,"buildState");o(CO,"assignBucket")});function lde(t){var e=t.graph().acyclicer==="greedy"?sde(t,r(t)):CXe(t);Pe(e,function(i){var n=t.edge(i);t.removeEdge(i),n.forwardName=i.name,n.reversed=!0,t.setEdge(i.w,i.v,n,G0("rev"))});function r(i){return function(n){return i.edge(n).weight}}o(r,"weightFn")}function CXe(t){var e=[],r={},i={};function n(a){Object.prototype.hasOwnProperty.call(i,a)||(i[a]=!0,r[a]=!0,Pe(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):n(s.w)}),delete r[a])}return o(n,"dfs"),Pe(t.nodes(),n),e}function cde(t){Pe(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var i=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,i)}})}var wO=P(()=>{"use strict";nr();ode();o(lde,"run");o(CXe,"dfsFAS");o(cde,"undo")});function Iu(t,e,r,i){var n;do n=G0(i);while(t.hasNode(n));return r.dummy=e,t.setNode(n,r),n}function hde(t){var e=new Ai().setGraph(t.graph());return Pe(t.nodes(),function(r){e.setNode(r,t.node(r))}),Pe(t.edges(),function(r){var i=e.edge(r.v,r.w)||{weight:0,minlen:1},n=t.edge(r);e.setEdge(r.v,r.w,{weight:i.weight+n.weight,minlen:Math.max(i.minlen,n.minlen)})}),e}function PE(t){var e=new Ai({multigraph:t.isMultigraph()}).setGraph(t.graph());return Pe(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),Pe(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function EO(t,e){var r=t.x,i=t.y,n=e.x-r,a=e.y-i,s=t.width/2,l=t.height/2;if(!n&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var u,h;return Math.abs(a)*s>Math.abs(n)*l?(a<0&&(l=-l),u=l*n/a,h=l):(n<0&&(s=-s),u=s,h=s*a/n),{x:r+u,y:i+h}}function kd(t){var e=ht(Fl(AO(t)+1),function(){return[]});return Pe(t.nodes(),function(r){var i=t.node(r),n=i.rank;Br(n)||(e[n][i.order]=r)}),e}function fde(t){var e=Lc(ht(t.nodes(),function(r){return t.node(r).rank}));Pe(t.nodes(),function(r){var i=t.node(r);Vt(i,"rank")&&(i.rank-=e)})}function dde(t){var e=Lc(ht(t.nodes(),function(a){return t.node(a).rank})),r=[];Pe(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var i=0,n=t.graph().nodeRankFactor;Pe(r,function(a,s){Br(a)&&s%n!==0?--i:i&&Pe(a,function(l){t.node(l).rank+=i})})}function SO(t,e,r,i){var n={width:0,height:0};return arguments.length>=4&&(n.rank=r,n.order=i),Iu(t,"border",n,e)}function AO(t){return So(ht(t.nodes(),function(e){var r=t.node(e).rank;if(!Br(r))return r}))}function pde(t,e){var r={lhs:[],rhs:[]};return Pe(t,function(i){e(i)?r.lhs.push(i):r.rhs.push(i)}),r}function mde(t,e){var r=xE();try{return e()}finally{console.log(t+" time: "+(xE()-r)+"ms")}}function gde(t,e){return e()}var Mu=P(()=>{"use strict";nr();$l();o(Iu,"addDummyNode");o(hde,"simplify");o(PE,"asNonCompoundGraph");o(EO,"intersectRect");o(kd,"buildLayerMatrix");o(fde,"normalizeRanks");o(dde,"removeEmptyRanks");o(SO,"addBorderNode");o(AO,"maxRank");o(pde,"partition");o(mde,"time");o(gde,"notime")});function vde(t){function e(r){var i=t.children(r),n=t.node(r);if(i.length&&Pe(i,e),Object.prototype.hasOwnProperty.call(n,"minRank")){n.borderLeft=[],n.borderRight=[];for(var a=n.minRank,s=n.maxRank+1;a{"use strict";nr();Mu();o(vde,"addBorderSegments");o(yde,"addBorderNode")});function Tde(t){var e=t.graph().rankdir.toLowerCase();(e==="lr"||e==="rl")&&Cde(t)}function kde(t){var e=t.graph().rankdir.toLowerCase();(e==="bt"||e==="rl")&&wXe(t),(e==="lr"||e==="rl")&&(EXe(t),Cde(t))}function Cde(t){Pe(t.nodes(),function(e){bde(t.node(e))}),Pe(t.edges(),function(e){bde(t.edge(e))})}function bde(t){var e=t.width;t.width=t.height,t.height=e}function wXe(t){Pe(t.nodes(),function(e){_O(t.node(e))}),Pe(t.edges(),function(e){var r=t.edge(e);Pe(r.points,_O),Object.prototype.hasOwnProperty.call(r,"y")&&_O(r)})}function _O(t){t.y=-t.y}function EXe(t){Pe(t.nodes(),function(e){DO(t.node(e))}),Pe(t.edges(),function(e){var r=t.edge(e);Pe(r.points,DO),Object.prototype.hasOwnProperty.call(r,"x")&&DO(r)})}function DO(t){var e=t.x;t.x=t.y,t.y=e}var wde=P(()=>{"use strict";nr();o(Tde,"adjust");o(kde,"undo");o(Cde,"swapWidthHeight");o(bde,"swapWidthHeightOne");o(wXe,"reverseY");o(_O,"reverseYOne");o(EXe,"swapXY");o(DO,"swapXYOne")});function Ede(t){t.graph().dummyChains=[],Pe(t.edges(),function(e){AXe(t,e)})}function AXe(t,e){var r=e.v,i=t.node(r).rank,n=e.w,a=t.node(n).rank,s=e.name,l=t.edge(e),u=l.labelRank;if(a!==i+1){t.removeEdge(e);var h=void 0,f,d;for(d=0,++i;i{"use strict";nr();Mu();o(Ede,"run");o(AXe,"normalizeEdge");o(Sde,"undo")});function zb(t){var e={};function r(i){var n=t.node(i);if(Object.prototype.hasOwnProperty.call(e,i))return n.rank;e[i]=!0;var a=Lc(ht(t.outEdges(i),function(s){return r(s.w)-t.edge(s).minlen}));return(a===Number.POSITIVE_INFINITY||a===void 0||a===null)&&(a=0),n.rank=a}o(r,"dfs"),Pe(t.sources(),r)}function q0(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var BE=P(()=>{"use strict";nr();o(zb,"longestPath");o(q0,"slack")});function FE(t){var e=new Ai({directed:!1}),r=t.nodes()[0],i=t.nodeCount();e.setNode(r,{});for(var n,a;_Xe(e,t){"use strict";nr();$l();BE();o(FE,"feasibleTree");o(_Xe,"tightTree");o(DXe,"findMinSlackEdge");o(LXe,"shiftRanks")});var _de=P(()=>{"use strict"});var NO=P(()=>{"use strict"});var Yur,IO=P(()=>{"use strict";nr();NO();Yur=yo(1)});var Dde=P(()=>{"use strict";IO()});var MO=P(()=>{"use strict"});var Lde=P(()=>{"use strict";MO()});var nhr,Rde=P(()=>{"use strict";nr();nhr=yo(1)});function OO(t){var e={},r={},i=[];function n(a){if(Object.prototype.hasOwnProperty.call(r,a))throw new Gb;Object.prototype.hasOwnProperty.call(e,a)||(r[a]=!0,e[a]=!0,Pe(t.predecessors(a),n),delete r[a],i.push(a))}if(o(n,"visit"),Pe(t.sinks(),n),xO(e)!==t.nodeCount())throw new Gb;return i}function Gb(){}var PO=P(()=>{"use strict";nr();OO.CycleException=Gb;o(OO,"topsort");o(Gb,"CycleException");Gb.prototype=new Error});var Nde=P(()=>{"use strict";PO()});function $E(t,e,r){Gt(e)||(e=[e]);var i=(t.isDirected()?t.successors:t.neighbors).bind(t),n=[],a={};return Pe(e,function(s){if(!t.hasNode(s))throw new Error("Graph does not have node: "+s);Ide(t,s,r==="post",a,i,n)}),n}function Ide(t,e,r,i,n,a){Object.prototype.hasOwnProperty.call(i,e)||(i[e]=!0,r||a.push(e),Pe(n(e),function(s){Ide(t,s,r,i,n,a)}),r&&a.push(e))}var BO=P(()=>{"use strict";nr();o($E,"dfs");o(Ide,"doDfs")});function FO(t,e){return $E(t,e,"post")}var Mde=P(()=>{"use strict";BO();o(FO,"postorder")});function $O(t,e){return $E(t,e,"pre")}var Ode=P(()=>{"use strict";BO();o($O,"preorder")});var Pde=P(()=>{"use strict";NO();IE()});var Bde=P(()=>{"use strict";_de();IO();Dde();Lde();Rde();Nde();Mde();Ode();Pde();MO();PO()});function wd(t){t=hde(t),zb(t);var e=FE(t);GO(e),zO(e,t);for(var r,i;r=Gde(e);)i=Vde(e,t,r),qde(e,t,r,i)}function zO(t,e){var r=FO(t,t.nodes());r=r.slice(0,r.length-1),Pe(r,function(i){OXe(t,e,i)})}function OXe(t,e,r){var i=t.node(r),n=i.parent;t.edge(r,n).cutvalue=$de(t,e,r)}function $de(t,e,r){var i=t.node(r),n=i.parent,a=!0,s=e.edge(r,n),l=0;return s||(a=!1,s=e.edge(n,r)),l=s.weight,Pe(e.nodeEdges(r),function(u){var h=u.v===r,f=h?u.w:u.v;if(f!==n){var d=h===a,p=e.edge(u).weight;if(l+=d?p:-p,BXe(t,r,f)){var m=t.edge(r,f).cutvalue;l+=d?-m:m}}}),l}function GO(t,e){arguments.length<2&&(e=t.nodes()[0]),zde(t,{},1,e)}function zde(t,e,r,i,n){var a=r,s=t.node(i);return e[i]=!0,Pe(t.neighbors(i),function(l){Object.prototype.hasOwnProperty.call(e,l)||(r=zde(t,e,r,l,i))}),s.low=a,s.lim=r++,n?s.parent=n:delete s.parent,r}function Gde(t){return qs(t.edges(),function(e){return t.edge(e).cutvalue<0})}function Vde(t,e,r){var i=r.v,n=r.w;e.hasEdge(i,n)||(i=r.w,n=r.v);var a=t.node(i),s=t.node(n),l=a,u=!1;a.lim>s.lim&&(l=s,u=!0);var h=pi(e.edges(),function(f){return u===Fde(t,t.node(f.v),l)&&u!==Fde(t,t.node(f.w),l)});return $0(h,function(f){return q0(e,f)})}function qde(t,e,r,i){var n=r.v,a=r.w;t.removeEdge(n,a),t.setEdge(i.v,i.w,{}),GO(t),zO(t,e),PXe(t,e)}function PXe(t,e){var r=qs(t.nodes(),function(n){return!e.node(n).parent}),i=$O(t,r);i=i.slice(1),Pe(i,function(n){var a=t.node(n).parent,s=e.edge(n,a),l=!1;s||(s=e.edge(a,n),l=!0),e.node(n).rank=e.node(a).rank+(l?s.minlen:-s.minlen)})}function BXe(t,e,r){return t.hasEdge(e,r)}function Fde(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}var Wde=P(()=>{"use strict";nr();Bde();Mu();RO();BE();wd.initLowLimValues=GO;wd.initCutValues=zO;wd.calcCutValue=$de;wd.leaveEdge=Gde;wd.enterEdge=Vde;wd.exchangeEdges=qde;o(wd,"networkSimplex");o(zO,"initCutValues");o(OXe,"assignCutValue");o($de,"calcCutValue");o(GO,"initLowLimValues");o(zde,"dfsAssignLowLim");o(Gde,"leaveEdge");o(Vde,"enterEdge");o(qde,"exchangeEdges");o(PXe,"updateRanks");o(BXe,"isTreeEdge");o(Fde,"isDescendant")});function VO(t){switch(t.graph().ranker){case"network-simplex":Ude(t);break;case"tight-tree":$Xe(t);break;case"longest-path":FXe(t);break;default:Ude(t)}}function $Xe(t){zb(t),FE(t)}function Ude(t){wd(t)}var FXe,qO=P(()=>{"use strict";RO();Wde();BE();o(VO,"rank");FXe=zb;o($Xe,"tightTreeRanker");o(Ude,"networkSimplexRanker")});function Hde(t){var e=Iu(t,"root",{},"_root"),r=zXe(t),i=So(qr(r))-1,n=2*i+1;t.graph().nestingRoot=e,Pe(t.edges(),function(s){t.edge(s).minlen*=n});var a=GXe(t)+1;Pe(t.children(),function(s){Yde(t,e,n,a,i,r,s)}),t.graph().nodeRankFactor=n}function Yde(t,e,r,i,n,a,s){var l=t.children(s);if(!l.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var u=SO(t,"_bt"),h=SO(t,"_bb"),f=t.node(s);t.setParent(u,s),f.borderTop=u,t.setParent(h,s),f.borderBottom=h,Pe(l,function(d){Yde(t,e,r,i,n,a,d);var p=t.node(d),m=p.borderTop?p.borderTop:d,g=p.borderBottom?p.borderBottom:d,y=p.borderTop?i:2*i,v=m!==g?1:n-a[s]+1;t.setEdge(u,m,{weight:y,minlen:v,nestingEdge:!0}),t.setEdge(g,h,{weight:y,minlen:v,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,u,{weight:0,minlen:n+a[s]})}function zXe(t){var e={};function r(i,n){var a=t.children(i);a&&a.length&&Pe(a,function(s){r(s,n+1)}),e[i]=n}return o(r,"dfs"),Pe(t.children(),function(i){r(i,1)}),e}function GXe(t){return mi(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function jde(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,Pe(t.edges(),function(r){var i=t.edge(r);i.nestingEdge&&t.removeEdge(r)})}var Xde=P(()=>{"use strict";nr();Mu();o(Hde,"run");o(Yde,"dfs");o(zXe,"treeDepths");o(GXe,"sumWeights");o(jde,"cleanup")});function Kde(t,e,r){var i={},n;Pe(r,function(a){for(var s=t.parent(a),l,u;s;){if(l=t.parent(s),l?(u=i[l],i[l]=s):(u=n,n=s),u&&u!==s){e.setEdge(u,s);return}s=l}})}var Qde=P(()=>{"use strict";nr();o(Kde,"addSubgraphConstraints")});function Zde(t,e,r){var i=qXe(t),n=new Ai({compound:!0}).setGraph({root:i}).setDefaultNodeLabel(function(a){return t.node(a)});return Pe(t.nodes(),function(a){var s=t.node(a),l=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(n.setNode(a),n.setParent(a,l||i),Pe(t[r](a),function(u){var h=u.v===a?u.w:u.v,f=n.edge(h,a),d=Br(f)?0:f.weight;n.setEdge(h,a,{weight:t.edge(u).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&n.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),n}function qXe(t){for(var e;t.hasNode(e=G0("_root")););return e}var Jde=P(()=>{"use strict";nr();$l();o(Zde,"buildLayerGraph");o(qXe,"createRootNode")});function epe(t,e){for(var r=0,i=1;i0;)f%2&&(d+=l[f+1]),f=f-1>>1,l[f]+=h.weight;u+=h.weight*d})),u}var tpe=P(()=>{"use strict";nr();o(epe,"crossCount");o(WXe,"twoLayerCrossCount")});function rpe(t){var e={},r=pi(t.nodes(),function(l){return!t.children(l).length}),i=So(ht(r,function(l){return t.node(l).rank})),n=ht(Fl(i+1),function(){return[]});function a(l){if(!Vt(e,l)){e[l]=!0;var u=t.node(l);n[u.rank].push(l),Pe(t.successors(l),a)}}o(a,"dfs");var s=Nu(r,function(l){return t.node(l).rank});return Pe(s,a),n}var ipe=P(()=>{"use strict";nr();o(rpe,"initOrder")});function npe(t,e){return ht(e,function(r){var i=t.inEdges(r);if(i.length){var n=mi(i,function(a,s){var l=t.edge(s),u=t.node(s.v);return{sum:a.sum+l.weight*u.order,weight:a.weight+l.weight}},{sum:0,weight:0});return{v:r,barycenter:n.sum/n.weight,weight:n.weight}}else return{v:r}})}var ape=P(()=>{"use strict";nr();o(npe,"barycenter")});function spe(t,e){var r={};Pe(t,function(n,a){var s=r[n.v]={indegree:0,in:[],out:[],vs:[n.v],i:a};Br(n.barycenter)||(s.barycenter=n.barycenter,s.weight=n.weight)}),Pe(e.edges(),function(n){var a=r[n.v],s=r[n.w];!Br(a)&&!Br(s)&&(s.indegree++,a.out.push(r[n.w]))});var i=pi(r,function(n){return!n.indegree});return UXe(i)}function UXe(t){var e=[];function r(a){return function(s){s.merged||(Br(s.barycenter)||Br(a.barycenter)||s.barycenter>=a.barycenter)&&HXe(a,s)}}o(r,"handleIn");function i(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(o(i,"handleOut");t.length;){var n=t.pop();e.push(n),Pe(n.in.reverse(),r(n)),Pe(n.out,i(n))}return ht(pi(e,function(a){return!a.merged}),function(a){return z0(a,["vs","i","barycenter","weight"])})}function HXe(t,e){var r=0,i=0;t.weight&&(r+=t.barycenter*t.weight,i+=t.weight),e.weight&&(r+=e.barycenter*e.weight,i+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/i,t.weight=i,t.i=Math.min(e.i,t.i),e.merged=!0}var ope=P(()=>{"use strict";nr();o(spe,"resolveConflicts");o(UXe,"doResolveConflicts");o(HXe,"mergeEntries")});function cpe(t,e){var r=pde(t,function(f){return Object.prototype.hasOwnProperty.call(f,"barycenter")}),i=r.lhs,n=Nu(r.rhs,function(f){return-f.i}),a=[],s=0,l=0,u=0;i.sort(YXe(!!e)),u=lpe(a,n,u),Pe(i,function(f){u+=f.vs.length,a.push(f.vs),s+=f.barycenter*f.weight,l+=f.weight,u=lpe(a,n,u)});var h={vs:di(a)};return l&&(h.barycenter=s/l,h.weight=l),h}function lpe(t,e,r){for(var i;e.length&&(i=Na(e)).i<=r;)e.pop(),t.push(i.vs),r++;return r}function YXe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}var upe=P(()=>{"use strict";nr();Mu();o(cpe,"sort");o(lpe,"consumeUnsortable");o(YXe,"compareWithBias")});function WO(t,e,r,i){var n=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,l=a?a.borderRight:void 0,u={};s&&(n=pi(n,function(g){return g!==s&&g!==l}));var h=npe(t,n);Pe(h,function(g){if(t.children(g.v).length){var y=WO(t,g.v,r,i);u[g.v]=y,Object.prototype.hasOwnProperty.call(y,"barycenter")&&XXe(g,y)}});var f=spe(h,r);jXe(f,u);var d=cpe(f,i);if(s&&(d.vs=di([s,d.vs,l]),t.predecessors(s).length)){var p=t.node(t.predecessors(s)[0]),m=t.node(t.predecessors(l)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+p.order+m.order)/(d.weight+2),d.weight+=2}return d}function jXe(t,e){Pe(t,function(r){r.vs=di(r.vs.map(function(i){return e[i]?e[i].vs:i}))})}function XXe(t,e){Br(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}var hpe=P(()=>{"use strict";nr();ape();ope();upe();o(WO,"sortSubgraph");o(jXe,"expandSubgraphs");o(XXe,"mergeBarycenters")});function ppe(t){var e=AO(t),r=fpe(t,Fl(1,e+1),"inEdges"),i=fpe(t,Fl(e-1,-1,-1),"outEdges"),n=rpe(t);dpe(t,n);for(var a=Number.POSITIVE_INFINITY,s,l=0,u=0;u<4;++l,++u){KXe(l%2?r:i,l%4>=2),n=kd(t);var h=epe(t,n);h{"use strict";nr();$l();Mu();Qde();Jde();tpe();ipe();hpe();o(ppe,"order");o(fpe,"buildLayerGraphs");o(KXe,"sweepLayerGraphs");o(dpe,"assignOrder")});function gpe(t){var e=ZXe(t);Pe(t.graph().dummyChains,function(r){for(var i=t.node(r),n=i.edgeObj,a=QXe(t,e,n.v,n.w),s=a.path,l=a.lca,u=0,h=s[u],f=!0;r!==n.w;){if(i=t.node(r),f){for(;(h=s[u])!==l&&t.node(h).maxRanks||l>e[u].lim));for(h=u,u=i;(u=t.parent(u))!==h;)a.push(u);return{path:n.concat(a.reverse()),lca:h}}function ZXe(t){var e={},r=0;function i(n){var a=r;Pe(t.children(n),i),e[n]={low:a,lim:r++}}return o(i,"dfs"),Pe(t.children(),i),e}var ype=P(()=>{"use strict";nr();o(gpe,"parentDummyChains");o(QXe,"findPath");o(ZXe,"postorder")});function JXe(t,e){var r={};function i(n,a){var s=0,l=0,u=n.length,h=Na(a);return Pe(a,function(f,d){var p=tKe(t,f),m=p?t.node(p).order:u;(p||f===h)&&(Pe(a.slice(l,d+1),function(g){Pe(t.predecessors(g),function(y){var v=t.node(y),x=v.order;(xh)&&vpe(r,p,f)})})}o(i,"scan");function n(a,s){var l=-1,u,h=0;return Pe(s,function(f,d){if(t.node(f).dummy==="border"){var p=t.predecessors(f);p.length&&(u=t.node(p[0]).order,i(s,h,d,l,u),h=d,l=u)}i(s,h,s.length,u,a.length)}),s}return o(n,"visitLayer"),mi(e,n),r}function tKe(t,e){if(t.node(e).dummy)return qs(t.predecessors(e),function(r){return t.node(r).dummy})}function vpe(t,e,r){if(e>r){var i=e;e=r,r=i}Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var n=t[e];Object.defineProperty(n,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function rKe(t,e,r){if(e>r){var i=e;e=r,r=i}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function iKe(t,e,r,i){var n={},a={},s={};return Pe(e,function(l){Pe(l,function(u,h){n[u]=u,a[u]=u,s[u]=h})}),Pe(e,function(l){var u=-1;Pe(l,function(h){var f=i(h);if(f.length){f=Nu(f,function(y){return s[y]});for(var d=(f.length-1)/2,p=Math.floor(d),m=Math.ceil(d);p<=m;++p){var g=f[p];a[h]===h&&u{"use strict";nr();$l();Mu();o(JXe,"findType1Conflicts");o(eKe,"findType2Conflicts");o(tKe,"findOtherInnerSegmentNode");o(vpe,"addConflict");o(rKe,"hasConflict");o(iKe,"verticalAlignment");o(nKe,"horizontalCompaction");o(aKe,"buildBlockGraph");o(sKe,"findSmallestWidthAlignment");o(oKe,"alignCoordinates");o(lKe,"balance");o(xpe,"positionX");o(cKe,"sep");o(uKe,"width")});function Tpe(t){t=PE(t),hKe(t),uO(xpe(t),function(e,r){t.node(r).x=e})}function hKe(t){var e=kd(t),r=t.graph().ranksep,i=0;Pe(e,function(n){var a=So(ht(n,function(s){return t.node(s).height}));Pe(n,function(s){t.node(s).y=i+a/2}),i+=a+r})}var kpe=P(()=>{"use strict";nr();Mu();bpe();o(Tpe,"position");o(hKe,"positionY")});function Vb(t,e){var r=e&&e.debugTiming?mde:gde;r("layout",()=>{var i=r(" buildLayoutGraph",()=>kKe(t));r(" runLayout",()=>fKe(i,r)),r(" updateInputGraph",()=>dKe(t,i))})}function fKe(t,e){e(" makeSpaceForEdgeLabels",()=>CKe(t)),e(" removeSelfEdges",()=>NKe(t)),e(" acyclic",()=>lde(t)),e(" nestingGraph.run",()=>Hde(t)),e(" rank",()=>VO(PE(t))),e(" injectEdgeLabelProxies",()=>wKe(t)),e(" removeEmptyRanks",()=>dde(t)),e(" nestingGraph.cleanup",()=>jde(t)),e(" normalizeRanks",()=>fde(t)),e(" assignRankMinMax",()=>EKe(t)),e(" removeEdgeLabelProxies",()=>SKe(t)),e(" normalize.run",()=>Ede(t)),e(" parentDummyChains",()=>gpe(t)),e(" addBorderSegments",()=>vde(t)),e(" order",()=>ppe(t)),e(" insertSelfEdges",()=>IKe(t)),e(" adjustCoordinateSystem",()=>Tde(t)),e(" position",()=>Tpe(t)),e(" positionSelfEdges",()=>MKe(t)),e(" removeBorderNodes",()=>RKe(t)),e(" normalize.undo",()=>Sde(t)),e(" fixupEdgeLabelCoords",()=>DKe(t)),e(" undoCoordinateSystem",()=>kde(t)),e(" translateGraph",()=>AKe(t)),e(" assignNodeIntersects",()=>_Ke(t)),e(" reversePoints",()=>LKe(t)),e(" acyclic.undo",()=>cde(t))}function dKe(t,e){Pe(t.nodes(),function(r){var i=t.node(r),n=e.node(r);i&&(i.x=n.x,i.y=n.y,e.children(r).length&&(i.width=n.width,i.height=n.height))}),Pe(t.edges(),function(r){var i=t.edge(r),n=e.edge(r);i.points=n.points,Object.prototype.hasOwnProperty.call(n,"x")&&(i.x=n.x,i.y=n.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function kKe(t){var e=new Ai({multigraph:!0,compound:!0}),r=HO(t.graph());return e.setGraph(sd({},mKe,UO(r,pKe),z0(r,gKe))),Pe(t.nodes(),function(i){var n=HO(t.node(i));e.setNode(i,xd(UO(n,yKe),vKe)),e.setParent(i,t.parent(i))}),Pe(t.edges(),function(i){var n=HO(t.edge(i));e.setEdge(i,sd({},bKe,UO(n,xKe),z0(n,TKe)))}),e}function CKe(t){var e=t.graph();e.ranksep/=2,Pe(t.edges(),function(r){var i=t.edge(r);i.minlen*=2,i.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?i.width+=i.labeloffset:i.height+=i.labeloffset)})}function wKe(t){Pe(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var i=t.node(e.v),n=t.node(e.w),a={rank:(n.rank-i.rank)/2+i.rank,e};Iu(t,"edge-proxy",a,"_ep")}})}function EKe(t){var e=0;Pe(t.nodes(),function(r){var i=t.node(r);i.borderTop&&(i.minRank=t.node(i.borderTop).rank,i.maxRank=t.node(i.borderBottom).rank,e=So(e,i.maxRank))}),t.graph().maxRank=e}function SKe(t){Pe(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function AKe(t){var e=Number.POSITIVE_INFINITY,r=0,i=Number.POSITIVE_INFINITY,n=0,a=t.graph(),s=a.marginx||0,l=a.marginy||0;function u(h){var f=h.x,d=h.y,p=h.width,m=h.height;e=Math.min(e,f-p/2),r=Math.max(r,f+p/2),i=Math.min(i,d-m/2),n=Math.max(n,d+m/2)}o(u,"getExtremes"),Pe(t.nodes(),function(h){u(t.node(h))}),Pe(t.edges(),function(h){var f=t.edge(h);Object.prototype.hasOwnProperty.call(f,"x")&&u(f)}),e-=s,i-=l,Pe(t.nodes(),function(h){var f=t.node(h);f.x-=e,f.y-=i}),Pe(t.edges(),function(h){var f=t.edge(h);Pe(f.points,function(d){d.x-=e,d.y-=i}),Object.prototype.hasOwnProperty.call(f,"x")&&(f.x-=e),Object.prototype.hasOwnProperty.call(f,"y")&&(f.y-=i)}),a.width=r-e+s,a.height=n-i+l}function _Ke(t){Pe(t.edges(),function(e){var r=t.edge(e),i=t.node(e.v),n=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=n,s=i),r.points.unshift(EO(i,a)),r.points.push(EO(n,s))})}function DKe(t){Pe(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function LKe(t){Pe(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function RKe(t){Pe(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),i=t.node(r.borderTop),n=t.node(r.borderBottom),a=t.node(Na(r.borderLeft)),s=t.node(Na(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(n.y-i.y),r.x=a.x+r.width/2,r.y=i.y+r.height/2}}),Pe(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function NKe(t){Pe(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function IKe(t){var e=kd(t);Pe(e,function(r){var i=0;Pe(r,function(n,a){var s=t.node(n);s.order=a+i,Pe(s.selfEdges,function(l){Iu(t,"selfedge",{width:l.label.width,height:l.label.height,rank:s.rank,order:a+ ++i,e:l.e,label:l.label},"_se")}),delete s.selfEdges})})}function MKe(t){Pe(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var i=t.node(r.e.v),n=i.x+i.width/2,a=i.y,s=r.x-n,l=i.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:n+2*s/3,y:a-l},{x:n+5*s/6,y:a-l},{x:n+s,y:a},{x:n+5*s/6,y:a+l},{x:n+2*s/3,y:a+l}],r.label.x=r.x,r.label.y=r.y}})}function UO(t,e){return F0(z0(t,e),Number)}function HO(t){var e={};return Pe(t,function(r,i){e[i.toLowerCase()]=r}),e}var pKe,mKe,gKe,yKe,vKe,xKe,bKe,TKe,Cpe=P(()=>{"use strict";nr();$l();xde();wde();wO();LO();qO();Xde();mpe();ype();kpe();Mu();o(Vb,"layout");o(fKe,"runLayout");o(dKe,"updateInputGraph");pKe=["nodesep","edgesep","ranksep","marginx","marginy"],mKe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},gKe=["acyclicer","ranker","rankdir","align"],yKe=["width","height"],vKe={width:0,height:0},xKe=["minlen","weight","width","height","labeloffset"],bKe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},TKe=["labelpos"];o(kKe,"buildLayoutGraph");o(CKe,"makeSpaceForEdgeLabels");o(wKe,"injectEdgeLabelProxies");o(EKe,"assignRankMinMax");o(SKe,"removeEdgeLabelProxies");o(AKe,"translateGraph");o(_Ke,"assignNodeIntersects");o(DKe,"fixupEdgeLabelCoords");o(LKe,"reversePointsForReversedEdges");o(RKe,"removeBorderNodes");o(NKe,"removeSelfEdges");o(IKe,"insertSelfEdges");o(MKe,"positionSelfEdges");o(UO,"selectNumberAttrs");o(HO,"canonicalize")});var YO=P(()=>{"use strict";wO();Cpe();LO();qO()});function zl(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:OKe(t),edges:PKe(t)};return Br(t.graph())||(e.value=Si(t.graph())),e}function OKe(t){return ht(t.nodes(),function(e){var r=t.node(e),i=t.parent(e),n={v:e};return Br(r)||(n.value=r),Br(i)||(n.parent=i),n})}function PKe(t){return ht(t.edges(),function(e){var r=t.edge(e),i={v:e.v,w:e.w};return Br(e.name)||(i.name=e.name),Br(r)||(i.value=r),i})}var jO=P(()=>{"use strict";nr();IE();o(zl,"write");o(OKe,"writeNodes");o(PKe,"writeEdges")});var Wr,W0,Spe,Ape,zE,BKe,_pe,Dpe,FKe,J1,Epe,Lpe,Rpe,Npe,Ipe,Mpe=P(()=>{"use strict";bt();$l();jO();Wr=new Map,W0=new Map,Spe=new Map,Ape=o(()=>{W0.clear(),Spe.clear(),Wr.clear()},"clear"),zE=o((t,e)=>{let r=W0.get(e)||[];return Q.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),BKe=o((t,e)=>{let r=W0.get(e)||[];return Q.info("Descendants of ",e," is ",r),Q.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||zE(t.v,e)||zE(t.w,e)||r.includes(t.w):(Q.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),_pe=o((t,e,r,i)=>{Q.warn("Copying children of ",t,"root",i,"data",e.node(t),i);let n=e.children(t)||[];t!==i&&n.push(t),Q.warn("Copying (nodes) clusterId",t,"nodes",n),n.forEach(a=>{if(e.children(a).length>0)_pe(a,e,r,i);else{let s=e.node(a);Q.info("cp ",a," to ",i," with parent ",t),r.setNode(a,s),i!==e.parent(a)&&(Q.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==i&&a!==t?(Q.debug("Setting parent",a,t),r.setParent(a,t)):(Q.info("In copy ",t,"root",i,"data",e.node(t),i),Q.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==i,"node!==clusterId",a!==t));let l=e.edges(a);Q.debug("Copying Edges",l),l.forEach(u=>{Q.info("Edge",u);let h=e.edge(u.v,u.w,u.name);Q.info("Edge data",h,i);try{BKe(u,i)?(Q.info("Copying as ",u.v,u.w,h,u.name),r.setEdge(u.v,u.w,h,u.name),Q.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):Q.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",i," clusterId:",t)}catch(f){Q.error(f)}})}Q.debug("Removing node",a),e.removeNode(a)})},"copy"),Dpe=o((t,e)=>{let r=e.children(t),i=[...r];for(let n of r)Spe.set(n,t),i=[...i,...Dpe(n,e)];return i},"extractDescendants"),FKe=o((t,e,r)=>{let i=t.edges().filter(u=>u.v===e||u.w===e),n=t.edges().filter(u=>u.v===r||u.w===r),a=i.map(u=>({v:u.v===e?r:u.v,w:u.w===e?e:u.w})),s=n.map(u=>({v:u.v,w:u.w}));return a.filter(u=>s.some(h=>u.v===h.v&&u.w===h.w))},"findCommonEdges"),J1=o((t,e,r)=>{let i=e.children(t);if(Q.trace("Searching children of id ",t,i),i.length<1)return t;let n;for(let a of i){let s=J1(a,e,r),l=FKe(e,r,s);if(s)if(l.length>0)n=s;else return s}return n},"findNonClusterChild"),Epe=o(t=>!Wr.has(t)||!Wr.get(t).externalConnections?t:Wr.has(t)?Wr.get(t).id:t,"getAnchorId"),Lpe=o((t,e)=>{if(!t||e>10){Q.debug("Opting out, no graph ");return}else Q.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(Q.warn("Cluster identified",r," Replacement id in edges: ",J1(r,t,r)),W0.set(r,Dpe(r,t)),Wr.set(r,{id:J1(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){let i=t.children(r),n=t.edges();i.length>0?(Q.debug("Cluster identified",r,W0),n.forEach(a=>{let s=zE(a.v,r),l=zE(a.w,r);s^l&&(Q.warn("Edge: ",a," leaves cluster ",r),Q.warn("Descendants of XXX ",r,": ",W0.get(r)),Wr.get(r).externalConnections=!0)})):Q.debug("Not a cluster ",r,W0)});for(let r of Wr.keys()){let i=Wr.get(r).id,n=t.parent(i);n!==r&&Wr.has(n)&&!Wr.get(n).externalConnections&&(Wr.get(r).id=n)}t.edges().forEach(function(r){let i=t.edge(r);Q.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),Q.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let n=r.v,a=r.w;if(Q.warn("Fix XXX",Wr,"ids:",r.v,r.w,"Translating: ",Wr.get(r.v)," --- ",Wr.get(r.w)),Wr.get(r.v)||Wr.get(r.w)){if(Q.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),n=Epe(r.v),a=Epe(r.w),t.removeEdge(r.v,r.w,r.name),n!==r.v){let s=t.parent(n);Wr.get(s).externalConnections=!0,i.fromCluster=r.v}if(a!==r.w){let s=t.parent(a);Wr.get(s).externalConnections=!0,i.toCluster=r.w}Q.warn("Fix Replacing with XXX",n,a,r.name),t.setEdge(n,a,i,r.name)}}),Q.warn("Adjusted Graph",zl(t)),Rpe(t,0),Q.trace(Wr)},"adjustClustersAndEdges"),Rpe=o((t,e)=>{if(Q.warn("extractor - ",e,zl(t),t.children("D")),e>10){Q.error("Bailing out");return}let r=t.nodes(),i=!1;for(let n of r){let a=t.children(n);i=i||a.length>0}if(!i){Q.debug("Done, no node has children",t.nodes());return}Q.debug("Nodes = ",r,e);for(let n of r)if(Q.debug("Extracting node",n,Wr,Wr.has(n)&&!Wr.get(n).externalConnections,!t.parent(n),t.node(n),t.children("D")," Depth ",e),!Wr.has(n))Q.debug("Not a cluster",n,e);else if(!Wr.get(n).externalConnections&&t.children(n)&&t.children(n).length>0){Q.warn("Cluster without external connections, without a parent and with children",n,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Wr.get(n)?.clusterData?.dir&&(s=Wr.get(n).clusterData.dir,Q.warn("Fixing dir",Wr.get(n).clusterData.dir,s));let l=new Ai({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Q.warn("Old graph before copy",zl(t)),_pe(n,t,l,n),t.setNode(n,{clusterNode:!0,id:n,clusterData:Wr.get(n).clusterData,label:Wr.get(n).label,graph:l}),Q.warn("New graph after copy node: (",n,")",zl(l)),Q.debug("Old graph after copy",zl(t))}else Q.warn("Cluster ** ",n," **not meeting the criteria !externalConnections:",!Wr.get(n).externalConnections," no parent: ",!t.parent(n)," children ",t.children(n)&&t.children(n).length>0,t.children("D"),e),Q.debug(Wr);r=t.nodes(),Q.warn("New list of nodes",r);for(let n of r){let a=t.node(n);Q.warn(" Now next level",n,a),a?.clusterNode&&Rpe(a.graph,e+1)}},"extractor"),Npe=o((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(i=>{let n=t.children(i),a=Npe(t,n);r=[...r,...a]}),r},"sorter"),Ipe=o(t=>Npe(t,t.children()),"sortNodesByHierarchy")});var Ppe={};ur(Ppe,{render:()=>$Ke});var Ope,$Ke,Bpe=P(()=>{"use strict";YO();jO();$l();NM();zt();Mpe();B5();A5();RM();bt();Nb();Ut();Ope=o(async(t,e,r,i,n,a)=>{Q.warn("Graph in recursive render:XAX",zl(e),n);let s=e.graph().rankdir;Q.trace("Dir in recursive render - dir:",s);let l=t.insert("g").attr("class","root");e.nodes()?Q.info("Recursive render XXX",e.nodes()):Q.info("No nodes found for",e),e.edges().length>0&&Q.info("Recursive edges",e.edge(e.edges()[0]));let u=l.insert("g").attr("class","clusters"),h=l.insert("g").attr("class","edgePaths"),f=l.insert("g").attr("class","edgeLabels"),d=l.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(y){let v=e.node(y);if(n!==void 0){let x=JSON.parse(JSON.stringify(n.clusterData));Q.trace(`Setting data for parent cluster XXX - Node.id = `,y,` - data=`,x.height,` -Parent cluster`,n.height),e.setNode(n.id,x),e.parent(y)||(Q.trace("Setting parent",y,n.id),e.setParent(y,n.id,x))}if(Q.info("(Insert) Node XXX"+y+": "+JSON.stringify(e.node(y))),v?.clusterNode){Q.info("Cluster identified XBX",y,v.width,e.node(y));let{ranksep:x,nodesep:b}=e.graph();v.graph.setGraph({...v.graph.graph(),ranksep:x+25,nodesep:b});let T=await Ope(d,v.graph,r,i,e.node(y),a),w=T.elem;at(v,w),v.diff=T.diff||0,Q.info("New compound node after recursive render XAX",y,"width",v.width,"height",v.height),ece(w,v)}else e.children(y).length>0?(Q.trace("Cluster - the non recursive path XBX",y,v.id,v,v.width,"Graph:",e),Q.trace(J1(v.id,e)),Wr.set(v.id,{id:J1(v.id,e),node:v})):(Q.trace("Node - the non recursive path XAX",y,d,e.node(y),s),await I1(d,e.node(y),{config:a,dir:s}))})),await o(async()=>{let y=e.edges().map(async function(v){let x=e.edge(v.v,v.w,v.name);Q.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(v)),Q.info("Edge "+v.v+" -> "+v.w+": ",v," ",JSON.stringify(e.edge(v))),Q.info("Fix",Wr,"ids:",v.v,v.w,"Translating: ",Wr.get(v.v),Wr.get(v.w)),await N5(f,x)});await Promise.all(y)},"processEdges")(),Q.info("Graph before layout:",JSON.stringify(zl(e))),Q.info("############################################# XXX"),Q.info("### Layout ### XXX"),Q.info("############################################# XXX"),Vb(e),Q.info("Graph after layout:",JSON.stringify(zl(e)));let m=0,{subGraphTitleTotalMargin:g}=Uh(a);return await Promise.all(Ipe(e).map(async function(y){let v=e.node(y);if(Q.info("Position XBX => "+y+": ("+v.x,","+v.y,") width: ",v.width," height: ",v.height),v?.clusterNode)v.y+=g,Q.info("A tainted cluster node XBX1",y,v.id,v.width,v.height,v.x,v.y,e.parent(y)),Wr.get(v.id).node=v,Mb(v);else if(e.children(y).length>0){Q.info("A pure cluster node XBX1",y,v.id,v.x,v.y,v.width,v.height,e.parent(y)),v.height+=g,e.node(v.parentId);let x=v?.padding/2||0,b=v?.labelBBox?.height||0,T=b-x||0;Q.debug("OffsetY",T,"labelHeight",b,"halfPadding",x),await N1(u,v),Wr.get(v.id).node=v}else{let x=e.node(v.parentId);v.y+=g/2,Q.info("A regular node XBX1 - using the padding",v.id,"parent",v.parentId,v.width,v.height,v.x,v.y,"offsetY",v.offsetY,"parent",x,x?.offsetY,v),Mb(v)}})),e.edges().forEach(function(y){let v=e.edge(y);Q.info("Edge "+y.v+" -> "+y.w+": "+JSON.stringify(v),v),v.points.forEach(w=>w.y+=g/2);let x=e.node(y.v);var b=e.node(y.w);let T=M5(h,v,Wr,r,x,b,i);I5(v,T)}),e.nodes().forEach(function(y){let v=e.node(y);Q.info(y,v.type,v.diff),v.isGroup&&(m=v.diff)}),Q.warn("Returning from recursive render XAX",l,m),{elem:l,diff:m}},"recursiveRender"),$Ke=o(async(t,e)=>{let r=new Ai({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),i=e.select("g");O5(i,t.markers,t.type,t.diagramId),tce(),Jle(),Hle(),Ape(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),Q.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){let s=a.start,l=s+"---"+s+"---1",u=s+"---"+s+"---2",h=r.node(s);r.setNode(l,{domId:l,id:l,parentId:h.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(l,h.parentId),r.setNode(u,{domId:u,id:u,parentId:h.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(u,h.parentId);let f=structuredClone(a),d=structuredClone(a),p=structuredClone(a);f.label="",f.arrowTypeEnd="none",f.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",p.label="",h.isGroup&&(f.fromCluster=s,p.toCluster=s),p.id=s+"-cyclic-special-2",p.arrowTypeStart="none",r.setEdge(s,l,f,s+"-cyclic-special-0"),r.setEdge(l,u,d,s+"-cyclic-special-1"),r.setEdge(u,s,p,s+"-cyct.length)&&(e=t.length);for(var r=0,i=Array(e);r=t.length?{done:!0}:{done:!1,value:t[i++]}},"n"),e:o(function(u){throw u},"e"),f:n}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,l=!1;return{s:o(function(){r=r.call(t)},"s"),n:o(function(){var u=r.next();return s=u.done,u},"n"),e:o(function(u){l=!0,a=u},"e"),f:o(function(){try{s||r.return==null||r.return()}finally{if(l)throw a}},"f")}}function fge(t,e,r){return(e=dge(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function qKe(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function WKe(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var i,n,a,s,l=[],u=!0,h=!1;try{if(a=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;u=!1}else for(;!(u=(i=a.call(r)).done)&&(l.push(i.value),l.length!==e);u=!0);}catch(f){h=!0,n=f}finally{try{if(!u&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(h)throw n}}return l}}function UKe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function HKe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ea(t,e){return zKe(t)||WKe(t,e)||UB(t,e)||UKe()}function hS(t){return GKe(t)||qKe(t)||UB(t)||HKe()}function YKe(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var i=r.call(t,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function dge(t){var e=YKe(t,"string");return typeof e=="symbol"?e:e+""}function pa(t){"@babel/helpers - typeof";return pa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pa(t)}function UB(t,e){if(t){if(typeof t=="string")return EB(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?EB(t,e):void 0}}function pT(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function mT(){if(zpe)return XO;zpe=1;function t(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}return o(t,"isObject"),XO=t,XO}function gQe(){if(Gpe)return KO;Gpe=1;var t=typeof GE=="object"&&GE&&GE.Object===Object&&GE;return KO=t,KO}function SS(){if(Vpe)return QO;Vpe=1;var t=gQe(),e=typeof self=="object"&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return QO=r,QO}function yQe(){if(qpe)return ZO;qpe=1;var t=SS(),e=o(function(){return t.Date.now()},"now");return ZO=e,ZO}function vQe(){if(Wpe)return JO;Wpe=1;var t=/\s/;function e(r){for(var i=r.length;i--&&t.test(r.charAt(i)););return i}return o(e,"trimmedEndIndex"),JO=e,JO}function xQe(){if(Upe)return eP;Upe=1;var t=vQe(),e=/^\s+/;function r(i){return i&&i.slice(0,t(i)+1).replace(e,"")}return o(r,"baseTrim"),eP=r,eP}function jB(){if(Hpe)return tP;Hpe=1;var t=SS(),e=t.Symbol;return tP=e,tP}function bQe(){if(Ype)return rP;Ype=1;var t=jB(),e=Object.prototype,r=e.hasOwnProperty,i=e.toString,n=t?t.toStringTag:void 0;function a(s){var l=r.call(s,n),u=s[n];try{s[n]=void 0;var h=!0}catch{}var f=i.call(s);return h&&(l?s[n]=u:delete s[n]),f}return o(a,"getRawTag"),rP=a,rP}function TQe(){if(jpe)return iP;jpe=1;var t=Object.prototype,e=t.toString;function r(i){return e.call(i)}return o(r,"objectToString"),iP=r,iP}function kge(){if(Xpe)return nP;Xpe=1;var t=jB(),e=bQe(),r=TQe(),i="[object Null]",n="[object Undefined]",a=t?t.toStringTag:void 0;function s(l){return l==null?l===void 0?n:i:a&&a in Object(l)?e(l):r(l)}return o(s,"baseGetTag"),nP=s,nP}function kQe(){if(Kpe)return aP;Kpe=1;function t(e){return e!=null&&typeof e=="object"}return o(t,"isObjectLike"),aP=t,aP}function gT(){if(Qpe)return sP;Qpe=1;var t=kge(),e=kQe(),r="[object Symbol]";function i(n){return typeof n=="symbol"||e(n)&&t(n)==r}return o(i,"isSymbol"),sP=i,sP}function CQe(){if(Zpe)return oP;Zpe=1;var t=xQe(),e=mT(),r=gT(),i=NaN,n=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,s=/^0o[0-7]+$/i,l=parseInt;function u(h){if(typeof h=="number")return h;if(r(h))return i;if(e(h)){var f=typeof h.valueOf=="function"?h.valueOf():h;h=e(f)?f+"":f}if(typeof h!="string")return h===0?h:+h;h=t(h);var d=a.test(h);return d||s.test(h)?l(h.slice(2),d?2:8):n.test(h)?i:+h}return o(u,"toNumber"),oP=u,oP}function wQe(){if(Jpe)return lP;Jpe=1;var t=mT(),e=yQe(),r=CQe(),i="Expected a function",n=Math.max,a=Math.min;function s(l,u,h){var f,d,p,m,g,y,v=0,x=!1,b=!1,T=!0;if(typeof l!="function")throw new TypeError(i);u=r(u)||0,t(h)&&(x=!!h.leading,b="maxWait"in h,p=b?n(r(h.maxWait)||0,u):p,T="trailing"in h?!!h.trailing:T);function w(_){var D=f,N=d;return f=d=void 0,v=_,m=l.apply(N,D),m}o(w,"invokeFunc");function k(_){return v=_,g=setTimeout(S,u),x?w(_):m}o(k,"leadingEdge");function C(_){var D=_-y,N=_-v,R=u-D;return b?a(R,p-N):R}o(C,"remainingWait");function E(_){var D=_-y,N=_-v;return y===void 0||D>=u||D<0||b&&N>=p}o(E,"shouldInvoke");function S(){var _=e();if(E(_))return L(_);g=setTimeout(S,C(_))}o(S,"timerExpired");function L(_){return g=void 0,T&&f?w(_):(f=d=void 0,m)}o(L,"trailingEdge");function M(){g!==void 0&&clearTimeout(g),v=0,f=y=d=g=void 0}o(M,"cancel");function I(){return g===void 0?m:L(e())}o(I,"flush");function A(){var _=e(),D=E(_);if(f=arguments,d=this,y=_,D){if(g===void 0)return k(y);if(b)return clearTimeout(g),g=setTimeout(S,u),w(y)}return g===void 0&&(g=setTimeout(S,u)),m}return o(A,"debounced"),A.cancel=M,A.flush=I,A}return o(s,"debounce"),lP=s,lP}function DQe(t,e,r,i,n){var a=n*Math.PI/180,s=Math.cos(a)*(t-r)-Math.sin(a)*(e-i)+r,l=Math.sin(a)*(t-r)+Math.cos(a)*(e-i)+i;return{x:s,y:l}}function RQe(t,e,r){if(r===0)return t;var i=(e.x1+e.x2)/2,n=(e.y1+e.y2)/2,a=e.w/e.h,s=1/a,l=DQe(t.x,t.y,i,n,r),u=LQe(l.x,l.y,i,n,a,s);return{x:u.x,y:u.y}}function VQe(){return n0e||(n0e=1,(function(t,e){(function(){var r,i,n,a,s,l,u,h,f,d,p,m,g,y,v;n=Math.floor,d=Math.min,i=o(function(x,b){return xb?1:0},"defaultCmp"),f=o(function(x,b,T,w,k){var C;if(T==null&&(T=0),k==null&&(k=i),T<0)throw new Error("lo must be non-negative");for(w==null&&(w=x.length);TM;0<=M?L++:L--)S.push(L);return S}).apply(this).reverse(),E=[],w=0,k=C.length;wI;0<=I?++S:--S)A.push(s(x,T));return A},"nsmallest"),y=o(function(x,b,T,w){var k,C,E;for(w==null&&(w=i),k=x[T];T>b;){if(E=T-1>>1,C=x[E],w(k,C)<0){x[T]=C,T=E;continue}break}return x[T]=k},"_siftdown"),v=o(function(x,b,T){var w,k,C,E,S;for(T==null&&(T=i),k=x.length,S=b,C=x[b],w=2*b+1;w-1}return o(e,"listCacheHas"),BP=e,BP}function OJe(){if(U0e)return FP;U0e=1;var t=NS();function e(r,i){var n=this.__data__,a=t(n,r);return a<0?(++this.size,n.push([r,i])):n[a][1]=i,this}return o(e,"listCacheSet"),FP=e,FP}function PJe(){if(H0e)return $P;H0e=1;var t=RJe(),e=NJe(),r=IJe(),i=MJe(),n=OJe();function a(s){var l=-1,u=s==null?0:s.length;for(this.clear();++l-1&&i%1==0&&i0;){var f=n.shift();e(f),a.add(f.id()),l&&i(n,a,f)}return t}function Jge(t,e,r){if(r.isParent())for(var i=r._private.children,n=0;n0&&arguments[0]!==void 0?arguments[0]:jet,e=arguments.length>1?arguments[1]:void 0,r=0;r0?A=D:I=D;while(Math.abs(_)>s&&++N=a?b(M,N):R===0?N:w(M,I,I+h)}o(k,"getTForX");var C=!1;function E(){C=!0,(t!==e||r!==i)&&T()}o(E,"precompute");var S=o(function(I){return C||E(),t===e&&r===i?I:I===0?0:I===1?1:v(k(I),e,i)},"f");S.getControlPoints=function(){return[{x:t,y:e},{x:r,y:i}]};var L="generateBezier("+[t,e,r,i]+")";return S.toString=function(){return L},S}function Ome(t,e,r,i,n){if(i===1||e===r)return r;var a=n(e,r,i);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function Pme(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function ry(t,e,r,i,n){var a=n!=null?n.type:null;r<0?r=0:r>1&&(r=1);var s=Pme(t,n),l=Pme(e,n);if(Mt(s)&&Mt(l))return Ome(a,s,l,r,i);if(qi(s)&&qi(l)){for(var u=[],h=0;h0?(m==="spring"&&g.push(s.duration),s.easingImpl=aS[m].apply(null,g)):s.easingImpl=aS[m]}var y=s.easingImpl,v;if(s.duration===0?v=1:v=(r-u)/s.duration,s.applying&&(v=s.progress),v<0?v=0:v>1&&(v=1),s.delay==null){var x=s.startPosition,b=s.position;if(b&&n&&!t.locked()){var T={};Hb(x.x,b.x)&&(T.x=ry(x.x,b.x,v,y)),Hb(x.y,b.y)&&(T.y=ry(x.y,b.y,v,y)),t.position(T)}var w=s.startPan,k=s.pan,C=a.pan,E=k!=null&&i;E&&(Hb(w.x,k.x)&&(C.x=ry(w.x,k.x,v,y)),Hb(w.y,k.y)&&(C.y=ry(w.y,k.y,v,y)),t.emit("pan"));var S=s.startZoom,L=s.zoom,M=L!=null&&i;M&&(Hb(S,L)&&(a.zoom=aT(a.minZoom,ry(S,L,v,y),a.maxZoom)),t.emit("zoom")),(E||M)&&t.emit("viewport");var I=s.style;if(I&&I.length>0&&n){for(var A=0;A=0;E--){var S=C[E];S()}C.splice(0,C.length)},"callbacks"),b=m.length-1;b>=0;b--){var T=m[b],w=T._private;if(w.stopped){m.splice(b,1),w.hooked=!1,w.playing=!1,w.started=!1,x(w.frames);continue}!w.playing&&!w.applying||(w.playing&&w.applying&&(w.applying=!1),w.started||ltt(f,T,t),ott(f,T,t,d),w.applying&&(w.applying=!1),x(w.frames),w.step!=null&&w.step(t),T.completed()&&(m.splice(b,1),w.hooked=!1,w.playing=!1,w.started=!1,x(w.completes)),y=!0)}return!d&&m.length===0&&g.length===0&&i.push(f),y}o(n,"stepOne");for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(i),e.emit("step")}function y1e(t){this.options=yr({},gtt,ytt,t)}function v1e(t){this.options=yr({},vtt,t)}function x1e(t){this.options=yr({},xtt,t)}function zS(t){this.options=yr({},btt,t),this.options.layout=this;var e=this.options.eles.nodes(),r=this.options.eles.edges(),i=r.filter(function(n){var a=n.source().data("id"),s=n.target().data("id"),l=e.some(function(h){return h.data("id")===a}),u=e.some(function(h){return h.data("id")===s});return!l||!u});this.options.eles=this.options.eles.not(i)}function C1e(t){this.options=yr({},Ott,t)}function uF(t){this.options=yr({},Ptt,t)}function w1e(t){this.options=yr({},Btt,t)}function E1e(t){this.options=yr({},Ftt,t)}function S1e(t){this.options=t,this.notifications=0}function D1e(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function fF(t,e,r,i){var n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return i===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(Gtt(t,e,r,i,n),{cx:PB,cy:BB,radius:X0,startX:A1e,startY:_1e,stopX:FB,stopY:$B,startAngle:Bu.ang+Math.PI/2*Q0,endAngle:Gl.ang-Math.PI/2*Q0,counterClockwise:lS})}function L1e(t){var e=[];if(t!=null){for(var r=0;r5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(a,i/2,n/2);t.beginPath(),t.moveTo(e+s,r),t.lineTo(e+i-s,r),t.quadraticCurveTo(e+i,r,e+i,r+s),t.lineTo(e+i,r+n-s),t.quadraticCurveTo(e+i,r+n,e+i-s,r+n),t.lineTo(e+s,r+n),t.quadraticCurveTo(e,r+n,e,r+n-s),t.lineTo(e,r+s),t.quadraticCurveTo(e,r,e+s,r),t.closePath()}function ige(t,e,r){var i=t.createShader(e);if(t.shaderSource(i,r),t.compileShader(i),!t.getShaderParameter(i,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(i));return i}function Lrt(t,e,r){var i=ige(t,t.VERTEX_SHADER,e),n=ige(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,i),t.attachShader(a,n),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function Rrt(t,e,r){r===void 0&&(r=e);var i=t.makeOffscreenCanvas(e,r),n=i.context=i.getContext("2d");return i.clear=function(){return n.clearRect(0,0,i.width,i.height)},i.clear(),i}function mF(t){var e=t.pixelRatio,r=t.cy.zoom(),i=t.cy.pan();return{zoom:r*e,pan:{x:i.x*e,y:i.y*e}}}function Nrt(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function Irt(t,e,r,i,n){var a=i*r+e.x,s=n*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function Mrt(t){return t.pstyle("background-fill").value!=="solid"||t.pstyle("background-image").strValue!=="none"?!1:t.pstyle("border-width").value===0||t.pstyle("border-opacity").value===0?!0:t.pstyle("border-style").value==="solid"}function Ort(t,e){if(t.length!==e.length)return!1;for(var r=0;r>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function Prt(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function Brt(t,e){var r=t.createTexture();return r.buffer=function(i){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,i),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function q1e(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function W1e(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function Frt(t,e,r,i,n,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*i,n);case t.INT:return new Int32Array(r.buffer,a*i,n)}}function $rt(t,e,r,i){var n=q1e(t,e),a=ea(n,2),s=a[0],l=a[1],u=W1e(t,l,i),h=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,h),t.bufferData(t.ARRAY_BUFFER,u,t.STATIC_DRAW),l===t.FLOAT?t.vertexAttribPointer(r,s,l,!1,0,0):l===t.INT&&t.vertexAttribIPointer(r,s,l,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),h}function Pu(t,e,r,i){var n=q1e(t,r),a=ea(n,3),s=a[0],l=a[1],u=a[2],h=W1e(t,l,e*s),f=s*u,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*f,t.DYNAMIC_DRAW),t.enableVertexAttribArray(i),l===t.FLOAT?t.vertexAttribPointer(i,s,l,!1,f,0):l===t.INT&&t.vertexAttribIPointer(i,s,l,f,0),t.vertexAttribDivisor(i,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var p=new Array(e),m=0;mF1e?(rit(t),e.call(t,a)):(iit(t),j1e(t,a,tT.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,l,u){return cit(t,a,s)};{var i=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){i.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var n=t.notify;t.notify=function(a,s){n.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.drawing.invalidate(s,{type:"node-body"})}}}function rit(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function iit(t){var e=o(function(i){i.save(),i.setTransform(1,0,0,1,0,0),i.clearRect(0,0,t.canvasWidth,t.canvasHeight),i.restore()},"clear");e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function nit(t){var e=t.canvasWidth,r=t.canvasHeight,i=mF(t),n=i.pan,a=i.zoom,s=xB();uS(s,s,[n.x,n.y]),GB(s,s,[a,a]);var l=xB();qrt(l,e,r);var u=xB();return Vrt(u,l,s),u}function Y1e(t,e){var r=t.canvasWidth,i=t.canvasHeight,n=mF(t),a=n.pan,s=n.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,i),e.translate(a.x,a.y),e.scale(s,s)}function ait(t,e){t.drawSelectionRectangle(e,function(r){return Y1e(t,r)})}function sit(t){var e=t.data.contexts[t.NODE];e.save(),Y1e(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function oit(t){var e=o(function(n,a,s){for(var l=n.atlasManager.getAtlasCollection(a),u=t.data.contexts[t.NODE],h=l.atlases,f=0;f=0&&w.add(E)}return w}function cit(t,e,r){var i=lit(t,e,r),n=t.getCachedZSortedEles(),a,s,l=Lo(i),u;try{for(l.s();!(u=l.n()).done;){var h=u.value,f=n[h];if(!a&&f.isNode()&&(a=f),!s&&f.isEdge()&&(s=f),a&&s)break}}catch(d){l.e(d)}finally{l.f()}return[a,s].filter(Boolean)}function wB(t,e,r){var i=t.drawing;e+=1,r.isNode()?(i.drawNode(r,e,"node-underlay"),i.drawNode(r,e,"node-body"),i.drawTexture(r,e,"label"),i.drawNode(r,e,"node-overlay")):(i.drawEdgeLine(r,e),i.drawEdgeArrow(r,e,"source"),i.drawEdgeArrow(r,e,"target"),i.drawTexture(r,e,"label"),i.drawTexture(r,e,"edge-source-label"),i.drawTexture(r,e,"edge-target-label"))}function j1e(t,e,r){var i;t.webglDebug&&(i=performance.now());var n=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&ait(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var s=t.data.contexts[t.WEBGL];r.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var l=nit(t),u=t.getCachedZSortedEles();if(a=u.length,n.startFrame(l,r),r.screen){for(var h=0;h{"use strict";o(EB,"_arrayLikeToArray");o(zKe,"_arrayWithHoles");o(GKe,"_arrayWithoutHoles");o($d,"_classCallCheck");o(VKe,"_defineProperties");o(zd,"_createClass");o(Lo,"_createForOfIteratorHelper");o(fge,"_defineProperty$1");o(qKe,"_iterableToArray");o(WKe,"_iterableToArrayLimit");o(UKe,"_nonIterableRest");o(HKe,"_nonIterableSpread");o(ea,"_slicedToArray");o(hS,"_toConsumableArray");o(YKe,"_toPrimitive");o(dge,"_toPropertyKey");o(pa,"_typeof");o(UB,"_unsupportedIterableToArray");fa=typeof window>"u"?null:window,Fpe=fa?fa.navigator:null;fa&&fa.document;jKe=pa(""),pge=pa({}),XKe=pa(function(){}),KKe=typeof HTMLElement>"u"?"undefined":pa(HTMLElement),fT=o(function(e){return e&&e.instanceString&&An(e.instanceString)?e.instanceString():null},"instanceStr"),lr=o(function(e){return e!=null&&pa(e)==jKe},"string"),An=o(function(e){return e!=null&&pa(e)===XKe},"fn"),qi=o(function(e){return!il(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},"array"),si=o(function(e){return e!=null&&pa(e)===pge&&!qi(e)&&e.constructor===Object},"plainObject"),QKe=o(function(e){return e!=null&&pa(e)===pge},"object"),Mt=o(function(e){return e!=null&&pa(e)===pa(1)&&!isNaN(e)},"number"),ZKe=o(function(e){return Mt(e)&&Math.floor(e)===e},"integer"),fS=o(function(e){if(KKe!=="undefined")return e!=null&&e instanceof HTMLElement},"htmlElement"),il=o(function(e){return dT(e)||mge(e)},"elementOrCollection"),dT=o(function(e){return fT(e)==="collection"&&e._private.single},"element"),mge=o(function(e){return fT(e)==="collection"&&!e._private.single},"collection"),HB=o(function(e){return fT(e)==="core"},"core"),gge=o(function(e){return fT(e)==="stylesheet"},"stylesheet"),JKe=o(function(e){return fT(e)==="event"},"event"),Id=o(function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},"emptyString"),eQe=o(function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},"domElement"),tQe=o(function(e){return si(e)&&Mt(e.x1)&&Mt(e.x2)&&Mt(e.y1)&&Mt(e.y2)},"boundingBox"),rQe=o(function(e){return QKe(e)&&An(e.then)},"promise"),iQe=o(function(){return Fpe&&Fpe.userAgent.match(/msie|trident|edge/i)},"ms"),my=o(function(e,r){r||(r=o(function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},"ascending"),uQe=o(function(e,r){return-1*vge(e,r)},"descending"),yr=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(v-=1),v<1/6?g+(y-g)*6*v:v<1/2?y:v<2/3?g+(y-g)*(2/3-v)*6:g}o(f,"hue2rgb");var d=new RegExp("^"+sQe+"$").exec(e);if(d){if(i=parseInt(d[1]),i<0?i=(360- -1*i%360)%360:i>360&&(i=i%360),i/=360,n=parseFloat(d[2]),n<0||n>100||(n=n/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(n===0)l=u=h=Math.round(a*255);else{var p=a<.5?a*(1+n):a+n-a*n,m=2*a-p;l=Math.round(255*f(m,p,i+1/3)),u=Math.round(255*f(m,p,i)),h=Math.round(255*f(m,p,i-1/3))}r=[l,u,h,s]}return r},"hsl2tuple"),dQe=o(function(e){var r,i=new RegExp("^"+nQe+"$").exec(e);if(i){r=[];for(var n=[],a=1;a<=3;a++){var s=i[a];if(s[s.length-1]==="%"&&(n[a]=!0),s=parseFloat(s),n[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var l=n[1]||n[2]||n[3],u=n[1]&&n[2]&&n[3];if(l&&!u)return;var h=i[4];if(h!==void 0){if(h=parseFloat(h),h<0||h>1)return;r.push(h)}}return r},"rgb2tuple"),pQe=o(function(e){return mQe[e.toLowerCase()]},"colorname2tuple"),xge=o(function(e){return(qi(e)?e:null)||pQe(e)||hQe(e)||dQe(e)||fQe(e)},"color2tuple"),mQe={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},bge=o(function(e){for(var r=e.map,i=e.keys,n=i.length,a=0;a1&&arguments[1]!==void 0?arguments[1]:K0,i=r,n;n=e.next(),!n.done;)i=i*wge+n.value|0;return i},"hashIterableInts"),rT=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:K0;return r*wge+e|0},"hashInt"),iT=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:oy;return(r<<5)+r+e|0},"hashIntAlt"),AQe=o(function(e,r){return e*2097152+r},"combineHashes"),Ed=o(function(e){return e[0]*2097152+e[1]},"combineHashesArray"),VE=o(function(e,r){return[rT(e[0],r[0]),iT(e[1],r[1])]},"hashArrays"),e0e=o(function(e,r){var i={value:0,done:!1},n=0,a=e.length,s={next:o(function(){return n=0;n--)e[n]===r&&e.splice(n,1)},"removeFromArray"),QB=o(function(e){e.splice(0,e.length)},"clearArray"),BQe=o(function(e,r){for(var i=0;i"u"?"undefined":pa(Set))!==$Qe?Set:zQe,AS=o(function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!HB(e)){mn("An element must have a core reference and parameters set");return}var n=r.group;if(n==null&&(r.data&&r.data.source!=null&&r.data.target!=null?n="edges":n="nodes"),n!=="nodes"&&n!=="edges"){mn("An element must be of type `nodes` or `edges`; you specified `"+n+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:n,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?n==="edges":!!r.pannable,active:!1,classes:new vy,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,l=e.pan(),u=e.zoom();a.position={x:(s.x-l.x)/u,y:(s.y-l.y)/u}}var h=[];qi(r.classes)?h=r.classes:lr(r.classes)&&(h=r.classes.split(/\s+/));for(var f=0,d=h.length;f0;){var C=b.pop(),E=v(C),S=C.id();if(p[S]=E,E!==1/0)for(var L=C.neighborhood().intersect(g),M=0;M0)for(O.unshift(B);d[z];){var F=d[z];O.unshift(F.edge),O.unshift(F.node),$=F.node,z=$.id()}return l.spawn(O)},"pathTo")}},"dijkstra")},YQe={kruskal:o(function(e){e=e||function(T){return 1};for(var r=this.byGroup(),i=r.nodes,n=r.edges,a=i.length,s=new Array(a),l=i,u=o(function(w){for(var k=0;k0;){if(k(),E++,w===f){for(var S=[],L=a,M=f,I=x[M];S.unshift(L),I!=null&&S.unshift(I),L=v[M],L!=null;)M=L.id(),I=x[M];return{found:!0,distance:d[w],path:this.spawn(S),steps:E}}m[w]=!0;for(var A=T._private.edges,_=0;_I&&(g[M]=I,b[M]=L,T[M]=k),!a){var A=L*f+S;!a&&g[A]>I&&(g[A]=I,b[A]=S,T[A]=k)}}}for(var _=0;_1&&arguments[1]!==void 0?arguments[1]:s,$e=T(Te),pe=[],Je=$e;;){if(Je==null)return r.spawn();var Ce=b(Je),Fe=Ce.edge,Ue=Ce.pred;if(pe.unshift(Je[0]),Je.same(De)&&pe.length>0)break;Fe!=null&&pe.unshift(Fe),Je=Ue}return u.spawn(pe)},"pathTo"),C=0;C=0;f--){var d=h[f],p=d[1],m=d[2];(r[p]===l&&r[m]===u||r[p]===u&&r[m]===l)&&h.splice(f,1)}for(var g=0;gn;){var a=Math.floor(Math.random()*r.length);r=tZe(a,e,r),i--}return r},"contractUntil"),rZe={kargerStein:o(function(){var e=this,r=this.byGroup(),i=r.nodes,n=r.edges;n.unmergeBy(function(O){return O.isLoop()});var a=i.length,s=n.length,l=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),u=Math.floor(a/eZe);if(a<2){mn("At least 2 nodes are required for Karger-Stein algorithm");return}for(var h=[],f=0;f1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;n?e=e.slice(r,i):(i0&&e.splice(0,r));for(var l=0,u=e.length-1;u>=0;u--){var h=e[u];s?isFinite(h)||(e[u]=-1/0,l++):e.splice(u,1)}a&&e.sort(function(p,m){return p-m});var f=e.length,d=Math.floor(f/2);return f%2!==0?e[d+1+l]:(e[d-1+l]+e[d+l])/2},"median"),lZe=o(function(e){return Math.PI*e/180},"deg2rad"),qE=o(function(e,r){return Math.atan2(r,e)-Math.PI/2},"getAngleFromDisp"),ZB=Math.log2||function(t){return Math.log(t)/Math.log(2)},JB=o(function(e){return e>0?1:e<0?-1:0},"signum"),em=o(function(e,r){return Math.sqrt(j0(e,r))},"dist"),j0=o(function(e,r){var i=r.x-e.x,n=r.y-e.y;return i*i+n*n},"sqdist"),cZe=o(function(e){for(var r=e.length,i=0,n=0;n=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},"makeBoundingBox"),hZe=o(function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},"copyBoundingBox"),fZe=o(function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},"clearBoundingBox"),dZe=o(function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},"updateBoundingBox"),Nge=o(function(e,r,i){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,i),e.y2=Math.max(e.y2,i),e.h=e.y2-e.y1},"expandBoundingBoxByPoint"),tS=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBox"),rS=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],i,n,a,s;if(r.length===1)i=n=a=s=r[0];else if(r.length===2)i=a=r[0],s=n=r[1];else if(r.length===4){var l=ea(r,4);i=l[0],n=l[1],a=l[2],s=l[3]}return e.x1-=s,e.x2+=n,e.y1-=i,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBoxSides"),s0e=o(function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},"assignBoundingBox"),eF=o(function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},"boundingBoxesIntersect"),Dd=o(function(e,r,i){return e.x1<=r&&r<=e.x2&&e.y1<=i&&i<=e.y2},"inBoundingBox"),o0e=o(function(e,r){return Dd(e,r.x,r.y)},"pointInBoundingBox"),Ige=o(function(e,r){return Dd(e,r.x1,r.y1)&&Dd(e,r.x2,r.y2)},"boundingBoxInBoundingBox"),pZe=(fP=Math.hypot)!==null&&fP!==void 0?fP:function(t,e){return Math.sqrt(t*t+e*e)};o(mZe,"inflatePolygon");o(gZe,"miterBox");Mge=o(function(e,r,i,n,a,s,l){var u=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",h=u==="auto"?Od(a,s):u,f=a/2,d=s/2;h=Math.min(h,f,d);var p=h!==f,m=h!==d,g;if(p){var y=i-f+h-l,v=n-d-l,x=i+f-h+l,b=v;if(g=Ld(e,r,i,n,y,v,x,b,!1),g.length>0)return g}if(m){var T=i+f+l,w=n-d+h-l,k=T,C=n+d-h+l;if(g=Ld(e,r,i,n,T,w,k,C,!1),g.length>0)return g}if(p){var E=i-f+h-l,S=n+d+l,L=i+f-h+l,M=S;if(g=Ld(e,r,i,n,E,S,L,M,!1),g.length>0)return g}if(m){var I=i-f-l,A=n-d+h-l,_=I,D=n+d-h+l;if(g=Ld(e,r,i,n,I,A,_,D,!1),g.length>0)return g}var N;{var R=i-f+h,B=n-d+h;if(N=Kb(e,r,i,n,R,B,h+l),N.length>0&&N[0]<=R&&N[1]<=B)return[N[0],N[1]]}{var O=i+f-h,$=n-d+h;if(N=Kb(e,r,i,n,O,$,h+l),N.length>0&&N[0]>=O&&N[1]<=$)return[N[0],N[1]]}{var z=i+f-h,F=n+d-h;if(N=Kb(e,r,i,n,z,F,h+l),N.length>0&&N[0]>=z&&N[1]>=F)return[N[0],N[1]]}{var V=i-f+h,H=n+d-h;if(N=Kb(e,r,i,n,V,H,h+l),N.length>0&&N[0]<=V&&N[1]>=H)return[N[0],N[1]]}return[]},"roundRectangleIntersectLine"),yZe=o(function(e,r,i,n,a,s,l){var u=l,h=Math.min(i,a),f=Math.max(i,a),d=Math.min(n,s),p=Math.max(n,s);return h-u<=e&&e<=f+u&&d-u<=r&&r<=p+u},"inLineVicinity"),vZe=o(function(e,r,i,n,a,s,l,u,h){var f={x1:Math.min(i,l,a)-h,x2:Math.max(i,l,a)+h,y1:Math.min(n,u,s)-h,y2:Math.max(n,u,s)+h};return!(ef.x2||rf.y2)},"inBezierVicinity"),xZe=o(function(e,r,i,n){i-=n;var a=r*r-4*e*i;if(a<0)return[];var s=Math.sqrt(a),l=2*e,u=(-r+s)/l,h=(-r-s)/l;return[u,h]},"solveQuadratic"),bZe=o(function(e,r,i,n,a){var s=1e-5;e===0&&(e=s),r/=e,i/=e,n/=e;var l,u,h,f,d,p,m,g;if(u=(3*i-r*r)/9,h=-(27*n)+r*(9*i-2*(r*r)),h/=54,l=u*u*u+h*h,a[1]=0,m=r/3,l>0){d=h+Math.sqrt(l),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),p=h-Math.sqrt(l),p=p<0?-Math.pow(-p,1/3):Math.pow(p,1/3),a[0]=-m+d+p,m+=(d+p)/2,a[4]=a[2]=-m,m=Math.sqrt(3)*(-p+d)/2,a[3]=m,a[5]=-m;return}if(a[5]=a[3]=0,l===0){g=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),a[0]=-m+2*g,a[4]=a[2]=-(g+m);return}u=-u,f=u*u*u,f=Math.acos(h/Math.sqrt(f)),g=2*Math.sqrt(u),a[0]=-m+g*Math.cos(f/3),a[2]=-m+g*Math.cos((f+2*Math.PI)/3),a[4]=-m+g*Math.cos((f+4*Math.PI)/3)},"solveCubic"),TZe=o(function(e,r,i,n,a,s,l,u){var h=1*i*i-4*i*a+2*i*l+4*a*a-4*a*l+l*l+n*n-4*n*s+2*n*u+4*s*s-4*s*u+u*u,f=9*i*a-3*i*i-3*i*l-6*a*a+3*a*l+9*n*s-3*n*n-3*n*u-6*s*s+3*s*u,d=3*i*i-6*i*a+i*l-i*e+2*a*a+2*a*e-l*e+3*n*n-6*n*s+n*u-n*r+2*s*s+2*s*r-u*r,p=1*i*a-i*i+i*e-a*e+n*s-n*n+n*r-s*r,m=[];bZe(h,f,d,p,m);for(var g=1e-7,y=[],v=0;v<6;v+=2)Math.abs(m[v+1])=0&&m[v]<=1&&y.push(m[v]);y.push(1),y.push(0);for(var x=-1,b,T,w,k=0;k=0?wh?(e-a)*(e-a)+(r-s)*(r-s):f-p},"sqdistToFiniteLine"),Do=o(function(e,r,i){for(var n,a,s,l,u,h=0,f=0;f=e&&e>=s||n<=e&&e<=s)u=(e-n)/(s-n)*(l-a)+a,u>r&&h++;else continue;return h%2!==0},"pointInsidePolygonPoints"),Qh=o(function(e,r,i,n,a,s,l,u,h){var f=new Array(i.length),d;u[0]!=null?(d=Math.atan(u[1]/u[0]),u[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=u;for(var p=Math.cos(-d),m=Math.sin(-d),g=0;g0){var v=gS(f,-h);y=mS(v)}else y=f;return Do(e,r,y)},"pointInsidePolygon"),CZe=o(function(e,r,i,n,a,s,l,u){for(var h=new Array(i.length*2),f=0;f=0&&v<=1&&b.push(v),x>=0&&x<=1&&b.push(x),b.length===0)return[];var T=b[0]*u[0]+e,w=b[0]*u[1]+r;if(b.length>1){if(b[0]==b[1])return[T,w];var k=b[1]*u[0]+e,C=b[1]*u[1]+r;return[T,w,k,C]}else return[T,w]},"intersectLineCircle"),dP=o(function(e,r,i){return r<=e&&e<=i||i<=e&&e<=r?e:e<=r&&r<=i||i<=r&&r<=e?r:i},"midOfThree"),Ld=o(function(e,r,i,n,a,s,l,u,h){var f=e-a,d=i-e,p=l-a,m=r-s,g=n-r,y=u-s,v=p*m-y*f,x=d*m-g*f,b=y*d-p*g;if(b!==0){var T=v/b,w=x/b,k=.001,C=0-k,E=1+k;return C<=T&&T<=E&&C<=w&&w<=E?[e+T*d,r+T*g]:h?[e+T*d,r+T*g]:[]}else return v===0||x===0?dP(e,i,l)===l?[l,u]:dP(e,i,a)===a?[a,s]:dP(a,l,i)===i?[i,n]:[]:[]},"finiteLinesIntersect"),EZe=o(function(e,r,i,n,a){var s=[],l=n/2,u=a/2,h=r,f=i;s.push({x:h+l*e[0],y:f+u*e[1]});for(var d=1;d0){var y=gS(d,-u);m=mS(y)}else m=d}else m=i;for(var v,x,b,T,w=0;w2){for(var g=[f[0],f[1]],y=Math.pow(g[0]-e,2)+Math.pow(g[1]-r,2),v=1;vf&&(f=w)},"set"),get:o(function(T){return h[T]},"get")},p=0;p0?N=D.edgesTo(_)[0]:N=_.edgesTo(D)[0];var R=n(N);_=_.id(),E[_]>E[I]+R&&(E[_]=E[I]+R,S.nodes.indexOf(_)<0?S.push(_):S.updateItem(_),C[_]=0,k[_]=[]),E[_]==E[I]+R&&(C[_]=C[_]+C[I],k[_].push(I))}else for(var B=0;B0;){for(var F=w.pop(),V=0;V0&&l.push(i[u]);l.length!==0&&a.push(n.collection(l))}return a},"assign"),zZe=o(function(e,r){for(var i=0;i5&&arguments[5]!==void 0?arguments[5]:qZe,l=n,u,h,f=0;f=2?qb(e,r,i,0,f0e,WZe):qb(e,r,i,0,h0e)},"euclidean"),squaredEuclidean:o(function(e,r,i){return qb(e,r,i,0,f0e)},"squaredEuclidean"),manhattan:o(function(e,r,i){return qb(e,r,i,0,h0e)},"manhattan"),max:o(function(e,r,i){return qb(e,r,i,-1/0,UZe)},"max")};gy["squared-euclidean"]=gy.squaredEuclidean;gy.squaredeuclidean=gy.squaredEuclidean;o(DS,"clusteringDistance");HZe=rs({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),rF=o(function(e){return HZe(e)},"setOptions"),yS=o(function(e,r,i,n,a){var s=a!=="kMedoids",l=s?function(d){return i[d]}:function(d){return n[d](i)},u=o(function(p){return n[p](r)},"getQ"),h=i,f=r;return DS(e,n.length,l,u,h,f)},"getDist"),mP=o(function(e,r,i){for(var n=i.length,a=new Array(n),s=new Array(n),l=new Array(r),u=null,h=0;hi)return!1}return!0},"haveMatricesConverged"),XZe=o(function(e,r,i){for(var n=0;nl&&(l=r[h][f],u=f);a[u].push(e[h])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var g=r[s],y=r[n[s]],v;a.mode==="dendrogram"?v={left:g,right:y,key:g.key}:v={value:g.value.concat(y.value),key:g.key},e[g.index]=v,e.splice(y.index,1),r[g.key]=v;for(var x=0;xi[y.key][b.key]&&(u=i[y.key][b.key])):a.linkage==="max"?(u=i[g.key][b.key],i[g.key][b.key]0&&n.push(a);return n},"findExemplars"),v0e=o(function(e,r,i){for(var n=[],a=0;al&&(s=h,l=r[a*e+h])}s>0&&n.push(s)}for(var f=0;fh&&(u=f,h=d)}i[a]=s[u]}return n=v0e(e,r,i),n},"assign"),x0e=o(function(e){for(var r=this.cy(),i=this.nodes(),n=oJe(e),a={},s=0;s=I?(A=I,I=D,_=N):D>A&&(A=D);for(var R=0;R0?1:0;E[L%n.minIterations*l+V]=H,F+=H}if(F>0&&(L>=n.minIterations-1||L==n.maxIterations-1)){for(var X=0,W=0;W1||C>1)&&(l=!0),d[T]=[],b.outgoers().forEach(function(S){S.isEdge()&&d[T].push(S.id())})}else p[T]=[void 0,b.target().id()]}):s.forEach(function(b){var T=b.id();if(b.isNode()){var w=b.degree(!0);w%2&&(u?h?l=!0:h=T:u=T),d[T]=[],b.connectedEdges().forEach(function(k){return d[T].push(k.id())})}else p[T]=[b.source().id(),b.target().id()]});var m={found:!1,trail:void 0};if(l)return m;if(h&&u)if(a){if(f&&h!=f)return m;f=h}else{if(f&&h!=f&&u!=f)return m;f||(f=h)}else f||(f=s[0].id());var g=o(function(T){for(var w=T,k=[T],C,E,S;d[w].length;)C=d[w].shift(),E=p[C][0],S=p[C][1],w!=S?(d[S]=d[S].filter(function(L){return L!=C}),w=S):!a&&w!=E&&(d[E]=d[E].filter(function(L){return L!=C}),w=E),k.unshift(C),k.unshift(w);return k},"walk"),y=[],v=[];for(v=g(f);v.length!=1;)d[v[0]].length==0?(y.unshift(s.getElementById(v.shift())),y.unshift(s.getElementById(v.shift()))):v=g(v.shift()).concat(v);y.unshift(s.getElementById(v.shift()));for(var x in d)if(d[x].length)return m;return m.found=!0,m.trail=this.spawn(y,!0),m},"hierholzer")},UE=o(function(){var e=this,r={},i=0,n=0,a=[],s=[],l={},u=o(function(p,m){for(var g=s.length-1,y=[],v=e.spawn();s[g].x!=p||s[g].y!=m;)y.push(s.pop().edge),g--;y.push(s.pop().edge),y.forEach(function(x){var b=x.connectedNodes().intersection(e);v.merge(x),b.forEach(function(T){var w=T.id(),k=T.connectedEdges().intersection(e);v.merge(T),r[w].cutVertex?v.merge(k.filter(function(C){return C.isLoop()})):v.merge(k)})}),a.push(v)},"buildComponent"),h=o(function(p,m,g){p===g&&(n+=1),r[m]={id:i,low:i++,cutVertex:!1};var y=e.getElementById(m).connectedEdges().intersection(e);if(y.size()===0)a.push(e.spawn(e.getElementById(m)));else{var v,x,b,T;y.forEach(function(w){v=w.source().id(),x=w.target().id(),b=v===m?x:v,b!==g&&(T=w.id(),l[T]||(l[T]=!0,s.push({x:m,y:b,edge:w})),b in r?r[m].low=Math.min(r[m].low,r[b].id):(h(p,b,m),r[m].low=Math.min(r[m].low,r[b].low),r[m].id<=r[b].low&&(r[m].cutVertex=!0,u(m,b))))})}},"biconnectedSearch");e.forEach(function(d){if(d.isNode()){var p=d.id();p in r||(n=0,h(p,p),r[p].cutVertex=n>1)}});var f=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(f),components:a}},"hopcroftTarjanBiconnected"),mJe={hopcroftTarjanBiconnected:UE,htbc:UE,htb:UE,hopcroftTarjanBiconnectedComponents:UE},HE=o(function(){var e=this,r={},i=0,n=[],a=[],s=e.spawn(e),l=o(function(h){a.push(h),r[h]={index:i,low:i++,explored:!1};var f=e.getElementById(h).connectedEdges().intersection(e);if(f.forEach(function(y){var v=y.target().id();v!==h&&(v in r||l(v),r[v].explored||(r[h].low=Math.min(r[h].low,r[v].low)))}),r[h].index===r[h].low){for(var d=e.spawn();;){var p=a.pop();if(d.merge(e.getElementById(p)),r[p].low=r[h].index,r[p].explored=!0,p===h)break}var m=d.edgesWith(d),g=d.merge(m);n.push(g),s=s.difference(g)}},"stronglyConnectedSearch");return e.forEach(function(u){if(u.isNode()){var h=u.id();h in r||l(h)}}),{cut:s,components:n}},"tarjanStronglyConnected"),gJe={tarjanStronglyConnected:HE,tsc:HE,tscc:HE,tarjanStronglyConnectedComponents:HE},Gge={};[nT,HQe,YQe,XQe,QQe,JQe,rZe,DZe,fy,dy,_B,VZe,tJe,aJe,fJe,pJe,mJe,gJe].forEach(function(t){yr(Gge,t)});Vge=0,qge=1,Wge=2,Ic=o(function(e){if(!(this instanceof Ic))return new Ic(e);this.id="Thenable/1.0.7",this.state=Vge,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))},"api");Ic.prototype={fulfill:o(function(e){return b0e(this,qge,"fulfillValue",e)},"fulfill"),reject:o(function(e){return b0e(this,Wge,"rejectReason",e)},"reject"),then:o(function(e,r){var i=this,n=new Ic;return i.onFulfilled.push(k0e(e,n,"fulfill")),i.onRejected.push(k0e(r,n,"reject")),Uge(i),n.proxy},"then")};b0e=o(function(e,r,i,n){return e.state===Vge&&(e.state=r,e[i]=n,Uge(e)),e},"deliver"),Uge=o(function(e){e.state===qge?T0e(e,"onFulfilled",e.fulfillValue):e.state===Wge&&T0e(e,"onRejected",e.rejectReason)},"execute"),T0e=o(function(e,r,i){if(e[r].length!==0){var n=e[r];e[r]=[];var a=o(function(){for(var l=0;l0},"animatedImpl")},"animated"),clearQueue:o(function(){return o(function(){var r=this,i=r.length!==void 0,n=i?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s0&&this.spawn(n).updateStyle().emit("class"),r},"classes"),addClass:o(function(e){return this.toggleClass(e,!0)},"addClass"),hasClass:o(function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},"hasClass"),toggleClass:o(function(e,r){qi(e)||(e=e.match(/\S+/g)||[]);for(var i=this,n=r===void 0,a=[],s=0,l=i.length;s0&&this.spawn(a).updateStyle().emit("class"),i},"toggleClass"),removeClass:o(function(e){return this.toggleClass(e,!1)},"removeClass"),flashClass:o(function(e,r){var i=this;if(r==null)r=250;else if(r===0)return i;return i.addClass(e),setTimeout(function(){i.removeClass(e)},r),i},"flashClass")};iS.className=iS.classNames=iS.classes;ai={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:da,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};ai.variable="(?:[\\w-.]|(?:\\\\"+ai.metaChar+"))+";ai.className="(?:[\\w-]|(?:\\\\"+ai.metaChar+"))+";ai.value=ai.string+"|"+ai.number;ai.id=ai.variable;(function(){var t,e,r;for(t=ai.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(ai.comparatorOp+="|\\!"+e)})();Bi=o(function(){return{checks:[]}},"newQuery"),Wt={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},NB=[{selector:":selected",matches:o(function(e){return e.selected()},"matches")},{selector:":unselected",matches:o(function(e){return!e.selected()},"matches")},{selector:":selectable",matches:o(function(e){return e.selectable()},"matches")},{selector:":unselectable",matches:o(function(e){return!e.selectable()},"matches")},{selector:":locked",matches:o(function(e){return e.locked()},"matches")},{selector:":unlocked",matches:o(function(e){return!e.locked()},"matches")},{selector:":visible",matches:o(function(e){return e.visible()},"matches")},{selector:":hidden",matches:o(function(e){return!e.visible()},"matches")},{selector:":transparent",matches:o(function(e){return e.transparent()},"matches")},{selector:":grabbed",matches:o(function(e){return e.grabbed()},"matches")},{selector:":free",matches:o(function(e){return!e.grabbed()},"matches")},{selector:":removed",matches:o(function(e){return e.removed()},"matches")},{selector:":inside",matches:o(function(e){return!e.removed()},"matches")},{selector:":grabbable",matches:o(function(e){return e.grabbable()},"matches")},{selector:":ungrabbable",matches:o(function(e){return!e.grabbable()},"matches")},{selector:":animated",matches:o(function(e){return e.animated()},"matches")},{selector:":unanimated",matches:o(function(e){return!e.animated()},"matches")},{selector:":parent",matches:o(function(e){return e.isParent()},"matches")},{selector:":childless",matches:o(function(e){return e.isChildless()},"matches")},{selector:":child",matches:o(function(e){return e.isChild()},"matches")},{selector:":orphan",matches:o(function(e){return e.isOrphan()},"matches")},{selector:":nonorphan",matches:o(function(e){return e.isChild()},"matches")},{selector:":compound",matches:o(function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()},"matches")},{selector:":loop",matches:o(function(e){return e.isLoop()},"matches")},{selector:":simple",matches:o(function(e){return e.isSimple()},"matches")},{selector:":active",matches:o(function(e){return e.active()},"matches")},{selector:":inactive",matches:o(function(e){return!e.active()},"matches")},{selector:":backgrounding",matches:o(function(e){return e.backgrounding()},"matches")},{selector:":nonbackgrounding",matches:o(function(e){return!e.backgrounding()},"matches")}].sort(function(t,e){return uQe(t.selector,e.selector)}),pet=(function(){for(var t={},e,r=0;r0&&f.edgeCount>0)return Di("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(f.edgeCount>1)return Di("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;f.edgeCount===1&&Di("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},"parse"),bet=o(function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=o(function(f){return f??""},"clean"),r=o(function(f){return lr(f)?'"'+f+'"':e(f)},"cleanVal"),i=o(function(f){return" "+f+" "},"space"),n=o(function(f,d){var p=f.type,m=f.value;switch(p){case Wt.GROUP:{var g=e(m);return g.substring(0,g.length-1)}case Wt.DATA_COMPARE:{var y=f.field,v=f.operator;return"["+y+i(e(v))+r(m)+"]"}case Wt.DATA_BOOL:{var x=f.operator,b=f.field;return"["+e(x)+b+"]"}case Wt.DATA_EXIST:{var T=f.field;return"["+T+"]"}case Wt.META_COMPARE:{var w=f.operator,k=f.field;return"[["+k+i(e(w))+r(m)+"]]"}case Wt.STATE:return m;case Wt.ID:return"#"+m;case Wt.CLASS:return"."+m;case Wt.PARENT:case Wt.CHILD:return a(f.parent,d)+i(">")+a(f.child,d);case Wt.ANCESTOR:case Wt.DESCENDANT:return a(f.ancestor,d)+" "+a(f.descendant,d);case Wt.COMPOUND_SPLIT:{var C=a(f.left,d),E=a(f.subject,d),S=a(f.right,d);return C+(C.length>0?" ":"")+E+S}case Wt.TRUE:return""}},"checkToString"),a=o(function(f,d){return f.checks.reduce(function(p,m,g){return p+(d===f&&g===0?"$":"")+n(m,d)},"")},"queryToString"),s="",l=0;l1&&l=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),f=!0),(a||l||f)&&(u=!a&&!s?"":""+e,h=""+i),f&&(e=u=u.toLowerCase(),i=h=h.toLowerCase()),r){case"*=":n=u.indexOf(h)>=0;break;case"$=":n=u.indexOf(h,u.length-h.length)>=0;break;case"^=":n=u.indexOf(h)===0;break;case"=":n=e===i;break;case">":p=!0,n=e>i;break;case">=":p=!0,n=e>=i;break;case"<":p=!0,n=e1&&arguments[1]!==void 0?arguments[1]:!0;return sF(this,t,e,Jge)};o(e1e,"addParent");yy.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return sF(this,t,e,e1e)};o(Det,"addParentAndChildren");yy.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return sF(this,t,e,Det)};yy.ancestors=yy.parents;oT=t1e={data:_i.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:_i.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:_i.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:_i.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:_i.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:_i.removeData({field:"rscratch",triggerEvent:!1}),id:o(function(){var e=this[0];if(e)return e._private.data.id},"id")};oT.attr=oT.data;oT.removeAttr=oT.removeData;Let=t1e,MS={};o(dB,"defineDegreeFunction");yr(MS,{degree:dB(function(t,e){return e.source().same(e.target())?2:1}),indegree:dB(function(t,e){return e.target().same(t)?1:0}),outdegree:dB(function(t,e){return e.source().same(t)?1:0})});o(ty,"defineDegreeBoundsFunction");yr(MS,{minDegree:ty("degree",function(t,e){return te}),minIndegree:ty("indegree",function(t,e){return te}),minOutdegree:ty("outdegree",function(t,e){return te})});yr(MS,{totalDegree:o(function(e){for(var r=0,i=this.nodes(),n=0;n0,p=d;d&&(f=f[0]);var m=p?f.position():{x:0,y:0};r!==void 0?h.position(e,r+m[e]):a!==void 0&&h.position({x:a.x+m.x,y:a.y+m.y})}else{var g=i.position(),y=l?i.parent():null,v=y&&y.length>0,x=v;v&&(y=y[0]);var b=x?y.position():{x:0,y:0};return a={x:g.x-b.x,y:g.y-b.y},e===void 0?a:a[e]}else if(!s)return;return this},"relativePosition")};Nc.modelPosition=Nc.point=Nc.position;Nc.modelPositions=Nc.points=Nc.positions;Nc.renderedPoint=Nc.renderedPosition;Nc.relativePoint=Nc.relativePosition;Ret=r1e;py=Gd={};Gd.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),i=r.zoom(),n=r.pan(),a=e.x1*i+n.x,s=e.x2*i+n.x,l=e.y1*i+n.y,u=e.y2*i+n.y;return{x1:a,x2:s,y1:l,y2:u,w:s-a,h:u-l}};Gd.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var i=r._private;i.compoundBoundsClean=!1,i.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};Gd.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var l=s._private,u=s.children(),h=s.pstyle("compound-sizing-wrt-labels").value==="include",f={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=u.boundingBox({includeLabels:h,includeOverlays:!1,useCache:!1}),p=l.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=p.x-d.w/2,d.x2=p.x+d.w/2,d.y1=p.y-d.h/2,d.y2=p.y+d.h/2);function m(L,M,I){var A=0,_=0,D=M+I;return L>0&&D>0&&(A=M/D*L,_=I/D*L),{biasDiff:A,biasComplementDiff:_}}o(m,"computeBiasValues");function g(L,M,I,A){if(I.units==="%")switch(A){case"width":return L>0?I.pfValue*L:0;case"height":return M>0?I.pfValue*M:0;case"average":return L>0&&M>0?I.pfValue*(L+M)/2:0;case"min":return L>0&&M>0?L>M?I.pfValue*M:I.pfValue*L:0;case"max":return L>0&&M>0?L>M?I.pfValue*L:I.pfValue*M:0;default:return 0}else return I.units==="px"?I.pfValue:0}o(g,"computePaddingValues");var y=f.width.left.value;f.width.left.units==="px"&&f.width.val>0&&(y=y*100/f.width.val);var v=f.width.right.value;f.width.right.units==="px"&&f.width.val>0&&(v=v*100/f.width.val);var x=f.height.top.value;f.height.top.units==="px"&&f.height.val>0&&(x=x*100/f.height.val);var b=f.height.bottom.value;f.height.bottom.units==="px"&&f.height.val>0&&(b=b*100/f.height.val);var T=m(f.width.val-d.w,y,v),w=T.biasDiff,k=T.biasComplementDiff,C=m(f.height.val-d.h,x,b),E=C.biasDiff,S=C.biasComplementDiff;l.autoPadding=g(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),l.autoWidth=Math.max(d.w,f.width.val),p.x=(-w+d.x1+d.x2+k)/2,l.autoHeight=Math.max(d.h,f.height.val),p.y=(-E+d.y1+d.y2+S)/2}o(r,"update");for(var i=0;ie.x2?n:e.x2,e.y1=ie.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},"updateBounds"),Ad=o(function(e,r){return r==null?e:Rc(e,r.x1,r.y1,r.x2,r.y2)},"updateBoundsFromBox"),Wb=o(function(e,r,i){return _o(e,r,i)},"prefixedProperty"),YE=o(function(e,r,i){if(!r.cy().headless()){var n=r._private,a=n.rstyle,s=a.arrowWidth/2,l=r.pstyle(i+"-arrow-shape").value,u,h;if(l!=="none"){i==="source"?(u=a.srcX,h=a.srcY):i==="target"?(u=a.tgtX,h=a.tgtY):(u=a.midX,h=a.midY);var f=n.arrowBounds=n.arrowBounds||{},d=f[i]=f[i]||{};d.x1=u-s,d.y1=h-s,d.x2=u+s,d.y2=h+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,tS(d,1),Rc(e,d.x1,d.y1,d.x2,d.y2)}}},"updateBoundsFromArrow"),pB=o(function(e,r,i){if(!r.cy().headless()){var n;i?n=i+"-":n="";var a=r._private,s=a.rstyle,l=r.pstyle(n+"label").strValue;if(l){var u=r.pstyle("text-halign"),h=r.pstyle("text-valign"),f=Wb(s,"labelWidth",i),d=Wb(s,"labelHeight",i),p=Wb(s,"labelX",i),m=Wb(s,"labelY",i),g=r.pstyle(n+"text-margin-x").pfValue,y=r.pstyle(n+"text-margin-y").pfValue,v=r.isEdge(),x=r.pstyle(n+"text-rotation"),b=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,w=T/2,k=r.pstyle("text-background-padding").pfValue,C=2,E=d,S=f,L=S/2,M=E/2,I,A,_,D;if(v)I=p-L,A=p+L,_=m-M,D=m+M;else{switch(u.value){case"left":I=p-S,A=p;break;case"center":I=p-L,A=p+L;break;case"right":I=p,A=p+S;break}switch(h.value){case"top":_=m-E,D=m;break;case"center":_=m-M,D=m+M;break;case"bottom":_=m,D=m+E;break}}var N=g-Math.max(b,w)-k-C,R=g+Math.max(b,w)+k+C,B=y-Math.max(b,w)-k-C,O=y+Math.max(b,w)+k+C;I+=N,A+=R,_+=B,D+=O;var $=i||"main",z=a.labelBounds,F=z[$]=z[$]||{};F.x1=I,F.y1=_,F.x2=A,F.y2=D,F.w=A-I,F.h=D-_,F.leftPad=N,F.rightPad=R,F.topPad=B,F.botPad=O;var V=v&&x.strValue==="autorotate",H=x.pfValue!=null&&x.pfValue!==0;if(V||H){var X=V?Wb(a.rstyle,"labelAngle",i):x.pfValue,W=Math.cos(X),Z=Math.sin(X),Y=(I+A)/2,ae=(_+D)/2;if(!v){switch(u.value){case"left":Y=A;break;case"right":Y=I;break}switch(h.value){case"top":ae=D;break;case"bottom":ae=_;break}}var J=o(function(we,Te){return we=we-Y,Te=Te-ae,{x:we*W-Te*Z+Y,y:we*Z+Te*W+ae}},"rotate"),ee=J(I,_),re=J(I,D),te=J(A,_),be=J(A,D);I=Math.min(ee.x,re.x,te.x,be.x),A=Math.max(ee.x,re.x,te.x,be.x),_=Math.min(ee.y,re.y,te.y,be.y),D=Math.max(ee.y,re.y,te.y,be.y)}var de=$+"Rot",Ee=z[de]=z[de]||{};Ee.x1=I,Ee.y1=_,Ee.x2=A,Ee.y2=D,Ee.w=A-I,Ee.h=D-_,Rc(e,I,_,A,D),Rc(a.labelBounds.all,I,_,A,D)}return e}},"updateBoundsFromLabel"),Tme=o(function(e,r){if(!r.cy().headless()){var i=r.pstyle("outline-opacity").value,n=r.pstyle("outline-width").value,a=r.pstyle("outline-offset").value,s=n+a;n1e(e,r,i,s,"outside",s/2)}},"updateBoundsFromOutline"),n1e=o(function(e,r,i,n,a,s){if(!(i===0||n<=0||a==="inside")){var l=r.cy(),u=r.pstyle("shape").value,h=l.renderer().nodeShapes[u],f=r.position(),d=f.x,p=f.y,m=r.width(),g=r.height();if(h.hasMiterBounds){a==="center"&&(n/=2);var y=h.miterBounds(d,p,m,g,n);Ad(e,y)}else s!=null&&s>0&&rS(e,[s,s,s,s])}},"updateBoundsFromMiter"),Net=o(function(e,r){if(!r.cy().headless()){var i=r.pstyle("border-opacity").value,n=r.pstyle("border-width").pfValue,a=r.pstyle("border-position").value;n1e(e,r,i,n,a)}},"updateBoundsFromMiterBorder"),Iet=o(function(e,r){var i=e._private.cy,n=i.styleEnabled(),a=i.headless(),s=Us(),l=e._private,u=e.isNode(),h=e.isEdge(),f,d,p,m,g,y,v=l.rstyle,x=u&&n?e.pstyle("bounds-expansion").pfValue:[0],b=o(function(Ne){return Ne.pstyle("display").value!=="none"},"isDisplayed"),T=!n||b(e)&&(!h||b(e.source())&&b(e.target()));if(T){var w=0,k=0;n&&r.includeOverlays&&(w=e.pstyle("overlay-opacity").value,w!==0&&(k=e.pstyle("overlay-padding").value));var C=0,E=0;n&&r.includeUnderlays&&(C=e.pstyle("underlay-opacity").value,C!==0&&(E=e.pstyle("underlay-padding").value));var S=Math.max(k,E),L=0,M=0;if(n&&(L=e.pstyle("width").pfValue,M=L/2),u&&r.includeNodes){var I=e.position();g=I.x,y=I.y;var A=e.outerWidth(),_=A/2,D=e.outerHeight(),N=D/2;f=g-_,d=g+_,p=y-N,m=y+N,Rc(s,f,p,d,m),n&&Tme(s,e),n&&r.includeOutlines&&!a&&Tme(s,e),n&&Net(s,e)}else if(h&&r.includeEdges)if(n&&!a){var R=e.pstyle("curve-style").strValue;if(f=Math.min(v.srcX,v.midX,v.tgtX),d=Math.max(v.srcX,v.midX,v.tgtX),p=Math.min(v.srcY,v.midY,v.tgtY),m=Math.max(v.srcY,v.midY,v.tgtY),f-=M,d+=M,p-=M,m+=M,Rc(s,f,p,d,m),R==="haystack"){var B=v.haystackPts;if(B&&B.length===2){if(f=B[0].x,p=B[0].y,d=B[1].x,m=B[1].y,f>d){var O=f;f=d,d=O}if(p>m){var $=p;p=m,m=$}Rc(s,f-M,p-M,d+M,m+M)}}else if(R==="bezier"||R==="unbundled-bezier"||_d(R,"segments")||_d(R,"taxi")){var z;switch(R){case"bezier":case"unbundled-bezier":z=v.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":z=v.linePts;break}if(z!=null)for(var F=0;Fd){var Y=f;f=d,d=Y}if(p>m){var ae=p;p=m,m=ae}f-=M,d+=M,p-=M,m+=M,Rc(s,f,p,d,m)}if(n&&r.includeEdges&&h&&(YE(s,e,"mid-source"),YE(s,e,"mid-target"),YE(s,e,"source"),YE(s,e,"target")),n){var J=e.pstyle("ghost").value==="yes";if(J){var ee=e.pstyle("ghost-offset-x").pfValue,re=e.pstyle("ghost-offset-y").pfValue;Rc(s,s.x1+ee,s.y1+re,s.x2+ee,s.y2+re)}}var te=l.bodyBounds=l.bodyBounds||{};s0e(te,s),rS(te,x),tS(te,1),n&&(f=s.x1,d=s.x2,p=s.y1,m=s.y2,Rc(s,f-S,p-S,d+S,m+S));var be=l.overlayBounds=l.overlayBounds||{};s0e(be,s),rS(be,x),tS(be,1);var de=l.labelBounds=l.labelBounds||{};de.all!=null?fZe(de.all):de.all=Us(),n&&r.includeLabels&&(r.includeMainLabels&&pB(s,e,null),h&&(r.includeSourceLabels&&pB(s,e,"source"),r.includeTargetLabels&&pB(s,e,"target")))}return s.x1=Vl(s.x1),s.y1=Vl(s.y1),s.x2=Vl(s.x2),s.y2=Vl(s.y2),s.w=Vl(s.x2-s.x1),s.h=Vl(s.y2-s.y1),s.w>0&&s.h>0&&T&&(rS(s,x),tS(s,1)),s},"boundingBoxImpl"),a1e=o(function(e){var r=0,i=o(function(s){return(s?1:0)<=0;l--)s(l);return this};Fd.removeAllListeners=function(){return this.removeListener("*")};Fd.emit=Fd.trigger=function(t,e,r){var i=this.listeners,n=i.length;return this.emitting++,qi(e)||(e=[e]),Xet(this,function(a,s){r!=null&&(i=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],n=i.length);for(var l=o(function(){var f=i[u];if(f.type===s.type&&(!f.namespace||f.namespace===s.namespace||f.namespace===Yet)&&a.eventMatches(a.context,f,s)){var d=[s];e!=null&&BQe(d,e),a.beforeEmit(a.context,f,s),f.conf&&f.conf.one&&(a.listeners=a.listeners.filter(function(g){return g!==f}));var p=a.callbackContext(a.context,f,s),m=f.callback.apply(p,d);a.afterEmit(a.context,f,s),m===!1&&(s.stopPropagation(),s.preventDefault())}},"_loop2"),u=0;u1&&!s){var l=this.length-1,u=this[l],h=u._private.data.id;this[l]=void 0,this[e]=u,a.set(h,{ele:u,index:e})}return this.length--,this},"unmergeAt"),unmergeOne:o(function(e){e=e[0];var r=this._private,i=e._private.data.id,n=r.map,a=n.get(i);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},"unmergeOne"),unmerge:o(function(e){var r=this._private.cy;if(!e)return this;if(e&&lr(e)){var i=e;e=r.mutableElements().filter(i)}for(var n=0;n=0;r--){var i=this[r];e(i)&&this.unmergeAt(r)}return this},"unmergeBy"),map:o(function(e,r){for(var i=[],n=this,a=0;ai&&(i=u,n=l)}return{value:i,ele:n}},"max"),min:o(function(e,r){for(var i=1/0,n,a=this,s=0;s=0&&a"u"?"undefined":pa(Symbol))!=e&&pa(Symbol.iterator)!=e;r&&(vS[Symbol.iterator]=function(){var i=this,n={value:void 0,done:!1},a=0,s=this.length;return fge({next:o(function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,i=this[0],n=i.cy();if(n.styleEnabled()&&i){i._private.styleDirty&&(i._private.styleDirty=!1,n.style().apply(i));var a=i._private.style[e];return a??(r?n.style().getDefaultProperty(e):null)}},"parsedStyle"),numericStyle:o(function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var i=r.pstyle(e);return i.pfValue!==void 0?i.pfValue:i.value}},"numericStyle"),numericStyleUnits:o(function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},"numericStyleUnits"),renderedStyle:o(function(e){var r=this.cy();if(!r.styleEnabled())return this;var i=this[0];if(i)return r.style().getRenderedStyle(i,e)},"renderedStyle"),style:o(function(e,r){var i=this.cy();if(!i.styleEnabled())return this;var n=!1,a=i.style();if(si(e)){var s=e;a.applyBypass(this,s,n),this.emitAndNotify("style")}else if(lr(e))if(r===void 0){var l=this[0];return l?a.getStylePropertyValue(l,e):void 0}else a.applyBypass(this,e,r,n),this.emitAndNotify("style");else if(e===void 0){var u=this[0];return u?a.getRawStyle(u):void 0}return this},"style"),removeStyle:o(function(e){var r=this.cy();if(!r.styleEnabled())return this;var i=!1,n=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(f[0]),e.push(l[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:o(function(e){return this.neighborhood().add(this).filter(e)},"closedNeighborhood"),openNeighborhood:o(function(e){return this.neighborhood(e)},"openNeighborhood")});gs.neighbourhood=gs.neighborhood;gs.closedNeighbourhood=gs.closedNeighborhood;gs.openNeighbourhood=gs.openNeighborhood;yr(gs,{source:ql(o(function(e){var r=this[0],i;return r&&(i=r._private.source||r.cy().collection()),i&&e?i.filter(e):i},"sourceImpl"),"source"),target:ql(o(function(e){var r=this[0],i;return r&&(i=r._private.target||r.cy().collection()),i&&e?i.filter(e):i},"targetImpl"),"target"),sources:Nme({attr:"source"}),targets:Nme({attr:"target"})});o(Nme,"defineSourceFunction");yr(gs,{edgesWith:ql(Ime(),"edgesWith"),edgesTo:ql(Ime({thisIsSrc:!0}),"edgesTo")});o(Ime,"defineEdgesWithFunction");yr(gs,{connectedEdges:ql(function(t){for(var e=[],r=this,i=0;i0);return s},"components"),component:o(function(){var e=this[0];return e.cy().mutableElements().components(e)[0]},"component")});gs.componentsOf=gs.components;ts=o(function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){mn("A collection must have a reference to the core");return}var a=new Xh,s=!1;if(!r)r=[];else if(r.length>0&&si(r[0])&&!dT(r[0])){s=!0;for(var l=[],u=new vy,h=0,f=r.length;h0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,i=r.cy(),n=i._private,a=[],s=[],l,u=0,h=r.length;u0){for(var $=l.length===r.length?r:new ts(i,l),z=0;z<$.length;z++){var F=$[z];F.isNode()||(F.parallelEdges().clearTraversalCache(),F.source().clearTraversalCache(),F.target().clearTraversalCache())}var V;n.hasCompoundNodes?V=i.collection().merge($).merge($.connectedNodes()).merge($.parent()):V=$,V.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(t),t?$.emitAndNotify("add"):e&&$.emit("add")}return r};Ji.removed=function(){var t=this[0];return t&&t._private.removed};Ji.inside=function(){var t=this[0];return t&&!t._private.removed};Ji.remove=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,i=[],n={},a=r._private.cy;function s(D){for(var N=D._private.edges,R=0;R0&&(t?I.emitAndNotify("remove"):e&&I.emit("remove"));for(var A=0;Af&&Math.abs(g.v)>f;);return p?function(y){return u[y*(u.length-1)|0]}:h},"springRK4Factory")})(),Zi=o(function(e,r,i,n){var a=att(e,r,i,n);return function(s,l,u){return s+(l-s)*a(u)}},"cubicBezier"),aS={linear:o(function(e,r,i){return e+(r-e)*i},"linear"),ease:Zi(.25,.1,.25,1),"ease-in":Zi(.42,0,1,1),"ease-out":Zi(0,0,.58,1),"ease-in-out":Zi(.42,0,.58,1),"ease-in-sine":Zi(.47,0,.745,.715),"ease-out-sine":Zi(.39,.575,.565,1),"ease-in-out-sine":Zi(.445,.05,.55,.95),"ease-in-quad":Zi(.55,.085,.68,.53),"ease-out-quad":Zi(.25,.46,.45,.94),"ease-in-out-quad":Zi(.455,.03,.515,.955),"ease-in-cubic":Zi(.55,.055,.675,.19),"ease-out-cubic":Zi(.215,.61,.355,1),"ease-in-out-cubic":Zi(.645,.045,.355,1),"ease-in-quart":Zi(.895,.03,.685,.22),"ease-out-quart":Zi(.165,.84,.44,1),"ease-in-out-quart":Zi(.77,0,.175,1),"ease-in-quint":Zi(.755,.05,.855,.06),"ease-out-quint":Zi(.23,1,.32,1),"ease-in-out-quint":Zi(.86,0,.07,1),"ease-in-expo":Zi(.95,.05,.795,.035),"ease-out-expo":Zi(.19,1,.22,1),"ease-in-out-expo":Zi(1,0,0,1),"ease-in-circ":Zi(.6,.04,.98,.335),"ease-out-circ":Zi(.075,.82,.165,1),"ease-in-out-circ":Zi(.785,.135,.15,.86),spring:o(function(e,r,i){if(i===0)return aS.linear;var n=stt(e,r,i);return function(a,s,l){return a+(s-a)*n(l)}},"spring"),"cubic-bezier":Zi};o(Ome,"getEasedValue");o(Pme,"getValue");o(ry,"ease");o(ott,"step$1");o(Hb,"valid");o(ltt,"startAnimation");o(Bme,"stepAll");ctt={animate:_i.animate(),animation:_i.animation(),animated:_i.animated(),clearQueue:_i.clearQueue(),delay:_i.delay(),delayAnimation:_i.delayAnimation(),stop:_i.stop(),addToAnimationPool:o(function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},"addToAnimationPool"),stopAnimationLoop:o(function(){this._private.animationsRunning=!1},"stopAnimationLoop"),startAnimationLoop:o(function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&dS(o(function(a){Bme(a,e),r()},"animationStep"))}o(r,"headlessStep");var i=e.renderer();i&&i.beforeRender?i.beforeRender(o(function(a,s){Bme(s,e)},"rendererAnimationStep"),i.beforeRenderPriorities.animations):r()},"startAnimationLoop")},utt={qualifierCompare:o(function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},"qualifierCompare"),eventMatches:o(function(e,r,i){var n=r.qualifier;return n!=null?e!==i.target&&dT(i.target)&&n.matches(i.target):!0},"eventMatches"),addEventFields:o(function(e,r){r.cy=e,r.target=e},"addEventFields"),callbackContext:o(function(e,r,i){return r.qualifier!=null?i.target:e},"callbackContext")},KE=o(function(e){return lr(e)?new Pd(e):e},"argSelector"),g1e={createEmitter:o(function(){var e=this._private;return e.emitter||(e.emitter=new OS(utt,this)),this},"createEmitter"),emitter:o(function(){return this._private.emitter},"emitter"),on:o(function(e,r,i){return this.emitter().on(e,KE(r),i),this},"on"),removeListener:o(function(e,r,i){return this.emitter().removeListener(e,KE(r),i),this},"removeListener"),removeAllListeners:o(function(){return this.emitter().removeAllListeners(),this},"removeAllListeners"),one:o(function(e,r,i){return this.emitter().one(e,KE(r),i),this},"one"),once:o(function(e,r,i){return this.emitter().one(e,KE(r),i),this},"once"),emit:o(function(e,r){return this.emitter().emit(e,r),this},"emit"),emitAndNotify:o(function(e,r){return this.emit(e),this.notify(e,r),this},"emitAndNotify")};_i.eventAliasesOn(g1e);MB={png:o(function(e){var r=this._private.renderer;return e=e||{},r.png(e)},"png"),jpg:o(function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)},"jpg")};MB.jpeg=MB.jpg;sS={layout:o(function(e){var r=this;if(e==null){mn("Layout options must be specified to make a layout");return}if(e.name==null){mn("A `name` must be specified to make a layout");return}var i=e.name,n=r.extension("layout",i);if(n==null){mn("No such layout `"+i+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;lr(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new n(yr({},e,{cy:r,eles:a}));return s},"layout")};sS.createLayout=sS.makeLayout=sS.layout;htt={notify:o(function(e,r){var i=this._private;if(this.batching()){i.batchNotifications=i.batchNotifications||{};var n=i.batchNotifications[e]=i.batchNotifications[e]||this.collection();r!=null&&n.merge(r);return}if(i.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},"notify"),notifications:o(function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},"notifications"),noNotifications:o(function(e){this.notifications(!1),e(),this.notifications(!0)},"noNotifications"),batching:o(function(){return this._private.batchCount>0},"batching"),startBatch:o(function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},"startBatch"),endBatch:o(function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(i){var n=e.batchNotifications[i];n.empty()?r.notify(i):r.notify(i,n)})}return this},"endBatch"),batch:o(function(e){return this.startBatch(),e(),this.endBatch(),this},"batch"),batchData:o(function(e){var r=this;return this.batch(function(){for(var i=Object.keys(e),n=0;n0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(i){var n=i._private;n.rscratch={},n.rstyle={},n.animation.current=[],n.animation.queue=[]})},"destroyRenderer"),onRender:o(function(e){return this.on("render",e)},"onRender"),offRender:o(function(e){return this.off("render",e)},"offRender")};OB.invalidateDimensions=OB.resize;oS={collection:o(function(e,r){return lr(e)?this.$(e):il(e)?e.collection():qi(e)?(r||(r={}),new ts(this,e,r.unique,r.removed)):new ts(this)},"collection"),nodes:o(function(e){var r=this.$(function(i){return i.isNode()});return e?r.filter(e):r},"nodes"),edges:o(function(e){var r=this.$(function(i){return i.isEdge()});return e?r.filter(e):r},"edges"),$:o(function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},"$"),mutableElements:o(function(){return this._private.elements},"mutableElements")};oS.elements=oS.filter=oS.$;Pa={},Jb="t",dtt="f";Pa.apply=function(t){for(var e=this,r=e._private,i=r.cy,n=i.collection(),a=0;a0;if(p||d&&m){var g=void 0;p&&m||p?g=h.properties:m&&(g=h.mappedProperties);for(var y=0;y1&&(w=1),l.color){var C=i.valueMin[0],E=i.valueMax[0],S=i.valueMin[1],L=i.valueMax[1],M=i.valueMin[2],I=i.valueMax[2],A=i.valueMin[3]==null?1:i.valueMin[3],_=i.valueMax[3]==null?1:i.valueMax[3],D=[Math.round(C+(E-C)*w),Math.round(S+(L-S)*w),Math.round(M+(I-M)*w),Math.round(A+(_-A)*w)];a={bypass:i.bypass,name:i.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(l.number){var N=i.valueMin+(i.valueMax-i.valueMin)*w;a=this.parse(i.name,N,i.bypass,p)}else return!1;if(!a)return y(),!1;a.mapping=i,i=a;break}case s.data:{for(var R=i.field.split("."),B=d.data,O=0;O0&&a>0){for(var l={},u=!1,h=0;h0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:l,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,n),t.emitAndNotify("style"),i.transitioning=!1})}else i.transitioning&&(this.removeBypasses(t,n),t.emitAndNotify("style"),i.transitioning=!1)};Pa.checkTrigger=function(t,e,r,i,n,a){var s=this.properties[e],l=n(s);t.removed()||l!=null&&l(r,i,t)&&a(s)};Pa.checkZOrderTrigger=function(t,e,r,i){var n=this;this.checkTrigger(t,e,r,i,function(a){return a.triggersZOrder},function(){n._private.cy.notify("zorder",t)})};Pa.checkBoundsTrigger=function(t,e,r,i){this.checkTrigger(t,e,r,i,function(n){return n.triggersBounds},function(n){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};Pa.checkConnectedEdgesBoundsTrigger=function(t,e,r,i){this.checkTrigger(t,e,r,i,function(n){return n.triggersBoundsOfConnectedEdges},function(n){t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};Pa.checkParallelEdgesBoundsTrigger=function(t,e,r,i){this.checkTrigger(t,e,r,i,function(n){return n.triggersBoundsOfParallelEdges},function(n){t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};Pa.checkTriggers=function(t,e,r,i){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,i),this.checkBoundsTrigger(t,e,r,i),this.checkConnectedEdgesBoundsTrigger(t,e,r,i),this.checkParallelEdgesBoundsTrigger(t,e,r,i)};bT={};bT.applyBypass=function(t,e,r,i){var n=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var l=0;ln.length?i=i.substr(n.length):i=""}o(l,"removeSelAndBlockFromRemaining");function u(){a.length>s.length?a=a.substr(s.length):a=""}for(o(u,"removePropAndValFromRem");;){var h=i.match(/^\s*$/);if(h)break;var f=i.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!f){Di("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+i);break}n=f[0];var d=f[1];if(d!=="core"){var p=new Pd(d);if(p.invalid){Di("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),l();continue}}var m=f[2],g=!1;a=m;for(var y=[];;){var v=a.match(/^\s*$/);if(v)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){Di("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+m),g=!0;break}s=x[0];var b=x[1],T=x[2],w=e.properties[b];if(!w){Di("Skipping property: Invalid property name in: "+s),u();continue}var k=r.parse(b,T);if(!k){Di("Skipping property: Invalid property definition in: "+s),u();continue}y.push({name:b,val:T}),u()}if(g){l();break}r.selector(d);for(var C=0;C=7&&e[0]==="d"&&(f=new RegExp(l.data.regex).exec(e))){if(r)return!1;var p=l.data;return{name:t,value:f,strValue:""+e,mapped:p,field:f[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(l.mapData.regex).exec(e))){if(r||h.multiple)return!1;var m=l.mapData;if(!(h.color||h.number))return!1;var g=this.parse(t,d[4]);if(!g||g.mapped)return!1;var y=this.parse(t,d[5]);if(!y||y.mapped)return!1;if(g.pfValue===y.pfValue||g.strValue===y.strValue)return Di("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+g.strValue+"`"),this.parse(t,g.strValue);if(h.color){var v=g.value,x=y.value,b=v[0]===x[0]&&v[1]===x[1]&&v[2]===x[2]&&(v[3]===x[3]||(v[3]==null||v[3]===1)&&(x[3]==null||x[3]===1));if(b)return!1}return{name:t,value:d,strValue:""+e,mapped:m,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:g.value,valueMax:y.value,bypass:r}}}if(h.multiple&&i!=="multiple"){var T;if(u?T=e.split(/\s+/):qi(e)?T=e:T=[e],h.evenMultiple&&T.length%2!==0)return null;for(var w=[],k=[],C=[],E="",S=!1,L=0;L0?" ":"")+M.strValue}return h.validate&&!h.validate(w,k)?null:h.singleEnum&&S?w.length===1&&lr(w[0])?{name:t,value:w[0],strValue:w[0],bypass:r}:null:{name:t,value:w,pfValue:C,strValue:E,bypass:r,units:k}}var I=o(function(){for(var J=0;Jh.max||h.strictMax&&e===h.max))return null;var R={name:t,value:e,strValue:""+e+(A||""),units:A,bypass:r};return h.unitless||A!=="px"&&A!=="em"?R.pfValue=e:R.pfValue=A==="px"||!A?e:this.getEmSizeInPixels()*e,(A==="ms"||A==="s")&&(R.pfValue=A==="ms"?e:1e3*e),(A==="deg"||A==="rad")&&(R.pfValue=A==="rad"?e:lZe(e)),A==="%"&&(R.pfValue=e/100),R}else if(h.propList){var B=[],O=""+e;if(O!=="none"){for(var $=O.split(/\s*,\s*|\s+/),z=0;z<$.length;z++){var F=$[z].trim();n.properties[F]?B.push(F):Di("`"+F+"` is not a valid property name")}if(B.length===0)return null}return{name:t,value:B,strValue:B.length===0?"none":B.join(" "),bypass:r}}else if(h.color){var V=xge(e);return V?{name:t,value:V,pfValue:V,strValue:"rgb("+V[0]+","+V[1]+","+V[2]+")",bypass:r}:null}else if(h.regex||h.regexes){if(h.enums){var H=I();if(H)return H}for(var X=h.regexes?h.regexes:[h.regex],W=0;W0&&l>0&&!isNaN(i.w)&&!isNaN(i.h)&&i.w>0&&i.h>0){u=Math.min((s-2*r)/i.w,(l-2*r)/i.h),u=u>this._private.maxZoom?this._private.maxZoom:u,u=u=i.minZoom&&(i.maxZoom=r),this},"zoomRange"),minZoom:o(function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},"minZoom"),maxZoom:o(function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},"maxZoom"),getZoomedViewport:o(function(e){var r=this._private,i=r.pan,n=r.zoom,a,s,l=!1;if(r.zoomingEnabled||(l=!0),Mt(e)?s=e:si(e)&&(s=e.level,e.position!=null?a=_S(e.position,n,i):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(l=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=u,a.push("zoom"))}if(n&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var h=e.pan;Mt(h.x)&&(r.pan.x=h.x,l=!1),Mt(h.y)&&(r.pan.y=h.y,l=!1),l||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},"viewport"),center:o(function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},"center"),getCenterPan:o(function(e,r){if(this._private.panningEnabled){if(lr(e)){var i=e;e=this.mutableElements().filter(i)}else il(e)||(e=this.mutableElements());if(e.length!==0){var n=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var l={x:(a-r*(n.x1+n.x2))/2,y:(s-r*(n.y1+n.y2))/2};return l}}},"getCenterPan"),reset:o(function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},"reset"),invalidateSize:o(function(){this._private.sizeCache=null},"invalidateSize"),size:o(function(){var e=this._private,r=e.container,i=this;return e.sizeCache=e.sizeCache||(r?(function(){var n=i.window().getComputedStyle(r),a=o(function(l){return parseFloat(n.getPropertyValue(l))},"val");return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},"size"),width:o(function(){return this.size().width},"width"),height:o(function(){return this.size().height},"height"),extent:o(function(){var e=this._private.pan,r=this._private.zoom,i=this.renderedExtent(),n={x1:(i.x1-e.x)/r,x2:(i.x2-e.x)/r,y1:(i.y1-e.y)/r,y2:(i.y2-e.y)/r};return n.w=n.x2-n.x1,n.h=n.y2-n.y1,n},"extent"),renderedExtent:o(function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},"renderedExtent"),multiClickDebounceTime:o(function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this},"multiClickDebounceTime")};rm.centre=rm.center;rm.autolockNodes=rm.autolock;rm.autoungrabifyNodes=rm.autoungrabify;cT={data:_i.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:_i.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:_i.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:_i.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};cT.attr=cT.data;cT.removeAttr=cT.removeData;uT=o(function(e){var r=this;e=yr({},e);var i=e.container;i&&!fS(i)&&fS(i[0])&&(i=i[0]);var n=i?i._cyreg:null;n=n||{},n&&n.cy&&(n.cy.destroy(),n={});var a=n.readies=n.readies||[];i&&(i._cyreg=n),n.cy=r;var s=fa!==void 0&&i!==void 0&&!e.headless,l=e;l.layout=yr({name:s?"grid":"null"},l.layout),l.renderer=yr({name:s?"canvas":"null"},l.renderer);var u=o(function(g,y,v){return y!==void 0?y:v!==void 0?v:g},"defVal"),h=this._private={container:i,ready:!1,options:l,elements:new ts(this),listeners:[],aniEles:new ts(this),data:l.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:u(!0,l.zoomingEnabled),userZoomingEnabled:u(!0,l.userZoomingEnabled),panningEnabled:u(!0,l.panningEnabled),userPanningEnabled:u(!0,l.userPanningEnabled),boxSelectionEnabled:u(!0,l.boxSelectionEnabled),autolock:u(!1,l.autolock,l.autolockNodes),autoungrabify:u(!1,l.autoungrabify,l.autoungrabifyNodes),autounselectify:u(!1,l.autounselectify),styleEnabled:l.styleEnabled===void 0?s:l.styleEnabled,zoom:Mt(l.zoom)?l.zoom:1,pan:{x:si(l.pan)&&Mt(l.pan.x)?l.pan.x:0,y:si(l.pan)&&Mt(l.pan.y)?l.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:u(250,l.multiClickDebounceTime)};this.createEmitter(),this.selectionType(l.selectionType),this.zoomRange({min:l.minZoom,max:l.maxZoom});var f=o(function(g,y){var v=g.some(rQe);if(v)return xy.all(g).then(y);y(g)},"loadExtData");h.styleEnabled&&r.setStyle([]);var d=yr({},l,l.renderer);r.initRenderer(d);var p=o(function(g,y,v){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),g!=null&&(si(g)||qi(g))&&r.add(g),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",y),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",v),r.emit("done")});var b=yr({},r._private.options.layout);b.eles=r.elements(),r.layout(b).run()},"setElesAndLayout");f([l.style,l.elements],function(m){var g=m[0],y=m[1];h.styleEnabled&&r.style().append(g),p(y,function(){r.startAnimationLoop(),h.ready=!0,An(l.ready)&&r.on("ready",l.ready);for(var v=0;v0,l=!!t.boundingBox,u=Us(l?t.boundingBox:structuredClone(e.extent())),h;if(il(t.roots))h=t.roots;else if(qi(t.roots)){for(var f=[],d=0;d0;){var D=_(),N=L(D,I);if(N)D.outgoers().filter(function(De){return De.isNode()&&r.has(De)}).forEach(A);else if(N===null){Di("Detected double maximal shift for node `"+D.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var R=0;if(t.avoidOverlap)for(var B=0;B0&&x[0].length<=3?Fe/2:0),qe=2*Math.PI/x[Je].length*Ce;return Je===0&&x[0].length===1&&(Ue=1),{x:te.x+Ue*Math.cos(qe),y:te.y+Ue*Math.sin(qe)}}else{var Me=x[Je].length,He=Math.max(Me===1?0:l?(u.w-t.padding*2-be.w)/((t.grid?Ee:Me)-1):(u.w-t.padding*2-be.w)/((t.grid?Ee:Me)+1),R),K={x:te.x+(Ce+1-(Me+1)/2)*He,y:te.y+(Je+1-(W+1)/2)*de};return K}},"getPositionTopBottom"),we={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(we).indexOf(t.direction)===-1&&mn("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(we).join(", ")));var Te=o(function($e){return RQe(Ne($e),u,we[t.direction])},"getPosition");return r.nodes().layoutPositions(this,t,Te),this};vtt={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(v1e,"CircleLayout");v1e.prototype.run=function(){var t=this.options,e=t,r=t.cy,i=e.eles,n=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=i.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=Us(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},u=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,h=u/Math.max(1,a.length-1),f,d=0,p=0;p1&&e.avoidOverlap){d*=1.75;var x=Math.cos(h)-Math.cos(0),b=Math.sin(h)-Math.sin(0),T=Math.sqrt(d*d/(x*x+b*b));f=Math.max(T,f)}var w=o(function(C,E){var S=e.startAngle+E*h*(n?1:-1),L=f*Math.cos(S),M=f*Math.sin(S),I={x:l.x+L,y:l.y+M};return I},"getPos");return i.nodes().layoutPositions(this,e,w),this};xtt={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:o(function(e){return e.degree()},"concentric"),levelWidth:o(function(e){return e.maxDegree()/4},"levelWidth"),animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(x1e,"ConcentricLayout");x1e.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,i=t.cy,n=e.eles,a=n.nodes().not(":parent"),s=Us(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:i.width(),h:i.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},u=[],h=0,f=0;f0){var k=Math.abs(b[0].value-w.value);k>=v&&(b=[],x.push(b))}b.push(w)}var C=h+e.minNodeSpacing;if(!e.avoidOverlap){var E=x.length>0&&x[0].length>1,S=Math.min(s.w,s.h)/2-C,L=S/(x.length+E?1:0);C=Math.min(C,L)}for(var M=0,I=0;I1&&e.avoidOverlap){var N=Math.cos(D)-Math.cos(0),R=Math.sin(D)-Math.sin(0),B=Math.sqrt(C*C/(N*N+R*R));M=Math.max(B,M)}A.r=M,M+=C}if(e.equidistant){for(var O=0,$=0,z=0;z=t.numIter||(Stt(i,t),i.temperature=i.temperature*t.coolingFactor,i.temperature=t.animationThreshold&&a(),dS(f)}},"frame");f()}else{for(;h;)h=s(u),u++;zme(i,t),l()}return this};zS.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};zS.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};Ttt=o(function(e,r,i){for(var n=i.eles.edges(),a=i.eles.nodes(),s=Us(i.boundingBox?i.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),l={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:n.size(),temperature:i.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},u=i.eles.components(),h={},f=0;f0){l.graphSet.push(S);for(var f=0;fn.count?0:n.graph},"findLCA"),b1e=o(function(e,r,i,n){var a=n.graphSet[i];if(-10)var d=n.nodeOverlap*f,p=Math.sqrt(l*l+u*u),m=d*l/p,g=d*u/p;else var y=bS(e,l,u),v=bS(r,-1*l,-1*u),x=v.x-y.x,b=v.y-y.y,T=x*x+b*b,p=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,m=d*x/p,g=d*b/p;e.isLocked||(e.offsetX-=m,e.offsetY-=g),r.isLocked||(r.offsetX+=m,r.offsetY+=g)}},"nodeRepulsion"),Dtt=o(function(e,r,i,n){if(i>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(n>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},"nodesOverlap"),bS=o(function(e,r,i){var n=e.positionX,a=e.positionY,s=e.height||1,l=e.width||1,u=i/r,h=s/l,f={};return r===0&&0i?(f.x=n,f.y=a+s/2,f):0r&&-1*h<=u&&u<=h?(f.x=n-l/2,f.y=a-l*i/2/r,f):0=h)?(f.x=n+s*r/2/i,f.y=a+s/2,f):(0>i&&(u<=-1*h||u>=h)&&(f.x=n-s*r/2/i,f.y=a-s/2),f)},"findClippingPoint"),Ltt=o(function(e,r){for(var i=0;ii){var v=r.gravity*m/y,x=r.gravity*g/y;p.offsetX+=v,p.offsetY+=x}}}}},"calculateGravityForces"),Ntt=o(function(e,r){var i=[],n=0,a=-1;for(i.push.apply(i,e.graphSet[0]),a+=e.graphSet[0].length;n<=a;){var s=i[n++],l=e.idToIndex[s],u=e.layoutNodes[l],h=u.children;if(0i)var a={x:i*e/n,y:i*r/n};else var a={x:e,y:r};return a},"limitForce"),k1e=o(function(e,r){var i=e.parentId;if(i!=null){var n=r.layoutNodes[r.idToIndex[i]],a=!1;if((n.maxX==null||e.maxX+n.padRight>n.maxX)&&(n.maxX=e.maxX+n.padRight,a=!0),(n.minX==null||e.minX-n.padLeftn.maxY)&&(n.maxY=e.maxY+n.padBottom,a=!0),(n.minY==null||e.minY-n.padTopx&&(g+=v+r.componentSpacing,m=0,y=0,v=0)}}},"separateComponents"),Ott={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:o(function(e){},"position"),sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(C1e,"GridLayout");C1e.prototype.run=function(){var t=this.options,e=t,r=t.cy,i=e.eles,n=i.nodes().not(":parent");e.sort&&(n=n.sort(e.sort));var a=Us(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)i.nodes().layoutPositions(this,e,function(H){return{x:a.x1,y:a.y1}});else{var s=n.size(),l=Math.sqrt(s*a.h/a.w),u=Math.round(l),h=Math.round(a.w/a.h*l),f=o(function(X){if(X==null)return Math.min(u,h);var W=Math.min(u,h);W==u?u=X:h=X},"small"),d=o(function(X){if(X==null)return Math.max(u,h);var W=Math.max(u,h);W==u?u=X:h=X},"large"),p=e.rows,m=e.cols!=null?e.cols:e.columns;if(p!=null&&m!=null)u=p,h=m;else if(p!=null&&m==null)u=p,h=Math.ceil(s/u);else if(p==null&&m!=null)h=m,u=Math.ceil(s/h);else if(h*u>s){var g=f(),y=d();(g-1)*y>=s?f(g-1):(y-1)*g>=s&&d(y-1)}else for(;h*u=s?d(x+1):f(v+1)}var b=a.w/h,T=a.h/u;if(e.condense&&(b=0,T=0),e.avoidOverlap)for(var w=0;w=h&&(N=0,D++)},"moveToNextCell"),B={},O=0;O(N=kZe(t,e,R[B],R[B+1],R[B+2],R[B+3])))return v(E,N),!0}else if(L.edgeType==="bezier"||L.edgeType==="multibezier"||L.edgeType==="self"||L.edgeType==="compound"){for(var R=L.allpts,B=0;B+5(N=TZe(t,e,R[B],R[B+1],R[B+2],R[B+3],R[B+4],R[B+5])))return v(E,N),!0}for(var O=O||S.source,$=$||S.target,z=n.getArrowWidth(M,I),F=[{name:"source",x:L.arrowStartX,y:L.arrowStartY,angle:L.srcArrowAngle},{name:"target",x:L.arrowEndX,y:L.arrowEndY,angle:L.tgtArrowAngle},{name:"mid-source",x:L.midX,y:L.midY,angle:L.midsrcArrowAngle},{name:"mid-target",x:L.midX,y:L.midY,angle:L.midtgtArrowAngle}],B=0;B0&&(x(O),x($))}o(b,"checkEdge");function T(E,S,L){return _o(E,S,L)}o(T,"preprop");function w(E,S){var L=E._private,M=p,I;S?I=S+"-":I="",E.boundingBox();var A=L.labelBounds[S||"main"],_=E.pstyle(I+"label").value,D=E.pstyle("text-events").strValue==="yes";if(!(!D||!_)){var N=T(L.rscratch,"labelX",S),R=T(L.rscratch,"labelY",S),B=T(L.rscratch,"labelAngle",S),O=E.pstyle(I+"text-margin-x").pfValue,$=E.pstyle(I+"text-margin-y").pfValue,z=A.x1-M-O,F=A.x2+M-O,V=A.y1-M-$,H=A.y2+M-$;if(B){var X=Math.cos(B),W=Math.sin(B),Z=o(function(be,de){return be=be-N,de=de-R,{x:be*X-de*W+N,y:be*W+de*X+R}},"rotate"),Y=Z(z,V),ae=Z(z,H),J=Z(F,V),ee=Z(F,H),re=[Y.x+O,Y.y+$,J.x+O,J.y+$,ee.x+O,ee.y+$,ae.x+O,ae.y+$];if(Do(t,e,re))return v(E),!0}else if(Dd(A,t,e))return v(E),!0}}o(w,"checkLabel");for(var k=s.length-1;k>=0;k--){var C=s[k];C.isNode()?x(C)||w(C):b(C)||w(C)||w(C,"source")||w(C,"target")}return l};nm.getAllInBox=function(t,e,r,i){var n=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,l=[],u=Math.min(t,r),h=Math.max(t,r),f=Math.min(e,i),d=Math.max(e,i);t=u,r=h,e=f,i=d;var p=Us({x1:t,y1:e,x2:r,y2:i}),m=[{x:p.x1,y:p.y1},{x:p.x2,y:p.y1},{x:p.x2,y:p.y2},{x:p.x1,y:p.y2}],g=[[m[0],m[1]],[m[1],m[2]],[m[2],m[3]],[m[3],m[0]]];function y(be,de,Ee){return _o(be,de,Ee)}o(y,"preprop");function v(be,de){var Ee=be._private,Ne=s,we="";be.boundingBox();var Te=Ee.labelBounds.main;if(!Te)return null;var De=y(Ee.rscratch,"labelX",de),$e=y(Ee.rscratch,"labelY",de),pe=y(Ee.rscratch,"labelAngle",de),Je=be.pstyle(we+"text-margin-x").pfValue,Ce=be.pstyle(we+"text-margin-y").pfValue,Fe=Te.x1-Ne-Je,Ue=Te.x2+Ne-Je,qe=Te.y1-Ne-Ce,Me=Te.y2+Ne-Ce;if(pe){var He=Math.cos(pe),K=Math.sin(pe),oe=o(function(ue,G){return ue=ue-De,G=G-$e,{x:ue*He-G*K+De,y:ue*K+G*He+$e}},"rotate");return[oe(Fe,qe),oe(Ue,qe),oe(Ue,Me),oe(Fe,Me)]}else return[{x:Fe,y:qe},{x:Ue,y:qe},{x:Ue,y:Me},{x:Fe,y:Me}]}o(v,"getRotatedLabelBox");function x(be,de,Ee,Ne){function we(Te,De,$e){return($e.y-Te.y)*(De.x-Te.x)>(De.y-Te.y)*($e.x-Te.x)}return o(we,"ccw"),we(be,Ee,Ne)!==we(de,Ee,Ne)&&we(be,de,Ee)!==we(be,de,Ne)}o(x,"doLinesIntersect");for(var b=0;b0?-(Math.PI-e.ang):Math.PI+e.ang},"invertVec"),Gtt=o(function(e,r,i,n,a){if(e!==Ume?Hme(r,e,Bu):ztt(Gl,Bu),Hme(r,i,Gl),qme=Bu.nx*Gl.ny-Bu.ny*Gl.nx,Wme=Bu.nx*Gl.nx-Bu.ny*-Gl.ny,Yh=Math.asin(Math.max(-1,Math.min(1,qme))),Math.abs(Yh)<1e-6){PB=r.x,BB=r.y,X0=ny=0;return}Q0=1,lS=!1,Wme<0?Yh<0?Yh=Math.PI+Yh:(Yh=Math.PI-Yh,Q0=-1,lS=!0):Yh>0&&(Q0=-1,lS=!0),r.radius!==void 0?ny=r.radius:ny=n,U0=Yh/2,QE=Math.min(Bu.len/2,Gl.len/2),a?(Ou=Math.abs(Math.cos(U0)*ny/Math.sin(U0)),Ou>QE?(Ou=QE,X0=Math.abs(Ou*Math.sin(U0)/Math.cos(U0))):X0=ny):(Ou=Math.min(QE,ny),X0=Math.abs(Ou*Math.sin(U0)/Math.cos(U0))),FB=r.x+Gl.nx*Ou,$B=r.y+Gl.ny*Ou,PB=FB-Gl.ny*X0*Q0,BB=$B+Gl.nx*X0*Q0,A1e=r.x+Bu.nx*Ou,_1e=r.y+Bu.ny*Ou,Ume=r},"calcCornerArc");o(D1e,"drawPreparedRoundCorner");o(fF,"getRoundCorner");hT=.01,Vtt=Math.sqrt(2*hT),vs={};vs.findMidptPtsEtc=function(t,e){var r=e.posPts,i=e.intersectionPts,n=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),l=t.pstyle("target-endpoint"),u=s.units!=null&&l.units!=null,h=o(function(k,C,E,S){var L=S-C,M=E-k,I=Math.sqrt(M*M+L*L);return{x:-L/I,y:M/I}},"recalcVectorNormInverse"),f=t.pstyle("edge-distances").value;switch(f){case"node-position":a=r;break;case"intersection":a=i;break;case"endpoints":{if(u){var d=this.manualEndptToPx(t.source()[0],s),p=ea(d,2),m=p[0],g=p[1],y=this.manualEndptToPx(t.target()[0],l),v=ea(y,2),x=v[0],b=v[1],T={x1:m,y1:g,x2:x,y2:b};n=h(m,g,x,b),a=T}else Di("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=i;break}}return{midptPts:a,vectorNormInverse:n}};vs.findHaystackPoints=function(t){for(var e=0;e0?Math.max(G-se,0):Math.min(G+se,0)},"subDWH"),_=A(M,S),D=A(I,L),N=!1;b===h?x=Math.abs(_)>Math.abs(D)?n:i:b===u||b===l?(x=i,N=!0):(b===a||b===s)&&(x=n,N=!0);var R=x===i,B=R?D:_,O=R?I:M,$=JB(O),z=!1;!(N&&(w||C))&&(b===l&&O<0||b===u&&O>0||b===a&&O>0||b===s&&O<0)&&($*=-1,B=$*Math.abs(B),z=!0);var F;if(w){var V=k<0?1+k:k;F=V*B}else{var H=k<0?B:0;F=H+k*$}var X=o(function(G){return Math.abs(G)=Math.abs(B)},"getIsTooClose"),W=X(F),Z=X(Math.abs(B)-Math.abs(F)),Y=W||Z;if(Y&&!z)if(R){var ae=Math.abs(O)<=p/2,J=Math.abs(M)<=m/2;if(ae){var ee=(f.x1+f.x2)/2,re=f.y1,te=f.y2;r.segpts=[ee,re,ee,te]}else if(J){var be=(f.y1+f.y2)/2,de=f.x1,Ee=f.x2;r.segpts=[de,be,Ee,be]}else r.segpts=[f.x1,f.y2]}else{var Ne=Math.abs(O)<=d/2,we=Math.abs(I)<=g/2;if(Ne){var Te=(f.y1+f.y2)/2,De=f.x1,$e=f.x2;r.segpts=[De,Te,$e,Te]}else if(we){var pe=(f.x1+f.x2)/2,Je=f.y1,Ce=f.y2;r.segpts=[pe,Je,pe,Ce]}else r.segpts=[f.x2,f.y1]}else if(R){var Fe=f.y1+F+(v?p/2*$:0),Ue=f.x1,qe=f.x2;r.segpts=[Ue,Fe,qe,Fe]}else{var Me=f.x1+F+(v?d/2*$:0),He=f.y1,K=f.y2;r.segpts=[Me,He,Me,K]}if(r.isRound){var oe=t.pstyle("taxi-radius").value,U=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(oe),r.isArcRadius=new Array(r.segpts.length/2).fill(U)}};vs.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var i=e.srcPos,n=e.tgtPos,a=e.srcW,s=e.srcH,l=e.tgtW,u=e.tgtH,h=e.srcShape,f=e.tgtShape,d=e.srcCornerRadius,p=e.tgtCornerRadius,m=e.srcRs,g=e.tgtRs,y=!Mt(r.startX)||!Mt(r.startY),v=!Mt(r.arrowStartX)||!Mt(r.arrowStartY),x=!Mt(r.endX)||!Mt(r.endY),b=!Mt(r.arrowEndX)||!Mt(r.arrowEndY),T=3,w=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,k=T*w,C=em({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),E=CO.poolIndex()){var $=B;B=O,O=$}var z=_.srcPos=B.position(),F=_.tgtPos=O.position(),V=_.srcW=B.outerWidth(),H=_.srcH=B.outerHeight(),X=_.tgtW=O.outerWidth(),W=_.tgtH=O.outerHeight(),Z=_.srcShape=r.nodeShapes[e.getNodeShape(B)],Y=_.tgtShape=r.nodeShapes[e.getNodeShape(O)],ae=_.srcCornerRadius=B.pstyle("corner-radius").value==="auto"?"auto":B.pstyle("corner-radius").pfValue,J=_.tgtCornerRadius=O.pstyle("corner-radius").value==="auto"?"auto":O.pstyle("corner-radius").pfValue,ee=_.tgtRs=O._private.rscratch,re=_.srcRs=B._private.rscratch;_.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var te=0;te<_.eles.length;te++){var be=_.eles[te],de=be[0]._private.rscratch,Ee=be.pstyle("curve-style").value,Ne=Ee==="unbundled-bezier"||_d(Ee,"segments")||_d(Ee,"taxi"),we=!B.same(be.source());if(!_.calculatedIntersection&&B!==O&&(_.hasBezier||_.hasUnbundled)){_.calculatedIntersection=!0;var Te=Z.intersectLine(z.x,z.y,V,H,F.x,F.y,0,ae,re),De=_.srcIntn=Te,$e=Y.intersectLine(F.x,F.y,X,W,z.x,z.y,0,J,ee),pe=_.tgtIntn=$e,Je=_.intersectionPts={x1:Te[0],x2:$e[0],y1:Te[1],y2:$e[1]},Ce=_.posPts={x1:z.x,x2:F.x,y1:z.y,y2:F.y},Fe=$e[1]-Te[1],Ue=$e[0]-Te[0],qe=Math.sqrt(Ue*Ue+Fe*Fe);Mt(qe)&&qe>=Vtt||(qe=Math.sqrt(Math.max(Ue*Ue,hT)+Math.max(Fe*Fe,hT)));var Me=_.vector={x:Ue,y:Fe},He=_.vectorNorm={x:Me.x/qe,y:Me.y/qe},K={x:-He.y,y:He.x};_.nodesOverlap=!Mt(qe)||Y.checkPoint(Te[0],Te[1],0,X,W,F.x,F.y,J,ee)||Z.checkPoint($e[0],$e[1],0,V,H,z.x,z.y,ae,re),_.vectorNormInverse=K,D={nodesOverlap:_.nodesOverlap,dirCounts:_.dirCounts,calculatedIntersection:!0,hasBezier:_.hasBezier,hasUnbundled:_.hasUnbundled,eles:_.eles,srcPos:F,srcRs:ee,tgtPos:z,tgtRs:re,srcW:X,srcH:W,tgtW:V,tgtH:H,srcIntn:pe,tgtIntn:De,srcShape:Y,tgtShape:Z,posPts:{x1:Ce.x2,y1:Ce.y2,x2:Ce.x1,y2:Ce.y1},intersectionPts:{x1:Je.x2,y1:Je.y2,x2:Je.x1,y2:Je.y1},vector:{x:-Me.x,y:-Me.y},vectorNorm:{x:-He.x,y:-He.y},vectorNormInverse:{x:-K.x,y:-K.y}}}var oe=we?D:_;de.nodesOverlap=oe.nodesOverlap,de.srcIntn=oe.srcIntn,de.tgtIntn=oe.tgtIntn,de.isRound=Ee.startsWith("round"),n&&(B.isParent()||B.isChild()||O.isParent()||O.isChild())&&(B.parents().anySame(O)||O.parents().anySame(B)||B.same(O)&&B.isParent())?e.findCompoundLoopPoints(be,oe,te,Ne):B===O?e.findLoopPoints(be,oe,te,Ne):Ee.endsWith("segments")?e.findSegmentsPoints(be,oe):Ee.endsWith("taxi")?e.findTaxiPoints(be,oe):Ee==="straight"||!Ne&&_.eles.length%2===1&&te===Math.floor(_.eles.length/2)?e.findStraightEdgePoints(be):e.findBezierPoints(be,oe,te,Ne,we),e.findEndpoints(be),e.tryToCorrectInvalidPoints(be,oe),e.checkForInvalidEdgeWarning(be),e.storeAllpts(be),e.storeEdgeProjections(be),e.calculateArrowAngles(be),e.recalculateEdgeLabelProjections(be),e.calculateLabelAngles(be)}},"_loop"),E=0;E0){var Te=h,De=j0(Te,ly(s)),$e=j0(Te,ly(we)),pe=De;if($e2){var Je=j0(Te,{x:we[2],y:we[3]});Je0){var le=f,ke=j0(le,ly(s)),me=j0(le,ly(se)),ye=ke;if(me2){var Re=j0(le,{x:se[2],y:se[3]});Re=g||E){v={cp:w,segment:C};break}}if(v)break}var S=v.cp,L=v.segment,M=(g-x)/L.length,I=L.t1-L.t0,A=m?L.t0+I*M:L.t1-I*M;A=aT(0,A,1),e=hy(S.p0,S.p1,S.p2,A),p=Wtt(S.p0,S.p1,S.p2,A);break}case"straight":case"segments":case"haystack":{for(var _=0,D,N,R,B,O=i.allpts.length,$=0;$+3=g));$+=2);var z=g-N,F=z/D;F=aT(0,F,1),e=uZe(R,B,F),p=N1e(R,B);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,p)}},"calculateEndProjection");h("source"),h("target"),this.applyLabelDimensions(t)}};zu.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};zu.applyPrefixedLabelDimensions=function(t,e){var r=t._private,i=this.getLabelText(t,e),n=J0(i,t._private.labelDimsKey);if(_o(r.rscratch,"prefixedLabelDimsKey",e)!==n){jh(r.rscratch,"prefixedLabelDimsKey",e,n);var a=this.calculateLabelDimensions(t,i),s=t.pstyle("line-height").pfValue,l=t.pstyle("text-wrap").strValue,u=_o(r.rscratch,"labelWrapCachedLines",e)||[],h=l!=="wrap"?1:Math.max(u.length,1),f=a.height/h,d=f*s,p=a.width,m=a.height+(h-1)*(s-1)*f;jh(r.rstyle,"labelWidth",e,p),jh(r.rscratch,"labelWidth",e,p),jh(r.rstyle,"labelHeight",e,m),jh(r.rscratch,"labelHeight",e,m),jh(r.rscratch,"labelLineHeight",e,d)}};zu.getLabelText=function(t,e){var r=t._private,i=e?e+"-":"",n=t.pstyle(i+"label").strValue,a=t.pstyle("text-transform").value,s=o(function(H,X){return X?(jh(r.rscratch,H,e,X),X):_o(r.rscratch,H,e)},"rscratch");if(!n)return"";a=="none"||(a=="uppercase"?n=n.toUpperCase():a=="lowercase"&&(n=n.toLowerCase()));var l=t.pstyle("text-wrap").value;if(l==="wrap"){var u=s("labelKey");if(u!=null&&s("labelWrapKey")===u)return s("labelWrapCachedText");for(var h="\u200B",f=n.split(` -`),d=t.pstyle("text-max-width").pfValue,p=t.pstyle("text-overflow-wrap").value,m=p==="anywhere",g=[],y=/[\s\u200b]+|$/g,v=0;vd){var k=x.matchAll(y),C="",E=0,S=Lo(k),L;try{for(S.s();!(L=S.n()).done;){var M=L.value,I=M[0],A=x.substring(E,M.index);E=M.index+I.length;var _=C.length===0?A:C+A+I,D=this.calculateLabelDimensions(t,_),N=D.width;N<=d?C+=A+I:(C&&g.push(C),C=A+I)}}catch(V){S.e(V)}finally{S.f()}C.match(/^[\s\u200b]+$/)||g.push(C)}else g.push(x)}s("labelWrapCachedLines",g),n=s("labelWrapCachedText",g.join(` -`)),s("labelWrapKey",u)}else if(l==="ellipsis"){var R=t.pstyle("text-max-width").pfValue,B="",O="\u2026",$=!1;if(this.calculateLabelDimensions(t,n).widthR)break;B+=n[z],z===n.length-1&&($=!0)}return $||(B+=O),B}return n};zu.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};zu.calculateLabelDimensions=function(t,e){var r=this,i=r.cy.window(),n=i.document,a=0,s=t.pstyle("font-style").strValue,l=t.pstyle("font-size").pfValue,u=t.pstyle("font-family").strValue,h=t.pstyle("font-weight").strValue,f=this.labelCalcCanvas,d=this.labelCalcCanvasContext;if(!f){f=this.labelCalcCanvas=n.createElement("canvas"),d=this.labelCalcCanvasContext=f.getContext("2d");var p=f.style;p.position="absolute",p.left="-9999px",p.top="-9999px",p.zIndex="-1",p.visibility="hidden",p.pointerEvents="none"}d.font="".concat(s," ").concat(h," ").concat(l,"px ").concat(u);for(var m=0,g=0,y=e.split(` -`),v=0;v1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),l)for(var u=0;u=t.desktopTapThreshold2}var ct=a(G);ut&&(t.hoverData.tapholdCancelled=!0);var Dt=o(function(){var xt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];xt.length===0?(xt.push(it[0]),xt.push(it[1])):(xt[0]+=it[0],xt[1]+=it[1])},"updateDragDelta");le=!0,n(Be,["mousemove","vmousemove","tapdrag"],G,{x:Re[0],y:Re[1]});var kt=o(function(xt){return{originalEvent:G,type:xt,position:{x:Re[0],y:Re[1]}}},"makeEvent"),yt=o(function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||ke.emit(kt("boxstart")),We[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()},"goIntoBoxMode");if(t.hoverData.which===3){if(ut){var jt=kt("cxtdrag");ce?ce.emit(jt):ke.emit(jt),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||Be!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(kt("cxtdragout")),t.hoverData.cxtOver=Be,Be&&Be.emit(kt("cxtdragover")))}}else if(t.hoverData.dragging){if(le=!0,ke.panningEnabled()&&ke.userPanningEnabled()){var hr;if(t.hoverData.justStartedPan){var Qt=t.hoverData.mdownPos;hr={x:(Re[0]-Qt[0])*me,y:(Re[1]-Qt[1])*me},t.hoverData.justStartedPan=!1}else hr={x:it[0]*me,y:it[1]*me};ke.panBy(hr),ke.emit(kt("dragpan")),t.hoverData.dragged=!0}Re=t.projectIntoViewport(G.clientX,G.clientY)}else if(We[4]==1&&(ce==null||ce.pannable())){if(ut){if(!t.hoverData.dragging&&ke.boxSelectionEnabled()&&(ct||!ke.panningEnabled()||!ke.userPanningEnabled()))yt();else if(!t.hoverData.selecting&&ke.panningEnabled()&&ke.userPanningEnabled()){var Er=s(ce,t.hoverData.downs);Er&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,We[4]=0,t.data.bgActivePosistion=ly(ve),t.redrawHint("select",!0),t.redraw())}ce&&ce.pannable()&&ce.active()&&ce.unactivate()}}else{if(ce&&ce.pannable()&&ce.active()&&ce.unactivate(),(!ce||!ce.grabbed())&&Be!=Qe&&(Qe&&n(Qe,["mouseout","tapdragout"],G,{x:Re[0],y:Re[1]}),Be&&n(Be,["mouseover","tapdragover"],G,{x:Re[0],y:Re[1]}),t.hoverData.last=Be),ce)if(ut){if(ke.boxSelectionEnabled()&&ct)ce&&ce.grabbed()&&(x(fe),ce.emit(kt("freeon")),fe.emit(kt("free")),t.dragData.didDrag&&(ce.emit(kt("dragfreeon")),fe.emit(kt("dragfree")))),yt();else if(ce&&ce.grabbed()&&t.nodeIsDraggable(ce)){var dr=!t.dragData.didDrag;dr&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||y(fe,{inDragLayer:!0});var ir={x:0,y:0};if(Mt(it[0])&&Mt(it[1])&&(ir.x+=it[0],ir.y+=it[1],dr)){var pr=t.hoverData.dragDelta;pr&&Mt(pr[0])&&Mt(pr[1])&&(ir.x+=pr[0],ir.y+=pr[1])}t.hoverData.draggingEles=!0,fe.silentShift(ir).emit(kt("position")).emit(kt("drag")),t.redrawHint("drag",!0),t.redraw()}}else Dt();le=!0}if(We[2]=Re[0],We[3]=Re[1],le)return G.stopPropagation&&G.stopPropagation(),G.preventDefault&&G.preventDefault(),!1}},"mousemoveHandler"),!1);var A,_,D;t.registerBinding(e,"mouseup",o(function(G){if(!(t.hoverData.which===1&&G.which!==1&&t.hoverData.capture)){var se=t.hoverData.capture;if(se){t.hoverData.capture=!1;var le=t.cy,ke=t.projectIntoViewport(G.clientX,G.clientY),me=t.selection,ye=t.findNearestElement(ke[0],ke[1],!0,!1),Re=t.dragData.possibleDragElements,ve=t.hoverData.down,Oe=a(G);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,ve&&ve.unactivate();var We=o(function(Nt){return{originalEvent:G,type:Nt,position:{x:ke[0],y:ke[1]}}},"makeEvent");if(t.hoverData.which===3){var Be=We("cxttapend");if(ve?ve.emit(Be):le.emit(Be),!t.hoverData.cxtDragged){var Qe=We("cxttap");ve?ve.emit(Qe):le.emit(Qe)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(n(ye,["mouseup","tapend","vmouseup"],G,{x:ke[0],y:ke[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(n(ve,["click","tap","vclick"],G,{x:ke[0],y:ke[1]}),_=!1,G.timeStamp-D<=le.multiClickDebounceTime()?(A&&clearTimeout(A),_=!0,D=null,n(ve,["dblclick","dbltap","vdblclick"],G,{x:ke[0],y:ke[1]})):(A=setTimeout(function(){_||n(ve,["oneclick","onetap","voneclick"],G,{x:ke[0],y:ke[1]})},le.multiClickDebounceTime()),D=G.timeStamp)),ve==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(G)&&(le.$(r).unselect(["tapunselect"]),Re.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Re=le.collection()),ye==ve&&!t.dragData.didDrag&&!t.hoverData.selecting&&ye!=null&&ye._private.selectable&&(t.hoverData.dragging||(le.selectionType()==="additive"||Oe?ye.selected()?ye.unselect(["tapunselect"]):ye.select(["tapselect"]):Oe||(le.$(r).unmerge(ye).unselect(["tapunselect"]),ye.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var ce=le.collection(t.getAllInBox(me[0],me[1],me[2],me[3]));t.redrawHint("select",!0),ce.length>0&&t.redrawHint("eles",!0),le.emit(We("boxend"));var it=o(function(Nt){return Nt.selectable()&&!Nt.selected()},"eleWouldBeSelected");le.selectionType()==="additive"||Oe||le.$(r).unmerge(ce).unselect(),ce.emit(We("box")).stdFilter(it).select().emit(We("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!me[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var fe=ve&&ve.grabbed();x(Re),fe&&(ve.emit(We("freeon")),Re.emit(We("free")),t.dragData.didDrag&&(ve.emit(We("dragfreeon")),Re.emit(We("dragfree"))))}}me[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},"mouseupHandler"),!1);var N=[],R=4,B,O=1e5,$=o(function(G,se){for(var le=0;le=R){var ke=N;if(B=$(ke,5),!B){var me=Math.abs(ke[0]);B=z(ke)&&me>5}if(B)for(var ye=0;ye5&&(le=JB(le)*5),Qe=le/-250,B&&(Qe/=O,Qe*=3),Qe=Qe*t.wheelSensitivity;var ce=G.deltaMode===1;ce&&(Qe*=33);var it=Re.zoom()*Math.pow(10,Qe);G.type==="gesturechange"&&(it=t.gestureStartZoom*G.scale),Re.zoom({level:it,renderedPosition:{x:Be[0],y:Be[1]}}),Re.emit({type:G.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:G,position:{x:We[0],y:We[1]}})}}}},"wheelHandler");t.registerBinding(t.container,"wheel",F,!0),t.registerBinding(e,"scroll",o(function(G){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},"scrollHandler"),!0),t.registerBinding(t.container,"gesturestart",o(function(G){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||G.preventDefault()},"gestureStartHandler"),!0),t.registerBinding(t.container,"gesturechange",function(ue){t.hasTouchStarted||F(ue)},!0),t.registerBinding(t.container,"mouseout",o(function(G){var se=t.projectIntoViewport(G.clientX,G.clientY);t.cy.emit({originalEvent:G,type:"mouseout",position:{x:se[0],y:se[1]}})},"mouseOutHandler"),!1),t.registerBinding(t.container,"mouseover",o(function(G){var se=t.projectIntoViewport(G.clientX,G.clientY);t.cy.emit({originalEvent:G,type:"mouseover",position:{x:se[0],y:se[1]}})},"mouseOverHandler"),!1);var V,H,X,W,Z,Y,ae,J,ee,re,te,be,de,Ee=o(function(G,se,le,ke){return Math.sqrt((le-G)*(le-G)+(ke-se)*(ke-se))},"distance"),Ne=o(function(G,se,le,ke){return(le-G)*(le-G)+(ke-se)*(ke-se)},"distanceSq"),we;t.registerBinding(t.container,"touchstart",we=o(function(G){if(t.hasTouchStarted=!0,!!M(G)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var se=t.cy,le=t.touchData.now,ke=t.touchData.earlier;if(G.touches[0]){var me=t.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);le[0]=me[0],le[1]=me[1]}if(G.touches[1]){var me=t.projectIntoViewport(G.touches[1].clientX,G.touches[1].clientY);le[2]=me[0],le[3]=me[1]}if(G.touches[2]){var me=t.projectIntoViewport(G.touches[2].clientX,G.touches[2].clientY);le[4]=me[0],le[5]=me[1]}var ye=o(function(ct){return{originalEvent:G,type:ct,position:{x:le[0],y:le[1]}}},"makeEvent");if(G.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var Re=t.findContainerClientCoords();ee=Re[0],re=Re[1],te=Re[2],be=Re[3],V=G.touches[0].clientX-ee,H=G.touches[0].clientY-re,X=G.touches[1].clientX-ee,W=G.touches[1].clientY-re,de=0<=V&&V<=te&&0<=X&&X<=te&&0<=H&&H<=be&&0<=W&&W<=be;var ve=se.pan(),Oe=se.zoom();Z=Ee(V,H,X,W),Y=Ne(V,H,X,W),ae=[(V+X)/2,(H+W)/2],J=[(ae[0]-ve.x)/Oe,(ae[1]-ve.y)/Oe];var We=200,Be=We*We;if(Y=1){for(var Pt=t.touchData.startPosition=[null,null,null,null,null,null],St=0;St=t.touchTapThreshold2}if(se&&t.touchData.cxt){G.preventDefault();var St=G.touches[0].clientX-ee,It=G.touches[0].clientY-re,ot=G.touches[1].clientX-ee,ct=G.touches[1].clientY-re,Dt=Ne(St,It,ot,ct),kt=Dt/Y,yt=150,jt=yt*yt,hr=1.5,Qt=hr*hr;if(kt>=Qt||Dt>=jt){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Er=Oe("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(Er),t.touchData.start=null):ke.emit(Er)}}if(se&&t.touchData.cxt){var Er=Oe("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(Er):ke.emit(Er),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var dr=t.findNearestElement(me[0],me[1],!0,!0);(!t.touchData.cxtOver||dr!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(Oe("cxtdragout")),t.touchData.cxtOver=dr,dr&&dr.emit(Oe("cxtdragover")))}else if(se&&G.touches[2]&&ke.boxSelectionEnabled())G.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||ke.emit(Oe("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,le[4]=1,!le||le.length===0||le[0]===void 0?(le[0]=(me[0]+me[2]+me[4])/3,le[1]=(me[1]+me[3]+me[5])/3,le[2]=(me[0]+me[2]+me[4])/3+1,le[3]=(me[1]+me[3]+me[5])/3+1):(le[2]=(me[0]+me[2]+me[4])/3,le[3]=(me[1]+me[3]+me[5])/3),t.redrawHint("select",!0),t.redraw();else if(se&&G.touches[1]&&!t.touchData.didSelect&&ke.zoomingEnabled()&&ke.panningEnabled()&&ke.userZoomingEnabled()&&ke.userPanningEnabled()){G.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var ir=t.dragData.touchDragEles;if(ir){t.redrawHint("drag",!0);for(var pr=0;pr0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},"touchmoveHandler"),!1);var De;t.registerBinding(e,"touchcancel",De=o(function(G){var se=t.touchData.start;t.touchData.capture=!1,se&&se.unactivate()},"touchcancelHandler"));var $e,pe,Je,Ce;if(t.registerBinding(e,"touchend",$e=o(function(G){var se=t.touchData.start,le=t.touchData.capture;if(le)G.touches.length===0&&(t.touchData.capture=!1),G.preventDefault();else return;var ke=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var me=t.cy,ye=me.zoom(),Re=t.touchData.now,ve=t.touchData.earlier;if(G.touches[0]){var Oe=t.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);Re[0]=Oe[0],Re[1]=Oe[1]}if(G.touches[1]){var Oe=t.projectIntoViewport(G.touches[1].clientX,G.touches[1].clientY);Re[2]=Oe[0],Re[3]=Oe[1]}if(G.touches[2]){var Oe=t.projectIntoViewport(G.touches[2].clientX,G.touches[2].clientY);Re[4]=Oe[0],Re[5]=Oe[1]}var We=o(function(jt){return{originalEvent:G,type:jt,position:{x:Re[0],y:Re[1]}}},"makeEvent");se&&se.unactivate();var Be;if(t.touchData.cxt){if(Be=We("cxttapend"),se?se.emit(Be):me.emit(Be),!t.touchData.cxtDragged){var Qe=We("cxttap");se?se.emit(Qe):me.emit(Qe)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!G.touches[2]&&me.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var ce=me.collection(t.getAllInBox(ke[0],ke[1],ke[2],ke[3]));ke[0]=void 0,ke[1]=void 0,ke[2]=void 0,ke[3]=void 0,ke[4]=0,t.redrawHint("select",!0),me.emit(We("boxend"));var it=o(function(jt){return jt.selectable()&&!jt.selected()},"eleWouldBeSelected");ce.emit(We("box")).stdFilter(it).select().emit(We("boxselect")),ce.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(se?.unactivate(),G.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!G.touches[1]){if(!G.touches[0]){if(!G.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var fe=t.dragData.touchDragEles;if(se!=null){var ut=se._private.grabbed;x(fe),t.redrawHint("drag",!0),t.redrawHint("eles",!0),ut&&(se.emit(We("freeon")),fe.emit(We("free")),t.dragData.didDrag&&(se.emit(We("dragfreeon")),fe.emit(We("dragfree")))),n(se,["touchend","tapend","vmouseup","tapdragout"],G,{x:Re[0],y:Re[1]}),se.unactivate(),t.touchData.start=null}else{var Nt=t.findNearestElement(Re[0],Re[1],!0,!0);n(Nt,["touchend","tapend","vmouseup","tapdragout"],G,{x:Re[0],y:Re[1]})}var Pt=t.touchData.startPosition[0]-Re[0],St=Pt*Pt,It=t.touchData.startPosition[1]-Re[1],ot=It*It,ct=St+ot,Dt=ct*ye*ye;t.touchData.singleTouchMoved||(se||me.$(":selected").unselect(["tapunselect"]),n(se,["tap","vclick"],G,{x:Re[0],y:Re[1]}),pe=!1,G.timeStamp-Ce<=me.multiClickDebounceTime()?(Je&&clearTimeout(Je),pe=!0,Ce=null,n(se,["dbltap","vdblclick"],G,{x:Re[0],y:Re[1]})):(Je=setTimeout(function(){pe||n(se,["onetap","voneclick"],G,{x:Re[0],y:Re[1]})},me.multiClickDebounceTime()),Ce=G.timeStamp)),se!=null&&!t.dragData.didDrag&&se._private.selectable&&Dt"u"){var Fe=[],Ue=o(function(G){return{clientX:G.clientX,clientY:G.clientY,force:1,identifier:G.pointerId,pageX:G.pageX,pageY:G.pageY,radiusX:G.width/2,radiusY:G.height/2,screenX:G.screenX,screenY:G.screenY,target:G.target}},"makeTouch"),qe=o(function(G){return{event:G,touch:Ue(G)}},"makePointer"),Me=o(function(G){Fe.push(qe(G))},"addPointer"),He=o(function(G){for(var se=0;se0)return V[0]}return null},"getCurveT"),g=Object.keys(p),y=0;y0?m:Mge(a,s,e,r,i,n,l,u)},"intersectLine"),checkPoint:o(function(e,r,i,n,a,s,l,u){u=u==="auto"?Od(n,a):u;var h=2*u;if(Qh(e,r,this.points,s,l,n,a-h,[0,-1],i)||Qh(e,r,this.points,s,l,n-h,a,[0,-1],i))return!0;var f=n/2+2*i,d=a/2+2*i,p=[s-f,l-d,s-f,l,s+f,l,s+f,l-d];return!!(Do(e,r,p)||Z0(e,r,h,h,s+n/2-u,l+a/2-u,i)||Z0(e,r,h,h,s-n/2+u,l+a/2-u,i))},"checkPoint")}};Zh.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",Ws(3,0)),this.generateRoundPolygon("round-triangle",Ws(3,0)),this.generatePolygon("rectangle",Ws(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",Ws(5,0)),this.generateRoundPolygon("round-pentagon",Ws(5,0)),this.generatePolygon("hexagon",Ws(6,0)),this.generateRoundPolygon("round-hexagon",Ws(6,0)),this.generatePolygon("heptagon",Ws(7,0)),this.generateRoundPolygon("round-heptagon",Ws(7,0)),this.generatePolygon("octagon",Ws(8,0)),this.generateRoundPolygon("round-octagon",Ws(8,0));var i=new Array(20);{var n=SB(5,0),a=SB(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var l=0;l=e.deqFastCost*w)break}else if(h){if(b>=e.deqCost*m||b>=e.deqAvgCost*p)break}else if(T>=e.deqNoDrawCost*yB)break;var k=e.deq(i,v,y);if(k.length>0)for(var C=0;C0&&(e.onDeqd(i,g),!h&&e.shouldRedraw(i,g,v,y)&&a())},"dequeue"),l=e.priority||KB;n.beforeRender(s,l(i))}},"setupDequeueingImpl")},"setupDequeueing")},Htt=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:pS;$d(this,t),this.idsByKey=new Xh,this.keyForId=new Xh,this.cachesByLvl=new Xh,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return o(t,"ElementTextureCacheLookup"),zd(t,[{key:"getIdsFor",value:o(function(r){r==null&&mn("Can not get id list for null key");var i=this.idsByKey,n=this.idsByKey.get(r);return n||(n=new vy,i.set(r,n)),n},"getIdsFor")},{key:"addIdForKey",value:o(function(r,i){r!=null&&this.getIdsFor(r).add(i)},"addIdForKey")},{key:"deleteIdForKey",value:o(function(r,i){r!=null&&this.getIdsFor(r).delete(i)},"deleteIdForKey")},{key:"getNumberOfIdsForKey",value:o(function(r){return r==null?0:this.getIdsFor(r).size},"getNumberOfIdsForKey")},{key:"updateKeyMappingFor",value:o(function(r){var i=r.id(),n=this.keyForId.get(i),a=this.getKey(r);this.deleteIdForKey(n,i),this.addIdForKey(a,i),this.keyForId.set(i,a)},"updateKeyMappingFor")},{key:"deleteKeyMappingFor",value:o(function(r){var i=r.id(),n=this.keyForId.get(i);this.deleteIdForKey(n,i),this.keyForId.delete(i)},"deleteKeyMappingFor")},{key:"keyHasChangedFor",value:o(function(r){var i=r.id(),n=this.keyForId.get(i),a=this.getKey(r);return n!==a},"keyHasChangedFor")},{key:"isInvalid",value:o(function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)},"isInvalid")},{key:"getCachesAt",value:o(function(r){var i=this.cachesByLvl,n=this.lvls,a=i.get(r);return a||(a=new Xh,i.set(r,a),n.push(r)),a},"getCachesAt")},{key:"getCache",value:o(function(r,i){return this.getCachesAt(i).get(r)},"getCache")},{key:"get",value:o(function(r,i){var n=this.getKey(r),a=this.getCache(n,i);return a!=null&&this.updateKeyMappingFor(r),a},"get")},{key:"getForCachedKey",value:o(function(r,i){var n=this.keyForId.get(r.id()),a=this.getCache(n,i);return a},"getForCachedKey")},{key:"hasCache",value:o(function(r,i){return this.getCachesAt(i).has(r)},"hasCache")},{key:"has",value:o(function(r,i){var n=this.getKey(r);return this.hasCache(n,i)},"has")},{key:"setCache",value:o(function(r,i,n){n.key=r,this.getCachesAt(i).set(r,n)},"setCache")},{key:"set",value:o(function(r,i,n){var a=this.getKey(r);this.setCache(a,i,n),this.updateKeyMappingFor(r)},"set")},{key:"deleteCache",value:o(function(r,i){this.getCachesAt(i).delete(r)},"deleteCache")},{key:"delete",value:o(function(r,i){var n=this.getKey(r);this.deleteCache(n,i)},"_delete")},{key:"invalidateKey",value:o(function(r){var i=this;this.lvls.forEach(function(n){return i.deleteCache(r,n)})},"invalidateKey")},{key:"invalidate",value:o(function(r){var i=r.id(),n=this.keyForId.get(i);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(n),a||this.getNumberOfIdsForKey(n)===0},"invalidate")}])})(),Kme=25,ZE=50,cS=-4,zB=3,F1e=7.99,Ytt=8,jtt=1024,Xtt=1024,Ktt=1024,Qtt=.2,Ztt=.8,Jtt=10,ert=.15,trt=.1,rrt=.9,irt=.9,nrt=100,art=1,uy={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},srt=rs({getKey:null,doesEleInvalidateKey:pS,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:Age,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Zb=o(function(e,r){var i=this;i.renderer=e,i.onDequeues=[];var n=srt(r);yr(i,n),i.lookup=new Htt(n.getKey,n.doesEleInvalidateKey),i.setupDequeueing()},"ElementTextureCache"),ma=Zb.prototype;ma.reasons=uy;ma.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};ma.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},i=r[t]=r[t]||[];return i};ma.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new vT(function(r,i){return i.reqs-r.reqs});return e};ma.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};ma.getElement=function(t,e,r,i,n){var a=this,s=this.renderer,l=s.cy.zoom(),u=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(i==null&&(i=Math.ceil(ZB(l*r))),i=F1e||i>zB)return null;var h=Math.pow(2,i),f=e.h*h,d=e.w*h,p=s.eleTextBiggerThanMin(t,h);if(!this.isVisible(t,p))return null;var m=u.get(t,i);if(m&&m.invalidated&&(m.invalidated=!1,m.texture.invalidatedWidth-=m.width),m)return m;var g;if(f<=Kme?g=Kme:f<=ZE?g=ZE:g=Math.ceil(f/ZE)*ZE,f>Ktt||d>Xtt)return null;var y=a.getTextureQueue(g),v=y[y.length-2],x=o(function(){return a.recycleTexture(g,d)||a.addTexture(g,d)},"addNewTxr");v||(v=y[y.length-1]),v||(v=x()),v.width-v.usedWidthi;I--)L=a.getElement(t,e,r,I,uy.downscale);M()}else return a.queueElement(t,C.level-1),C;else{var A;if(!T&&!w&&!k)for(var _=i-1;_>=cS;_--){var D=u.get(t,_);if(D){A=D;break}}if(b(A))return a.queueElement(t,i),A;v.context.translate(v.usedWidth,0),v.context.scale(h,h),this.drawElement(v.context,t,e,p,!1),v.context.scale(1/h,1/h),v.context.translate(-v.usedWidth,0)}return m={x:v.usedWidth,texture:v,level:i,scale:h,width:d,height:f,scaledLabelShown:p},v.usedWidth+=Math.ceil(d+Ytt),v.eleCaches.push(m),u.set(t,i,m),a.checkTextureFullness(v),m};ma.invalidateElements=function(t){for(var e=0;e=Qtt*t.width&&this.retireTexture(t)};ma.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>Ztt&&t.fullnessChecks>=Jtt?Md(r,t):t.fullnessChecks++};ma.retireTexture=function(t){var e=this,r=t.height,i=e.getTextureQueue(r),n=this.lookup;Md(i,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,QB(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),Md(n,s),i.push(s),s}};ma.queueElement=function(t,e){var r=this,i=r.getElementQueue(),n=r.getElementKeyToQueue(),a=this.getKey(t),s=n[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,i.updateItem(s);else{var l={eles:t.spawn().merge(t),level:e,reqs:1,key:a};i.push(l),n[a]=l}};ma.dequeue=function(t){for(var e=this,r=e.getElementQueue(),i=e.getElementKeyToQueue(),n=[],a=e.lookup,s=0;s0;s++){var l=r.pop(),u=l.key,h=l.eles[0],f=a.hasCache(h,l.level);if(i[u]=null,f)continue;n.push(l);var d=e.getBoundingBox(h);e.getElement(h,d,t,l.level,uy.dequeue)}return n};ma.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),i=e.getElementKeyToQueue(),n=this.getKey(t),a=i[n];a!=null&&(a.eles.length===1?(a.reqs=XB,r.updateItem(a),r.pop(),i[n]=null):a.eles.unmerge(t))};ma.onDequeue=function(t){this.onDequeues.push(t)};ma.offDequeue=function(t){Md(this.onDequeues,t)};ma.setupDequeueing=B1e.setupDequeueing({deqRedrawThreshold:nrt,deqCost:ert,deqAvgCost:trt,deqNoDrawCost:rrt,deqFastCost:irt,deq:o(function(e,r,i){return e.dequeue(r,i)},"deq"),onDeqd:o(function(e,r){for(var i=0;i=lrt||r>kS)return null}i.validateLayersElesOrdering(r,t);var u=i.layersByLevel,h=Math.pow(2,r),f=u[r]=u[r]||[],d,p=i.levelIsComplete(r,t),m,g=o(function(){var M=o(function(N){if(i.validateLayersElesOrdering(N,t),i.levelIsComplete(N,t))return m=u[N],!0},"canUseAsTmpLvl"),I=o(function(N){if(!m)for(var R=r+N;eT<=R&&R<=kS&&!M(R);R+=N);},"checkLvls");I(1),I(-1);for(var A=f.length-1;A>=0;A--){var _=f[A];_.invalid&&Md(f,_)}},"checkTempLevels");if(!p)g();else return f;var y=o(function(){if(!d){d=Us();for(var M=0;MZme||_>Zme)return null;var D=A*_;if(D>grt)return null;var N=i.makeLayer(d,r);if(I!=null){var R=f.indexOf(I)+1;f.splice(R,0,N)}else(M.insert===void 0||M.insert)&&f.unshift(N);return N},"makeLayer");if(i.skipping&&!l)return null;for(var x=null,b=t.length/ort,T=!l,w=0;w=b||!Ige(x.bb,k.boundingBox()))&&(x=v({insert:!0,after:x}),!x))return null;m||T?i.queueLayer(x,k):i.drawEleInLayer(x,k,r,e),x.eles.push(k),E[r]=x}return m||(T?null:f)};is.getEleLevelForLayerLevel=function(t,e){return t};is.drawEleInLayer=function(t,e,r,i){var n=this,a=this.renderer,s=t.context,l=e.boundingBox();l.w===0||l.h===0||!e.visible()||(r=n.getEleLevelForLayerLevel(r,i),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,yrt),a.setImgSmoothing(s,!0))};is.levelIsComplete=function(t,e){var r=this,i=r.layersByLevel[t];if(!i||i.length===0)return!1;for(var n=0,a=0;a0||s.invalid)return!1;n+=s.eles.length}return n===e.length};is.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var i=0;i0){e=!0;break}}return e};is.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Kh(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,o(function(i,n,a){e.invalidateLayer(i)},"invalAssocLayers")))};is.invalidateLayer=function(t){if(this.lastInvalidationTime=Kh(),!t.invalid){var e=t.level,r=t.eles,i=this.layersByLevel[e];Md(i,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var n=0;n3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,l=e._private.rscratch;if(!(a&&!e.visible())&&!(l.badLine||l.allpts==null||isNaN(l.allpts[0]))){var u;r&&(u=r,t.translate(-u.x1,-u.y1));var h=a?e.pstyle("opacity").value:1,f=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,p=e.pstyle("line-style").value,m=e.pstyle("width").pfValue,g=e.pstyle("line-cap").value,y=e.pstyle("line-outline-width").value,v=e.pstyle("line-outline-color").value,x=h*f,b=h*f,T=o(function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,N),s.drawEdgeTrianglePath(e,t,l.allpts)):(t.lineWidth=m,t.lineCap=g,s.eleStrokeStyle(t,e,N),s.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLine"),w=o(function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=m+y,t.lineCap=g,y>0)s.colorStrokeStyle(t,v[0],v[1],v[2],N);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,l.allpts):(s.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLineOutline"),k=o(function(){n&&s.drawEdgeOverlay(t,e)},"drawOverlay"),C=o(function(){n&&s.drawEdgeUnderlay(t,e)},"drawUnderlay"),E=o(function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b;s.drawArrowheads(t,e,N)},"drawArrows"),S=o(function(){s.drawElementText(t,e,null,i)},"drawText");t.lineJoin="round";var L=e.pstyle("ghost").value==="yes";if(L){var M=e.pstyle("ghost-offset-x").pfValue,I=e.pstyle("ghost-offset-y").pfValue,A=e.pstyle("ghost-opacity").value,_=x*A;t.translate(M,I),T(_),E(_),t.translate(-M,-I)}else w();C(),T(),E(),k(),S(),r&&t.translate(u.x1,u.y1)}};G1e=o(function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,i){if(i.visible()){var n=i.pstyle("".concat(e,"-opacity")).value;if(n!==0){var a=this,s=a.usePaths(),l=i._private.rscratch,u=i.pstyle("".concat(e,"-padding")).pfValue,h=2*u,f=i.pstyle("".concat(e,"-color")).value;r.lineWidth=h,l.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,f[0],f[1],f[2],n),a.drawEdgePath(i,r,l.allpts,"solid")}}}},"drawEdgeOverlayUnderlay");Jh.drawEdgeOverlay=G1e("overlay");Jh.drawEdgeUnderlay=G1e("underlay");Jh.drawEdgePath=function(t,e,r,i){var n=t._private.rscratch,a=e,s,l=!1,u=this.usePaths(),h=t.pstyle("line-dash-pattern").pfValue,f=t.pstyle("line-dash-offset").pfValue;if(u){var d=r.join("$"),p=n.pathCacheKey&&n.pathCacheKey===d;p?(s=e=n.pathCache,l=!0):(s=e=new Path2D,n.pathCacheKey=d,n.pathCache=s)}if(a.setLineDash)switch(i){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(h),a.lineDashOffset=f;break;case"solid":a.setLineDash([]);break}if(!l&&!n.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),n.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var m=2;m+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(i==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(i===!1)return;if(e.isNode()){var l=e.pstyle("label");if(!l||!l.value)return;var u=s.getLabelJustification(e);t.textAlign=u,t.textBaseline="bottom"}else{var h=e.element()._private.rscratch.badLine,f=e.pstyle("label"),d=e.pstyle("source-label"),p=e.pstyle("target-label");if(h||(!f||!f.value)&&(!d||!d.value)&&(!p||!p.value))return;t.textAlign="center",t.textBaseline="bottom"}var m=!r,g;r&&(g=r,t.translate(-g.x1,-g.y1)),n==null?(s.drawText(t,e,null,m,a),e.isEdge()&&(s.drawText(t,e,"source",m,a),s.drawText(t,e,"target",m,a))):s.drawText(t,e,n,m,a),r&&t.translate(g.x1,g.y1)};am.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,i=e.pstyle("font-style").strValue,n=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,l=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,u=e.pstyle("text-outline-opacity").value*l,h=e.pstyle("color").value,f=e.pstyle("text-outline-color").value;t.font=i+" "+s+" "+n+" "+a,t.lineJoin="round",this.colorFillStyle(t,h[0],h[1],h[2],l),this.colorStrokeStyle(t,f[0],f[1],f[2],u)};o(_rt,"circle");o(rge,"roundRect");am.getTextAngle=function(t,e){var r,i=t._private,n=i.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var l=_o(n,"labelAngle",e);r=t.isEdge()?l:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};am.drawText=function(t,e,r){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,l=n?e.effectiveOpacity():1;if(!(n&&(l===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var u=_o(s,"labelX",r),h=_o(s,"labelY",r),f,d,p=this.getLabelText(e,r);if(p!=null&&p!==""&&!isNaN(u)&&!isNaN(h)){this.setupTextStyle(t,e,n);var m=r?r+"-":"",g=_o(s,"labelWidth",r),y=_o(s,"labelHeight",r),v=e.pstyle(m+"text-margin-x").pfValue,x=e.pstyle(m+"text-margin-y").pfValue,b=e.isEdge(),T=e.pstyle("text-halign").value,w=e.pstyle("text-valign").value;b&&(T="center",w="center"),u+=v,h+=x;var k;switch(i?k=this.getTextAngle(e,r):k=0,k!==0&&(f=u,d=h,t.translate(f,d),t.rotate(k),u=0,h=0),w){case"top":break;case"center":h+=y/2;break;case"bottom":h+=y;break}var C=e.pstyle("text-background-opacity").value,E=e.pstyle("text-border-opacity").value,S=e.pstyle("text-border-width").pfValue,L=e.pstyle("text-background-padding").pfValue,M=e.pstyle("text-background-shape").strValue,I=M==="round-rectangle"||M==="roundrectangle",A=M==="circle",_=2;if(C>0||S>0&&E>0){var D=t.fillStyle,N=t.strokeStyle,R=t.lineWidth,B=e.pstyle("text-background-color").value,O=e.pstyle("text-border-color").value,$=e.pstyle("text-border-style").value,z=C>0,F=S>0&&E>0,V=u-L;switch(T){case"left":V-=g;break;case"center":V-=g/2;break}var H=h-y-L,X=g+2*L,W=y+2*L;if(z&&(t.fillStyle="rgba(".concat(B[0],",").concat(B[1],",").concat(B[2],",").concat(C*l,")")),F&&(t.strokeStyle="rgba(".concat(O[0],",").concat(O[1],",").concat(O[2],",").concat(E*l,")"),t.lineWidth=S,t.setLineDash))switch($){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=S/4,t.setLineDash([]);break;case"solid":default:t.setLineDash([]);break}if(I?(t.beginPath(),rge(t,V,H,X,W,_)):A?(t.beginPath(),_rt(t,V,H,X,W)):(t.beginPath(),t.rect(V,H,X,W)),z&&t.fill(),F&&t.stroke(),F&&$==="double"){var Z=S/2;t.beginPath(),I?rge(t,V+Z,H+Z,X-2*Z,W-2*Z,_):t.rect(V+Z,H+Z,X-2*Z,W-2*Z),t.stroke()}t.fillStyle=D,t.strokeStyle=N,t.lineWidth=R,t.setLineDash&&t.setLineDash([])}var Y=2*e.pstyle("text-outline-width").pfValue;if(Y>0&&(t.lineWidth=Y),e.pstyle("text-wrap").value==="wrap"){var ae=_o(s,"labelWrapCachedLines",r),J=_o(s,"labelLineHeight",r),ee=g/2,re=this.getLabelJustification(e);switch(re==="auto"||(T==="left"?re==="left"?u+=-g:re==="center"&&(u+=-ee):T==="center"?re==="left"?u+=-ee:re==="right"&&(u+=ee):T==="right"&&(re==="center"?u+=ee:re==="right"&&(u+=g))),w){case"top":h-=(ae.length-1)*J;break;case"center":case"bottom":h-=(ae.length-1)*J;break}for(var te=0;te0&&t.strokeText(ae[te],u,h),t.fillText(ae[te],u,h),h+=J}else Y>0&&t.strokeText(p,u,h),t.fillText(p,u,h);k!==0&&(t.rotate(-k),t.translate(-f,-d))}}};Vd={};Vd.drawNode=function(t,e,r){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,l,u,h=e._private,f=h.rscratch,d=e.position();if(!(!Mt(d.x)||!Mt(d.y))&&!(a&&!e.visible())){var p=a?e.effectiveOpacity():1,m=s.usePaths(),g,y=!1,v=e.padding();l=e.width()+2*v,u=e.height()+2*v;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var b=e.pstyle("background-image"),T=b.value,w=new Array(T.length),k=new Array(T.length),C=0,E=0;E0&&arguments[0]!==void 0?arguments[0]:_;s.eleFillStyle(t,e,U)},"setupShapeColor"),J=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:F;s.colorStrokeStyle(t,D[0],D[1],D[2],U)},"setupBorderColor"),ee=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:W;s.colorStrokeStyle(t,H[0],H[1],H[2],U)},"setupOutlineColor"),re=o(function(U,ue,G,se){var le=s.nodePathCache=s.nodePathCache||[],ke=Sge(G==="polygon"?G+","+se.join(","):G,""+ue,""+U,""+Y),me=le[ke],ye,Re=!1;return me!=null?(ye=me,Re=!0,f.pathCache=ye):(ye=new Path2D,le[ke]=f.pathCache=ye),{path:ye,cacheHit:Re}},"getPath"),te=e.pstyle("shape").strValue,be=e.pstyle("shape-polygon-points").pfValue;if(m){t.translate(d.x,d.y);var de=re(l,u,te,be);g=de.path,y=de.cacheHit}var Ee=o(function(){if(!y){var U=d;m&&(U={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(g||t,U.x,U.y,l,u,Y,f)}m?t.fill(g):t.fill()},"drawShape"),Ne=o(function(){for(var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,G=h.backgrounding,se=0,le=0;le0&&arguments[0]!==void 0?arguments[0]:!1,ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p;s.hasPie(e)&&(s.drawPie(t,e,ue),U&&(m||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Y,f)))},"drawPie"),Te=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p;s.hasStripe(e)&&(t.save(),m?t.clip(f.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Y,f),t.clip()),s.drawStripe(t,e,ue),t.restore(),U&&(m||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Y,f)))},"drawStripe"),De=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,ue=(I>0?I:-I)*U,G=I>0?0:255;I!==0&&(s.colorFillStyle(t,G,G,G,ue),m?t.fill(g):t.fill())},"darken"),$e=o(function(){if(A>0){if(t.lineWidth=A,t.lineCap=B,t.lineJoin=R,t.setLineDash)switch(N){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash($),t.lineDashOffset=z;break;case"solid":case"double":t.setLineDash([]);break}if(O!=="center"){if(t.save(),t.lineWidth*=2,O==="inside")m?t.clip(g):t.clip();else{var U=new Path2D;U.rect(-l/2-A,-u/2-A,l+2*A,u+2*A),U.addPath(g),t.clip(U,"evenodd")}m?t.stroke(g):t.stroke(),t.restore()}else m?t.stroke(g):t.stroke();if(N==="double"){t.lineWidth=A/3;var ue=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",m?t.stroke(g):t.stroke(),t.globalCompositeOperation=ue}t.setLineDash&&t.setLineDash([])}},"drawBorder"),pe=o(function(){if(V>0){if(t.lineWidth=V,t.lineCap="butt",t.setLineDash)switch(X){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var U=d;m&&(U={x:0,y:0});var ue=s.getNodeShape(e),G=A;O==="inside"&&(G=0),O==="outside"&&(G*=2);var se=(l+G+(V+Z))/l,le=(u+G+(V+Z))/u,ke=l*se,me=u*le,ye=s.nodeShapes[ue].points,Re;if(m){var ve=re(ke,me,ue,ye);Re=ve.path}if(ue==="ellipse")s.drawEllipsePath(Re||t,U.x,U.y,ke,me);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(ue)){var Oe=0,We=0,Be=0;ue==="round-diamond"?Oe=(G+Z+V)*1.4:ue==="round-heptagon"?(Oe=(G+Z+V)*1.075,Be=-(G/2+Z+V)/35):ue==="round-hexagon"?Oe=(G+Z+V)*1.12:ue==="round-pentagon"?(Oe=(G+Z+V)*1.13,Be=-(G/2+Z+V)/15):ue==="round-tag"?(Oe=(G+Z+V)*1.12,We=(G/2+V+Z)*.07):ue==="round-triangle"&&(Oe=(G+Z+V)*(Math.PI/2),Be=-(G+Z/2+V)/Math.PI),Oe!==0&&(se=(l+Oe)/l,ke=l*se,["round-hexagon","round-tag"].includes(ue)||(le=(u+Oe)/u,me=u*le)),Y=Y==="auto"?Pge(ke,me):Y;for(var Qe=ke/2,ce=me/2,it=Y+(G+V+Z)/2,fe=new Array(ye.length/2),ut=new Array(ye.length/2),Nt=0;Nt0){if(n=n||i.position(),a==null||s==null){var m=i.padding();a=i.width()+2*m,s=i.height()+2*m}l.colorFillStyle(r,f[0],f[1],f[2],h),l.nodeShapes[d].draw(r,n.x,n.y,a+u*2,s+u*2,p),r.fill()}}}},"drawNodeOverlayUnderlay");Vd.drawNodeOverlay=V1e("overlay");Vd.drawNodeUnderlay=V1e("underlay");Vd.hasPie=function(t){return t=t[0],t._private.hasPie};Vd.hasStripe=function(t){return t=t[0],t._private.hasStripe};Vd.drawPie=function(t,e,r,i){e=e[0],i=i||e.position();var n=e.cy().style(),a=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),l=e.pstyle("pie-start-angle").pfValue,u=i.x,h=i.y,f=e.width(),d=e.height(),p=Math.min(f,d)/2,m,g=0,y=this.usePaths();if(y&&(u=0,h=0),a.units==="%"?p=p*a.pfValue:a.pfValue!==void 0&&(p=a.pfValue/2),s.units==="%"?m=p*s.pfValue:s.pfValue!==void 0&&(m=s.pfValue/2),!(m>=p))for(var v=1;v<=n.pieBackgroundN;v++){var x=e.pstyle("pie-"+v+"-background-size").value,b=e.pstyle("pie-"+v+"-background-color").value,T=e.pstyle("pie-"+v+"-background-opacity").value*r,w=x/100;w+g>1&&(w=1-g);var k=1.5*Math.PI+2*Math.PI*g;k+=l;var C=2*Math.PI*w,E=k+C;x===0||g>=1||g+w>1||(m===0?(t.beginPath(),t.moveTo(u,h),t.arc(u,h,p,k,E),t.closePath()):(t.beginPath(),t.arc(u,h,p,k,E),t.arc(u,h,m,E,k,!0),t.closePath()),this.colorFillStyle(t,b[0],b[1],b[2],T),t.fill(),g+=w)}};Vd.drawStripe=function(t,e,r,i){e=e[0],i=i||e.position();var n=e.cy().style(),a=i.x,s=i.y,l=e.width(),u=e.height(),h=0,f=this.usePaths();t.save();var d=e.pstyle("stripe-direction").value,p=e.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var m=l,g=u;p.units==="%"?(m=m*p.pfValue,g=g*p.pfValue):p.pfValue!==void 0&&(m=p.pfValue,g=p.pfValue),f&&(a=0,s=0),s-=m/2,a-=g/2;for(var y=1;y<=n.stripeBackgroundN;y++){var v=e.pstyle("stripe-"+y+"-background-size").value,x=e.pstyle("stripe-"+y+"-background-color").value,b=e.pstyle("stripe-"+y+"-background-opacity").value*r,T=v/100;T+h>1&&(T=1-h),!(v===0||h>=1||h+T>1)&&(t.beginPath(),t.rect(a,s+g*h,m,g*T),t.closePath(),this.colorFillStyle(t,x[0],x[1],x[2],b),t.fill(),h+=T)}t.restore()};Hs={},Drt=100;Hs.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};Hs.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,i,n=0;ne.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(f[e.NODE]=!0,f[e.SELECT_BOX]=!0);var b=r.style(),T=r.zoom(),w=s!==void 0?s:T,k=r.pan(),C={x:k.x,y:k.y},E={zoom:T,pan:{x:k.x,y:k.y}},S=e.prevViewport,L=S===void 0||E.zoom!==S.zoom||E.pan.x!==S.pan.x||E.pan.y!==S.pan.y;!L&&!(y&&!g)&&(e.motionBlurPxRatio=1),l&&(C=l),w*=u,C.x*=u,C.y*=u;var M=e.getCachedZSortedEles();function I(J,ee,re,te,be){var de=J.globalCompositeOperation;J.globalCompositeOperation="destination-out",e.colorFillStyle(J,255,255,255,e.motionBlurTransparency),J.fillRect(ee,re,te,be),J.globalCompositeOperation=de}o(I,"mbclear");function A(J,ee){var re,te,be,de;!e.clearingMotionBlur&&(J===h.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||J===h.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(re={x:k.x*m,y:k.y*m},te=T*m,be=e.canvasWidth*m,de=e.canvasHeight*m):(re=C,te=w,be=e.canvasWidth,de=e.canvasHeight),J.setTransform(1,0,0,1,0,0),ee==="motionBlur"?I(J,0,0,be,de):!i&&(ee===void 0||ee)&&J.clearRect(0,0,be,de),n||(J.translate(re.x,re.y),J.scale(te,te)),l&&J.translate(l.x,l.y),s&&J.scale(s,s)}if(o(A,"setContextTransform"),d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var _=e.data.bufferContexts[e.TEXTURE_BUFFER];_.setTransform(1,0,0,1,0,0),_.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:_,drawOnlyNodeLayer:!0,forcedPxRatio:u*e.textureMult});var E=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};E.mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}f[e.DRAG]=!1,f[e.NODE]=!1;var D=h.contexts[e.NODE],N=e.textureCache.texture,E=e.textureCache.viewport;D.setTransform(1,0,0,1,0,0),p?I(D,0,0,E.width,E.height):D.clearRect(0,0,E.width,E.height);var R=b.core("outside-texture-bg-color").value,B=b.core("outside-texture-bg-opacity").value;e.colorFillStyle(D,R[0],R[1],R[2],B),D.fillRect(0,0,E.width,E.height);var T=r.zoom();A(D,!1),D.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/u,E.height/E.zoom/u),D.drawImage(N,E.mpan.x,E.mpan.y,E.width/E.zoom/u,E.height/E.zoom/u)}else e.textureOnViewport&&!i&&(e.textureCache=null);var O=r.extent(),$=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),z=e.hideEdgesOnViewport&&$,F=[];if(F[e.NODE]=!f[e.NODE]&&p&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,F[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),F[e.DRAG]=!f[e.DRAG]&&p&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,F[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),f[e.NODE]||n||a||F[e.NODE]){var V=p&&!F[e.NODE]&&m!==1,D=i||(V?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:h.contexts[e.NODE]),H=p&&!V?"motionBlur":void 0;A(D,H),z?e.drawCachedNodes(D,M.nondrag,u,O):e.drawLayeredElements(D,M.nondrag,u,O),e.debug&&e.drawDebugPoints(D,M.nondrag),!n&&!p&&(f[e.NODE]=!1)}if(!a&&(f[e.DRAG]||n||F[e.DRAG])){var V=p&&!F[e.DRAG]&&m!==1,D=i||(V?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:h.contexts[e.DRAG]);A(D,p&&!V?"motionBlur":void 0),z?e.drawCachedNodes(D,M.drag,u,O):e.drawCachedElements(D,M.drag,u,O),e.debug&&e.drawDebugPoints(D,M.drag),!n&&!p&&(f[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,A),p&&m!==1){var X=h.contexts[e.NODE],W=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],Z=h.contexts[e.DRAG],Y=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],ae=o(function(ee,re,te){ee.setTransform(1,0,0,1,0,0),te||!x?ee.clearRect(0,0,e.canvasWidth,e.canvasHeight):I(ee,0,0,e.canvasWidth,e.canvasHeight);var be=m;ee.drawImage(re,0,0,e.canvasWidth*be,e.canvasHeight*be,0,0,e.canvasWidth,e.canvasHeight)},"drawMotionBlur");(f[e.NODE]||F[e.NODE])&&(ae(X,W,F[e.NODE]),f[e.NODE]=!1),(f[e.DRAG]||F[e.DRAG])&&(ae(Z,Y,F[e.DRAG]),f[e.DRAG]=!1)}e.prevViewport=E,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),p&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,f[e.NODE]=!0,f[e.DRAG]=!0,e.redraw()},Drt)),i||r.emit("render")};Hs.drawSelectionRectangle=function(t,e){var r=this,i=r.cy,n=r.data,a=i.style(),s=t.drawOnlyNodeLayer,l=t.drawAllLayers,u=n.canvasNeedsRedraw,h=t.forcedContext;if(r.showFps||!s&&u[r.SELECT_BOX]&&!l){var f=h||n.contexts[r.SELECT_BOX];if(e(f),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),p=a.core("selection-box-border-width").value/d;f.lineWidth=p,f.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",f.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),p>0&&(f.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",f.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(n.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),m=n.bgActivePosistion;f.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",f.beginPath(),f.arc(m.x,m.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),f.fill()}var g=r.lastRedrawTime;if(r.showFps&&g){g=Math.round(g);var y=Math.round(1e3/g),v="1 frame = "+g+" ms = "+y+" fps";if(f.setTransform(1,0,0,1,0,0),f.fillStyle="rgba(255, 0, 0, 0.75)",f.strokeStyle="rgba(255, 0, 0, 0.75)",f.font="30px Arial",!Yb){var x=f.measureText(v);Yb=x.actualBoundingBoxAscent}f.fillText(v,0,Yb);var b=60;f.strokeRect(0,Yb+10,250,20),f.fillRect(0,Yb+10,250*Math.min(y/b,1),20)}l||(u[r.SELECT_BOX]=!1)}};o(ige,"compileShader");o(Lrt,"createProgram");o(Rrt,"createTextureCanvas");o(mF,"getEffectivePanZoom");o(Nrt,"getEffectiveZoom");o(Irt,"modelToRenderedPosition");o(Mrt,"isSimpleShape");o(Ort,"arrayEqual");o(H0,"toWebGLColor");o(ay,"indexToVec4");o(Prt,"vec4ToIndex");o(Brt,"createTexture");o(q1e,"getTypeInfo");o(W1e,"createTypedArray");o(Frt,"createTypedArrayView");o($rt,"createBufferStaticDraw");o(Pu,"createBufferDynamicDraw");o(zrt,"create3x3MatrixBufferDynamicDraw");o(Grt,"createPickingFrameBuffer");nge=typeof Float32Array<"u"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)});o(xB,"create");o(age,"identity");o(Vrt,"multiply");o(uS,"translate");o(sge,"rotate");o(GB,"scale");o(qrt,"projection");Wrt=(function(){function t(e,r,i,n){$d(this,t),this.debugID=Math.floor(Math.random()*1e4),this.r=e,this.texSize=r,this.texRows=i,this.texHeight=Math.floor(r/i),this.enableWrapping=!0,this.locked=!1,this.texture=null,this.needsBuffer=!0,this.freePointer={x:0,row:0},this.keyToLocation=new Map,this.canvas=n(e,r,r),this.scratch=n(e,r,this.texHeight,"scratch")}return o(t,"Atlas"),zd(t,[{key:"lock",value:o(function(){this.locked=!0},"lock")},{key:"getKeys",value:o(function(){return new Set(this.keyToLocation.keys())},"getKeys")},{key:"getScale",value:o(function(r){var i=r.w,n=r.h,a=this.texHeight,s=this.texSize,l=a/n,u=i*l,h=n*l;return u>s&&(l=s/i,u=i*l,h=n*l),{scale:l,texW:u,texH:h}},"getScale")},{key:"draw",value:o(function(r,i,n){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,l=this.texRows,u=this.texHeight,h=this.getScale(i),f=h.scale,d=h.texW,p=h.texH,m=o(function(T,w){if(n&&w){var k=w.context,C=T.x,E=T.row,S=C,L=u*E;k.save(),k.translate(S,L),k.scale(f,f),n(k,i),k.restore()}},"drawAt"),g=[null,null],y=o(function(){m(a.freePointer,a.canvas),g[0]={x:a.freePointer.x,y:a.freePointer.row*u,w:d,h:p},g[1]={x:a.freePointer.x+d,y:a.freePointer.row*u,w:0,h:p},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},"drawNormal"),v=o(function(){var T=a.scratch,w=a.canvas;T.clear(),m({x:0,row:0},T);var k=s-a.freePointer.x,C=d-k,E=u;{var S=a.freePointer.x,L=a.freePointer.row*u,M=k;w.context.drawImage(T,0,0,M,E,S,L,M,E),g[0]={x:S,y:L,w:M,h:p}}{var I=k,A=(a.freePointer.row+1)*u,_=C;w&&w.context.drawImage(T,I,0,_,E,0,A,_,E),g[1]={x:0,y:A,w:_,h:p}}a.freePointer.x=C,a.freePointer.row++},"drawWrapped"),x=o(function(){a.freePointer.x=0,a.freePointer.row++},"moveToStartOfNextRow");if(this.freePointer.x+d<=s)y();else{if(this.freePointer.row>=l-1)return!1;this.freePointer.x===s?(x(),y()):this.enableWrapping?v():(x(),y())}return this.keyToLocation.set(r,g),this.needsBuffer=!0,g},"draw")},{key:"getOffsets",value:o(function(r){return this.keyToLocation.get(r)},"getOffsets")},{key:"isEmpty",value:o(function(){return this.freePointer.x===0&&this.freePointer.row===0},"isEmpty")},{key:"canFit",value:o(function(r){if(this.locked)return!1;var i=this.texSize,n=this.texRows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>i?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},a=n.forceRedraw,s=a===void 0?!1:a,l=n.filterEle,u=l===void 0?function(){return!0}:l,h=n.filterType,f=h===void 0?function(){return!0}:h,d=!1,p=!1,m=Lo(r),g;try{for(m.s();!(g=m.n()).done;){var y=g.value;if(u(y)){var v=Lo(this.renderTypes.values()),x;try{var b=o(function(){var w=x.value,k=w.type;if(f(k)){var C=i.collections.get(w.collection),E=w.getKey(y),S=Array.isArray(E)?E:[E];if(s)S.forEach(function(A){return C.markKeyForGC(A)}),p=!0;else{var L=w.getID?w.getID(y):y.id(),M=i._key(k,L),I=i.typeAndIdToKey.get(M);I!==void 0&&!Ort(S,I)&&(d=!0,i.typeAndIdToKey.delete(M),I.forEach(function(A){return C.markKeyForGC(A)}))}}},"_loop2");for(v.s();!(x=v.n()).done;)b()}catch(T){v.e(T)}finally{v.f()}}}}catch(T){m.e(T)}finally{m.f()}return p&&(this.gc(),d=!1),d},"invalidate")},{key:"gc",value:o(function(){var r=Lo(this.collections.values()),i;try{for(r.s();!(i=r.n()).done;){var n=i.value;n.gc()}}catch(a){r.e(a)}finally{r.f()}},"gc")},{key:"getOrCreateAtlas",value:o(function(r,i,n,a){var s=this.renderTypes.get(i),l=this.collections.get(s.collection),u=!1,h=l.draw(a,n,function(p){s.drawClipped?(p.save(),p.beginPath(),p.rect(0,0,n.w,n.h),p.clip(),s.drawElement(p,r,n,!0,!0),p.restore()):s.drawElement(p,r,n,!0,!0),u=!0});if(u){var f=s.getID?s.getID(r):r.id(),d=this._key(i,f);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return h},"getOrCreateAtlas")},{key:"getAtlasInfo",value:o(function(r,i){var n=this,a=this.renderTypes.get(i),s=a.getKey(r),l=Array.isArray(s)?s:[s];return l.map(function(u){var h=a.getBoundingBox(r,u),f=n.getOrCreateAtlas(r,i,h,u),d=f.getOffsets(u),p=ea(d,2),m=p[0],g=p[1];return{atlas:f,tex:m,tex1:m,tex2:g,bb:h}})},"getAtlasInfo")},{key:"getDebugInfo",value:o(function(){var r=[],i=Lo(this.collections),n;try{for(i.s();!(n=i.n()).done;){var a=ea(n.value,2),s=a[0],l=a[1],u=l.getCounts(),h=u.keyCount,f=u.atlasCount;r.push({type:s,keyCount:h,atlasCount:f})}}catch(d){i.e(d)}finally{i.f()}return r},"getDebugInfo")}])})(),jrt=(function(){function t(e){$d(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return o(t,"AtlasBatchManager"),zd(t,[{key:"getMaxAtlasesPerBatch",value:o(function(){return this.maxAtlasesPerBatch},"getMaxAtlasesPerBatch")},{key:"getAtlasSize",value:o(function(){return this.atlasSize},"getAtlasSize")},{key:"getIndexArray",value:o(function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,i){return i})},"getIndexArray")},{key:"startBatch",value:o(function(){this.batchAtlases=[]},"startBatch")},{key:"getAtlasCount",value:o(function(){return this.batchAtlases.length},"getAtlasCount")},{key:"getAtlases",value:o(function(){return this.batchAtlases},"getAtlases")},{key:"canAddToCurrentBatch",value:o(function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0},"canAddToCurrentBatch")},{key:"getAtlasIndexForBatch",value:o(function(r){var i=this.batchAtlases.indexOf(r);if(i<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(r),i=this.batchAtlases.length-1}return i},"getAtlasIndexForBatch")}])})(),Xrt=` - float circleSD(vec2 p, float r) { - return distance(vec2(0), p) - r; // signed distance - } -`,Krt=` - float rectangleSD(vec2 p, vec2 b) { - vec2 d = abs(p)-b; - return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0); - } -`,Qrt=` - float roundRectangleSD(vec2 p, vec2 b, vec4 cr) { - cr.xy = (p.x > 0.0) ? cr.xy : cr.zw; - cr.x = (p.y > 0.0) ? cr.x : cr.y; - vec2 q = abs(p) - b + cr.x; - return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x; - } -`,Zrt=` - float ellipseSD(vec2 p, vec2 ab) { - p = abs( p ); // symmetry - - // find root with Newton solver - vec2 q = ab*(p-ab); - float w = (q.x1.0) ? d : -d; - } -`,tT={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},CS={IGNORE:1,USE_BB:2},bB=0,oge=1,lge=2,TB=3,sy=4,JE=5,jb=6,Xb=7,Jrt=(function(){function t(e,r,i){$d(this,t),this.r=e,this.gl=r,this.maxInstances=i.webglBatchSize,this.atlasSize=i.webglTexSize,this.bgColor=i.bgColor,this.debug=i.webglDebug,this.batchDebugInfo=[],i.enableWrapping=!0,i.createTextureCanvas=Rrt,this.atlasManager=new Yrt(e,i),this.batchManager=new jrt(i),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(tT.SCREEN),this.pickingProgram=this._createShaderProgram(tT.PICKING),this.vao=this._createVAO()}return o(t,"ElementDrawingWebGL"),zd(t,[{key:"addAtlasCollection",value:o(function(r,i){this.atlasManager.addAtlasCollection(r,i)},"addAtlasCollection")},{key:"addTextureAtlasRenderType",value:o(function(r,i){this.atlasManager.addRenderType(r,i)},"addTextureAtlasRenderType")},{key:"addSimpleShapeRenderType",value:o(function(r,i){this.simpleShapeOptions.set(r,i)},"addSimpleShapeRenderType")},{key:"invalidate",value:o(function(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=i.type,a=this.atlasManager;return n?a.invalidate(r,{filterType:o(function(l){return l===n},"filterType"),forceRedraw:!0}):a.invalidate(r)},"invalidate")},{key:"gc",value:o(function(){this.atlasManager.gc()},"gc")},{key:"_createShaderProgram",value:o(function(r){var i=this.gl,n=`#version 300 es - precision highp float; - - uniform mat3 uPanZoomMatrix; - uniform int uAtlasSize; - - // instanced - in vec2 aPosition; // a vertex from the unit square - - in mat3 aTransform; // used to transform verticies, eg into a bounding box - in int aVertType; // the type of thing we are rendering - - // the z-index that is output when using picking mode - in vec4 aIndex; - - // For textures - in int aAtlasId; // which shader unit/atlas to use - in vec4 aTex; // x/y/w/h of texture in atlas - - // for edges - in vec4 aPointAPointB; - in vec4 aPointCPointD; - in vec2 aLineWidth; // also used for node border width - - // simple shapes - in vec4 aCornerRadius; // for round-rectangle [top-right, bottom-right, top-left, bottom-left] - in vec4 aColor; // also used for edges - in vec4 aBorderColor; // aLineWidth is used for border width - - // output values passed to the fragment shader - out vec2 vTexCoord; - out vec4 vColor; - out vec2 vPosition; - // flat values are not interpolated - flat out int vAtlasId; - flat out int vVertType; - flat out vec2 vTopRight; - flat out vec2 vBotLeft; - flat out vec4 vCornerRadius; - flat out vec4 vBorderColor; - flat out vec2 vBorderWidth; - flat out vec4 vIndex; - - void main(void) { - int vid = gl_VertexID; - vec2 position = aPosition; // TODO make this a vec3, simplifies some code below - - if(aVertType == `.concat(bB,`) { - float texX = aTex.x; // texture coordinates - float texY = aTex.y; - float texW = aTex.z; - float texH = aTex.w; - - if(vid == 1 || vid == 2 || vid == 4) { - texX += texW; - } - if(vid == 2 || vid == 4 || vid == 5) { - texY += texH; - } - - float d = float(uAtlasSize); - vTexCoord = vec2(texX / d, texY / d); // tex coords must be between 0 and 1 - - gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0); - } - else if(aVertType == `).concat(sy," || aVertType == ").concat(Xb,` - || aVertType == `).concat(JE," || aVertType == ").concat(jb,`) { // simple shapes - - // the bounding box is needed by the fragment shader - vBotLeft = (aTransform * vec3(0, 0, 1)).xy; // flat - vTopRight = (aTransform * vec3(1, 1, 1)).xy; // flat - vPosition = (aTransform * vec3(position, 1)).xy; // will be interpolated - - // calculations are done in the fragment shader, just pass these along - vColor = aColor; - vCornerRadius = aCornerRadius; - vBorderColor = aBorderColor; - vBorderWidth = aLineWidth; - - gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0); - } - else if(aVertType == `).concat(oge,`) { - vec2 source = aPointAPointB.xy; - vec2 target = aPointAPointB.zw; - - // adjust the geometry so that the line is centered on the edge - position.y = position.y - 0.5; - - // stretch the unit square into a long skinny rectangle - vec2 xBasis = target - source; - vec2 yBasis = normalize(vec2(-xBasis.y, xBasis.x)); - vec2 point = source + xBasis * position.x + yBasis * aLineWidth[0] * position.y; - - gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0); - vColor = aColor; - } - else if(aVertType == `).concat(lge,`) { - vec2 pointA = aPointAPointB.xy; - vec2 pointB = aPointAPointB.zw; - vec2 pointC = aPointCPointD.xy; - vec2 pointD = aPointCPointD.zw; - - // adjust the geometry so that the line is centered on the edge - position.y = position.y - 0.5; - - vec2 p0, p1, p2, pos; - if(position.x == 0.0) { // The left side of the unit square - p0 = pointA; - p1 = pointB; - p2 = pointC; - pos = position; - } else { // The right side of the unit square, use same approach but flip the geometry upside down - p0 = pointD; - p1 = pointC; - p2 = pointB; - pos = vec2(0.0, -position.y); - } - - vec2 p01 = p1 - p0; - vec2 p12 = p2 - p1; - vec2 p21 = p1 - p2; - - // Find the normal vector. - vec2 tangent = normalize(normalize(p12) + normalize(p01)); - vec2 normal = vec2(-tangent.y, tangent.x); - - // Find the vector perpendicular to p0 -> p1. - vec2 p01Norm = normalize(vec2(-p01.y, p01.x)); - - // Determine the bend direction. - float sigma = sign(dot(p01 + p21, normal)); - float width = aLineWidth[0]; - - if(sign(pos.y) == -sigma) { - // This is an intersecting vertex. Adjust the position so that there's no overlap. - vec2 point = 0.5 * width * normal * -sigma / dot(normal, p01Norm); - gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0); - } else { - // This is a non-intersecting vertex. Treat it like a mitre join. - vec2 point = 0.5 * width * normal * sigma * dot(normal, p01Norm); - gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0); - } - - vColor = aColor; - } - else if(aVertType == `).concat(TB,` && vid < 3) { - // massage the first triangle into an edge arrow - if(vid == 0) - position = vec2(-0.15, -0.3); - if(vid == 1) - position = vec2( 0.0, 0.0); - if(vid == 2) - position = vec2( 0.15, -0.3); - - gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0); - vColor = aColor; - } - else { - gl_Position = vec4(2.0, 0.0, 0.0, 1.0); // discard vertex by putting it outside webgl clip space - } - - vAtlasId = aAtlasId; - vVertType = aVertType; - vIndex = aIndex; - } - `),a=this.batchManager.getIndexArray(),s=`#version 300 es - precision highp float; - - // declare texture unit for each texture atlas in the batch - `.concat(a.map(function(h){return"uniform sampler2D uTexture".concat(h,";")}).join(` - `),` - - uniform vec4 uBGColor; - uniform float uZoom; - - in vec2 vTexCoord; - in vec4 vColor; - in vec2 vPosition; // model coordinates - - flat in int vAtlasId; - flat in vec4 vIndex; - flat in int vVertType; - flat in vec2 vTopRight; - flat in vec2 vBotLeft; - flat in vec4 vCornerRadius; - flat in vec4 vBorderColor; - flat in vec2 vBorderWidth; - - out vec4 outColor; - - `).concat(Xrt,` - `).concat(Krt,` - `).concat(Qrt,` - `).concat(Zrt,` - - vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha - return vec4( - top.rgb + (bot.rgb * (1.0 - top.a)), - top.a + (bot.a * (1.0 - top.a)) - ); - } - - vec4 distInterp(vec4 cA, vec4 cB, float d) { // interpolate color using Signed Distance - // scale to the zoom level so that borders don't look blurry when zoomed in - // note 1.5 is an aribitrary value chosen because it looks good - return mix(cA, cB, 1.0 - smoothstep(0.0, 1.5 / uZoom, abs(d))); - } - - void main(void) { - if(vVertType == `).concat(bB,`) { - // look up the texel from the texture unit - `).concat(a.map(function(h){return"if(vAtlasId == ".concat(h,") outColor = texture(uTexture").concat(h,", vTexCoord);")}).join(` - else `),` - } - else if(vVertType == `).concat(TB,`) { - // mimics how canvas renderer uses context.globalCompositeOperation = 'destination-out'; - outColor = blend(vColor, uBGColor); - outColor.a = 1.0; // make opaque, masks out line under arrow - } - else if(vVertType == `).concat(sy,` && vBorderWidth == vec2(0.0)) { // simple rectangle with no border - outColor = vColor; // unit square is already transformed to the rectangle, nothing else needs to be done - } - else if(vVertType == `).concat(sy," || vVertType == ").concat(Xb,` - || vVertType == `).concat(JE," || vVertType == ").concat(jb,`) { // use SDF - - float outerBorder = vBorderWidth[0]; - float innerBorder = vBorderWidth[1]; - float borderPadding = outerBorder * 2.0; - float w = vTopRight.x - vBotLeft.x - borderPadding; - float h = vTopRight.y - vBotLeft.y - borderPadding; - vec2 b = vec2(w/2.0, h/2.0); // half width, half height - vec2 p = vPosition - vec2(vTopRight.x - b[0] - outerBorder, vTopRight.y - b[1] - outerBorder); // translate to center - - float d; // signed distance - if(vVertType == `).concat(sy,`) { - d = rectangleSD(p, b); - } else if(vVertType == `).concat(Xb,` && w == h) { - d = circleSD(p, b.x); // faster than ellipse - } else if(vVertType == `).concat(Xb,`) { - d = ellipseSD(p, b); - } else { - d = roundRectangleSD(p, b, vCornerRadius.wzyx); - } - - // use the distance to interpolate a color to smooth the edges of the shape, doesn't need multisampling - // we must smooth colors inwards, because we can't change pixels outside the shape's bounding box - if(d > 0.0) { - if(d > outerBorder) { - discard; - } else { - outColor = distInterp(vBorderColor, vec4(0), d - outerBorder); - } - } else { - if(d > innerBorder) { - vec4 outerColor = outerBorder == 0.0 ? vec4(0) : vBorderColor; - vec4 innerBorderColor = blend(vBorderColor, vColor); - outColor = distInterp(innerBorderColor, outerColor, d); - } - else { - vec4 outerColor; - if(innerBorder == 0.0 && outerBorder == 0.0) { - outerColor = vec4(0); - } else if(innerBorder == 0.0) { - outerColor = vBorderColor; - } else { - outerColor = blend(vBorderColor, vColor); - } - outColor = distInterp(vColor, outerColor, d - innerBorder); - } - } - } - else { - outColor = vColor; - } - - `).concat(r.picking?`if(outColor.a == 0.0) discard; - else outColor = vIndex;`:"",` - } - `),l=Lrt(i,n,s);l.aPosition=i.getAttribLocation(l,"aPosition"),l.aIndex=i.getAttribLocation(l,"aIndex"),l.aVertType=i.getAttribLocation(l,"aVertType"),l.aTransform=i.getAttribLocation(l,"aTransform"),l.aAtlasId=i.getAttribLocation(l,"aAtlasId"),l.aTex=i.getAttribLocation(l,"aTex"),l.aPointAPointB=i.getAttribLocation(l,"aPointAPointB"),l.aPointCPointD=i.getAttribLocation(l,"aPointCPointD"),l.aLineWidth=i.getAttribLocation(l,"aLineWidth"),l.aColor=i.getAttribLocation(l,"aColor"),l.aCornerRadius=i.getAttribLocation(l,"aCornerRadius"),l.aBorderColor=i.getAttribLocation(l,"aBorderColor"),l.uPanZoomMatrix=i.getUniformLocation(l,"uPanZoomMatrix"),l.uAtlasSize=i.getUniformLocation(l,"uAtlasSize"),l.uBGColor=i.getUniformLocation(l,"uBGColor"),l.uZoom=i.getUniformLocation(l,"uZoom"),l.uTextures=[];for(var u=0;u1&&arguments[1]!==void 0?arguments[1]:tT.SCREEN;this.panZoomMatrix=r,this.renderTarget=i,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()},"startFrame")},{key:"startBatch",value:o(function(){this.instanceCount=0,this.batchManager.startBatch()},"startBatch")},{key:"endFrame",value:o(function(){this.endBatch()},"endFrame")},{key:"_isVisible",value:o(function(r,i){return r.visible()?i&&i.isVisible?i.isVisible(r):!0:!1},"_isVisible")},{key:"drawTexture",value:o(function(r,i,n){var a=this.atlasManager,s=this.batchManager,l=a.getRenderTypeOpts(n);if(this._isVisible(r,l)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&l.getTexPickingMode){var u=l.getTexPickingMode(r);if(u===CS.IGNORE)return;if(u==CS.USE_BB){this.drawPickingRectangle(r,i,n);return}}var h=a.getAtlasInfo(r,n),f=Lo(h),d;try{for(f.s();!(d=f.n()).done;){var p=d.value,m=p.atlas,g=p.tex1,y=p.tex2;s.canAddToCurrentBatch(m)||this.endBatch();for(var v=s.getAtlasIndexForBatch(m),x=0,b=[[g,!0],[y,!1]];x=this.maxInstances&&this.endBatch()}}}}catch(I){f.e(I)}finally{f.f()}}},"drawTexture")},{key:"setTransformMatrix",value:o(function(r,i,n,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,l=0;if(n.shapeProps&&n.shapeProps.padding&&(l=r.pstyle(n.shapeProps.padding).pfValue),a){var u=a.bb,h=a.tex1,f=a.tex2,d=h.w/(h.w+f.w);s||(d=1-d);var p=this._getAdjustedBB(u,l,s,d);this._applyTransformMatrix(i,p,n,r)}else{var m=n.getBoundingBox(r),g=this._getAdjustedBB(m,l,!0,1);this._applyTransformMatrix(i,g,n,r)}},"setTransformMatrix")},{key:"_applyTransformMatrix",value:o(function(r,i,n,a){var s,l;age(r);var u=n.getRotation?n.getRotation(a):0;if(u!==0){var h=n.getRotationPoint(a),f=h.x,d=h.y;uS(r,r,[f,d]),sge(r,r,u);var p=n.getRotationOffset(a);s=p.x+(i.xOffset||0),l=p.y+(i.yOffset||0)}else s=i.x1,l=i.y1;uS(r,r,[s,l]),GB(r,r,[i.w,i.h])},"_applyTransformMatrix")},{key:"_getAdjustedBB",value:o(function(r,i,n,a){var s=r.x1,l=r.y1,u=r.w,h=r.h,f=r.yOffset;i&&(s-=i,l-=i,u+=2*i,h+=2*i);var d=0,p=u*a;return n&&a<1?u=p:!n&&a<1&&(d=u-p,s+=d,u=p),{x1:s,y1:l,w:u,h,xOffset:d,yOffset:f}},"_getAdjustedBB")},{key:"drawPickingRectangle",value:o(function(r,i,n){var a=this.atlasManager.getRenderTypeOpts(n),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=sy;var l=this.indexBuffer.getView(s);ay(i,l);var u=this.colorBuffer.getView(s);H0([0,0,0],1,u);var h=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,h,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()},"drawPickingRectangle")},{key:"drawNode",value:o(function(r,i,n){var a=this.simpleShapeOptions.get(n);if(this._isVisible(r,a)){var s=a.shapeProps,l=this._getVertTypeForShape(r,s.shape);if(l===void 0||a.isSimple&&!a.isSimple(r)){this.drawTexture(r,i,n);return}var u=this.instanceCount;if(this.vertTypeBuffer.getView(u)[0]=l,l===JE||l===jb){var h=a.getBoundingBox(r),f=this._getCornerRadius(r,s.radius,h),d=this.cornerRadiusBuffer.getView(u);d[0]=f,d[1]=f,d[2]=f,d[3]=f,l===jb&&(d[0]=0,d[2]=0)}var p=this.indexBuffer.getView(u);ay(i,p);var m=r.pstyle(s.color).value,g=r.pstyle(s.opacity).value,y=this.colorBuffer.getView(u);H0(m,g,y);var v=this.lineWidthBuffer.getView(u);if(v[0]=0,v[1]=0,s.border){var x=r.pstyle("border-width").value;if(x>0){var b=r.pstyle("border-color").value,T=r.pstyle("border-opacity").value,w=this.borderColorBuffer.getView(u);H0(b,T,w);var k=r.pstyle("border-position").value;if(k==="inside")v[0]=0,v[1]=-x;else if(k==="outside")v[0]=x,v[1]=0;else{var C=x/2;v[0]=C,v[1]=-C}}}var E=this.transformBuffer.getMatrixView(u);this.setTransformMatrix(r,E,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},"drawNode")},{key:"_getVertTypeForShape",value:o(function(r,i){var n=r.pstyle(i).value;switch(n){case"rectangle":return sy;case"ellipse":return Xb;case"roundrectangle":case"round-rectangle":return JE;case"bottom-round-rectangle":return jb;default:return}},"_getVertTypeForShape")},{key:"_getCornerRadius",value:o(function(r,i,n){var a=n.w,s=n.h;if(r.pstyle(i).value==="auto")return Od(a,s);var l=r.pstyle(i).pfValue,u=a/2,h=s/2;return Math.min(l,h,u)},"_getCornerRadius")},{key:"drawEdgeArrow",value:o(function(r,i,n){if(r.visible()){var a=r._private.rscratch,s,l,u;if(n==="source"?(s=a.arrowStartX,l=a.arrowStartY,u=a.srcArrowAngle):(s=a.arrowEndX,l=a.arrowEndY,u=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(l)||l==null||isNaN(u)||u==null)){var h=r.pstyle(n+"-arrow-shape").value;if(h!=="none"){var f=r.pstyle(n+"-arrow-color").value,d=r.pstyle("opacity").value,p=r.pstyle("line-opacity").value,m=d*p,g=r.pstyle("width").pfValue,y=r.pstyle("arrow-scale").value,v=this.r.getArrowWidth(g,y),x=this.instanceCount,b=this.transformBuffer.getMatrixView(x);age(b),uS(b,b,[s,l]),GB(b,b,[v,v]),sge(b,b,u),this.vertTypeBuffer.getView(x)[0]=TB;var T=this.indexBuffer.getView(x);ay(i,T);var w=this.colorBuffer.getView(x);H0(f,m,w),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}},"drawEdgeArrow")},{key:"drawEdgeLine",value:o(function(r,i){if(r.visible()){var n=this._getEdgePoints(r);if(n){var a=r.pstyle("opacity").value,s=r.pstyle("line-opacity").value,l=r.pstyle("width").pfValue,u=r.pstyle("line-color").value,h=a*s;if(n.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),n.length==4){var f=this.instanceCount;this.vertTypeBuffer.getView(f)[0]=oge;var d=this.indexBuffer.getView(f);ay(i,d);var p=this.colorBuffer.getView(f);H0(u,h,p);var m=this.lineWidthBuffer.getView(f);m[0]=l;var g=this.pointAPointBBuffer.getView(f);g[0]=n[0],g[1]=n[1],g[2]=n[2],g[3]=n[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var y=0;y=this.maxInstances&&this.endBatch()}}}},"drawEdgeLine")},{key:"_isValidEdge",value:o(function(r){var i=r._private.rscratch;return!(i.badLine||i.allpts==null||isNaN(i.allpts[0]))},"_isValidEdge")},{key:"_getEdgePoints",value:o(function(r){var i=r._private.rscratch;if(this._isValidEdge(r)){var n=i.allpts;if(n.length==4)return n;var a=this._getNumSegments(r);return this._getCurveSegmentPoints(n,a)}},"_getEdgePoints")},{key:"_getNumSegments",value:o(function(r){var i=15;return Math.min(Math.max(i,5),this.maxInstances)},"_getNumSegments")},{key:"_getCurveSegmentPoints",value:o(function(r,i){if(r.length==4)return r;for(var n=Array((i+1)*2),a=0;a<=i;a++)if(a==0)n[0]=r[0],n[1]=r[1];else if(a==i)n[a*2]=r[r.length-2],n[a*2+1]=r[r.length-1];else{var s=a/i;this._setCurvePoint(r,s,n,a*2)}return n},"_getCurveSegmentPoints")},{key:"_setCurvePoint",value:o(function(r,i,n,a){if(r.length<=2)n[a]=r[0],n[a+1]=r[1];else{for(var s=Array(r.length-2),l=0;l0}},"isLayerVisible"),l=o(function(d){var p=d.pstyle("text-events").strValue==="yes";return p?CS.USE_BB:CS.IGNORE},"getTexPickingMode"),u=o(function(d){var p=d.position(),m=p.x,g=p.y,y=d.outerWidth(),v=d.outerHeight();return{w:y,h:v,x1:m-y/2,y1:g-v/2}},"getBBForSimpleShape");r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:u,isSimple:Mrt,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:u,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:u,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:l,getKey:kB(e.getLabelKey,null),getBoundingBox:CB(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:n(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:l,getKey:kB(e.getSourceLabelKey,"source"),getBoundingBox:CB(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:n("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:l,getKey:kB(e.getTargetLabelKey,"target"),getBoundingBox:CB(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:n("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var h=yT(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(f,d){var p=!1;d&&d.length>0&&(p|=r.drawing.invalidate(d)),p&&h()}),tit(r)};o(eit,"getBGColor");o(H1e,"getLabelLines");kB=o(function(e,r){return function(i){var n=e(i),a=H1e(i,r);return a.length>1?a.map(function(s,l){return"".concat(n,"_").concat(l)}):n}},"getStyleKeysForLabel"),CB=o(function(e,r){return function(i,n){var a=e(i);if(typeof n=="string"){var s=n.indexOf("_");if(s>0){var l=Number(n.substring(s+1)),u=H1e(i,r),h=a.h/u.length,f=h*l,d=a.y1+f;return{x1:a.x1,w:a.w,y1:d,h,yOffset:f}}}return a}},"getBoundingBoxForLabel");o(tit,"overrideCanvasRendererFunctions");o(rit,"clearWebgl");o(iit,"clearCanvas");o(nit,"createPanZoomMatrix");o(Y1e,"setContextTransform");o(ait,"drawSelectionRectangle");o(sit,"drawAxes");o(oit,"drawAtlases");o(lit,"getPickingIndexes");o(cit,"findNearestElementsWebgl");o(wB,"drawEle");o(j1e,"renderWebgl");qd={};qd.drawPolygonPath=function(t,e,r,i,n,a){var s=i/2,l=n/2;t.beginPath&&t.beginPath(),t.moveTo(e+s*a[0],r+l*a[1]);for(var u=1;u0&&s>0){m.clearRect(0,0,a,s),m.globalCompositeOperation="source-over";var g=this.getCachedZSortedEles();if(t.full)m.translate(-i.x1*h,-i.y1*h),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(i.x1*h,i.y1*h);else{var y=e.pan(),v={x:y.x*h,y:y.y*h};h*=e.zoom(),m.translate(v.x,v.y),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(-v.x,-v.y)}t.bg&&(m.globalCompositeOperation="destination-over",m.fillStyle=t.bg,m.rect(0,0,a,s),m.fill())}return p};o(uit,"b64ToBlob");o(hge,"b64UriToB64");o(K1e,"output");CT.png=function(t){return K1e(t,this.bufferCanvasImage(t),"image/png")};CT.jpg=function(t){return K1e(t,this.bufferCanvasImage(t),"image/jpeg")};Q1e={};Q1e.nodeShapeImpl=function(t,e,r,i,n,a,s,l){switch(t){case"ellipse":return this.drawEllipsePath(e,r,i,n,a);case"polygon":return this.drawPolygonPath(e,r,i,n,a,s);case"round-polygon":return this.drawRoundPolygonPath(e,r,i,n,a,s,l);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,r,i,n,a,l);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,r,i,n,a,s,l);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,r,i,n,a,l);case"barrel":return this.drawBarrelPath(e,r,i,n,a)}};hit=Z1e,Yr=Z1e.prototype;Yr.CANVAS_LAYERS=3;Yr.SELECT_BOX=0;Yr.DRAG=1;Yr.NODE=2;Yr.WEBGL=3;Yr.CANVAS_TYPES=["2d","2d","2d","webgl2"];Yr.BUFFER_COUNT=3;Yr.TEXTURE_BUFFER=0;Yr.MOTIONBLUR_BUFFER_NODE=1;Yr.MOTIONBLUR_BUFFER_DRAG=2;o(Z1e,"CanvasRenderer");Yr.redrawHint=function(t,e){var r=this;switch(t){case"eles":r.data.canvasNeedsRedraw[Yr.NODE]=e;break;case"drag":r.data.canvasNeedsRedraw[Yr.DRAG]=e;break;case"select":r.data.canvasNeedsRedraw[Yr.SELECT_BOX]=e;break;case"gc":r.data.gc=!0;break}};fit=typeof Path2D<"u";Yr.path2dEnabled=function(t){if(t===void 0)return this.pathsEnabled;this.pathsEnabled=!!t};Yr.usePaths=function(){return fit&&this.pathsEnabled};Yr.setImgSmoothing=function(t,e){t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled=e:(t.webkitImageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e)};Yr.getImgSmoothing=function(t){return t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled};Yr.makeOffscreenCanvas=function(t,e){var r;if((typeof OffscreenCanvas>"u"?"undefined":pa(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var i=this.cy.window(),n=i.document;r=n.createElement("canvas"),r.width=t,r.height=e}return r};[z1e,Gu,Jh,pF,am,Vd,Hs,U1e,qd,CT,Q1e].forEach(function(t){yr(Yr,t)});dit=[{name:"null",impl:S1e},{name:"base",impl:P1e},{name:"canvas",impl:hit}],pit=[{type:"layout",extensions:$tt},{type:"renderer",extensions:dit}],J1e={},eye={};o(tye,"setExtension");o(rye,"getExtension");o(mit,"setModule");o(git,"getModule");WB=o(function(){if(arguments.length===2)return rye.apply(null,arguments);if(arguments.length===3)return tye.apply(null,arguments);if(arguments.length===4)return git.apply(null,arguments);if(arguments.length===5)return mit.apply(null,arguments);mn("Invalid extension access syntax")},"extension");uT.prototype.extension=WB;pit.forEach(function(t){t.extensions.forEach(function(e){tye(t.type,e.name,e.impl)})});wS=o(function(){if(!(this instanceof wS))return new wS;this.length=0},"Stylesheet"),im=wS.prototype;im.instanceString=function(){return"stylesheet"};im.selector=function(t){var e=this.length++;return this[e]={selector:t,properties:[]},this};im.css=function(t,e){var r=this.length-1;if(lr(t))this[r].properties.push({name:t,value:e});else if(si(t))for(var i=t,n=Object.keys(i),a=0;a{"use strict";o((function(e,r){typeof wT=="object"&&typeof yF=="object"?yF.exports=r():typeof define=="function"&&define.amd?define([],r):typeof wT=="object"?wT.layoutBase=r():e.layoutBase=r()}),"webpackUniversalModuleDefinition")(wT,function(){return(function(t){var e={};function r(i){if(e[i])return e[i].exports;var n=e[i]={i,l:!1,exports:{}};return t[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return o(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(i){return i},r.d=function(i,n,a){r.o(i,n)||Object.defineProperty(i,n,{configurable:!1,enumerable:!0,get:a})},r.n=function(i){var n=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return r.d(n,"a",n),n},r.o=function(i,n){return Object.prototype.hasOwnProperty.call(i,n)},r.p="",r(r.s=26)})([(function(t,e,r){"use strict";function i(){}o(i,"LayoutConstants"),i.QUALITY=1,i.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,i.DEFAULT_INCREMENTAL=!1,i.DEFAULT_ANIMATION_ON_LAYOUT=!0,i.DEFAULT_ANIMATION_DURING_LAYOUT=!1,i.DEFAULT_ANIMATION_PERIOD=50,i.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,i.DEFAULT_GRAPH_MARGIN=15,i.NODE_DIMENSIONS_INCLUDE_LABELS=!1,i.SIMPLE_NODE_SIZE=40,i.SIMPLE_NODE_HALF_SIZE=i.SIMPLE_NODE_SIZE/2,i.EMPTY_COMPOUND_NODE_SIZE=40,i.MIN_EDGE_LENGTH=1,i.WORLD_BOUNDARY=1e6,i.INITIAL_WORLD_BOUNDARY=i.WORLD_BOUNDARY/1e3,i.WORLD_CENTER_X=1200,i.WORLD_CENTER_Y=900,t.exports=i}),(function(t,e,r){"use strict";var i=r(2),n=r(8),a=r(9);function s(u,h,f){i.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(i.prototype);for(var l in i)s[l]=i[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=n.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s}),(function(t,e,r){"use strict";function i(n){this.vGraphObject=n}o(i,"LGraphObject"),t.exports=i}),(function(t,e,r){"use strict";var i=r(2),n=r(10),a=r(13),s=r(0),l=r(16),u=r(4);function h(d,p,m,g){m==null&&g==null&&(g=p),i.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=n.MIN_VALUE,this.inclusionTreeDepth=n.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(i.prototype);for(var f in i)h[f]=i[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp&&(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)),this.labelHeight>m&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-m)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-m),this.setHeight(this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==n.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h}),(function(t,e,r){"use strict";function i(n,a){n==null&&a==null?(this.x=0,this.y=0):(this.x=n,this.y=a)}o(i,"PointD"),i.prototype.getX=function(){return this.x},i.prototype.getY=function(){return this.y},i.prototype.setX=function(n){this.x=n},i.prototype.setY=function(n){this.y=n},i.prototype.getDifference=function(n){return new DimensionD(this.x-n.x,this.y-n.y)},i.prototype.getCopy=function(){return new i(this.x,this.y)},i.prototype.translate=function(n){return this.x+=n.width,this.y+=n.height,this},t.exports=i}),(function(t,e,r){"use strict";var i=r(2),n=r(10),a=r(0),s=r(6),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){i.call(this,v),this.estimatedSize=n.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(i.prototype);for(var m in i)p[m]=i[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,T=0;T-1&&C>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(k,1),x.target!=x.source&&x.target.edges.splice(C,1);var w=x.source.owner.getEdges().indexOf(x);if(w==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(w,1)}},p.prototype.updateLeftTop=function(){for(var g=n.MAX_VALUE,y=n.MAX_VALUE,v,x,b,T=this.getNodes(),w=T.length,k=0;kv&&(g=v),y>x&&(y=x)}return g==n.MAX_VALUE?null:(T[0].getParent().paddingLeft!=null?b=T[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=n.MAX_VALUE,v=-n.MAX_VALUE,x=n.MAX_VALUE,b=-n.MAX_VALUE,T,w,k,C,E,S=this.nodes,L=S.length,M=0;MT&&(y=T),vk&&(x=k),bT&&(y=T),vk&&(x=k),b=this.nodes.length){var L=0;v.forEach(function(M){M.owner==g&&L++}),L==this.nodes.length&&(this.isConnected=!0)}},t.exports=p}),(function(t,e,r){"use strict";var i,n=r(1);function a(s){i=r(5),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,f){if(u==null&&h==null&&f==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{f=u,h=l,u=s;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof i){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var f=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=S,!1;if(hf)return l[0]=p,l[1]=h,l[2]=C,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,A=!0):(l[0]=g,l[1]=m,A=!0):D===R&&(u>f?(l[0]=p,l[1]=m,A=!0):(l[0]=x,l[1]=v,A=!0)),-N===R?f>u?(l[2]=E,l[3]=S,_=!0):(l[2]=C,l[3]=k,_=!0):N===R&&(f>u?(l[2]=w,l[3]=k,_=!0):(l[2]=L,l[3]=S,_=!0)),A&&_)return!1;if(u>f?h>d?(B=this.getCardinalDirection(D,R,4),O=this.getCardinalDirection(N,R,2)):(B=this.getCardinalDirection(-D,R,3),O=this.getCardinalDirection(-N,R,1)):h>d?(B=this.getCardinalDirection(-D,R,1),O=this.getCardinalDirection(-N,R,3)):(B=this.getCardinalDirection(D,R,2),O=this.getCardinalDirection(N,R,4)),!A)switch(B){case 1:z=m,$=u+-T/R,l[0]=$,l[1]=z;break;case 2:$=x,z=h+b*R,l[0]=$,l[1]=z;break;case 3:z=v,$=u+T/R,l[0]=$,l[1]=z;break;case 4:$=y,z=h+-b*R,l[0]=$,l[1]=z;break}if(!_)switch(O){case 1:V=k,F=f+-I/R,l[2]=F,l[3]=V;break;case 2:F=L,V=d+M*R,l[2]=F,l[3]=V;break;case 3:V=S,F=f+I/R,l[2]=F,l[3]=V;break;case 4:F=E,V=d+-M*R,l[2]=F,l[3]=V;break}}return!1},n.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},n.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,f=a.y,d=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,T=void 0,w=void 0,k=void 0,C=void 0,E=void 0,S=void 0,L=void 0;return T=p-f,k=h-d,E=d*f-h*p,w=v-g,C=m-y,S=y*g-m*v,L=T*C-w*k,L===0?null:(x=(k*S-C*E)/L,b=(w*E-T*S)/L,new i(x,b))},n.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l0?1:n<0?-1:0},i.floor=function(n){return n<0?Math.ceil(n):Math.floor(n)},i.ceil=function(n){return n<0?Math.floor(n):Math.ceil(n)},t.exports=i}),(function(t,e,r){"use strict";function i(){}o(i,"Integer"),i.MAX_VALUE=2147483647,i.MIN_VALUE=-2147483648,t.exports=i}),(function(t,e,r){"use strict";var i=(function(){function h(f,d){for(var p=0;p"u"?"undefined":i(a);return a==null||s!="object"&&s!="function"},t.exports=n}),(function(t,e,r){"use strict";function i(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(T.push(k[0]);T.length>0&&g;){var C=T[0];T.splice(0,1),b.add(C);for(var E=C.getEdges(),x=0;x-1&&k.splice(I,1)}b=new Set,w=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(S,1);var L=w.getNeighborsList();L.forEach(function(A){if(y.indexOf(A)<0){var _=v.get(A),D=_-1;D==1&&C.push(A),v.set(A,D)}})}y=y.concat(C),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p}),(function(t,e,r){"use strict";function i(){}o(i,"RandomSeed"),i.seed=1,i.x=0,i.nextDouble=function(){return i.x=Math.sin(i.seed++)*1e4,i.x-Math.floor(i.x)},t.exports=i}),(function(t,e,r){"use strict";var i=r(4);function n(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(n,"Transform"),n.prototype.getWorldOrgX=function(){return this.lworldOrgX},n.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},n.prototype.getWorldOrgY=function(){return this.lworldOrgY},n.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},n.prototype.getWorldExtX=function(){return this.lworldExtX},n.prototype.setWorldExtX=function(a){this.lworldExtX=a},n.prototype.getWorldExtY=function(){return this.lworldExtY},n.prototype.setWorldExtY=function(a){this.lworldExtY=a},n.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},n.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},n.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},n.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},n.prototype.getDeviceExtX=function(){return this.ldeviceExtX},n.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},n.prototype.getDeviceExtY=function(){return this.ldeviceExtY},n.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},n.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},n.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},n.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},n.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},n.prototype.inverseTransformPoint=function(a){var s=new i(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},t.exports=n}),(function(t,e,r){"use strict";function i(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mT||b>T)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(T=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>T||b>T)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||T>=x[0].length)){for(var w=0;wh},"_defaultCompareFunction")}]),l})();t.exports=s}),(function(t,e,r){"use strict";var i=(function(){function s(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;n(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},n.emit=function(a,s){for(var l=0;l{"use strict";o((function(e,r){typeof ET=="object"&&typeof xF=="object"?xF.exports=r(vF()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof ET=="object"?ET.coseBase=r(vF()):e.coseBase=r(e.layoutBase)}),"webpackUniversalModuleDefinition")(ET,function(t){return(function(e){var r={};function i(n){if(r[n])return r[n].exports;var a=r[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,i),a.l=!0,a.exports}return o(i,"__webpack_require__"),i.m=e,i.c=r,i.i=function(n){return n},i.d=function(n,a,s){i.o(n,a)||Object.defineProperty(n,a,{configurable:!1,enumerable:!0,get:s})},i.n=function(n){var a=n&&n.__esModule?o(function(){return n.default},"getDefault"):o(function(){return n},"getModuleExports");return i.d(a,"a",a),a},i.o=function(n,a){return Object.prototype.hasOwnProperty.call(n,a)},i.p="",i(i.s=7)})([(function(e,r){e.exports=t}),(function(e,r,i){"use strict";var n=i(0).FDLayoutConstants;function a(){}o(a,"CoSEConstants");for(var s in n)a[s]=n[s];a.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,a.DEFAULT_RADIAL_SEPARATION=n.DEFAULT_EDGE_LENGTH,a.DEFAULT_COMPONENT_SEPERATION=60,a.TILE=!0,a.TILING_PADDING_VERTICAL=10,a.TILING_PADDING_HORIZONTAL=10,a.TREE_REDUCTION_ON_INCREMENTAL=!1,e.exports=a}),(function(e,r,i){"use strict";var n=i(0).FDLayoutEdge;function a(l,u,h){n.call(this,l,u,h)}o(a,"CoSEEdge"),a.prototype=Object.create(n.prototype);for(var s in n)a[s]=n[s];e.exports=a}),(function(e,r,i){"use strict";var n=i(0).LGraph;function a(l,u,h){n.call(this,l,u,h)}o(a,"CoSEGraph"),a.prototype=Object.create(n.prototype);for(var s in n)a[s]=n[s];e.exports=a}),(function(e,r,i){"use strict";var n=i(0).LGraphManager;function a(l){n.call(this,l)}o(a,"CoSEGraphManager"),a.prototype=Object.create(n.prototype);for(var s in n)a[s]=n[s];e.exports=a}),(function(e,r,i){"use strict";var n=i(0).FDLayoutNode,a=i(0).IMath;function s(u,h,f,d){n.call(this,u,h,f,d)}o(s,"CoSENode"),s.prototype=Object.create(n.prototype);for(var l in n)s[l]=n[l];s.prototype.move=function(){var u=this.graphManager.getLayout();this.displacementX=u.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=u.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementX=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementX)),Math.abs(this.displacementY)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementY=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),u.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},s.prototype.propogateDisplacementToChildren=function(u,h){for(var f=this.getChild().getNodes(),d,p=0;p0)this.positionNodesRadially(k);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var C=new Set(this.getAllNodes()),E=this.nodesWithGravity.filter(function(S){return C.has(S)});this.graphManager.setAllNodesToApplyGravitation(E),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},T.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),C=this.nodesWithGravity.filter(function(L){return k.has(L)});this.graphManager.setAllNodesToApplyGravitation(C),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var E=!this.isTreeGrowing&&!this.isGrowthFinished,S=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(E,S),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},T.prototype.getPositionsData=function(){for(var k=this.graphManager.getAllNodes(),C={},E=0;E1){var A;for(A=0;AS&&(S=Math.floor(I.y)),M=Math.floor(I.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new m(d.WORLD_CENTER_X-I.x/2,d.WORLD_CENTER_Y-I.y/2))},T.radialLayout=function(k,C,E){var S=Math.max(this.maxDiagonalInTree(k),h.DEFAULT_RADIAL_SEPARATION);T.branchRadialLayout(C,null,0,359,0,S);var L=x.calculateBounds(k),M=new b;M.setDeviceOrgX(L.getMinX()),M.setDeviceOrgY(L.getMinY()),M.setWorldOrgX(E.x),M.setWorldOrgY(E.y);for(var I=0;I1;){var H=V[0];V.splice(0,1);var X=B.indexOf(H);X>=0&&B.splice(X,1),z--,O--}C!=null?F=(B.indexOf(V[0])+1)%z:F=0;for(var W=Math.abs(S-E)/O,Z=F;$!=O;Z=++Z%z){var Y=B[Z].getOtherEnd(k);if(Y!=C){var ae=(E+$*W)%360,J=(ae+W)%360;T.branchRadialLayout(Y,k,ae,J,L+M,M),$++}}},T.maxDiagonalInTree=function(k){for(var C=y.MIN_VALUE,E=0;EC&&(C=L)}return C},T.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},T.prototype.groupZeroDegreeMembers=function(){var k=this,C={};this.memberGroups={},this.idToDummyNode={};for(var E=[],S=this.graphManager.getAllNodes(),L=0;L"u"&&(C[A]=[]),C[A]=C[A].concat(M)}Object.keys(C).forEach(function(_){if(C[_].length>1){var D="DummyCompound_"+_;k.memberGroups[D]=C[_];var N=C[_][0].getParent(),R=new l(k.graphManager);R.id=D,R.paddingLeft=N.paddingLeft||0,R.paddingRight=N.paddingRight||0,R.paddingBottom=N.paddingBottom||0,R.paddingTop=N.paddingTop||0,k.idToDummyNode[D]=R;var B=k.getGraphManager().add(k.newGraph(),R),O=N.getChild();O.add(R);for(var $=0;$=0;k--){var C=this.compoundOrder[k],E=C.id,S=C.paddingLeft,L=C.paddingTop;this.adjustLocations(this.tiledMemberPack[E],C.rect.x,C.rect.y,S,L)}},T.prototype.repopulateZeroDegreeMembers=function(){var k=this,C=this.tiledZeroDegreePack;Object.keys(C).forEach(function(E){var S=k.idToDummyNode[E],L=S.paddingLeft,M=S.paddingTop;k.adjustLocations(C[E],S.rect.x,S.rect.y,L,M)})},T.prototype.getToBeTiled=function(k){var C=k.id;if(this.toBeTiled[C]!=null)return this.toBeTiled[C];var E=k.getChild();if(E==null)return this.toBeTiled[C]=!1,!1;for(var S=E.getNodes(),L=0;L0)return this.toBeTiled[C]=!1,!1;if(M.getChild()==null){this.toBeTiled[M.id]=!1;continue}if(!this.getToBeTiled(M))return this.toBeTiled[C]=!1,!1}return this.toBeTiled[C]=!0,!0},T.prototype.getNodeDegree=function(k){for(var C=k.id,E=k.getEdges(),S=0,L=0;L_&&(_=N.rect.height)}E+=_+k.verticalPadding}},T.prototype.tileCompoundMembers=function(k,C){var E=this;this.tiledMemberPack=[],Object.keys(k).forEach(function(S){var L=C[S];E.tiledMemberPack[S]=E.tileNodes(k[S],L.paddingLeft+L.paddingRight),L.rect.width=E.tiledMemberPack[S].width,L.rect.height=E.tiledMemberPack[S].height})},T.prototype.tileNodes=function(k,C){var E=h.TILING_PADDING_VERTICAL,S=h.TILING_PADDING_HORIZONTAL,L={rows:[],rowWidth:[],rowHeight:[],width:0,height:C,verticalPadding:E,horizontalPadding:S};k.sort(function(A,_){return A.rect.width*A.rect.height>_.rect.width*_.rect.height?-1:A.rect.width*A.rect.height<_.rect.width*_.rect.height?1:0});for(var M=0;M0&&(I+=k.horizontalPadding),k.rowWidth[E]=I,k.width0&&(A+=k.verticalPadding);var _=0;A>k.rowHeight[E]&&(_=k.rowHeight[E],k.rowHeight[E]=A,_=k.rowHeight[E]-_),k.height+=_,k.rows[E].push(C)},T.prototype.getShortestRowIndex=function(k){for(var C=-1,E=Number.MAX_VALUE,S=0;SE&&(C=S,E=k.rowWidth[S]);return C},T.prototype.canAddHorizontal=function(k,C,E){var S=this.getShortestRowIndex(k);if(S<0)return!0;var L=k.rowWidth[S];if(L+k.horizontalPadding+C<=k.width)return!0;var M=0;k.rowHeight[S]0&&(M=E+k.verticalPadding-k.rowHeight[S]);var I;k.width-L>=C+k.horizontalPadding?I=(k.height+M)/(L+C+k.horizontalPadding):I=(k.height+M)/k.width,M=E+k.verticalPadding;var A;return k.widthM&&C!=E){S.splice(-1,1),k.rows[E].push(L),k.rowWidth[C]=k.rowWidth[C]-M,k.rowWidth[E]=k.rowWidth[E]+M,k.width=k.rowWidth[instance.getLongestRowIndex(k)];for(var I=Number.MIN_VALUE,A=0;AI&&(I=S[A].height);C>0&&(I+=k.verticalPadding);var _=k.rowHeight[C]+k.rowHeight[E];k.rowHeight[C]=I,k.rowHeight[E]0)for(var O=L;O<=M;O++)B[0]+=this.grid[O][I-1].length+this.grid[O][I].length-1;if(M0)for(var O=I;O<=A;O++)B[3]+=this.grid[L-1][O].length+this.grid[L][O].length-1;for(var $=y.MAX_VALUE,z,F,V=0;V{"use strict";o((function(e,r){typeof ST=="object"&&typeof TF=="object"?TF.exports=r(bF()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof ST=="object"?ST.cytoscapeCoseBilkent=r(bF()):e.cytoscapeCoseBilkent=r(e.coseBase)}),"webpackUniversalModuleDefinition")(ST,function(t){return(function(e){var r={};function i(n){if(r[n])return r[n].exports;var a=r[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,i),a.l=!0,a.exports}return o(i,"__webpack_require__"),i.m=e,i.c=r,i.i=function(n){return n},i.d=function(n,a,s){i.o(n,a)||Object.defineProperty(n,a,{configurable:!1,enumerable:!0,get:s})},i.n=function(n){var a=n&&n.__esModule?o(function(){return n.default},"getDefault"):o(function(){return n},"getModuleExports");return i.d(a,"a",a),a},i.o=function(n,a){return Object.prototype.hasOwnProperty.call(n,a)},i.p="",i(i.s=1)})([(function(e,r){e.exports=t}),(function(e,r,i){"use strict";var n=i(0).layoutBase.LayoutConstants,a=i(0).layoutBase.FDLayoutConstants,s=i(0).CoSEConstants,l=i(0).CoSELayout,u=i(0).CoSENode,h=i(0).layoutBase.PointD,f=i(0).layoutBase.DimensionD,d={ready:o(function(){},"ready"),stop:o(function(){},"stop"),quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function p(v,x){var b={};for(var T in v)b[T]=v[T];for(var T in x)b[T]=x[T];return b}o(p,"extend");function m(v){this.options=p(d,v),g(this.options)}o(m,"_CoSELayout");var g=o(function(x){x.nodeRepulsion!=null&&(s.DEFAULT_REPULSION_STRENGTH=a.DEFAULT_REPULSION_STRENGTH=x.nodeRepulsion),x.idealEdgeLength!=null&&(s.DEFAULT_EDGE_LENGTH=a.DEFAULT_EDGE_LENGTH=x.idealEdgeLength),x.edgeElasticity!=null&&(s.DEFAULT_SPRING_STRENGTH=a.DEFAULT_SPRING_STRENGTH=x.edgeElasticity),x.nestingFactor!=null&&(s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=x.nestingFactor),x.gravity!=null&&(s.DEFAULT_GRAVITY_STRENGTH=a.DEFAULT_GRAVITY_STRENGTH=x.gravity),x.numIter!=null&&(s.MAX_ITERATIONS=a.MAX_ITERATIONS=x.numIter),x.gravityRange!=null&&(s.DEFAULT_GRAVITY_RANGE_FACTOR=a.DEFAULT_GRAVITY_RANGE_FACTOR=x.gravityRange),x.gravityCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=a.DEFAULT_COMPOUND_GRAVITY_STRENGTH=x.gravityCompound),x.gravityRangeCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=x.gravityRangeCompound),x.initialEnergyOnIncremental!=null&&(s.DEFAULT_COOLING_FACTOR_INCREMENTAL=a.DEFAULT_COOLING_FACTOR_INCREMENTAL=x.initialEnergyOnIncremental),x.quality=="draft"?n.QUALITY=0:x.quality=="proof"?n.QUALITY=2:n.QUALITY=1,s.NODE_DIMENSIONS_INCLUDE_LABELS=a.NODE_DIMENSIONS_INCLUDE_LABELS=n.NODE_DIMENSIONS_INCLUDE_LABELS=x.nodeDimensionsIncludeLabels,s.DEFAULT_INCREMENTAL=a.DEFAULT_INCREMENTAL=n.DEFAULT_INCREMENTAL=!x.randomize,s.ANIMATE=a.ANIMATE=n.ANIMATE=x.animate,s.TILE=x.tile,s.TILING_PADDING_VERTICAL=typeof x.tilingPaddingVertical=="function"?x.tilingPaddingVertical.call():x.tilingPaddingVertical,s.TILING_PADDING_HORIZONTAL=typeof x.tilingPaddingHorizontal=="function"?x.tilingPaddingHorizontal.call():x.tilingPaddingHorizontal},"getUserOptions");m.prototype.run=function(){var v,x,b=this.options,T=this.idToLNode={},w=this.layout=new l,k=this;k.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var C=w.newGraphManager();this.gm=C;var E=this.options.eles.nodes(),S=this.options.eles.edges();this.root=C.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(E),w);for(var L=0;L0){var A;A=b.getGraphManager().add(b.newGraph(),E),this.processChildrenList(A,C,b)}}},m.prototype.stop=function(){return this.stopped=!0,this};var y=o(function(x){x("layout","cose-bilkent",m)},"register");typeof cytoscape<"u"&&y(cytoscape),e.exports=y})])})});function vit(t,e){t.forEach(r=>{let i={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(n=>{["id","label","height","width","padding","x","y"].includes(n)||(i[n]=r[n])}),e.add({group:"nodes",data:i,position:{x:r.x??0,y:r.y??0}})})}function xit(t,e){t.forEach(r=>{let i={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(n=>{["id","start","end"].includes(n)||(i[n]=r[n])}),e.add({group:"edges",data:i})})}function aye(t){return new Promise(e=>{let r=Ze("body").append("div").attr("id","cy").attr("style","display:none"),i=Wl({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),vit(t.nodes,i),xit(t.edges,i),i.nodes().forEach(function(a){a.layoutDimensions=()=>{let s=a.data();return{w:s.width,h:s.height}}});let n={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};i.layout(n).run(),i.ready(a=>{Q.info("Cytoscape ready",a),e(i)})})}function sye(t){return t.nodes().map(e=>{let r=e.data(),i=e.position(),n={id:r.id,x:i.x,y:i.y};return Object.keys(r).forEach(a=>{a!=="id"&&(n[a]=r[a])}),n})}function oye(t){return t.edges().map(e=>{let r=e.data(),i=e._private.rscratch,n={id:r.id,source:r.source,target:r.target,startX:i.startX,startY:i.startY,midX:i.midX,midY:i.midY,endX:i.endX,endY:i.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(n[a]=r[a])}),n})}var nye,lye=P(()=>{"use strict";gF();nye=Wa(iye(),1);Pr();bt();Wl.use(nye.default);o(vit,"addNodes");o(xit,"addEdges");o(aye,"createCytoscapeInstance");o(sye,"extractPositionedNodes");o(oye,"extractPositionedEdges")});async function cye(t,e){Q.debug("Starting cose-bilkent layout algorithm");try{bit(t);let r=await aye(t),i=sye(r),n=oye(r);return Q.debug(`Layout completed: ${i.length} nodes, ${n.length} edges`),{nodes:i,edges:n}}catch(r){throw Q.error("Error in cose-bilkent layout algorithm:",r),r}}function bit(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}var uye=P(()=>{"use strict";bt();lye();o(cye,"executeCoseBilkentLayout");o(bit,"validateLayoutData")});var hye,fye=P(()=>{"use strict";uye();hye=o(async(t,e,{insertCluster:r,insertEdge:i,insertEdgeLabel:n,insertMarkers:a,insertNode:s,log:l,positionEdgeLabel:u},{algorithm:h})=>{let f={},d={},p=e.select("g");a(p,t.markers,t.type,t.diagramId);let m=p.insert("g").attr("class","subgraphs"),g=p.insert("g").attr("class","edgePaths"),y=p.insert("g").attr("class","edgeLabels"),v=p.insert("g").attr("class","nodes");l.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async T=>{if(T.isGroup){let w={...T};d[T.id]=w,f[T.id]=w,await r(m,T)}else{let w={...T};f[T.id]=w;let k=await s(v,T,{config:t.config,dir:t.direction||"TB"}),C=k.node().getBBox();w.width=C.width,w.height=C.height,w.domId=k,l.debug(`Node ${T.id} dimensions: ${C.width}x${C.height}`)}})),l.debug("Running cose-bilkent layout algorithm");let x={...t,nodes:t.nodes.map(T=>{let w=f[T.id];return{...T,width:w.width,height:w.height}})},b=await cye(x,t.config);l.debug("Positioning nodes based on layout results"),b.nodes.forEach(T=>{let w=f[T.id];w?.domId&&(w.domId.attr("transform",`translate(${T.x}, ${T.y})`),w.x=T.x,w.y=T.y,l.debug(`Positioned node ${w.id} at center (${T.x}, ${T.y})`))}),b.edges.forEach(T=>{let w=t.edges.find(k=>k.id===T.id);w&&(w.points=[{x:T.startX,y:T.startY},{x:T.midX,y:T.midY},{x:T.endX,y:T.endY}])}),l.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async T=>{let w=await n(y,T),k=f[T.start??""],C=f[T.end??""];if(k&&C){let E=b.edges.find(S=>S.id===T.id);if(E){l.debug("APA01 positionedEdge",E);let S={...T},L=i(g,S,d,t.type,k,C,t.diagramId);u(S,L)}else{let S={...T,points:[{x:k.x||0,y:k.y||0},{x:C.x||0,y:C.y||0}]},L=i(g,S,d,t.type,k,C,t.diagramId);u(S,L)}}})),l.debug("Cose-bilkent rendering completed")},"render")});var dye={};ur(dye,{render:()=>Tit});var Tit,pye=P(()=>{"use strict";fye();Tit=hye});var AT,kF,kit,Ul,Vu,Wd=P(()=>{"use strict";ice();bt();AT={},kF=o(t=>{for(let e of t)AT[e.name]=e},"registerLayoutLoaders"),kit=o(()=>{kF([{name:"dagre",loader:o(async()=>await Promise.resolve().then(()=>(Bpe(),Ppe)),"loader")},{name:"cose-bilkent",loader:o(async()=>await Promise.resolve().then(()=>(pye(),dye)),"loader")}])},"registerDefaultLayoutLoaders");kit();Ul=o(async(t,e)=>{if(!(t.layoutAlgorithm in AT))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(let f of t.nodes){let d=f.domId||f.id;f.domId=`${t.diagramId}-${d}`}let r=AT[t.layoutAlgorithm],i=await r.loader(),{theme:n,themeVariables:a}=t.config,{useGradient:s,gradientStart:l,gradientStop:u}=a,h=e.attr("id");if(e.append("defs").append("filter").attr("id",`${h}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${n?.includes("dark")?"#FFFFFF":"#000000"}`),e.append("defs").append("filter").attr("id",`${h}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${n?.includes("dark")?"#FFFFFF":"#000000"}`),s){let f=e.append("linearGradient").attr("id",e.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");f.append("svg:stop").attr("offset","0%").attr("stop-color",l).attr("stop-opacity",1),f.append("svg:stop").attr("offset","100%").attr("stop-color",u).attr("stop-opacity",1)}return i.render(t,e,rce,{algorithm:r.algorithm})},"render"),Vu=o((t="",{fallback:e="dagre"}={})=>{if(t in AT)return t;if(e in AT)return Q.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm")});var Ro,Cit,wit,Ud=P(()=>{"use strict";Xi();bt();Ro=o((t,e,r,i)=>{t.attr("class",r);let{width:n,height:a,x:s,y:l}=Cit(t,e);Hr(t,a,n,i);let u=wit(s,l,n,a,e);t.attr("viewBox",u),Q.debug(`viewBox configured: ${u} with padding: ${e}`)},"setupViewPortForSVG"),Cit=o((t,e)=>{let r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),wit=o((t,e,r,i,n)=>`${t-n} ${e-n} ${r} ${i}`,"createViewBox")});var Eit,Sit,mye,gye=P(()=>{"use strict";Ut();bt();I0();Wd();Ud();er();Eit=o(function(t,e){return e.db.getClasses()},"getClasses"),Sit=o(async function(t,e,r,i){Q.info("REF0:"),Q.info("Drawing state diagram (v2)",e);let{securityLevel:n,flowchart:a,layout:s}=ge();i.db.setDiagramId(e),Q.debug("Before getData: ");let l=i.db.getData();Q.debug("Data: ",l);let u=Ol(e,n),h=i.db.getDirection();l.type=i.type,l.layoutAlgorithm=Vu(s),l.layoutAlgorithm==="dagre"&&s==="elk"&&Q.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),l.direction=h,l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["point","circle","cross"],l.diagramId=e,Q.debug("REF1:",l),await Ul(l,u);let f=l.config.flowchart?.diagramPadding??8;Kt.insertTitle(u,"flowchartTitleText",a?.titleTopMargin||0,i.db.getDiagramTitle()),Ro(u,f,"flowchart",a?.useMaxWidth||!1)},"draw"),mye={getClasses:Eit,draw:Sit}});var CF,wF,yye=P(()=>{"use strict";CF=(function(){var t=o(function(Ft,Et,qt,Zt){for(qt=qt||{},Zt=Ft.length;Zt--;qt[Ft[Zt]]=Et);return qt},"o"),e=[1,4],r=[1,3],i=[1,5],n=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],a=[2,2],s=[1,13],l=[1,14],u=[1,15],h=[1,16],f=[1,23],d=[1,25],p=[1,26],m=[1,27],g=[1,50],y=[1,49],v=[1,29],x=[1,30],b=[1,31],T=[1,32],w=[1,33],k=[1,45],C=[1,47],E=[1,43],S=[1,48],L=[1,44],M=[1,51],I=[1,46],A=[1,52],_=[1,53],D=[1,34],N=[1,35],R=[1,36],B=[1,37],O=[1,38],$=[1,58],z=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],F=[1,62],V=[1,61],H=[1,63],X=[8,9,11,75,77,78],W=[1,79],Z=[1,92],Y=[1,97],ae=[1,96],J=[1,93],ee=[1,89],re=[1,95],te=[1,91],be=[1,98],de=[1,94],Ee=[1,99],Ne=[1,90],we=[8,9,10,11,40,75,77,78],Te=[8,9,10,11,40,46,75,77,78],De=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],$e=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],pe=[44,60,89,102,105,106,109,111,114,115,116],Je=[1,122],Ce=[1,123],Fe=[1,125],Ue=[1,124],qe=[44,60,62,74,89,102,105,106,109,111,114,115,116],Me=[1,134],He=[1,148],K=[1,149],oe=[1,150],U=[1,151],ue=[1,136],G=[1,138],se=[1,142],le=[1,143],ke=[1,144],me=[1,145],ye=[1,146],Re=[1,147],ve=[1,152],Oe=[1,153],We=[1,132],Be=[1,133],Qe=[1,140],ce=[1,135],it=[1,139],fe=[1,137],ut=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],Nt=[1,155],Pt=[1,157],St=[8,9,11],It=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],ot=[1,177],ct=[1,173],Dt=[1,174],kt=[1,178],yt=[1,175],jt=[1,176],hr=[77,116,119],Qt=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],Er=[10,106],dr=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],ir=[1,248],pr=[1,246],Ii=[1,250],xt=[1,244],Ie=[1,245],ft=[1,247],_t=[1,249],zr=[1,251],ri=[1,269],ci=[8,9,11,106],Ir=[8,9,10,11,60,84,105,106,109,110,111,112],sa={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:o(function(Et,qt,Zt,Tt,wi,xe,Wo){var Se=xe.length-1;switch(wi){case 2:this.$=[];break;case 3:(!Array.isArray(xe[Se])||xe[Se].length>0)&&xe[Se-1].push(xe[Se]),this.$=xe[Se-1];break;case 4:case 183:this.$=xe[Se];break;case 11:Tt.setDirection("TB"),this.$="TB";break;case 12:Tt.setDirection(xe[Se-1]),this.$=xe[Se-1];break;case 27:this.$=xe[Se-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Tt.addSubGraph(xe[Se-6],xe[Se-1],xe[Se-4]);break;case 34:this.$=Tt.addSubGraph(xe[Se-3],xe[Se-1],xe[Se-3]);break;case 35:this.$=Tt.addSubGraph(void 0,xe[Se-1],void 0);break;case 37:this.$=xe[Se].trim(),Tt.setAccTitle(this.$);break;case 38:case 39:this.$=xe[Se].trim(),Tt.setAccDescription(this.$);break;case 43:this.$=xe[Se-1]+xe[Se];break;case 44:this.$=xe[Se];break;case 45:Tt.addVertex(xe[Se-1][xe[Se-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,xe[Se]),Tt.addLink(xe[Se-3].stmt,xe[Se-1],xe[Se-2]),this.$={stmt:xe[Se-1],nodes:xe[Se-1].concat(xe[Se-3].nodes)};break;case 46:Tt.addLink(xe[Se-2].stmt,xe[Se],xe[Se-1]),this.$={stmt:xe[Se],nodes:xe[Se].concat(xe[Se-2].nodes)};break;case 47:Tt.addLink(xe[Se-3].stmt,xe[Se-1],xe[Se-2]),this.$={stmt:xe[Se-1],nodes:xe[Se-1].concat(xe[Se-3].nodes)};break;case 48:this.$={stmt:xe[Se-1],nodes:xe[Se-1]};break;case 49:Tt.addVertex(xe[Se-1][xe[Se-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,xe[Se]),this.$={stmt:xe[Se-1],nodes:xe[Se-1],shapeData:xe[Se]};break;case 50:this.$={stmt:xe[Se],nodes:xe[Se]};break;case 51:this.$=[xe[Se]];break;case 52:Tt.addVertex(xe[Se-5][xe[Se-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,xe[Se-4]),this.$=xe[Se-5].concat(xe[Se]);break;case 53:this.$=xe[Se-4].concat(xe[Se]);break;case 54:this.$=xe[Se];break;case 55:this.$=xe[Se-2],Tt.setClass(xe[Se-2],xe[Se]);break;case 56:this.$=xe[Se-3],Tt.addVertex(xe[Se-3],xe[Se-1],"square");break;case 57:this.$=xe[Se-3],Tt.addVertex(xe[Se-3],xe[Se-1],"doublecircle");break;case 58:this.$=xe[Se-5],Tt.addVertex(xe[Se-5],xe[Se-2],"circle");break;case 59:this.$=xe[Se-3],Tt.addVertex(xe[Se-3],xe[Se-1],"ellipse");break;case 60:this.$=xe[Se-3],Tt.addVertex(xe[Se-3],xe[Se-1],"stadium");break;case 61:this.$=xe[Se-3],Tt.addVertex(xe[Se-3],xe[Se-1],"subroutine");break;case 62:this.$=xe[Se-7],Tt.addVertex(xe[Se-7],xe[Se-1],"rect",void 0,void 0,void 0,Object.fromEntries([[xe[Se-5],xe[Se-3]]]));break;case 63:this.$=xe[Se-3],Tt.addVertex(xe[Se-3],xe[Se-1],"cylinder");break;case 64:this.$=xe[Se-3],Tt.addVertex(xe[Se-3],xe[Se-1],"round");break;case 65:this.$=xe[Se-3],Tt.addVertex(xe[Se-3],xe[Se-1],"diamond");break;case 66:this.$=xe[Se-5],Tt.addVertex(xe[Se-5],xe[Se-2],"hexagon");break;case 67:this.$=xe[Se-3],Tt.addVertex(xe[Se-3],xe[Se-1],"odd");break;case 68:this.$=xe[Se-3],Tt.addVertex(xe[Se-3],xe[Se-1],"trapezoid");break;case 69:this.$=xe[Se-3],Tt.addVertex(xe[Se-3],xe[Se-1],"inv_trapezoid");break;case 70:this.$=xe[Se-3],Tt.addVertex(xe[Se-3],xe[Se-1],"lean_right");break;case 71:this.$=xe[Se-3],Tt.addVertex(xe[Se-3],xe[Se-1],"lean_left");break;case 72:this.$=xe[Se],Tt.addVertex(xe[Se]);break;case 73:xe[Se-1].text=xe[Se],this.$=xe[Se-1];break;case 74:case 75:xe[Se-2].text=xe[Se-1],this.$=xe[Se-2];break;case 76:this.$=xe[Se];break;case 77:var Rn=Tt.destructLink(xe[Se],xe[Se-2]);this.$={type:Rn.type,stroke:Rn.stroke,length:Rn.length,text:xe[Se-1]};break;case 78:var Rn=Tt.destructLink(xe[Se],xe[Se-2]);this.$={type:Rn.type,stroke:Rn.stroke,length:Rn.length,text:xe[Se-1],id:xe[Se-3]};break;case 79:this.$={text:xe[Se],type:"text"};break;case 80:this.$={text:xe[Se-1].text+""+xe[Se],type:xe[Se-1].type};break;case 81:this.$={text:xe[Se],type:"string"};break;case 82:this.$={text:xe[Se],type:"markdown"};break;case 83:var Rn=Tt.destructLink(xe[Se]);this.$={type:Rn.type,stroke:Rn.stroke,length:Rn.length};break;case 84:var Rn=Tt.destructLink(xe[Se]);this.$={type:Rn.type,stroke:Rn.stroke,length:Rn.length,id:xe[Se-1]};break;case 85:this.$=xe[Se-1];break;case 86:this.$={text:xe[Se],type:"text"};break;case 87:this.$={text:xe[Se-1].text+""+xe[Se],type:xe[Se-1].type};break;case 88:this.$={text:xe[Se],type:"string"};break;case 89:case 104:this.$={text:xe[Se],type:"markdown"};break;case 101:this.$={text:xe[Se],type:"text"};break;case 102:this.$={text:xe[Se-1].text+""+xe[Se],type:xe[Se-1].type};break;case 103:this.$={text:xe[Se],type:"text"};break;case 105:this.$=xe[Se-4],Tt.addClass(xe[Se-2],xe[Se]);break;case 106:this.$=xe[Se-4],Tt.setClass(xe[Se-2],xe[Se]);break;case 107:case 115:this.$=xe[Se-1],Tt.setClickEvent(xe[Se-1],xe[Se]);break;case 108:case 116:this.$=xe[Se-3],Tt.setClickEvent(xe[Se-3],xe[Se-2]),Tt.setTooltip(xe[Se-3],xe[Se]);break;case 109:this.$=xe[Se-2],Tt.setClickEvent(xe[Se-2],xe[Se-1],xe[Se]);break;case 110:this.$=xe[Se-4],Tt.setClickEvent(xe[Se-4],xe[Se-3],xe[Se-2]),Tt.setTooltip(xe[Se-4],xe[Se]);break;case 111:this.$=xe[Se-2],Tt.setLink(xe[Se-2],xe[Se]);break;case 112:this.$=xe[Se-4],Tt.setLink(xe[Se-4],xe[Se-2]),Tt.setTooltip(xe[Se-4],xe[Se]);break;case 113:this.$=xe[Se-4],Tt.setLink(xe[Se-4],xe[Se-2],xe[Se]);break;case 114:this.$=xe[Se-6],Tt.setLink(xe[Se-6],xe[Se-4],xe[Se]),Tt.setTooltip(xe[Se-6],xe[Se-2]);break;case 117:this.$=xe[Se-1],Tt.setLink(xe[Se-1],xe[Se]);break;case 118:this.$=xe[Se-3],Tt.setLink(xe[Se-3],xe[Se-2]),Tt.setTooltip(xe[Se-3],xe[Se]);break;case 119:this.$=xe[Se-3],Tt.setLink(xe[Se-3],xe[Se-2],xe[Se]);break;case 120:this.$=xe[Se-5],Tt.setLink(xe[Se-5],xe[Se-4],xe[Se]),Tt.setTooltip(xe[Se-5],xe[Se-2]);break;case 121:this.$=xe[Se-4],Tt.addVertex(xe[Se-2],void 0,void 0,xe[Se]);break;case 122:this.$=xe[Se-4],Tt.updateLink([xe[Se-2]],xe[Se]);break;case 123:this.$=xe[Se-4],Tt.updateLink(xe[Se-2],xe[Se]);break;case 124:this.$=xe[Se-8],Tt.updateLinkInterpolate([xe[Se-6]],xe[Se-2]),Tt.updateLink([xe[Se-6]],xe[Se]);break;case 125:this.$=xe[Se-8],Tt.updateLinkInterpolate(xe[Se-6],xe[Se-2]),Tt.updateLink(xe[Se-6],xe[Se]);break;case 126:this.$=xe[Se-6],Tt.updateLinkInterpolate([xe[Se-4]],xe[Se]);break;case 127:this.$=xe[Se-6],Tt.updateLinkInterpolate(xe[Se-4],xe[Se]);break;case 128:case 130:this.$=[xe[Se]];break;case 129:case 131:xe[Se-2].push(xe[Se]),this.$=xe[Se-2];break;case 133:this.$=xe[Se-1]+xe[Se];break;case 181:this.$=xe[Se];break;case 182:this.$=xe[Se-1]+""+xe[Se];break;case 184:this.$=xe[Se-1]+""+xe[Se];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:i},{1:[3]},t(n,a,{5:6}),{4:7,9:e,10:r,12:i},{4:8,9:e,10:r,12:i},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,33:24,34:d,36:p,38:m,42:28,43:39,44:g,45:40,47:41,60:y,84:v,85:x,86:b,87:T,88:w,89:k,102:C,105:E,106:S,109:L,111:M,113:42,114:I,115:A,116:_,121:D,122:N,123:R,124:B,125:O},t(n,[2,9]),t(n,[2,10]),t(n,[2,11]),{8:[1,55],9:[1,56],10:$,15:54,18:57},t(z,[2,3]),t(z,[2,4]),t(z,[2,5]),t(z,[2,6]),t(z,[2,7]),t(z,[2,8]),{8:F,9:V,11:H,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:F,9:V,11:H,21:68},{8:F,9:V,11:H,21:69},{8:F,9:V,11:H,21:70},{8:F,9:V,11:H,21:71},{8:F,9:V,11:H,21:72},{8:F,9:V,10:[1,73],11:H,21:74},t(z,[2,36]),{35:[1,75]},{37:[1,76]},t(z,[2,39]),t(X,[2,50],{18:77,39:78,10:$,40:W}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:Z,44:Y,60:ae,80:[1,87],89:J,95:[1,84],97:[1,85],101:86,105:ee,106:re,109:te,111:be,114:de,115:Ee,116:Ne,120:88},t(z,[2,185]),t(z,[2,186]),t(z,[2,187]),t(z,[2,188]),t(z,[2,189]),t(we,[2,51]),t(we,[2,54],{46:[1,100]}),t(Te,[2,72],{113:113,29:[1,101],44:g,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:y,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:k,102:C,105:E,106:S,109:L,111:M,114:I,115:A,116:_}),t(De,[2,181]),t(De,[2,142]),t(De,[2,143]),t(De,[2,144]),t(De,[2,145]),t(De,[2,146]),t(De,[2,147]),t(De,[2,148]),t(De,[2,149]),t(De,[2,150]),t(De,[2,151]),t(De,[2,152]),t(n,[2,12]),t(n,[2,18]),t(n,[2,19]),{9:[1,114]},t($e,[2,26],{18:115,10:$}),t(z,[2,27]),{42:116,43:39,44:g,45:40,47:41,60:y,89:k,102:C,105:E,106:S,109:L,111:M,113:42,114:I,115:A,116:_},t(z,[2,40]),t(z,[2,41]),t(z,[2,42]),t(pe,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:Je,81:Ce,116:Fe,119:Ue},{75:[1,126],77:[1,127]},t(qe,[2,83]),t(z,[2,28]),t(z,[2,29]),t(z,[2,30]),t(z,[2,31]),t(z,[2,32]),{10:Me,12:He,14:K,27:oe,28:128,32:U,44:ue,60:G,75:se,80:[1,130],81:[1,131],83:141,84:le,85:ke,86:me,87:ye,88:Re,89:ve,90:Oe,91:129,105:We,109:Be,111:Qe,114:ce,115:it,116:fe},t(ut,a,{5:154}),t(z,[2,37]),t(z,[2,38]),t(X,[2,48],{44:Nt}),t(X,[2,49],{18:156,10:$,40:Pt}),t(we,[2,44]),{44:g,47:158,60:y,89:k,102:C,105:E,106:S,109:L,111:M,113:42,114:I,115:A,116:_},{102:[1,159],103:160,105:[1,161]},{44:g,47:162,60:y,89:k,102:C,105:E,106:S,109:L,111:M,113:42,114:I,115:A,116:_},{44:g,47:163,60:y,89:k,102:C,105:E,106:S,109:L,111:M,113:42,114:I,115:A,116:_},t(St,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},t(St,[2,115],{120:168,10:[1,167],14:Z,44:Y,60:ae,89:J,105:ee,106:re,109:te,111:be,114:de,115:Ee,116:Ne}),t(St,[2,117],{10:[1,169]}),t(It,[2,183]),t(It,[2,170]),t(It,[2,171]),t(It,[2,172]),t(It,[2,173]),t(It,[2,174]),t(It,[2,175]),t(It,[2,176]),t(It,[2,177]),t(It,[2,178]),t(It,[2,179]),t(It,[2,180]),{44:g,47:170,60:y,89:k,102:C,105:E,106:S,109:L,111:M,113:42,114:I,115:A,116:_},{30:171,67:ot,80:ct,81:Dt,82:172,116:kt,117:yt,118:jt},{30:179,67:ot,80:ct,81:Dt,82:172,116:kt,117:yt,118:jt},{30:181,50:[1,180],67:ot,80:ct,81:Dt,82:172,116:kt,117:yt,118:jt},{30:182,67:ot,80:ct,81:Dt,82:172,116:kt,117:yt,118:jt},{30:183,67:ot,80:ct,81:Dt,82:172,116:kt,117:yt,118:jt},{30:184,67:ot,80:ct,81:Dt,82:172,116:kt,117:yt,118:jt},{109:[1,185]},{30:186,67:ot,80:ct,81:Dt,82:172,116:kt,117:yt,118:jt},{30:187,65:[1,188],67:ot,80:ct,81:Dt,82:172,116:kt,117:yt,118:jt},{30:189,67:ot,80:ct,81:Dt,82:172,116:kt,117:yt,118:jt},{30:190,67:ot,80:ct,81:Dt,82:172,116:kt,117:yt,118:jt},{30:191,67:ot,80:ct,81:Dt,82:172,116:kt,117:yt,118:jt},t(De,[2,182]),t(n,[2,20]),t($e,[2,25]),t(X,[2,46],{39:192,18:193,10:$,40:W}),t(pe,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:ot,80:ct,81:Dt,82:172,116:kt,117:yt,118:jt},{77:[1,197],79:198,116:Fe,119:Ue},t(hr,[2,79]),t(hr,[2,81]),t(hr,[2,82]),t(hr,[2,168]),t(hr,[2,169]),{76:199,79:121,80:Je,81:Ce,116:Fe,119:Ue},t(qe,[2,84]),{8:F,9:V,10:Me,11:H,12:He,14:K,21:201,27:oe,29:[1,200],32:U,44:ue,60:G,75:se,83:141,84:le,85:ke,86:me,87:ye,88:Re,89:ve,90:Oe,91:202,105:We,109:Be,111:Qe,114:ce,115:it,116:fe},t(Qt,[2,101]),t(Qt,[2,103]),t(Qt,[2,104]),t(Qt,[2,157]),t(Qt,[2,158]),t(Qt,[2,159]),t(Qt,[2,160]),t(Qt,[2,161]),t(Qt,[2,162]),t(Qt,[2,163]),t(Qt,[2,164]),t(Qt,[2,165]),t(Qt,[2,166]),t(Qt,[2,167]),t(Qt,[2,90]),t(Qt,[2,91]),t(Qt,[2,92]),t(Qt,[2,93]),t(Qt,[2,94]),t(Qt,[2,95]),t(Qt,[2,96]),t(Qt,[2,97]),t(Qt,[2,98]),t(Qt,[2,99]),t(Qt,[2,100]),{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,203],33:24,34:d,36:p,38:m,42:28,43:39,44:g,45:40,47:41,60:y,84:v,85:x,86:b,87:T,88:w,89:k,102:C,105:E,106:S,109:L,111:M,113:42,114:I,115:A,116:_,121:D,122:N,123:R,124:B,125:O},{10:$,18:204},{44:[1,205]},t(we,[2,43]),{10:[1,206],44:g,60:y,89:k,102:C,105:E,106:S,109:L,111:M,113:113,114:I,115:A,116:_},{10:[1,207]},{10:[1,208],106:[1,209]},t(Er,[2,128]),{10:[1,210],44:g,60:y,89:k,102:C,105:E,106:S,109:L,111:M,113:113,114:I,115:A,116:_},{10:[1,211],44:g,60:y,89:k,102:C,105:E,106:S,109:L,111:M,113:113,114:I,115:A,116:_},{80:[1,212]},t(St,[2,109],{10:[1,213]}),t(St,[2,111],{10:[1,214]}),{80:[1,215]},t(It,[2,184]),{80:[1,216],98:[1,217]},t(we,[2,55],{113:113,44:g,60:y,89:k,102:C,105:E,106:S,109:L,111:M,114:I,115:A,116:_}),{31:[1,218],67:ot,82:219,116:kt,117:yt,118:jt},t(dr,[2,86]),t(dr,[2,88]),t(dr,[2,89]),t(dr,[2,153]),t(dr,[2,154]),t(dr,[2,155]),t(dr,[2,156]),{49:[1,220],67:ot,82:219,116:kt,117:yt,118:jt},{30:221,67:ot,80:ct,81:Dt,82:172,116:kt,117:yt,118:jt},{51:[1,222],67:ot,82:219,116:kt,117:yt,118:jt},{53:[1,223],67:ot,82:219,116:kt,117:yt,118:jt},{55:[1,224],67:ot,82:219,116:kt,117:yt,118:jt},{57:[1,225],67:ot,82:219,116:kt,117:yt,118:jt},{60:[1,226]},{64:[1,227],67:ot,82:219,116:kt,117:yt,118:jt},{66:[1,228],67:ot,82:219,116:kt,117:yt,118:jt},{30:229,67:ot,80:ct,81:Dt,82:172,116:kt,117:yt,118:jt},{31:[1,230],67:ot,82:219,116:kt,117:yt,118:jt},{67:ot,69:[1,231],71:[1,232],82:219,116:kt,117:yt,118:jt},{67:ot,69:[1,234],71:[1,233],82:219,116:kt,117:yt,118:jt},t(X,[2,45],{18:156,10:$,40:Pt}),t(X,[2,47],{44:Nt}),t(pe,[2,75]),t(pe,[2,74]),{62:[1,235],67:ot,82:219,116:kt,117:yt,118:jt},t(pe,[2,77]),t(hr,[2,80]),{77:[1,236],79:198,116:Fe,119:Ue},{30:237,67:ot,80:ct,81:Dt,82:172,116:kt,117:yt,118:jt},t(ut,a,{5:238}),t(Qt,[2,102]),t(z,[2,35]),{43:239,44:g,45:40,47:41,60:y,89:k,102:C,105:E,106:S,109:L,111:M,113:42,114:I,115:A,116:_},{10:$,18:240},{10:ir,60:pr,84:Ii,92:241,105:xt,107:242,108:243,109:Ie,110:ft,111:_t,112:zr},{10:ir,60:pr,84:Ii,92:252,104:[1,253],105:xt,107:242,108:243,109:Ie,110:ft,111:_t,112:zr},{10:ir,60:pr,84:Ii,92:254,104:[1,255],105:xt,107:242,108:243,109:Ie,110:ft,111:_t,112:zr},{105:[1,256]},{10:ir,60:pr,84:Ii,92:257,105:xt,107:242,108:243,109:Ie,110:ft,111:_t,112:zr},{44:g,47:258,60:y,89:k,102:C,105:E,106:S,109:L,111:M,113:42,114:I,115:A,116:_},t(St,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},t(St,[2,116]),t(St,[2,118],{10:[1,262]}),t(St,[2,119]),t(Te,[2,56]),t(dr,[2,87]),t(Te,[2,57]),{51:[1,263],67:ot,82:219,116:kt,117:yt,118:jt},t(Te,[2,64]),t(Te,[2,59]),t(Te,[2,60]),t(Te,[2,61]),{109:[1,264]},t(Te,[2,63]),t(Te,[2,65]),{66:[1,265],67:ot,82:219,116:kt,117:yt,118:jt},t(Te,[2,67]),t(Te,[2,68]),t(Te,[2,70]),t(Te,[2,69]),t(Te,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(pe,[2,78]),{31:[1,266],67:ot,82:219,116:kt,117:yt,118:jt},{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,267],33:24,34:d,36:p,38:m,42:28,43:39,44:g,45:40,47:41,60:y,84:v,85:x,86:b,87:T,88:w,89:k,102:C,105:E,106:S,109:L,111:M,113:42,114:I,115:A,116:_,121:D,122:N,123:R,124:B,125:O},t(we,[2,53]),{43:268,44:g,45:40,47:41,60:y,89:k,102:C,105:E,106:S,109:L,111:M,113:42,114:I,115:A,116:_},t(St,[2,121],{106:ri}),t(ci,[2,130],{108:270,10:ir,60:pr,84:Ii,105:xt,109:Ie,110:ft,111:_t,112:zr}),t(Ir,[2,132]),t(Ir,[2,134]),t(Ir,[2,135]),t(Ir,[2,136]),t(Ir,[2,137]),t(Ir,[2,138]),t(Ir,[2,139]),t(Ir,[2,140]),t(Ir,[2,141]),t(St,[2,122],{106:ri}),{10:[1,271]},t(St,[2,123],{106:ri}),{10:[1,272]},t(Er,[2,129]),t(St,[2,105],{106:ri}),t(St,[2,106],{113:113,44:g,60:y,89:k,102:C,105:E,106:S,109:L,111:M,114:I,115:A,116:_}),t(St,[2,110]),t(St,[2,112],{10:[1,273]}),t(St,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:F,9:V,11:H,21:278},t(z,[2,34]),t(we,[2,52]),{10:ir,60:pr,84:Ii,105:xt,107:279,108:243,109:Ie,110:ft,111:_t,112:zr},t(Ir,[2,133]),{14:Z,44:Y,60:ae,89:J,101:280,105:ee,106:re,109:te,111:be,114:de,115:Ee,116:Ne,120:88},{14:Z,44:Y,60:ae,89:J,101:281,105:ee,106:re,109:te,111:be,114:de,115:Ee,116:Ne,120:88},{98:[1,282]},t(St,[2,120]),t(Te,[2,58]),{30:283,67:ot,80:ct,81:Dt,82:172,116:kt,117:yt,118:jt},t(Te,[2,66]),t(ut,a,{5:284}),t(ci,[2,131],{108:270,10:ir,60:pr,84:Ii,105:xt,109:Ie,110:ft,111:_t,112:zr}),t(St,[2,126],{120:168,10:[1,285],14:Z,44:Y,60:ae,89:J,105:ee,106:re,109:te,111:be,114:de,115:Ee,116:Ne}),t(St,[2,127],{120:168,10:[1,286],14:Z,44:Y,60:ae,89:J,105:ee,106:re,109:te,111:be,114:de,115:Ee,116:Ne}),t(St,[2,114]),{31:[1,287],67:ot,82:219,116:kt,117:yt,118:jt},{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,288],33:24,34:d,36:p,38:m,42:28,43:39,44:g,45:40,47:41,60:y,84:v,85:x,86:b,87:T,88:w,89:k,102:C,105:E,106:S,109:L,111:M,113:42,114:I,115:A,116:_,121:D,122:N,123:R,124:B,125:O},{10:ir,60:pr,84:Ii,92:289,105:xt,107:242,108:243,109:Ie,110:ft,111:_t,112:zr},{10:ir,60:pr,84:Ii,92:290,105:xt,107:242,108:243,109:Ie,110:ft,111:_t,112:zr},t(Te,[2,62]),t(z,[2,33]),t(St,[2,124],{106:ri}),t(St,[2,125],{106:ri})],defaultActions:{},parseError:o(function(Et,qt){if(qt.recoverable)this.trace(Et);else{var Zt=new Error(Et);throw Zt.hash=qt,Zt}},"parseError"),parse:o(function(Et){var qt=this,Zt=[0],Tt=[],wi=[null],xe=[],Wo=this.table,Se="",Rn=0,k8=0,r4=0,r8e=2,xY=1,i8e=xe.slice.call(arguments,1),Ca=Object.create(this.lexer),Bp={yy:{}};for(var C8 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,C8)&&(Bp.yy[C8]=this.yy[C8]);Ca.setInput(Et,Bp.yy),Bp.yy.lexer=Ca,Bp.yy.parser=this,typeof Ca.yylloc>"u"&&(Ca.yylloc={});var w8=Ca.yylloc;xe.push(w8);var n8e=Ca.options&&Ca.options.ranges;typeof Bp.yy.parseError=="function"?this.parseError=Bp.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Tvt(Uo){Zt.length=Zt.length-2*Uo,wi.length=wi.length-Uo,xe.length=xe.length-Uo}o(Tvt,"popStack");function a8e(){var Uo;return Uo=Tt.pop()||Ca.lex()||xY,typeof Uo!="number"&&(Uo instanceof Array&&(Tt=Uo,Uo=Tt.pop()),Uo=qt.symbols_[Uo]||Uo),Uo}o(a8e,"lex");for(var Ls,E8,Fp,gl,kvt,S8,bg={},i4,fh,bY,n4;;){if(Fp=Zt[Zt.length-1],this.defaultActions[Fp]?gl=this.defaultActions[Fp]:((Ls===null||typeof Ls>"u")&&(Ls=a8e()),gl=Wo[Fp]&&Wo[Fp][Ls]),typeof gl>"u"||!gl.length||!gl[0]){var A8="";n4=[];for(i4 in Wo[Fp])this.terminals_[i4]&&i4>r8e&&n4.push("'"+this.terminals_[i4]+"'");Ca.showPosition?A8="Parse error on line "+(Rn+1)+`: -`+Ca.showPosition()+` -Expecting `+n4.join(", ")+", got '"+(this.terminals_[Ls]||Ls)+"'":A8="Parse error on line "+(Rn+1)+": Unexpected "+(Ls==xY?"end of input":"'"+(this.terminals_[Ls]||Ls)+"'"),this.parseError(A8,{text:Ca.match,token:this.terminals_[Ls]||Ls,line:Ca.yylineno,loc:w8,expected:n4})}if(gl[0]instanceof Array&&gl.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Fp+", token: "+Ls);switch(gl[0]){case 1:Zt.push(Ls),wi.push(Ca.yytext),xe.push(Ca.yylloc),Zt.push(gl[1]),Ls=null,E8?(Ls=E8,E8=null):(k8=Ca.yyleng,Se=Ca.yytext,Rn=Ca.yylineno,w8=Ca.yylloc,r4>0&&r4--);break;case 2:if(fh=this.productions_[gl[1]][1],bg.$=wi[wi.length-fh],bg._$={first_line:xe[xe.length-(fh||1)].first_line,last_line:xe[xe.length-1].last_line,first_column:xe[xe.length-(fh||1)].first_column,last_column:xe[xe.length-1].last_column},n8e&&(bg._$.range=[xe[xe.length-(fh||1)].range[0],xe[xe.length-1].range[1]]),S8=this.performAction.apply(bg,[Se,k8,Rn,Bp.yy,gl[1],wi,xe].concat(i8e)),typeof S8<"u")return S8;fh&&(Zt=Zt.slice(0,-1*fh*2),wi=wi.slice(0,-1*fh),xe=xe.slice(0,-1*fh)),Zt.push(this.productions_[gl[1]][0]),wi.push(bg.$),xe.push(bg._$),bY=Wo[Zt[Zt.length-2]][Zt[Zt.length-1]],Zt.push(bY);break;case 3:return!0}}return!0},"parse")},qa=(function(){var Ft={EOF:1,parseError:o(function(qt,Zt){if(this.yy.parser)this.yy.parser.parseError(qt,Zt);else throw new Error(qt)},"parseError"),setInput:o(function(Et,qt){return this.yy=qt||this.yy||{},this._input=Et,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var Et=this._input[0];this.yytext+=Et,this.yyleng++,this.offset++,this.match+=Et,this.matched+=Et;var qt=Et.match(/(?:\r\n?|\n).*/g);return qt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Et},"input"),unput:o(function(Et){var qt=Et.length,Zt=Et.split(/(?:\r\n?|\n)/g);this._input=Et+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-qt),this.offset-=qt;var Tt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Zt.length-1&&(this.yylineno-=Zt.length-1);var wi=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Zt?(Zt.length===Tt.length?this.yylloc.first_column:0)+Tt[Tt.length-Zt.length].length-Zt[0].length:this.yylloc.first_column-qt},this.options.ranges&&(this.yylloc.range=[wi[0],wi[0]+this.yyleng-qt]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(Et){this.unput(this.match.slice(Et))},"less"),pastInput:o(function(){var Et=this.matched.substr(0,this.matched.length-this.match.length);return(Et.length>20?"...":"")+Et.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Et=this.match;return Et.length<20&&(Et+=this._input.substr(0,20-Et.length)),(Et.substr(0,20)+(Et.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Et=this.pastInput(),qt=new Array(Et.length+1).join("-");return Et+this.upcomingInput()+` -`+qt+"^"},"showPosition"),test_match:o(function(Et,qt){var Zt,Tt,wi;if(this.options.backtrack_lexer&&(wi={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(wi.yylloc.range=this.yylloc.range.slice(0))),Tt=Et[0].match(/(?:\r\n?|\n).*/g),Tt&&(this.yylineno+=Tt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Tt?Tt[Tt.length-1].length-Tt[Tt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Et[0].length},this.yytext+=Et[0],this.match+=Et[0],this.matches=Et,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Et[0].length),this.matched+=Et[0],Zt=this.performAction.call(this,this.yy,this,qt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Zt)return Zt;if(this._backtrack){for(var xe in wi)this[xe]=wi[xe];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Et,qt,Zt,Tt;this._more||(this.yytext="",this.match="");for(var wi=this._currentRules(),xe=0;xeqt[0].length)){if(qt=Zt,Tt=xe,this.options.backtrack_lexer){if(Et=this.test_match(Zt,wi[xe]),Et!==!1)return Et;if(this._backtrack){qt=!1;continue}else return!1}else if(!this.options.flex)break}return qt?(Et=this.test_match(qt,wi[Tt]),Et!==!1?Et:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var qt=this.next();return qt||this.lex()},"lex"),begin:o(function(qt){this.conditionStack.push(qt)},"begin"),popState:o(function(){var qt=this.conditionStack.length-1;return qt>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(qt){return qt=this.conditionStack.length-1-Math.abs(qt||0),qt>=0?this.conditionStack[qt]:"INITIAL"},"topState"),pushState:o(function(qt){this.begin(qt)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(qt,Zt,Tt,wi){var xe=wi;switch(Tt){case 0:return this.begin("acc_title"),34;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),36;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),Zt.yytext="",40;break;case 8:return this.pushState("shapeDataStr"),40;break;case 9:return this.popState(),40;break;case 10:let Wo=/\n\s*/g;return Zt.yytext=Zt.yytext.replace(Wo,"
    "),40;break;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return qt.lex.firstGraph()&&this.begin("dir"),12;break;case 36:return qt.lex.firstGraph()&&this.begin("dir"),12;break;case 37:return qt.lex.firstGraph()&&this.begin("dir"),12;break;case 38:return 27;case 39:return 32;case 40:return 98;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return this.popState(),13;break;case 45:return this.popState(),14;break;case 46:return this.popState(),14;break;case 47:return this.popState(),14;break;case 48:return this.popState(),14;break;case 49:return this.popState(),14;break;case 50:return this.popState(),14;break;case 51:return this.popState(),14;break;case 52:return this.popState(),14;break;case 53:return this.popState(),14;break;case 54:return this.popState(),14;break;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 125;case 60:return 78;case 61:return 105;case 62:return 111;case 63:return 46;case 64:return 60;case 65:return 44;case 66:return 8;case 67:return 106;case 68:return 115;case 69:return this.popState(),77;break;case 70:return this.pushState("edgeText"),75;break;case 71:return 119;case 72:return this.popState(),77;break;case 73:return this.pushState("thickEdgeText"),75;break;case 74:return 119;case 75:return this.popState(),77;break;case 76:return this.pushState("dottedEdgeText"),75;break;case 77:return 119;case 78:return 77;case 79:return this.popState(),53;break;case 80:return"TEXT";case 81:return this.pushState("ellipseText"),52;break;case 82:return this.popState(),55;break;case 83:return this.pushState("text"),54;break;case 84:return this.popState(),57;break;case 85:return this.pushState("text"),56;break;case 86:return 58;case 87:return this.pushState("text"),67;break;case 88:return this.popState(),64;break;case 89:return this.pushState("text"),63;break;case 90:return this.popState(),49;break;case 91:return this.pushState("text"),48;break;case 92:return this.popState(),69;break;case 93:return this.popState(),71;break;case 94:return 117;case 95:return this.pushState("trapText"),68;break;case 96:return this.pushState("trapText"),70;break;case 97:return 118;case 98:return 67;case 99:return 90;case 100:return"SEP";case 101:return 89;case 102:return 115;case 103:return 111;case 104:return 44;case 105:return 109;case 106:return 114;case 107:return 116;case 108:return this.popState(),62;break;case 109:return this.pushState("text"),62;break;case 110:return this.popState(),51;break;case 111:return this.pushState("text"),50;break;case 112:return this.popState(),31;break;case 113:return this.pushState("text"),29;break;case 114:return this.popState(),66;break;case 115:return this.pushState("text"),65;break;case 116:return"TEXT";case 117:return"QUOTE";case 118:return 9;case 119:return 10;case 120:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeData:{rules:[8,11,12,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackargs:{rules:[17,18,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackname:{rules:[14,15,16,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},href:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},click:{rules:[21,24,33,34,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dottedEdgeText:{rules:[21,24,75,77,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},thickEdgeText:{rules:[21,24,72,74,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},edgeText:{rules:[21,24,69,71,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},trapText:{rules:[21,24,78,81,83,85,89,91,92,93,94,95,96,109,111,113,115],inclusive:!1},ellipseText:{rules:[21,24,78,79,80,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},text:{rules:[21,24,78,81,82,83,84,85,88,89,90,91,95,96,108,109,110,111,112,113,114,115,116],inclusive:!1},vertex:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr:{rules:[3,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_title:{rules:[1,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},md_string:{rules:[19,20,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},string:{rules:[21,22,23,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,75,76,78,81,83,85,86,87,89,91,95,96,97,98,99,100,101,102,103,104,105,106,107,109,111,113,115,117,118,119,120],inclusive:!0}}};return Ft})();sa.lexer=qa;function Mi(){this.yy={}}return o(Mi,"Parser"),Mi.prototype=sa,sa.Parser=Mi,new Mi})();CF.parser=CF;wF=CF});var vye,xye,bye=P(()=>{"use strict";yye();vye=Object.assign({},wF);vye.parse=t=>{let e=t.replace(/}\s*\n/g,`} -`);return wF.parse(e)};xye=vye});var qu,wy=P(()=>{"use strict";qu=o(()=>` - /* Font Awesome icon styling - consolidated */ - .label-icon { - display: inline-block; - height: 1em; - overflow: visible; - vertical-align: -0.125em; - } - - .node .label-icon path { - fill: currentColor; - stroke: revert; - stroke-width: revert; - } -`,"getIconStyles")});var Ait,_it,Tye,kye=P(()=>{"use strict";Yn();wy();Ait=o((t,e)=>{let r=zp,i=r(t,"r"),n=r(t,"g"),a=r(t,"b");return Fn(i,n,a,e)},"fade"),_it=o(t=>`.label { - font-family: ${t.fontFamily}; - color: ${t.nodeTextColor||t.textColor}; - } - .cluster-label text { - fill: ${t.titleColor}; - } - .cluster-label span { - color: ${t.titleColor}; - } - .cluster-label span p { - background-color: transparent; - } - - .label text,span { - fill: ${t.nodeTextColor||t.textColor}; - color: ${t.nodeTextColor||t.textColor}; - } - - .node rect, - .node circle, - .node ellipse, - .node polygon, - .node path { - fill: ${t.mainBkg}; - stroke: ${t.nodeBorder}; - stroke-width: ${t.strokeWidth??1}px; - } - .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label { - text-anchor: middle; - } - // .flowchart-label .text-outer-tspan { - // text-anchor: middle; - // } - // .flowchart-label .text-inner-tspan { - // text-anchor: start; - // } - - .node .katex path { - fill: #000; - stroke: #000; - stroke-width: 1px; - } - - .rough-node .label,.node .label, .image-shape .label, .icon-shape .label { - text-align: center; - } - .node.clickable { - cursor: pointer; - } - - - .root .anchor path { - fill: ${t.lineColor} !important; - stroke-width: 0; - stroke: ${t.lineColor}; - } - - .arrowheadPath { - fill: ${t.arrowheadColor}; - } - - .edgePath .path { - stroke: ${t.lineColor}; - stroke-width: ${t.strokeWidth??2}px; - } - - .flowchart-link { - stroke: ${t.lineColor}; - fill: none; - } - - .edgeLabel { - background-color: ${t.edgeLabelBackground}; - p { - background-color: ${t.edgeLabelBackground}; - } - rect { - opacity: 0.5; - background-color: ${t.edgeLabelBackground}; - fill: ${t.edgeLabelBackground}; - } - text-align: center; - } - - /* For html labels only */ - .labelBkg { - background-color: ${Ait(t.edgeLabelBackground,.5)}; - // background-color: - } - - .cluster rect { - fill: ${t.clusterBkg}; - stroke: ${t.clusterBorder}; - stroke-width: 1px; - } - - .cluster text { - fill: ${t.titleColor}; - } - - .cluster span { - color: ${t.titleColor}; - } - /* .cluster div { - color: ${t.titleColor}; - } */ - - div.mermaidTooltip { - position: absolute; - text-align: center; - max-width: 200px; - padding: 2px; - font-family: ${t.fontFamily}; - font-size: 12px; - background: ${t.tertiaryColor}; - border: 1px solid ${t.border2}; - border-radius: 2px; - pointer-events: none; - z-index: 100; - } - - .flowchartTitleText { - text-anchor: middle; - font-size: 18px; - fill: ${t.textColor}; - } - - rect.text { - fill: none; - stroke-width: 0; - } - - .icon-shape, .image-shape { - background-color: ${t.edgeLabelBackground}; - p { - background-color: ${t.edgeLabelBackground}; - padding: 2px; - } - .label rect { - opacity: 0.5; - background-color: ${t.edgeLabelBackground}; - fill: ${t.edgeLabelBackground}; - } - text-align: center; - } - ${qu()} -`,"getStyles"),Tye=_it});var qS={};ur(qS,{diagram:()=>Dit});var Dit,WS=P(()=>{"use strict";Ut();qle();gye();bye();kye();Dit={parser:xye,get db(){return new S5},renderer:mye,styles:Tye,init:o(t=>{t.flowchart||(t.flowchart={}),t.layout&&t2({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,t2({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")}});var EF,Aye,_ye=P(()=>{"use strict";EF=(function(){var t=o(function(Ee,Ne,we,Te){for(we=we||{},Te=Ee.length;Te--;we[Ee[Te]]=Ne);return we},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],r=[1,10],i=[1,11],n=[1,12],a=[1,13],s=[1,23],l=[1,24],u=[1,25],h=[1,26],f=[1,27],d=[1,19],p=[1,28],m=[1,29],g=[1,20],y=[1,18],v=[1,21],x=[1,22],b=[1,36],T=[1,37],w=[1,38],k=[1,39],C=[1,40],E=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,65,66,67,68,69],S=[1,45],L=[1,46],M=[1,55],I=[40,48,50,51,52,70,71],A=[1,66],_=[1,64],D=[1,61],N=[1,65],R=[1,67],B=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,65,66,67,68,69],O=[65,66,67,68,69],$=[1,84],z=[1,83],F=[1,81],V=[1,82],H=[6,10,42,47],X=[6,10,13,41,42,47,48,49],W=[1,92],Z=[1,91],Y=[1,90],ae=[19,58],J=[1,101],ee=[1,100],re=[19,58,60,62],te={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,attributeKeyType:59,",":60,ATTRIBUTE_KEY:61,COMMENT:62,cardinality:63,relType:64,ZERO_OR_ONE:65,ZERO_OR_MORE:66,ONE_OR_MORE:67,ONLY_ONE:68,MD_PARENT:69,NON_IDENTIFYING:70,IDENTIFYING:71,WORD:72,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",60:",",61:"ATTRIBUTE_KEY",62:"COMMENT",65:"ZERO_OR_ONE",66:"ZERO_OR_MORE",67:"ONE_OR_MORE",68:"ONLY_ONE",69:"MD_PARENT",70:"NON_IDENTIFYING",71:"IDENTIFYING",72:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[55,1],[56,1],[56,3],[59,1],[57,1],[12,3],[63,1],[63,1],[63,1],[63,1],[63,1],[64,1],[64,1],[14,1],[14,1],[14,1]],performAction:o(function(Ne,we,Te,De,$e,pe,Je){var Ce=pe.length-1;switch($e){case 1:break;case 2:this.$=[];break;case 3:pe[Ce-1].push(pe[Ce]),this.$=pe[Ce-1];break;case 4:case 5:this.$=pe[Ce];break;case 6:case 7:this.$=[];break;case 8:De.addEntity(pe[Ce-4]),De.addEntity(pe[Ce-2]),De.addRelationship(pe[Ce-4],pe[Ce],pe[Ce-2],pe[Ce-3]);break;case 9:De.addEntity(pe[Ce-8]),De.addEntity(pe[Ce-4]),De.addRelationship(pe[Ce-8],pe[Ce],pe[Ce-4],pe[Ce-5]),De.setClass([pe[Ce-8]],pe[Ce-6]),De.setClass([pe[Ce-4]],pe[Ce-2]);break;case 10:De.addEntity(pe[Ce-6]),De.addEntity(pe[Ce-2]),De.addRelationship(pe[Ce-6],pe[Ce],pe[Ce-2],pe[Ce-3]),De.setClass([pe[Ce-6]],pe[Ce-4]);break;case 11:De.addEntity(pe[Ce-6]),De.addEntity(pe[Ce-4]),De.addRelationship(pe[Ce-6],pe[Ce],pe[Ce-4],pe[Ce-5]),De.setClass([pe[Ce-4]],pe[Ce-2]);break;case 12:De.addEntity(pe[Ce-3]),De.addAttributes(pe[Ce-3],pe[Ce-1]);break;case 13:De.addEntity(pe[Ce-5]),De.addAttributes(pe[Ce-5],pe[Ce-1]),De.setClass([pe[Ce-5]],pe[Ce-3]);break;case 14:De.addEntity(pe[Ce-2]);break;case 15:De.addEntity(pe[Ce-4]),De.setClass([pe[Ce-4]],pe[Ce-2]);break;case 16:De.addEntity(pe[Ce]);break;case 17:De.addEntity(pe[Ce-2]),De.setClass([pe[Ce-2]],pe[Ce]);break;case 18:De.addEntity(pe[Ce-6],pe[Ce-4]),De.addAttributes(pe[Ce-6],pe[Ce-1]);break;case 19:De.addEntity(pe[Ce-8],pe[Ce-6]),De.addAttributes(pe[Ce-8],pe[Ce-1]),De.setClass([pe[Ce-8]],pe[Ce-3]);break;case 20:De.addEntity(pe[Ce-5],pe[Ce-3]);break;case 21:De.addEntity(pe[Ce-7],pe[Ce-5]),De.setClass([pe[Ce-7]],pe[Ce-2]);break;case 22:De.addEntity(pe[Ce-3],pe[Ce-1]);break;case 23:De.addEntity(pe[Ce-5],pe[Ce-3]),De.setClass([pe[Ce-5]],pe[Ce]);break;case 24:case 25:this.$=pe[Ce].trim(),De.setAccTitle(this.$);break;case 26:case 27:this.$=pe[Ce].trim(),De.setAccDescription(this.$);break;case 32:De.setDirection("TB");break;case 33:De.setDirection("BT");break;case 34:De.setDirection("RL");break;case 35:De.setDirection("LR");break;case 36:this.$=pe[Ce-3],De.addClass(pe[Ce-2],pe[Ce-1]);break;case 37:case 38:case 59:case 67:this.$=[pe[Ce]];break;case 39:case 40:this.$=pe[Ce-2].concat([pe[Ce]]);break;case 41:this.$=pe[Ce-2],De.setClass(pe[Ce-1],pe[Ce]);break;case 42:this.$=pe[Ce-3],De.addCssStyles(pe[Ce-2],pe[Ce-1]);break;case 43:this.$=[pe[Ce]];break;case 44:pe[Ce-2].push(pe[Ce]),this.$=pe[Ce-2];break;case 46:this.$=pe[Ce-1]+pe[Ce];break;case 54:case 79:case 80:this.$=pe[Ce].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 81:this.$=pe[Ce];break;case 60:pe[Ce].push(pe[Ce-1]),this.$=pe[Ce];break;case 61:this.$={type:pe[Ce-1],name:pe[Ce]};break;case 62:this.$={type:pe[Ce-2],name:pe[Ce-1],keys:pe[Ce]};break;case 63:this.$={type:pe[Ce-2],name:pe[Ce-1],comment:pe[Ce]};break;case 64:this.$={type:pe[Ce-3],name:pe[Ce-2],keys:pe[Ce-1],comment:pe[Ce]};break;case 65:case 66:case 69:this.$=pe[Ce];break;case 68:pe[Ce-2].push(pe[Ce]),this.$=pe[Ce-2];break;case 70:this.$=pe[Ce].replace(/"/g,"");break;case 71:this.$={cardA:pe[Ce],relType:pe[Ce-1],cardB:pe[Ce-2]};break;case 72:this.$=De.Cardinality.ZERO_OR_ONE;break;case 73:this.$=De.Cardinality.ZERO_OR_MORE;break;case 74:this.$=De.Cardinality.ONE_OR_MORE;break;case 75:this.$=De.Cardinality.ONLY_ONE;break;case 76:this.$=De.Cardinality.MD_PARENT;break;case 77:this.$=De.Identification.NON_IDENTIFYING;break;case 78:this.$=De.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:r,24:i,26:n,28:a,29:14,30:15,31:16,32:17,33:s,34:l,35:u,36:h,37:f,40:d,43:p,44:m,48:g,50:y,51:v,52:x},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:30,11:9,22:r,24:i,26:n,28:a,29:14,30:15,31:16,32:17,33:s,34:l,35:u,36:h,37:f,40:d,43:p,44:m,48:g,50:y,51:v,52:x},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:31,63:35,15:[1,32],17:[1,33],20:[1,34],65:b,66:T,67:w,68:k,69:C}),{23:[1,41]},{25:[1,42]},{27:[1,43]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(E,[2,54]),t(E,[2,55]),t(E,[2,56]),t(E,[2,57]),t(E,[2,58]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:44,40:S,41:L},{16:47,40:S,41:L},{16:48,40:S,41:L},t(e,[2,4]),{11:49,40:d,48:g,50:y,51:v,52:x},{16:50,40:S,41:L},{18:51,19:[1,52],53:53,54:54,58:M},{11:56,40:d,48:g,50:y,51:v,52:x},{64:57,70:[1,58],71:[1,59]},t(I,[2,72]),t(I,[2,73]),t(I,[2,74]),t(I,[2,75]),t(I,[2,76]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:A,38:60,41:_,42:D,45:62,46:63,48:N,49:R},t(B,[2,37]),t(B,[2,38]),{16:68,40:S,41:L,42:D},{13:A,38:69,41:_,42:D,45:62,46:63,48:N,49:R},{13:[1,70],15:[1,71]},t(e,[2,17],{63:35,12:72,17:[1,73],42:D,65:b,66:T,67:w,68:k,69:C}),{19:[1,74]},t(e,[2,14]),{18:75,19:[2,59],53:53,54:54,58:M},{55:76,58:[1,77]},{58:[2,65]},{21:[1,78]},{63:79,65:b,66:T,67:w,68:k,69:C},t(O,[2,77]),t(O,[2,78]),{6:$,10:z,39:80,42:F,47:V},{40:[1,85],41:[1,86]},t(H,[2,43],{46:87,13:A,41:_,48:N,49:R}),t(X,[2,45]),t(X,[2,50]),t(X,[2,51]),t(X,[2,52]),t(X,[2,53]),t(e,[2,41],{42:D}),{6:$,10:z,39:88,42:F,47:V},{14:89,40:W,50:Z,72:Y},{16:93,40:S,41:L},{11:94,40:d,48:g,50:y,51:v,52:x},{18:95,19:[1,96],53:53,54:54,58:M},t(e,[2,12]),{19:[2,60]},t(ae,[2,61],{56:97,57:98,59:99,61:J,62:ee}),t([19,58,61,62],[2,66]),t(e,[2,22],{15:[1,103],17:[1,102]}),t([40,48,50,51,52],[2,71]),t(e,[2,36]),{13:A,41:_,45:104,46:63,48:N,49:R},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(B,[2,39]),t(B,[2,40]),t(X,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,79]),t(e,[2,80]),t(e,[2,81]),{13:[1,105],42:D},{13:[1,107],15:[1,106]},{19:[1,108]},t(e,[2,15]),t(ae,[2,62],{57:109,60:[1,110],62:ee}),t(ae,[2,63]),t(re,[2,67]),t(ae,[2,70]),t(re,[2,69]),{18:111,19:[1,112],53:53,54:54,58:M},{16:113,40:S,41:L},t(H,[2,44],{46:87,13:A,41:_,48:N,49:R}),{14:114,40:W,50:Z,72:Y},{16:115,40:S,41:L},{14:116,40:W,50:Z,72:Y},t(e,[2,13]),t(ae,[2,64]),{59:117,61:J},{19:[1,118]},t(e,[2,20]),t(e,[2,23],{17:[1,119],42:D}),t(e,[2,11]),{13:[1,120],42:D},t(e,[2,10]),t(re,[2,68]),t(e,[2,18]),{18:121,19:[1,122],53:53,54:54,58:M},{14:123,40:W,50:Z,72:Y},{19:[1,124]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{55:[2,65],75:[2,60]},parseError:o(function(Ne,we){if(we.recoverable)this.trace(Ne);else{var Te=new Error(Ne);throw Te.hash=we,Te}},"parseError"),parse:o(function(Ne){var we=this,Te=[0],De=[],$e=[null],pe=[],Je=this.table,Ce="",Fe=0,Ue=0,qe=0,Me=2,He=1,K=pe.slice.call(arguments,1),oe=Object.create(this.lexer),U={yy:{}};for(var ue in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ue)&&(U.yy[ue]=this.yy[ue]);oe.setInput(Ne,U.yy),U.yy.lexer=oe,U.yy.parser=this,typeof oe.yylloc>"u"&&(oe.yylloc={});var G=oe.yylloc;pe.push(G);var se=oe.options&&oe.options.ranges;typeof U.yy.parseError=="function"?this.parseError=U.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function le(Nt){Te.length=Te.length-2*Nt,$e.length=$e.length-Nt,pe.length=pe.length-Nt}o(le,"popStack");function ke(){var Nt;return Nt=De.pop()||oe.lex()||He,typeof Nt!="number"&&(Nt instanceof Array&&(De=Nt,Nt=De.pop()),Nt=we.symbols_[Nt]||Nt),Nt}o(ke,"lex");for(var me,ye,Re,ve,Oe,We,Be={},Qe,ce,it,fe;;){if(Re=Te[Te.length-1],this.defaultActions[Re]?ve=this.defaultActions[Re]:((me===null||typeof me>"u")&&(me=ke()),ve=Je[Re]&&Je[Re][me]),typeof ve>"u"||!ve.length||!ve[0]){var ut="";fe=[];for(Qe in Je[Re])this.terminals_[Qe]&&Qe>Me&&fe.push("'"+this.terminals_[Qe]+"'");oe.showPosition?ut="Parse error on line "+(Fe+1)+`: -`+oe.showPosition()+` -Expecting `+fe.join(", ")+", got '"+(this.terminals_[me]||me)+"'":ut="Parse error on line "+(Fe+1)+": Unexpected "+(me==He?"end of input":"'"+(this.terminals_[me]||me)+"'"),this.parseError(ut,{text:oe.match,token:this.terminals_[me]||me,line:oe.yylineno,loc:G,expected:fe})}if(ve[0]instanceof Array&&ve.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Re+", token: "+me);switch(ve[0]){case 1:Te.push(me),$e.push(oe.yytext),pe.push(oe.yylloc),Te.push(ve[1]),me=null,ye?(me=ye,ye=null):(Ue=oe.yyleng,Ce=oe.yytext,Fe=oe.yylineno,G=oe.yylloc,qe>0&&qe--);break;case 2:if(ce=this.productions_[ve[1]][1],Be.$=$e[$e.length-ce],Be._$={first_line:pe[pe.length-(ce||1)].first_line,last_line:pe[pe.length-1].last_line,first_column:pe[pe.length-(ce||1)].first_column,last_column:pe[pe.length-1].last_column},se&&(Be._$.range=[pe[pe.length-(ce||1)].range[0],pe[pe.length-1].range[1]]),We=this.performAction.apply(Be,[Ce,Ue,Fe,U.yy,ve[1],$e,pe].concat(K)),typeof We<"u")return We;ce&&(Te=Te.slice(0,-1*ce*2),$e=$e.slice(0,-1*ce),pe=pe.slice(0,-1*ce)),Te.push(this.productions_[ve[1]][0]),$e.push(Be.$),pe.push(Be._$),it=Je[Te[Te.length-2]][Te[Te.length-1]],Te.push(it);break;case 3:return!0}}return!0},"parse")},be=(function(){var Ee={EOF:1,parseError:o(function(we,Te){if(this.yy.parser)this.yy.parser.parseError(we,Te);else throw new Error(we)},"parseError"),setInput:o(function(Ne,we){return this.yy=we||this.yy||{},this._input=Ne,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var Ne=this._input[0];this.yytext+=Ne,this.yyleng++,this.offset++,this.match+=Ne,this.matched+=Ne;var we=Ne.match(/(?:\r\n?|\n).*/g);return we?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ne},"input"),unput:o(function(Ne){var we=Ne.length,Te=Ne.split(/(?:\r\n?|\n)/g);this._input=Ne+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-we),this.offset-=we;var De=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Te.length-1&&(this.yylineno-=Te.length-1);var $e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Te?(Te.length===De.length?this.yylloc.first_column:0)+De[De.length-Te.length].length-Te[0].length:this.yylloc.first_column-we},this.options.ranges&&(this.yylloc.range=[$e[0],$e[0]+this.yyleng-we]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(Ne){this.unput(this.match.slice(Ne))},"less"),pastInput:o(function(){var Ne=this.matched.substr(0,this.matched.length-this.match.length);return(Ne.length>20?"...":"")+Ne.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Ne=this.match;return Ne.length<20&&(Ne+=this._input.substr(0,20-Ne.length)),(Ne.substr(0,20)+(Ne.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Ne=this.pastInput(),we=new Array(Ne.length+1).join("-");return Ne+this.upcomingInput()+` -`+we+"^"},"showPosition"),test_match:o(function(Ne,we){var Te,De,$e;if(this.options.backtrack_lexer&&($e={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&($e.yylloc.range=this.yylloc.range.slice(0))),De=Ne[0].match(/(?:\r\n?|\n).*/g),De&&(this.yylineno+=De.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:De?De[De.length-1].length-De[De.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ne[0].length},this.yytext+=Ne[0],this.match+=Ne[0],this.matches=Ne,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ne[0].length),this.matched+=Ne[0],Te=this.performAction.call(this,this.yy,this,we,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Te)return Te;if(this._backtrack){for(var pe in $e)this[pe]=$e[pe];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ne,we,Te,De;this._more||(this.yytext="",this.match="");for(var $e=this._currentRules(),pe=0;pe<$e.length;pe++)if(Te=this._input.match(this.rules[$e[pe]]),Te&&(!we||Te[0].length>we[0].length)){if(we=Te,De=pe,this.options.backtrack_lexer){if(Ne=this.test_match(Te,$e[pe]),Ne!==!1)return Ne;if(this._backtrack){we=!1;continue}else return!1}else if(!this.options.flex)break}return we?(Ne=this.test_match(we,$e[De]),Ne!==!1?Ne:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var we=this.next();return we||this.lex()},"lex"),begin:o(function(we){this.conditionStack.push(we)},"begin"),popState:o(function(){var we=this.conditionStack.length-1;return we>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(we){return we=this.conditionStack.length-1-Math.abs(we||0),we>=0?this.conditionStack[we]:"INITIAL"},"topState"),pushState:o(function(we){this.begin(we)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(we,Te,De,$e){var pe=$e;switch(De){case 0:return this.begin("acc_title"),24;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),26;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 72;case 16:return 4;case 17:return this.begin("block"),17;break;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 61;case 25:return 58;case 26:return 58;case 27:return 62;case 28:break;case 29:return this.popState(),19;break;case 30:return Te.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;break;case 34:return this.popState(),10;break;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;break;case 40:return 43;case 41:return 65;case 42:return 67;case 43:return 67;case 44:return 67;case 45:return 65;case 46:return 65;case 47:return 66;case 48:return 66;case 49:return 66;case 50:return 66;case 51:return 66;case 52:return 67;case 53:return 66;case 54:return 67;case 55:return 68;case 56:return 68;case 57:return 51;case 58:return 68;case 59:return 68;case 60:return 68;case 61:return 52;case 62:return 48;case 63:return 68;case 64:return 65;case 65:return 66;case 66:return 67;case 67:return 69;case 68:return 70;case 69:return 71;case 70:return 71;case 71:return 70;case 72:return 70;case 73:return 70;case 74:return 41;case 75:return 47;case 76:return 40;case 77:return Te.yytext[0];case 78:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,74,75],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,76,77,78],inclusive:!0}}};return Ee})();te.lexer=be;function de(){this.yy={}}return o(de,"Parser"),de.prototype=te,te.Parser=de,new de})();EF.parser=EF;Aye=EF});var US,Dye=P(()=>{"use strict";bt();Ut();Ki();er();US=class{constructor(){this.entities=new Map;this.relationships=[];this.classes=new Map;this.direction="TB";this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"};this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"};this.setAccTitle=Ar;this.getAccTitle=Dr;this.setAccDescription=Lr;this.getAccDescription=Rr;this.setDiagramTitle=Mr;this.getDiagramTitle=Nr;this.getConfig=o(()=>ge().er,"getConfig");this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{o(this,"ErDB")}addEntity(e,r=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&r&&(this.entities.get(e).alias=r,Q.info(`Add alias '${r}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:r,shape:"erBox",look:ge().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),Q.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,r){let i=this.addEntity(e),n;for(n=r.length-1;n>=0;n--)r[n].keys||(r[n].keys=[]),r[n].comment||(r[n].comment=""),i.attributes.push(r[n]),Q.debug("Added attribute ",r[n].name)}addRelationship(e,r,i,n){let a=this.entities.get(e),s=this.entities.get(i);if(!a||!s)return;let l={entityA:a.id,roleA:r,entityB:s.id,relSpec:n};this.relationships.push(l),Q.debug("Added new relationship :",l)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let r=[];for(let i of e){let n=this.classes.get(i);n?.styles&&(r=[...r,...n.styles??[]].map(a=>a.trim())),n?.textStyles&&(r=[...r,...n.textStyles??[]].map(a=>a.trim()))}return r}addCssStyles(e,r){for(let i of e){let n=this.entities.get(i);if(!r||!n)return;for(let a of r)n.cssStyles.push(a)}}addClass(e,r){e.forEach(i=>{let n=this.classes.get(i);n===void 0&&(n={id:i,styles:[],textStyles:[]},this.classes.set(i,n)),r&&r.forEach(function(a){if(/color/.exec(a)){let s=a.replace("fill","bgFill");n.textStyles.push(s)}n.styles.push(a)})})}setClass(e,r){for(let i of e){let n=this.entities.get(i);if(n)for(let a of r)n.cssClasses+=" "+a}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],wr()}getData(){let e=[],r=[],i=ge(),n=0;for(let s of this.entities.keys()){let l=this.entities.get(s);l&&(l.cssCompiledStyles=this.getCompiledStyles(l.cssClasses.split(" ")),l.colorIndex=n++,e.push(l))}let a=0;for(let s of this.relationships){let l={id:Cu(s.entityA,s.entityB,{prefix:"id",counter:a++}),type:"normal",curve:"basis",start:s.entityA,end:s.entityB,label:s.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:s.relSpec.cardB.toLowerCase(),arrowTypeEnd:s.relSpec.cardA.toLowerCase(),pattern:s.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:i.look,labelType:"markdown"};r.push(l)}return{nodes:e,edges:r,other:{},config:i,direction:"TB"}}}});var SF={};ur(SF,{draw:()=>Pit});var Pit,Lye=P(()=>{"use strict";Ut();bt();I0();Wd();Ud();er();Pr();Pit=o(async function(t,e,r,i){Q.info("REF0:"),Q.info("Drawing er diagram (unified)",e);let{securityLevel:n,er:a,layout:s}=ge(),l=i.db.getData(),u=Ol(e,n);l.type=i.type,l.layoutAlgorithm=Vu(s),l.config.flowchart.nodeSpacing=a?.nodeSpacing||140,l.config.flowchart.rankSpacing=a?.rankSpacing||80,l.direction=i.db.getDirection();let{config:h}=l,{look:f}=h;f==="neo"?l.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:l.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],l.diagramId=e,await Ul(l,u),l.layoutAlgorithm==="elk"&&u.select(".edges").lower();let d=u.selectAll('[id*="-background"]');Array.from(d).length>0&&d.each(function(){let m=Ze(this),y=m.attr("id").replace("-background",""),v=u.select(`#${CSS.escape(y)}`);if(!v.empty()){let x=v.attr("transform");m.attr("transform",x)}});let p=8;Kt.insertTitle(u,"erDiagramTitleText",a?.titleTopMargin??25,i.db.getDiagramTitle()),Ro(u,p,"erDiagram",a?.useMaxWidth??!0)},"draw")});var Rye,HS,Bit,Fit,Nye,Iye=P(()=>{"use strict";Yn();Rye=o((t,e)=>{let r=zp,i=r(t,"r"),n=r(t,"g"),a=r(t,"b");return Fn(i,n,a,e)},"fade"),HS=new Set(["redux-color","redux-dark-color"]),Bit=o(t=>{let{theme:e,look:r,bkgColorArray:i,borderColorArray:n}=t;if(!HS.has(e))return"";let a=i?.length>0,s="";for(let l=0;l{let{look:e,theme:r,erEdgeLabelBackground:i,strokeWidth:n}=t;return` - ${Bit(t)} - .entityBox { - fill: ${t.mainBkg}; - stroke: ${t.nodeBorder}; - } - - .relationshipLabelBox { - fill: ${t.tertiaryColor}; - opacity: 0.7; - background-color: ${t.tertiaryColor}; - rect { - opacity: 0.5; - } - } - - .labelBkg { - background-color: ${HS.has(r)&&i?i:Rye(t.tertiaryColor,.5)}; - } - - .edgeLabel { - background-color: ${HS.has(r)&&i?i:t.edgeLabelBackground}; - } - .edgeLabel .label rect { - fill: ${HS.has(r)&&i?i:t.edgeLabelBackground}; - } - .edgeLabel .label text { - fill: ${t.textColor}; - } - - .edgeLabel .label { - fill: ${t.nodeBorder}; - font-size: 14px; - } - - .label { - font-family: ${t.fontFamily}; - color: ${t.nodeTextColor||t.textColor}; - } - - .edge-pattern-dashed { - stroke-dasharray: 8,8; - } - - .node rect, - .node circle, - .node ellipse, - .node polygon - { - fill: ${t.mainBkg}; - stroke: ${t.nodeBorder}; - stroke-width: ${e==="neo"?n:"1px"}; - } - - .relationshipLine { - stroke: ${t.lineColor}; - stroke-width: ${e==="neo"?n:"1px"}; - fill: none; - } - - .marker { - fill: none !important; - stroke: ${t.lineColor} !important; - stroke-width: 1; - } - [data-look=neo].labelBkg { - background-color: ${Rye(t.tertiaryColor,.5)}; - } -`},"getStyles"),Nye=Fit});var Mye={};ur(Mye,{diagram:()=>$it});var $it,Oye=P(()=>{"use strict";_ye();Dye();Lye();Iye();$it={parser:Aye,get db(){return new US},renderer:SF,styles:Nye}});function _n(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ga(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function nl(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function AF(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function om(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}function Mc(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Hd(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function _T(t){return Mc(t)&&typeof t.fullText=="string"}var sm,Oc=P(()=>{"use strict";o(_n,"isAstNode");o(ga,"isReference");o(nl,"isMultiReference");o(AF,"isAstNodeDescription");o(om,"isLinkingError");sm=class{static{o(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let i=r.properties[e.property]?.referenceType;if(!i)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return i}getTypeMetaData(e){let r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return _n(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let i=this.subtypes[e];i||(i=this.subtypes[e]={});let n=i[r];if(n!==void 0)return n;{let a=this.types[e],s=a?a.superTypes.some(l=>this.isSubtype(l,r)):!1;return i[r]=s,s}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let i=this.getAllTypes(),n=[];for(let a of i)this.isSubtype(a,e)&&n.push(a);return this.allSubtypes[e]=n,n}}};o(Mc,"isCompositeCstNode");o(Hd,"isLeafCstNode");o(_T,"isRootCstNode")});function Wit(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function YS(t){return!!t&&typeof t[Symbol.iterator]=="function"}function jr(...t){if(t.length===1){let e=t[0];if(e instanceof al)return e;if(YS(e))return new al(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new al(()=>({index:0}),r=>r.index1?new al(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex{"use strict";al=class t{static{o(this,"StreamImpl")}constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,i=e.next();for(;!i.done;)r++,i=e.next();return r}toArray(){let e=[],r=this.iterator(),i;do i=r.next(),i.value!==void 0&&e.push(i.value);while(!i.done);return e}toSet(){return new Set(this)}toMap(e,r){let i=this.map(n=>[e?e(n):n,r?r(n):n]);return new Map(i)}toString(){return this.join()}concat(e){return new t(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let i;if(!r.firstDone){do if(i=this.nextFn(r.first),!i.done)return i;while(!i.done);r.firstDone=!0}do if(i=r.iterator.next(),!i.done)return i;while(!i.done);return xs})}join(e=","){let r=this.iterator(),i="",n,a=!1;do n=r.next(),n.done||(a&&(i+=e),i+=Wit(n.value)),a=!0;while(!n.done);return i}indexOf(e,r=0){let i=this.iterator(),n=0,a=i.next();for(;!a.done;){if(n>=r&&a.value===e)return n;a=i.next(),n++}return-1}every(e){let r=this.iterator(),i=r.next();for(;!i.done;){if(!e(i.value))return!1;i=r.next()}return!0}some(e){let r=this.iterator(),i=r.next();for(;!i.done;){if(e(i.value))return!0;i=r.next()}return!1}forEach(e){let r=this.iterator(),i=0,n=r.next();for(;!n.done;)e(n.value,i),n=r.next(),i++}map(e){return new t(this.startFn,r=>{let{done:i,value:n}=this.nextFn(r);return i?xs:{done:!1,value:e(n)}})}filter(e){return new t(this.startFn,r=>{let i;do if(i=this.nextFn(r),!i.done&&e(i.value))return i;while(!i.done);return xs})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let i=this.iterator(),n=r,a=i.next();for(;!a.done;)n===void 0?n=a.value:n=e(n,a.value),a=i.next();return n}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,i){let n=e.next();if(n.done)return i;let a=this.recursiveReduce(e,r,i);return a===void 0?n.value:r(a,n.value)}find(e){let r=this.iterator(),i=r.next();for(;!i.done;){if(e(i.value))return i.value;i=r.next()}}findIndex(e){let r=this.iterator(),i=0,n=r.next();for(;!n.done;){if(e(n.value))return i;n=r.next(),i++}return-1}includes(e){let r=this.iterator(),i=r.next();for(;!i.done;){if(i.value===e)return!0;i=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}let{done:i,value:n}=this.nextFn(r.this);if(!i){let a=e(n);if(YS(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return xs})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),i=>{do{if(i.iterator){let s=i.iterator.next();if(s.done)i.iterator=void 0;else return s}let{done:n,value:a}=r.nextFn(i.this);if(!n)if(YS(a))i.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(i.iterator);return xs})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let i=0;i({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?xs:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let i;do if(i=this.nextFn(r.internalState),!i.done){let n=e?e(i.value):i.value;if(!r.set.has(n))return r.set.add(n),i}while(!i.done);return xs})}exclude(e,r){let i=new Set;for(let n of e){let a=r?r(n):n;i.add(a)}return this.filter(n=>{let a=r?r(n):n;return!i.has(a)})}};o(Wit,"toString");o(YS,"isIterable");Yd=new al(()=>{},()=>xs),xs=Object.freeze({done:!0,value:void 0});o(jr,"stream");Wu=class extends al{static{o(this,"TreeStreamImpl")}constructor(e,r,i){super(()=>({iterators:i?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),n=>{for(n.pruned&&(n.iterators.pop(),n.pruned=!1);n.iterators.length>0;){let s=n.iterators[n.iterators.length-1].next();if(s.done)n.iterators.pop();else return n.iterators.push(r(s.value)[Symbol.iterator]()),s}return xs})}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),prune:o(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}};(function(t){function e(a){return a.reduce((s,l)=>s+l,0)}o(e,"sum"),t.sum=e;function r(a){return a.reduce((s,l)=>s*l,0)}o(r,"product"),t.product=r;function i(a){return a.reduce((s,l)=>Math.min(s,l))}o(i,"min"),t.min=i;function n(a){return a.reduce((s,l)=>Math.max(s,l))}o(n,"max"),t.max=n})(Ey||(Ey={}))});var XS={};ur(XS,{assignMandatoryProperties:()=>LF,copyAstNode:()=>DF,findRootNode:()=>Ay,getContainerOfType:()=>ef,getDocument:()=>bs,getReferenceNodes:()=>jS,hasContainerOfType:()=>Uit,linkContentToContainer:()=>Sy,streamAllContents:()=>Pc,streamAst:()=>js,streamContents:()=>DT,streamReferences:()=>jd});function Sy(t,e={}){for(let[r,i]of Object.entries(t))r.startsWith("$")||(Array.isArray(i)?i.forEach((n,a)=>{_n(n)&&(n.$container=t,n.$containerProperty=r,n.$containerIndex=a,e.deep&&Sy(n,e))}):_n(i)&&(i.$container=t,i.$containerProperty=r,e.deep&&Sy(i,e)))}function ef(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function Uit(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function bs(t){let r=Ay(t).$document;if(!r)throw new Error("AST node has no document.");return r}function Ay(t){for(;t.$container;)t=t.$container;return t}function jS(t){return ga(t)?t.ref?[t.ref]:[]:nl(t)?t.items.map(e=>e.ref):[]}function DT(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new al(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),i=>{for(;i.keyIndexDT(r,e))}function js(t,e){if(t){if(e?.range&&!_F(t,e.range))return new Wu(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new Wu(t,r=>DT(r,e),{includeRoot:!0})}function _F(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?RF(r,e):!1}function jd(t){return new al(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex{"use strict";Oc();Ys();Bc();o(Sy,"linkContentToContainer");o(ef,"getContainerOfType");o(Uit,"hasContainerOfType");o(bs,"getDocument");o(Ay,"findRootNode");o(jS,"getReferenceNodes");o(DT,"streamContents");o(Pc,"streamAllContents");o(js,"streamAst");o(_F,"isAstNodeInRange");o(jd,"streamReferences");o(LF,"assignMandatoryProperties");o(Bye,"copyDefaultValue");o(DF,"copyAstNode")});var zT={};ur(zT,{AbstractElement:()=>No,AbstractParserRule:()=>LT,AbstractRule:()=>_y,AbstractType:()=>sl,Action:()=>Xd,Alternatives:()=>RT,ArrayLiteral:()=>KS,ArrayType:()=>QS,Assignment:()=>Kd,BooleanLiteral:()=>ZS,CharacterRange:()=>Qd,Condition:()=>Zd,Conjunction:()=>NT,CrossReference:()=>Jd,Disjunction:()=>IT,EndOfFile:()=>JS,Grammar:()=>tf,GrammarImport:()=>e6,Group:()=>lm,InferredType:()=>t6,InfixRule:()=>Uu,InfixRuleOperatorList:()=>MT,InfixRuleOperators:()=>r6,Interface:()=>Dy,Keyword:()=>Ly,LangiumGrammarAstReflection:()=>Oy,LangiumGrammarTerminals:()=>Hit,NamedArgument:()=>Ry,NegatedToken:()=>cm,Negation:()=>i6,NumberLiteral:()=>n6,Parameter:()=>Ny,ParameterReference:()=>a6,ParserRule:()=>Fc,ReferenceType:()=>OT,RegexToken:()=>um,ReturnType:()=>s6,RuleCall:()=>hm,SimpleType:()=>Iy,StringLiteral:()=>o6,TerminalAlternatives:()=>fm,TerminalElement:()=>Io,TerminalGroup:()=>dm,TerminalRule:()=>rf,TerminalRuleCall:()=>pm,Type:()=>PT,TypeAttribute:()=>mm,TypeDefinition:()=>gm,UnionType:()=>l6,UnorderedGroup:()=>BT,UntilToken:()=>ym,ValueLiteral:()=>vm,Wildcard:()=>My,isAbstractElement:()=>FT,isAbstractParserRule:()=>nf,isAbstractRule:()=>Yit,isAbstractType:()=>jit,isAction:()=>af,isAlternatives:()=>c6,isArrayLiteral:()=>Xit,isArrayType:()=>NF,isAssignment:()=>$c,isBooleanLiteral:()=>IF,isCharacterRange:()=>MF,isCondition:()=>Kit,isConjunction:()=>OF,isCrossReference:()=>zc,isDisjunction:()=>PF,isEndOfFile:()=>BF,isGrammar:()=>Qit,isGrammarImport:()=>Zit,isGroup:()=>ep,isInferredType:()=>$T,isInfixRule:()=>tp,isInfixRuleOperatorList:()=>Jit,isInfixRuleOperators:()=>ent,isInterface:()=>FF,isKeyword:()=>Hl,isNamedArgument:()=>tnt,isNegatedToken:()=>$F,isNegation:()=>zF,isNumberLiteral:()=>rnt,isParameter:()=>int,isParameterReference:()=>GF,isParserRule:()=>Ba,isReferenceType:()=>VF,isRegexToken:()=>qF,isReturnType:()=>WF,isRuleCall:()=>Gc,isSimpleType:()=>u6,isStringLiteral:()=>nnt,isTerminalAlternatives:()=>UF,isTerminalElement:()=>ant,isTerminalGroup:()=>HF,isTerminalRule:()=>Xs,isTerminalRuleCall:()=>h6,isType:()=>f6,isTypeAttribute:()=>snt,isTypeDefinition:()=>ont,isUnionType:()=>YF,isUnorderedGroup:()=>d6,isUntilToken:()=>jF,isValueLiteral:()=>lnt,isWildcard:()=>XF,reflection:()=>vr});function FT(t){return vr.isInstance(t,No.$type)}function nf(t){return vr.isInstance(t,LT.$type)}function Yit(t){return vr.isInstance(t,_y.$type)}function jit(t){return vr.isInstance(t,sl.$type)}function af(t){return vr.isInstance(t,Xd.$type)}function c6(t){return vr.isInstance(t,RT.$type)}function Xit(t){return vr.isInstance(t,KS.$type)}function NF(t){return vr.isInstance(t,QS.$type)}function $c(t){return vr.isInstance(t,Kd.$type)}function IF(t){return vr.isInstance(t,ZS.$type)}function MF(t){return vr.isInstance(t,Qd.$type)}function Kit(t){return vr.isInstance(t,Zd.$type)}function OF(t){return vr.isInstance(t,NT.$type)}function zc(t){return vr.isInstance(t,Jd.$type)}function PF(t){return vr.isInstance(t,IT.$type)}function BF(t){return vr.isInstance(t,JS.$type)}function Qit(t){return vr.isInstance(t,tf.$type)}function Zit(t){return vr.isInstance(t,e6.$type)}function ep(t){return vr.isInstance(t,lm.$type)}function $T(t){return vr.isInstance(t,t6.$type)}function tp(t){return vr.isInstance(t,Uu.$type)}function Jit(t){return vr.isInstance(t,MT.$type)}function ent(t){return vr.isInstance(t,r6.$type)}function FF(t){return vr.isInstance(t,Dy.$type)}function Hl(t){return vr.isInstance(t,Ly.$type)}function tnt(t){return vr.isInstance(t,Ry.$type)}function $F(t){return vr.isInstance(t,cm.$type)}function zF(t){return vr.isInstance(t,i6.$type)}function rnt(t){return vr.isInstance(t,n6.$type)}function int(t){return vr.isInstance(t,Ny.$type)}function GF(t){return vr.isInstance(t,a6.$type)}function Ba(t){return vr.isInstance(t,Fc.$type)}function VF(t){return vr.isInstance(t,OT.$type)}function qF(t){return vr.isInstance(t,um.$type)}function WF(t){return vr.isInstance(t,s6.$type)}function Gc(t){return vr.isInstance(t,hm.$type)}function u6(t){return vr.isInstance(t,Iy.$type)}function nnt(t){return vr.isInstance(t,o6.$type)}function UF(t){return vr.isInstance(t,fm.$type)}function ant(t){return vr.isInstance(t,Io.$type)}function HF(t){return vr.isInstance(t,dm.$type)}function Xs(t){return vr.isInstance(t,rf.$type)}function h6(t){return vr.isInstance(t,pm.$type)}function f6(t){return vr.isInstance(t,PT.$type)}function snt(t){return vr.isInstance(t,mm.$type)}function ont(t){return vr.isInstance(t,gm.$type)}function YF(t){return vr.isInstance(t,l6.$type)}function d6(t){return vr.isInstance(t,BT.$type)}function jF(t){return vr.isInstance(t,ym.$type)}function lnt(t){return vr.isInstance(t,vm.$type)}function XF(t){return vr.isInstance(t,My.$type)}var Hit,No,LT,_y,sl,Xd,RT,KS,QS,Kd,ZS,Qd,Zd,NT,Jd,IT,JS,tf,e6,lm,t6,Uu,MT,r6,Dy,Ly,Ry,cm,i6,n6,Ny,a6,Fc,OT,um,s6,hm,Iy,o6,fm,Io,dm,rf,pm,PT,mm,gm,l6,BT,ym,vm,My,Oy,vr,ol=P(()=>{"use strict";Oc();Hit={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},No={$type:"AbstractElement",cardinality:"cardinality"};o(FT,"isAbstractElement");LT={$type:"AbstractParserRule"};o(nf,"isAbstractParserRule");_y={$type:"AbstractRule"};o(Yit,"isAbstractRule");sl={$type:"AbstractType"};o(jit,"isAbstractType");Xd={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};o(af,"isAction");RT={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};o(c6,"isAlternatives");KS={$type:"ArrayLiteral",elements:"elements"};o(Xit,"isArrayLiteral");QS={$type:"ArrayType",elementType:"elementType"};o(NF,"isArrayType");Kd={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};o($c,"isAssignment");ZS={$type:"BooleanLiteral",true:"true"};o(IF,"isBooleanLiteral");Qd={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};o(MF,"isCharacterRange");Zd={$type:"Condition"};o(Kit,"isCondition");NT={$type:"Conjunction",left:"left",right:"right"};o(OF,"isConjunction");Jd={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};o(zc,"isCrossReference");IT={$type:"Disjunction",left:"left",right:"right"};o(PF,"isDisjunction");JS={$type:"EndOfFile",cardinality:"cardinality"};o(BF,"isEndOfFile");tf={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};o(Qit,"isGrammar");e6={$type:"GrammarImport",path:"path"};o(Zit,"isGrammarImport");lm={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};o(ep,"isGroup");t6={$type:"InferredType",name:"name"};o($T,"isInferredType");Uu={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};o(tp,"isInfixRule");MT={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};o(Jit,"isInfixRuleOperatorList");r6={$type:"InfixRuleOperators",precedences:"precedences"};o(ent,"isInfixRuleOperators");Dy={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};o(FF,"isInterface");Ly={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};o(Hl,"isKeyword");Ry={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};o(tnt,"isNamedArgument");cm={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};o($F,"isNegatedToken");i6={$type:"Negation",value:"value"};o(zF,"isNegation");n6={$type:"NumberLiteral",value:"value"};o(rnt,"isNumberLiteral");Ny={$type:"Parameter",name:"name"};o(int,"isParameter");a6={$type:"ParameterReference",parameter:"parameter"};o(GF,"isParameterReference");Fc={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};o(Ba,"isParserRule");OT={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};o(VF,"isReferenceType");um={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};o(qF,"isRegexToken");s6={$type:"ReturnType",name:"name"};o(WF,"isReturnType");hm={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};o(Gc,"isRuleCall");Iy={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};o(u6,"isSimpleType");o6={$type:"StringLiteral",value:"value"};o(nnt,"isStringLiteral");fm={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};o(UF,"isTerminalAlternatives");Io={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};o(ant,"isTerminalElement");dm={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};o(HF,"isTerminalGroup");rf={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};o(Xs,"isTerminalRule");pm={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};o(h6,"isTerminalRuleCall");PT={$type:"Type",name:"name",type:"type"};o(f6,"isType");mm={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};o(snt,"isTypeAttribute");gm={$type:"TypeDefinition"};o(ont,"isTypeDefinition");l6={$type:"UnionType",types:"types"};o(YF,"isUnionType");BT={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};o(d6,"isUnorderedGroup");ym={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};o(jF,"isUntilToken");vm={$type:"ValueLiteral"};o(lnt,"isValueLiteral");My={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};o(XF,"isWildcard");Oy=class extends sm{static{o(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments),this.types={AbstractElement:{name:No.$type,properties:{cardinality:{name:No.cardinality}},superTypes:[]},AbstractParserRule:{name:LT.$type,properties:{},superTypes:[_y.$type,sl.$type]},AbstractRule:{name:_y.$type,properties:{},superTypes:[]},AbstractType:{name:sl.$type,properties:{},superTypes:[]},Action:{name:Xd.$type,properties:{cardinality:{name:Xd.cardinality},feature:{name:Xd.feature},inferredType:{name:Xd.inferredType},operator:{name:Xd.operator},type:{name:Xd.type,referenceType:sl.$type}},superTypes:[No.$type]},Alternatives:{name:RT.$type,properties:{cardinality:{name:RT.cardinality},elements:{name:RT.elements,defaultValue:[]}},superTypes:[No.$type]},ArrayLiteral:{name:KS.$type,properties:{elements:{name:KS.elements,defaultValue:[]}},superTypes:[vm.$type]},ArrayType:{name:QS.$type,properties:{elementType:{name:QS.elementType}},superTypes:[gm.$type]},Assignment:{name:Kd.$type,properties:{cardinality:{name:Kd.cardinality},feature:{name:Kd.feature},operator:{name:Kd.operator},predicate:{name:Kd.predicate},terminal:{name:Kd.terminal}},superTypes:[No.$type]},BooleanLiteral:{name:ZS.$type,properties:{true:{name:ZS.true,defaultValue:!1}},superTypes:[Zd.$type,vm.$type]},CharacterRange:{name:Qd.$type,properties:{cardinality:{name:Qd.cardinality},left:{name:Qd.left},lookahead:{name:Qd.lookahead},parenthesized:{name:Qd.parenthesized,defaultValue:!1},right:{name:Qd.right}},superTypes:[Io.$type]},Condition:{name:Zd.$type,properties:{},superTypes:[]},Conjunction:{name:NT.$type,properties:{left:{name:NT.left},right:{name:NT.right}},superTypes:[Zd.$type]},CrossReference:{name:Jd.$type,properties:{cardinality:{name:Jd.cardinality},deprecatedSyntax:{name:Jd.deprecatedSyntax,defaultValue:!1},isMulti:{name:Jd.isMulti,defaultValue:!1},terminal:{name:Jd.terminal},type:{name:Jd.type,referenceType:sl.$type}},superTypes:[No.$type]},Disjunction:{name:IT.$type,properties:{left:{name:IT.left},right:{name:IT.right}},superTypes:[Zd.$type]},EndOfFile:{name:JS.$type,properties:{cardinality:{name:JS.cardinality}},superTypes:[No.$type]},Grammar:{name:tf.$type,properties:{imports:{name:tf.imports,defaultValue:[]},interfaces:{name:tf.interfaces,defaultValue:[]},isDeclared:{name:tf.isDeclared,defaultValue:!1},name:{name:tf.name},rules:{name:tf.rules,defaultValue:[]},types:{name:tf.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:e6.$type,properties:{path:{name:e6.path}},superTypes:[]},Group:{name:lm.$type,properties:{cardinality:{name:lm.cardinality},elements:{name:lm.elements,defaultValue:[]},guardCondition:{name:lm.guardCondition},predicate:{name:lm.predicate}},superTypes:[No.$type]},InferredType:{name:t6.$type,properties:{name:{name:t6.name}},superTypes:[sl.$type]},InfixRule:{name:Uu.$type,properties:{call:{name:Uu.call},dataType:{name:Uu.dataType},inferredType:{name:Uu.inferredType},name:{name:Uu.name},operators:{name:Uu.operators},parameters:{name:Uu.parameters,defaultValue:[]},returnType:{name:Uu.returnType,referenceType:sl.$type}},superTypes:[LT.$type]},InfixRuleOperatorList:{name:MT.$type,properties:{associativity:{name:MT.associativity},operators:{name:MT.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:r6.$type,properties:{precedences:{name:r6.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:Dy.$type,properties:{attributes:{name:Dy.attributes,defaultValue:[]},name:{name:Dy.name},superTypes:{name:Dy.superTypes,defaultValue:[],referenceType:sl.$type}},superTypes:[sl.$type]},Keyword:{name:Ly.$type,properties:{cardinality:{name:Ly.cardinality},predicate:{name:Ly.predicate},value:{name:Ly.value}},superTypes:[No.$type]},NamedArgument:{name:Ry.$type,properties:{calledByName:{name:Ry.calledByName,defaultValue:!1},parameter:{name:Ry.parameter,referenceType:Ny.$type},value:{name:Ry.value}},superTypes:[]},NegatedToken:{name:cm.$type,properties:{cardinality:{name:cm.cardinality},lookahead:{name:cm.lookahead},parenthesized:{name:cm.parenthesized,defaultValue:!1},terminal:{name:cm.terminal}},superTypes:[Io.$type]},Negation:{name:i6.$type,properties:{value:{name:i6.value}},superTypes:[Zd.$type]},NumberLiteral:{name:n6.$type,properties:{value:{name:n6.value}},superTypes:[vm.$type]},Parameter:{name:Ny.$type,properties:{name:{name:Ny.name}},superTypes:[]},ParameterReference:{name:a6.$type,properties:{parameter:{name:a6.parameter,referenceType:Ny.$type}},superTypes:[Zd.$type]},ParserRule:{name:Fc.$type,properties:{dataType:{name:Fc.dataType},definition:{name:Fc.definition},entry:{name:Fc.entry,defaultValue:!1},fragment:{name:Fc.fragment,defaultValue:!1},inferredType:{name:Fc.inferredType},name:{name:Fc.name},parameters:{name:Fc.parameters,defaultValue:[]},returnType:{name:Fc.returnType,referenceType:sl.$type}},superTypes:[LT.$type]},ReferenceType:{name:OT.$type,properties:{isMulti:{name:OT.isMulti,defaultValue:!1},referenceType:{name:OT.referenceType}},superTypes:[gm.$type]},RegexToken:{name:um.$type,properties:{cardinality:{name:um.cardinality},lookahead:{name:um.lookahead},parenthesized:{name:um.parenthesized,defaultValue:!1},regex:{name:um.regex}},superTypes:[Io.$type]},ReturnType:{name:s6.$type,properties:{name:{name:s6.name}},superTypes:[]},RuleCall:{name:hm.$type,properties:{arguments:{name:hm.arguments,defaultValue:[]},cardinality:{name:hm.cardinality},predicate:{name:hm.predicate},rule:{name:hm.rule,referenceType:_y.$type}},superTypes:[No.$type]},SimpleType:{name:Iy.$type,properties:{primitiveType:{name:Iy.primitiveType},stringType:{name:Iy.stringType},typeRef:{name:Iy.typeRef,referenceType:sl.$type}},superTypes:[gm.$type]},StringLiteral:{name:o6.$type,properties:{value:{name:o6.value}},superTypes:[vm.$type]},TerminalAlternatives:{name:fm.$type,properties:{cardinality:{name:fm.cardinality},elements:{name:fm.elements,defaultValue:[]},lookahead:{name:fm.lookahead},parenthesized:{name:fm.parenthesized,defaultValue:!1}},superTypes:[Io.$type]},TerminalElement:{name:Io.$type,properties:{cardinality:{name:Io.cardinality},lookahead:{name:Io.lookahead},parenthesized:{name:Io.parenthesized,defaultValue:!1}},superTypes:[No.$type]},TerminalGroup:{name:dm.$type,properties:{cardinality:{name:dm.cardinality},elements:{name:dm.elements,defaultValue:[]},lookahead:{name:dm.lookahead},parenthesized:{name:dm.parenthesized,defaultValue:!1}},superTypes:[Io.$type]},TerminalRule:{name:rf.$type,properties:{definition:{name:rf.definition},fragment:{name:rf.fragment,defaultValue:!1},hidden:{name:rf.hidden,defaultValue:!1},name:{name:rf.name},type:{name:rf.type}},superTypes:[_y.$type]},TerminalRuleCall:{name:pm.$type,properties:{cardinality:{name:pm.cardinality},lookahead:{name:pm.lookahead},parenthesized:{name:pm.parenthesized,defaultValue:!1},rule:{name:pm.rule,referenceType:rf.$type}},superTypes:[Io.$type]},Type:{name:PT.$type,properties:{name:{name:PT.name},type:{name:PT.type}},superTypes:[sl.$type]},TypeAttribute:{name:mm.$type,properties:{defaultValue:{name:mm.defaultValue},isOptional:{name:mm.isOptional,defaultValue:!1},name:{name:mm.name},type:{name:mm.type}},superTypes:[]},TypeDefinition:{name:gm.$type,properties:{},superTypes:[]},UnionType:{name:l6.$type,properties:{types:{name:l6.types,defaultValue:[]}},superTypes:[gm.$type]},UnorderedGroup:{name:BT.$type,properties:{cardinality:{name:BT.cardinality},elements:{name:BT.elements,defaultValue:[]}},superTypes:[No.$type]},UntilToken:{name:ym.$type,properties:{cardinality:{name:ym.cardinality},lookahead:{name:ym.lookahead},parenthesized:{name:ym.parenthesized,defaultValue:!1},terminal:{name:ym.terminal}},superTypes:[Io.$type]},ValueLiteral:{name:vm.$type,properties:{},superTypes:[]},Wildcard:{name:My.$type,properties:{cardinality:{name:My.cardinality},lookahead:{name:My.lookahead},parenthesized:{name:My.parenthesized,defaultValue:!1}},superTypes:[Io.$type]}}}},vr=new Oy});var m6={};ur(m6,{DefaultNameRegexp:()=>p6,RangeComparison:()=>Hu,compareRange:()=>$ye,findCommentNode:()=>ZF,findDeclarationNodeAtOffset:()=>hnt,findLeafNodeAtOffset:()=>JF,findLeafNodeBeforeOffset:()=>zye,flattenCst:()=>unt,getDatatypeNode:()=>cnt,getInteriorNodes:()=>pnt,getNextNode:()=>fnt,getPreviousNode:()=>Vye,getStartlineNode:()=>dnt,inRange:()=>RF,isChildNode:()=>QF,isCommentNode:()=>KF,streamCst:()=>xm,toDocumentSegment:()=>bm,tokenToRange:()=>Py});function cnt(t){let e=t,r=!1;for(;e;){let i=ef(e.grammarSource,Ba);if(i&&i.dataType)e=e.container,r=!0;else return r?e:void 0}}function xm(t){return new Wu(t,e=>Mc(e)?e.content:[],{includeRoot:!0})}function unt(t){return xm(t).filter(Hd)}function QF(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Py(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function bm(t){if(!t)return;let{offset:e,end:r,range:i}=t;return{range:i,offset:e,end:r,length:r-e}}function $ye(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Hu.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,i=t.end.lineHu.After}function hnt(t,e,r=p6){if(t){if(e>0){let i=e-t.offset,n=t.text.charAt(i);r.test(n)||e--}return JF(t,e)}}function ZF(t,e){if(t){let r=Vye(t,!0);if(r&&KF(r,e))return r;if(_T(t)){let i=t.content.findIndex(n=>!n.hidden);for(let n=i-1;n>=0;n--){let a=t.content[n];if(KF(a,e))return a}}}}function KF(t,e){return Hd(t)&&e.includes(t.tokenType.name)}function JF(t,e){if(Hd(t))return t;if(Mc(t)){let r=Gye(t,e,!1);if(r)return JF(r,e)}}function zye(t,e){if(Hd(t))return t;if(Mc(t)){let r=Gye(t,e,!0);if(r)return zye(r,e)}}function Gye(t,e,r){let i=0,n=t.content.length-1,a;for(;i<=n;){let s=Math.floor((i+n)/2),l=t.content[s];if(l.offset<=e&&l.end>e)return l;l.end<=e?(a=r?l:void 0,i=s+1):n=s-1}return a}function Vye(t,e=!0){for(;t.container;){let r=t.container,i=r.content.indexOf(t);for(;i>0;){i--;let n=r.content[i];if(e||!n.hidden)return n}t=r}}function fnt(t,e=!0){for(;t.container;){let r=t.container,i=r.content.indexOf(t),n=r.content.length-1;for(;i{"use strict";Oc();Ys();Ts();ol();o(cnt,"getDatatypeNode");o(xm,"streamCst");o(unt,"flattenCst");o(QF,"isChildNode");o(Py,"tokenToRange");o(bm,"toDocumentSegment");(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(Hu||(Hu={}));o($ye,"compareRange");o(RF,"inRange");p6=/^[\w\p{L}]$/u;o(hnt,"findDeclarationNodeAtOffset");o(ZF,"findCommentNode");o(KF,"isCommentNode");o(JF,"findLeafNodeAtOffset");o(zye,"findLeafNodeBeforeOffset");o(Gye,"binarySearch");o(Vye,"getPreviousNode");o(fnt,"getNextNode");o(dnt,"getStartlineNode");o(pnt,"getInteriorNodes");o(mnt,"getCommonParent");o(Fye,"getParentChain")});function Yu(t,e="Error: Got unexpected value."){throw new Error(e)}function qye(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}var Tm,g6=P(()=>{"use strict";Tm=class extends Error{static{o(this,"ErrorWithLocation")}constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};o(Yu,"assertUnreachable");o(qye,"assertCondition")});function br(t){return t.charCodeAt(0)}function y6(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function By(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function km(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function GT(){throw Error("Internal Error - Should never get here!")}function e$(t){return t.type==="Character"}var t$=P(()=>{"use strict";o(br,"cc");o(y6,"insertToSet");o(By,"addFlag");o(km,"ASSERT_EXISTS");o(GT,"ASSERT_NEVER_REACH_HERE");o(e$,"isCharacter")});var VT,qT,r$,Wye=P(()=>{"use strict";t$();VT=[];for(let t=br("0");t<=br("9");t++)VT.push(t);qT=[br("_")].concat(VT);for(let t=br("a");t<=br("z");t++)qT.push(t);for(let t=br("A");t<=br("Z");t++)qT.push(t);r$=[br(" "),br("\f"),br(` -`),br("\r"),br(" "),br("\v"),br(" "),br("\xA0"),br("\u1680"),br("\u2000"),br("\u2001"),br("\u2002"),br("\u2003"),br("\u2004"),br("\u2005"),br("\u2006"),br("\u2007"),br("\u2008"),br("\u2009"),br("\u200A"),br("\u2028"),br("\u2029"),br("\u202F"),br("\u205F"),br("\u3000"),br("\uFEFF")]});var gnt,v6,ynt,Cm,Uye=P(()=>{"use strict";t$();Wye();gnt=/[0-9a-fA-F]/,v6=/[0-9]/,ynt=/[1-9]/,Cm=class{static{o(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let i={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":By(i,"global");break;case"i":By(i,"ignoreCase");break;case"m":By(i,"multiLine");break;case"u":By(i,"unicode");break;case"y":By(i,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:i,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}km(r);let i=this.disjunction();return this.consumeChar(")"),{type:r,value:i,loc:this.loc(e)}}return GT()}quantifier(e=!1){let r,i=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let n=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:n,atMost:n};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:n,atMost:a}):r={atLeast:n,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;km(r);break}if(!(e===!0&&r===void 0)&&km(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(i),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),km(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):GT()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[br(` -`),br("\r"),br("\u2028"),br("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=VT;break;case"D":e=VT,r=!0;break;case"s":e=r$;break;case"S":e=r$,r=!0;break;case"w":e=qT;break;case"W":e=qT,r=!0;break}return km(e)?{type:"Set",value:e,complement:r}:GT()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=br("\f");break;case"n":e=br(` -`);break;case"r":e=br("\r");break;case"t":e=br(" ");break;case"v":e=br("\v");break}return km(e)?{type:"Character",value:e}:GT()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:br("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:br(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` -`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:br(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let i=this.classAtom(),n=i.type==="Character";if(e$(i)&&this.isRangeDash()){this.consumeChar("-");let a=this.classAtom(),s=a.type==="Character";if(e$(a)){if(a.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}});var ju,Hye=P(()=>{"use strict";ju=class{static{o(this,"BaseRegExpVisitor")}visitChildren(e){for(let r in e){let i=e[r];e.hasOwnProperty(r)&&(i.type!==void 0?this.visit(i):Array.isArray(i)&&i.forEach(n=>{this.visit(n)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}});var WT=P(()=>{"use strict";Uye();Hye()});var x6={};ur(x6,{NEWLINE_REGEXP:()=>n$,escapeRegExp:()=>rp,getTerminalParts:()=>vnt,isMultilineComment:()=>a$,isWhitespace:()=>UT,partialMatches:()=>s$,partialRegExp:()=>Xye,whitespaceCharacters:()=>jye});function vnt(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=Yye.pattern(t),r=[];for(let i of e.value.value)wm.reset(t),wm.visit(i),r.push({start:wm.startRegexp,end:wm.endRegex});return r}catch{return[]}}function a$(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),wm.reset(t),wm.visit(Yye.pattern(t)),wm.multiline}catch{return!1}}function UT(t){let e=typeof t=="string"?new RegExp(t):t;return jye.some(r=>e.test(r))}function rp(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function s$(t,e){let r=Xye(t),i=e.match(r);return!!i&&i[0].length>0}function Xye(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,i=0;function n(){let a="",s;function l(h){a+=r.substr(i,h),i+=h}o(l,"appendRaw");function u(h){a+="(?:"+r.substr(i,h)+"|$)",i+=h}for(o(u,"appendOptional");i",i)-i+1);break;default:u(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=i,s=s.exec(r)||[],u(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":l(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=i,s=s.exec(r),s?l(s[0].length):u(1);break;case"(":if(r[i+1]==="?")switch(r[i+2]){case":":a+="(?:",i+=3,a+=n()+"|$)";break;case"=":a+="(?=",i+=3,a+=n()+")";break;case"!":s=i,i+=3,n(),a+=r.substr(s,i-s);break;case"<":switch(r[i+3]){case"=":case"!":s=i,i+=4,n(),a+=r.substr(s,i-s);break;default:l(r.indexOf(">",i)-i+1),a+=n()+"|$)";break}break}else l(1),a+=n()+"|$)";break;case")":return++i,a;default:u(1);break}return a}return o(n,"process"),new RegExp(n(),t.flags)}var n$,Yye,i$,wm,jye,Fy=P(()=>{"use strict";WT();n$=/\r?\n/gm,Yye=new Cm,i$=class extends ju{static{o(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===` -`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let i=rp(r);this.endRegexpStack.push(i),this.isStarting&&(this.startRegexp+=i)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),i=new RegExp(r);this.multiline=!!` -`.match(i)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},wm=new i$;o(vnt,"getTerminalParts");o(a$,"isMultilineComment");jye=`\f -\r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");o(UT,"isWhitespace");o(rp,"escapeRegExp");o(s$,"partialMatches");o(Xye,"partialRegExp")});var k6={};ur(k6,{findAssignment:()=>m$,findNameAssignment:()=>b6,findNodeForKeyword:()=>d$,findNodeForProperty:()=>YT,findNodesForKeyword:()=>bnt,findNodesForKeywordInternal:()=>p$,findNodesForProperty:()=>h$,getActionAtElement:()=>eve,getActionType:()=>rve,getAllReachableRules:()=>HT,getAllRulesUsedForCrossReferences:()=>xnt,getCrossReferenceTerminal:()=>c$,getEntryRule:()=>Kye,getExplicitRuleType:()=>T6,getHiddenRules:()=>Qye,getRuleType:()=>g$,getRuleTypeName:()=>Ent,getTypeName:()=>ip,isArrayCardinality:()=>knt,isArrayOperator:()=>Cnt,isCommentTerminal:()=>u$,isDataType:()=>wnt,isDataTypeRule:()=>jT,isOptionalCardinality:()=>Tnt,terminalRegex:()=>$y});function Kye(t){return t.rules.find(e=>Ba(e)&&e.entry)}function Qye(t){return t.rules.filter(e=>Xs(e)&&e.hidden)}function HT(t,e){let r=new Set,i=Kye(t);if(!i)return new Set(t.rules);let n=[i].concat(Qye(t));for(let s of n)Zye(s,r,e);let a=new Set;for(let s of t.rules)(r.has(s.name)||Xs(s)&&s.hidden)&&a.add(s);return a}function Zye(t,e,r){e.add(t.name),Pc(t).forEach(i=>{if(Gc(i)||r&&h6(i)){let n=i.rule.ref;n&&!e.has(n.name)&&Zye(n,e,r)}})}function xnt(t){let e=new Set;return Pc(t).forEach(r=>{zc(r)&&(Ba(r.type.ref)&&e.add(r.type.ref),$T(r.type.ref)&&Ba(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}function c$(t){if(t.terminal)return t.terminal;if(t.type.ref)return b6(t.type.ref)?.terminal}function u$(t){return t.hidden&&!UT($y(t))}function h$(t,e){return!t||!e?[]:f$(t,e,t.astNode,!0)}function YT(t,e,r){if(!t||!e)return;let i=f$(t,e,t.astNode,!0);if(i.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,i.length-1)):r=0,i[r]}function f$(t,e,r,i){if(!i){let n=ef(t.grammarSource,$c);if(n&&n.feature===e)return[t]}return Mc(t)&&t.astNode===r?t.content.flatMap(n=>f$(n,e,r,!1)):[]}function bnt(t,e){return t?p$(t,e,t?.astNode):[]}function d$(t,e,r){if(!t)return;let i=p$(t,e,t?.astNode);if(i.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,i.length-1)):r=0,i[r]}function p$(t,e,r){if(t.astNode!==r)return[];if(Hl(t.grammarSource)&&t.grammarSource.value===e)return[t];let i=xm(t).iterator(),n,a=[];do if(n=i.next(),!n.done){let s=n.value;s.astNode===r?Hl(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):i.prune()}while(!n.done);return a}function m$(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=ef(t.grammarSource,$c);if(r)return r;t=t.container}}function b6(t){let e=t;return $T(e)&&(af(e.$container)?e=e.$container.$container:nf(e.$container)?e=e.$container:Yu(e.$container)),Jye(t,e,new Map)}function Jye(t,e,r){function i(n,a){let s;return ef(n,$c)||(s=Jye(a,a,r)),r.set(t,s),s}if(o(i,"go"),r.has(t))return r.get(t);r.set(t,void 0);for(let n of Pc(e)){if($c(n)&&n.feature.toLowerCase()==="name")return r.set(t,n),n;if(Gc(n)&&Ba(n.rule.ref))return i(n,n.rule.ref);if(u6(n)&&n.typeRef?.ref)return i(n,n.typeRef.ref)}}function eve(t){let e=t.$container;if(ep(e)){let r=e.elements,i=r.indexOf(t);for(let n=i-1;n>=0;n--){let a=r[n];if(af(a))return a;{let s=Pc(r[n]).find(af);if(s)return s}}}if(FT(e))return eve(e)}function Tnt(t,e){return t==="?"||t==="*"||ep(e)&&!!e.guardCondition}function knt(t){return t==="*"||t==="+"}function Cnt(t){return t==="+="}function jT(t){return tve(t,new Set)}function tve(t,e){if(e.has(t))return!0;e.add(t);for(let r of Pc(t))if(Gc(r)){if(!r.rule.ref||Ba(r.rule.ref)&&!tve(r.rule.ref,e)||tp(r.rule.ref))return!1}else{if($c(r))return!1;if(af(r))return!1}return!!t.definition}function wnt(t){return l$(t.type,new Set)}function l$(t,e){if(e.has(t))return!0;if(e.add(t),NF(t))return!1;if(VF(t))return!1;if(YF(t))return t.types.every(r=>l$(r,e));if(u6(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return f6(r)?l$(r.type,e):!1}else return!1}else return!1}function T6(t){if(!Xs(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e)return e.name}}}function ip(t){if(nf(t))return Ba(t)&&jT(t)?t.name:T6(t)??t.name;if(FF(t)||f6(t)||WF(t))return t.name;if(af(t)){let e=rve(t);if(e)return e}else if($T(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function rve(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return ip(t.type.ref)}function Ent(t){return Xs(t)?t.type?.name??"string":Ba(t)&&jT(t)?t.name:T6(t)??t.name}function g$(t){return Xs(t)?t.type?.name??"string":T6(t)??t.name}function $y(t){let e={s:!1,i:!1,u:!1},r=zy(t.definition,e),i=Object.entries(e).filter(([,n])=>n).map(([n])=>n).join("");return new RegExp(r,i)}function zy(t,e){if(UF(t))return Snt(t);if(HF(t))return Ant(t);if(MF(t))return Lnt(t);if(h6(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return sf(zy(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if($F(t))return Dnt(t);if(jF(t))return _nt(t);if(qF(t)){let r=t.regex.lastIndexOf("/"),i=t.regex.substring(1,r),n=t.regex.substring(r+1);return e&&(e.i=n.includes("i"),e.s=n.includes("s"),e.u=n.includes("u")),sf(i,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(XF(t))return sf(y$,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function Snt(t){return sf(t.elements.map(e=>zy(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Ant(t){return sf(t.elements.map(e=>zy(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function _nt(t){return sf(`${y$}*?${zy(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function Dnt(t){return sf(`(?!${zy(t.terminal)})${y$}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function Lnt(t){return t.right?sf(`[${o$(t.left)}-${o$(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):sf(o$(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function o$(t){return rp(t.value)}function sf(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}var y$,Vc=P(()=>{"use strict";g6();ol();Oc();Ts();Bc();Fy();o(Kye,"getEntryRule");o(Qye,"getHiddenRules");o(HT,"getAllReachableRules");o(Zye,"ruleDfs");o(xnt,"getAllRulesUsedForCrossReferences");o(c$,"getCrossReferenceTerminal");o(u$,"isCommentTerminal");o(h$,"findNodesForProperty");o(YT,"findNodeForProperty");o(f$,"findNodesForPropertyInternal");o(bnt,"findNodesForKeyword");o(d$,"findNodeForKeyword");o(p$,"findNodesForKeywordInternal");o(m$,"findAssignment");o(b6,"findNameAssignment");o(Jye,"findNameAssignmentInternal");o(eve,"getActionAtElement");o(Tnt,"isOptionalCardinality");o(knt,"isArrayCardinality");o(Cnt,"isArrayOperator");o(jT,"isDataTypeRule");o(tve,"isDataTypeRuleInternal");o(wnt,"isDataType");o(l$,"isDataTypeInternal");o(T6,"getExplicitRuleType");o(ip,"getTypeName");o(rve,"getActionType");o(Ent,"getRuleTypeName");o(g$,"getRuleType");o($y,"terminalRegex");y$=/[\s\S]/.source;o(zy,"abstractElementToRegex");o(Snt,"terminalAlternativesToRegex");o(Ant,"terminalGroupToRegex");o(_nt,"untilTokenToRegex");o(Dnt,"negateTokenToRegex");o(Lnt,"characterRangeToRegex");o(o$,"keywordToRegex");o(sf,"withCardinality")});function v$(t){let e=[],r=t.Grammar;for(let i of r.rules)Xs(i)&&u$(i)&&a$($y(i))&&e.push(i.name);return{multilineCommentRules:e,nameRegexp:p6}}var x$=P(()=>{"use strict";Bc();Vc();Fy();ol();o(v$,"createGrammarConfig")});var b$=P(()=>{"use strict"});function Gy(t){console&&console.error&&console.error(`Error: ${t}`)}function XT(t){console&&console.warn&&console.warn(`Warning: ${t}`)}var ive=P(()=>{"use strict";o(Gy,"PRINT_ERROR");o(XT,"PRINT_WARNING")});function KT(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}var nve=P(()=>{"use strict";o(KT,"timer")});function QT(t){function e(){}o(e,"FakeConstructor"),e.prototype=t;let r=new e;function i(){return typeof r.bar}return o(i,"fakeAccess"),i(),i(),t;(0,eval)(t)}var ave=P(()=>{"use strict";o(QT,"toFastProperties")});var Vy=P(()=>{"use strict";ive();nve();ave()});function Rnt(t){return Nnt(t)?t.LABEL:t.name}function Nnt(t){return Gn(t.LABEL)&&t.LABEL!==""}function C6(t){return ht(t,qy)}function qy(t){function e(r){return ht(r,qy)}if(o(e,"convertDefinition"),t instanceof Li){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return Gn(t.label)&&(r.label=t.label),r}else{if(t instanceof en)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ri)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof tn)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof rn)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:qy(new Xr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Wi)return{type:"RepetitionWithSeparator",idx:t.idx,separator:qy(new Xr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof ti)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Ui)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Xr){let r={type:"Terminal",name:t.terminalType.name,label:Rnt(t.terminalType),idx:t.idx};Gn(t.label)&&(r.terminalLabel=t.label);let i=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=Bl(i)?i.source:i),r}else{if(t instanceof Ks)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}var ll,Li,Ks,en,Ri,tn,rn,ti,Wi,Ui,Xr,w6=P(()=>{"use strict";nr();o(Rnt,"tokenLabel");o(Nnt,"hasTokenLabel");ll=class{static{o(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),Pe(this.definition,r=>{r.accept(e)})}},Li=class extends ll{static{o(this,"NonTerminal")}constructor(e){super([]),this.idx=1,Za(this,Ao(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},Ks=class extends ll{static{o(this,"Rule")}constructor(e){super(e.definition),this.orgText="",Za(this,Ao(e,r=>r!==void 0))}},en=class extends ll{static{o(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Za(this,Ao(e,r=>r!==void 0))}},Ri=class extends ll{static{o(this,"Option")}constructor(e){super(e.definition),this.idx=1,Za(this,Ao(e,r=>r!==void 0))}},tn=class extends ll{static{o(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,Za(this,Ao(e,r=>r!==void 0))}},rn=class extends ll{static{o(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,Za(this,Ao(e,r=>r!==void 0))}},ti=class extends ll{static{o(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,Za(this,Ao(e,r=>r!==void 0))}},Wi=class extends ll{static{o(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,Za(this,Ao(e,r=>r!==void 0))}},Ui=class extends ll{static{o(this,"Alternation")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Za(this,Ao(e,r=>r!==void 0))}},Xr=class{static{o(this,"Terminal")}constructor(e){this.idx=1,Za(this,Ao(e,r=>r!==void 0))}accept(e){e.visit(this)}};o(C6,"serializeGrammar");o(qy,"serializeProduction")});var Qs,sve=P(()=>{"use strict";w6();Qs=class{static{o(this,"GAstVisitor")}visit(e){let r=e;switch(r.constructor){case Li:return this.visitNonTerminal(r);case en:return this.visitAlternative(r);case Ri:return this.visitOption(r);case tn:return this.visitRepetitionMandatory(r);case rn:return this.visitRepetitionMandatoryWithSeparator(r);case Wi:return this.visitRepetitionWithSeparator(r);case ti:return this.visitRepetition(r);case Ui:return this.visitAlternation(r);case Xr:return this.visitTerminal(r);case Ks:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}});function T$(t){return t instanceof en||t instanceof Ri||t instanceof ti||t instanceof tn||t instanceof rn||t instanceof Wi||t instanceof Xr||t instanceof Ks}function Em(t,e=[]){return t instanceof Ri||t instanceof ti||t instanceof Wi?!0:t instanceof Ui?Fb(t.definition,i=>Em(i,e)):t instanceof Li&&pn(e,t)?!1:t instanceof ll?(t instanceof Li&&e.push(t),ms(t.definition,i=>Em(i,e))):!1}function k$(t){return t instanceof Ui}function Mo(t){if(t instanceof Li)return"SUBRULE";if(t instanceof Ri)return"OPTION";if(t instanceof Ui)return"OR";if(t instanceof tn)return"AT_LEAST_ONE";if(t instanceof rn)return"AT_LEAST_ONE_SEP";if(t instanceof Wi)return"MANY_SEP";if(t instanceof ti)return"MANY";if(t instanceof Xr)return"CONSUME";throw Error("non exhaustive match")}var ove=P(()=>{"use strict";nr();w6();o(T$,"isSequenceProd");o(Em,"isOptionalProd");o(k$,"isBranchingProd");o(Mo,"getProductionDslName")});var Zs=P(()=>{"use strict";w6();sve();ove()});function lve(t,e,r){return[new Ri({definition:[new Xr({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}var of,E6=P(()=>{"use strict";nr();Zs();of=class{static{o(this,"RestWalker")}walk(e,r=[]){Pe(e.definition,(i,n)=>{let a=zn(e.definition,n+1);if(i instanceof Li)this.walkProdRef(i,a,r);else if(i instanceof Xr)this.walkTerminal(i,a,r);else if(i instanceof en)this.walkFlat(i,a,r);else if(i instanceof Ri)this.walkOption(i,a,r);else if(i instanceof tn)this.walkAtLeastOne(i,a,r);else if(i instanceof rn)this.walkAtLeastOneSep(i,a,r);else if(i instanceof Wi)this.walkManySep(i,a,r);else if(i instanceof ti)this.walkMany(i,a,r);else if(i instanceof Ui)this.walkOr(i,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,i){}walkProdRef(e,r,i){}walkFlat(e,r,i){let n=r.concat(i);this.walk(e,n)}walkOption(e,r,i){let n=r.concat(i);this.walk(e,n)}walkAtLeastOne(e,r,i){let n=[new Ri({definition:e.definition})].concat(r,i);this.walk(e,n)}walkAtLeastOneSep(e,r,i){let n=lve(e,r,i);this.walk(e,n)}walkMany(e,r,i){let n=[new Ri({definition:e.definition})].concat(r,i);this.walk(e,n)}walkManySep(e,r,i){let n=lve(e,r,i);this.walk(e,n)}walkOr(e,r,i){let n=r.concat(i);Pe(e.definition,a=>{let s=new en({definition:[a]});this.walk(s,n)})}};o(lve,"restForRepetitionWithSeparator")});function Sm(t){if(t instanceof Li)return Sm(t.referencedRule);if(t instanceof Xr)return Ont(t);if(T$(t))return Int(t);if(k$(t))return Mnt(t);throw Error("non exhaustive match")}function Int(t){let e=[],r=t.definition,i=0,n=r.length>i,a,s=!0;for(;n&&s;)a=r[i],s=Em(a),e=e.concat(Sm(a)),i=i+1,n=r.length>i;return Z1(e)}function Mnt(t){let e=ht(t.definition,r=>Sm(r));return Z1(di(e))}function Ont(t){return[t.terminalType]}var C$=P(()=>{"use strict";nr();Zs();o(Sm,"first");o(Int,"firstForSequence");o(Mnt,"firstForBranching");o(Ont,"firstForTerminal")});var S6,w$=P(()=>{"use strict";S6="_~IN~_"});function cve(t){let e={};return Pe(t,r=>{let i=new E$(r).startWalking();Za(e,i)}),e}function Pnt(t,e){return t.name+e+S6}var E$,uve=P(()=>{"use strict";E6();C$();nr();w$();Zs();E$=class extends of{static{o(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,i){}walkProdRef(e,r,i){let n=Pnt(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(i),s=new en({definition:a}),l=Sm(s);this.follows[n]=l}};o(cve,"computeAllProdsFollows");o(Pnt,"buildBetweenProdsFollowPrefix")});function Wy(t){let e=t.toString();if(A6.hasOwnProperty(e))return A6[e];{let r=Bnt.pattern(e);return A6[e]=r,r}}function hve(){A6={}}var A6,Bnt,_6=P(()=>{"use strict";WT();A6={},Bnt=new Cm;o(Wy,"getRegExpAst");o(hve,"clearRegExpParserCache")});function pve(t,e=!1){try{let r=Wy(t);return S$(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===dve)e&&XT(`${ZT} Unable to optimize: < ${t.toString()} > - Complement Sets cannot be automatically optimized. - This will disable the lexer's first char optimizations. - See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let i="";e&&(i=` - This will disable the lexer's first char optimizations. - See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Gy(`${ZT} - Failed parsing: < ${t.toString()} > - Using the @chevrotain/regexp-to-ast library - Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+i)}}return[]}function S$(t,e,r){switch(t.type){case"Disjunction":for(let n=0;n{if(typeof u=="number")D6(u,e,r);else{let h=u;if(r===!0)for(let f=h.from;f<=h.to;f++)D6(f,e,r);else{for(let f=h.from;f<=h.to&&f=Uy){let f=h.from>=Uy?h.from:Uy,d=h.to,p=Xu(f),m=Xu(d);for(let g=p;g<=m;g++)e[g]=g}}}});break;case"Group":S$(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}let l=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&A$(s)===!1||s.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return qr(e)}function D6(t,e,r){let i=Xu(t);e[i]=i,r===!0&&Fnt(t,e)}function Fnt(t,e){let r=String.fromCharCode(t),i=r.toUpperCase();if(i!==r){let n=Xu(i.charCodeAt(0));e[n]=n}else{let n=r.toLowerCase();if(n!==r){let a=Xu(n.charCodeAt(0));e[a]=a}}}function fve(t,e){return qs(t.value,r=>{if(typeof r=="number")return pn(e,r);{let i=r;return qs(e,n=>i.from<=n&&n<=i.to)!==void 0}})}function A$(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Gt(t.value)?ms(t.value,A$):A$(t.value):!1}function L6(t,e){if(e instanceof RegExp){let r=Wy(e),i=new _$(t);return i.visit(r),i.found}else return qs(e,r=>pn(t,r.charCodeAt(0)))!==void 0}var dve,ZT,_$,mve=P(()=>{"use strict";WT();nr();Vy();_6();D$();dve="Complement Sets are not supported for first char optimization",ZT=`Unable to use "first char" lexer optimizations: -`;o(pve,"getOptimizedStartCodesIndices");o(S$,"firstCharOptimizedIndices");o(D6,"addOptimizedIdxToResult");o(Fnt,"handleIgnoreCase");o(fve,"findCode");o(A$,"isWholeOptional");_$=class extends ju{static{o(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){pn(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?fve(e,this.targetCharCodes)===void 0&&(this.found=!0):fve(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};o(L6,"canMatchCharCode")});function vve(t,e){e=xd(e,{useSticky:R$,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` -`],tracer:o((b,T)=>T(),"tracer")});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{iat()});let i;r("Reject Lexer.NA",()=>{i=Td(t,b=>b[Am]===yn.NA)});let n=!1,a;r("Transform Patterns",()=>{n=!1,a=ht(i,b=>{let T=b[Am];if(Bl(T)){let w=T.source;return w.length===1&&w!=="^"&&w!=="$"&&w!=="."&&!T.ignoreCase?w:w.length===2&&w[0]==="\\"&&!pn(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],w[1])?w[1]:e.useSticky?yve(T):gve(T)}else{if(Qn(T))return n=!0,{exec:T};if(typeof T=="object")return n=!0,T;if(typeof T=="string"){if(T.length===1)return T;{let w=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),k=new RegExp(w);return e.useSticky?yve(k):gve(k)}}else throw Error("non exhaustive match")}})});let s,l,u,h,f;r("misc mapping",()=>{s=ht(i,b=>b.tokenTypeIdx),l=ht(i,b=>{let T=b.GROUP;if(T!==yn.SKIPPED){if(Gn(T))return T;if(Br(T))return!1;throw Error("non exhaustive match")}}),u=ht(i,b=>{let T=b.LONGER_ALT;if(T)return Gt(T)?ht(T,k=>SE(i,k)):[SE(i,T)]}),h=ht(i,b=>b.PUSH_MODE),f=ht(i,b=>Vt(b,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{let b=Sve(e.lineTerminatorCharacters);d=ht(i,T=>!1),e.positionTracking!=="onlyOffset"&&(d=ht(i,T=>Vt(T,"LINE_BREAKS")?!!T.LINE_BREAKS:Eve(T,b)===!1&&L6(b,T.PATTERN)))});let p,m,g,y;r("Misc Mapping #2",()=>{p=ht(i,Cve),m=ht(a,tat),g=mi(i,(b,T)=>{let w=T.GROUP;return Gn(w)&&w!==yn.SKIPPED&&(b[w]=[]),b},{}),y=ht(a,(b,T)=>({pattern:a[T],longerAlt:u[T],canLineTerminator:d[T],isCustom:p[T],short:m[T],group:l[T],push:h[T],pop:f[T],tokenTypeIdx:s[T],tokenType:i[T]}))});let v=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=mi(i,(b,T,w)=>{if(typeof T.PATTERN=="string"){let k=T.PATTERN.charCodeAt(0),C=Xu(k);L$(b,C,y[w])}else if(Gt(T.START_CHARS_HINT)){let k;Pe(T.START_CHARS_HINT,C=>{let E=typeof C=="string"?C.charCodeAt(0):C,S=Xu(E);k!==S&&(k=S,L$(b,S,y[w]))})}else if(Bl(T.PATTERN))if(T.PATTERN.unicode)v=!1,e.ensureOptimizations&&Gy(`${ZT} Unable to analyze < ${T.PATTERN.toString()} > pattern. - The regexp unicode flag is not currently supported by the regexp-to-ast library. - This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let k=pve(T.PATTERN,e.ensureOptimizations);_r(k)&&(v=!1),Pe(k,C=>{L$(b,C,y[w])})}else e.ensureOptimizations&&Gy(`${ZT} TokenType: <${T.name}> is using a custom token pattern without providing parameter. - This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),v=!1;return b},[])}),{emptyGroups:g,patternIdxToConfig:y,charCodeToPatternIdxToConfig:x,hasCustom:n,canBeOptimized:v}}function xve(t,e){let r=[],i=znt(t);r=r.concat(i.errors);let n=Gnt(i.valid),a=n.valid;return r=r.concat(n.errors),r=r.concat($nt(a)),r=r.concat(Xnt(a)),r=r.concat(Knt(a,e)),r=r.concat(Qnt(a)),r}function $nt(t){let e=[],r=pi(t,i=>Bl(i[Am]));return e=e.concat(qnt(r)),e=e.concat(Hnt(r)),e=e.concat(Ynt(r)),e=e.concat(jnt(r)),e=e.concat(Wnt(r)),e}function znt(t){let e=pi(t,n=>!Vt(n,Am)),r=ht(e,n=>({message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:gn.MISSING_PATTERN,tokenTypes:[n]})),i=bd(t,e);return{errors:r,valid:i}}function Gnt(t){let e=pi(t,n=>{let a=n[Am];return!Bl(a)&&!Qn(a)&&!Vt(a,"exec")&&!Gn(a)}),r=ht(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:gn.INVALID_PATTERN,tokenTypes:[n]})),i=bd(t,e);return{errors:r,valid:i}}function qnt(t){class e extends ju{static{o(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}let r=pi(t,n=>{let a=n.PATTERN;try{let s=Wy(a),l=new e;return l.visit(s),l.found}catch{return Vnt.test(a.source)}});return ht(r,n=>({message:`Unexpected RegExp Anchor Error: - Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$' - See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:gn.EOI_ANCHOR_FOUND,tokenTypes:[n]}))}function Wnt(t){let e=pi(t,i=>i.PATTERN.test(""));return ht(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:gn.EMPTY_MATCH_PATTERN,tokenTypes:[i]}))}function Hnt(t){class e extends ju{static{o(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}let r=pi(t,n=>{let a=n.PATTERN;try{let s=Wy(a),l=new e;return l.visit(s),l.found}catch{return Unt.test(a.source)}});return ht(r,n=>({message:`Unexpected RegExp Anchor Error: - Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^' - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:gn.SOI_ANCHOR_FOUND,tokenTypes:[n]}))}function Ynt(t){let e=pi(t,i=>{let n=i[Am];return n instanceof RegExp&&(n.multiline||n.global)});return ht(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:gn.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}))}function jnt(t){let e=[],r=ht(t,a=>mi(t,(s,l)=>(a.PATTERN.source===l.PATTERN.source&&!pn(e,l)&&l.PATTERN!==yn.NA&&(e.push(l),s.push(l)),s),[]));r=Ru(r);let i=pi(r,a=>a.length>1);return ht(i,a=>{let s=ht(a,u=>u.name);return{message:`The same RegExp pattern ->${Ia(a).PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:gn.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function Xnt(t){let e=pi(t,i=>{if(!Vt(i,"GROUP"))return!1;let n=i.GROUP;return n!==yn.SKIPPED&&n!==yn.NA&&!Gn(n)});return ht(e,i=>({message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:gn.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}))}function Knt(t,e){let r=pi(t,n=>n.PUSH_MODE!==void 0&&!pn(e,n.PUSH_MODE));return ht(r,n=>({message:`Token Type: ->${n.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${n.PUSH_MODE}<-which does not exist`,type:gn.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}))}function Qnt(t){let e=[],r=mi(t,(i,n,a)=>{let s=n.PATTERN;return s===yn.NA||(Gn(s)?i.push({str:s,idx:a,tokenType:n}):Bl(s)&&Jnt(s)&&i.push({str:s.source,idx:a,tokenType:n})),i},[]);return Pe(t,(i,n)=>{Pe(r,({str:a,idx:s,tokenType:l})=>{if(n${l.name}<- can never be matched. -Because it appears AFTER the Token Type ->${i.name}<-in the lexer's definition. -See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:u,type:gn.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}function Znt(t,e){if(Bl(e)){if(eat(e))return!1;let r=e.exec(t);return r!==null&&r.index===0}else{if(Qn(e))return e(t,0,[],{});if(Vt(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function Jnt(t){return qs([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}function eat(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition -`,type:gn.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Vt(t,R6)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+R6+`> property in its definition -`,type:gn.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Vt(t,R6)&&Vt(t,Hy)&&!Vt(t.modes,t.defaultMode)&&i.push({message:`A MultiMode Lexer cannot be initialized with a ${Hy}: <${t.defaultMode}>which does not exist -`,type:gn.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Vt(t,R6)&&Pe(t.modes,(n,a)=>{Pe(n,(s,l)=>{if(Br(s))i.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${l}> -`,type:gn.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(Vt(s,"LONGER_ALT")){let u=Gt(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT];Pe(u,h=>{!Br(h)&&!pn(n,h)&&i.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${h.name}> on token <${s.name}> outside of mode <${a}> -`,type:gn.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),i}function Tve(t,e,r){let i=[],n=!1,a=Ru(di(qr(t.modes))),s=Td(a,u=>u[Am]===yn.NA),l=Sve(r);return e&&Pe(s,u=>{let h=Eve(u,l);if(h!==!1){let d={message:rat(u,h),type:h.issue,tokenType:u};i.push(d)}else Vt(u,"LINE_BREAKS")?u.LINE_BREAKS===!0&&(n=!0):L6(l,u.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. - This Lexer has been defined to track line and column information, - But none of the Token Types can be identified as matching a line terminator. - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS - for details.`,type:gn.NO_LINE_BREAKS_FLAGS}),i}function kve(t){let e={},r=ni(t);return Pe(r,i=>{let n=t[i];if(Gt(n))e[i]=[];else throw Error("non exhaustive match")}),e}function Cve(t){let e=t.PATTERN;if(Bl(e))return!1;if(Qn(e))return!0;if(Vt(e,"exec"))return!0;if(Gn(e))return!1;throw Error("non exhaustive match")}function tat(t){return Gn(t)&&t.length===1?t.charCodeAt(0):!1}function Eve(t,e){if(Vt(t,"LINE_BREAKS"))return!1;if(Bl(t.PATTERN)){try{L6(e,t.PATTERN)}catch(r){return{issue:gn.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(Gn(t.PATTERN))return!1;if(Cve(t))return{issue:gn.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function rat(t,e){if(e.issue===gn.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern. - The problem is in the <${t.name}> Token Type - Root cause: ${e.errMsg}. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===gn.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. - The problem is in the <${t.name}> Token Type - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Sve(t){return ht(t,r=>Gn(r)?r.charCodeAt(0):r)}function L$(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function Xu(t){return t255?255+~~(t/255):t}}var Am,Hy,R6,R$,Vnt,Unt,wve,Uy,N6,D$=P(()=>{"use strict";WT();JT();nr();Vy();mve();_6();Am="PATTERN",Hy="defaultMode",R6="modes",R$=typeof new RegExp("(?:)").sticky=="boolean";o(vve,"analyzeTokenTypes");o(xve,"validatePatterns");o($nt,"validateRegExpPattern");o(znt,"findMissingPatterns");o(Gnt,"findInvalidPatterns");Vnt=/[^\\][$]/;o(qnt,"findEndOfInputAnchor");o(Wnt,"findEmptyMatchRegExps");Unt=/[^\\[][\^]|^\^/;o(Hnt,"findStartOfInputAnchor");o(Ynt,"findUnsupportedFlags");o(jnt,"findDuplicatePatterns");o(Xnt,"findInvalidGroupType");o(Knt,"findModesThatDoNotExist");o(Qnt,"findUnreachablePatterns");o(Znt,"tryToMatchStrToPattern");o(Jnt,"noMetaChar");o(eat,"usesLookAheadOrBehind");o(gve,"addStartOfInput");o(yve,"addStickyFlag");o(bve,"performRuntimeChecks");o(Tve,"performWarningRuntimeChecks");o(kve,"cloneEmptyGroups");o(Cve,"isCustomPattern");o(tat,"isShortPattern");wve={test:o(function(t){let e=t.length;for(let r=this.lastIndex;r{r.isParent=r.categoryMatches.length>0})}function nat(t){let e=Si(t),r=t,i=!0;for(;i;){r=Ru(di(ht(r,a=>a.CATEGORIES)));let n=bd(r,e);e=e.concat(n),_r(n)?i=!1:r=n}return e}function aat(t){Pe(t,e=>{N$(e)||(Dve[Ave]=e,e.tokenTypeIdx=Ave++),_ve(e)&&!Gt(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),_ve(e)||(e.CATEGORIES=[]),lat(e)||(e.categoryMatches=[]),cat(e)||(e.categoryMatchesMap={})})}function sat(t){Pe(t,e=>{e.categoryMatches=[],Pe(e.categoryMatchesMap,(r,i)=>{e.categoryMatches.push(Dve[i].tokenTypeIdx)})})}function oat(t){Pe(t,e=>{Lve([],e)})}function Lve(t,e){Pe(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),Pe(e.CATEGORIES,r=>{let i=t.concat(e);pn(i,r)||Lve(i,r)})}function N$(t){return Vt(t,"tokenTypeIdx")}function _ve(t){return Vt(t,"CATEGORIES")}function lat(t){return Vt(t,"categoryMatches")}function cat(t){return Vt(t,"categoryMatchesMap")}function Rve(t){return Vt(t,"tokenTypeIdx")}var Ave,Dve,_m=P(()=>{"use strict";nr();o(lf,"tokenStructuredMatcher");o(Yy,"tokenStructuredMatcherNoCategories");Ave=1,Dve={};o(cf,"augmentTokenTypes");o(nat,"expandCategories");o(aat,"assignTokenDefaultProps");o(sat,"assignCategoriesTokensProp");o(oat,"assignCategoriesMapProp");o(Lve,"singleAssignCategoriesToksMap");o(N$,"hasShortKeyProperty");o(_ve,"hasCategoriesProperty");o(lat,"hasExtendingTokensTypesProperty");o(cat,"hasExtendingTokensTypesMapProperty");o(Rve,"isTokenType")});var jy,I$=P(()=>{"use strict";jy={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,i,n,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}}});var gn,ek,yn,JT=P(()=>{"use strict";D$();nr();Vy();_m();I$();_6();(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(gn||(gn={}));ek={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` -`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:jy,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(ek);yn=class{static{o(this,"Lexer")}constructor(e,r=ek){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(n,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${n}>`);let{time:l,value:u}=KT(a),h=l>10?console.warn:console.log;return this.traceInitIndent time: ${l}ms`),this.traceInitIndent--,u}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. -a boolean 2nd argument is no longer supported`);this.config=Za({},ek,r);let i=this.config.traceInitPerf;i===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof i=="number"&&(this.traceInitMaxIdent=i,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let n,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===ek.lineTerminatorsPattern)this.config.lineTerminatorsPattern=wve;else if(this.config.lineTerminatorCharacters===ek.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Gt(e)?n={modes:{defaultMode:Si(e)},defaultMode:Hy}:(a=!1,n=Si(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(bve(n,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(Tve(n,this.trackStartLines,this.config.lineTerminatorCharacters))})),n.modes=n.modes?n.modes:{},Pe(n.modes,(l,u)=>{n.modes[u]=Td(l,h=>Br(h))});let s=ni(n.modes);if(Pe(n.modes,(l,u)=>{this.TRACE_INIT(`Mode: <${u}> processing`,()=>{if(this.modes.push(u),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(xve(l,s))}),_r(this.lexerDefinitionErrors)){cf(l);let h;this.TRACE_INIT("analyzeTokenTypes",()=>{h=vve(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[u]=h.patternIdxToConfig,this.charCodeToPatternIdxToConfig[u]=h.charCodeToPatternIdxToConfig,this.emptyGroups=Za({},this.emptyGroups,h.emptyGroups),this.hasCustom=h.hasCustom||this.hasCustom,this.canModeBeOptimized[u]=h.canBeOptimized}})}),this.defaultMode=n.defaultMode,!_r(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=ht(this.lexerDefinitionErrors,h=>h.message).join(`----------------------- -`);throw new Error(`Errors detected in definition of Lexer: -`+u)}Pe(this.lexerDefinitionWarning,l=>{XT(l.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(R$?(this.chopInput=La,this.match=this.matchWithTest):(this.updateLastIndex=Sn,this.match=this.matchWithExec),a&&(this.handleModes=Sn),this.trackStartLines===!1&&(this.computeNewColumn=La),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=Sn),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let l=mi(this.canModeBeOptimized,(u,h,f)=>(h===!1&&u.push(f),u),[]);if(r.ensureOptimizations&&!_r(l))throw Error(`Lexer Modes: < ${l.join(", ")} > cannot be optimized. - Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. - Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{hve()}),this.TRACE_INIT("toFastProperties",()=>{QT(this)})})}tokenize(e,r=this.defaultMode){if(!_r(this.lexerDefinitionErrors)){let n=ht(this.lexerDefinitionErrors,a=>a.message).join(`----------------------- -`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: -`+n)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let i,n,a,s,l,u,h,f,d,p,m,g,y,v,x,b,T=e,w=T.length,k=0,C=0,E=this.hasCustom?0:Math.floor(e.length/10),S=new Array(E),L=[],M=this.trackStartLines?1:void 0,I=this.trackStartLines?1:void 0,A=kve(this.emptyGroups),_=this.trackStartLines,D=this.config.lineTerminatorsPattern,N=0,R=[],B=[],O=[],$=[];Object.freeze($);let z;function F(){return R}o(F,"getPossiblePatternsSlow");function V(Y){let ae=Xu(Y),J=B[ae];return J===void 0?$:J}o(V,"getPossiblePatternsOptimized");let H=o(Y=>{if(O.length===1&&Y.tokenType.PUSH_MODE===void 0){let ae=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Y);L.push({offset:Y.startOffset,line:Y.startLine,column:Y.startColumn,length:Y.image.length,message:ae})}else{O.pop();let ae=Na(O);R=this.patternIdxToConfig[ae],B=this.charCodeToPatternIdxToConfig[ae],N=R.length;let J=this.canModeBeOptimized[ae]&&this.config.safeMode===!1;B&&J?z=V:z=F}},"pop_mode");function X(Y){O.push(Y),B=this.charCodeToPatternIdxToConfig[Y],R=this.patternIdxToConfig[Y],N=R.length,N=R.length;let ae=this.canModeBeOptimized[Y]&&this.config.safeMode===!1;B&&ae?z=V:z=F}o(X,"push_mode"),X.call(this,r);let W,Z=this.config.recoveryEnabled;for(;ku.length){u=s,h=f,W=be;break}}}break}}if(u!==null){if(d=u.length,p=W.group,p!==void 0&&(m=W.tokenTypeIdx,g=this.createTokenInstance(u,k,m,W.tokenType,M,I,d),this.handlePayload(g,h),p===!1?C=this.addToken(S,C,g):A[p].push(g)),e=this.chopInput(e,d),k=k+d,I=this.computeNewColumn(I,d),_===!0&&W.canLineTerminator===!0){let ee=0,re,te;D.lastIndex=0;do re=D.test(u),re===!0&&(te=D.lastIndex-1,ee++);while(re===!0);ee!==0&&(M=M+ee,I=d-te,this.updateTokenEndLineColumnLocation(g,p,te,ee,M,I,d))}this.handleModes(W,H,X,g)}else{let ee=k,re=M,te=I,be=Z===!1;for(;be===!1&&k{"use strict";nr();JT();_m();o(uf,"tokenLabel");o(M$,"hasTokenLabel");uat="parent",Nve="categories",Ive="label",Mve="group",Ove="push_mode",Pve="pop_mode",Bve="longer_alt",Fve="line_breaks",$ve="start_chars_hint";o(np,"createToken");o(hat,"createTokenInternal");cl=np({name:"EOF",pattern:yn.NA});cf([cl]);o(hf,"createTokenInstance");o(tk,"tokenMatcher")});var ff,zve,qc,Xy=P(()=>{"use strict";Dm();nr();Zs();ff={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:i}){return`Expecting ${M$(t)?`--> ${uf(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:i,ruleName:n}){let a="Expecting: ",l=` -but found: '`+Ia(e).image+"'";if(i)return a+i+l;{let u=mi(t,(p,m)=>p.concat(m),[]),h=ht(u,p=>`[${ht(p,m=>uf(m)).join(", ")}]`),d=`one of these possible Token sequences: -${ht(h,(p,m)=>` ${m+1}. ${p}`).join(` -`)}`;return a+d+l}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:i}){let n="Expecting: ",s=` -but found: '`+Ia(e).image+"'";if(r)return n+r+s;{let u=`expecting at least one iteration which starts with one of these possible Token sequences:: - <${ht(t,h=>`[${ht(h,f=>uf(f)).join(",")}]`).join(" ,")}>`;return n+u+s}}};Object.freeze(ff);zve={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- -inside top level rule: ->`+t.name+"<-"}},qc={buildDuplicateFoundError(t,e){function r(f){return f instanceof Xr?f.terminalType.name:f instanceof Li?f.nonTerminalName:""}o(r,"getExtraProductionArgument");let i=t.name,n=Ia(e),a=n.idx,s=Mo(n),l=r(n),u=a>0,h=`->${s}${u?a:""}<- ${l?`with argument: ->${l}<-`:""} - appears more than once (${e.length} times) in the top level rule: ->${i}<-. - For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES - `;return h=h.replace(/[ \t]+/g," "),h=h.replace(/\s\s+/g,` -`),h},buildNamespaceConflictError(t){return`Namespace conflict found in grammar. -The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>. -To resolve this make sure each Terminal and Non-Terminal names are unique -This is easy to accomplish by using the convention that Terminal names start with an uppercase letter -and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=ht(t.prefixPath,n=>uf(n)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix -in inside <${t.topLevelRule.name}> Rule, -<${e}> may appears as a prefix path in all these alternatives. -See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX -For Further details.`},buildAlternationAmbiguityError(t){let e=ht(t.prefixPath,n=>uf(n)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,i=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in inside <${t.topLevelRule.name}> Rule, -<${e}> may appears as a prefix path in all these alternatives. -`;return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,i},buildEmptyRepetitionError(t){let e=Mo(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. -This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in inside <${t.topLevelRule.name}> Rule. -Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives: - inside <${t.topLevelRule.name}> Rule. - has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=ht(t.leftRecursionPath,a=>a.name),i=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar. -rule: <${e}> can be invoked from itself (directly or indirectly) -without consuming any Tokens. The grammar path that causes this is: - ${i} - To fix this refactor your grammar to remove the left recursion. -see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Ks?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}}});function Gve(t,e){let r=new O$(t,e);return r.resolveRefs(),r.errors}var O$,Vve=P(()=>{"use strict";Oo();nr();Zs();o(Gve,"resolveGrammar");O$=class extends Qs{static{o(this,"GastRefResolverVisitor")}constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Pe(qr(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let i=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:i,type:ya.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}});function P6(t,e,r=[]){r=Si(r);let i=[],n=0;function a(l){return l.concat(zn(t,n+1))}o(a,"remainingPathWith");function s(l){let u=P6(a(l),e,r);return i.concat(u)}for(o(s,"getAlternativesForProd");r.length{_r(u.definition)===!1&&(i=s(u.definition))}),i;if(l instanceof Xr)r.push(l.terminalType);else throw Error("non exhaustive match")}n++}return i.push({partialPath:r,suffixDef:zn(t,n)}),i}function B6(t,e,r,i){let n="EXIT_NONE_TERMINAL",a=[n],s="EXIT_ALTERNATIVE",l=!1,u=e.length,h=u-i-1,f=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!_r(d);){let p=d.pop();if(p===s){l&&Na(d).idx<=h&&d.pop();continue}let m=p.def,g=p.idx,y=p.ruleStack,v=p.occurrenceStack;if(_r(m))continue;let x=m[0];if(x===n){let b={idx:g,def:zn(m),ruleStack:Hh(y),occurrenceStack:Hh(v)};d.push(b)}else if(x instanceof Xr)if(g=0;b--){let T=x.definition[b],w={idx:g,def:T.definition.concat(zn(m)),ruleStack:y,occurrenceStack:v};d.push(w),d.push(s)}else if(x instanceof en)d.push({idx:g,def:x.definition.concat(zn(m)),ruleStack:y,occurrenceStack:v});else if(x instanceof Ks)d.push(fat(x,g,y,v));else throw Error("non exhaustive match")}return f}function fat(t,e,r,i){let n=Si(r);n.push(t.name);let a=Si(i);return a.push(1),{idx:e,def:t.definition,ruleStack:n,occurrenceStack:a}}var P$,I6,Ky,M6,rk,O6,ik,nk=P(()=>{"use strict";nr();C$();E6();Zs();P$=class extends of{static{o(this,"AbstractNextPossibleTokensWalker")}constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=Si(this.path.ruleStack).reverse(),this.occurrenceStack=Si(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,i){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let n=r.concat(i);this.updateExpectedNext(),this.walk(e.referencedRule,n)}}updateExpectedNext(){_r(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},I6=class extends P${static{o(this,"NextAfterTokenWalker")}constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,i){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let n=r.concat(i),a=new en({definition:n});this.possibleTokTypes=Sm(a),this.found=!0}}},Ky=class extends of{static{o(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},M6=class extends Ky{static{o(this,"NextTerminalAfterManyWalker")}walkMany(e,r,i){if(e.idx===this.occurrence){let n=Ia(r.concat(i));this.result.isEndOfRule=n===void 0,n instanceof Xr&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)}else super.walkMany(e,r,i)}},rk=class extends Ky{static{o(this,"NextTerminalAfterManySepWalker")}walkManySep(e,r,i){if(e.idx===this.occurrence){let n=Ia(r.concat(i));this.result.isEndOfRule=n===void 0,n instanceof Xr&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)}else super.walkManySep(e,r,i)}},O6=class extends Ky{static{o(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,r,i){if(e.idx===this.occurrence){let n=Ia(r.concat(i));this.result.isEndOfRule=n===void 0,n instanceof Xr&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)}else super.walkAtLeastOne(e,r,i)}},ik=class extends Ky{static{o(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,r,i){if(e.idx===this.occurrence){let n=Ia(r.concat(i));this.result.isEndOfRule=n===void 0,n instanceof Xr&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)}else super.walkAtLeastOneSep(e,r,i)}};o(P6,"possiblePathsFrom");o(B6,"nextPossibleTokensAfter");o(fat,"expandTopLevelRule")});function ak(t){if(t instanceof Ri||t==="Option")return vn.OPTION;if(t instanceof ti||t==="Repetition")return vn.REPETITION;if(t instanceof tn||t==="RepetitionMandatory")return vn.REPETITION_MANDATORY;if(t instanceof rn||t==="RepetitionMandatoryWithSeparator")return vn.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Wi||t==="RepetitionWithSeparator")return vn.REPETITION_WITH_SEPARATOR;if(t instanceof Ui||t==="Alternation")return vn.ALTERNATION;throw Error("non exhaustive match")}function $6(t){let{occurrence:e,rule:r,prodType:i,maxLookahead:n}=t,a=ak(i);return a===vn.ALTERNATION?Qy(e,r,n):Zy(e,r,a,n)}function Wve(t,e,r,i,n,a){let s=Qy(t,e,r),l=Kve(s)?Yy:lf;return a(s,i,l,n)}function Uve(t,e,r,i,n,a){let s=Zy(t,e,n,r),l=Kve(s)?Yy:lf;return a(s[0],l,i)}function Hve(t,e,r,i){let n=t.length,a=ms(t,s=>ms(s,l=>l.length===1));if(e)return function(s){let l=ht(s,u=>u.GATE);for(let u=0;udi(u)),l=mi(s,(u,h,f)=>(Pe(h,d=>{Vt(u,d.tokenTypeIdx)||(u[d.tokenTypeIdx]=f),Pe(d.categoryMatches,p=>{Vt(u,p)||(u[p]=f)})}),u),{});return function(){let u=this.LA(1);return l[u.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),n=t.length;if(i&&!r){let a=di(t);if(a.length===1&&_r(a[0].categoryMatches)){let l=a[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===l}}else{let s=mi(a,(l,u,h)=>(l[u.tokenTypeIdx]=!0,Pe(u.categoryMatches,f=>{l[f]=!0}),l),[]);return function(){let l=this.LA(1);return s[l.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;aP6([s],1)),i=qve(r.length),n=ht(r,s=>{let l={};return Pe(s,u=>{let h=B$(u.partialPath);Pe(h,f=>{l[f]=!0})}),l}),a=r;for(let s=1;s<=e;s++){let l=a;a=qve(l.length);for(let u=0;u{let x=B$(v.partialPath);Pe(x,b=>{n[u][b]=!0})})}}}}return i}function Qy(t,e,r,i){let n=new F6(t,vn.ALTERNATION,i);return e.accept(n),jve(n.result,r)}function Zy(t,e,r,i){let n=new F6(t,r);e.accept(n);let a=n.result,l=new F$(e,t,r).startWalking(),u=new en({definition:a}),h=new en({definition:l});return jve([u,h],i)}function z6(t,e){e:for(let r=0;r{let n=e[i];return r===n||n.categoryMatchesMap[r.tokenTypeIdx]})}function Kve(t){return ms(t,e=>ms(e,r=>ms(r,i=>_r(i.categoryMatches))))}var vn,F$,F6,Jy=P(()=>{"use strict";nr();nk();E6();_m();Zs();(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(vn||(vn={}));o(ak,"getProdType");o($6,"getLookaheadPaths");o(Wve,"buildLookaheadFuncForOr");o(Uve,"buildLookaheadFuncForOptionalProd");o(Hve,"buildAlternativesLookAheadFunc");o(Yve,"buildSingleAlternativeLookaheadFunction");F$=class extends of{static{o(this,"RestDefinitionFinderWalker")}constructor(e,r,i){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=i}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,i,n){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=i.concat(n),!0):!1}walkOption(e,r,i){this.checkIsTarget(e,vn.OPTION,r,i)||super.walkOption(e,r,i)}walkAtLeastOne(e,r,i){this.checkIsTarget(e,vn.REPETITION_MANDATORY,r,i)||super.walkOption(e,r,i)}walkAtLeastOneSep(e,r,i){this.checkIsTarget(e,vn.REPETITION_MANDATORY_WITH_SEPARATOR,r,i)||super.walkOption(e,r,i)}walkMany(e,r,i){this.checkIsTarget(e,vn.REPETITION,r,i)||super.walkOption(e,r,i)}walkManySep(e,r,i){this.checkIsTarget(e,vn.REPETITION_WITH_SEPARATOR,r,i)||super.walkOption(e,r,i)}},F6=class extends Qs{static{o(this,"InsideDefinitionFinderVisitor")}constructor(e,r,i){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=i,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,vn.OPTION)}visitRepetition(e){this.checkIsTarget(e,vn.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,vn.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,vn.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,vn.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,vn.ALTERNATION)}};o(qve,"initializeArrayOfArrays");o(B$,"pathToHashKeys");o(dat,"isUniquePrefixHash");o(jve,"lookAheadSequenceFromAlternatives");o(Qy,"getLookaheadPathsForOr");o(Zy,"getLookaheadPathsForOptionalProd");o(z6,"containsPath");o(Xve,"isStrictPrefixOfPath");o(Kve,"areTokenCategoriesNotUsed")});function Qve(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return ht(e,r=>Object.assign({type:ya.CUSTOM_LOOKAHEAD_VALIDATION},r))}function Zve(t,e,r,i){let n=Ja(t,u=>pat(u,r)),a=bat(t,e,r),s=Ja(t,u=>yat(u,r)),l=Ja(t,u=>gat(u,t,i,r));return n.concat(a,s,l)}function pat(t,e){let r=new $$;t.accept(r);let i=r.allProductions,n=hO(i,mat),a=Ao(n,l=>l.length>1);return ht(qr(a),l=>{let u=Ia(l),h=e.buildDuplicateFoundError(t,l),f=Mo(u),d={message:h,type:ya.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:f,occurrence:u.idx},p=Jve(u);return p&&(d.parameter=p),d})}function mat(t){return`${Mo(t)}_#_${t.idx}_#_${Jve(t)}`}function Jve(t){return t instanceof Xr?t.terminalType.name:t instanceof Li?t.nonTerminalName:""}function gat(t,e,r,i){let n=[];if(mi(e,(s,l)=>l.name===t.name?s+1:s,0)>1){let s=i.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});n.push({message:s,type:ya.DUPLICATE_RULE_NAME,ruleName:t.name})}return n}function exe(t,e,r){let i=[],n;return pn(e,t)||(n=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,i.push({message:n,type:ya.INVALID_RULE_OVERRIDE,ruleName:t})),i}function G$(t,e,r,i=[]){let n=[],a=G6(e.definition);if(_r(a))return[];{let s=t.name;pn(a,t)&&n.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:i}),type:ya.LEFT_RECURSION,ruleName:s});let u=bd(a,i.concat([t])),h=Ja(u,f=>{let d=Si(i);return d.push(f),G$(t,f,r,d)});return n.concat(h)}}function G6(t){let e=[];if(_r(t))return e;let r=Ia(t);if(r instanceof Li)e.push(r.referencedRule);else if(r instanceof en||r instanceof Ri||r instanceof tn||r instanceof rn||r instanceof Wi||r instanceof ti)e=e.concat(G6(r.definition));else if(r instanceof Ui)e=di(ht(r.definition,a=>G6(a.definition)));else if(!(r instanceof Xr))throw Error("non exhaustive match");let i=Em(r),n=t.length>1;if(i&&n){let a=zn(t);return e.concat(G6(a))}else return e}function txe(t,e){let r=new sk;t.accept(r);let i=r.alternations;return Ja(i,a=>{let s=Hh(a.definition);return Ja(s,(l,u)=>{let h=B6([l],[],lf,1);return _r(h)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:u}),type:ya.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:u+1}]:[]})})}function rxe(t,e,r){let i=new sk;t.accept(i);let n=i.alternations;return n=Td(n,s=>s.ignoreAmbiguities===!0),Ja(n,s=>{let l=s.idx,u=s.maxLookahead||e,h=Qy(l,t,u,s),f=vat(h,s,t,r),d=xat(h,s,t,r);return f.concat(d)})}function yat(t,e){let r=new sk;t.accept(r);let i=r.alternations;return Ja(i,a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:ya.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function ixe(t,e,r){let i=[];return Pe(t,n=>{let a=new z$;n.accept(a);let s=a.allProductions;Pe(s,l=>{let u=ak(l),h=l.maxLookahead||e,f=l.idx,p=Zy(f,n,u,h)[0];if(_r(di(p))){let m=r.buildEmptyRepetitionError({topLevelRule:n,repetition:l});i.push({message:m,type:ya.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}function vat(t,e,r,i){let n=[],a=mi(t,(l,u,h)=>(e.definition[h].ignoreAmbiguities===!0||Pe(u,f=>{let d=[h];Pe(t,(p,m)=>{h!==m&&z6(p,f)&&e.definition[m].ignoreAmbiguities!==!0&&d.push(m)}),d.length>1&&!z6(n,f)&&(n.push(f),l.push({alts:d,path:f}))}),l),[]);return ht(a,l=>{let u=ht(l.alts,f=>f+1);return{message:i.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:u,prefixPath:l.path}),type:ya.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:l.alts}})}function xat(t,e,r,i){let n=mi(t,(s,l,u)=>{let h=ht(l,f=>({idx:u,path:f}));return s.concat(h)},[]);return Ru(Ja(n,s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let u=s.idx,h=s.path,f=pi(n,p=>e.definition[p.idx].ignoreAmbiguities!==!0&&p.idx{let m=[p.idx+1,u+1],g=e.idx===0?"":e.idx;return{message:i.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:m,prefixPath:p.path}),type:ya.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:g,alternatives:m}})}))}function bat(t,e,r){let i=[],n=ht(e,a=>a.name);return Pe(t,a=>{let s=a.name;if(pn(n,s)){let l=r.buildNamespaceConflictError(a);i.push({message:l,type:ya.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),i}var $$,sk,z$,ok=P(()=>{"use strict";nr();Oo();Zs();Jy();nk();_m();o(Qve,"validateLookahead");o(Zve,"validateGrammar");o(pat,"validateDuplicateProductions");o(mat,"identifyProductionForDuplicates");o(Jve,"getExtraProductionArgument");$$=class extends Qs{static{o(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};o(gat,"validateRuleDoesNotAlreadyExist");o(exe,"validateRuleIsOverridden");o(G$,"validateNoLeftRecursion");o(G6,"getFirstNoneTerminal");sk=class extends Qs{static{o(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};o(txe,"validateEmptyOrAlternative");o(rxe,"validateAmbiguousAlternationAlternatives");z$=class extends Qs{static{o(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};o(yat,"validateTooManyAlts");o(ixe,"validateSomeNonEmptyLookaheadPath");o(vat,"checkAlternativesAmbiguities");o(xat,"checkPrefixAlternativesAmbiguities");o(bat,"checkTerminalAndNoneTerminalsNameSpace")});function nxe(t){let e=xd(t,{errMsgProvider:zve}),r={};return Pe(t.rules,i=>{r[i.name]=i}),Gve(r,e.errMsgProvider)}function axe(t){return t=xd(t,{errMsgProvider:qc}),Zve(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}var sxe=P(()=>{"use strict";nr();Vve();ok();Xy();o(nxe,"resolveGrammar");o(axe,"validateGrammar")});function ap(t){return pn(hxe,t.name)}var oxe,lxe,cxe,uxe,hxe,ev,Lm,lk,ck,uk,tv=P(()=>{"use strict";nr();oxe="MismatchedTokenException",lxe="NoViableAltException",cxe="EarlyExitException",uxe="NotAllInputParsedException",hxe=[oxe,lxe,cxe,uxe];Object.freeze(hxe);o(ap,"isRecognitionException");ev=class extends Error{static{o(this,"RecognitionException")}constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},Lm=class extends ev{static{o(this,"MismatchedTokenException")}constructor(e,r,i){super(e,r),this.previousToken=i,this.name=oxe}},lk=class extends ev{static{o(this,"NoViableAltException")}constructor(e,r,i){super(e,r),this.previousToken=i,this.name=lxe}},ck=class extends ev{static{o(this,"NotAllInputParsedException")}constructor(e,r){super(e,r),this.name=uxe}},uk=class extends ev{static{o(this,"EarlyExitException")}constructor(e,r,i){super(e,r),this.previousToken=i,this.name=cxe}}});function Tat(t,e,r,i,n,a,s){let l=this.getKeyForAutomaticLookahead(i,n),u=this.firstAfterRepMap[l];if(u===void 0){let p=this.getCurrRuleFullName(),m=this.getGAstProductions()[p];u=new a(m,n).startWalking(),this.firstAfterRepMap[l]=u}let h=u.token,f=u.occurrence,d=u.isEndOfRule;this.RULE_STACK.length===1&&d&&h===void 0&&(h=cl,f=1),!(h===void 0||f===void 0)&&this.shouldInRepetitionRecoveryBeTried(h,f,s)&&this.tryInRepetitionRecovery(t,e,r,h)}var V$,W$,q$,V6,U$=P(()=>{"use strict";Dm();nr();tv();w$();Oo();V$={},W$="InRuleRecoveryException",q$=class extends Error{static{o(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=W$}},V6=class{static{o(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Vt(e,"recoveryEnabled")?e.recoveryEnabled:Js.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Tat)}getTokenToInsert(e){let r=hf(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,i,n){let a=this.findReSyncTokenType(),s=this.exportLexerState(),l=[],u=!1,h=this.LA(1),f=this.LA(1),d=o(()=>{let p=this.LA(0),m=this.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:h,previous:p,ruleName:this.getCurrRuleFullName()}),g=new Lm(m,h,this.LA(0));g.resyncedTokens=Hh(l),this.SAVE_ERROR(g)},"generateErrorMessage");for(;!u;)if(this.tokenMatcher(f,n)){d();return}else if(i.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(f,a)?u=!0:(f=this.SKIP_TOKEN(),this.addToResyncTokens(f,l));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,i){return!(i===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){let i=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(i)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let i=this.SKIP_TOKEN();return this.consumeToken(),i}throw new q$("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||_r(r))return!1;let i=this.LA(1);return qs(r,a=>this.tokenMatcher(i,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(r);return pn(i,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA(1),i=2;for(;;){let n=qs(e,a=>tk(r,a));if(n!==void 0)return n;r=this.LA(i),i++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return V$;let e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(i)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return ht(e,(i,n)=>n===0?V$:{ruleName:this.shortRuleNameToFullName(i),idxInCallingRule:r[n],inRule:this.shortRuleNameToFullName(e[n-1])})}flattenFollowSet(){let e=ht(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return di(e)}getFollowSetFromFollowKey(e){if(e===V$)return[cl];let r=e.ruleName+e.idxInCallingRule+S6+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,cl)||r.push(e),r}reSyncTo(e){let r=[],i=this.LA(1);for(;this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,r);return Hh(r)}attemptInRepetitionRecovery(e,r,i,n,a,s,l){}getCurrentGrammarPath(e,r){let i=this.getHumanReadableRuleStack(),n=Si(this.RULE_OCCURRENCE_STACK);return{ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return ht(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};o(Tat,"attemptInRepetitionRecovery")});function q6(t,e,r){return r|e|t}var W6=P(()=>{"use strict";o(q6,"getKeyForAutomaticLookahead")});var df,H$=P(()=>{"use strict";nr();Xy();Oo();ok();Jy();df=class{static{o(this,"LLkLookaheadStrategy")}constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:Js.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(_r(r)){let i=this.validateEmptyOrAlternatives(e.rules),n=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...i,...n,...a]}return r}validateNoLeftRecursion(e){return Ja(e,r=>G$(r,r,qc))}validateEmptyOrAlternatives(e){return Ja(e,r=>txe(r,qc))}validateAmbiguousAlternationAlternatives(e,r){return Ja(e,i=>rxe(i,r,qc))}validateSomeNonEmptyLookaheadPath(e,r){return ixe(e,r,qc)}buildLookaheadForAlternation(e){return Wve(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Hve)}buildLookaheadForOptional(e){return Uve(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,ak(e.prodType),Yve)}}});function kat(t){U6.reset(),t.accept(U6);let e=U6.dslMethods;return U6.reset(),e}var H6,Y$,U6,fxe=P(()=>{"use strict";nr();Oo();W6();Zs();H$();H6=class{static{o(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=Vt(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Js.dynamicTokensEnabled,this.maxLookahead=Vt(e,"maxLookahead")?e.maxLookahead:Js.maxLookahead,this.lookaheadStrategy=Vt(e,"lookaheadStrategy")?e.lookaheadStrategy:new df({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){Pe(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:i,repetition:n,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:l,repetitionWithSeparator:u}=kat(r);Pe(i,h=>{let f=h.idx===0?"":h.idx;this.TRACE_INIT(`${Mo(h)}${f}`,()=>{let d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:h.idx,rule:r,maxLookahead:h.maxLookahead||this.maxLookahead,hasPredicates:h.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),p=q6(this.fullRuleNameToShort[r.name],256,h.idx);this.setLaFuncCache(p,d)})}),Pe(n,h=>{this.computeLookaheadFunc(r,h.idx,768,"Repetition",h.maxLookahead,Mo(h))}),Pe(a,h=>{this.computeLookaheadFunc(r,h.idx,512,"Option",h.maxLookahead,Mo(h))}),Pe(s,h=>{this.computeLookaheadFunc(r,h.idx,1024,"RepetitionMandatory",h.maxLookahead,Mo(h))}),Pe(l,h=>{this.computeLookaheadFunc(r,h.idx,1536,"RepetitionMandatoryWithSeparator",h.maxLookahead,Mo(h))}),Pe(u,h=>{this.computeLookaheadFunc(r,h.idx,1280,"RepetitionWithSeparator",h.maxLookahead,Mo(h))})})})}computeLookaheadFunc(e,r,i,n,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let l=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:n}),u=q6(this.fullRuleNameToShort[e.name],i,r);this.setLaFuncCache(u,l)})}getKeyForAutomaticLookahead(e,r){let i=this.getLastExplicitRuleShortName();return q6(i,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},Y$=class extends Qs{static{o(this,"DslMethodsCollectorVisitor")}constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}},U6=new Y$;o(kat,"collectMethods")});function K$(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";o(K$,"setNodeLocationOnlyOffset");o(Q$,"setNodeLocationFull");o(dxe,"addTerminalToCst");o(pxe,"addNoneTerminalToCst")});function Z$(t,e){Object.defineProperty(t,Cat,{enumerable:!1,configurable:!0,writable:!1,value:e})}var Cat,gxe=P(()=>{"use strict";Cat="name";o(Z$,"defineNameProp")});function wat(t,e){let r=ni(t),i=r.length;for(let n=0;ns.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: - ${a.join(` - -`).replace(/\n/g,` - `)}`)}},"validateVisitor")};return r.prototype=i,r.prototype.constructor=r,r._RULE_NAMES=e,r}function vxe(t,e,r){let i=o(function(){},"derivedConstructor");Z$(i,t+"BaseSemanticsWithDefaults");let n=Object.create(r.prototype);return Pe(e,a=>{n[a]=wat}),i.prototype=n,i.prototype.constructor=i,i}function Eat(t,e){return Sat(t,e)}function Sat(t,e){let r=pi(e,n=>Qn(t[n])===!1),i=ht(r,n=>({msg:`Missing visitor method: <${n}> on ${t.constructor.name} CST Visitor.`,type:J$.MISSING_METHOD,methodName:n}));return Ru(i)}var J$,xxe=P(()=>{"use strict";nr();gxe();o(wat,"defaultVisit");o(yxe,"createBaseSemanticVisitorConstructor");o(vxe,"createBaseVisitorConstructorWithDefaults");(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(J$||(J$={}));o(Eat,"validateVisitor");o(Sat,"validateMissingCstMethods")});var K6,bxe=P(()=>{"use strict";mxe();nr();xxe();Oo();K6=class{static{o(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Vt(e,"nodeLocationTracking")?e.nodeLocationTracking:Js.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Sn,this.cstFinallyStateUpdate=Sn,this.cstPostTerminal=Sn,this.cstPostNonTerminal=Sn,this.cstPostRule=Sn;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Q$,this.setNodeLocationFromNode=Q$,this.cstPostRule=Sn,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Sn,this.setNodeLocationFromNode=Sn,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=K$,this.setNodeLocationFromNode=K$,this.cstPostRule=Sn,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Sn,this.setNodeLocationFromNode=Sn,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Sn,this.setNodeLocationFromNode=Sn,this.cstPostRule=Sn,this.setInitialNodeLocation=Sn;else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),i=e.location;i.startOffset<=r.startOffset?(i.endOffset=r.endOffset,i.endLine=r.endLine,i.endColumn=r.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),i=e.location;i.startOffset<=r.startOffset?i.endOffset=r.endOffset:i.startOffset=NaN}cstPostTerminal(e,r){let i=this.CST_STACK[this.CST_STACK.length-1];dxe(i,r,e),this.setNodeLocationFromToken(i.location,r)}cstPostNonTerminal(e,r){let i=this.CST_STACK[this.CST_STACK.length-1];pxe(i,r,e),this.setNodeLocationFromNode(i.location,e.location)}getBaseCstVisitorConstructor(){if(Br(this.baseCstVisitorConstructor)){let e=yxe(this.className,ni(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(Br(this.baseCstVisitorWithDefaultsConstructor)){let e=vxe(this.className,ni(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}});var Q6,Txe=P(()=>{"use strict";Oo();Q6=class{static{o(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):rv}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?rv:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}});var Z6,kxe=P(()=>{"use strict";nr();tv();Oo();Xy();ok();Zs();Z6=class{static{o(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,r,i){return this.consumeInternal(r,e,i)}subrule(e,r,i){return this.subruleInternal(r,e,i)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,i=iv){if(pn(this.definedRulesNames,e)){let s={message:qc.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:ya.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let n=this.defineRule(e,r,i);return this[e]=n,n}OVERRIDE_RULE(e,r,i=iv){let n=exe(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(n);let a=this.defineRule(e,r,i);return this[e]=a,a}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);let i=this.saveRecogState();try{return e.apply(this,r),!0}catch(n){if(ap(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return C6(qr(this.gastProductionsCache))}}});var J6,Cxe=P(()=>{"use strict";nr();W6();tv();Jy();nk();Oo();U$();Dm();_m();J6=class{static{o(this,"RecognizerEngine")}initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Yy,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},Vt(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. - See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 - For Further details.`);if(Gt(e)){if(_r(e))throw Error(`A Token Vocabulary cannot be empty. - Note that the first argument for the parser constructor - is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. - See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 - For Further details.`)}if(Gt(e))this.tokensMap=mi(e,(a,s)=>(a[s.name]=s,a),{});else if(Vt(e,"modes")&&ms(di(qr(e.modes)),Rve)){let a=di(qr(e.modes)),s=Z1(a);this.tokensMap=mi(s,(l,u)=>(l[u.name]=u,l),{})}else if(Gi(e))this.tokensMap=Si(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=cl;let i=Vt(e,"modes")?di(qr(e.modes)):qr(e),n=ms(i,a=>_r(a.categoryMatches));this.tokenMatcher=n?Yy:lf,cf(qr(this.tokensMap))}defineRule(e,r,i){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' -Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let n=Vt(i,"resyncEnabled")?i.resyncEnabled:iv.resyncEnabled,a=Vt(i,"recoveryValueFunc")?i.recoveryValueFunc:iv.recoveryValueFunc,s=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let l;return this.outputCst===!0?l=o(function(...f){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,n,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):l=o(function(...f){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f)}catch(d){return this.invokeRuleCatch(d,n,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(l,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,i){let n=this.RULE_STACK.length===1,a=r&&!this.isBackTracking()&&this.recoveryEnabled;if(ap(e)){let s=e;if(a){let l=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(l))if(s.resyncedTokens=this.reSyncTo(l),this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];return u.recoveredNode=!0,u}else return i(e);else{if(this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];u.recoveredNode=!0,s.partialCstResult=u}throw s}}else{if(n)return this.moveToTerminatedState(),i(e);throw s}}else throw e}optionInternal(e,r){let i=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,i)}optionInternalLogic(e,r,i){let n=this.getLaFuncFromCache(i),a;if(typeof e!="function"){a=e.DEF;let s=e.GATE;if(s!==void 0){let l=n;n=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=e;if(n.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){let i=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,i)}atLeastOneInternalLogic(e,r,i){let n=this.getLaFuncFromCache(i),a;if(typeof r!="function"){a=r.DEF;let s=r.GATE;if(s!==void 0){let l=n;n=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=r;if(n.call(this)===!0){let s=this.doSingleRepetition(a);for(;n.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,vn.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],n,1024,e,O6)}atLeastOneSepFirstInternal(e,r){let i=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,i)}atLeastOneSepFirstInternalLogic(e,r,i){let n=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(i).call(this)===!0){n.call(this);let l=o(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,n,ik],l,1536,e,ik)}else throw this.raiseEarlyExitException(e,vn.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let i=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,i)}manyInternalLogic(e,r,i){let n=this.getLaFuncFromCache(i),a;if(typeof r!="function"){a=r.DEF;let l=r.GATE;if(l!==void 0){let u=n;n=o(()=>l.call(this)&&u.call(this),"lookaheadFunction")}}else a=r;let s=!0;for(;n.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],n,768,e,M6,s)}manySepFirstInternal(e,r){let i=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,i)}manySepFirstInternalLogic(e,r,i){let n=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(i).call(this)===!0){n.call(this);let l=o(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,n,rk],l,1280,e,rk)}}repetitionSepSecondInternal(e,r,i,n,a){for(;i();)this.CONSUME(r),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,i,n,a],i,1536,e,a)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let i=this.getKeyForAutomaticLookahead(256,r),n=Gt(e)?e:e.DEF,s=this.getLaFuncFromCache(i).call(this,n);if(s!==void 0)return n[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){let e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new ck(r,e))}}subruleInternal(e,r,i){let n;try{let a=i!==void 0?i.ARGS:void 0;return this.subruleIdx=r,n=e.apply(this,a),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(a){throw this.subruleInternalError(a,i,e.ruleName)}}subruleInternalError(e,r,i){throw ap(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:i),delete e.partialCstResult),e}consumeInternal(e,r,i){let n;try{let a=this.LA(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),n=a):this.consumeInternalError(e,a,i)}catch(a){n=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n}consumeInternalError(e,r,i){let n,a=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Lm(n,r,a))}consumeInternalRecovery(e,r,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){let n=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,n)}catch(a){throw a.name===W$?i:a}}else throw i}saveRecogState(){let e=this.errors,r=Si(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,r,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),cl)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}});var eA,wxe=P(()=>{"use strict";tv();nr();Jy();Oo();eA=class{static{o(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=Vt(e,"errorMessageProvider")?e.errorMessageProvider:Js.errorMessageProvider}SAVE_ERROR(e){if(ap(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Si(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Si(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,i){let n=this.getCurrRuleFullName(),a=this.getGAstProductions()[n],l=Zy(e,a,r,this.maxLookahead)[0],u=[];for(let f=1;f<=this.maxLookahead;f++)u.push(this.LA(f));let h=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:l,actual:u,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new uk(h,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],a=Qy(e,n,this.maxLookahead),s=[];for(let h=1;h<=this.maxLookahead;h++)s.push(this.LA(h));let l=this.LA(0),u=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:s,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new lk(u,this.LA(1),l))}}});var tA,Exe=P(()=>{"use strict";nk();nr();tA=class{static{o(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,r){let i=this.gastProductionsCache[e];if(Br(i))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return B6([i],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let r=Ia(e.ruleStack),n=this.getGAstProductions()[r];return new I6(n,e).startWalking()}}});function fk(t,e,r,i=!1){iA(r);let n=Na(this.recordingProdStack),a=Qn(e)?e:e.DEF,s=new t({definition:[],idx:r});return i&&(s.separator=e.SEP),Vt(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),n.definition.push(s),this.recordingProdStack.pop(),nA}function Dat(t,e){iA(e);let r=Na(this.recordingProdStack),i=Gt(t)===!1,n=i===!1?t:t.DEF,a=new Ui({definition:[],idx:e,ignoreAmbiguities:i&&t.IGNORE_AMBIGUITIES===!0});Vt(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);let s=Fb(n,l=>Qn(l.GATE));return a.hasPredicates=s,r.definition.push(a),Pe(n,l=>{let u=new en({definition:[]});a.definition.push(u),Vt(l,"IGNORE_AMBIGUITIES")?u.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:Vt(l,"GATE")&&(u.ignoreAmbiguities=!0),this.recordingProdStack.push(u),l.ALT.call(this),this.recordingProdStack.pop()}),nA}function _xe(t){return t===0?"":`${t}`}function iA(t){if(t<0||t>Axe){let e=new Error(`Invalid DSL Method idx value: <${t}> - Idx value must be a none negative value smaller than ${Axe+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var nA,Sxe,Axe,Dxe,Lxe,_at,rA,Rxe=P(()=>{"use strict";nr();Zs();JT();_m();Dm();Oo();W6();nA={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(nA);Sxe=!0,Axe=Math.pow(2,8)-1,Dxe=np({name:"RECORDING_PHASE_TOKEN",pattern:yn.NA});cf([Dxe]);Lxe=hf(Dxe,`This IToken indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Lxe);_at={name:`This CSTNode indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},rA=class{static{o(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let r=e>0?e:"";this[`CONSUME${r}`]=function(i,n){return this.consumeInternalRecord(i,e,n)},this[`SUBRULE${r}`]=function(i,n){return this.subruleInternalRecord(i,e,n)},this[`OPTION${r}`]=function(i){return this.optionInternalRecord(i,e)},this[`OR${r}`]=function(i){return this.orInternalRecord(i,e)},this[`MANY${r}`]=function(i){this.manyInternalRecord(e,i)},this[`MANY_SEP${r}`]=function(i){this.manySepFirstInternalRecord(e,i)},this[`AT_LEAST_ONE${r}`]=function(i){this.atLeastOneInternalRecord(e,i)},this[`AT_LEAST_ONE_SEP${r}`]=function(i){this.atLeastOneSepFirstInternalRecord(e,i)}}this.consume=function(e,r,i){return this.consumeInternalRecord(r,e,i)},this.subrule=function(e,r,i){return this.subruleInternalRecord(r,e,i)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let i=r>0?r:"";delete e[`CONSUME${i}`],delete e[`SUBRULE${i}`],delete e[`OPTION${i}`],delete e[`OR${i}`],delete e[`MANY${i}`],delete e[`MANY_SEP${i}`],delete e[`AT_LEAST_ONE${i}`],delete e[`AT_LEAST_ONE_SEP${i}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return rv}topLevelRuleRecord(e,r){try{let i=new Ks({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),r.call(this),this.recordingProdStack.pop(),i}catch(i){if(i.KNOWN_RECORDER_ERROR!==!0)try{i.message=i.message+` - This error was thrown during the "grammar recording phase" For more info see: - https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw i}throw i}}optionInternalRecord(e,r){return fk.call(this,Ri,e,r)}atLeastOneInternalRecord(e,r){fk.call(this,tn,r,e)}atLeastOneSepFirstInternalRecord(e,r){fk.call(this,rn,r,e,Sxe)}manyInternalRecord(e,r){fk.call(this,ti,r,e)}manySepFirstInternalRecord(e,r){fk.call(this,Wi,r,e,Sxe)}orInternalRecord(e,r){return Dat.call(this,e,r)}subruleInternalRecord(e,r,i){if(iA(r),!e||Vt(e,"ruleName")===!1){let l=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw l.KNOWN_RECORDER_ERROR=!0,l}let n=Na(this.recordingProdStack),a=e.ruleName,s=new Li({idx:r,nonTerminalName:a,label:i?.LABEL,referencedRule:void 0});return n.definition.push(s),this.outputCst?_at:nA}consumeInternalRecord(e,r,i){if(iA(r),!N$(e)){let s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let n=Na(this.recordingProdStack),a=new Xr({idx:r,terminalType:e,label:i?.LABEL});return n.definition.push(a),Lxe}};o(fk,"recordProd");o(Dat,"recordOrProd");o(_xe,"getIdxSuffix");o(iA,"assertMethodIdxIsValid")});var aA,Nxe=P(()=>{"use strict";nr();Vy();Oo();aA=class{static{o(this,"PerformanceTracer")}initPerformanceTracer(e){if(Vt(e,"traceInitPerf")){let r=e.traceInitPerf,i=typeof r=="number";this.traceInitMaxIdent=i?r:1/0,this.traceInitPerf=i?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Js.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);let{time:n,value:a}=KT(r),s=n>10?console.warn:console.log;return this.traceInitIndent time: ${n}ms`),this.traceInitIndent--,a}else return r()}}});function Ixe(t,e){e.forEach(r=>{let i=r.prototype;Object.getOwnPropertyNames(i).forEach(n=>{if(n==="constructor")return;let a=Object.getOwnPropertyDescriptor(i,n);a&&(a.get||a.set)?Object.defineProperty(t.prototype,n,a):t.prototype[n]=r.prototype[n]})})}var Mxe=P(()=>{"use strict";o(Ixe,"applyMixins")});function sA(t=void 0){return function(){return t}}var rv,Js,iv,ya,dk,pk,Oo=P(()=>{"use strict";nr();Vy();uve();Dm();Xy();sxe();U$();fxe();bxe();Txe();kxe();Cxe();wxe();Exe();Rxe();Nxe();Mxe();ok();rv=hf(cl,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(rv);Js=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:ff,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),iv=Object.freeze({recoveryValueFunc:o(()=>{},"recoveryValueFunc"),resyncEnabled:!0});(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(ya||(ya={}));o(sA,"EMPTY_ALT");dk=class t{static{o(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{QT(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),Pe(this.definedRulesNames,n=>{let s=this[n].originalGrammarAction,l;this.TRACE_INIT(`${n} Rule`,()=>{l=this.topLevelRuleRecord(n,s)}),this.gastProductionsCache[n]=l})}finally{this.disableRecording()}});let i=[];if(this.TRACE_INIT("Grammar Resolving",()=>{i=nxe({rules:qr(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(i)}),this.TRACE_INIT("Grammar Validations",()=>{if(_r(i)&&this.skipValidations===!1){let n=axe({rules:qr(this.gastProductionsCache),tokenTypes:qr(this.tokensMap),errMsgProvider:qc,grammarName:r}),a=Qve({lookaheadStrategy:this.lookaheadStrategy,rules:qr(this.gastProductionsCache),tokenTypes:qr(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(n,a)}}),_r(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let n=cve(qr(this.gastProductionsCache));this.resyncFollows=n}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var n,a;(a=(n=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(n,{rules:qr(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(qr(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!_r(this.definitionErrors))throw e=ht(this.definitionErrors,n=>n.message),new Error(`Parser Definition Errors detected: - ${e.join(` -------------------------------- -`)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let i=this;if(i.initErrorHandler(r),i.initLexerAdapter(),i.initLooksAhead(r),i.initRecognizerEngine(e,r),i.initRecoverable(r),i.initTreeBuilder(r),i.initContentAssist(),i.initGastRecorder(r),i.initPerformanceTracer(r),Vt(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. - Please use the flag on the relevant DSL method instead. - See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES - For further details.`);this.skipValidations=Vt(r,"skipValidations")?r.skipValidations:Js.skipValidations}};dk.DEFER_DEFINITION_ERRORS_HANDLING=!1;Ixe(dk,[V6,H6,K6,Q6,J6,Z6,eA,tA,rA,aA]);pk=class extends dk{static{o(this,"EmbeddedActionsParser")}constructor(e,r=Js){let i=Si(r);i.outputCst=!1,super(e,i)}}});var Oxe=P(()=>{"use strict";Zs()});var Pxe=P(()=>{"use strict"});var Bxe=P(()=>{"use strict";Oxe();Pxe()});var Fxe=P(()=>{"use strict";b$()});var sp=P(()=>{"use strict";b$();Oo();JT();Dm();Jy();H$();Xy();tv();I$();Zs();Zs();Bxe();Fxe()});function Rm(t,e,r){return`${t.name}_${e}_${r}`}function Vxe(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};Pat(e,t);let r=t.length;for(let i=0;iqxe(t,e,s));return ov(t,e,i,r,...n)}function Vat(t,e,r){let i=Fa(t,e,r,{type:op});lp(t,i);let n=ov(t,e,i,r,Nm(t,e,r));return qat(t,e,r,n)}function Nm(t,e,r){let i=pi(ht(r.definition,n=>qxe(t,e,n)),n=>n!==void 0);return i.length===1?i[0]:i.length===0?void 0:Uat(t,i)}function Wxe(t,e,r,i,n){let a=i.left,s=i.right,l=Fa(t,e,r,{type:Oat});lp(t,l);let u=Fa(t,e,r,{type:Gxe});return a.loopback=l,u.loopback=l,t.decisionMap[Rm(e,n?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=l,ta(s,l),n===void 0?(ta(l,a),ta(l,u)):(ta(l,u),ta(l,n.left),ta(n.right,a)),{left:a,right:u}}function Uxe(t,e,r,i,n){let a=i.left,s=i.right,l=Fa(t,e,r,{type:Mat});lp(t,l);let u=Fa(t,e,r,{type:Gxe}),h=Fa(t,e,r,{type:Iat});return l.loopback=h,u.loopback=h,ta(l,a),ta(l,u),ta(s,h),n!==void 0?(ta(h,u),ta(h,n.left),ta(n.right,a)):ta(h,l),t.decisionMap[Rm(e,n?"RepetitionWithSeparator":"Repetition",r.idx)]=l,{left:l,right:u}}function qat(t,e,r,i){let n=i.left,a=i.right;return ta(n,a),t.decisionMap[Rm(e,"Option",r.idx)]=n,i}function lp(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function ov(t,e,r,i,...n){let a=Fa(t,e,i,{type:Nat,start:r});r.end=a;for(let l of n)l!==void 0?(ta(r,l.left),ta(l.right,a)):ta(r,a);let s={left:r,right:a};return t.decisionMap[Rm(e,Wat(i),i.idx)]=r,s}function Wat(t){if(t instanceof Ui)return"Alternation";if(t instanceof Ri)return"Option";if(t instanceof ti)return"Repetition";if(t instanceof Wi)return"RepetitionWithSeparator";if(t instanceof tn)return"RepetitionMandatory";if(t instanceof rn)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Uat(t,e){let r=e.length;for(let a=0;a{"use strict";X1();sO();sp();o(Rm,"buildATNKey");op=1,Rat=2,$xe=4,zxe=5,sv=7,Nat=8,Iat=9,Mat=10,Oat=11,Gxe=12,mk=class{static{o(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},nv=class extends mk{static{o(this,"AtomTransition")}constructor(e,r){super(e),this.tokenType=r}},gk=class extends mk{static{o(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},av=class extends mk{static{o(this,"RuleTransition")}constructor(e,r,i){super(e),this.rule=r,this.followState=i}isEpsilon(){return!0}};o(Vxe,"createATN");o(Pat,"createRuleStartAndStopATNStates");o(qxe,"atom");o(Bat,"repetition");o(Fat,"repetitionSep");o($at,"repetitionMandatory");o(zat,"repetitionMandatorySep");o(Gat,"alternation");o(Vat,"option");o(Nm,"block");o(Wxe,"plus");o(Uxe,"star");o(qat,"optional");o(lp,"defineDecisionState");o(ov,"makeAlts");o(Wat,"getProdType");o(Uat,"makeBlock");o(tz,"tokenRef");o(Hat,"ruleRef");o(Yat,"buildRuleHandle");o(ta,"epsilon");o(Fa,"newState");o(rz,"addTransition");o(jat,"removeState")});function iz(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}var yk,lv,Yxe=P(()=>{"use strict";X1();yk={},lv=class{static{o(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=iz(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return ht(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};o(iz,"getATNConfigKey")});function Xat(t,e){let r={};return i=>{let n=i.toString(),a=r[n];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[n]=a),a}}function Xxe(t,e=!0){let r=new Set;for(let i of t){let n=new Set;for(let a of i){if(a===void 0){if(e)break;return!1}let s=[a.tokenTypeIdx].concat(a.categoryMatches);for(let l of s)if(r.has(l)){if(!n.has(l))return!1}else r.add(l),n.add(l)}}return!0}function Kat(t){let e=t.decisionStates.length,r=Array(e);for(let i=0;iuf(n)).join(", "),r=t.production.idx===0?"":t.production.idx,i=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${tst(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, -<${e}> may appears as a prefix path in all these alternatives. -`;return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,i}function tst(t){if(t instanceof Li)return"SUBRULE";if(t instanceof Ri)return"OPTION";if(t instanceof Ui)return"OR";if(t instanceof tn)return"AT_LEAST_ONE";if(t instanceof rn)return"AT_LEAST_ONE_SEP";if(t instanceof Wi)return"MANY_SEP";if(t instanceof ti)return"MANY";if(t instanceof Xr)return"CONSUME";throw Error("non exhaustive match")}function rst(t,e,r){let i=Ja(e.configs.elements,a=>a.state.transitions),n=Xfe(i.filter(a=>a instanceof nv).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:n,tokenPath:t}}function ist(t,e){return t.edges[e.tokenTypeIdx]}function nst(t,e,r){let i=new lv,n=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===sv){n.push(s);continue}let l=s.state.transitions.length;for(let u=0;u0&&!cst(a))for(let s of n)a.add(s);return a}function ast(t,e){if(t instanceof nv&&tk(e,t.tokenType))return t.target}function sst(t,e){let r;for(let i of t.elements)if(e.is(i.alt)===!0){if(r===void 0)r=i.alt;else if(r!==i.alt)return}return r}function Qxe(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Kxe(t,e,r,i){return i=Zxe(t,i),e.edges[r.tokenTypeIdx]=i,i}function Zxe(t,e){if(e===yk)return e;let r=e.configs.key,i=t.states[r];return i!==void 0?i:(e.configs.finalize(),t.states[r]=e,e)}function ost(t){let e=new lv,r=t.transitions.length;for(let i=0;i0){let n=[...t.stack],s={state:n.pop(),alt:t.alt,stack:n};lA(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let i=r.transitions.length;for(let n=0;n1)return!0;return!1}function pst(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var oA,jxe,vk,Jxe=P(()=>{"use strict";sp();Hxe();Yxe();pO();lO();Kfe();X1();Y5();kE();AE();vO();o(Xat,"createDFACache");oA=class{static{o(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let i=0;iconsole.log(i))}initialize(e){this.atn=Vxe(e.rules),this.dfas=Kat(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:i,hasPredicates:n,dynamicTokensEnabled:a}=e,s=this.dfas,l=this.logging,u=Rm(i,"Alternation",r),f=this.atn.decisionMap[u].decision,d=ht($6({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:i}),p=>ht(p,m=>m[0]));if(Xxe(d,!1)&&!a){let p=mi(d,(m,g,y)=>(Pe(g,v=>{v&&(m[v.tokenTypeIdx]=y,Pe(v.categoryMatches,x=>{m[x]=y}))}),m),{});return n?function(m){var g;let y=this.LA(1),v=p[y.tokenTypeIdx];if(m!==void 0&&v!==void 0){let x=(g=m[v])===null||g===void 0?void 0:g.GATE;if(x!==void 0&&x.call(this)===!1)return}return v}:function(){let m=this.LA(1);return p[m.tokenTypeIdx]}}else return n?function(p){let m=new oA,g=p===void 0?0:p.length;for(let v=0;vht(p,m=>m[0]));if(Xxe(d)&&d[0][0]&&!a){let p=d[0],m=di(p);if(m.length===1&&_r(m[0].categoryMatches)){let y=m[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===y}}else{let g=mi(m,(y,v)=>(v!==void 0&&(y[v.tokenTypeIdx]=!0,Pe(v.categoryMatches,x=>{y[x]=!0})),y),{});return function(){let y=this.LA(1);return g[y.tokenTypeIdx]===!0}}}return function(){let p=nz.call(this,s,f,jxe,l);return typeof p=="object"?!1:p===0}}};o(Xxe,"isLL1Sequence");o(Kat,"initATNSimulator");o(nz,"adaptivePredict");o(Qat,"performLookahead");o(Zat,"computeLookaheadTarget");o(Jat,"reportLookaheadAmbiguity");o(est,"buildAmbiguityError");o(tst,"getProductionDslName");o(rst,"buildAdaptivePredictError");o(ist,"getExistingTargetState");o(nst,"computeReachSet");o(ast,"getReachableTarget");o(sst,"getUniqueAlt");o(Qxe,"newDFAState");o(Kxe,"addDFAEdge");o(Zxe,"addDFAState");o(ost,"computeStartState");o(lA,"closure");o(lst,"getEpsilonTarget");o(cst,"hasConfigInRuleStopState");o(ust,"allConfigsInRuleStopStates");o(hst,"hasConflictTerminatingPrediction");o(fst,"getConflictingAltSets");o(dst,"hasConflictingAltSet");o(pst,"hasStateAssociatedWithOneAlt")});var e2e=P(()=>{"use strict";Jxe()});var yA={};ur(yA,{AnnotatedTextEdit:()=>pf,ChangeAnnotation:()=>Im,ChangeAnnotationIdentifier:()=>ns,CodeAction:()=>$z,CodeActionContext:()=>Fz,CodeActionKind:()=>Bz,CodeActionTriggerKind:()=>Ek,CodeDescription:()=>pz,CodeLens:()=>zz,Color:()=>uA,ColorInformation:()=>lz,ColorPresentation:()=>cz,Command:()=>Mm,CompletionItem:()=>Ez,CompletionItemKind:()=>xz,CompletionItemLabelDetails:()=>wz,CompletionItemTag:()=>Tz,CompletionList:()=>Sz,CreateFile:()=>uv,DeleteFile:()=>fv,Diagnostic:()=>Tk,DiagnosticRelatedInformation:()=>hA,DiagnosticSeverity:()=>fz,DiagnosticTag:()=>dz,DocumentHighlight:()=>Rz,DocumentHighlightKind:()=>Lz,DocumentLink:()=>Vz,DocumentSymbol:()=>Pz,DocumentUri:()=>az,EOL:()=>mst,FoldingRange:()=>hz,FoldingRangeKind:()=>uz,FormattingOptions:()=>Gz,Hover:()=>Az,InlayHint:()=>Qz,InlayHintKind:()=>mA,InlayHintLabelPart:()=>gA,InlineCompletionContext:()=>iG,InlineCompletionItem:()=>Jz,InlineCompletionList:()=>eG,InlineCompletionTriggerKind:()=>tG,InlineValueContext:()=>Kz,InlineValueEvaluatableExpression:()=>Xz,InlineValueText:()=>Yz,InlineValueVariableLookup:()=>jz,InsertReplaceEdit:()=>kz,InsertTextFormat:()=>bz,InsertTextMode:()=>Cz,Location:()=>bk,LocationLink:()=>oz,MarkedString:()=>wk,MarkupContent:()=>dv,MarkupKind:()=>pA,OptionalVersionedTextDocumentIdentifier:()=>Ck,ParameterInformation:()=>_z,Position:()=>oi,Range:()=>Jr,RenameFile:()=>hv,SelectedCompletionInfo:()=>rG,SelectionRange:()=>qz,SemanticTokenModifiers:()=>Uz,SemanticTokenTypes:()=>Wz,SemanticTokens:()=>Hz,SignatureInformation:()=>Dz,StringValue:()=>Zz,SymbolInformation:()=>Mz,SymbolKind:()=>Nz,SymbolTag:()=>Iz,TextDocument:()=>aG,TextDocumentEdit:()=>kk,TextDocumentIdentifier:()=>gz,TextDocumentItem:()=>vz,TextEdit:()=>Ku,URI:()=>cA,VersionedTextDocumentIdentifier:()=>yz,WorkspaceChange:()=>mz,WorkspaceEdit:()=>fA,WorkspaceFolder:()=>nG,WorkspaceSymbol:()=>Oz,integer:()=>sz,uinteger:()=>xk});var az,cA,sz,xk,oi,Jr,bk,oz,uA,lz,cz,uz,hz,hA,fz,dz,pz,Tk,Mm,Ku,Im,ns,pf,kk,uv,hv,fv,fA,cv,dA,mz,gz,yz,Ck,vz,pA,dv,xz,bz,Tz,kz,Cz,wz,Ez,Sz,wk,Az,_z,Dz,Lz,Rz,Nz,Iz,Mz,Oz,Pz,Bz,Ek,Fz,$z,zz,Gz,Vz,qz,Wz,Uz,Hz,Yz,jz,Xz,Kz,mA,gA,Qz,Zz,Jz,eG,tG,rG,iG,nG,mst,aG,sG,Xe,pv=P(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}o(e,"is"),t.is=e})(az||(az={}));(function(t){function e(r){return typeof r=="string"}o(e,"is"),t.is=e})(cA||(cA={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}o(e,"is"),t.is=e})(sz||(sz={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}o(e,"is"),t.is=e})(xk||(xk={}));(function(t){function e(i,n){return i===Number.MAX_VALUE&&(i=xk.MAX_VALUE),n===Number.MAX_VALUE&&(n=xk.MAX_VALUE),{line:i,character:n}}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.objectLiteral(n)&&Xe.uinteger(n.line)&&Xe.uinteger(n.character)}o(r,"is"),t.is=r})(oi||(oi={}));(function(t){function e(i,n,a,s){if(Xe.uinteger(i)&&Xe.uinteger(n)&&Xe.uinteger(a)&&Xe.uinteger(s))return{start:oi.create(i,n),end:oi.create(a,s)};if(oi.is(i)&&oi.is(n))return{start:i,end:n};throw new Error(`Range#create called with invalid arguments[${i}, ${n}, ${a}, ${s}]`)}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.objectLiteral(n)&&oi.is(n.start)&&oi.is(n.end)}o(r,"is"),t.is=r})(Jr||(Jr={}));(function(t){function e(i,n){return{uri:i,range:n}}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.objectLiteral(n)&&Jr.is(n.range)&&(Xe.string(n.uri)||Xe.undefined(n.uri))}o(r,"is"),t.is=r})(bk||(bk={}));(function(t){function e(i,n,a,s){return{targetUri:i,targetRange:n,targetSelectionRange:a,originSelectionRange:s}}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.objectLiteral(n)&&Jr.is(n.targetRange)&&Xe.string(n.targetUri)&&Jr.is(n.targetSelectionRange)&&(Jr.is(n.originSelectionRange)||Xe.undefined(n.originSelectionRange))}o(r,"is"),t.is=r})(oz||(oz={}));(function(t){function e(i,n,a,s){return{red:i,green:n,blue:a,alpha:s}}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.objectLiteral(n)&&Xe.numberRange(n.red,0,1)&&Xe.numberRange(n.green,0,1)&&Xe.numberRange(n.blue,0,1)&&Xe.numberRange(n.alpha,0,1)}o(r,"is"),t.is=r})(uA||(uA={}));(function(t){function e(i,n){return{range:i,color:n}}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.objectLiteral(n)&&Jr.is(n.range)&&uA.is(n.color)}o(r,"is"),t.is=r})(lz||(lz={}));(function(t){function e(i,n,a){return{label:i,textEdit:n,additionalTextEdits:a}}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.objectLiteral(n)&&Xe.string(n.label)&&(Xe.undefined(n.textEdit)||Ku.is(n))&&(Xe.undefined(n.additionalTextEdits)||Xe.typedArray(n.additionalTextEdits,Ku.is))}o(r,"is"),t.is=r})(cz||(cz={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(uz||(uz={}));(function(t){function e(i,n,a,s,l,u){let h={startLine:i,endLine:n};return Xe.defined(a)&&(h.startCharacter=a),Xe.defined(s)&&(h.endCharacter=s),Xe.defined(l)&&(h.kind=l),Xe.defined(u)&&(h.collapsedText=u),h}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.objectLiteral(n)&&Xe.uinteger(n.startLine)&&Xe.uinteger(n.startLine)&&(Xe.undefined(n.startCharacter)||Xe.uinteger(n.startCharacter))&&(Xe.undefined(n.endCharacter)||Xe.uinteger(n.endCharacter))&&(Xe.undefined(n.kind)||Xe.string(n.kind))}o(r,"is"),t.is=r})(hz||(hz={}));(function(t){function e(i,n){return{location:i,message:n}}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.defined(n)&&bk.is(n.location)&&Xe.string(n.message)}o(r,"is"),t.is=r})(hA||(hA={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(fz||(fz={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(dz||(dz={}));(function(t){function e(r){let i=r;return Xe.objectLiteral(i)&&Xe.string(i.href)}o(e,"is"),t.is=e})(pz||(pz={}));(function(t){function e(i,n,a,s,l,u){let h={range:i,message:n};return Xe.defined(a)&&(h.severity=a),Xe.defined(s)&&(h.code=s),Xe.defined(l)&&(h.source=l),Xe.defined(u)&&(h.relatedInformation=u),h}o(e,"create"),t.create=e;function r(i){var n;let a=i;return Xe.defined(a)&&Jr.is(a.range)&&Xe.string(a.message)&&(Xe.number(a.severity)||Xe.undefined(a.severity))&&(Xe.integer(a.code)||Xe.string(a.code)||Xe.undefined(a.code))&&(Xe.undefined(a.codeDescription)||Xe.string((n=a.codeDescription)===null||n===void 0?void 0:n.href))&&(Xe.string(a.source)||Xe.undefined(a.source))&&(Xe.undefined(a.relatedInformation)||Xe.typedArray(a.relatedInformation,hA.is))}o(r,"is"),t.is=r})(Tk||(Tk={}));(function(t){function e(i,n,...a){let s={title:i,command:n};return Xe.defined(a)&&a.length>0&&(s.arguments=a),s}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.defined(n)&&Xe.string(n.title)&&Xe.string(n.command)}o(r,"is"),t.is=r})(Mm||(Mm={}));(function(t){function e(a,s){return{range:a,newText:s}}o(e,"replace"),t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}o(r,"insert"),t.insert=r;function i(a){return{range:a,newText:""}}o(i,"del"),t.del=i;function n(a){let s=a;return Xe.objectLiteral(s)&&Xe.string(s.newText)&&Jr.is(s.range)}o(n,"is"),t.is=n})(Ku||(Ku={}));(function(t){function e(i,n,a){let s={label:i};return n!==void 0&&(s.needsConfirmation=n),a!==void 0&&(s.description=a),s}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.objectLiteral(n)&&Xe.string(n.label)&&(Xe.boolean(n.needsConfirmation)||n.needsConfirmation===void 0)&&(Xe.string(n.description)||n.description===void 0)}o(r,"is"),t.is=r})(Im||(Im={}));(function(t){function e(r){let i=r;return Xe.string(i)}o(e,"is"),t.is=e})(ns||(ns={}));(function(t){function e(a,s,l){return{range:a,newText:s,annotationId:l}}o(e,"replace"),t.replace=e;function r(a,s,l){return{range:{start:a,end:a},newText:s,annotationId:l}}o(r,"insert"),t.insert=r;function i(a,s){return{range:a,newText:"",annotationId:s}}o(i,"del"),t.del=i;function n(a){let s=a;return Ku.is(s)&&(Im.is(s.annotationId)||ns.is(s.annotationId))}o(n,"is"),t.is=n})(pf||(pf={}));(function(t){function e(i,n){return{textDocument:i,edits:n}}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.defined(n)&&Ck.is(n.textDocument)&&Array.isArray(n.edits)}o(r,"is"),t.is=r})(kk||(kk={}));(function(t){function e(i,n,a){let s={kind:"create",uri:i};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(s.options=n),a!==void 0&&(s.annotationId=a),s}o(e,"create"),t.create=e;function r(i){let n=i;return n&&n.kind==="create"&&Xe.string(n.uri)&&(n.options===void 0||(n.options.overwrite===void 0||Xe.boolean(n.options.overwrite))&&(n.options.ignoreIfExists===void 0||Xe.boolean(n.options.ignoreIfExists)))&&(n.annotationId===void 0||ns.is(n.annotationId))}o(r,"is"),t.is=r})(uv||(uv={}));(function(t){function e(i,n,a,s){let l={kind:"rename",oldUri:i,newUri:n};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(l.options=a),s!==void 0&&(l.annotationId=s),l}o(e,"create"),t.create=e;function r(i){let n=i;return n&&n.kind==="rename"&&Xe.string(n.oldUri)&&Xe.string(n.newUri)&&(n.options===void 0||(n.options.overwrite===void 0||Xe.boolean(n.options.overwrite))&&(n.options.ignoreIfExists===void 0||Xe.boolean(n.options.ignoreIfExists)))&&(n.annotationId===void 0||ns.is(n.annotationId))}o(r,"is"),t.is=r})(hv||(hv={}));(function(t){function e(i,n,a){let s={kind:"delete",uri:i};return n!==void 0&&(n.recursive!==void 0||n.ignoreIfNotExists!==void 0)&&(s.options=n),a!==void 0&&(s.annotationId=a),s}o(e,"create"),t.create=e;function r(i){let n=i;return n&&n.kind==="delete"&&Xe.string(n.uri)&&(n.options===void 0||(n.options.recursive===void 0||Xe.boolean(n.options.recursive))&&(n.options.ignoreIfNotExists===void 0||Xe.boolean(n.options.ignoreIfNotExists)))&&(n.annotationId===void 0||ns.is(n.annotationId))}o(r,"is"),t.is=r})(fv||(fv={}));(function(t){function e(r){let i=r;return i&&(i.changes!==void 0||i.documentChanges!==void 0)&&(i.documentChanges===void 0||i.documentChanges.every(n=>Xe.string(n.kind)?uv.is(n)||hv.is(n)||fv.is(n):kk.is(n)))}o(e,"is"),t.is=e})(fA||(fA={}));cv=class{static{o(this,"TextEditChangeImpl")}constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,i){let n,a;if(i===void 0?n=Ku.insert(e,r):ns.is(i)?(a=i,n=pf.insert(e,r,i)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(i),n=pf.insert(e,r,a)),this.edits.push(n),a!==void 0)return a}replace(e,r,i){let n,a;if(i===void 0?n=Ku.replace(e,r):ns.is(i)?(a=i,n=pf.replace(e,r,i)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(i),n=pf.replace(e,r,a)),this.edits.push(n),a!==void 0)return a}delete(e,r){let i,n;if(r===void 0?i=Ku.del(e):ns.is(r)?(n=r,i=pf.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),n=this.changeAnnotations.manage(r),i=pf.del(e,n)),this.edits.push(i),n!==void 0)return n}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},dA=class{static{o(this,"ChangeAnnotations")}constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let i;if(ns.is(e)?i=e:(i=this.nextId(),r=e),this._annotations[i]!==void 0)throw new Error(`Id ${i} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${i}`);return this._annotations[i]=r,this._size++,i}nextId(){return this._counter++,this._counter.toString()}},mz=class{static{o(this,"WorkspaceChange")}constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new dA(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(kk.is(r)){let i=new cv(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=i}})):e.changes&&Object.keys(e.changes).forEach(r=>{let i=new cv(e.changes[r]);this._textEditChanges[r]=i})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Ck.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let r={uri:e.uri,version:e.version},i=this._textEditChanges[r.uri];if(!i){let n=[],a={textDocument:r,edits:n};this._workspaceEdit.documentChanges.push(a),i=new cv(n,this._changeAnnotations),this._textEditChanges[r.uri]=i}return i}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let i=[];this._workspaceEdit.changes[e]=i,r=new cv(i),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new dA,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let n;Im.is(r)||ns.is(r)?n=r:i=r;let a,s;if(n===void 0?a=uv.create(e,i):(s=ns.is(n)?n:this._changeAnnotations.manage(n),a=uv.create(e,i,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,r,i,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;Im.is(i)||ns.is(i)?a=i:n=i;let s,l;if(a===void 0?s=hv.create(e,r,n):(l=ns.is(a)?a:this._changeAnnotations.manage(a),s=hv.create(e,r,n,l)),this._workspaceEdit.documentChanges.push(s),l!==void 0)return l}deleteFile(e,r,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let n;Im.is(r)||ns.is(r)?n=r:i=r;let a,s;if(n===void 0?a=fv.create(e,i):(s=ns.is(n)?n:this._changeAnnotations.manage(n),a=fv.create(e,i,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}};(function(t){function e(i){return{uri:i}}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.defined(n)&&Xe.string(n.uri)}o(r,"is"),t.is=r})(gz||(gz={}));(function(t){function e(i,n){return{uri:i,version:n}}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.defined(n)&&Xe.string(n.uri)&&Xe.integer(n.version)}o(r,"is"),t.is=r})(yz||(yz={}));(function(t){function e(i,n){return{uri:i,version:n}}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.defined(n)&&Xe.string(n.uri)&&(n.version===null||Xe.integer(n.version))}o(r,"is"),t.is=r})(Ck||(Ck={}));(function(t){function e(i,n,a,s){return{uri:i,languageId:n,version:a,text:s}}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.defined(n)&&Xe.string(n.uri)&&Xe.string(n.languageId)&&Xe.integer(n.version)&&Xe.string(n.text)}o(r,"is"),t.is=r})(vz||(vz={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let i=r;return i===t.PlainText||i===t.Markdown}o(e,"is"),t.is=e})(pA||(pA={}));(function(t){function e(r){let i=r;return Xe.objectLiteral(r)&&pA.is(i.kind)&&Xe.string(i.value)}o(e,"is"),t.is=e})(dv||(dv={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(xz||(xz={}));(function(t){t.PlainText=1,t.Snippet=2})(bz||(bz={}));(function(t){t.Deprecated=1})(Tz||(Tz={}));(function(t){function e(i,n,a){return{newText:i,insert:n,replace:a}}o(e,"create"),t.create=e;function r(i){let n=i;return n&&Xe.string(n.newText)&&Jr.is(n.insert)&&Jr.is(n.replace)}o(r,"is"),t.is=r})(kz||(kz={}));(function(t){t.asIs=1,t.adjustIndentation=2})(Cz||(Cz={}));(function(t){function e(r){let i=r;return i&&(Xe.string(i.detail)||i.detail===void 0)&&(Xe.string(i.description)||i.description===void 0)}o(e,"is"),t.is=e})(wz||(wz={}));(function(t){function e(r){return{label:r}}o(e,"create"),t.create=e})(Ez||(Ez={}));(function(t){function e(r,i){return{items:r||[],isIncomplete:!!i}}o(e,"create"),t.create=e})(Sz||(Sz={}));(function(t){function e(i){return i.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}o(e,"fromPlainText"),t.fromPlainText=e;function r(i){let n=i;return Xe.string(n)||Xe.objectLiteral(n)&&Xe.string(n.language)&&Xe.string(n.value)}o(r,"is"),t.is=r})(wk||(wk={}));(function(t){function e(r){let i=r;return!!i&&Xe.objectLiteral(i)&&(dv.is(i.contents)||wk.is(i.contents)||Xe.typedArray(i.contents,wk.is))&&(r.range===void 0||Jr.is(r.range))}o(e,"is"),t.is=e})(Az||(Az={}));(function(t){function e(r,i){return i?{label:r,documentation:i}:{label:r}}o(e,"create"),t.create=e})(_z||(_z={}));(function(t){function e(r,i,...n){let a={label:r};return Xe.defined(i)&&(a.documentation=i),Xe.defined(n)?a.parameters=n:a.parameters=[],a}o(e,"create"),t.create=e})(Dz||(Dz={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(Lz||(Lz={}));(function(t){function e(r,i){let n={range:r};return Xe.number(i)&&(n.kind=i),n}o(e,"create"),t.create=e})(Rz||(Rz={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(Nz||(Nz={}));(function(t){t.Deprecated=1})(Iz||(Iz={}));(function(t){function e(r,i,n,a,s){let l={name:r,kind:i,location:{uri:a,range:n}};return s&&(l.containerName=s),l}o(e,"create"),t.create=e})(Mz||(Mz={}));(function(t){function e(r,i,n,a){return a!==void 0?{name:r,kind:i,location:{uri:n,range:a}}:{name:r,kind:i,location:{uri:n}}}o(e,"create"),t.create=e})(Oz||(Oz={}));(function(t){function e(i,n,a,s,l,u){let h={name:i,detail:n,kind:a,range:s,selectionRange:l};return u!==void 0&&(h.children=u),h}o(e,"create"),t.create=e;function r(i){let n=i;return n&&Xe.string(n.name)&&Xe.number(n.kind)&&Jr.is(n.range)&&Jr.is(n.selectionRange)&&(n.detail===void 0||Xe.string(n.detail))&&(n.deprecated===void 0||Xe.boolean(n.deprecated))&&(n.children===void 0||Array.isArray(n.children))&&(n.tags===void 0||Array.isArray(n.tags))}o(r,"is"),t.is=r})(Pz||(Pz={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(Bz||(Bz={}));(function(t){t.Invoked=1,t.Automatic=2})(Ek||(Ek={}));(function(t){function e(i,n,a){let s={diagnostics:i};return n!=null&&(s.only=n),a!=null&&(s.triggerKind=a),s}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.defined(n)&&Xe.typedArray(n.diagnostics,Tk.is)&&(n.only===void 0||Xe.typedArray(n.only,Xe.string))&&(n.triggerKind===void 0||n.triggerKind===Ek.Invoked||n.triggerKind===Ek.Automatic)}o(r,"is"),t.is=r})(Fz||(Fz={}));(function(t){function e(i,n,a){let s={title:i},l=!0;return typeof n=="string"?(l=!1,s.kind=n):Mm.is(n)?s.command=n:s.edit=n,l&&a!==void 0&&(s.kind=a),s}o(e,"create"),t.create=e;function r(i){let n=i;return n&&Xe.string(n.title)&&(n.diagnostics===void 0||Xe.typedArray(n.diagnostics,Tk.is))&&(n.kind===void 0||Xe.string(n.kind))&&(n.edit!==void 0||n.command!==void 0)&&(n.command===void 0||Mm.is(n.command))&&(n.isPreferred===void 0||Xe.boolean(n.isPreferred))&&(n.edit===void 0||fA.is(n.edit))}o(r,"is"),t.is=r})($z||($z={}));(function(t){function e(i,n){let a={range:i};return Xe.defined(n)&&(a.data=n),a}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.defined(n)&&Jr.is(n.range)&&(Xe.undefined(n.command)||Mm.is(n.command))}o(r,"is"),t.is=r})(zz||(zz={}));(function(t){function e(i,n){return{tabSize:i,insertSpaces:n}}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.defined(n)&&Xe.uinteger(n.tabSize)&&Xe.boolean(n.insertSpaces)}o(r,"is"),t.is=r})(Gz||(Gz={}));(function(t){function e(i,n,a){return{range:i,target:n,data:a}}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.defined(n)&&Jr.is(n.range)&&(Xe.undefined(n.target)||Xe.string(n.target))}o(r,"is"),t.is=r})(Vz||(Vz={}));(function(t){function e(i,n){return{range:i,parent:n}}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.objectLiteral(n)&&Jr.is(n.range)&&(n.parent===void 0||t.is(n.parent))}o(r,"is"),t.is=r})(qz||(qz={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(Wz||(Wz={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(Uz||(Uz={}));(function(t){function e(r){let i=r;return Xe.objectLiteral(i)&&(i.resultId===void 0||typeof i.resultId=="string")&&Array.isArray(i.data)&&(i.data.length===0||typeof i.data[0]=="number")}o(e,"is"),t.is=e})(Hz||(Hz={}));(function(t){function e(i,n){return{range:i,text:n}}o(e,"create"),t.create=e;function r(i){let n=i;return n!=null&&Jr.is(n.range)&&Xe.string(n.text)}o(r,"is"),t.is=r})(Yz||(Yz={}));(function(t){function e(i,n,a){return{range:i,variableName:n,caseSensitiveLookup:a}}o(e,"create"),t.create=e;function r(i){let n=i;return n!=null&&Jr.is(n.range)&&Xe.boolean(n.caseSensitiveLookup)&&(Xe.string(n.variableName)||n.variableName===void 0)}o(r,"is"),t.is=r})(jz||(jz={}));(function(t){function e(i,n){return{range:i,expression:n}}o(e,"create"),t.create=e;function r(i){let n=i;return n!=null&&Jr.is(n.range)&&(Xe.string(n.expression)||n.expression===void 0)}o(r,"is"),t.is=r})(Xz||(Xz={}));(function(t){function e(i,n){return{frameId:i,stoppedLocation:n}}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.defined(n)&&Jr.is(i.stoppedLocation)}o(r,"is"),t.is=r})(Kz||(Kz={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}o(e,"is"),t.is=e})(mA||(mA={}));(function(t){function e(i){return{value:i}}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.objectLiteral(n)&&(n.tooltip===void 0||Xe.string(n.tooltip)||dv.is(n.tooltip))&&(n.location===void 0||bk.is(n.location))&&(n.command===void 0||Mm.is(n.command))}o(r,"is"),t.is=r})(gA||(gA={}));(function(t){function e(i,n,a){let s={position:i,label:n};return a!==void 0&&(s.kind=a),s}o(e,"create"),t.create=e;function r(i){let n=i;return Xe.objectLiteral(n)&&oi.is(n.position)&&(Xe.string(n.label)||Xe.typedArray(n.label,gA.is))&&(n.kind===void 0||mA.is(n.kind))&&n.textEdits===void 0||Xe.typedArray(n.textEdits,Ku.is)&&(n.tooltip===void 0||Xe.string(n.tooltip)||dv.is(n.tooltip))&&(n.paddingLeft===void 0||Xe.boolean(n.paddingLeft))&&(n.paddingRight===void 0||Xe.boolean(n.paddingRight))}o(r,"is"),t.is=r})(Qz||(Qz={}));(function(t){function e(r){return{kind:"snippet",value:r}}o(e,"createSnippet"),t.createSnippet=e})(Zz||(Zz={}));(function(t){function e(r,i,n,a){return{insertText:r,filterText:i,range:n,command:a}}o(e,"create"),t.create=e})(Jz||(Jz={}));(function(t){function e(r){return{items:r}}o(e,"create"),t.create=e})(eG||(eG={}));(function(t){t.Invoked=0,t.Automatic=1})(tG||(tG={}));(function(t){function e(r,i){return{range:r,text:i}}o(e,"create"),t.create=e})(rG||(rG={}));(function(t){function e(r,i){return{triggerKind:r,selectedCompletionInfo:i}}o(e,"create"),t.create=e})(iG||(iG={}));(function(t){function e(r){let i=r;return Xe.objectLiteral(i)&&cA.is(i.uri)&&Xe.string(i.name)}o(e,"is"),t.is=e})(nG||(nG={}));mst=[` -`,`\r -`,"\r"];(function(t){function e(a,s,l,u){return new sG(a,s,l,u)}o(e,"create"),t.create=e;function r(a){let s=a;return!!(Xe.defined(s)&&Xe.string(s.uri)&&(Xe.undefined(s.languageId)||Xe.string(s.languageId))&&Xe.uinteger(s.lineCount)&&Xe.func(s.getText)&&Xe.func(s.positionAt)&&Xe.func(s.offsetAt))}o(r,"is"),t.is=r;function i(a,s){let l=a.getText(),u=n(s,(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),h=l.length;for(let f=u.length-1;f>=0;f--){let d=u[f],p=a.offsetAt(d.range.start),m=a.offsetAt(d.range.end);if(m<=h)l=l.substring(0,p)+d.newText+l.substring(m,l.length);else throw new Error("Overlapping edit");h=p}return l}o(i,"applyEdits"),t.applyEdits=i;function n(a,s){if(a.length<=1)return a;let l=a.length/2|0,u=a.slice(0,l),h=a.slice(l);n(u,s),n(h,s);let f=0,d=0,p=0;for(;f0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),i=0,n=r.length;if(n===0)return oi.create(0,e);for(;ie?n=s:i=s+1}let a=i-1;return oi.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let i=r[e.line],n=e.line+1"u"}o(i,"undefined"),t.undefined=i;function n(m){return m===!0||m===!1}o(n,"boolean"),t.boolean=n;function a(m){return e.call(m)==="[object String]"}o(a,"string"),t.string=a;function s(m){return e.call(m)==="[object Number]"}o(s,"number"),t.number=s;function l(m,g,y){return e.call(m)==="[object Number]"&&g<=m&&m<=y}o(l,"numberRange"),t.numberRange=l;function u(m){return e.call(m)==="[object Number]"&&-2147483648<=m&&m<=2147483647}o(u,"integer"),t.integer=u;function h(m){return e.call(m)==="[object Number]"&&0<=m&&m<=2147483647}o(h,"uinteger"),t.uinteger=h;function f(m){return e.call(m)==="[object Function]"}o(f,"func"),t.func=f;function d(m){return m!==null&&typeof m=="object"}o(d,"objectLiteral"),t.objectLiteral=d;function p(m,g){return Array.isArray(m)&&m.every(g)}o(p,"typedArray"),t.typedArray=p})(Xe||(Xe={}))});var Sk,Ak,Om,Pm,oG,mv,vA=P(()=>{"use strict";pv();Bc();Sk=class{static{o(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new mv(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new Pm;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let i=new Om(e.startOffset,e.image.length,Py(e),e.tokenType,!r);return i.grammarSource=r,i.root=this.rootNode,this.current.content.push(i),i}removeNode(e){let r=e.container;if(r){let i=r.content.indexOf(e);i>=0&&r.content.splice(i,1)}}addHiddenNodes(e){let r=[];for(let a of e){let s=new Om(a.startOffset,a.image.length,Py(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let i=this.current,n=!1;if(i.content.length>0){i.content.push(...r);return}for(;i.container;){let a=i.container.content.indexOf(i);if(a>0){i.container.content.splice(a,0,...r),n=!0;break}i=i.container}n||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&!e.$infix&&(this.current.astNode=e),e.$cstNode=r;let i=this.nodeStack.pop();i?.content.length===0&&this.removeNode(i)}},Ak=class{static{o(this,"AbstractCstNode")}get hidden(){return!1}get astNode(){let e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},Om=class extends Ak{static{o(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,i,n,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=n,this._length=r,this._range=i}},Pm=class extends Ak{static{o(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new oG(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:i}=e,{range:n}=r;this._rangeCache={start:i.start,end:n.end.line=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},oG=class t extends Array{static{o(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...i){return this.addParents(i),super.splice(e,r,...i)}addParents(e){for(let r of e)r.container=this.parent}},mv=class extends Pm{static{o(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}});function lG(t){return t.$type===xA}var xA,t2e,r2e,_k,Dk,bA,gv,Lk,gst,TA,cG,Rk=P(()=>{"use strict";ol();sp();e2e();ol();Vc();Ts();vA();xA=Symbol("Datatype");o(lG,"isDataTypeNode");t2e="\u200B",r2e=o(t=>t.endsWith(t2e)?t:t+t2e,"withRuleSuffix"),_k=class{static{o(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let r=this.lexer.definition,i=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new cG(r,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new TA(r,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},Dk=class extends _k{static{o(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Sk,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let i=this.computeRuleType(e),n;tp(e)&&(n=e.name,this.registerPrecedenceMap(e));let a=this.wrapper.DEFINE_RULE(r2e(e.name),this.startImplementation(i,n,r).bind(this));return this.allRules.set(e.name,a),Ba(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){let r=e.name,i=new Map;for(let n=0;n0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,i){return n=>{let a=!this.isRecording()&&e!==void 0;if(a){let s={$type:e};this.stack.push(s),e===xA?s.value="":r!==void 0&&(s.$infixName=r)}return i(n),a?this.construct():void 0}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let i=e.startOffset;for(let n=0;ni)return r.splice(0,n);return r.splice(0,r.length)}consume(e,r,i){let n=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(n)){let a=this.extractHiddenTokens(n);this.nodeBuilder.addHiddenNodes(a);let s=this.nodeBuilder.buildLeafNode(n,i),{assignment:l,crossRef:u}=this.getAssignment(i),h=this.current;if(l){let f=Hl(i)?n.image:this.converter.convert(n.image,s);this.assign(l.operator,l.feature,f,s,u)}else if(lG(h)){let f=n.image;Hl(i)||(f=this.converter.convert(f,s).toString()),h.value+=f}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,i,n,a){let s;!this.isRecording()&&!i&&(s=this.nodeBuilder.buildCompositeNode(n));let l;try{l=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(l===void 0&&!i&&(l=this.construct()),l!==void 0&&s&&s.length>0&&this.performSubruleAssignment(l,n,s))}}performSubruleAssignment(e,r,i){let{assignment:n,crossRef:a}=this.getAssignment(r);if(n)this.assign(n.operator,n.feature,e,i,a);else if(!n){let s=this.current;if(lG(s))s.value+=e.toString();else if(typeof e=="object"&&e){let u=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(u)}}}action(e,r){if(!this.isRecording()){let i=this.current;if(r.feature&&r.operator){i=this.construct(),this.nodeBuilder.removeNode(i.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(i.$cstNode);let a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,i,i.$cstNode)}else i.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):lG(e)?this.converter.convert(e.value,e.$cstNode):(LF(this.astReflection,e),e)}constructInfix(e,r){let i=e.parts;if(!Array.isArray(i)||i.length===0)return;let n=e.operators;if(!Array.isArray(n)||i.length<2)return i[0];let a=0,s=-1;for(let y=0;ys?(s=x.precedence,a=y):x.precedence===s&&(x.rightAssoc||(a=y))}let l=n.slice(0,a),u=n.slice(a+1),h=i.slice(0,a+1),f=i.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:h,operators:l},p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:f,operators:u},m=this.constructInfix(d,r),g=this.constructInfix(p,r);return{$type:e.$type,$cstNode:e.$cstNode,left:m,operator:n[a],right:g}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=ef(e,$c);this.assignmentMap.set(e,{assignment:r,crossRef:r&&zc(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,i,n,a){let s=this.current,l;switch(a==="single"&&typeof i=="string"?l=this.linker.buildReference(s,r,n,i):a==="multi"&&typeof i=="string"?l=this.linker.buildMultiReference(s,r,n,i):l=i,e){case"=":{s[r]=l;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(l)}}assignWithoutOverride(e,r){for(let[n,a]of Object.entries(r)){let s=e[n];s===void 0?e[n]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[n]=a)}let i=e.$cstNode;return i&&(i.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},bA=class{static{o(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return ff.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return ff.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return ff.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return ff.buildEarlyExitMessage(e)}},gv=class extends bA{static{o(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},Lk=class extends _k{static{o(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let i=this.wrapper.DEFINE_RULE(r2e(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,i),e.entry&&(this.mainRule=i),i}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let i=this.keepStackSize();try{e(r)}finally{this.resetStackSize(i)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,i){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,i],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,i,n,a){this.before(n),this.wrapper.wrapSubrule(e,r,a),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},gst={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new gv},TA=class extends pk{static{o(this,"ChevrotainWrapper")}constructor(e,r){let i=r&&"maxLookahead"in r;super(e,{...gst,lookaheadStrategy:i?new df({maxLookahead:r.maxLookahead}):new vk({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,i){return this.RULE(e,r,i)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,i){return this.subrule(e,r,{ARGS:[i]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}},cG=class extends TA{static{o(this,"ProfilerWrapper")}constructor(e,r,i){super(e,r),this.task=i}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,i){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,i)}finally{this.task.stopSubTask(this.ruleName(r))}}}});function Nk(t,e,r){return yst({parser:e,tokens:r,ruleNames:new Map},t),e}function yst(t,e){let r=HT(e,!1),i=jr(e.rules).filter(Ba).filter(a=>r.has(a));for(let a of i){let s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,Bm(s,a.definition))}let n=jr(e.rules).filter(tp).filter(a=>r.has(a));for(let a of n)t.parser.rule(a,vst(t,a))}function vst(t,e){let r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Xs(r))throw new Error("Cannot use terminal rule in infix expression");let i=e.operators.precedences.flatMap(m=>m.operators),n={$type:"Group",elements:[]},a={$container:n,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:n,$type:"Group",elements:[],cardinality:"*"};n.elements.push(a,s);let u={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:i}},h={...a,$container:s};s.elements.push(u,h);let d=i.map(m=>t.tokens[m.value]).map((m,g)=>({ALT:o(()=>t.parser.consume(g,m,u),"ALT")})),p;return m=>{p??(p=hG(t,r)),t.parser.subrule(0,p,!1,a,m),t.parser.many(0,{DEF:o(()=>{t.parser.alternatives(0,d),t.parser.subrule(1,p,!1,h,m)},"DEF")})}}function Bm(t,e,r=!1){let i;if(Hl(e))i=Est(t,e);else if(af(e))i=xst(t,e);else if($c(e))i=Bm(t,e.terminal);else if(zc(e))i=i2e(t,e);else if(Gc(e))i=bst(t,e);else if(c6(e))i=kst(t,e);else if(d6(e))i=Cst(t,e);else if(ep(e))i=wst(t,e);else if(BF(e)){let n=t.consume++;i=o(()=>t.parser.consume(n,cl,e),"method")}else throw new Tm(e.$cstNode,`Unexpected element type: ${e.$type}`);return n2e(t,r?void 0:kA(e),i,e.cardinality)}function xst(t,e){let r=ip(e);return()=>t.parser.action(r,e)}function bst(t,e){let r=e.rule.ref;if(nf(r)){let i=t.subrule++,n=Ba(r)&&r.fragment,a=e.arguments.length>0?Tst(r,e.arguments):()=>({}),s;return l=>{s??(s=hG(t,r)),t.parser.subrule(i,s,n,e,a(l))}}else if(Xs(r)){let i=t.consume++,n=uG(t,r.name);return()=>t.parser.consume(i,n,e)}else if(r)Yu(r);else throw new Tm(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function Tst(t,e){if(e.some(i=>i.calledByName)){let i=e.map(n=>({parameterName:n.parameter?.ref?.name,predicate:Qu(n.value)}));return n=>{let a={};for(let{parameterName:s,predicate:l}of i)s&&(a[s]=l(n));return a}}else{let i=e.map(n=>Qu(n.value));return n=>{let a={};for(let s=0;se(i)||r(i)}else if(OF(t)){let e=Qu(t.left),r=Qu(t.right);return i=>e(i)&&r(i)}else if(zF(t)){let e=Qu(t.value);return r=>!e(r)}else if(GF(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(IF(t)){let e=!!t.true;return()=>e}Yu(t)}function kst(t,e){if(e.elements.length===1)return Bm(t,e.elements[0]);{let r=[];for(let n of e.elements){let a={ALT:Bm(t,n,!0)},s=kA(n);s&&(a.GATE=Qu(s)),r.push(a)}let i=t.or++;return n=>t.parser.alternatives(i,r.map(a=>{let s={ALT:o(()=>a.ALT(n),"ALT")},l=a.GATE;return l&&(s.GATE=()=>l(n)),s}))}}function Cst(t,e){if(e.elements.length===1)return Bm(t,e.elements[0]);let r=[];for(let l of e.elements){let u={ALT:Bm(t,l,!0)},h=kA(l);h&&(u.GATE=Qu(h)),r.push(u)}let i=t.or++,n=o((l,u)=>{let h=u.getRuleStack().join("-");return`uGroup_${l}_${h}`},"idFunc"),a=o(l=>t.parser.alternatives(i,r.map((u,h)=>{let f={ALT:o(()=>!0,"ALT")},d=t.parser;f.ALT=()=>{if(u.ALT(l),!d.isRecording()){let m=n(i,d);d.unorderedGroups.get(m)||d.unorderedGroups.set(m,[]);let g=d.unorderedGroups.get(m);typeof g?.[h]>"u"&&(g[h]=!0)}};let p=u.GATE;return p?f.GATE=()=>p(l):f.GATE=()=>!d.unorderedGroups.get(n(i,d))?.[h],f})),"alternatives"),s=n2e(t,kA(e),a,"*");return l=>{s(l),t.parser.isRecording()||t.parser.unorderedGroups.delete(n(i,t.parser))}}function wst(t,e){let r=e.elements.map(i=>Bm(t,i));return i=>r.forEach(n=>n(i))}function kA(t){if(ep(t))return t.guardCondition}function i2e(t,e,r=e.terminal){if(r)if(Gc(r)&&Ba(r.rule.ref)){let i=r.rule.ref,n=t.subrule++,a;return s=>{a??(a=hG(t,i)),t.parser.subrule(n,a,!1,e,s)}}else if(Gc(r)&&Xs(r.rule.ref)){let i=t.consume++,n=uG(t,r.rule.ref.name);return()=>t.parser.consume(i,n,e)}else if(Hl(r)){let i=t.consume++,n=uG(t,r.value);return()=>t.parser.consume(i,n,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let n=b6(e.type.ref)?.terminal;if(!n)throw new Error("Could not find name assignment for type: "+ip(e.type.ref));return i2e(t,e,n)}}function Est(t,e){let r=t.consume++,i=t.tokens[e.value];if(!i)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,i,e)}function n2e(t,e,r,i){let n=e&&Qu(e);if(!i)if(n){let a=t.or++;return s=>t.parser.alternatives(a,[{ALT:o(()=>r(s),"ALT"),GATE:o(()=>n(s),"GATE")},{ALT:sA(),GATE:o(()=>!n(s),"GATE")}])}else return r;if(i==="*"){let a=t.many++;return s=>t.parser.many(a,{DEF:o(()=>r(s),"DEF"),GATE:n?()=>n(s):void 0})}else if(i==="+"){let a=t.many++;if(n){let s=t.or++;return l=>t.parser.alternatives(s,[{ALT:o(()=>t.parser.atLeastOne(a,{DEF:o(()=>r(l),"DEF")}),"ALT"),GATE:o(()=>n(l),"GATE")},{ALT:sA(),GATE:o(()=>!n(l),"GATE")}])}else return s=>t.parser.atLeastOne(a,{DEF:o(()=>r(s),"DEF")})}else if(i==="?"){let a=t.optional++;return s=>t.parser.optional(a,{DEF:o(()=>r(s),"DEF"),GATE:n?()=>n(s):void 0})}else Yu(i)}function hG(t,e){let r=Sst(t,e),i=t.parser.getRule(r);if(!i)throw new Error(`Rule "${r}" not found."`);return i}function Sst(t,e){if(nf(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,i=r.$container,n=e.$type;for(;!Ba(i);)(ep(i)||c6(i)||d6(i))&&(n=i.elements.indexOf(r).toString()+":"+n),r=i,i=i.$container;return n=i.name+":"+n,t.ruleNames.set(e,n),n}}function uG(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}var CA=P(()=>{"use strict";sp();ol();g6();Ys();Vc();o(Nk,"createParser");o(yst,"buildRules");o(vst,"buildInfixRule");o(Bm,"buildElement");o(xst,"buildAction");o(bst,"buildRuleCall");o(Tst,"buildRuleCallPredicate");o(Qu,"buildPredicate");o(kst,"buildAlternatives");o(Cst,"buildUnorderedGroup");o(wst,"buildGroup");o(kA,"getGuardCondition");o(i2e,"buildCrossReference");o(Est,"buildKeyword");o(n2e,"wrap");o(hG,"getRule");o(Sst,"getRuleName");o(uG,"getToken")});function fG(t){let e=t.Grammar,r=t.parser.Lexer,i=new Lk(t);return Nk(e,i,r.definition),i.finalize(),i}var dG=P(()=>{"use strict";Rk();CA();o(fG,"createCompletionParser")});function pG(t){let e=a2e(t);return e.finalize(),e}function a2e(t){let e=t.Grammar,r=t.parser.Lexer,i=new Dk(t);return Nk(e,i,r.definition)}var mG=P(()=>{"use strict";Rk();CA();o(pG,"createLangiumParser");o(a2e,"prepareLangiumParser")});var mf,wA=P(()=>{"use strict";sp();ol();Ts();Vc();Fy();Ys();mf=class{static{o(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,r){let i=jr(HT(e,!1)),n=this.buildTerminalTokens(i),a=this.buildKeywordTokens(i,n,r);return a.push(...n),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Xs).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=$y(e),i=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,n={name:e.name,PATTERN:i};return typeof i=="function"&&(n.LINE_BREAKS=!0),e.hidden&&(n.GROUP=UT(r)?yn.SKIPPED:"hidden"),n}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(i,n)=>(r.lastIndex=n,r.exec(i))}buildKeywordTokens(e,r,i){return e.filter(nf).flatMap(n=>Pc(n).filter(Hl)).distinct(n=>n.value).toArray().sort((n,a)=>a.value.length-n.value.length).map(n=>this.buildKeywordToken(n,r,!!i?.caseInsensitive))}buildKeywordToken(e,r,i){let n=this.buildKeywordPattern(e,i),a={name:e.value,PATTERN:n,LONGER_ALT:this.findLongerAlt(e,r)};return typeof n=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(rp(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((i,n)=>{let a=n?.PATTERN;return a?.source&&s$("^"+a.source+"$",e.value)&&i.push(n),i},[])}}});var Fm,Zu,gG=P(()=>{"use strict";ol();Vc();Fm=class{static{o(this,"DefaultValueConverter")}convert(e,r){let i=r.grammarSource;if(zc(i)&&(i=c$(i)),Gc(i)){let n=i.rule.ref;if(!n)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(n,e,r)}return e}runConverter(e,r,i){switch(e.name.toUpperCase()){case"INT":return Zu.convertInt(r);case"STRING":return Zu.convertString(r);case"ID":return Zu.convertID(r)}switch(g$(e)?.toLowerCase()){case"number":return Zu.convertNumber(r);case"boolean":return Zu.convertBoolean(r);case"bigint":return Zu.convertBigint(r);case"date":return Zu.convertDate(r);default:return r}}};(function(t){function e(h){let f="";for(let d=1;d{"use strict";Object.defineProperty(xG,"__esModule",{value:!0});var yG;function vG(){if(yG===void 0)throw new Error("No runtime abstraction layer installed");return yG}o(vG,"RAL");(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");yG=r}o(e,"install"),t.install=e})(vG||(vG={}));xG.default=vG});var yv=ar(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.stringArray=ks.array=ks.func=ks.error=ks.number=ks.string=ks.boolean=void 0;function Ast(t){return t===!0||t===!1}o(Ast,"boolean");ks.boolean=Ast;function s2e(t){return typeof t=="string"||t instanceof String}o(s2e,"string");ks.string=s2e;function _st(t){return typeof t=="number"||t instanceof Number}o(_st,"number");ks.number=_st;function Dst(t){return t instanceof Error}o(Dst,"error");ks.error=Dst;function Lst(t){return typeof t=="function"}o(Lst,"func");ks.func=Lst;function o2e(t){return Array.isArray(t)}o(o2e,"array");ks.array=o2e;function Rst(t){return o2e(t)&&t.every(e=>s2e(e))}o(Rst,"stringArray");ks.stringArray=Rst});var $m=ar(vv=>{"use strict";Object.defineProperty(vv,"__esModule",{value:!0});vv.Emitter=vv.Event=void 0;var Nst=cp(),l2e;(function(t){let e={dispose(){}};t.None=function(){return e}})(l2e||(vv.Event=l2e={}));var bG=class{static{o(this,"CallbackList")}add(e,r=null,i){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(i)&&i.push({dispose:o(()=>this.remove(e,r),"dispose")})}remove(e,r=null){if(!this._callbacks)return;let i=!1;for(let n=0,a=this._callbacks.length;n{this._callbacks||(this._callbacks=new bG),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let n={dispose:o(()=>{this._callbacks&&(this._callbacks.remove(e,r),n.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(i)&&i.push(n),n}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};vv.Emitter=EA;EA._noop=function(){}});var Ik=ar(xv=>{"use strict";Object.defineProperty(xv,"__esModule",{value:!0});xv.CancellationTokenSource=xv.CancellationToken=void 0;var Ist=cp(),Mst=yv(),TG=$m(),SA;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:TG.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:TG.Event.None});function e(r){let i=r;return i&&(i===t.None||i===t.Cancelled||Mst.boolean(i.isCancellationRequested)&&!!i.onCancellationRequested)}o(e,"is"),t.is=e})(SA||(xv.CancellationToken=SA={}));var Ost=Object.freeze(function(t,e){let r=(0,Ist.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),AA=class{static{o(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Ost:(this._emitter||(this._emitter=new TG.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},kG=class{static{o(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new AA),this._token}cancel(){this._token?this._token.cancel():this._token=SA.Cancelled}dispose(){this._token?this._token instanceof AA&&this._token.dispose():this._token=SA.None}};xv.CancellationTokenSource=kG});var $r={};var Yl=P(()=>{"use strict";Kr($r,Wa(Ik(),1))});function CG(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}function DA(){return _A=performance.now(),new $r.CancellationTokenSource}function u2e(t){c2e=t}function Ju(t){return t===jl}async function Dn(t){if(t===$r.CancellationToken.None)return;let e=performance.now();if(e-_A>=c2e&&(_A=e,await CG(),_A=performance.now()),t.isCancellationRequested)throw jl}var _A,c2e,jl,eo,Xl=P(()=>{"use strict";Yl();o(CG,"delayNextTick");_A=0,c2e=10;o(DA,"startCancelableOperation");o(u2e,"setInterruptionPeriod");jl=Symbol("OperationCancelled");o(Ju,"isOperationCancelled");o(Dn,"interruptAndCheck");eo=class{static{o(this,"Deferred")}constructor(){this.promise=new Promise((e,r)=>{this.resolve=i=>(e(i),this),this.reject=i=>(r(i),this)})}}});function wG(t,e){if(t.length<=1)return t;let r=t.length/2|0,i=t.slice(0,r),n=t.slice(r);wG(i,e),wG(n,e);let a=0,s=0,l=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function Pst(t){let e=d2e(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var LA,bv,p2e=P(()=>{"use strict";LA=class t{static{o(this,"FullTextDocument")}constructor(e,r,i,n){this._uri=e,this._languageId=r,this._version=i,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),i=this.offsetAt(e.end);return this._content.substring(r,i)}return this._content}update(e,r){for(let i of e)if(t.isIncremental(i)){let n=d2e(i.range),a=this.offsetAt(n.start),s=this.offsetAt(n.end);this._content=this._content.substring(0,a)+i.text+this._content.substring(s,this._content.length);let l=Math.max(n.start.line,0),u=Math.max(n.end.line,0),h=this._lineOffsets,f=h2e(i.text,!1,a);if(u-l===f.length)for(let p=0,m=f.length;pe?n=s:i=s+1}let a=i-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let i=r[e.line];if(e.character<=0)return i;let n=e.line+1r&&f2e(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}};(function(t){function e(n,a,s,l){return new LA(n,a,s,l)}o(e,"create"),t.create=e;function r(n,a,s){if(n instanceof LA)return n.update(a,s),n;throw new Error("TextDocument.update: document must be created by TextDocument.create")}o(r,"update"),t.update=r;function i(n,a){let s=n.getText(),l=wG(a.map(Pst),(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),u=0,h=[];for(let f of l){let d=n.offsetAt(f.range.start);if(du&&h.push(s.substring(u,d)),f.newText.length&&h.push(f.newText),u=n.offsetAt(f.range.end)}return h.push(s.substr(u)),h.join("")}o(i,"applyEdits"),t.applyEdits=i})(bv||(bv={}));o(wG,"mergeSort");o(h2e,"computeLineOffsets");o(f2e,"isEOL");o(d2e,"getWellformedRange");o(Pst,"getWellformedEdit")});var m2e,va,Tv,EG=P(()=>{"use strict";(()=>{"use strict";var t={975:I=>{function A(N){if(typeof N!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(N))}o(A,"e");function _(N,R){for(var B,O="",$=0,z=-1,F=0,V=0;V<=N.length;++V){if(V2){var H=O.lastIndexOf("/");if(H!==O.length-1){H===-1?(O="",$=0):$=(O=O.slice(0,H)).length-1-O.lastIndexOf("/"),z=V,F=0;continue}}else if(O.length===2||O.length===1){O="",$=0,z=V,F=0;continue}}R&&(O.length>0?O+="/..":O="..",$=2)}else O.length>0?O+="/"+N.slice(z+1,V):O=N.slice(z+1,V),$=V-z-1;z=V,F=0}else B===46&&F!==-1?++F:F=-1}return O}o(_,"r");var D={resolve:o(function(){for(var N,R="",B=!1,O=arguments.length-1;O>=-1&&!B;O--){var $;O>=0?$=arguments[O]:(N===void 0&&(N=process.cwd()),$=N),A($),$.length!==0&&(R=$+"/"+R,B=$.charCodeAt(0)===47)}return R=_(R,!B),B?R.length>0?"/"+R:"/":R.length>0?R:"."},"resolve"),normalize:o(function(N){if(A(N),N.length===0)return".";var R=N.charCodeAt(0)===47,B=N.charCodeAt(N.length-1)===47;return(N=_(N,!R)).length!==0||R||(N="."),N.length>0&&B&&(N+="/"),R?"/"+N:N},"normalize"),isAbsolute:o(function(N){return A(N),N.length>0&&N.charCodeAt(0)===47},"isAbsolute"),join:o(function(){if(arguments.length===0)return".";for(var N,R=0;R0&&(N===void 0?N=B:N+="/"+B)}return N===void 0?".":D.normalize(N)},"join"),relative:o(function(N,R){if(A(N),A(R),N===R||(N=D.resolve(N))===(R=D.resolve(R)))return"";for(var B=1;BV){if(R.charCodeAt(z+X)===47)return R.slice(z+X+1);if(X===0)return R.slice(z+X)}else $>V&&(N.charCodeAt(B+X)===47?H=X:X===0&&(H=0));break}var W=N.charCodeAt(B+X);if(W!==R.charCodeAt(z+X))break;W===47&&(H=X)}var Z="";for(X=B+H+1;X<=O;++X)X!==O&&N.charCodeAt(X)!==47||(Z.length===0?Z+="..":Z+="/..");return Z.length>0?Z+R.slice(z+H):(z+=H,R.charCodeAt(z)===47&&++z,R.slice(z))},"relative"),_makeLong:o(function(N){return N},"_makeLong"),dirname:o(function(N){if(A(N),N.length===0)return".";for(var R=N.charCodeAt(0),B=R===47,O=-1,$=!0,z=N.length-1;z>=1;--z)if((R=N.charCodeAt(z))===47){if(!$){O=z;break}}else $=!1;return O===-1?B?"/":".":B&&O===1?"//":N.slice(0,O)},"dirname"),basename:o(function(N,R){if(R!==void 0&&typeof R!="string")throw new TypeError('"ext" argument must be a string');A(N);var B,O=0,$=-1,z=!0;if(R!==void 0&&R.length>0&&R.length<=N.length){if(R.length===N.length&&R===N)return"";var F=R.length-1,V=-1;for(B=N.length-1;B>=0;--B){var H=N.charCodeAt(B);if(H===47){if(!z){O=B+1;break}}else V===-1&&(z=!1,V=B+1),F>=0&&(H===R.charCodeAt(F)?--F==-1&&($=B):(F=-1,$=V))}return O===$?$=V:$===-1&&($=N.length),N.slice(O,$)}for(B=N.length-1;B>=0;--B)if(N.charCodeAt(B)===47){if(!z){O=B+1;break}}else $===-1&&(z=!1,$=B+1);return $===-1?"":N.slice(O,$)},"basename"),extname:o(function(N){A(N);for(var R=-1,B=0,O=-1,$=!0,z=0,F=N.length-1;F>=0;--F){var V=N.charCodeAt(F);if(V!==47)O===-1&&($=!1,O=F+1),V===46?R===-1?R=F:z!==1&&(z=1):R!==-1&&(z=-1);else if(!$){B=F+1;break}}return R===-1||O===-1||z===0||z===1&&R===O-1&&R===B+1?"":N.slice(R,O)},"extname"),format:o(function(N){if(N===null||typeof N!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof N);return(function(R,B){var O=B.dir||B.root,$=B.base||(B.name||"")+(B.ext||"");return O?O===B.root?O+$:O+"/"+$:$})(0,N)},"format"),parse:o(function(N){A(N);var R={root:"",dir:"",base:"",ext:"",name:""};if(N.length===0)return R;var B,O=N.charCodeAt(0),$=O===47;$?(R.root="/",B=1):B=0;for(var z=-1,F=0,V=-1,H=!0,X=N.length-1,W=0;X>=B;--X)if((O=N.charCodeAt(X))!==47)V===-1&&(H=!1,V=X+1),O===46?z===-1?z=X:W!==1&&(W=1):z!==-1&&(W=-1);else if(!H){F=X+1;break}return z===-1||V===-1||W===0||W===1&&z===V-1&&z===F+1?V!==-1&&(R.base=R.name=F===0&&$?N.slice(1,V):N.slice(F,V)):(F===0&&$?(R.name=N.slice(1,z),R.base=N.slice(1,V)):(R.name=N.slice(F,z),R.base=N.slice(F,V)),R.ext=N.slice(z,V)),F>0?R.dir=N.slice(0,F-1):$&&(R.dir="/"),R},"parse"),sep:"/",delimiter:":",win32:null,posix:null};D.posix=D,I.exports=D}},e={};function r(I){var A=e[I];if(A!==void 0)return A.exports;var _=e[I]={exports:{}};return t[I](_,_.exports,r),_.exports}o(r,"r"),r.d=(I,A)=>{for(var _ in A)r.o(A,_)&&!r.o(I,_)&&Object.defineProperty(I,_,{enumerable:!0,get:A[_]})},r.o=(I,A)=>Object.prototype.hasOwnProperty.call(I,A),r.r=I=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(I,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(I,"__esModule",{value:!0})};var i={};let n;r.r(i),r.d(i,{URI:o(()=>p,"URI"),Utils:o(()=>M,"Utils")}),typeof process=="object"?n=process.platform==="win32":typeof navigator=="object"&&(n=navigator.userAgent.indexOf("Windows")>=0);let a=/^\w[\w\d+.-]*$/,s=/^\//,l=/^\/\//;function u(I,A){if(!I.scheme&&A)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${I.authority}", path: "${I.path}", query: "${I.query}", fragment: "${I.fragment}"}`);if(I.scheme&&!a.test(I.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(I.path){if(I.authority){if(!s.test(I.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(l.test(I.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}o(u,"a");let h="",f="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class p{static{o(this,"l")}static isUri(A){return A instanceof p||!!A&&typeof A.authority=="string"&&typeof A.fragment=="string"&&typeof A.path=="string"&&typeof A.query=="string"&&typeof A.scheme=="string"&&typeof A.fsPath=="string"&&typeof A.with=="function"&&typeof A.toString=="function"}scheme;authority;path;query;fragment;constructor(A,_,D,N,R,B=!1){typeof A=="object"?(this.scheme=A.scheme||h,this.authority=A.authority||h,this.path=A.path||h,this.query=A.query||h,this.fragment=A.fragment||h):(this.scheme=(function(O,$){return O||$?O:"file"})(A,B),this.authority=_||h,this.path=(function(O,$){switch(O){case"https":case"http":case"file":$?$[0]!==f&&($=f+$):$=f}return $})(this.scheme,D||h),this.query=N||h,this.fragment=R||h,u(this,B))}get fsPath(){return b(this,!1)}with(A){if(!A)return this;let{scheme:_,authority:D,path:N,query:R,fragment:B}=A;return _===void 0?_=this.scheme:_===null&&(_=h),D===void 0?D=this.authority:D===null&&(D=h),N===void 0?N=this.path:N===null&&(N=h),R===void 0?R=this.query:R===null&&(R=h),B===void 0?B=this.fragment:B===null&&(B=h),_===this.scheme&&D===this.authority&&N===this.path&&R===this.query&&B===this.fragment?this:new g(_,D,N,R,B)}static parse(A,_=!1){let D=d.exec(A);return D?new g(D[2]||h,C(D[4]||h),C(D[5]||h),C(D[7]||h),C(D[9]||h),_):new g(h,h,h,h,h)}static file(A){let _=h;if(n&&(A=A.replace(/\\/g,f)),A[0]===f&&A[1]===f){let D=A.indexOf(f,2);D===-1?(_=A.substring(2),A=f):(_=A.substring(2,D),A=A.substring(D)||f)}return new g("file",_,A,h,h)}static from(A){let _=new g(A.scheme,A.authority,A.path,A.query,A.fragment);return u(_,!0),_}toString(A=!1){return T(this,A)}toJSON(){return this}static revive(A){if(A){if(A instanceof p)return A;{let _=new g(A);return _._formatted=A.external,_._fsPath=A._sep===m?A.fsPath:null,_}}return A}}let m=n?1:void 0;class g extends p{static{o(this,"d")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath}toString(A=!1){return A?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){let A={$mid:1};return this._fsPath&&(A.fsPath=this._fsPath,A._sep=m),this._formatted&&(A.external=this._formatted),this.path&&(A.path=this.path),this.scheme&&(A.scheme=this.scheme),this.authority&&(A.authority=this.authority),this.query&&(A.query=this.query),this.fragment&&(A.fragment=this.fragment),A}}let y={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function v(I,A,_){let D,N=-1;for(let R=0;R=97&&B<=122||B>=65&&B<=90||B>=48&&B<=57||B===45||B===46||B===95||B===126||A&&B===47||_&&B===91||_&&B===93||_&&B===58)N!==-1&&(D+=encodeURIComponent(I.substring(N,R)),N=-1),D!==void 0&&(D+=I.charAt(R));else{D===void 0&&(D=I.substr(0,R));let O=y[B];O!==void 0?(N!==-1&&(D+=encodeURIComponent(I.substring(N,R)),N=-1),D+=O):N===-1&&(N=R)}}return N!==-1&&(D+=encodeURIComponent(I.substring(N))),D!==void 0?D:I}o(v,"m");function x(I){let A;for(let _=0;_1&&I.scheme==="file"?`//${I.authority}${I.path}`:I.path.charCodeAt(0)===47&&(I.path.charCodeAt(1)>=65&&I.path.charCodeAt(1)<=90||I.path.charCodeAt(1)>=97&&I.path.charCodeAt(1)<=122)&&I.path.charCodeAt(2)===58?A?I.path.substr(1):I.path[1].toLowerCase()+I.path.substr(2):I.path,n&&(_=_.replace(/\//g,"\\")),_}o(b,"v");function T(I,A){let _=A?x:v,D="",{scheme:N,authority:R,path:B,query:O,fragment:$}=I;if(N&&(D+=N,D+=":"),(R||N==="file")&&(D+=f,D+=f),R){let z=R.indexOf("@");if(z!==-1){let F=R.substr(0,z);R=R.substr(z+1),z=F.lastIndexOf(":"),z===-1?D+=_(F,!1,!1):(D+=_(F.substr(0,z),!1,!1),D+=":",D+=_(F.substr(z+1),!1,!0)),D+="@"}R=R.toLowerCase(),z=R.lastIndexOf(":"),z===-1?D+=_(R,!1,!0):(D+=_(R.substr(0,z),!1,!0),D+=R.substr(z))}if(B){if(B.length>=3&&B.charCodeAt(0)===47&&B.charCodeAt(2)===58){let z=B.charCodeAt(1);z>=65&&z<=90&&(B=`/${String.fromCharCode(z+32)}:${B.substr(3)}`)}else if(B.length>=2&&B.charCodeAt(1)===58){let z=B.charCodeAt(0);z>=65&&z<=90&&(B=`${String.fromCharCode(z+32)}:${B.substr(2)}`)}D+=_(B,!0,!1)}return O&&(D+="?",D+=_(O,!1,!1)),$&&(D+="#",D+=A?$:v($,!1,!1)),D}o(T,"b");function w(I){try{return decodeURIComponent(I)}catch{return I.length>3?I.substr(0,3)+w(I.substr(3)):I}}o(w,"C");let k=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(I){return I.match(k)?I.replace(k,(A=>w(A))):I}o(C,"w");var E=r(975);let S=E.posix||E,L="/";var M;(function(I){I.joinPath=function(A,..._){return A.with({path:S.join(A.path,..._)})},I.resolvePath=function(A,..._){let D=A.path,N=!1;D[0]!==L&&(D=L+D,N=!0);let R=S.resolve(D,..._);return N&&R[0]===L&&!A.authority&&(R=R.substring(1)),A.with({path:R})},I.dirname=function(A){if(A.path.length===0||A.path===L)return A;let _=S.dirname(A.path);return _.length===1&&_.charCodeAt(0)===46&&(_=""),A.with({path:_})},I.basename=function(A){return S.basename(A.path)},I.extname=function(A){return S.extname(A.path)}})(M||(M={})),m2e=i})();({URI:va,Utils:Tv}=m2e)});var Vn,kv,Wc=P(()=>{"use strict";EG();(function(t){t.basename=Tv.basename,t.dirname=Tv.dirname,t.extname=Tv.extname,t.joinPath=Tv.joinPath,t.resolvePath=Tv.resolvePath;let e=typeof process=="object"&&process?.platform==="win32";function r(s,l){return s?.toString()===l?.toString()}o(r,"equals"),t.equals=r;function i(s,l){let u=typeof s=="string"?va.parse(s).path:s.path,h=typeof l=="string"?va.parse(l).path:l.path,f=u.split("/").filter(y=>y.length>0),d=h.split("/").filter(y=>y.length>0);if(e){let y=/^[A-Z]:$/;if(f[0]&&y.test(f[0])&&(f[0]=f[0].toLowerCase()),d[0]&&y.test(d[0])&&(d[0]=d[0].toLowerCase()),f[0]!==d[0])return h.substring(1)}let p=0;for(;p({name:n.name,uri:Vn.joinPath(va.parse(r),n.name).toString(),element:n.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(Vn.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){let i=e.split("/");e.charAt(e.length-1)==="/"&&i.pop();let n=this.root;for(let a of i){let s=n.children.get(a);if(!s)if(r)s={name:a,children:new Map,parent:n},n.children.set(a,s);else return;n=s}return n}collectValues(e){let r=[];e.element&&r.push(e.element);for(let i of e.children.values())r.push(...this.collectValues(i));return r}}});var Ur,Mk,Ok,Cv=P(()=>{"use strict";p2e();Cv();Yl();Ys();Wc();(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(Ur||(Ur={}));Mk=class{static{o(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=$r.CancellationToken.None){let i=await this.fileSystemProvider.readFile(e);return this.createAsync(e,i,r)}fromTextDocument(e,r,i){return r=r??va.parse(e.uri),$r.CancellationToken.is(i)?this.createAsync(r,e,i):this.create(r,e,i)}fromString(e,r,i){return $r.CancellationToken.is(i)?this.createAsync(r,e,i):this.create(r,e,i)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,i){if(typeof r=="string"){let n=this.parse(e,r,i);return this.createLangiumDocument(n,e,void 0,r)}else if("$model"in r){let n={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(n,e)}else{let n=this.parse(e,r.getText(),i);return this.createLangiumDocument(n,e,r)}}async createAsync(e,r,i){if(typeof r=="string"){let n=await this.parseAsync(e,r,i);return this.createLangiumDocument(n,e,void 0,r)}else{let n=await this.parseAsync(e,r.getText(),i);return this.createLangiumDocument(n,e,r)}}createLangiumDocument(e,r,i,n){let a;if(i)a={parseResult:e,uri:r,state:Ur.Parsed,references:[],textDocument:i};else{let s=this.createTextDocumentGetter(r,n);a={parseResult:e,uri:r,state:Ur.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){let i=e.parseResult.value.$cstNode?.root.fullText,n=this.textDocuments?.get(e.uri.toString()),a=n?n.getText():await this.fileSystemProvider.readFile(e.uri);if(n)Object.defineProperty(e,"textDocument",{value:n});else{let s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return i!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=Ur.Parsed,e}parse(e,r,i){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,i)}parseAsync(e,r,i){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,i)}createTextDocumentGetter(e,r){let i=this.serviceRegistry,n;return()=>n??(n=bv.create(e.toString(),i.getServices(e).LanguageMetaData.languageId,0,r??""))}},Ok=class{static{o(this,"DefaultLangiumDocuments")}constructor(e){this.documentTrie=new kv,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return jr(this.documentTrie.all())}addDocument(e){let r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){let r=e.toString();return this.documentTrie.find(r)}getDocuments(e){let r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let i=this.getDocument(e);return i||(i=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(i),i)}createDocument(e,r,i){if(i)return this.langiumDocumentFactory.fromString(r,e,i).then(n=>(this.addDocument(n),n));{let n=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(n),n}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let r=e.toString(),i=this.documentTrie.find(r);return i&&this.documentBuilder().resetToState(i,Ur.Changed),i}deleteDocument(e){let r=e.toString(),i=this.documentTrie.find(r);return i&&(i.state=Ur.Changed,this.documentTrie.delete(r)),i}deleteDocuments(e){let r=e.toString(),i=this.documentTrie.findAll(r);for(let n of i)n.state=Ur.Changed;return this.documentTrie.delete(r),i}}});var zm,Pk,SG=P(()=>{"use strict";Yl();Oc();Ts();Xl();Cv();zm=Symbol("RefResolving"),Pk=class{static{o(this,"DefaultLinker")}constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=$r.CancellationToken.None){if(this.profiler?.isActive("linking")){let i=this.profiler.createTask("linking",this.languageId);i.start();try{for(let n of js(e.parseResult.value))await Dn(r),jd(n).forEach(a=>{let s=`${n.$type}:${a.property}`;i.startSubTask(s);try{this.doLink(a,e)}finally{i.stopSubTask(s)}})}finally{i.stop()}}else for(let i of js(e.parseResult.value))await Dn(r),jd(i).forEach(n=>this.doLink(n,e))}doLink(e,r){let i=e.reference;if("_ref"in i&&i._ref===void 0){i._ref=zm;try{let n=this.getCandidate(e);if(om(n))i._ref=n;else{i._nodeDescription=n;let a=this.loadAstNode(n);i._ref=a??this.createLinkingError(e,n)}}catch(n){console.error(`An error occurred while resolving reference to '${i.$refText}':`,n);let a=n.message??String(n);i._ref={info:e,message:`An error occurred while resolving reference to '${i.$refText}': ${a}`}}r.references.push(i)}else if("_items"in i&&i._items===void 0){i._items=zm;try{let n=this.getCandidates(e),a=[];if(om(n))i._linkingError=n;else for(let s of n){let l=this.loadAstNode(s);l&&a.push({ref:l,$nodeDescription:s})}i._items=a}catch(n){i._linkingError={info:e,message:`An error occurred while resolving reference to '${i.$refText}': ${n}`},i._items=[]}r.references.push(i)}}unlink(e){for(let r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let i=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(n=>`${n.documentUri}#${n.path}`).toArray();return i.length>0?i:this.createLinkingError(e)}buildReference(e,r,i,n){let a=this,s={$refNode:i,$refText:n,_ref:void 0,get ref(){if(_n(this._ref))return this._ref;if(AF(this._nodeDescription)){let l=a.loadAstNode(this._nodeDescription);this._ref=l??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=zm;let l=Ay(e).$document,u=a.getLinkedNode({reference:s,container:e,property:r});if(u.error&&l&&l.state0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,i){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${i}')`)}getLinkedNode(e){try{let r=this.getCandidate(e);if(om(r))return{error:r};let i=this.loadAstNode(r);return i?{node:i,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let i=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${i}`}}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let i=Ay(e.container).$document;i&&i.state{"use strict";Vc();o(g2e,"isNamed");Bk=class{static{o(this,"DefaultNameProvider")}getName(e){if(g2e(e))return e.name}getNameNode(e){return YT(e.$cstNode,"name")}}});var Fk,_G=P(()=>{"use strict";Vc();Oc();Ts();Bc();Ys();Wc();ol();Fk=class{static{o(this,"DefaultReferences")}constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=js(e.Grammar).some(r=>zc(r)&&r.isMulti)}findDeclarations(e){if(e){let r=m$(e),i=e.astNode;if(r&&i){let n=i[r.feature];if(ga(n)||nl(n))return jS(n);if(Array.isArray(n)){for(let a of n)if((ga(a)||nl(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return jS(a)}}if(i){let n=this.nameProvider.getNameNode(i);if(n&&(n===e||QF(e,n)))return this.getSelfNodes(i)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),i=this.getNodeFromReferenceDescription(r.head());if(i){for(let n of jd(i))if(nl(n.reference)&&n.reference.items.some(a=>a.ref===e))return n.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let r=this.findDeclarations(e),i=[];for(let n of r){let a=this.nameProvider.getNameNode(n)??n.$cstNode;a&&i.push(a)}return i}findReferences(e,r){let i=[];r.includeDeclaration&&i.push(...this.getSelfReferences(e));let n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(n=n.filter(a=>Vn.equals(a.sourceUri,r.documentUri))),i.push(...n),jr(i)}getSelfReferences(e){let r=this.getSelfNodes(e),i=[];for(let n of r){let a=this.nameProvider.getNameNode(n);if(a){let s=bs(n),l=this.nodeLocator.getAstNodePath(n);i.push({sourceUri:s.uri,sourcePath:l,targetUri:s.uri,targetPath:l,segment:bm(a),local:!0})}}return i}}});var Cs,Gm,up=P(()=>{"use strict";Ys();Cs=class{static{o(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[r,i]of e)this.add(r,i)}get size(){return Ey.sum(jr(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let i=this.map.get(e);if(i){let n=i.indexOf(r);if(n>=0)return i.length===1?this.map.delete(e):i.splice(n,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let r=this.map.get(e);return r?jr(r):Yd}has(e,r){if(r===void 0)return this.map.has(e);{let i=this.map.get(e);return i?i.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,i)=>r.forEach(n=>e(n,i,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return jr(this.map.entries()).flatMap(([e,r])=>r.map(i=>[e,i]))}keys(){return jr(this.map.keys())}values(){return jr(this.map.values()).flat()}entriesGroupedByKey(){return jr(this.map.entries())}},Gm=class{static{o(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,i]of e)this.set(r,i)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}});var $k,DG=P(()=>{"use strict";Ts();Yl();up();Xl();$k=class{static{o(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=$r.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,i=DT,n=$r.CancellationToken.None){let a=[];this.addExportedSymbol(e,a,r);for(let s of i(e))await Dn(n),this.addExportedSymbol(s,a,r);return a}addExportedSymbol(e,r,i){let n=this.nameProvider.getName(e);n&&r.push(this.descriptions.createDescription(e,n,i))}async collectLocalSymbols(e,r=$r.CancellationToken.None){let i=e.parseResult.value,n=new Cs;for(let a of Pc(i))await Dn(r),this.addLocalSymbol(a,e,n);return n}addLocalSymbol(e,r,i){let n=e.$container;if(n){let a=this.nameProvider.getName(e);a&&i.add(n,this.descriptions.createDescription(e,a,r))}}}});var wv,LG,zk,Bst,RG=P(()=>{"use strict";up();Ys();wv=class{static{o(this,"StreamScope")}constructor(e,r,i){this.elements=e,this.outerScope=r,this.caseInsensitive=i?.caseInsensitive??!1,this.concatOuterScope=i?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,i=this.caseInsensitive?this.elements.find(n=>n.name.toLowerCase()===r):this.elements.find(n=>n.name===e);if(i)return i;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,i=this.caseInsensitive?this.elements.filter(n=>n.name.toLowerCase()===r):this.elements.filter(n=>n.name===e);return(this.concatOuterScope||i.isEmpty())&&this.outerScope?i.concat(this.outerScope.getElements(e)):i}},LG=class{static{o(this,"MapScope")}constructor(e,r,i){this.elements=new Map,this.caseInsensitive=i?.caseInsensitive??!1,this.concatOuterScope=i?.concatOuterScope??!0;for(let n of e){let a=this.caseInsensitive?n.name.toLowerCase():n.name;this.elements.set(a,n)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,i=this.elements.get(r);if(i)return i;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,i=this.elements.get(r),n=i?[i]:[];return(this.concatOuterScope||n.length>0)&&this.outerScope?jr(n).concat(this.outerScope.getElements(e)):jr(n)}getAllElements(){let e=jr(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},zk=class{static{o(this,"MultiMapScope")}constructor(e,r,i){this.elements=new Cs,this.caseInsensitive=i?.caseInsensitive??!1,this.concatOuterScope=i?.concatOuterScope??!0;for(let n of e){let a=this.caseInsensitive?n.name.toLowerCase():n.name;this.elements.add(a,n)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,i=this.elements.get(r)[0];if(i)return i;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,i=this.elements.get(r);return(this.concatOuterScope||i.length===0)&&this.outerScope?jr(i).concat(this.outerScope.getElements(e)):jr(i)}getAllElements(){let e=jr(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},Bst={getElement(){},getElements(){return Yd},getAllElements(){return Yd}}});var Ev,Gk,Vm,RA,Sv,NA=P(()=>{"use strict";Ev=class{static{o(this,"DisposableCache")}constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},Gk=class extends Ev{static{o(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let i=r();return this.cache.set(e,i),i}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Vm=class extends Ev{static{o(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,i){this.throwIfDisposed(),this.cacheForContext(e).set(r,i)}get(e,r,i){this.throwIfDisposed();let n=this.cacheForContext(e);if(n.has(r))return n.get(r);if(i){let a=i();return n.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),i=this.cache.get(r);return i||(i=new Map,this.cache.set(r,i)),i}},RA=class extends Vm{static{o(this,"DocumentCache")}constructor(e,r){super(i=>i.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,i=>{this.clear(i.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((i,n)=>{for(let a of n)this.clear(a)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((i,n)=>{let a=i.concat(n);for(let s of a)this.clear(s)}))}},Sv=class extends Gk{static{o(this,"WorkspaceCache")}constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((i,n)=>{n.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}});var Vk,NG=P(()=>{"use strict";RG();Ts();Ys();NA();Vk=class{static{o(this,"DefaultScopeProvider")}constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new Sv(e.shared)}getScope(e){let r=[],i=this.reflection.getReferenceType(e),n=bs(e.container).localSymbols;if(n){let s=e.container;do n.has(s)&&r.push(n.getStream(s).filter(l=>this.reflection.isSubtype(l.type,i))),s=s.$container;while(s)}let a=this.getGlobalScope(i,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,i){return new wv(jr(e),r,i)}createScopeForNodes(e,r,i){let n=jr(e).map(a=>{let s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new wv(n,r,i)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new zk(this.indexManager.allElements(e)))}}});function IG(t){return typeof t.$comment=="string"}function y2e(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var qk,IA=P(()=>{"use strict";EG();Oc();Ts();Vc();o(IG,"isAstNodeWithComment");o(y2e,"isIntermediateReference");qk=class{static{o(this,"DefaultJsonSerializer")}constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let i=r??{},n=r?.replacer,a=o((l,u)=>this.replacer(l,u,i),"defaultReplacer"),s=n?(l,u)=>n(l,u,a):a;try{return this.currentDocument=bs(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let i=r??{},n=JSON.parse(e);return this.linkNode(n,n,i),n}replacer(e,r,{refText:i,sourceText:n,textRegions:a,comments:s,uriConverter:l}){if(!this.ignoreProperties.has(e))if(ga(r)){let u=r.ref,h=i?r.$refText:void 0;if(u){let f=bs(u),d="";this.currentDocument&&this.currentDocument!==f&&(l?d=l(f.uri,u):d=f.uri.toString());let p=this.astNodeLocator.getAstNodePath(u);return{$ref:`${d}#${p}`,$refText:h}}else return{$error:r.error?.message??"Could not resolve reference",$refText:h}}else if(nl(r)){let u=i?r.$refText:void 0,h=[];for(let f of r.items){let d=f.ref,p=bs(f.ref),m="";this.currentDocument&&this.currentDocument!==p&&(l?m=l(p.uri,d):m=p.uri.toString());let g=this.astNodeLocator.getAstNodePath(d);h.push(`${m}#${g}`)}return{$refs:h,$refText:u}}else if(_n(r)){let u;if(a&&(u=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&u?.$textRegion&&(u.$textRegion.documentURI=this.currentDocument?.uri.toString())),n&&!e&&(u??(u={...r}),u.$sourceText=r.$cstNode?.text),s){u??(u={...r});let h=this.commentProvider.getComment(r);h&&(u.$comment=h.replace(/\r/g,""))}return u??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=o(i=>({offset:i.offset,end:i.end,length:i.length,range:i.range}),"createDocumentSegment");if(e.$cstNode){let i=e.$textRegion=r(e.$cstNode),n=i.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{let s=h$(e.$cstNode,a).map(r);s.length!==0&&(n[a]=s)}),e}}linkNode(e,r,i,n,a,s){for(let[u,h]of Object.entries(e))if(Array.isArray(h))for(let f=0;f{"use strict";Wc();Wk=class{static{o(this,"DefaultServiceRegistry")}get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let r=e.LanguageMetaData;for(let i of r.fileExtensions)this.fileExtensionMap.has(i)&&console.warn(`The file extension ${i} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(i,e);if(r.fileNames)for(let i of r.fileNames)this.fileNameMap.has(i)&&console.warn(`The file name ${i} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(i,e);this.languageIdMap.set(r.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=this.textDocuments?.get(e)?.languageId;if(r!==void 0){let s=this.languageIdMap.get(r);if(s)return s}let i=Vn.extname(e),n=Vn.basename(e),a=this.fileNameMap.get(n)??this.fileExtensionMap.get(i);if(!a)throw r?new Error(`The service registry contains no services for the extension '${i}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${i}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}});function qm(t){return{code:t}}var MA,Uk,OA=P(()=>{"use strict";to();up();Xl();Ys();o(qm,"diagnosticData");(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(MA||(MA={}));Uk=class{static{o(this,"ValidationRegistry")}constructor(e){this.entries=new Cs,this.knownCategories=new Set(MA.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,i="fast"){if(i==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(i);for(let[n,a]of Object.entries(e)){let s=a;if(Array.isArray(s))for(let l of s){let u={check:this.wrapValidationException(l,r),category:i};this.addEntry(n,u)}else if(typeof s=="function"){let l={check:this.wrapValidationException(s,r),category:i};this.addEntry(n,l)}else Yu(s)}}wrapValidationException(e,r){return async(i,n,a)=>{await this.handleException(()=>e.call(r,i,n,a),"An error occurred during validation",n,i)}}async handleException(e,r,i,n){try{await e()}catch(a){if(Ju(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);let s=a instanceof Error?a.message:String(a);i("error",`${r}: ${s}`,{node:n})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let i of this.reflection.getAllSubTypes(e))this.entries.add(i,r)}getChecks(e,r){let i=jr(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(i=i.filter(n=>r.includes(n.category))),i.map(n=>n.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,i){return async(n,a,s,l)=>{await this.handleException(()=>e.call(i,n,a,s,l),r,a,n)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}});function x2e(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=YT(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=d$(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function PA(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function b2e(t){switch(t){case"error":return qm(Kl.LexingError);case"warning":return qm(Kl.LexingWarning);case"info":return qm(Kl.LexingInfo);case"hint":return qm(Kl.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var v2e,Hk,Kl,OG=P(()=>{"use strict";Yl();Vc();Ts();Bc();Xl();OA();v2e=Object.freeze({validateNode:!0,validateChildren:!0}),Hk=class{static{o(this,"DefaultDocumentValidator")}constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},i=$r.CancellationToken.None){let n=e.parseResult,a=[];if(await Dn(i),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(n,a,r),r.stopAfterLexingErrors&&a.some(s=>s.data?.code===Kl.LexingError)||(this.processParsingErrors(n,a,r),r.stopAfterParsingErrors&&a.some(s=>s.data?.code===Kl.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>s.data?.code===Kl.LinkingError))))return a;try{a.push(...await this.validateAst(n.value,r,i))}catch(s){if(Ju(s))throw s;console.error("An error occurred during validation:",s)}return await Dn(i),a}processLexingErrors(e,r,i){let n=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let a of n){let s=a.severity??"error",l={severity:PA(s),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:b2e(s),source:this.getSource()};r.push(l)}}processParsingErrors(e,r,i){for(let n of e.parserErrors){let a;if(isNaN(n.token.startOffset)){if("previousToken"in n){let s=n.previousToken;if(isNaN(s.startOffset)){let l={line:0,character:0};a={start:l,end:l}}else{let l={line:s.endLine-1,character:s.endColumn};a={start:l,end:l}}}}else a=Py(n.token);if(a){let s={severity:PA("error"),range:a,message:n.message,data:qm(Kl.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,i){for(let n of e.references){let a=n.error;if(a){let s={node:a.info.container,range:n.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:Kl.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,i=$r.CancellationToken.None){let n=[],a=o((s,l,u)=>{n.push(this.toDiagnostic(s,l,u))},"acceptor");return await this.validateAstBefore(e,r,a,i),await this.validateAstNodes(e,r,a,i),await this.validateAstAfter(e,r,a,i),n}async validateAstBefore(e,r,i,n=$r.CancellationToken.None){let a=this.validationRegistry.checksBefore;for(let s of a)await Dn(n),await s(e,i,r.categories??[],n)}async validateAstNodes(e,r,i,n=$r.CancellationToken.None){if(this.profiler?.isActive("validating")){let a=this.profiler.createTask("validating",this.languageId);a.start();try{let s=js(e).iterator();for(let l of s){a.startSubTask(l.$type);let u=this.validateSingleNodeOptions(l,r);if(u.validateNode)try{let h=this.validationRegistry.getChecks(l.$type,r.categories);for(let f of h)await f(l,i,n)}finally{a.stopSubTask(l.$type)}u.validateChildren||s.prune()}}finally{a.stop()}}else{let a=js(e).iterator();for(let s of a){await Dn(n);let l=this.validateSingleNodeOptions(s,r);if(l.validateNode){let u=this.validationRegistry.getChecks(s.$type,r.categories);for(let h of u)await h(s,i,n)}l.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return v2e}async validateAstAfter(e,r,i,n=$r.CancellationToken.None){let a=this.validationRegistry.checksAfter;for(let s of a)await Dn(n),await s(e,i,r.categories??[],n)}toDiagnostic(e,r,i){return{message:r,range:x2e(i),severity:PA(e),code:i.code,codeDescription:i.codeDescription,tags:i.tags,relatedInformation:i.relatedInformation,data:i.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};o(x2e,"getDiagnosticRange");o(PA,"toDiagnosticSeverity");o(b2e,"toDiagnosticData");(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Kl||(Kl={}))});var Yk,jk,PG=P(()=>{"use strict";Yl();Oc();Ts();Bc();Xl();Wc();Yk=class{static{o(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,i){let n=i??bs(e);r??(r=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s,l=o(()=>s??(s=bm(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:r,get nameSegment(){return l()},selectionSegment:bm(e.$cstNode),type:e.$type,documentUri:n.uri,path:a}}},jk=class{static{o(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=$r.CancellationToken.None){let i=[],n=e.parseResult.value;for(let a of js(n))await Dn(r),jd(a).forEach(s=>{s.reference.error||i.push(...this.createInfoDescriptions(s))});return i}createInfoDescriptions(e){let r=e.reference;if(r.error||!r.$refNode)return[];let i=[];ga(r)&&r.$nodeDescription?i=[r.$nodeDescription]:nl(r)&&(i=r.items.map(u=>u.$nodeDescription).filter(u=>u!==void 0));let n=bs(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],l=bm(r.$refNode);for(let u of i)s.push({sourceUri:n,sourcePath:a,targetUri:u.documentUri,targetPath:u.path,segment:l,local:Vn.equals(u.documentUri,n)});return s}}});var Xk,BG=P(()=>{"use strict";Xk=class{static{o(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),i=this.getPathSegment(e);return r+this.segmentSeparator+i}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((n,a)=>{if(!n||a.length===0)return n;let s=a.indexOf(this.indexSeparator);if(s>0){let l=a.substring(0,s),u=parseInt(a.substring(s+1));return n[l]?.[u]}return n[a]},e)}}});var xn={};var BA=P(()=>{"use strict";Kr(xn,Wa($m(),1))});var Kk,FG=P(()=>{"use strict";BA();Xl();Kk=class{static{o(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new eo,this.onConfigurationSectionUpdateEmitter=new xn.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(i=>this.toSectionName(i.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(n=>({section:this.toSectionName(n.LanguageMetaData.languageId)})),i=await e.fetchConfiguration(r);r.forEach((n,a)=>{this.updateSectionConfiguration(n.section,i[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,i])=>{this.updateSectionConfiguration(r,i),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:i})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let i=this.toSectionName(e);if(this.settings[i])return this.settings[i][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}});var cV=ar(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.Message=cr.NotificationType9=cr.NotificationType8=cr.NotificationType7=cr.NotificationType6=cr.NotificationType5=cr.NotificationType4=cr.NotificationType3=cr.NotificationType2=cr.NotificationType1=cr.NotificationType0=cr.NotificationType=cr.RequestType9=cr.RequestType8=cr.RequestType7=cr.RequestType6=cr.RequestType5=cr.RequestType4=cr.RequestType3=cr.RequestType2=cr.RequestType1=cr.RequestType=cr.RequestType0=cr.AbstractMessageSignature=cr.ParameterStructures=cr.ResponseError=cr.ErrorCodes=void 0;var Wm=yv(),$G;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})($G||(cr.ErrorCodes=$G={}));var zG=class t extends Error{static{o(this,"ResponseError")}constructor(e,r,i){super(r),this.code=Wm.number(e)?e:$G.UnknownErrorCode,this.data=i,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};cr.ResponseError=zG;var Po=class t{static{o(this,"ParameterStructures")}constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};cr.ParameterStructures=Po;Po.auto=new Po("auto");Po.byPosition=new Po("byPosition");Po.byName=new Po("byName");var un=class{static{o(this,"AbstractMessageSignature")}constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return Po.auto}};cr.AbstractMessageSignature=un;var GG=class extends un{static{o(this,"RequestType0")}constructor(e){super(e,0)}};cr.RequestType0=GG;var VG=class extends un{static{o(this,"RequestType")}constructor(e,r=Po.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};cr.RequestType=VG;var qG=class extends un{static{o(this,"RequestType1")}constructor(e,r=Po.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};cr.RequestType1=qG;var WG=class extends un{static{o(this,"RequestType2")}constructor(e){super(e,2)}};cr.RequestType2=WG;var UG=class extends un{static{o(this,"RequestType3")}constructor(e){super(e,3)}};cr.RequestType3=UG;var HG=class extends un{static{o(this,"RequestType4")}constructor(e){super(e,4)}};cr.RequestType4=HG;var YG=class extends un{static{o(this,"RequestType5")}constructor(e){super(e,5)}};cr.RequestType5=YG;var jG=class extends un{static{o(this,"RequestType6")}constructor(e){super(e,6)}};cr.RequestType6=jG;var XG=class extends un{static{o(this,"RequestType7")}constructor(e){super(e,7)}};cr.RequestType7=XG;var KG=class extends un{static{o(this,"RequestType8")}constructor(e){super(e,8)}};cr.RequestType8=KG;var QG=class extends un{static{o(this,"RequestType9")}constructor(e){super(e,9)}};cr.RequestType9=QG;var ZG=class extends un{static{o(this,"NotificationType")}constructor(e,r=Po.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};cr.NotificationType=ZG;var JG=class extends un{static{o(this,"NotificationType0")}constructor(e){super(e,0)}};cr.NotificationType0=JG;var eV=class extends un{static{o(this,"NotificationType1")}constructor(e,r=Po.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};cr.NotificationType1=eV;var tV=class extends un{static{o(this,"NotificationType2")}constructor(e){super(e,2)}};cr.NotificationType2=tV;var rV=class extends un{static{o(this,"NotificationType3")}constructor(e){super(e,3)}};cr.NotificationType3=rV;var iV=class extends un{static{o(this,"NotificationType4")}constructor(e){super(e,4)}};cr.NotificationType4=iV;var nV=class extends un{static{o(this,"NotificationType5")}constructor(e){super(e,5)}};cr.NotificationType5=nV;var aV=class extends un{static{o(this,"NotificationType6")}constructor(e){super(e,6)}};cr.NotificationType6=aV;var sV=class extends un{static{o(this,"NotificationType7")}constructor(e){super(e,7)}};cr.NotificationType7=sV;var oV=class extends un{static{o(this,"NotificationType8")}constructor(e){super(e,8)}};cr.NotificationType8=oV;var lV=class extends un{static{o(this,"NotificationType9")}constructor(e){super(e,9)}};cr.NotificationType9=lV;var T2e;(function(t){function e(n){let a=n;return a&&Wm.string(a.method)&&(Wm.string(a.id)||Wm.number(a.id))}o(e,"isRequest"),t.isRequest=e;function r(n){let a=n;return a&&Wm.string(a.method)&&n.id===void 0}o(r,"isNotification"),t.isNotification=r;function i(n){let a=n;return a&&(a.result!==void 0||!!a.error)&&(Wm.string(a.id)||Wm.number(a.id)||a.id===null)}o(i,"isResponse"),t.isResponse=i})(T2e||(cr.Message=T2e={}))});var hV=ar(hp=>{"use strict";var k2e;Object.defineProperty(hp,"__esModule",{value:!0});hp.LRUCache=hp.LinkedMap=hp.Touch=void 0;var ws;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(ws||(hp.Touch=ws={}));var FA=class{static{o(this,"LinkedMap")}constructor(){this[k2e]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,r=ws.None){let i=this._map.get(e);if(i)return r!==ws.None&&this.touch(i,r),i.value}set(e,r,i=ws.None){let n=this._map.get(e);if(n)n.value=r,i!==ws.None&&this.touch(n,i);else{switch(n={key:e,value:r,next:void 0,previous:void 0},i){case ws.None:this.addItemLast(n);break;case ws.First:this.addItemFirst(n);break;case ws.Last:this.addItemLast(n);break;default:this.addItemLast(n);break}this._map.set(e,n),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let i=this._state,n=this._head;for(;n;){if(r?e.bind(r)(n.value,n.key,this):e(n.value,n.key,this),this._state!==i)throw new Error("LinkedMap got modified during iteration.");n=n.next}}keys(){let e=this._state,r=this._head,i={[Symbol.iterator]:()=>i,next:o(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let n={value:r.key,done:!1};return r=r.next,n}else return{value:void 0,done:!0}},"next")};return i}values(){let e=this._state,r=this._head,i={[Symbol.iterator]:()=>i,next:o(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let n={value:r.value,done:!1};return r=r.next,n}else return{value:void 0,done:!0}},"next")};return i}entries(){let e=this._state,r=this._head,i={[Symbol.iterator]:()=>i,next:o(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let n={value:[r.key,r.value],done:!1};return r=r.next,n}else return{value:void 0,done:!0}},"next")};return i}[(k2e=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,i=this.size;for(;r&&i>e;)this._map.delete(r.key),r=r.next,i--;this._head=r,this._size=i,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,i=e.previous;if(!r||!i)throw new Error("Invalid list");r.previous=i,i.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==ws.First&&r!==ws.Last)){if(r===ws.First){if(e===this._head)return;let i=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(i.previous=n,n.next=i),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===ws.Last){if(e===this._tail)return;let i=e.next,n=e.previous;e===this._head?(i.previous=void 0,this._head=i):(i.previous=n,n.next=i),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,i)=>{e.push([i,r])}),e}fromJSON(e){this.clear();for(let[r,i]of e)this.set(r,i)}};hp.LinkedMap=FA;var uV=class extends FA{static{o(this,"LRUCache")}constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=ws.AsNew){return super.get(e,r)}peek(e){return super.get(e,ws.None)}set(e,r){return super.set(e,r,ws.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};hp.LRUCache=uV});var w2e=ar($A=>{"use strict";Object.defineProperty($A,"__esModule",{value:!0});$A.Disposable=void 0;var C2e;(function(t){function e(r){return{dispose:r}}o(e,"create"),t.create=e})(C2e||($A.Disposable=C2e={}))});var E2e=ar(Av=>{"use strict";Object.defineProperty(Av,"__esModule",{value:!0});Av.SharedArrayReceiverStrategy=Av.SharedArraySenderStrategy=void 0;var Fst=Ik(),Qk;(function(t){t.Continue=0,t.Cancelled=1})(Qk||(Qk={}));var fV=class{static{o(this,"SharedArraySenderStrategy")}constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),i=new Int32Array(r,0,1);i[0]=Qk.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let i=this.buffers.get(r);if(i===void 0)return;let n=new Int32Array(i,0,1);Atomics.store(n,0,Qk.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};Av.SharedArraySenderStrategy=fV;var dV=class{static{o(this,"SharedArrayBufferCancellationToken")}constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Qk.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},pV=class{static{o(this,"SharedArrayBufferCancellationTokenSource")}constructor(e){this.token=new dV(e)}cancel(){}dispose(){}},mV=class{static{o(this,"SharedArrayReceiverStrategy")}constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new Fst.CancellationTokenSource:new pV(r)}};Av.SharedArrayReceiverStrategy=mV});var yV=ar(zA=>{"use strict";Object.defineProperty(zA,"__esModule",{value:!0});zA.Semaphore=void 0;var $st=cp(),gV=class{static{o(this,"Semaphore")}constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,i)=>{this._waiting.push({thunk:e,resolve:r,reject:i}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,$st.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(i=>{this._active--,e.resolve(i),this.runNext()},i=>{this._active--,e.reject(i),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};zA.Semaphore=gV});var A2e=ar(fp=>{"use strict";Object.defineProperty(fp,"__esModule",{value:!0});fp.ReadableStreamMessageReader=fp.AbstractMessageReader=fp.MessageReader=void 0;var xV=cp(),_v=yv(),vV=$m(),zst=yV(),S2e;(function(t){function e(r){let i=r;return i&&_v.func(i.listen)&&_v.func(i.dispose)&&_v.func(i.onError)&&_v.func(i.onClose)&&_v.func(i.onPartialMessage)}o(e,"is"),t.is=e})(S2e||(fp.MessageReader=S2e={}));var GA=class{static{o(this,"AbstractMessageReader")}constructor(){this.errorEmitter=new vV.Emitter,this.closeEmitter=new vV.Emitter,this.partialMessageEmitter=new vV.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${_v.string(e.message)?e.message:"unknown"}`)}};fp.AbstractMessageReader=GA;var bV;(function(t){function e(r){let i,n,a,s=new Map,l,u=new Map;if(r===void 0||typeof r=="string")i=r??"utf-8";else{if(i=r.charset??"utf-8",r.contentDecoder!==void 0&&(a=r.contentDecoder,s.set(a.name,a)),r.contentDecoders!==void 0)for(let h of r.contentDecoders)s.set(h.name,h);if(r.contentTypeDecoder!==void 0&&(l=r.contentTypeDecoder,u.set(l.name,l)),r.contentTypeDecoders!==void 0)for(let h of r.contentTypeDecoders)u.set(h.name,h)}return l===void 0&&(l=(0,xV.default)().applicationJson.decoder,u.set(l.name,l)),{charset:i,contentDecoder:a,contentDecoders:s,contentTypeDecoder:l,contentTypeDecoders:u}}o(e,"fromOptions"),t.fromOptions=e})(bV||(bV={}));var TV=class extends GA{static{o(this,"ReadableStreamMessageReader")}constructor(e,r){super(),this.readable=e,this.options=bV.fromOptions(r),this.buffer=(0,xV.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new zst.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(i=>{this.onData(i)});return this.readable.onError(i=>this.fireError(i)),this.readable.onClose(()=>this.fireClose()),r}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let i=this.buffer.tryReadHeaders(!0);if(!i)return;let n=i.get("content-length");if(!n){this.fireError(new Error(`Header must provide a Content-Length property. -${JSON.stringify(Object.fromEntries(i))}`));return}let a=parseInt(n);if(isNaN(a)){this.fireError(new Error(`Content-Length value must be a number. Got ${n}`));return}this.nextMessageLength=a}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let i=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,n=await this.options.contentTypeDecoder.decode(i,this.options);this.callback(n)}).catch(i=>{this.fireError(i)})}}catch(r){this.fireError(r)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,xV.default)().timer.setTimeout((e,r)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};fp.ReadableStreamMessageReader=TV});var N2e=ar(dp=>{"use strict";Object.defineProperty(dp,"__esModule",{value:!0});dp.WriteableStreamMessageWriter=dp.AbstractMessageWriter=dp.MessageWriter=void 0;var _2e=cp(),Zk=yv(),Gst=yV(),D2e=$m(),Vst="Content-Length: ",L2e=`\r -`,R2e;(function(t){function e(r){let i=r;return i&&Zk.func(i.dispose)&&Zk.func(i.onClose)&&Zk.func(i.onError)&&Zk.func(i.write)}o(e,"is"),t.is=e})(R2e||(dp.MessageWriter=R2e={}));var VA=class{static{o(this,"AbstractMessageWriter")}constructor(){this.errorEmitter=new D2e.Emitter,this.closeEmitter=new D2e.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,i){this.errorEmitter.fire([this.asError(e),r,i])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${Zk.string(e.message)?e.message:"unknown"}`)}};dp.AbstractMessageWriter=VA;var kV;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,_2e.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,_2e.default)().applicationJson.encoder}}o(e,"fromOptions"),t.fromOptions=e})(kV||(kV={}));var CV=class extends VA{static{o(this,"WriteableStreamMessageWriter")}constructor(e,r){super(),this.writable=e,this.options=kV.fromOptions(r),this.errorCount=0,this.writeSemaphore=new Gst.Semaphore(1),this.writable.onError(i=>this.fireError(i)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(i=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(i):i).then(i=>{let n=[];return n.push(Vst,i.byteLength.toString(),L2e),n.push(L2e),this.doWrite(e,n,i)},i=>{throw this.fireError(i),i}))}async doWrite(e,r,i){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(i)}catch(n){return this.handleError(n,e),Promise.reject(n)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){this.writable.end()}};dp.WriteableStreamMessageWriter=CV});var I2e=ar(qA=>{"use strict";Object.defineProperty(qA,"__esModule",{value:!0});qA.AbstractMessageBuffer=void 0;var qst=13,Wst=10,Ust=`\r -`,wV=class{static{o(this,"AbstractMessageBuffer")}constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let r=0,i=0,n=0,a=0;e:for(;ithis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let a=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(a)}if(this._chunks[0].byteLength>e){let a=this._chunks[0],s=this.asNative(a,e);return this._chunks[0]=a.slice(e),this._totalLength-=e,s}let r=this.allocNative(e),i=0,n=0;for(;e>0;){let a=this._chunks[n];if(a.byteLength>e){let s=a.slice(0,e);r.set(s,i),i+=e,this._chunks[n]=a.slice(e),this._totalLength-=e,e-=e}else r.set(a,i),i+=a.byteLength,this._chunks.shift(),this._totalLength-=a.byteLength,e-=a.byteLength}return r}};qA.AbstractMessageBuffer=wV});var F2e=ar(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.createMessageConnection=Fr.ConnectionOptions=Fr.MessageStrategy=Fr.CancellationStrategy=Fr.CancellationSenderStrategy=Fr.CancellationReceiverStrategy=Fr.RequestCancellationReceiverStrategy=Fr.IdCancellationReceiverStrategy=Fr.ConnectionStrategy=Fr.ConnectionError=Fr.ConnectionErrors=Fr.LogTraceNotification=Fr.SetTraceNotification=Fr.TraceFormat=Fr.TraceValues=Fr.Trace=Fr.NullLogger=Fr.ProgressType=Fr.ProgressToken=void 0;var M2e=cp(),Ln=yv(),kr=cV(),O2e=hV(),Jk=$m(),EV=Ik(),rC;(function(t){t.type=new kr.NotificationType("$/cancelRequest")})(rC||(rC={}));var SV;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}o(e,"is"),t.is=e})(SV||(Fr.ProgressToken=SV={}));var eC;(function(t){t.type=new kr.NotificationType("$/progress")})(eC||(eC={}));var AV=class{static{o(this,"ProgressType")}constructor(){}};Fr.ProgressType=AV;var _V;(function(t){function e(r){return Ln.func(r)}o(e,"is"),t.is=e})(_V||(_V={}));Fr.NullLogger=Object.freeze({error:o(()=>{},"error"),warn:o(()=>{},"warn"),info:o(()=>{},"info"),log:o(()=>{},"log")});var Ti;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(Ti||(Fr.Trace=Ti={}));var P2e;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(P2e||(Fr.TraceValues=P2e={}));(function(t){function e(i){if(!Ln.string(i))return t.Off;switch(i=i.toLowerCase(),i){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}o(e,"fromString"),t.fromString=e;function r(i){switch(i){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}o(r,"toString"),t.toString=r})(Ti||(Fr.Trace=Ti={}));var ul;(function(t){t.Text="text",t.JSON="json"})(ul||(Fr.TraceFormat=ul={}));(function(t){function e(r){return Ln.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}o(e,"fromString"),t.fromString=e})(ul||(Fr.TraceFormat=ul={}));var DV;(function(t){t.type=new kr.NotificationType("$/setTrace")})(DV||(Fr.SetTraceNotification=DV={}));var WA;(function(t){t.type=new kr.NotificationType("$/logTrace")})(WA||(Fr.LogTraceNotification=WA={}));var tC;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(tC||(Fr.ConnectionErrors=tC={}));var Dv=class t extends Error{static{o(this,"ConnectionError")}constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};Fr.ConnectionError=Dv;var LV;(function(t){function e(r){let i=r;return i&&Ln.func(i.cancelUndispatched)}o(e,"is"),t.is=e})(LV||(Fr.ConnectionStrategy=LV={}));var UA;(function(t){function e(r){let i=r;return i&&(i.kind===void 0||i.kind==="id")&&Ln.func(i.createCancellationTokenSource)&&(i.dispose===void 0||Ln.func(i.dispose))}o(e,"is"),t.is=e})(UA||(Fr.IdCancellationReceiverStrategy=UA={}));var RV;(function(t){function e(r){let i=r;return i&&i.kind==="request"&&Ln.func(i.createCancellationTokenSource)&&(i.dispose===void 0||Ln.func(i.dispose))}o(e,"is"),t.is=e})(RV||(Fr.RequestCancellationReceiverStrategy=RV={}));var HA;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new EV.CancellationTokenSource}});function e(r){return UA.is(r)||RV.is(r)}o(e,"is"),t.is=e})(HA||(Fr.CancellationReceiverStrategy=HA={}));var YA;(function(t){t.Message=Object.freeze({sendCancellation(r,i){return r.sendNotification(rC.type,{id:i})},cleanup(r){}});function e(r){let i=r;return i&&Ln.func(i.sendCancellation)&&Ln.func(i.cleanup)}o(e,"is"),t.is=e})(YA||(Fr.CancellationSenderStrategy=YA={}));var jA;(function(t){t.Message=Object.freeze({receiver:HA.Message,sender:YA.Message});function e(r){let i=r;return i&&HA.is(i.receiver)&&YA.is(i.sender)}o(e,"is"),t.is=e})(jA||(Fr.CancellationStrategy=jA={}));var XA;(function(t){function e(r){let i=r;return i&&Ln.func(i.handleMessage)}o(e,"is"),t.is=e})(XA||(Fr.MessageStrategy=XA={}));var B2e;(function(t){function e(r){let i=r;return i&&(jA.is(i.cancellationStrategy)||LV.is(i.connectionStrategy)||XA.is(i.messageStrategy))}o(e,"is"),t.is=e})(B2e||(Fr.ConnectionOptions=B2e={}));var Uc;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(Uc||(Uc={}));function Hst(t,e,r,i){let n=r!==void 0?r:Fr.NullLogger,a=0,s=0,l=0,u="2.0",h,f=new Map,d,p=new Map,m=new Map,g,y=new O2e.LinkedMap,v=new Map,x=new Set,b=new Map,T=Ti.Off,w=ul.Text,k,C=Uc.New,E=new Jk.Emitter,S=new Jk.Emitter,L=new Jk.Emitter,M=new Jk.Emitter,I=new Jk.Emitter,A=i&&i.cancellationStrategy?i.cancellationStrategy:jA.Message;function _(K){if(K===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+K.toString()}o(_,"createRequestQueueKey");function D(K){return K===null?"res-unknown-"+(++l).toString():"res-"+K.toString()}o(D,"createResponseQueueKey");function N(){return"not-"+(++s).toString()}o(N,"createNotificationQueueKey");function R(K,oe){kr.Message.isRequest(oe)?K.set(_(oe.id),oe):kr.Message.isResponse(oe)?K.set(D(oe.id),oe):K.set(N(),oe)}o(R,"addMessageToQueue");function B(K){}o(B,"cancelUndispatched");function O(){return C===Uc.Listening}o(O,"isListening");function $(){return C===Uc.Closed}o($,"isClosed");function z(){return C===Uc.Disposed}o(z,"isDisposed");function F(){(C===Uc.New||C===Uc.Listening)&&(C=Uc.Closed,S.fire(void 0))}o(F,"closeHandler");function V(K){E.fire([K,void 0,void 0])}o(V,"readErrorHandler");function H(K){E.fire(K)}o(H,"writeErrorHandler"),t.onClose(F),t.onError(V),e.onClose(F),e.onError(H);function X(){g||y.size===0||(g=(0,M2e.default)().timer.setImmediate(()=>{g=void 0,Z()}))}o(X,"triggerMessageQueue");function W(K){kr.Message.isRequest(K)?ae(K):kr.Message.isNotification(K)?ee(K):kr.Message.isResponse(K)?J(K):re(K)}o(W,"handleMessage");function Z(){if(y.size===0)return;let K=y.shift();try{let oe=i?.messageStrategy;XA.is(oe)?oe.handleMessage(K,W):W(K)}finally{X()}}o(Z,"processMessageQueue");let Y=o(K=>{try{if(kr.Message.isNotification(K)&&K.method===rC.type.method){let oe=K.params.id,U=_(oe),ue=y.get(U);if(kr.Message.isRequest(ue)){let se=i?.connectionStrategy,le=se&&se.cancelUndispatched?se.cancelUndispatched(ue,B):void 0;if(le&&(le.error!==void 0||le.result!==void 0)){y.delete(U),b.delete(oe),le.id=ue.id,Ee(le,K.method,Date.now()),e.write(le).catch(()=>n.error("Sending response for canceled message failed."));return}}let G=b.get(oe);if(G!==void 0){G.cancel(),we(K);return}else x.add(oe)}R(y,K)}finally{X()}},"callback");function ae(K){if(z())return;function oe(me,ye,Re){let ve={jsonrpc:u,id:K.id};me instanceof kr.ResponseError?ve.error=me.toJson():ve.result=me===void 0?null:me,Ee(ve,ye,Re),e.write(ve).catch(()=>n.error("Sending response failed."))}o(oe,"reply");function U(me,ye,Re){let ve={jsonrpc:u,id:K.id,error:me.toJson()};Ee(ve,ye,Re),e.write(ve).catch(()=>n.error("Sending response failed."))}o(U,"replyError");function ue(me,ye,Re){me===void 0&&(me=null);let ve={jsonrpc:u,id:K.id,result:me};Ee(ve,ye,Re),e.write(ve).catch(()=>n.error("Sending response failed."))}o(ue,"replySuccess"),Ne(K);let G=f.get(K.method),se,le;G&&(se=G.type,le=G.handler);let ke=Date.now();if(le||h){let me=K.id??String(Date.now()),ye=UA.is(A.receiver)?A.receiver.createCancellationTokenSource(me):A.receiver.createCancellationTokenSource(K);K.id!==null&&x.has(K.id)&&ye.cancel(),K.id!==null&&b.set(me,ye);try{let Re;if(le)if(K.params===void 0){if(se!==void 0&&se.numberOfParams!==0){U(new kr.ResponseError(kr.ErrorCodes.InvalidParams,`Request ${K.method} defines ${se.numberOfParams} params but received none.`),K.method,ke);return}Re=le(ye.token)}else if(Array.isArray(K.params)){if(se!==void 0&&se.parameterStructures===kr.ParameterStructures.byName){U(new kr.ResponseError(kr.ErrorCodes.InvalidParams,`Request ${K.method} defines parameters by name but received parameters by position`),K.method,ke);return}Re=le(...K.params,ye.token)}else{if(se!==void 0&&se.parameterStructures===kr.ParameterStructures.byPosition){U(new kr.ResponseError(kr.ErrorCodes.InvalidParams,`Request ${K.method} defines parameters by position but received parameters by name`),K.method,ke);return}Re=le(K.params,ye.token)}else h&&(Re=h(K.method,K.params,ye.token));let ve=Re;Re?ve.then?ve.then(Oe=>{b.delete(me),oe(Oe,K.method,ke)},Oe=>{b.delete(me),Oe instanceof kr.ResponseError?U(Oe,K.method,ke):Oe&&Ln.string(Oe.message)?U(new kr.ResponseError(kr.ErrorCodes.InternalError,`Request ${K.method} failed with message: ${Oe.message}`),K.method,ke):U(new kr.ResponseError(kr.ErrorCodes.InternalError,`Request ${K.method} failed unexpectedly without providing any details.`),K.method,ke)}):(b.delete(me),oe(Re,K.method,ke)):(b.delete(me),ue(Re,K.method,ke))}catch(Re){b.delete(me),Re instanceof kr.ResponseError?oe(Re,K.method,ke):Re&&Ln.string(Re.message)?U(new kr.ResponseError(kr.ErrorCodes.InternalError,`Request ${K.method} failed with message: ${Re.message}`),K.method,ke):U(new kr.ResponseError(kr.ErrorCodes.InternalError,`Request ${K.method} failed unexpectedly without providing any details.`),K.method,ke)}}else U(new kr.ResponseError(kr.ErrorCodes.MethodNotFound,`Unhandled method ${K.method}`),K.method,ke)}o(ae,"handleRequest");function J(K){if(!z())if(K.id===null)K.error?n.error(`Received response message without id: Error is: -${JSON.stringify(K.error,void 0,4)}`):n.error("Received response message without id. No further error information provided.");else{let oe=K.id,U=v.get(oe);if(Te(K,U),U!==void 0){v.delete(oe);try{if(K.error){let ue=K.error;U.reject(new kr.ResponseError(ue.code,ue.message,ue.data))}else if(K.result!==void 0)U.resolve(K.result);else throw new Error("Should never happen.")}catch(ue){ue.message?n.error(`Response handler '${U.method}' failed with message: ${ue.message}`):n.error(`Response handler '${U.method}' failed unexpectedly.`)}}}}o(J,"handleResponse");function ee(K){if(z())return;let oe,U;if(K.method===rC.type.method){let ue=K.params.id;x.delete(ue),we(K);return}else{let ue=p.get(K.method);ue&&(U=ue.handler,oe=ue.type)}if(U||d)try{if(we(K),U)if(K.params===void 0)oe!==void 0&&oe.numberOfParams!==0&&oe.parameterStructures!==kr.ParameterStructures.byName&&n.error(`Notification ${K.method} defines ${oe.numberOfParams} params but received none.`),U();else if(Array.isArray(K.params)){let ue=K.params;K.method===eC.type.method&&ue.length===2&&SV.is(ue[0])?U({token:ue[0],value:ue[1]}):(oe!==void 0&&(oe.parameterStructures===kr.ParameterStructures.byName&&n.error(`Notification ${K.method} defines parameters by name but received parameters by position`),oe.numberOfParams!==K.params.length&&n.error(`Notification ${K.method} defines ${oe.numberOfParams} params but received ${ue.length} arguments`)),U(...ue))}else oe!==void 0&&oe.parameterStructures===kr.ParameterStructures.byPosition&&n.error(`Notification ${K.method} defines parameters by position but received parameters by name`),U(K.params);else d&&d(K.method,K.params)}catch(ue){ue.message?n.error(`Notification handler '${K.method}' failed with message: ${ue.message}`):n.error(`Notification handler '${K.method}' failed unexpectedly.`)}else L.fire(K)}o(ee,"handleNotification");function re(K){if(!K){n.error("Received empty message.");return}n.error(`Received message which is neither a response nor a notification message: -${JSON.stringify(K,null,4)}`);let oe=K;if(Ln.string(oe.id)||Ln.number(oe.id)){let U=oe.id,ue=v.get(U);ue&&ue.reject(new Error("The received response has neither a result nor an error property."))}}o(re,"handleInvalidMessage");function te(K){if(K!=null)switch(T){case Ti.Verbose:return JSON.stringify(K,null,4);case Ti.Compact:return JSON.stringify(K);default:return}}o(te,"stringifyTrace");function be(K){if(!(T===Ti.Off||!k))if(w===ul.Text){let oe;(T===Ti.Verbose||T===Ti.Compact)&&K.params&&(oe=`Params: ${te(K.params)} - -`),k.log(`Sending request '${K.method} - (${K.id})'.`,oe)}else De("send-request",K)}o(be,"traceSendingRequest");function de(K){if(!(T===Ti.Off||!k))if(w===ul.Text){let oe;(T===Ti.Verbose||T===Ti.Compact)&&(K.params?oe=`Params: ${te(K.params)} - -`:oe=`No parameters provided. - -`),k.log(`Sending notification '${K.method}'.`,oe)}else De("send-notification",K)}o(de,"traceSendingNotification");function Ee(K,oe,U){if(!(T===Ti.Off||!k))if(w===ul.Text){let ue;(T===Ti.Verbose||T===Ti.Compact)&&(K.error&&K.error.data?ue=`Error data: ${te(K.error.data)} - -`:K.result?ue=`Result: ${te(K.result)} - -`:K.error===void 0&&(ue=`No result returned. - -`)),k.log(`Sending response '${oe} - (${K.id})'. Processing request took ${Date.now()-U}ms`,ue)}else De("send-response",K)}o(Ee,"traceSendingResponse");function Ne(K){if(!(T===Ti.Off||!k))if(w===ul.Text){let oe;(T===Ti.Verbose||T===Ti.Compact)&&K.params&&(oe=`Params: ${te(K.params)} - -`),k.log(`Received request '${K.method} - (${K.id})'.`,oe)}else De("receive-request",K)}o(Ne,"traceReceivedRequest");function we(K){if(!(T===Ti.Off||!k||K.method===WA.type.method))if(w===ul.Text){let oe;(T===Ti.Verbose||T===Ti.Compact)&&(K.params?oe=`Params: ${te(K.params)} - -`:oe=`No parameters provided. - -`),k.log(`Received notification '${K.method}'.`,oe)}else De("receive-notification",K)}o(we,"traceReceivedNotification");function Te(K,oe){if(!(T===Ti.Off||!k))if(w===ul.Text){let U;if((T===Ti.Verbose||T===Ti.Compact)&&(K.error&&K.error.data?U=`Error data: ${te(K.error.data)} - -`:K.result?U=`Result: ${te(K.result)} - -`:K.error===void 0&&(U=`No result returned. - -`)),oe){let ue=K.error?` Request failed: ${K.error.message} (${K.error.code}).`:"";k.log(`Received response '${oe.method} - (${K.id})' in ${Date.now()-oe.timerStart}ms.${ue}`,U)}else k.log(`Received response ${K.id} without active response promise.`,U)}else De("receive-response",K)}o(Te,"traceReceivedResponse");function De(K,oe){if(!k||T===Ti.Off)return;let U={isLSPMessage:!0,type:K,message:oe,timestamp:Date.now()};k.log(U)}o(De,"logLSPMessage");function $e(){if($())throw new Dv(tC.Closed,"Connection is closed.");if(z())throw new Dv(tC.Disposed,"Connection is disposed.")}o($e,"throwIfClosedOrDisposed");function pe(){if(O())throw new Dv(tC.AlreadyListening,"Connection is already listening")}o(pe,"throwIfListening");function Je(){if(!O())throw new Error("Call listen() first.")}o(Je,"throwIfNotListening");function Ce(K){return K===void 0?null:K}o(Ce,"undefinedToNull");function Fe(K){if(K!==null)return K}o(Fe,"nullToUndefined");function Ue(K){return K!=null&&!Array.isArray(K)&&typeof K=="object"}o(Ue,"isNamedParam");function qe(K,oe){switch(K){case kr.ParameterStructures.auto:return Ue(oe)?Fe(oe):[Ce(oe)];case kr.ParameterStructures.byName:if(!Ue(oe))throw new Error("Received parameters by name but param is not an object literal.");return Fe(oe);case kr.ParameterStructures.byPosition:return[Ce(oe)];default:throw new Error(`Unknown parameter structure ${K.toString()}`)}}o(qe,"computeSingleParam");function Me(K,oe){let U,ue=K.numberOfParams;switch(ue){case 0:U=void 0;break;case 1:U=qe(K.parameterStructures,oe[0]);break;default:U=[];for(let G=0;G{$e();let U,ue;if(Ln.string(K)){U=K;let se=oe[0],le=0,ke=kr.ParameterStructures.auto;kr.ParameterStructures.is(se)&&(le=1,ke=se);let me=oe.length,ye=me-le;switch(ye){case 0:ue=void 0;break;case 1:ue=qe(ke,oe[le]);break;default:if(ke===kr.ParameterStructures.byName)throw new Error(`Received ${ye} parameters for 'by Name' notification parameter structure.`);ue=oe.slice(le,me).map(Re=>Ce(Re));break}}else{let se=oe;U=K.method,ue=Me(K,se)}let G={jsonrpc:u,method:U,params:ue};return de(G),e.write(G).catch(se=>{throw n.error("Sending notification failed."),se})},"sendNotification"),onNotification:o((K,oe)=>{$e();let U;return Ln.func(K)?d=K:oe&&(Ln.string(K)?(U=K,p.set(K,{type:void 0,handler:oe})):(U=K.method,p.set(K.method,{type:K,handler:oe}))),{dispose:o(()=>{U!==void 0?p.delete(U):d=void 0},"dispose")}},"onNotification"),onProgress:o((K,oe,U)=>{if(m.has(oe))throw new Error(`Progress handler for token ${oe} already registered`);return m.set(oe,U),{dispose:o(()=>{m.delete(oe)},"dispose")}},"onProgress"),sendProgress:o((K,oe,U)=>He.sendNotification(eC.type,{token:oe,value:U}),"sendProgress"),onUnhandledProgress:M.event,sendRequest:o((K,...oe)=>{$e(),Je();let U,ue,G;if(Ln.string(K)){U=K;let me=oe[0],ye=oe[oe.length-1],Re=0,ve=kr.ParameterStructures.auto;kr.ParameterStructures.is(me)&&(Re=1,ve=me);let Oe=oe.length;EV.CancellationToken.is(ye)&&(Oe=Oe-1,G=ye);let We=Oe-Re;switch(We){case 0:ue=void 0;break;case 1:ue=qe(ve,oe[Re]);break;default:if(ve===kr.ParameterStructures.byName)throw new Error(`Received ${We} parameters for 'by Name' request parameter structure.`);ue=oe.slice(Re,Oe).map(Be=>Ce(Be));break}}else{let me=oe;U=K.method,ue=Me(K,me);let ye=K.numberOfParams;G=EV.CancellationToken.is(me[ye])?me[ye]:void 0}let se=a++,le;G&&(le=G.onCancellationRequested(()=>{let me=A.sender.sendCancellation(He,se);return me===void 0?(n.log(`Received no promise from cancellation strategy when cancelling id ${se}`),Promise.resolve()):me.catch(()=>{n.log(`Sending cancellation messages for id ${se} failed`)})}));let ke={jsonrpc:u,id:se,method:U,params:ue};return be(ke),typeof A.sender.enableCancellation=="function"&&A.sender.enableCancellation(ke),new Promise(async(me,ye)=>{let Re=o(We=>{me(We),A.sender.cleanup(se),le?.dispose()},"resolveWithCleanup"),ve=o(We=>{ye(We),A.sender.cleanup(se),le?.dispose()},"rejectWithCleanup"),Oe={method:U,timerStart:Date.now(),resolve:Re,reject:ve};try{await e.write(ke),v.set(se,Oe)}catch(We){throw n.error("Sending request failed."),Oe.reject(new kr.ResponseError(kr.ErrorCodes.MessageWriteError,We.message?We.message:"Unknown reason")),We}})},"sendRequest"),onRequest:o((K,oe)=>{$e();let U=null;return _V.is(K)?(U=void 0,h=K):Ln.string(K)?(U=null,oe!==void 0&&(U=K,f.set(K,{handler:oe,type:void 0}))):oe!==void 0&&(U=K.method,f.set(K.method,{type:K,handler:oe})),{dispose:o(()=>{U!==null&&(U!==void 0?f.delete(U):h=void 0)},"dispose")}},"onRequest"),hasPendingResponse:o(()=>v.size>0,"hasPendingResponse"),trace:o(async(K,oe,U)=>{let ue=!1,G=ul.Text;U!==void 0&&(Ln.boolean(U)?ue=U:(ue=U.sendNotification||!1,G=U.traceFormat||ul.Text)),T=K,w=G,T===Ti.Off?k=void 0:k=oe,ue&&!$()&&!z()&&await He.sendNotification(DV.type,{value:Ti.toString(K)})},"trace"),onError:E.event,onClose:S.event,onUnhandledNotification:L.event,onDispose:I.event,end:o(()=>{e.end()},"end"),dispose:o(()=>{if(z())return;C=Uc.Disposed,I.fire(void 0);let K=new kr.ResponseError(kr.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let oe of v.values())oe.reject(K);v=new Map,b=new Map,x=new Set,y=new O2e.LinkedMap,Ln.func(e.dispose)&&e.dispose(),Ln.func(t.dispose)&&t.dispose()},"dispose"),listen:o(()=>{$e(),pe(),C=Uc.Listening,t.listen(Y)},"listen"),inspect:o(()=>{(0,M2e.default)().console.log("inspect")},"inspect")};return He.onNotification(WA.type,K=>{if(T===Ti.Off||!k)return;let oe=T===Ti.Verbose||T===Ti.Compact;k.log(K.message,oe?K.verbose:void 0)}),He.onNotification(eC.type,K=>{let oe=m.get(K.token);oe?oe(K.value):M.fire(K)}),He}o(Hst,"createMessageConnection");Fr.createMessageConnection=Hst});var KA=ar(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.ProgressType=nt.ProgressToken=nt.createMessageConnection=nt.NullLogger=nt.ConnectionOptions=nt.ConnectionStrategy=nt.AbstractMessageBuffer=nt.WriteableStreamMessageWriter=nt.AbstractMessageWriter=nt.MessageWriter=nt.ReadableStreamMessageReader=nt.AbstractMessageReader=nt.MessageReader=nt.SharedArrayReceiverStrategy=nt.SharedArraySenderStrategy=nt.CancellationToken=nt.CancellationTokenSource=nt.Emitter=nt.Event=nt.Disposable=nt.LRUCache=nt.Touch=nt.LinkedMap=nt.ParameterStructures=nt.NotificationType9=nt.NotificationType8=nt.NotificationType7=nt.NotificationType6=nt.NotificationType5=nt.NotificationType4=nt.NotificationType3=nt.NotificationType2=nt.NotificationType1=nt.NotificationType0=nt.NotificationType=nt.ErrorCodes=nt.ResponseError=nt.RequestType9=nt.RequestType8=nt.RequestType7=nt.RequestType6=nt.RequestType5=nt.RequestType4=nt.RequestType3=nt.RequestType2=nt.RequestType1=nt.RequestType0=nt.RequestType=nt.Message=nt.RAL=void 0;nt.MessageStrategy=nt.CancellationStrategy=nt.CancellationSenderStrategy=nt.CancellationReceiverStrategy=nt.ConnectionError=nt.ConnectionErrors=nt.LogTraceNotification=nt.SetTraceNotification=nt.TraceFormat=nt.TraceValues=nt.Trace=void 0;var nn=cV();Object.defineProperty(nt,"Message",{enumerable:!0,get:o(function(){return nn.Message},"get")});Object.defineProperty(nt,"RequestType",{enumerable:!0,get:o(function(){return nn.RequestType},"get")});Object.defineProperty(nt,"RequestType0",{enumerable:!0,get:o(function(){return nn.RequestType0},"get")});Object.defineProperty(nt,"RequestType1",{enumerable:!0,get:o(function(){return nn.RequestType1},"get")});Object.defineProperty(nt,"RequestType2",{enumerable:!0,get:o(function(){return nn.RequestType2},"get")});Object.defineProperty(nt,"RequestType3",{enumerable:!0,get:o(function(){return nn.RequestType3},"get")});Object.defineProperty(nt,"RequestType4",{enumerable:!0,get:o(function(){return nn.RequestType4},"get")});Object.defineProperty(nt,"RequestType5",{enumerable:!0,get:o(function(){return nn.RequestType5},"get")});Object.defineProperty(nt,"RequestType6",{enumerable:!0,get:o(function(){return nn.RequestType6},"get")});Object.defineProperty(nt,"RequestType7",{enumerable:!0,get:o(function(){return nn.RequestType7},"get")});Object.defineProperty(nt,"RequestType8",{enumerable:!0,get:o(function(){return nn.RequestType8},"get")});Object.defineProperty(nt,"RequestType9",{enumerable:!0,get:o(function(){return nn.RequestType9},"get")});Object.defineProperty(nt,"ResponseError",{enumerable:!0,get:o(function(){return nn.ResponseError},"get")});Object.defineProperty(nt,"ErrorCodes",{enumerable:!0,get:o(function(){return nn.ErrorCodes},"get")});Object.defineProperty(nt,"NotificationType",{enumerable:!0,get:o(function(){return nn.NotificationType},"get")});Object.defineProperty(nt,"NotificationType0",{enumerable:!0,get:o(function(){return nn.NotificationType0},"get")});Object.defineProperty(nt,"NotificationType1",{enumerable:!0,get:o(function(){return nn.NotificationType1},"get")});Object.defineProperty(nt,"NotificationType2",{enumerable:!0,get:o(function(){return nn.NotificationType2},"get")});Object.defineProperty(nt,"NotificationType3",{enumerable:!0,get:o(function(){return nn.NotificationType3},"get")});Object.defineProperty(nt,"NotificationType4",{enumerable:!0,get:o(function(){return nn.NotificationType4},"get")});Object.defineProperty(nt,"NotificationType5",{enumerable:!0,get:o(function(){return nn.NotificationType5},"get")});Object.defineProperty(nt,"NotificationType6",{enumerable:!0,get:o(function(){return nn.NotificationType6},"get")});Object.defineProperty(nt,"NotificationType7",{enumerable:!0,get:o(function(){return nn.NotificationType7},"get")});Object.defineProperty(nt,"NotificationType8",{enumerable:!0,get:o(function(){return nn.NotificationType8},"get")});Object.defineProperty(nt,"NotificationType9",{enumerable:!0,get:o(function(){return nn.NotificationType9},"get")});Object.defineProperty(nt,"ParameterStructures",{enumerable:!0,get:o(function(){return nn.ParameterStructures},"get")});var NV=hV();Object.defineProperty(nt,"LinkedMap",{enumerable:!0,get:o(function(){return NV.LinkedMap},"get")});Object.defineProperty(nt,"LRUCache",{enumerable:!0,get:o(function(){return NV.LRUCache},"get")});Object.defineProperty(nt,"Touch",{enumerable:!0,get:o(function(){return NV.Touch},"get")});var Yst=w2e();Object.defineProperty(nt,"Disposable",{enumerable:!0,get:o(function(){return Yst.Disposable},"get")});var $2e=$m();Object.defineProperty(nt,"Event",{enumerable:!0,get:o(function(){return $2e.Event},"get")});Object.defineProperty(nt,"Emitter",{enumerable:!0,get:o(function(){return $2e.Emitter},"get")});var z2e=Ik();Object.defineProperty(nt,"CancellationTokenSource",{enumerable:!0,get:o(function(){return z2e.CancellationTokenSource},"get")});Object.defineProperty(nt,"CancellationToken",{enumerable:!0,get:o(function(){return z2e.CancellationToken},"get")});var G2e=E2e();Object.defineProperty(nt,"SharedArraySenderStrategy",{enumerable:!0,get:o(function(){return G2e.SharedArraySenderStrategy},"get")});Object.defineProperty(nt,"SharedArrayReceiverStrategy",{enumerable:!0,get:o(function(){return G2e.SharedArrayReceiverStrategy},"get")});var IV=A2e();Object.defineProperty(nt,"MessageReader",{enumerable:!0,get:o(function(){return IV.MessageReader},"get")});Object.defineProperty(nt,"AbstractMessageReader",{enumerable:!0,get:o(function(){return IV.AbstractMessageReader},"get")});Object.defineProperty(nt,"ReadableStreamMessageReader",{enumerable:!0,get:o(function(){return IV.ReadableStreamMessageReader},"get")});var MV=N2e();Object.defineProperty(nt,"MessageWriter",{enumerable:!0,get:o(function(){return MV.MessageWriter},"get")});Object.defineProperty(nt,"AbstractMessageWriter",{enumerable:!0,get:o(function(){return MV.AbstractMessageWriter},"get")});Object.defineProperty(nt,"WriteableStreamMessageWriter",{enumerable:!0,get:o(function(){return MV.WriteableStreamMessageWriter},"get")});var jst=I2e();Object.defineProperty(nt,"AbstractMessageBuffer",{enumerable:!0,get:o(function(){return jst.AbstractMessageBuffer},"get")});var as=F2e();Object.defineProperty(nt,"ConnectionStrategy",{enumerable:!0,get:o(function(){return as.ConnectionStrategy},"get")});Object.defineProperty(nt,"ConnectionOptions",{enumerable:!0,get:o(function(){return as.ConnectionOptions},"get")});Object.defineProperty(nt,"NullLogger",{enumerable:!0,get:o(function(){return as.NullLogger},"get")});Object.defineProperty(nt,"createMessageConnection",{enumerable:!0,get:o(function(){return as.createMessageConnection},"get")});Object.defineProperty(nt,"ProgressToken",{enumerable:!0,get:o(function(){return as.ProgressToken},"get")});Object.defineProperty(nt,"ProgressType",{enumerable:!0,get:o(function(){return as.ProgressType},"get")});Object.defineProperty(nt,"Trace",{enumerable:!0,get:o(function(){return as.Trace},"get")});Object.defineProperty(nt,"TraceValues",{enumerable:!0,get:o(function(){return as.TraceValues},"get")});Object.defineProperty(nt,"TraceFormat",{enumerable:!0,get:o(function(){return as.TraceFormat},"get")});Object.defineProperty(nt,"SetTraceNotification",{enumerable:!0,get:o(function(){return as.SetTraceNotification},"get")});Object.defineProperty(nt,"LogTraceNotification",{enumerable:!0,get:o(function(){return as.LogTraceNotification},"get")});Object.defineProperty(nt,"ConnectionErrors",{enumerable:!0,get:o(function(){return as.ConnectionErrors},"get")});Object.defineProperty(nt,"ConnectionError",{enumerable:!0,get:o(function(){return as.ConnectionError},"get")});Object.defineProperty(nt,"CancellationReceiverStrategy",{enumerable:!0,get:o(function(){return as.CancellationReceiverStrategy},"get")});Object.defineProperty(nt,"CancellationSenderStrategy",{enumerable:!0,get:o(function(){return as.CancellationSenderStrategy},"get")});Object.defineProperty(nt,"CancellationStrategy",{enumerable:!0,get:o(function(){return as.CancellationStrategy},"get")});Object.defineProperty(nt,"MessageStrategy",{enumerable:!0,get:o(function(){return as.MessageStrategy},"get")});var Xst=cp();nt.RAL=Xst.default});var q2e=ar(FV=>{"use strict";Object.defineProperty(FV,"__esModule",{value:!0});var eh=KA(),QA=class t extends eh.AbstractMessageBuffer{static{o(this,"MessageBuffer")}constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};QA.emptyBuffer=new Uint8Array(0);var OV=class{static{o(this,"ReadableStreamWrapper")}constructor(e){this.socket=e,this._onData=new eh.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(n=>{this._onData.fire(new Uint8Array(n))},()=>{(0,eh.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),eh.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),eh.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),eh.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},PV=class{static{o(this,"WritableStreamWrapper")}constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),eh.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),eh.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),eh.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},Kst=new TextEncoder,V2e=Object.freeze({messageBuffer:Object.freeze({create:o(t=>new QA(t),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:o((t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(Kst.encode(JSON.stringify(t,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:o((t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))},"decode")})}),stream:Object.freeze({asReadableStream:o(t=>new OV(t),"asReadableStream"),asWritableStream:o(t=>new PV(t),"asWritableStream")}),console,timer:Object.freeze({setTimeout(t,e,...r){let i=setTimeout(t,e,...r);return{dispose:o(()=>clearTimeout(i),"dispose")}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:o(()=>clearTimeout(r),"dispose")}},setInterval(t,e,...r){let i=setInterval(t,e,...r);return{dispose:o(()=>clearInterval(i),"dispose")}}})});function BV(){return V2e}o(BV,"RIL");(function(t){function e(){eh.RAL.install(V2e)}o(e,"install"),t.install=e})(BV||(BV={}));FV.default=BV});var Um=ar(hl=>{"use strict";var Qst=hl&&hl.__createBinding||(Object.create?(function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,i,n)}):(function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]})),Zst=hl&&hl.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Qst(e,t,r)};Object.defineProperty(hl,"__esModule",{value:!0});hl.createMessageConnection=hl.BrowserMessageWriter=hl.BrowserMessageReader=void 0;var Jst=q2e();Jst.default.install();var Lv=KA();Zst(KA(),hl);var $V=class extends Lv.AbstractMessageReader{static{o(this,"BrowserMessageReader")}constructor(e){super(),this._onData=new Lv.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};hl.BrowserMessageReader=$V;var zV=class extends Lv.AbstractMessageWriter{static{o(this,"BrowserMessageWriter")}constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};hl.BrowserMessageWriter=zV;function eot(t,e,r,i){return r===void 0&&(r=Lv.NullLogger),Lv.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,Lv.createMessageConnection)(t,e,r,i)}o(eot,"createMessageConnection");hl.createMessageConnection=eot});var GV=ar((Rbr,W2e)=>{"use strict";W2e.exports=Um()});var bn=ar(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.ProtocolNotificationType=Bo.ProtocolNotificationType0=Bo.ProtocolRequestType=Bo.ProtocolRequestType0=Bo.RegistrationType=Bo.MessageDirection=void 0;var Rv=Um(),U2e;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(U2e||(Bo.MessageDirection=U2e={}));var VV=class{static{o(this,"RegistrationType")}constructor(e){this.method=e}};Bo.RegistrationType=VV;var qV=class extends Rv.RequestType0{static{o(this,"ProtocolRequestType0")}constructor(e){super(e)}};Bo.ProtocolRequestType0=qV;var WV=class extends Rv.RequestType{static{o(this,"ProtocolRequestType")}constructor(e){super(e,Rv.ParameterStructures.byName)}};Bo.ProtocolRequestType=WV;var UV=class extends Rv.NotificationType0{static{o(this,"ProtocolNotificationType0")}constructor(e){super(e)}};Bo.ProtocolNotificationType0=UV;var HV=class extends Rv.NotificationType{static{o(this,"ProtocolNotificationType")}constructor(e){super(e,Rv.ParameterStructures.byName)}};Bo.ProtocolNotificationType=HV});var ZA=ar(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.objectLiteral=ra.typedArray=ra.stringArray=ra.array=ra.func=ra.error=ra.number=ra.string=ra.boolean=void 0;function tot(t){return t===!0||t===!1}o(tot,"boolean");ra.boolean=tot;function H2e(t){return typeof t=="string"||t instanceof String}o(H2e,"string");ra.string=H2e;function rot(t){return typeof t=="number"||t instanceof Number}o(rot,"number");ra.number=rot;function iot(t){return t instanceof Error}o(iot,"error");ra.error=iot;function not(t){return typeof t=="function"}o(not,"func");ra.func=not;function Y2e(t){return Array.isArray(t)}o(Y2e,"array");ra.array=Y2e;function aot(t){return Y2e(t)&&t.every(e=>H2e(e))}o(aot,"stringArray");ra.stringArray=aot;function sot(t,e){return Array.isArray(t)&&t.every(e)}o(sot,"typedArray");ra.typedArray=sot;function oot(t){return t!==null&&typeof t=="object"}o(oot,"objectLiteral");ra.objectLiteral=oot});var K2e=ar(JA=>{"use strict";Object.defineProperty(JA,"__esModule",{value:!0});JA.ImplementationRequest=void 0;var j2e=bn(),X2e;(function(t){t.method="textDocument/implementation",t.messageDirection=j2e.MessageDirection.clientToServer,t.type=new j2e.ProtocolRequestType(t.method)})(X2e||(JA.ImplementationRequest=X2e={}))});var J2e=ar(e7=>{"use strict";Object.defineProperty(e7,"__esModule",{value:!0});e7.TypeDefinitionRequest=void 0;var Q2e=bn(),Z2e;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=Q2e.MessageDirection.clientToServer,t.type=new Q2e.ProtocolRequestType(t.method)})(Z2e||(e7.TypeDefinitionRequest=Z2e={}))});var rbe=ar(Nv=>{"use strict";Object.defineProperty(Nv,"__esModule",{value:!0});Nv.DidChangeWorkspaceFoldersNotification=Nv.WorkspaceFoldersRequest=void 0;var t7=bn(),ebe;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=t7.MessageDirection.serverToClient,t.type=new t7.ProtocolRequestType0(t.method)})(ebe||(Nv.WorkspaceFoldersRequest=ebe={}));var tbe;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=t7.MessageDirection.clientToServer,t.type=new t7.ProtocolNotificationType(t.method)})(tbe||(Nv.DidChangeWorkspaceFoldersNotification=tbe={}))});var abe=ar(r7=>{"use strict";Object.defineProperty(r7,"__esModule",{value:!0});r7.ConfigurationRequest=void 0;var ibe=bn(),nbe;(function(t){t.method="workspace/configuration",t.messageDirection=ibe.MessageDirection.serverToClient,t.type=new ibe.ProtocolRequestType(t.method)})(nbe||(r7.ConfigurationRequest=nbe={}))});var lbe=ar(Iv=>{"use strict";Object.defineProperty(Iv,"__esModule",{value:!0});Iv.ColorPresentationRequest=Iv.DocumentColorRequest=void 0;var i7=bn(),sbe;(function(t){t.method="textDocument/documentColor",t.messageDirection=i7.MessageDirection.clientToServer,t.type=new i7.ProtocolRequestType(t.method)})(sbe||(Iv.DocumentColorRequest=sbe={}));var obe;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=i7.MessageDirection.clientToServer,t.type=new i7.ProtocolRequestType(t.method)})(obe||(Iv.ColorPresentationRequest=obe={}))});var hbe=ar(Mv=>{"use strict";Object.defineProperty(Mv,"__esModule",{value:!0});Mv.FoldingRangeRefreshRequest=Mv.FoldingRangeRequest=void 0;var n7=bn(),cbe;(function(t){t.method="textDocument/foldingRange",t.messageDirection=n7.MessageDirection.clientToServer,t.type=new n7.ProtocolRequestType(t.method)})(cbe||(Mv.FoldingRangeRequest=cbe={}));var ube;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=n7.MessageDirection.serverToClient,t.type=new n7.ProtocolRequestType0(t.method)})(ube||(Mv.FoldingRangeRefreshRequest=ube={}))});var pbe=ar(a7=>{"use strict";Object.defineProperty(a7,"__esModule",{value:!0});a7.DeclarationRequest=void 0;var fbe=bn(),dbe;(function(t){t.method="textDocument/declaration",t.messageDirection=fbe.MessageDirection.clientToServer,t.type=new fbe.ProtocolRequestType(t.method)})(dbe||(a7.DeclarationRequest=dbe={}))});var ybe=ar(s7=>{"use strict";Object.defineProperty(s7,"__esModule",{value:!0});s7.SelectionRangeRequest=void 0;var mbe=bn(),gbe;(function(t){t.method="textDocument/selectionRange",t.messageDirection=mbe.MessageDirection.clientToServer,t.type=new mbe.ProtocolRequestType(t.method)})(gbe||(s7.SelectionRangeRequest=gbe={}))});var Tbe=ar(pp=>{"use strict";Object.defineProperty(pp,"__esModule",{value:!0});pp.WorkDoneProgressCancelNotification=pp.WorkDoneProgressCreateRequest=pp.WorkDoneProgress=void 0;var lot=Um(),o7=bn(),vbe;(function(t){t.type=new lot.ProgressType;function e(r){return r===t.type}o(e,"is"),t.is=e})(vbe||(pp.WorkDoneProgress=vbe={}));var xbe;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=o7.MessageDirection.serverToClient,t.type=new o7.ProtocolRequestType(t.method)})(xbe||(pp.WorkDoneProgressCreateRequest=xbe={}));var bbe;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=o7.MessageDirection.clientToServer,t.type=new o7.ProtocolNotificationType(t.method)})(bbe||(pp.WorkDoneProgressCancelNotification=bbe={}))});var Ebe=ar(mp=>{"use strict";Object.defineProperty(mp,"__esModule",{value:!0});mp.CallHierarchyOutgoingCallsRequest=mp.CallHierarchyIncomingCallsRequest=mp.CallHierarchyPrepareRequest=void 0;var Ov=bn(),kbe;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=Ov.MessageDirection.clientToServer,t.type=new Ov.ProtocolRequestType(t.method)})(kbe||(mp.CallHierarchyPrepareRequest=kbe={}));var Cbe;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=Ov.MessageDirection.clientToServer,t.type=new Ov.ProtocolRequestType(t.method)})(Cbe||(mp.CallHierarchyIncomingCallsRequest=Cbe={}));var wbe;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=Ov.MessageDirection.clientToServer,t.type=new Ov.ProtocolRequestType(t.method)})(wbe||(mp.CallHierarchyOutgoingCallsRequest=wbe={}))});var Rbe=ar(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.SemanticTokensRefreshRequest=Fo.SemanticTokensRangeRequest=Fo.SemanticTokensDeltaRequest=Fo.SemanticTokensRequest=Fo.SemanticTokensRegistrationType=Fo.TokenFormat=void 0;var gf=bn(),Sbe;(function(t){t.Relative="relative"})(Sbe||(Fo.TokenFormat=Sbe={}));var iC;(function(t){t.method="textDocument/semanticTokens",t.type=new gf.RegistrationType(t.method)})(iC||(Fo.SemanticTokensRegistrationType=iC={}));var Abe;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=gf.MessageDirection.clientToServer,t.type=new gf.ProtocolRequestType(t.method),t.registrationMethod=iC.method})(Abe||(Fo.SemanticTokensRequest=Abe={}));var _be;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=gf.MessageDirection.clientToServer,t.type=new gf.ProtocolRequestType(t.method),t.registrationMethod=iC.method})(_be||(Fo.SemanticTokensDeltaRequest=_be={}));var Dbe;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=gf.MessageDirection.clientToServer,t.type=new gf.ProtocolRequestType(t.method),t.registrationMethod=iC.method})(Dbe||(Fo.SemanticTokensRangeRequest=Dbe={}));var Lbe;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=gf.MessageDirection.serverToClient,t.type=new gf.ProtocolRequestType0(t.method)})(Lbe||(Fo.SemanticTokensRefreshRequest=Lbe={}))});var Mbe=ar(l7=>{"use strict";Object.defineProperty(l7,"__esModule",{value:!0});l7.ShowDocumentRequest=void 0;var Nbe=bn(),Ibe;(function(t){t.method="window/showDocument",t.messageDirection=Nbe.MessageDirection.serverToClient,t.type=new Nbe.ProtocolRequestType(t.method)})(Ibe||(l7.ShowDocumentRequest=Ibe={}))});var Bbe=ar(c7=>{"use strict";Object.defineProperty(c7,"__esModule",{value:!0});c7.LinkedEditingRangeRequest=void 0;var Obe=bn(),Pbe;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=Obe.MessageDirection.clientToServer,t.type=new Obe.ProtocolRequestType(t.method)})(Pbe||(c7.LinkedEditingRangeRequest=Pbe={}))});var Ube=ar(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});Es.WillDeleteFilesRequest=Es.DidDeleteFilesNotification=Es.DidRenameFilesNotification=Es.WillRenameFilesRequest=Es.DidCreateFilesNotification=Es.WillCreateFilesRequest=Es.FileOperationPatternKind=void 0;var Ql=bn(),Fbe;(function(t){t.file="file",t.folder="folder"})(Fbe||(Es.FileOperationPatternKind=Fbe={}));var $be;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Ql.MessageDirection.clientToServer,t.type=new Ql.ProtocolRequestType(t.method)})($be||(Es.WillCreateFilesRequest=$be={}));var zbe;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Ql.MessageDirection.clientToServer,t.type=new Ql.ProtocolNotificationType(t.method)})(zbe||(Es.DidCreateFilesNotification=zbe={}));var Gbe;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Ql.MessageDirection.clientToServer,t.type=new Ql.ProtocolRequestType(t.method)})(Gbe||(Es.WillRenameFilesRequest=Gbe={}));var Vbe;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Ql.MessageDirection.clientToServer,t.type=new Ql.ProtocolNotificationType(t.method)})(Vbe||(Es.DidRenameFilesNotification=Vbe={}));var qbe;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Ql.MessageDirection.clientToServer,t.type=new Ql.ProtocolNotificationType(t.method)})(qbe||(Es.DidDeleteFilesNotification=qbe={}));var Wbe;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Ql.MessageDirection.clientToServer,t.type=new Ql.ProtocolRequestType(t.method)})(Wbe||(Es.WillDeleteFilesRequest=Wbe={}))});var Kbe=ar(gp=>{"use strict";Object.defineProperty(gp,"__esModule",{value:!0});gp.MonikerRequest=gp.MonikerKind=gp.UniquenessLevel=void 0;var Hbe=bn(),Ybe;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(Ybe||(gp.UniquenessLevel=Ybe={}));var jbe;(function(t){t.$import="import",t.$export="export",t.local="local"})(jbe||(gp.MonikerKind=jbe={}));var Xbe;(function(t){t.method="textDocument/moniker",t.messageDirection=Hbe.MessageDirection.clientToServer,t.type=new Hbe.ProtocolRequestType(t.method)})(Xbe||(gp.MonikerRequest=Xbe={}))});var eTe=ar(yp=>{"use strict";Object.defineProperty(yp,"__esModule",{value:!0});yp.TypeHierarchySubtypesRequest=yp.TypeHierarchySupertypesRequest=yp.TypeHierarchyPrepareRequest=void 0;var Pv=bn(),Qbe;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=Pv.MessageDirection.clientToServer,t.type=new Pv.ProtocolRequestType(t.method)})(Qbe||(yp.TypeHierarchyPrepareRequest=Qbe={}));var Zbe;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=Pv.MessageDirection.clientToServer,t.type=new Pv.ProtocolRequestType(t.method)})(Zbe||(yp.TypeHierarchySupertypesRequest=Zbe={}));var Jbe;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=Pv.MessageDirection.clientToServer,t.type=new Pv.ProtocolRequestType(t.method)})(Jbe||(yp.TypeHierarchySubtypesRequest=Jbe={}))});var iTe=ar(Bv=>{"use strict";Object.defineProperty(Bv,"__esModule",{value:!0});Bv.InlineValueRefreshRequest=Bv.InlineValueRequest=void 0;var u7=bn(),tTe;(function(t){t.method="textDocument/inlineValue",t.messageDirection=u7.MessageDirection.clientToServer,t.type=new u7.ProtocolRequestType(t.method)})(tTe||(Bv.InlineValueRequest=tTe={}));var rTe;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=u7.MessageDirection.serverToClient,t.type=new u7.ProtocolRequestType0(t.method)})(rTe||(Bv.InlineValueRefreshRequest=rTe={}))});var oTe=ar(vp=>{"use strict";Object.defineProperty(vp,"__esModule",{value:!0});vp.InlayHintRefreshRequest=vp.InlayHintResolveRequest=vp.InlayHintRequest=void 0;var Fv=bn(),nTe;(function(t){t.method="textDocument/inlayHint",t.messageDirection=Fv.MessageDirection.clientToServer,t.type=new Fv.ProtocolRequestType(t.method)})(nTe||(vp.InlayHintRequest=nTe={}));var aTe;(function(t){t.method="inlayHint/resolve",t.messageDirection=Fv.MessageDirection.clientToServer,t.type=new Fv.ProtocolRequestType(t.method)})(aTe||(vp.InlayHintResolveRequest=aTe={}));var sTe;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=Fv.MessageDirection.serverToClient,t.type=new Fv.ProtocolRequestType0(t.method)})(sTe||(vp.InlayHintRefreshRequest=sTe={}))});var pTe=ar(Zl=>{"use strict";Object.defineProperty(Zl,"__esModule",{value:!0});Zl.DiagnosticRefreshRequest=Zl.WorkspaceDiagnosticRequest=Zl.DocumentDiagnosticRequest=Zl.DocumentDiagnosticReportKind=Zl.DiagnosticServerCancellationData=void 0;var dTe=Um(),cot=ZA(),$v=bn(),lTe;(function(t){function e(r){let i=r;return i&&cot.boolean(i.retriggerRequest)}o(e,"is"),t.is=e})(lTe||(Zl.DiagnosticServerCancellationData=lTe={}));var cTe;(function(t){t.Full="full",t.Unchanged="unchanged"})(cTe||(Zl.DocumentDiagnosticReportKind=cTe={}));var uTe;(function(t){t.method="textDocument/diagnostic",t.messageDirection=$v.MessageDirection.clientToServer,t.type=new $v.ProtocolRequestType(t.method),t.partialResult=new dTe.ProgressType})(uTe||(Zl.DocumentDiagnosticRequest=uTe={}));var hTe;(function(t){t.method="workspace/diagnostic",t.messageDirection=$v.MessageDirection.clientToServer,t.type=new $v.ProtocolRequestType(t.method),t.partialResult=new dTe.ProgressType})(hTe||(Zl.WorkspaceDiagnosticRequest=hTe={}));var fTe;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=$v.MessageDirection.serverToClient,t.type=new $v.ProtocolRequestType0(t.method)})(fTe||(Zl.DiagnosticRefreshRequest=fTe={}))});var TTe=ar(Bn=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:!0});Bn.DidCloseNotebookDocumentNotification=Bn.DidSaveNotebookDocumentNotification=Bn.DidChangeNotebookDocumentNotification=Bn.NotebookCellArrayChange=Bn.DidOpenNotebookDocumentNotification=Bn.NotebookDocumentSyncRegistrationType=Bn.NotebookDocument=Bn.NotebookCell=Bn.ExecutionSummary=Bn.NotebookCellKind=void 0;var nC=(pv(),s4(yA)),Hc=ZA(),th=bn(),YV;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}o(e,"is"),t.is=e})(YV||(Bn.NotebookCellKind=YV={}));var jV;(function(t){function e(n,a){let s={executionOrder:n};return(a===!0||a===!1)&&(s.success=a),s}o(e,"create"),t.create=e;function r(n){let a=n;return Hc.objectLiteral(a)&&nC.uinteger.is(a.executionOrder)&&(a.success===void 0||Hc.boolean(a.success))}o(r,"is"),t.is=r;function i(n,a){return n===a?!0:n==null||a===null||a===void 0?!1:n.executionOrder===a.executionOrder&&n.success===a.success}o(i,"equals"),t.equals=i})(jV||(Bn.ExecutionSummary=jV={}));var h7;(function(t){function e(a,s){return{kind:a,document:s}}o(e,"create"),t.create=e;function r(a){let s=a;return Hc.objectLiteral(s)&&YV.is(s.kind)&&nC.DocumentUri.is(s.document)&&(s.metadata===void 0||Hc.objectLiteral(s.metadata))}o(r,"is"),t.is=r;function i(a,s){let l=new Set;return a.document!==s.document&&l.add("document"),a.kind!==s.kind&&l.add("kind"),a.executionSummary!==s.executionSummary&&l.add("executionSummary"),(a.metadata!==void 0||s.metadata!==void 0)&&!n(a.metadata,s.metadata)&&l.add("metadata"),(a.executionSummary!==void 0||s.executionSummary!==void 0)&&!jV.equals(a.executionSummary,s.executionSummary)&&l.add("executionSummary"),l}o(i,"diff"),t.diff=i;function n(a,s){if(a===s)return!0;if(a==null||s===null||s===void 0||typeof a!=typeof s||typeof a!="object")return!1;let l=Array.isArray(a),u=Array.isArray(s);if(l!==u)return!1;if(l&&u){if(a.length!==s.length)return!1;for(let h=0;h{"use strict";Object.defineProperty(f7,"__esModule",{value:!0});f7.InlineCompletionRequest=void 0;var kTe=bn(),CTe;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=kTe.MessageDirection.clientToServer,t.type=new kTe.ProtocolRequestType(t.method)})(CTe||(f7.InlineCompletionRequest=CTe={}))});var Bke=ar(Ae=>{"use strict";Object.defineProperty(Ae,"__esModule",{value:!0});Ae.WorkspaceSymbolRequest=Ae.CodeActionResolveRequest=Ae.CodeActionRequest=Ae.DocumentSymbolRequest=Ae.DocumentHighlightRequest=Ae.ReferencesRequest=Ae.DefinitionRequest=Ae.SignatureHelpRequest=Ae.SignatureHelpTriggerKind=Ae.HoverRequest=Ae.CompletionResolveRequest=Ae.CompletionRequest=Ae.CompletionTriggerKind=Ae.PublishDiagnosticsNotification=Ae.WatchKind=Ae.RelativePattern=Ae.FileChangeType=Ae.DidChangeWatchedFilesNotification=Ae.WillSaveTextDocumentWaitUntilRequest=Ae.WillSaveTextDocumentNotification=Ae.TextDocumentSaveReason=Ae.DidSaveTextDocumentNotification=Ae.DidCloseTextDocumentNotification=Ae.DidChangeTextDocumentNotification=Ae.TextDocumentContentChangeEvent=Ae.DidOpenTextDocumentNotification=Ae.TextDocumentSyncKind=Ae.TelemetryEventNotification=Ae.LogMessageNotification=Ae.ShowMessageRequest=Ae.ShowMessageNotification=Ae.MessageType=Ae.DidChangeConfigurationNotification=Ae.ExitNotification=Ae.ShutdownRequest=Ae.InitializedNotification=Ae.InitializeErrorCodes=Ae.InitializeRequest=Ae.WorkDoneProgressOptions=Ae.TextDocumentRegistrationOptions=Ae.StaticRegistrationOptions=Ae.PositionEncodingKind=Ae.FailureHandlingKind=Ae.ResourceOperationKind=Ae.UnregistrationRequest=Ae.RegistrationRequest=Ae.DocumentSelector=Ae.NotebookCellTextDocumentFilter=Ae.NotebookDocumentFilter=Ae.TextDocumentFilter=void 0;Ae.MonikerRequest=Ae.MonikerKind=Ae.UniquenessLevel=Ae.WillDeleteFilesRequest=Ae.DidDeleteFilesNotification=Ae.WillRenameFilesRequest=Ae.DidRenameFilesNotification=Ae.WillCreateFilesRequest=Ae.DidCreateFilesNotification=Ae.FileOperationPatternKind=Ae.LinkedEditingRangeRequest=Ae.ShowDocumentRequest=Ae.SemanticTokensRegistrationType=Ae.SemanticTokensRefreshRequest=Ae.SemanticTokensRangeRequest=Ae.SemanticTokensDeltaRequest=Ae.SemanticTokensRequest=Ae.TokenFormat=Ae.CallHierarchyPrepareRequest=Ae.CallHierarchyOutgoingCallsRequest=Ae.CallHierarchyIncomingCallsRequest=Ae.WorkDoneProgressCancelNotification=Ae.WorkDoneProgressCreateRequest=Ae.WorkDoneProgress=Ae.SelectionRangeRequest=Ae.DeclarationRequest=Ae.FoldingRangeRefreshRequest=Ae.FoldingRangeRequest=Ae.ColorPresentationRequest=Ae.DocumentColorRequest=Ae.ConfigurationRequest=Ae.DidChangeWorkspaceFoldersNotification=Ae.WorkspaceFoldersRequest=Ae.TypeDefinitionRequest=Ae.ImplementationRequest=Ae.ApplyWorkspaceEditRequest=Ae.ExecuteCommandRequest=Ae.PrepareRenameRequest=Ae.RenameRequest=Ae.PrepareSupportDefaultBehavior=Ae.DocumentOnTypeFormattingRequest=Ae.DocumentRangesFormattingRequest=Ae.DocumentRangeFormattingRequest=Ae.DocumentFormattingRequest=Ae.DocumentLinkResolveRequest=Ae.DocumentLinkRequest=Ae.CodeLensRefreshRequest=Ae.CodeLensResolveRequest=Ae.CodeLensRequest=Ae.WorkspaceSymbolResolveRequest=void 0;Ae.InlineCompletionRequest=Ae.DidCloseNotebookDocumentNotification=Ae.DidSaveNotebookDocumentNotification=Ae.DidChangeNotebookDocumentNotification=Ae.NotebookCellArrayChange=Ae.DidOpenNotebookDocumentNotification=Ae.NotebookDocumentSyncRegistrationType=Ae.NotebookDocument=Ae.NotebookCell=Ae.ExecutionSummary=Ae.NotebookCellKind=Ae.DiagnosticRefreshRequest=Ae.WorkspaceDiagnosticRequest=Ae.DocumentDiagnosticRequest=Ae.DocumentDiagnosticReportKind=Ae.DiagnosticServerCancellationData=Ae.InlayHintRefreshRequest=Ae.InlayHintResolveRequest=Ae.InlayHintRequest=Ae.InlineValueRefreshRequest=Ae.InlineValueRequest=Ae.TypeHierarchySupertypesRequest=Ae.TypeHierarchySubtypesRequest=Ae.TypeHierarchyPrepareRequest=void 0;var At=bn(),ETe=(pv(),s4(yA)),$a=ZA(),uot=K2e();Object.defineProperty(Ae,"ImplementationRequest",{enumerable:!0,get:o(function(){return uot.ImplementationRequest},"get")});var hot=J2e();Object.defineProperty(Ae,"TypeDefinitionRequest",{enumerable:!0,get:o(function(){return hot.TypeDefinitionRequest},"get")});var Ike=rbe();Object.defineProperty(Ae,"WorkspaceFoldersRequest",{enumerable:!0,get:o(function(){return Ike.WorkspaceFoldersRequest},"get")});Object.defineProperty(Ae,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:o(function(){return Ike.DidChangeWorkspaceFoldersNotification},"get")});var fot=abe();Object.defineProperty(Ae,"ConfigurationRequest",{enumerable:!0,get:o(function(){return fot.ConfigurationRequest},"get")});var Mke=lbe();Object.defineProperty(Ae,"DocumentColorRequest",{enumerable:!0,get:o(function(){return Mke.DocumentColorRequest},"get")});Object.defineProperty(Ae,"ColorPresentationRequest",{enumerable:!0,get:o(function(){return Mke.ColorPresentationRequest},"get")});var Oke=hbe();Object.defineProperty(Ae,"FoldingRangeRequest",{enumerable:!0,get:o(function(){return Oke.FoldingRangeRequest},"get")});Object.defineProperty(Ae,"FoldingRangeRefreshRequest",{enumerable:!0,get:o(function(){return Oke.FoldingRangeRefreshRequest},"get")});var dot=pbe();Object.defineProperty(Ae,"DeclarationRequest",{enumerable:!0,get:o(function(){return dot.DeclarationRequest},"get")});var pot=ybe();Object.defineProperty(Ae,"SelectionRangeRequest",{enumerable:!0,get:o(function(){return pot.SelectionRangeRequest},"get")});var JV=Tbe();Object.defineProperty(Ae,"WorkDoneProgress",{enumerable:!0,get:o(function(){return JV.WorkDoneProgress},"get")});Object.defineProperty(Ae,"WorkDoneProgressCreateRequest",{enumerable:!0,get:o(function(){return JV.WorkDoneProgressCreateRequest},"get")});Object.defineProperty(Ae,"WorkDoneProgressCancelNotification",{enumerable:!0,get:o(function(){return JV.WorkDoneProgressCancelNotification},"get")});var eq=Ebe();Object.defineProperty(Ae,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:o(function(){return eq.CallHierarchyIncomingCallsRequest},"get")});Object.defineProperty(Ae,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:o(function(){return eq.CallHierarchyOutgoingCallsRequest},"get")});Object.defineProperty(Ae,"CallHierarchyPrepareRequest",{enumerable:!0,get:o(function(){return eq.CallHierarchyPrepareRequest},"get")});var Gv=Rbe();Object.defineProperty(Ae,"TokenFormat",{enumerable:!0,get:o(function(){return Gv.TokenFormat},"get")});Object.defineProperty(Ae,"SemanticTokensRequest",{enumerable:!0,get:o(function(){return Gv.SemanticTokensRequest},"get")});Object.defineProperty(Ae,"SemanticTokensDeltaRequest",{enumerable:!0,get:o(function(){return Gv.SemanticTokensDeltaRequest},"get")});Object.defineProperty(Ae,"SemanticTokensRangeRequest",{enumerable:!0,get:o(function(){return Gv.SemanticTokensRangeRequest},"get")});Object.defineProperty(Ae,"SemanticTokensRefreshRequest",{enumerable:!0,get:o(function(){return Gv.SemanticTokensRefreshRequest},"get")});Object.defineProperty(Ae,"SemanticTokensRegistrationType",{enumerable:!0,get:o(function(){return Gv.SemanticTokensRegistrationType},"get")});var mot=Mbe();Object.defineProperty(Ae,"ShowDocumentRequest",{enumerable:!0,get:o(function(){return mot.ShowDocumentRequest},"get")});var got=Bbe();Object.defineProperty(Ae,"LinkedEditingRangeRequest",{enumerable:!0,get:o(function(){return got.LinkedEditingRangeRequest},"get")});var Hm=Ube();Object.defineProperty(Ae,"FileOperationPatternKind",{enumerable:!0,get:o(function(){return Hm.FileOperationPatternKind},"get")});Object.defineProperty(Ae,"DidCreateFilesNotification",{enumerable:!0,get:o(function(){return Hm.DidCreateFilesNotification},"get")});Object.defineProperty(Ae,"WillCreateFilesRequest",{enumerable:!0,get:o(function(){return Hm.WillCreateFilesRequest},"get")});Object.defineProperty(Ae,"DidRenameFilesNotification",{enumerable:!0,get:o(function(){return Hm.DidRenameFilesNotification},"get")});Object.defineProperty(Ae,"WillRenameFilesRequest",{enumerable:!0,get:o(function(){return Hm.WillRenameFilesRequest},"get")});Object.defineProperty(Ae,"DidDeleteFilesNotification",{enumerable:!0,get:o(function(){return Hm.DidDeleteFilesNotification},"get")});Object.defineProperty(Ae,"WillDeleteFilesRequest",{enumerable:!0,get:o(function(){return Hm.WillDeleteFilesRequest},"get")});var tq=Kbe();Object.defineProperty(Ae,"UniquenessLevel",{enumerable:!0,get:o(function(){return tq.UniquenessLevel},"get")});Object.defineProperty(Ae,"MonikerKind",{enumerable:!0,get:o(function(){return tq.MonikerKind},"get")});Object.defineProperty(Ae,"MonikerRequest",{enumerable:!0,get:o(function(){return tq.MonikerRequest},"get")});var rq=eTe();Object.defineProperty(Ae,"TypeHierarchyPrepareRequest",{enumerable:!0,get:o(function(){return rq.TypeHierarchyPrepareRequest},"get")});Object.defineProperty(Ae,"TypeHierarchySubtypesRequest",{enumerable:!0,get:o(function(){return rq.TypeHierarchySubtypesRequest},"get")});Object.defineProperty(Ae,"TypeHierarchySupertypesRequest",{enumerable:!0,get:o(function(){return rq.TypeHierarchySupertypesRequest},"get")});var Pke=iTe();Object.defineProperty(Ae,"InlineValueRequest",{enumerable:!0,get:o(function(){return Pke.InlineValueRequest},"get")});Object.defineProperty(Ae,"InlineValueRefreshRequest",{enumerable:!0,get:o(function(){return Pke.InlineValueRefreshRequest},"get")});var iq=oTe();Object.defineProperty(Ae,"InlayHintRequest",{enumerable:!0,get:o(function(){return iq.InlayHintRequest},"get")});Object.defineProperty(Ae,"InlayHintResolveRequest",{enumerable:!0,get:o(function(){return iq.InlayHintResolveRequest},"get")});Object.defineProperty(Ae,"InlayHintRefreshRequest",{enumerable:!0,get:o(function(){return iq.InlayHintRefreshRequest},"get")});var aC=pTe();Object.defineProperty(Ae,"DiagnosticServerCancellationData",{enumerable:!0,get:o(function(){return aC.DiagnosticServerCancellationData},"get")});Object.defineProperty(Ae,"DocumentDiagnosticReportKind",{enumerable:!0,get:o(function(){return aC.DocumentDiagnosticReportKind},"get")});Object.defineProperty(Ae,"DocumentDiagnosticRequest",{enumerable:!0,get:o(function(){return aC.DocumentDiagnosticRequest},"get")});Object.defineProperty(Ae,"WorkspaceDiagnosticRequest",{enumerable:!0,get:o(function(){return aC.WorkspaceDiagnosticRequest},"get")});Object.defineProperty(Ae,"DiagnosticRefreshRequest",{enumerable:!0,get:o(function(){return aC.DiagnosticRefreshRequest},"get")});var rh=TTe();Object.defineProperty(Ae,"NotebookCellKind",{enumerable:!0,get:o(function(){return rh.NotebookCellKind},"get")});Object.defineProperty(Ae,"ExecutionSummary",{enumerable:!0,get:o(function(){return rh.ExecutionSummary},"get")});Object.defineProperty(Ae,"NotebookCell",{enumerable:!0,get:o(function(){return rh.NotebookCell},"get")});Object.defineProperty(Ae,"NotebookDocument",{enumerable:!0,get:o(function(){return rh.NotebookDocument},"get")});Object.defineProperty(Ae,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:o(function(){return rh.NotebookDocumentSyncRegistrationType},"get")});Object.defineProperty(Ae,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:o(function(){return rh.DidOpenNotebookDocumentNotification},"get")});Object.defineProperty(Ae,"NotebookCellArrayChange",{enumerable:!0,get:o(function(){return rh.NotebookCellArrayChange},"get")});Object.defineProperty(Ae,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:o(function(){return rh.DidChangeNotebookDocumentNotification},"get")});Object.defineProperty(Ae,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:o(function(){return rh.DidSaveNotebookDocumentNotification},"get")});Object.defineProperty(Ae,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:o(function(){return rh.DidCloseNotebookDocumentNotification},"get")});var yot=wTe();Object.defineProperty(Ae,"InlineCompletionRequest",{enumerable:!0,get:o(function(){return yot.InlineCompletionRequest},"get")});var XV;(function(t){function e(r){let i=r;return $a.string(i)||$a.string(i.language)||$a.string(i.scheme)||$a.string(i.pattern)}o(e,"is"),t.is=e})(XV||(Ae.TextDocumentFilter=XV={}));var KV;(function(t){function e(r){let i=r;return $a.objectLiteral(i)&&($a.string(i.notebookType)||$a.string(i.scheme)||$a.string(i.pattern))}o(e,"is"),t.is=e})(KV||(Ae.NotebookDocumentFilter=KV={}));var QV;(function(t){function e(r){let i=r;return $a.objectLiteral(i)&&($a.string(i.notebook)||KV.is(i.notebook))&&(i.language===void 0||$a.string(i.language))}o(e,"is"),t.is=e})(QV||(Ae.NotebookCellTextDocumentFilter=QV={}));var ZV;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let i of r)if(!$a.string(i)&&!XV.is(i)&&!QV.is(i))return!1;return!0}o(e,"is"),t.is=e})(ZV||(Ae.DocumentSelector=ZV={}));var STe;(function(t){t.method="client/registerCapability",t.messageDirection=At.MessageDirection.serverToClient,t.type=new At.ProtocolRequestType(t.method)})(STe||(Ae.RegistrationRequest=STe={}));var ATe;(function(t){t.method="client/unregisterCapability",t.messageDirection=At.MessageDirection.serverToClient,t.type=new At.ProtocolRequestType(t.method)})(ATe||(Ae.UnregistrationRequest=ATe={}));var _Te;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(_Te||(Ae.ResourceOperationKind=_Te={}));var DTe;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(DTe||(Ae.FailureHandlingKind=DTe={}));var LTe;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(LTe||(Ae.PositionEncodingKind=LTe={}));var RTe;(function(t){function e(r){let i=r;return i&&$a.string(i.id)&&i.id.length>0}o(e,"hasId"),t.hasId=e})(RTe||(Ae.StaticRegistrationOptions=RTe={}));var NTe;(function(t){function e(r){let i=r;return i&&(i.documentSelector===null||ZV.is(i.documentSelector))}o(e,"is"),t.is=e})(NTe||(Ae.TextDocumentRegistrationOptions=NTe={}));var ITe;(function(t){function e(i){let n=i;return $a.objectLiteral(n)&&(n.workDoneProgress===void 0||$a.boolean(n.workDoneProgress))}o(e,"is"),t.is=e;function r(i){let n=i;return n&&$a.boolean(n.workDoneProgress)}o(r,"hasWorkDoneProgress"),t.hasWorkDoneProgress=r})(ITe||(Ae.WorkDoneProgressOptions=ITe={}));var MTe;(function(t){t.method="initialize",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(MTe||(Ae.InitializeRequest=MTe={}));var OTe;(function(t){t.unknownProtocolVersion=1})(OTe||(Ae.InitializeErrorCodes=OTe={}));var PTe;(function(t){t.method="initialized",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolNotificationType(t.method)})(PTe||(Ae.InitializedNotification=PTe={}));var BTe;(function(t){t.method="shutdown",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType0(t.method)})(BTe||(Ae.ShutdownRequest=BTe={}));var FTe;(function(t){t.method="exit",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolNotificationType0(t.method)})(FTe||(Ae.ExitNotification=FTe={}));var $Te;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolNotificationType(t.method)})($Te||(Ae.DidChangeConfigurationNotification=$Te={}));var zTe;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})(zTe||(Ae.MessageType=zTe={}));var GTe;(function(t){t.method="window/showMessage",t.messageDirection=At.MessageDirection.serverToClient,t.type=new At.ProtocolNotificationType(t.method)})(GTe||(Ae.ShowMessageNotification=GTe={}));var VTe;(function(t){t.method="window/showMessageRequest",t.messageDirection=At.MessageDirection.serverToClient,t.type=new At.ProtocolRequestType(t.method)})(VTe||(Ae.ShowMessageRequest=VTe={}));var qTe;(function(t){t.method="window/logMessage",t.messageDirection=At.MessageDirection.serverToClient,t.type=new At.ProtocolNotificationType(t.method)})(qTe||(Ae.LogMessageNotification=qTe={}));var WTe;(function(t){t.method="telemetry/event",t.messageDirection=At.MessageDirection.serverToClient,t.type=new At.ProtocolNotificationType(t.method)})(WTe||(Ae.TelemetryEventNotification=WTe={}));var UTe;(function(t){t.None=0,t.Full=1,t.Incremental=2})(UTe||(Ae.TextDocumentSyncKind=UTe={}));var HTe;(function(t){t.method="textDocument/didOpen",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolNotificationType(t.method)})(HTe||(Ae.DidOpenTextDocumentNotification=HTe={}));var YTe;(function(t){function e(i){let n=i;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}o(e,"isIncremental"),t.isIncremental=e;function r(i){let n=i;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}o(r,"isFull"),t.isFull=r})(YTe||(Ae.TextDocumentContentChangeEvent=YTe={}));var jTe;(function(t){t.method="textDocument/didChange",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolNotificationType(t.method)})(jTe||(Ae.DidChangeTextDocumentNotification=jTe={}));var XTe;(function(t){t.method="textDocument/didClose",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolNotificationType(t.method)})(XTe||(Ae.DidCloseTextDocumentNotification=XTe={}));var KTe;(function(t){t.method="textDocument/didSave",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolNotificationType(t.method)})(KTe||(Ae.DidSaveTextDocumentNotification=KTe={}));var QTe;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(QTe||(Ae.TextDocumentSaveReason=QTe={}));var ZTe;(function(t){t.method="textDocument/willSave",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolNotificationType(t.method)})(ZTe||(Ae.WillSaveTextDocumentNotification=ZTe={}));var JTe;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(JTe||(Ae.WillSaveTextDocumentWaitUntilRequest=JTe={}));var eke;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolNotificationType(t.method)})(eke||(Ae.DidChangeWatchedFilesNotification=eke={}));var tke;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(tke||(Ae.FileChangeType=tke={}));var rke;(function(t){function e(r){let i=r;return $a.objectLiteral(i)&&(ETe.URI.is(i.baseUri)||ETe.WorkspaceFolder.is(i.baseUri))&&$a.string(i.pattern)}o(e,"is"),t.is=e})(rke||(Ae.RelativePattern=rke={}));var ike;(function(t){t.Create=1,t.Change=2,t.Delete=4})(ike||(Ae.WatchKind=ike={}));var nke;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=At.MessageDirection.serverToClient,t.type=new At.ProtocolNotificationType(t.method)})(nke||(Ae.PublishDiagnosticsNotification=nke={}));var ake;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(ake||(Ae.CompletionTriggerKind=ake={}));var ske;(function(t){t.method="textDocument/completion",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(ske||(Ae.CompletionRequest=ske={}));var oke;(function(t){t.method="completionItem/resolve",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(oke||(Ae.CompletionResolveRequest=oke={}));var lke;(function(t){t.method="textDocument/hover",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(lke||(Ae.HoverRequest=lke={}));var cke;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(cke||(Ae.SignatureHelpTriggerKind=cke={}));var uke;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(uke||(Ae.SignatureHelpRequest=uke={}));var hke;(function(t){t.method="textDocument/definition",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(hke||(Ae.DefinitionRequest=hke={}));var fke;(function(t){t.method="textDocument/references",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(fke||(Ae.ReferencesRequest=fke={}));var dke;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(dke||(Ae.DocumentHighlightRequest=dke={}));var pke;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(pke||(Ae.DocumentSymbolRequest=pke={}));var mke;(function(t){t.method="textDocument/codeAction",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(mke||(Ae.CodeActionRequest=mke={}));var gke;(function(t){t.method="codeAction/resolve",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(gke||(Ae.CodeActionResolveRequest=gke={}));var yke;(function(t){t.method="workspace/symbol",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(yke||(Ae.WorkspaceSymbolRequest=yke={}));var vke;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(vke||(Ae.WorkspaceSymbolResolveRequest=vke={}));var xke;(function(t){t.method="textDocument/codeLens",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(xke||(Ae.CodeLensRequest=xke={}));var bke;(function(t){t.method="codeLens/resolve",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(bke||(Ae.CodeLensResolveRequest=bke={}));var Tke;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=At.MessageDirection.serverToClient,t.type=new At.ProtocolRequestType0(t.method)})(Tke||(Ae.CodeLensRefreshRequest=Tke={}));var kke;(function(t){t.method="textDocument/documentLink",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(kke||(Ae.DocumentLinkRequest=kke={}));var Cke;(function(t){t.method="documentLink/resolve",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(Cke||(Ae.DocumentLinkResolveRequest=Cke={}));var wke;(function(t){t.method="textDocument/formatting",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(wke||(Ae.DocumentFormattingRequest=wke={}));var Eke;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(Eke||(Ae.DocumentRangeFormattingRequest=Eke={}));var Ske;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(Ske||(Ae.DocumentRangesFormattingRequest=Ske={}));var Ake;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(Ake||(Ae.DocumentOnTypeFormattingRequest=Ake={}));var _ke;(function(t){t.Identifier=1})(_ke||(Ae.PrepareSupportDefaultBehavior=_ke={}));var Dke;(function(t){t.method="textDocument/rename",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(Dke||(Ae.RenameRequest=Dke={}));var Lke;(function(t){t.method="textDocument/prepareRename",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(Lke||(Ae.PrepareRenameRequest=Lke={}));var Rke;(function(t){t.method="workspace/executeCommand",t.messageDirection=At.MessageDirection.clientToServer,t.type=new At.ProtocolRequestType(t.method)})(Rke||(Ae.ExecuteCommandRequest=Rke={}));var Nke;(function(t){t.method="workspace/applyEdit",t.messageDirection=At.MessageDirection.serverToClient,t.type=new At.ProtocolRequestType("workspace/applyEdit")})(Nke||(Ae.ApplyWorkspaceEditRequest=Nke={}))});var $ke=ar(d7=>{"use strict";Object.defineProperty(d7,"__esModule",{value:!0});d7.createProtocolConnection=void 0;var Fke=Um();function vot(t,e,r,i){return Fke.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,Fke.createMessageConnection)(t,e,r,i)}o(vot,"createProtocolConnection");d7.createProtocolConnection=vot});var Gke=ar($o=>{"use strict";var xot=$o&&$o.__createBinding||(Object.create?(function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,i,n)}):(function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]})),p7=$o&&$o.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&xot(e,t,r)};Object.defineProperty($o,"__esModule",{value:!0});$o.LSPErrorCodes=$o.createProtocolConnection=void 0;p7(Um(),$o);p7((pv(),s4(yA)),$o);p7(bn(),$o);p7(Bke(),$o);var bot=$ke();Object.defineProperty($o,"createProtocolConnection",{enumerable:!0,get:o(function(){return bot.createProtocolConnection},"get")});var zke;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(zke||($o.LSPErrorCodes=zke={}))});var qke=ar(ih=>{"use strict";var Tot=ih&&ih.__createBinding||(Object.create?(function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,i,n)}):(function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]})),Vke=ih&&ih.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Tot(e,t,r)};Object.defineProperty(ih,"__esModule",{value:!0});ih.createProtocolConnection=void 0;var kot=GV();Vke(GV(),ih);Vke(Gke(),ih);function Cot(t,e,r,i){return(0,kot.createMessageConnection)(t,e,r,i)}o(Cot,"createProtocolConnection");ih.createProtocolConnection=Cot});var xp,nq=P(()=>{"use strict";(function(t){function e(r){return{dispose:o(async()=>await r(),"dispose")}}o(e,"create"),t.create=e})(xp||(xp={}))});var Vv,sC,aq=P(()=>{"use strict";Vv=Wa(qke(),1);Yl();nq();up();Xl();Ys();Wc();Cv();sC=class{static{o(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Cs,this.documentPhaseListeners=new Cs,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Ur.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},i=$r.CancellationToken.None){for(let n of e){let a=n.uri.toString();if(n.state===Ur.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(n,Ur.IndexedReferences);else if(typeof r.validation=="object"){let s=this.findMissingValidationCategories(n,r);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),n.state=Ur.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=Ur.Changed,await this.emitUpdate(e.map(n=>n.uri),[]),await this.buildDocuments(e,r,i)}async update(e,r,i=$r.CancellationToken.None){this.currentState=Ur.Changed;let n=[];for(let u of r){let h=this.langiumDocuments.deleteDocuments(u);for(let f of h)n.push(f.uri),this.cleanUpDeleted(f)}let a=(await Promise.all(e.map(u=>this.findChangedUris(u)))).flat();for(let u of a){let h=this.langiumDocuments.getDocument(u);h===void 0&&(h=this.langiumDocumentFactory.fromModel({$type:"INVALID"},u),h.state=Ur.Changed,this.langiumDocuments.addDocument(h)),this.resetToState(h,Ur.Changed)}let s=jr(a).concat(n).map(u=>u.toString()).toSet();this.langiumDocuments.all.filter(u=>!s.has(u.uri.toString())&&this.shouldRelink(u,s)).forEach(u=>this.resetToState(u,Ur.ComputedScopes)),await this.emitUpdate(a,n),await Dn(i);let l=this.sortDocuments(this.langiumDocuments.all.filter(u=>u.state=1}findMissingValidationCategories(e,r){let i=this.buildState.get(e.uri.toString()),n=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=i?.result?.validationChecks?new Set(i?.result?.validationChecks):i?.completed?n:new Set,s=r===void 0||r.validation===!0?n:typeof r.validation=="object"?r.validation.categories??n:[];return jr(s).filter(l=>!a.has(l)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let i=await this.fileSystemProvider.stat(e);if(i.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(i))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(i=>i(e,r)))}sortDocuments(e){let r=0,i=e.length-1;for(;r=0&&!this.hasTextDocument(e[i]);)i--;ri.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),xp.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case Ur.Changed:case Ur.Parsed:this.indexManager.removeContent(e.uri);case Ur.IndexedContent:e.localSymbols=void 0;case Ur.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case Ur.Linked:this.indexManager.removeReferences(e.uri);case Ur.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case Ur.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=Ur.Changed}async buildDocuments(e,r,i){this.prepareBuild(e,r),await this.runCancelable(e,Ur.Parsed,i,s=>this.langiumDocumentFactory.update(s,i)),await this.runCancelable(e,Ur.IndexedContent,i,s=>this.indexManager.updateContent(s,i)),await this.runCancelable(e,Ur.ComputedScopes,i,async s=>{let l=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await l.collectLocalSymbols(s,i)});let n=e.filter(s=>this.shouldLink(s));await this.runCancelable(n,Ur.Linked,i,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,i)),await this.runCancelable(n,Ur.IndexedReferences,i,s=>this.indexManager.updateReferences(s,i));let a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,Ur.Validated,i,async s=>{await this.validate(s,i),this.markAsCompleted(s)})}markAsCompleted(e){let r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(let i of e){let n=i.uri.toString(),a=this.buildState.get(n);(!a||a.completed)&&this.buildState.set(n,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,i,n){for(let s of e)s.states.state===r);await this.notifyBuildPhase(a,r,i),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),xp.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),xp.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,i){let n;return r&&"path"in r?n=r:i=r,i??(i=$r.CancellationToken.None),n?this.awaitDocumentState(e,n,i):this.awaitBuilderState(e,i)}awaitDocumentState(e,r,i){let n=this.langiumDocuments.getDocument(r);if(n){if(n.state>=e)return Promise.resolve(r);if(i.isCancellationRequested)return Promise.reject(jl);if(this.currentState>=e&&e>n.state)return Promise.reject(new Vv.ResponseError(Vv.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${Ur[n.state]}, requiring ${Ur[e]}, but workspace state is already ${Ur[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Vv.ResponseError(Vv.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{let l=this.onDocumentPhase(e,h=>{Vn.equals(h.uri,r)&&(l.dispose(),u.dispose(),a(h.uri))}),u=i.onCancellationRequested(()=>{l.dispose(),u.dispose(),s(jl)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(jl):new Promise((i,n)=>{let a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),i()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),n(jl)})})}async notifyDocumentPhase(e,r,i){let a=this.documentPhaseListeners.get(r).slice();for(let s of a)try{await Dn(i),await s(e,i)}catch(l){if(!Ju(l))throw l}}async notifyBuildPhase(e,r,i){if(e.length===0)return;let a=this.buildPhaseListeners.get(r).slice();for(let s of a)await Dn(i),await s(e,i)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){let i=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,n=this.getBuildOptions(e),a=typeof n.validation=="object"?{...n.validation}:{};a.categories=this.findMissingValidationCategories(e,n);let s=await i.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;let l=this.buildState.get(e.uri.toString());l&&(l.result??(l.result={}),l.result.validationChecks?l.result.validationChecks=jr(l.result.validationChecks).concat(a.categories).distinct().toArray():l.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}});var oC,sq=P(()=>{"use strict";Ts();NA();Yl();Ys();Wc();oC=class{static{o(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Vm,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let i=bs(e).uri,n=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{Vn.equals(s.targetUri,i)&&s.targetPath===r&&n.push(s)})}),jr(n)}allElements(e,r){let i=jr(this.symbolIndex.keys());return r&&(i=i.filter(n=>!r||r.has(n))),i.map(n=>this.getFileDescriptions(n,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){let r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=$r.CancellationToken.None){let n=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,n),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=$r.CancellationToken.None){let n=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),n)}isAffected(e,r){let i=this.referenceIndex.get(e.uri.toString());return i?i.some(n=>!n.local&&r.has(n.targetUri.toString())):!1}}});var lC,oq=P(()=>{"use strict";Yl();Xl();Wc();Ys();lC=class{static{o(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new eo,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=$r.CancellationToken.None){let i=await this.performStartup(e);await Dn(r),await this.documentBuilder.build(i,this.initialBuildOptions,r)}async performStartup(e){let r=[],i=o(s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)},"collector");await this.loadAdditionalDocuments(e,i);let n=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,n)));let a=jr(n).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,i),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async i=>{let n=await this.langiumDocuments.getOrCreateDocument(i);r(n)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return va.parse(e.uri)}async traverseFolder(e,r){try{let i=await this.fileSystemProvider.readDirectory(e);await Promise.all(i.map(async n=>{this.shouldIncludeEntry(n)&&(n.isDirectory?await this.traverseFolder(n.uri,r):n.isFile&&r.push(n.uri))}))}catch(i){console.error("Failure to read directory content of "+e.toString(!0),i)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=Vn.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}});function g7(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function cq(t){return t&&"modes"in t&&"defaultMode"in t}function lq(t){return!g7(t)&&!cq(t)}var cC,m7,Ym,y7=P(()=>{"use strict";sp();cC=class{static{o(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,r,i,n,a){return jy.buildUnexpectedCharactersMessage(e,r,i,n,a)}buildUnableToPopLexerModeMessage(e){return jy.buildUnableToPopLexerModeMessage(e)}},m7={mode:"full"},Ym=class{static{o(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let i=lq(r)?Object.values(r):r,n=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new yn(i,{positionTracking:"full",skipValidations:n,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=m7){let i=this.chevrotainLexer.tokenize(e);return{tokens:i.tokens,errors:i.errors,hidden:i.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(lq(e))return e;let r=cq(e)?Object.values(e.modes).flat():e,i={};return r.forEach(n=>i[n.name]=n),i}};o(g7,"isTokenTypeArray");o(cq,"isIMultiModeLexerDefinition");o(lq,"isTokenTypeDictionary")});function fq(t,e,r){let i,n;typeof t=="string"?(n=e,i=r):(n=t.range.start,i=e),n||(n=oi.create(0,0));let a=Hke(t),s=pq(i),l=Eot({lines:a,position:n,options:s});return Lot({index:0,tokens:l,position:n})}function dq(t,e){let r=pq(e),i=Hke(t);if(i.length===0)return!1;let n=i[0],a=i[i.length-1],s=r.start,l=r.end;return!!s?.exec(n)&&!!l?.exec(a)}function Hke(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(n$)}function Eot(t){let e=[],r=t.position.line,i=t.position.character;for(let n=0;n=l.length){if(e.length>0){let f=oi.create(r,i);e.push({type:"break",content:"",range:Jr.create(f,f)})}}else{Wke.lastIndex=u;let f=Wke.exec(l);if(f){let d=f[0],p=f[1],m=oi.create(r,i+u),g=oi.create(r,i+u+d.length);e.push({type:"tag",content:p,range:Jr.create(m,g)}),u+=d.length,u=hq(l,u)}if(u0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function Sot(t,e,r,i){let n=[];if(t.length===0){let a=oi.create(r,i),s=oi.create(r,i+e.length);n.push({type:"text",content:e,range:Jr.create(a,s)})}else{let a=0;for(let l of t){let u=l.index,h=e.substring(a,u);h.length>0&&n.push({type:"text",content:e.substring(a,u),range:Jr.create(oi.create(r,a+i),oi.create(r,u+i))});let f=h.length+1,d=l[1];if(n.push({type:"inline-tag",content:d,range:Jr.create(oi.create(r,a+f+i),oi.create(r,a+f+d.length+i))}),f+=d.length,l.length===4){f+=l[2].length;let p=l[3];n.push({type:"text",content:p,range:Jr.create(oi.create(r,a+f+i),oi.create(r,a+f+p.length+i))})}else n.push({type:"text",content:"",range:Jr.create(oi.create(r,a+f+i),oi.create(r,a+f+i))});a=u+l[0].length}let s=e.substring(a);s.length>0&&n.push({type:"text",content:s,range:Jr.create(oi.create(r,a+i),oi.create(r,a+i+s.length))})}return n}function hq(t,e){let r=t.substring(e).match(Aot);return r?e+r.index:t.length}function Dot(t){let e=t.match(_ot);if(e&&typeof e.index=="number")return e.index}function Lot(t){let e=oi.create(t.position.line,t.position.character);if(t.tokens.length===0)return new v7([],Jr.create(e,e));let r=[];for(;t.index0){let s=hq(e,i);n=e.substring(s),e=e.substring(0,i)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(n=`\`${n}\``),r.renderLink?.(e,n)??Oot(e,n)}}function Oot(t,e){try{return va.parse(t,!0),`[${e}](${t})`}catch{return t}}function Uke(t){return t.endsWith(` -`)?` -`:` - -`}var Wke,wot,Aot,_ot,v7,uC,hC,x7,mq=P(()=>{"use strict";pv();Fy();Wc();o(fq,"parseJSDoc");o(dq,"isJSDoc");o(Hke,"getLines");Wke=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,wot=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;o(Eot,"tokenize");o(Sot,"buildInlineTokens");Aot=/\S/,_ot=/\s*$/;o(hq,"skipWhitespace");o(Dot,"lastCharacter");o(Lot,"parseJSDocComment");o(Rot,"parseJSDocElement");o(Not,"appendEmptyLine");o(Yke,"parseJSDocText");o(Iot,"parseJSDocInline");o(jke,"parseJSDocTag");o(Xke,"parseJSDocLine");o(pq,"normalizeOptions");o(uq,"normalizeOption");v7=class{static{o(this,"JSDocCommentImpl")}constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let i=r.toString();e+=Uke(e)+i}return e.trim()}toMarkdown(e){let r="";for(let i of this.elements)if(r.length===0)r=i.toMarkdown(e);else{let n=i.toMarkdown(e);r+=Uke(r)+n}return r.trim()}},uC=class{static{o(this,"JSDocTagImpl")}constructor(e,r,i,n){this.name=e,this.content=r,this.inline=i,this.range=n}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} -${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let a=Mot(this.name,r,e??{});if(typeof a=="string")return a}let i="";e?.tag==="italic"||e?.tag===void 0?i="*":e?.tag==="bold"?i="**":e?.tag==="bold-italic"&&(i="***");let n=`${i}@${this.name}${i}`;return this.content.inlines.length===1?n=`${n} \u2014 ${r}`:this.content.inlines.length>1&&(n=`${n} -${r}`),this.inline?`{${n}}`:n}};o(Mot,"renderInlineTag");o(Oot,"renderLinkDefault");hC=class{static{o(this,"JSDocTextImpl")}constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;ri.range.start.line&&(e+=` -`)}return e}toMarkdown(e){let r="";for(let i=0;in.range.start.line&&(r+=` -`)}return r}},x7=class{static{o(this,"JSDocLineImpl")}constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};o(Uke,"fillNewlines")});var fC,gq=P(()=>{"use strict";Ts();mq();fC=class{static{o(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&dq(r))return fq(r).toMarkdown({renderLink:o((n,a)=>this.documentationLinkRenderer(e,n,a),"renderLink"),renderTag:o(n=>this.documentationTagRenderer(e,n),"renderTag")})}documentationLinkRenderer(e,r,i){let n=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(n&&n.nameSegment){let a=n.nameSegment.range.start.line+1,s=n.nameSegment.range.start.character+1,l=n.documentUri.with({fragment:`L${a},${s}`});return`[${i}](${l.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){let n=bs(e).localSymbols;if(!n)return;let a=e;do{let l=n.getStream(a).find(u=>u.name===r);if(l)return l;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(n=>n.name===r)}}});var dC,yq=P(()=>{"use strict";IA();Bc();dC=class{static{o(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return IG(e)?e.$comment:ZF(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}});var pC,vq,xq,bq=P(()=>{"use strict";Xl();BA();pC=class{static{o(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},vq=class{static{o(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let i=await this.acquireParserWorker(r),n=new eo,a,s=r.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(i)},this.terminationDelay)});return i.parse(e).then(l=>{let u=this.hydrator.hydrate(l);n.resolve(u)}).catch(l=>{n.reject(l)}).finally(()=>{s.dispose(),clearTimeout(a)}),n.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let i of this.workerPool)if(i.ready)return i.lock(),i;let r=new eo;return e.onCancellationRequested(()=>{let i=this.queue.indexOf(r);i>=0&&this.queue.splice(i,1),r.reject(jl)}),this.queue.push(r),r.promise}},xq=class{static{o(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,i,n){this.onReadyEmitter=new xn.Emitter,this.deferred=new eo,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=n,r(a=>{let s=a;this.deferred.resolve(s),this.unlock()}),i(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(jl),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new eo,this.sendMessage(e),this.deferred.promise}}});var mC,Tq=P(()=>{"use strict";Yl();Xl();mC=class{static{o(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new $r.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=DA();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,i=$r.CancellationToken.None){let n=new eo,a={action:r,deferred:n,cancellationToken:i};return e.push(a),this.performNextOperation(),n.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:i,cancellationToken:n})=>{try{let a=await Promise.resolve().then(()=>r(n));i.resolve(a)}catch(a){Ju(a)?i.resolve(void 0):i.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}});var gC,kq=P(()=>{"use strict";vA();ol();Oc();Ts();up();Bc();gC=class{static{o(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new Gm,this.tokenTypeIdMap=new Gm,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,i=new Map;for(let n of js(e))r.set(n,{});if(e.$cstNode)for(let n of xm(e.$cstNode))i.set(n,{});return{astNodes:r,cstNodes:i}}dehydrateAstNode(e,r){let i=r.astNodes.get(e);i.$type=e.$type,i.$containerIndex=e.$containerIndex,i.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(i.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[n,a]of Object.entries(e))if(!n.startsWith("$"))if(Array.isArray(a)){let s=[];i[n]=s;for(let l of a)_n(l)?s.push(this.dehydrateAstNode(l,r)):ga(l)?s.push(this.dehydrateReference(l,r)):s.push(l)}else _n(a)?i[n]=this.dehydrateAstNode(a,r):ga(a)?i[n]=this.dehydrateReference(a,r):a!==void 0&&(i[n]=a);return i}dehydrateReference(e,r){let i={};return i.$refText=e.$refText,e.$refNode&&(i.$refNode=r.cstNodes.get(e.$refNode)),i}dehydrateCstNode(e,r){let i=r.cstNodes.get(e);return _T(e)?i.fullText=e.fullText:i.grammarSource=this.getGrammarElementId(e.grammarSource),i.hidden=e.hidden,i.astNode=r.astNodes.get(e.astNode),Mc(e)?i.content=e.content.map(n=>this.dehydrateCstNode(n,r)):Hd(e)&&(i.tokenType=e.tokenType.name,i.offset=e.offset,i.length=e.length,i.startLine=e.range.start.line,i.startColumn=e.range.start.character,i.endLine=e.range.end.line,i.endColumn=e.range.end.character),i}hydrate(e){let r=e.value,i=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,i),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,i)}}createHydrationContext(e){let r=new Map,i=new Map;for(let a of js(e))r.set(a,{});let n;if(e.$cstNode)for(let a of xm(e.$cstNode)){let s;"fullText"in a?(s=new mv(a.fullText),n=s):"content"in a?s=new Pm:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(i.set(a,s),s.root=n)}return{astNodes:r,cstNodes:i}}hydrateAstNode(e,r){let i=r.astNodes.get(e);i.$type=e.$type,i.$containerIndex=e.$containerIndex,i.$containerProperty=e.$containerProperty,e.$cstNode&&(i.$cstNode=r.cstNodes.get(e.$cstNode));for(let[n,a]of Object.entries(e))if(!n.startsWith("$"))if(Array.isArray(a)){let s=[];i[n]=s;for(let l of a)_n(l)?s.push(this.setParent(this.hydrateAstNode(l,r),i)):ga(l)?s.push(this.hydrateReference(l,i,n,r)):s.push(l)}else _n(a)?i[n]=this.setParent(this.hydrateAstNode(a,r),i):ga(a)?i[n]=this.hydrateReference(a,i,n,r):a!==void 0&&(i[n]=a);return i}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,i,n){return this.linker.buildReference(r,i,n.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,i=0){let n=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(n.grammarSource=this.getGrammarElement(e.grammarSource)),n.astNode=r.astNodes.get(e.astNode),Mc(n))for(let a of e.content){let s=this.hydrateCstNode(a,r,i++);n.content.push(s)}return n}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),i=e.offset,n=e.length,a=e.startLine,s=e.startColumn,l=e.endLine,u=e.endColumn,h=e.hidden;return new Om(i,n,{start:{line:a,character:s},end:{line:l,character:u}},r,h)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let r of js(this.grammar))FT(r)&&this.grammarElementIdMap.set(r,e++)}}});function qn(t){return{documentation:{CommentProvider:o(e=>new dC(e),"CommentProvider"),DocumentationProvider:o(e=>new fC(e),"DocumentationProvider")},parser:{AsyncParser:o(e=>new pC(e),"AsyncParser"),GrammarConfig:o(e=>v$(e),"GrammarConfig"),LangiumParser:o(e=>pG(e),"LangiumParser"),CompletionParser:o(e=>fG(e),"CompletionParser"),ValueConverter:o(()=>new Fm,"ValueConverter"),TokenBuilder:o(()=>new mf,"TokenBuilder"),Lexer:o(e=>new Ym(e),"Lexer"),ParserErrorMessageProvider:o(()=>new gv,"ParserErrorMessageProvider"),LexerErrorMessageProvider:o(()=>new cC,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:o(()=>new Xk,"AstNodeLocator"),AstNodeDescriptionProvider:o(e=>new Yk(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:o(e=>new jk(e),"ReferenceDescriptionProvider")},references:{Linker:o(e=>new Pk(e),"Linker"),NameProvider:o(()=>new Bk,"NameProvider"),ScopeProvider:o(e=>new Vk(e),"ScopeProvider"),ScopeComputation:o(e=>new $k(e),"ScopeComputation"),References:o(e=>new Fk(e),"References")},serializer:{Hydrator:o(e=>new gC(e),"Hydrator"),JsonSerializer:o(e=>new qk(e),"JsonSerializer")},validation:{DocumentValidator:o(e=>new Hk(e),"DocumentValidator"),ValidationRegistry:o(e=>new Uk(e),"ValidationRegistry")},shared:o(()=>t.shared,"shared")}}function Wn(t){return{ServiceRegistry:o(e=>new Wk(e),"ServiceRegistry"),workspace:{LangiumDocuments:o(e=>new Ok(e),"LangiumDocuments"),LangiumDocumentFactory:o(e=>new Mk(e),"LangiumDocumentFactory"),DocumentBuilder:o(e=>new sC(e),"DocumentBuilder"),IndexManager:o(e=>new oC(e),"IndexManager"),WorkspaceManager:o(e=>new lC(e),"WorkspaceManager"),FileSystemProvider:o(e=>t.fileSystemProvider(e),"FileSystemProvider"),WorkspaceLock:o(()=>new mC,"WorkspaceLock"),ConfigurationProvider:o(e=>new Kk(e),"ConfigurationProvider")},profilers:{}}}var Cq=P(()=>{"use strict";x$();dG();mG();wA();gG();SG();AG();_G();DG();NG();IA();MG();OG();OA();PG();BG();FG();aq();Cv();sq();oq();y7();gq();yq();Rk();bq();Tq();kq();o(qn,"createDefaultCoreModule");o(Wn,"createDefaultSharedCoreModule")});function ki(t,e,r,i,n,a,s,l,u){let h=[t,e,r,i,n,a,s,l,u].reduce(yC,{});return eCe(h)}function Jke(t){if(t&&t[Zke])for(let e of Object.values(t))Jke(e);return t}function eCe(t,e){let r=new Proxy({},{deleteProperty:o(()=>!1,"deleteProperty"),set:o(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:o((i,n)=>n===Zke?!0:Qke(i,n,t,e||r),"get"),getOwnPropertyDescriptor:o((i,n)=>(Qke(i,n,t,e||r),Object.getOwnPropertyDescriptor(i,n)),"getOwnPropertyDescriptor"),has:o((i,n)=>n in t,"has"),ownKeys:o(()=>[...Object.getOwnPropertyNames(t)],"ownKeys")});return r}function Qke(t,e,r,i){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===Kke)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let n=r[e];t[e]=Kke;try{t[e]=typeof n=="function"?n(i):eCe(n,i)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function yC(t,e){if(e){for(let[r,i]of Object.entries(e))if(i!=null)if(typeof i=="object"){let n=t[r];typeof n=="object"&&n!==null?t[r]=yC(n,i):t[r]=yC({},i)}else t[r]=i}return t}var wq,Zke,Kke,Eq=P(()=>{"use strict";(function(t){t.merge=(e,r)=>yC(yC({},e),r)})(wq||(wq={}));o(ki,"inject");Zke=Symbol("isProxy");o(Jke,"eagerLoad");o(eCe,"_inject");Kke=Symbol();o(Qke,"_resolve");o(yC,"_merge")});var tCe=P(()=>{"use strict"});var rCe=P(()=>{"use strict";yq();gq();mq()});var iCe=P(()=>{"use strict"});var nCe=P(()=>{"use strict";x$();iCe()});var Sq,jm,b7,Aq,aCe=P(()=>{"use strict";sp();wA();y7();Sq={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]};(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(jm||(jm={}));b7=class extends mf{static{o(this,"IndentationAwareTokenBuilder")}constructor(e=Sq){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...Sq,...e},this.indentTokenType=np({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=np({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let i=super.buildTokens(e,r);if(!g7(i))throw new Error("Invalid tokens built by default builder");let{indentTokenName:n,dedentTokenName:a,whitespaceTokenName:s,ignoreIndentationDelimiters:l}=this.options,u,h,f,d=[];for(let p of i){for(let[m,g]of l)p.name===m?p.PUSH_MODE=jm.IGNORE_INDENTATION:p.name===g&&(p.POP_MODE=!0);p.name===a?u=p:p.name===n?h=p:p.name===s?f=p:d.push(p)}if(!u||!h||!f)throw new Error("Some indentation/whitespace tokens not found!");return l.length>0?{modes:{[jm.REGULAR]:[u,h,...d,f],[jm.IGNORE_INDENTATION]:[...d,f]},defaultMode:jm.REGULAR}:[u,h,f,...d]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r -`.includes(e[r-1])}matchWhitespace(e,r,i,n){this.whitespaceRegExp.lastIndex=r;let a=this.whitespaceRegExp.exec(e);return{currIndentLevel:a?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:a}}createIndentationTokenInstance(e,r,i,n){let a=this.getLineNumber(r,n);return hf(e,i,n,n+i.length,a,a,1,i.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,i,n){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:a,prevIndentLevel:s,match:l}=this.matchWhitespace(e,r,i,n);return a<=s?null:(this.indentationStack.push(a),l)}dedentMatcher(e,r,i,n){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:a,prevIndentLevel:s,match:l}=this.matchWhitespace(e,r,i,n);if(a>=s)return null;let u=this.indentationStack.lastIndexOf(a);if(u===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${a} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:l?.[0]?.length??0,line:this.getLineNumber(e,r),column:1}),null;let h=this.indentationStack.length-u-1,f=e.substring(0,r).match(/[\r\n]+$/)?.[0].length??1;for(let d=0;d1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},Aq=class extends Ym{static{o(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof b7)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=m7){let i=super.tokenize(e),n=i.report;r?.mode==="full"&&i.tokens.push(...n.remainingDedents),n.remainingDedents=[];let{indentTokenType:a,dedentTokenType:s}=this.indentationTokenBuilder,l=a.tokenTypeIdx,u=s.tokenTypeIdx,h=[],f=i.tokens.length-1;for(let d=0;d=0&&h.push(i.tokens[f]),i.tokens=h,i}}});var sCe=P(()=>{"use strict"});var oCe=P(()=>{"use strict";bq();dG();vA();aCe();mG();Rk();y7();CA();sCe();wA();gG()});var lCe=P(()=>{"use strict";SG();AG();_G();RG();DG();NG()});var cCe=P(()=>{"use strict";kq();IA()});var T7,Un,_q=P(()=>{"use strict";T7=class{static{o(this,"EmptyFileSystemProvider")}stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},Un={fileSystemProvider:o(()=>new T7,"fileSystemProvider")}});function Fot(){let t=ki(Wn(Un),Bot),e=ki(qn({shared:t}),Pot);return t.ServiceRegistry.register(e),e}function Jl(t){let e=Fot(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,va.parse(`memory:/${r.name??"grammar"}.langium`)),r}var Pot,Bot,uCe=P(()=>{"use strict";Cq();Eq();ol();_q();Wc();Pot={Grammar:o(()=>{},"Grammar"),LanguageMetaData:o(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},Bot={AstReflection:o(()=>new Oy,"AstReflection")};o(Fot,"createMinimalGrammarServices");o(Jl,"loadGrammarFromJson")});var li={};ur(li,{AstUtils:()=>XS,BiMap:()=>Gm,Cancellation:()=>$r,ContextCache:()=>Vm,CstUtils:()=>m6,DONE_RESULT:()=>xs,Deferred:()=>eo,Disposable:()=>xp,DisposableCache:()=>Ev,DocumentCache:()=>RA,EMPTY_STREAM:()=>Yd,ErrorWithLocation:()=>Tm,GrammarUtils:()=>k6,MultiMap:()=>Cs,OperationCancelled:()=>jl,Reduction:()=>Ey,RegExpUtils:()=>x6,SimpleCache:()=>Gk,StreamImpl:()=>al,TreeStreamImpl:()=>Wu,URI:()=>va,UriTrie:()=>kv,UriUtils:()=>Vn,WorkspaceCache:()=>Sv,assertCondition:()=>qye,assertUnreachable:()=>Yu,delayNextTick:()=>CG,interruptAndCheck:()=>Dn,isOperationCancelled:()=>Ju,loadGrammarFromJson:()=>Jl,setInterruptionPeriod:()=>u2e,startCancelableOperation:()=>DA,stream:()=>jr});var hCe=P(()=>{"use strict";NA();BA();Kr(li,xn);up();nq();g6();uCe();Xl();Ys();Wc();Ts();Yl();Bc();Vc();Fy()});var fCe=P(()=>{"use strict";OG();OA()});var Dq,k7,dCe=P(()=>{"use strict";up();Dq=class{static{o(this,"DefaultLangiumProfiler")}constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new Cs}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(r=>this.activeCategories.add(r)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(r=>this.activeCategories.delete(r)):this.activeCategories.clear()}createTask(e,r){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${r}'.`),new k7(i=>this.records.add(e,this.dumpRecord(e,i)),r)}dumpRecord(e,r){console.info(`Task ${e}.${r.identifier} executed in ${r.duration.toFixed(2)}ms and ended at ${r.date.toISOString()}`);let i=[];for(let s of r.entries.keys()){let l=r.entries.get(s),u=l.reduce((h,f)=>h+f);i.push({name:`${r.identifier}.${s}`,count:l.length,duration:u})}let n=r.duration-i.map(s=>s.duration).reduce((s,l)=>s+l,0);i.push({name:r.identifier,count:1,duration:n}),i.sort((s,l)=>l.duration-s.duration);function a(s){return Math.round(100*s)/100}return o(a,"Round"),console.table(i.map(s=>({Element:s.name,Count:s.count,"Self %":a(100*s.duration/r.duration),"Time (ms)":a(s.duration)}))),r}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(r=>e.some(i=>i===r[0])).flatMap(r=>r[1])}},k7=class{static{o(this,"ProfilingTask")}constructor(e,r){this.stack=[],this.entries=new Cs,this.addRecord=e,this.identifier=r}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(r=>r.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let r=this.stack.pop();if(!r)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(r.id!==e)throw new Error(`Sub-Task "${r.id}" is not already stopped.`);let i=performance.now()-r.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=i);let n=i-r.content;this.entries.add(e,n)}}});var pCe=P(()=>{"use strict";PG();BG();FG();aq();Cv();_q();sq();Tq();oq();dCe()});var za={};ur(za,{AbstractAstReflection:()=>sm,AbstractCstNode:()=>Ak,AbstractLangiumParser:()=>_k,AbstractParserErrorMessageProvider:()=>bA,AbstractThreadedAsyncParser:()=>vq,AstUtils:()=>XS,BiMap:()=>Gm,Cancellation:()=>$r,CompositeCstNodeImpl:()=>Pm,ContextCache:()=>Vm,CstNodeBuilder:()=>Sk,CstUtils:()=>m6,DEFAULT_TOKENIZE_OPTIONS:()=>m7,DONE_RESULT:()=>xs,DatatypeSymbol:()=>xA,DefaultAstNodeDescriptionProvider:()=>Yk,DefaultAstNodeLocator:()=>Xk,DefaultAsyncParser:()=>pC,DefaultCommentProvider:()=>dC,DefaultConfigurationProvider:()=>Kk,DefaultDocumentBuilder:()=>sC,DefaultDocumentValidator:()=>Hk,DefaultHydrator:()=>gC,DefaultIndexManager:()=>oC,DefaultJsonSerializer:()=>qk,DefaultLangiumDocumentFactory:()=>Mk,DefaultLangiumDocuments:()=>Ok,DefaultLangiumProfiler:()=>Dq,DefaultLexer:()=>Ym,DefaultLexerErrorMessageProvider:()=>cC,DefaultLinker:()=>Pk,DefaultNameProvider:()=>Bk,DefaultReferenceDescriptionProvider:()=>jk,DefaultReferences:()=>Fk,DefaultScopeComputation:()=>$k,DefaultScopeProvider:()=>Vk,DefaultServiceRegistry:()=>Wk,DefaultTokenBuilder:()=>mf,DefaultValueConverter:()=>Fm,DefaultWorkspaceLock:()=>mC,DefaultWorkspaceManager:()=>lC,Deferred:()=>eo,Disposable:()=>xp,DisposableCache:()=>Ev,DocumentCache:()=>RA,DocumentState:()=>Ur,DocumentValidator:()=>Kl,EMPTY_SCOPE:()=>Bst,EMPTY_STREAM:()=>Yd,EmptyFileSystem:()=>Un,EmptyFileSystemProvider:()=>T7,ErrorWithLocation:()=>Tm,GrammarAST:()=>zT,GrammarUtils:()=>k6,IndentationAwareLexer:()=>Aq,IndentationAwareTokenBuilder:()=>b7,JSDocDocumentationProvider:()=>fC,LangiumCompletionParser:()=>Lk,LangiumParser:()=>Dk,LangiumParserErrorMessageProvider:()=>gv,LeafCstNodeImpl:()=>Om,LexingMode:()=>jm,MapScope:()=>LG,Module:()=>wq,MultiMap:()=>Cs,MultiMapScope:()=>zk,OperationCancelled:()=>jl,ParserWorker:()=>xq,ProfilingTask:()=>k7,Reduction:()=>Ey,RefResolving:()=>zm,RegExpUtils:()=>x6,RootCstNodeImpl:()=>mv,SimpleCache:()=>Gk,StreamImpl:()=>al,StreamScope:()=>wv,TextDocument:()=>bv,TreeStreamImpl:()=>Wu,URI:()=>va,UriTrie:()=>kv,UriUtils:()=>Vn,VALIDATE_EACH_NODE:()=>v2e,ValidationCategory:()=>MA,ValidationRegistry:()=>Uk,ValueConverter:()=>Zu,WorkspaceCache:()=>Sv,assertCondition:()=>qye,assertUnreachable:()=>Yu,createCompletionParser:()=>fG,createDefaultCoreModule:()=>qn,createDefaultSharedCoreModule:()=>Wn,createGrammarConfig:()=>v$,createLangiumParser:()=>pG,createParser:()=>Nk,delayNextTick:()=>CG,diagnosticData:()=>qm,eagerLoad:()=>Jke,getDiagnosticRange:()=>x2e,indentationBuilderDefaultOptions:()=>Sq,inject:()=>ki,interruptAndCheck:()=>Dn,isAstNode:()=>_n,isAstNodeDescription:()=>AF,isAstNodeWithComment:()=>IG,isCompositeCstNode:()=>Mc,isIMultiModeLexerDefinition:()=>cq,isJSDoc:()=>dq,isLeafCstNode:()=>Hd,isLinkingError:()=>om,isMultiReference:()=>nl,isNamed:()=>g2e,isOperationCancelled:()=>Ju,isReference:()=>ga,isRootCstNode:()=>_T,isTokenTypeArray:()=>g7,isTokenTypeDictionary:()=>lq,loadGrammarFromJson:()=>Jl,parseJSDoc:()=>fq,prepareLangiumParser:()=>a2e,setInterruptionPeriod:()=>u2e,startCancelableOperation:()=>DA,stream:()=>jr,toDiagnosticData:()=>b2e,toDiagnosticSeverity:()=>PA});var to=P(()=>{"use strict";Cq();Eq();MG();tCe();Oc();rCe();nCe();oCe();lCe();cCe();hCe();Kr(za,li);fCe();pCe();ol()});function ACe(t){return ec.isInstance(t,ah.$type)}function _Ce(t){return ec.isInstance(t,kC.$type)}function DCe(t){return ec.isInstance(t,Zm.$type)}function LCe(t){return ec.isInstance(t,Tp.$type)}function RCe(t){return ec.isInstance(t,Hv.$type)}function NCe(t){return ec.isInstance(t,Jm.$type)}function ICe(t){return ec.isInstance(t,eg.$type)}function MCe(t){return ec.isInstance(t,tg.$type)}function OCe(t){return ec.isInstance(t,kp.$type)}function PCe(t){return ec.isInstance(t,CC.$type)}function BCe(t){return ec.isInstance(t,rg.$type)}function FCe(t){return ec.isInstance(t,Ga.$type)}var $ot,dt,zq,Gq,Vq,qq,Wq,Uq,Hq,Yq,jq,T4r,C7,w7,vC,Lq,ah,E7,kC,mCe,S7,Rq,Zm,Xm,A7,_7,gCe,qv,nh,Nq,yCe,D7,Iq,Tp,xC,Hv,bC,Mq,TC,L7,Km,Jm,R7,Oq,eg,tg,kp,CC,Pq,N7,bp,Bq,Wv,Fq,Qm,rg,$q,I7,Uv,Ga,$Ce,ec,vCe,zot,xCe,Got,bCe,Vot,TCe,qot,kCe,Wot,CCe,Uot,wCe,Hot,ECe,Yot,SCe,jot,Xot,Kot,Qot,Zot,Jot,elt,tlt,rlt,ilt,xa,Xq,Kq,Qq,Zq,Jq,eW,tW,rW,iW,nlt,alt,slt,olt,tc,yf,Va,llt,ia=P(()=>{"use strict";to();to();to();to();$ot=Object.defineProperty,dt=o((t,e)=>$ot(t,"name",{value:e,configurable:!0}),"__name");(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(zq||(zq={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(Gq||(Gq={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Vq||(Vq={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(qq||(qq={}));(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Wq||(Wq={}));(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Uq||(Uq={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(Hq||(Hq={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/}})(Yq||(Yq={}));(t=>{t.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \t]+[A-Za-z(][A-Za-z0-9_()&]*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(jq||(jq={}));T4r={...zq.Terminals,...Gq.Terminals,...Vq.Terminals,...qq.Terminals,...Wq.Terminals,...Uq.Terminals,...Yq.Terminals,...Hq.Terminals,...jq.Terminals},C7={$type:"Accelerator",name:"name",x:"x",y:"y"},w7={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},vC={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},Lq={$type:"Annotations",x:"x",y:"y"},ah={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};o(ACe,"isArchitecture");dt(ACe,"isArchitecture");E7={$type:"Axis",label:"label",name:"name"},kC={$type:"Branch",name:"name",order:"order"};o(_Ce,"isBranch");dt(_Ce,"isBranch");mCe={$type:"Checkout",branch:"branch"},S7={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},Rq={$type:"ClassDefStatement",className:"className",styleText:"styleText"},Zm={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};o(DCe,"isCommit");dt(DCe,"isCommit");Xm={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},A7={$type:"Curve",entries:"entries",label:"label",name:"name"},_7={$type:"Deaccelerator",name:"name",x:"x",y:"y"},gCe={$type:"Decorator",strategy:"strategy"},qv={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},nh={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},Nq={$type:"Entry",axis:"axis",value:"value"},yCe={$type:"Evolution",stages:"stages"},D7={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},Iq={$type:"Evolve",component:"component",target:"target"},Tp={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};o(LCe,"isGitGraph");dt(LCe,"isGitGraph");xC={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},Hv={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};o(RCe,"isInfo");dt(RCe,"isInfo");bC={$type:"Item",classSelector:"classSelector",name:"name"},Mq={$type:"Junction",id:"id",in:"in"},TC={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},L7={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},Km={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},Jm={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};o(NCe,"isMerge");dt(NCe,"isMerge");R7={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},Oq={$type:"Option",name:"name",value:"value"},eg={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};o(ICe,"isPacket");dt(ICe,"isPacket");tg={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};o(MCe,"isPacketBlock");dt(MCe,"isPacketBlock");kp={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};o(OCe,"isPie");dt(OCe,"isPie");CC={$type:"PieSection",label:"label",value:"value"};o(PCe,"isPieSection");dt(PCe,"isPieSection");Pq={$type:"Pipeline",components:"components",parent:"parent"},N7={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},bp={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},Bq={$type:"Section",classSelector:"classSelector",name:"name"},Wv={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},Fq={$type:"Size",height:"height",width:"width"},Qm={$type:"Statement"},rg={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};o(BCe,"isTreemap");dt(BCe,"isTreemap");$q={$type:"TreemapRow",indent:"indent",item:"item"},I7={$type:"TreeNode",indent:"indent",name:"name"},Uv={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},Ga={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};o(FCe,"isWardley");dt(FCe,"isWardley");$Ce=class extends sm{static{o(this,"MermaidAstReflection")}constructor(){super(...arguments),this.types={Accelerator:{name:C7.$type,properties:{name:{name:C7.name},x:{name:C7.x},y:{name:C7.y}},superTypes:[]},Anchor:{name:w7.$type,properties:{evolution:{name:w7.evolution},name:{name:w7.name},visibility:{name:w7.visibility}},superTypes:[]},Annotation:{name:vC.$type,properties:{number:{name:vC.number},text:{name:vC.text},x:{name:vC.x},y:{name:vC.y}},superTypes:[]},Annotations:{name:Lq.$type,properties:{x:{name:Lq.x},y:{name:Lq.y}},superTypes:[]},Architecture:{name:ah.$type,properties:{accDescr:{name:ah.accDescr},accTitle:{name:ah.accTitle},edges:{name:ah.edges,defaultValue:[]},groups:{name:ah.groups,defaultValue:[]},junctions:{name:ah.junctions,defaultValue:[]},services:{name:ah.services,defaultValue:[]},title:{name:ah.title}},superTypes:[]},Axis:{name:E7.$type,properties:{label:{name:E7.label},name:{name:E7.name}},superTypes:[]},Branch:{name:kC.$type,properties:{name:{name:kC.name},order:{name:kC.order}},superTypes:[Qm.$type]},Checkout:{name:mCe.$type,properties:{branch:{name:mCe.branch}},superTypes:[Qm.$type]},CherryPicking:{name:S7.$type,properties:{id:{name:S7.id},parent:{name:S7.parent},tags:{name:S7.tags,defaultValue:[]}},superTypes:[Qm.$type]},ClassDefStatement:{name:Rq.$type,properties:{className:{name:Rq.className},styleText:{name:Rq.styleText}},superTypes:[]},Commit:{name:Zm.$type,properties:{id:{name:Zm.id},message:{name:Zm.message},tags:{name:Zm.tags,defaultValue:[]},type:{name:Zm.type}},superTypes:[Qm.$type]},Component:{name:Xm.$type,properties:{decorator:{name:Xm.decorator},evolution:{name:Xm.evolution},inertia:{name:Xm.inertia,defaultValue:!1},label:{name:Xm.label},name:{name:Xm.name},visibility:{name:Xm.visibility}},superTypes:[]},Curve:{name:A7.$type,properties:{entries:{name:A7.entries,defaultValue:[]},label:{name:A7.label},name:{name:A7.name}},superTypes:[]},Deaccelerator:{name:_7.$type,properties:{name:{name:_7.name},x:{name:_7.x},y:{name:_7.y}},superTypes:[]},Decorator:{name:gCe.$type,properties:{strategy:{name:gCe.strategy}},superTypes:[]},Direction:{name:qv.$type,properties:{accDescr:{name:qv.accDescr},accTitle:{name:qv.accTitle},dir:{name:qv.dir},statements:{name:qv.statements,defaultValue:[]},title:{name:qv.title}},superTypes:[Tp.$type]},Edge:{name:nh.$type,properties:{lhsDir:{name:nh.lhsDir},lhsGroup:{name:nh.lhsGroup,defaultValue:!1},lhsId:{name:nh.lhsId},lhsInto:{name:nh.lhsInto,defaultValue:!1},rhsDir:{name:nh.rhsDir},rhsGroup:{name:nh.rhsGroup,defaultValue:!1},rhsId:{name:nh.rhsId},rhsInto:{name:nh.rhsInto,defaultValue:!1},title:{name:nh.title}},superTypes:[]},Entry:{name:Nq.$type,properties:{axis:{name:Nq.axis,referenceType:E7.$type},value:{name:Nq.value}},superTypes:[]},Evolution:{name:yCe.$type,properties:{stages:{name:yCe.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:D7.$type,properties:{boundary:{name:D7.boundary},name:{name:D7.name},secondName:{name:D7.secondName}},superTypes:[]},Evolve:{name:Iq.$type,properties:{component:{name:Iq.component},target:{name:Iq.target}},superTypes:[]},GitGraph:{name:Tp.$type,properties:{accDescr:{name:Tp.accDescr},accTitle:{name:Tp.accTitle},statements:{name:Tp.statements,defaultValue:[]},title:{name:Tp.title}},superTypes:[]},Group:{name:xC.$type,properties:{icon:{name:xC.icon},id:{name:xC.id},in:{name:xC.in},title:{name:xC.title}},superTypes:[]},Info:{name:Hv.$type,properties:{accDescr:{name:Hv.accDescr},accTitle:{name:Hv.accTitle},title:{name:Hv.title}},superTypes:[]},Item:{name:bC.$type,properties:{classSelector:{name:bC.classSelector},name:{name:bC.name}},superTypes:[]},Junction:{name:Mq.$type,properties:{id:{name:Mq.id},in:{name:Mq.in}},superTypes:[]},Label:{name:TC.$type,properties:{negX:{name:TC.negX,defaultValue:!1},negY:{name:TC.negY,defaultValue:!1},offsetX:{name:TC.offsetX},offsetY:{name:TC.offsetY}},superTypes:[]},Leaf:{name:L7.$type,properties:{classSelector:{name:L7.classSelector},name:{name:L7.name},value:{name:L7.value}},superTypes:[bC.$type]},Link:{name:Km.$type,properties:{arrow:{name:Km.arrow},from:{name:Km.from},fromPort:{name:Km.fromPort},linkLabel:{name:Km.linkLabel},to:{name:Km.to},toPort:{name:Km.toPort}},superTypes:[]},Merge:{name:Jm.$type,properties:{branch:{name:Jm.branch},id:{name:Jm.id},tags:{name:Jm.tags,defaultValue:[]},type:{name:Jm.type}},superTypes:[Qm.$type]},Note:{name:R7.$type,properties:{evolution:{name:R7.evolution},text:{name:R7.text},visibility:{name:R7.visibility}},superTypes:[]},Option:{name:Oq.$type,properties:{name:{name:Oq.name},value:{name:Oq.value,defaultValue:!1}},superTypes:[]},Packet:{name:eg.$type,properties:{accDescr:{name:eg.accDescr},accTitle:{name:eg.accTitle},blocks:{name:eg.blocks,defaultValue:[]},title:{name:eg.title}},superTypes:[]},PacketBlock:{name:tg.$type,properties:{bits:{name:tg.bits},end:{name:tg.end},label:{name:tg.label},start:{name:tg.start}},superTypes:[]},Pie:{name:kp.$type,properties:{accDescr:{name:kp.accDescr},accTitle:{name:kp.accTitle},sections:{name:kp.sections,defaultValue:[]},showData:{name:kp.showData,defaultValue:!1},title:{name:kp.title}},superTypes:[]},PieSection:{name:CC.$type,properties:{label:{name:CC.label},value:{name:CC.value}},superTypes:[]},Pipeline:{name:Pq.$type,properties:{components:{name:Pq.components,defaultValue:[]},parent:{name:Pq.parent}},superTypes:[]},PipelineComponent:{name:N7.$type,properties:{evolution:{name:N7.evolution},label:{name:N7.label},name:{name:N7.name}},superTypes:[]},Radar:{name:bp.$type,properties:{accDescr:{name:bp.accDescr},accTitle:{name:bp.accTitle},axes:{name:bp.axes,defaultValue:[]},curves:{name:bp.curves,defaultValue:[]},options:{name:bp.options,defaultValue:[]},title:{name:bp.title}},superTypes:[]},Section:{name:Bq.$type,properties:{classSelector:{name:Bq.classSelector},name:{name:Bq.name}},superTypes:[bC.$type]},Service:{name:Wv.$type,properties:{icon:{name:Wv.icon},iconText:{name:Wv.iconText},id:{name:Wv.id},in:{name:Wv.in},title:{name:Wv.title}},superTypes:[]},Size:{name:Fq.$type,properties:{height:{name:Fq.height},width:{name:Fq.width}},superTypes:[]},Statement:{name:Qm.$type,properties:{},superTypes:[]},TreeNode:{name:I7.$type,properties:{indent:{name:I7.indent},name:{name:I7.name}},superTypes:[]},TreeView:{name:Uv.$type,properties:{accDescr:{name:Uv.accDescr},accTitle:{name:Uv.accTitle},nodes:{name:Uv.nodes,defaultValue:[]},title:{name:Uv.title}},superTypes:[]},Treemap:{name:rg.$type,properties:{accDescr:{name:rg.accDescr},accTitle:{name:rg.accTitle},title:{name:rg.title},TreemapRows:{name:rg.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:$q.$type,properties:{indent:{name:$q.indent},item:{name:$q.item}},superTypes:[]},Wardley:{name:Ga.$type,properties:{accDescr:{name:Ga.accDescr},accelerators:{name:Ga.accelerators,defaultValue:[]},accTitle:{name:Ga.accTitle},anchors:{name:Ga.anchors,defaultValue:[]},annotation:{name:Ga.annotation,defaultValue:[]},annotations:{name:Ga.annotations,defaultValue:[]},components:{name:Ga.components,defaultValue:[]},deaccelerators:{name:Ga.deaccelerators,defaultValue:[]},evolution:{name:Ga.evolution},evolves:{name:Ga.evolves,defaultValue:[]},links:{name:Ga.links,defaultValue:[]},notes:{name:Ga.notes,defaultValue:[]},pipelines:{name:Ga.pipelines,defaultValue:[]},size:{name:Ga.size},title:{name:Ga.title}},superTypes:[]}}}static{dt(this,"MermaidAstReflection")}},ec=new $Ce,zot=dt(()=>vCe??(vCe=Jl(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),Got=dt(()=>xCe??(xCe=Jl(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),Vot=dt(()=>bCe??(bCe=Jl(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),qot=dt(()=>TCe??(TCe=Jl(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),Wot=dt(()=>kCe??(kCe=Jl(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),Uot=dt(()=>CCe??(CCe=Jl(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),Hot=dt(()=>wCe??(wCe=Jl(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),Yot=dt(()=>ECe??(ECe=Jl(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n * Converted from treemap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),jot=dt(()=>SCe??(SCe=Jl(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \\\\t]+[A-Za-z(][A-Za-z0-9_()&]*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"WardleyGrammarGrammar"),Xot={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Kot={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Qot={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Zot={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Jot={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},elt={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},tlt={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},rlt={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ilt={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},xa={AstReflection:dt(()=>new $Ce,"AstReflection")},Xq={Grammar:dt(()=>zot(),"Grammar"),LanguageMetaData:dt(()=>Xot,"LanguageMetaData"),parser:{}},Kq={Grammar:dt(()=>Got(),"Grammar"),LanguageMetaData:dt(()=>Kot,"LanguageMetaData"),parser:{}},Qq={Grammar:dt(()=>Vot(),"Grammar"),LanguageMetaData:dt(()=>Qot,"LanguageMetaData"),parser:{}},Zq={Grammar:dt(()=>qot(),"Grammar"),LanguageMetaData:dt(()=>Zot,"LanguageMetaData"),parser:{}},Jq={Grammar:dt(()=>Wot(),"Grammar"),LanguageMetaData:dt(()=>Jot,"LanguageMetaData"),parser:{}},eW={Grammar:dt(()=>Uot(),"Grammar"),LanguageMetaData:dt(()=>elt,"LanguageMetaData"),parser:{}},tW={Grammar:dt(()=>Hot(),"Grammar"),LanguageMetaData:dt(()=>tlt,"LanguageMetaData"),parser:{}},rW={Grammar:dt(()=>Yot(),"Grammar"),LanguageMetaData:dt(()=>rlt,"LanguageMetaData"),parser:{}},iW={Grammar:dt(()=>jot(),"Grammar"),LanguageMetaData:dt(()=>ilt,"LanguageMetaData"),parser:{}},nlt=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,alt=/accTitle[\t ]*:([^\n\r]*)/,slt=/title([\t ][^\n\r]*|)/,olt={ACC_DESCR:nlt,ACC_TITLE:alt,TITLE:slt},tc=class extends Fm{static{o(this,"AbstractMermaidValueConverter")}static{dt(this,"AbstractMermaidValueConverter")}runConverter(t,e,r){let i=this.runCommonConverter(t,e,r);return i===void 0&&(i=this.runCustomConverter(t,e,r)),i===void 0?super.runConverter(t,e,r):i}runCommonConverter(t,e,r){let i=olt[t.name];if(i===void 0)return;let n=i.exec(e);if(n!==null){if(n[1]!==void 0)return n[1].trim().replace(/[\t ]{2,}/gm," ");if(n[2]!==void 0)return n[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` -`)}}},yf=class extends tc{static{o(this,"CommonValueConverter")}static{dt(this,"CommonValueConverter")}runCustomConverter(t,e,r){}},Va=class extends mf{static{o(this,"AbstractMermaidTokenBuilder")}static{dt(this,"AbstractMermaidTokenBuilder")}constructor(t){super(),this.keywords=new Set(t)}buildKeywordTokens(t,e,r){let i=super.buildKeywordTokens(t,e,r);return i.forEach(n=>{this.keywords.has(n.name)&&n.PATTERN!==void 0&&(n.PATTERN=new RegExp(n.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},llt=class extends Va{static{o(this,"CommonTokenBuilder")}static{dt(this,"CommonTokenBuilder")}}});function zCe(t){let e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){let i={Treemap:e.checkSingleRoot.bind(e)};r.register(i,e)}}function O7(t=Un){let e=ki(Wn(t),xa),r=ki(qn({shared:e}),tW,M7);return e.ServiceRegistry.register(r),zCe(r),{shared:e,Treemap:r}}var clt,ult,hlt,flt,M7,nW=P(()=>{"use strict";ia();to();clt=class extends Va{static{o(this,"TreemapTokenBuilder")}static{dt(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},ult=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,hlt=class extends tc{static{o(this,"TreemapValueConverter")}static{dt(this,"TreemapValueConverter")}runCustomConverter(t,e,r){if(t.name==="NUMBER2")return parseFloat(e.replace(/,/g,""));if(t.name==="SEPARATOR")return e.substring(1,e.length-1);if(t.name==="STRING2")return e.substring(1,e.length-1);if(t.name==="INDENTATION")return e.length;if(t.name==="ClassDef"){if(typeof e!="string")return e;let i=ult.exec(e);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}};o(zCe,"registerValidationChecks");dt(zCe,"registerValidationChecks");flt=class{static{o(this,"TreemapValidator")}static{dt(this,"TreemapValidator")}checkSingleRoot(t,e){let r;for(let i of t.TreemapRows)i.item&&(r===void 0&&i.indent===void 0?r=0:i.indent===void 0?e("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):r!==void 0&&r>=parseInt(i.indent,10)&&e("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},M7={parser:{TokenBuilder:dt(()=>new clt,"TokenBuilder"),ValueConverter:dt(()=>new hlt,"ValueConverter")},validation:{TreemapValidator:dt(()=>new flt,"TreemapValidator")}};o(O7,"createTreemapServices");dt(O7,"createTreemapServices")});function B7(t=Un){let e=ki(Wn(t),xa),r=ki(qn({shared:e}),iW,P7);return e.ServiceRegistry.register(r),{shared:e,Wardley:r}}var dlt,P7,aW=P(()=>{"use strict";ia();to();dlt=class extends tc{static{o(this,"WardleyValueConverter")}static{dt(this,"WardleyValueConverter")}runCustomConverter(t,e,r){switch(t.name.toUpperCase()){case"LINK_LABEL":return e.substring(1).trim();default:return}}},P7={parser:{ValueConverter:dt(()=>new dlt,"ValueConverter")}};o(B7,"createWardleyServices");dt(B7,"createWardleyServices")});function $7(t=Un){let e=ki(Wn(t),xa),r=ki(qn({shared:e}),Kq,F7);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}var plt,F7,sW=P(()=>{"use strict";ia();to();plt=class extends Va{static{o(this,"GitGraphTokenBuilder")}static{dt(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},F7={parser:{TokenBuilder:dt(()=>new plt,"TokenBuilder"),ValueConverter:dt(()=>new yf,"ValueConverter")}};o($7,"createGitGraphServices");dt($7,"createGitGraphServices")});function G7(t=Un){let e=ki(Wn(t),xa),r=ki(qn({shared:e}),Qq,z7);return e.ServiceRegistry.register(r),{shared:e,Info:r}}var mlt,z7,oW=P(()=>{"use strict";ia();to();mlt=class extends Va{static{o(this,"InfoTokenBuilder")}static{dt(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},z7={parser:{TokenBuilder:dt(()=>new mlt,"TokenBuilder"),ValueConverter:dt(()=>new yf,"ValueConverter")}};o(G7,"createInfoServices");dt(G7,"createInfoServices")});function q7(t=Un){let e=ki(Wn(t),xa),r=ki(qn({shared:e}),Zq,V7);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}var glt,V7,lW=P(()=>{"use strict";ia();to();glt=class extends Va{static{o(this,"PacketTokenBuilder")}static{dt(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},V7={parser:{TokenBuilder:dt(()=>new glt,"TokenBuilder"),ValueConverter:dt(()=>new yf,"ValueConverter")}};o(q7,"createPacketServices");dt(q7,"createPacketServices")});function U7(t=Un){let e=ki(Wn(t),xa),r=ki(qn({shared:e}),Jq,W7);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}var ylt,vlt,W7,cW=P(()=>{"use strict";ia();to();ylt=class extends Va{static{o(this,"PieTokenBuilder")}static{dt(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},vlt=class extends tc{static{o(this,"PieValueConverter")}static{dt(this,"PieValueConverter")}runCustomConverter(t,e,r){if(t.name==="PIE_SECTION_LABEL")return e.replace(/"/g,"").trim()}},W7={parser:{TokenBuilder:dt(()=>new ylt,"TokenBuilder"),ValueConverter:dt(()=>new vlt,"ValueConverter")}};o(U7,"createPieServices");dt(U7,"createPieServices")});function Y7(t=Un){let e=ki(Wn(t),xa),r=ki(qn({shared:e}),rW,H7);return e.ServiceRegistry.register(r),{shared:e,TreeView:r}}var xlt,blt,H7,uW=P(()=>{"use strict";ia();to();xlt=class extends tc{static{o(this,"TreeViewValueConverter")}static{dt(this,"TreeViewValueConverter")}runCustomConverter(t,e,r){if(t.name==="INDENTATION")return e?.length||0;if(t.name==="STRING2")return e.substring(1,e.length-1)}},blt=class extends Va{static{o(this,"TreeViewTokenBuilder")}static{dt(this,"TreeViewTokenBuilder")}constructor(){super(["treeView-beta"])}},H7={parser:{TokenBuilder:dt(()=>new blt,"TokenBuilder"),ValueConverter:dt(()=>new xlt,"ValueConverter")}};o(Y7,"createTreeViewServices");dt(Y7,"createTreeViewServices")});function X7(t=Un){let e=ki(Wn(t),xa),r=ki(qn({shared:e}),Xq,j7);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}var Tlt,klt,j7,hW=P(()=>{"use strict";ia();to();Tlt=class extends Va{static{o(this,"ArchitectureTokenBuilder")}static{dt(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},klt=class extends tc{static{o(this,"ArchitectureValueConverter")}static{dt(this,"ArchitectureValueConverter")}runCustomConverter(t,e,r){if(t.name==="ARCH_ICON")return e.replace(/[()]/g,"").trim();if(t.name==="ARCH_TEXT_ICON")return e.replace(/["()]/g,"");if(t.name==="ARCH_TITLE"){let i=e.replace(/^\[|]$/g,"").trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1),i=i.replace(/\\"/g,'"').replace(/\\'/g,"'")),i.trim()}}},j7={parser:{TokenBuilder:dt(()=>new Tlt,"TokenBuilder"),ValueConverter:dt(()=>new klt,"ValueConverter")}};o(X7,"createArchitectureServices");dt(X7,"createArchitectureServices")});function Q7(t=Un){let e=ki(Wn(t),xa),r=ki(qn({shared:e}),eW,K7);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}var Clt,K7,fW=P(()=>{"use strict";ia();to();Clt=class extends Va{static{o(this,"RadarTokenBuilder")}static{dt(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},K7={parser:{TokenBuilder:dt(()=>new Clt,"TokenBuilder"),ValueConverter:dt(()=>new yf,"ValueConverter")}};o(Q7,"createRadarServices");dt(Q7,"createRadarServices")});var GCe={};ur(GCe,{InfoModule:()=>z7,createInfoServices:()=>G7});var VCe=P(()=>{"use strict";oW();ia()});var qCe={};ur(qCe,{PacketModule:()=>V7,createPacketServices:()=>q7});var WCe=P(()=>{"use strict";lW();ia()});var UCe={};ur(UCe,{PieModule:()=>W7,createPieServices:()=>U7});var HCe=P(()=>{"use strict";cW();ia()});var YCe={};ur(YCe,{TreeViewModule:()=>H7,createTreeViewServices:()=>Y7});var jCe=P(()=>{"use strict";uW();ia()});var XCe={};ur(XCe,{ArchitectureModule:()=>j7,createArchitectureServices:()=>X7});var KCe=P(()=>{"use strict";hW();ia()});var QCe={};ur(QCe,{GitGraphModule:()=>F7,createGitGraphServices:()=>$7});var ZCe=P(()=>{"use strict";sW();ia()});var JCe={};ur(JCe,{RadarModule:()=>K7,createRadarServices:()=>Q7});var e4e=P(()=>{"use strict";fW();ia()});var t4e={};ur(t4e,{TreemapModule:()=>M7,createTreemapServices:()=>O7});var r4e=P(()=>{"use strict";nW();ia()});var i4e={};ur(i4e,{WardleyModule:()=>P7,createWardleyServices:()=>B7});var n4e=P(()=>{"use strict";aW();ia()});async function ba(t,e){let r=wlt[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);Yc[t]||await r();let n=Yc[t].parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new Elt(n);return n.value}var Yc,wlt,Elt,sh=P(()=>{"use strict";nW();aW();sW();oW();lW();cW();uW();hW();fW();ia();Yc={},wlt={info:dt(async()=>{let{createInfoServices:t}=await Promise.resolve().then(()=>(VCe(),GCe)),e=t().Info.parser.LangiumParser;Yc.info=e},"info"),packet:dt(async()=>{let{createPacketServices:t}=await Promise.resolve().then(()=>(WCe(),qCe)),e=t().Packet.parser.LangiumParser;Yc.packet=e},"packet"),pie:dt(async()=>{let{createPieServices:t}=await Promise.resolve().then(()=>(HCe(),UCe)),e=t().Pie.parser.LangiumParser;Yc.pie=e},"pie"),treeView:dt(async()=>{let{createTreeViewServices:t}=await Promise.resolve().then(()=>(jCe(),YCe)),e=t().TreeView.parser.LangiumParser;Yc.treeView=e},"treeView"),architecture:dt(async()=>{let{createArchitectureServices:t}=await Promise.resolve().then(()=>(KCe(),XCe)),e=t().Architecture.parser.LangiumParser;Yc.architecture=e},"architecture"),gitGraph:dt(async()=>{let{createGitGraphServices:t}=await Promise.resolve().then(()=>(ZCe(),QCe)),e=t().GitGraph.parser.LangiumParser;Yc.gitGraph=e},"gitGraph"),radar:dt(async()=>{let{createRadarServices:t}=await Promise.resolve().then(()=>(e4e(),JCe)),e=t().Radar.parser.LangiumParser;Yc.radar=e},"radar"),treemap:dt(async()=>{let{createTreemapServices:t}=await Promise.resolve().then(()=>(r4e(),t4e)),e=t().Treemap.parser.LangiumParser;Yc.treemap=e},"treemap"),wardley:dt(async()=>{let{createWardleyServices:t}=await Promise.resolve().then(()=>(n4e(),i4e)),e=t().Wardley.parser.LangiumParser;Yc.wardley=e},"wardley")};o(ba,"parse");dt(ba,"parse");Elt=class extends Error{static{o(this,"MermaidParseError")}constructor(t){let e=t.lexerErrors.map(i=>{let n=i.line!==void 0&&!isNaN(i.line)?i.line:"?",a=i.column!==void 0&&!isNaN(i.column)?i.column:"?";return`Lexer error on line ${n}, column ${a}: ${i.message}`}).join(` -`),r=t.parserErrors.map(i=>{let n=i.token.startLine!==void 0&&!isNaN(i.token.startLine)?i.token.startLine:"?",a=i.token.startColumn!==void 0&&!isNaN(i.token.startColumn)?i.token.startColumn:"?";return`Parse error on line ${n}, column ${a}: ${i.message}`}).join(` -`);super(`Parsing failed: ${e} ${r}`),this.result=t}static{dt(this,"MermaidParseError")}}});function Ss(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}var vf=P(()=>{"use strict";o(Ss,"populateCommonDb")});var Ci,Z7=P(()=>{"use strict";Ci={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4}});var Cp,J7=P(()=>{"use strict";Cp=class{constructor(e){this.init=e;this.records=this.init()}static{o(this,"ImperativeState")}reset(){this.records=this.init()}}});function dW(){return TI({length:7})}function Alt(t,e){let r=Object.create(null);return t.reduce((i,n)=>{let a=e(n);return r[a]||(r[a]=!0,i.push(n)),i},[])}function a4e(t,e,r){let i=t.indexOf(e);i===-1?t.push(r):t.splice(i,1,r)}function o4e(t){let e=t.reduce((n,a)=>n.seq>a.seq?n:a,t[0]),r="";t.forEach(function(n){n===e?r+=" *":r+=" |"});let i=[r,e.id,e.seq];for(let n in Ot.records.branches)Ot.records.branches.get(n)===e.id&&i.push(n);if(Q.debug(i.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){let n=Ot.records.commits.get(e.parents[0]);a4e(t,e,n),e.parents[1]&&t.push(Ot.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){let n=Ot.records.commits.get(e.parents[0]);a4e(t,e,n)}}t=Alt(t,n=>n.id),o4e(t)}var Slt,ig,Ot,_lt,Dlt,Llt,Rlt,Nlt,Ilt,Mlt,s4e,Olt,Plt,Blt,Flt,$lt,l4e,zlt,Glt,Vlt,e_,pW=P(()=>{"use strict";bt();er();Sr();Vr();Ki();Z7();J7();wa();Slt=fr.gitGraph,ig=o(()=>fi({...Slt,...Lt().gitGraph}),"getConfig"),Ot=new Cp(()=>{let t=ig(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});o(dW,"getID");o(Alt,"uniqBy");_lt=o(function(t){Ot.records.direction=t},"setDirection"),Dlt=o(function(t){Q.debug("options str",t),t=t?.trim(),t=t||"{}";try{Ot.records.options=JSON.parse(t)}catch(e){Q.error("error while parsing gitGraph options",e.message)}},"setOptions"),Llt=o(function(){return Ot.records.options},"getOptions"),Rlt=o(function(t){let e=t.msg,r=t.id,i=t.type,n=t.tags;Q.info("commit",e,r,i,n),Q.debug("Entering commit:",e,r,i,n);let a=ig();r=lt.sanitizeText(r,a),e=lt.sanitizeText(e,a),n=n?.map(l=>lt.sanitizeText(l,a));let s={id:r||Ot.records.seq+"-"+dW(),message:e,seq:Ot.records.seq++,type:i??Ci.NORMAL,tags:n??[],parents:Ot.records.head==null?[]:[Ot.records.head.id],branch:Ot.records.currBranch};Ot.records.head=s,Q.info("main branch",a.mainBranchName),Ot.records.commits.has(s.id)&&Q.warn(`Commit ID ${s.id} already exists`),Ot.records.commits.set(s.id,s),Ot.records.branches.set(Ot.records.currBranch,s.id),Q.debug("in pushCommit "+s.id)},"commit"),Nlt=o(function(t){let e=t.name,r=t.order;if(e=lt.sanitizeText(e,ig()),Ot.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);Ot.records.branches.set(e,Ot.records.head!=null?Ot.records.head.id:null),Ot.records.branchConfig.set(e,{name:e,order:r}),s4e(e),Q.debug("in createBranch")},"branch"),Ilt=o(t=>{let e=t.branch,r=t.id,i=t.type,n=t.tags,a=ig();e=lt.sanitizeText(e,a),r&&(r=lt.sanitizeText(r,a));let s=Ot.records.branches.get(Ot.records.currBranch),l=Ot.records.branches.get(e),u=s?Ot.records.commits.get(s):void 0,h=l?Ot.records.commits.get(l):void 0;if(u&&h&&u.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(Ot.records.currBranch===e){let p=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(u===void 0||!u){let p=new Error(`Incorrect usage of "merge". Current branch (${Ot.records.currBranch})has no commits`);throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},p}if(!Ot.records.branches.has(e)){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},p}if(h===void 0||!h){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},p}if(u===h){let p=new Error('Incorrect usage of "merge". Both branches have same head');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(r&&Ot.records.commits.has(r)){let p=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw p.hash={text:`merge ${e} ${r} ${i} ${n?.join(" ")}`,token:`merge ${e} ${r} ${i} ${n?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${i} ${n?.join(" ")}`]},p}let f=l||"",d={id:r||`${Ot.records.seq}-${dW()}`,message:`merged branch ${e} into ${Ot.records.currBranch}`,seq:Ot.records.seq++,parents:Ot.records.head==null?[]:[Ot.records.head.id,f],branch:Ot.records.currBranch,type:Ci.MERGE,customType:i,customId:!!r,tags:n??[]};Ot.records.head=d,Ot.records.commits.set(d.id,d),Ot.records.branches.set(Ot.records.currBranch,d.id),Q.debug(Ot.records.branches),Q.debug("in mergeBranch")},"merge"),Mlt=o(function(t){let e=t.id,r=t.targetId,i=t.tags,n=t.parent;Q.debug("Entering cherryPick:",e,r,i);let a=ig();if(e=lt.sanitizeText(e,a),r=lt.sanitizeText(r,a),i=i?.map(u=>lt.sanitizeText(u,a)),n=lt.sanitizeText(n,a),!e||!Ot.records.commits.has(e)){let u=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw u.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},u}let s=Ot.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(n&&!(Array.isArray(s.parents)&&s.parents.includes(n)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let l=s.branch;if(s.type===Ci.MERGE&&!n)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!Ot.records.commits.has(r)){if(l===Ot.records.currBranch){let d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let u=Ot.records.branches.get(Ot.records.currBranch);if(u===void 0||!u){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Ot.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let h=Ot.records.commits.get(u);if(h===void 0||!h){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Ot.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let f={id:Ot.records.seq+"-"+dW(),message:`cherry-picked ${s?.message} into ${Ot.records.currBranch}`,seq:Ot.records.seq++,parents:Ot.records.head==null?[]:[Ot.records.head.id,s.id],branch:Ot.records.currBranch,type:Ci.CHERRY_PICK,tags:i?i.filter(Boolean):[`cherry-pick:${s.id}${s.type===Ci.MERGE?`|parent:${n}`:""}`]};Ot.records.head=f,Ot.records.commits.set(f.id,f),Ot.records.branches.set(Ot.records.currBranch,f.id),Q.debug(Ot.records.branches),Q.debug("in cherryPick")}},"cherryPick"),s4e=o(function(t){if(t=lt.sanitizeText(t,ig()),Ot.records.branches.has(t)){Ot.records.currBranch=t;let e=Ot.records.branches.get(Ot.records.currBranch);e===void 0||!e?Ot.records.head=null:Ot.records.head=Ot.records.commits.get(e)??null}else{let e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");o(a4e,"upsert");o(o4e,"prettyPrintCommitHistory");Olt=o(function(){Q.debug(Ot.records.commits);let t=l4e()[0];o4e([t])},"prettyPrint"),Plt=o(function(){Ot.reset(),wr()},"clear"),Blt=o(function(){return[...Ot.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),Flt=o(function(){return Ot.records.branches},"getBranches"),$lt=o(function(){return Ot.records.commits},"getCommits"),l4e=o(function(){let t=[...Ot.records.commits.values()];return t.forEach(function(e){Q.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),zlt=o(function(){return Ot.records.currBranch},"getCurrentBranch"),Glt=o(function(){return Ot.records.direction},"getDirection"),Vlt=o(function(){return Ot.records.head},"getHead"),e_={commitType:Ci,getConfig:ig,setDirection:_lt,setOptions:Dlt,getOptions:Llt,commit:Rlt,branch:Nlt,merge:Ilt,cherryPick:Mlt,checkout:s4e,prettyPrint:Olt,clear:Plt,getBranchesAsObjArray:Blt,getBranches:Flt,getCommits:$lt,getCommitsArray:l4e,getCurrentBranch:zlt,getDirection:Glt,getHead:Vlt,setAccTitle:Ar,getAccTitle:Dr,getAccDescription:Rr,setAccDescription:Lr,setDiagramTitle:Mr,getDiagramTitle:Nr}});var qlt,Wlt,Ult,Hlt,Ylt,jlt,Xlt,c4e,u4e=P(()=>{"use strict";sh();bt();vf();pW();Z7();qlt=o((t,e)=>{Ss(t,e),t.dir&&e.setDirection(t.dir);for(let r of t.statements)Wlt(r,e)},"populate"),Wlt=o((t,e)=>{let i={Commit:o(n=>e.commit(Ult(n)),"Commit"),Branch:o(n=>e.branch(Hlt(n)),"Branch"),Merge:o(n=>e.merge(Ylt(n)),"Merge"),Checkout:o(n=>e.checkout(jlt(n)),"Checkout"),CherryPicking:o(n=>e.cherryPick(Xlt(n)),"CherryPicking")}[t.$type];i?i(t):Q.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),Ult=o(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?Ci[t.type]:Ci.NORMAL,tags:t.tags??void 0}),"parseCommit"),Hlt=o(t=>({name:t.name,order:t.order??0}),"parseBranch"),Ylt=o(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?Ci[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),jlt=o(t=>t.branch,"parseCheckout"),Xlt=o(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),c4e={parse:o(async t=>{let e=await ba("gitGraph",t);Q.debug(e),qlt(e,e_)},"parse")}});var wp,Ep,oh,xf,ng,i_,mW,gW,Klt,ag,zo,Go,t_,wC,r_,bf,Zr,Qlt,f4e,d4e,Zlt,Jlt,ect,tct,rct,ict,nct,act,sct,oct,lct,cct,h4e,uct,EC,hct,fct,dct,pct,mct,p4e,m4e=P(()=>{"use strict";Pr();Ut();bt();er();Z7();wp=10,Ep=40,oh=4,xf=2,ng=8,i_=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),mW=12,gW=new Set(["redux-color","redux-dark-color"]),Klt=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),ag=o((t,e,r=!1)=>r&&t>0?(t-1)%(e-1)+1:t%e,"calcColorIndex"),zo=new Map,Go=new Map,t_=30,wC=new Map,r_=[],bf=0,Zr="LR",Qlt=o(()=>{zo.clear(),Go.clear(),wC.clear(),bf=0,r_=[],Zr="LR"},"clear"),f4e=o(t=>{let e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(i=>{let n=document.createElementNS("http://www.w3.org/2000/svg","tspan");n.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),n.setAttribute("dy","1em"),n.setAttribute("x","0"),n.setAttribute("class","row"),n.textContent=i.trim(),e.appendChild(n)}),e},"drawText"),d4e=o(t=>{let e,r,i;return Zr==="BT"?(r=o((n,a)=>n<=a,"comparisonFunc"),i=1/0):(r=o((n,a)=>n>=a,"comparisonFunc"),i=0),t.forEach(n=>{let a=Zr==="TB"||Zr=="BT"?Go.get(n)?.y:Go.get(n)?.x;a!==void 0&&r(a,i)&&(e=n,i=a)}),e},"findClosestParent"),Zlt=o(t=>{let e="",r=1/0;return t.forEach(i=>{let n=Go.get(i).y;n<=r&&(e=i,r=n)}),e||void 0},"findClosestParentBT"),Jlt=o((t,e,r)=>{let i=r,n=r,a=[];t.forEach(s=>{let l=e.get(s);if(!l)throw new Error(`Commit not found for key ${s}`);l.parents.length?(i=tct(l),n=Math.max(i,n)):a.push(l),rct(l,i)}),i=n,a.forEach(s=>{ict(s,i,r)}),t.forEach(s=>{let l=e.get(s);if(l?.parents.length){let u=Zlt(l.parents);i=Go.get(u).y-Ep,i<=n&&(n=i);let h=zo.get(l.branch).pos,f=i-wp;Go.set(l.id,{x:h,y:f})}})},"setParallelBTPos"),ect=o(t=>{let e=d4e(t.parents.filter(i=>i!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);let r=Go.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),tct=o(t=>ect(t)+Ep,"calculateCommitPosition"),rct=o((t,e)=>{let r=zo.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);let i=r.pos,n=e+wp;return Go.set(t.id,{x:i,y:n}),{x:i,y:n}},"setCommitPosition"),ict=o((t,e,r)=>{let i=zo.get(t.branch);if(!i)throw new Error(`Branch not found for commit ${t.id}`);let n=e+r,a=i.pos;Go.set(t.id,{x:a,y:n})},"setRootPosition"),nct=o((t,e,r,i,n,a)=>{let{theme:s}=ge(),l=i_.has(s??""),u=gW.has(s??""),h=Klt.has(s??"");if(a===Ci.HIGHLIGHT)t.append("rect").attr("x",r.x-10+(l?3:0)).attr("y",r.y-10+(l?3:0)).attr("width",l?14:20).attr("height",l?14:20).attr("class",`commit ${e.id} commit-highlight${ag(n,ng,u)} ${i}-outer`),t.append("rect").attr("x",r.x-6+(l?2:0)).attr("y",r.y-6+(l?2:0)).attr("width",l?8:12).attr("height",l?8:12).attr("class",`commit ${e.id} commit${ag(n,ng,u)} ${i}-inner`);else if(a===Ci.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",l?7:10).attr("class",`commit ${e.id} ${i}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",l?2.5:2.75).attr("fill",h?"#000000":"#fff").attr("class",`commit ${e.id} ${i}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",l?2.5:2.75).attr("fill",h?"#000000":"#fff").attr("class",`commit ${e.id} ${i}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",h?"#000000":"#fff").attr("class",`commit ${e.id} ${i}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",h?"#000000":"#fff").attr("class",`commit ${e.id} ${i}`);else{let f=t.append("circle");if(f.attr("cx",r.x),f.attr("cy",r.y),f.attr("r",l?7:10),f.attr("class",`commit ${e.id} commit${ag(n,ng,u)}`),a===Ci.MERGE){let d=t.append("circle");d.attr("cx",r.x),d.attr("cy",r.y),d.attr("r",l?5:6),d.attr("class",`commit ${i} ${e.id} commit${ag(n,ng,u)}`)}if(a===Ci.REVERSE){let d=t.append("path"),p=l?4:5;d.attr("d",`M ${r.x-p},${r.y-p}L${r.x+p},${r.y+p}M${r.x-p},${r.y+p}L${r.x+p},${r.y-p}`).attr("class",`commit ${i} ${e.id} commit${ag(n,ng,u)}`)}}},"drawCommitBullet"),act=o((t,e,r,i,n)=>{if(e.type!==Ci.CHERRY_PICK&&(e.customId&&e.type===Ci.MERGE||e.type!==Ci.MERGE)&&n.showCommitLabel){let a=t.append("g"),s=a.insert("rect").attr("class","commit-label-bkg"),l=a.append("text").attr("x",i).attr("y",r.y+25).attr("class","commit-label").text(e.id),u=l.node()?.getBBox();if(u&&(s.attr("x",r.posWithOffset-u.width/2-xf).attr("y",r.y+13.5).attr("width",u.width+2*xf).attr("height",u.height+2*xf),Zr==="TB"||Zr==="BT"?(s.attr("x",r.x-(u.width+4*oh+5)).attr("y",r.y-12),l.attr("x",r.x-(u.width+4*oh)).attr("y",r.y+u.height-12)):l.attr("x",r.posWithOffset-u.width/2),n.rotateCommitLabel))if(Zr==="TB"||Zr==="BT")l.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),s.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{let h=-7.5-(u.width+10)/25*9.5,f=10+u.width/25*8.5;a.attr("transform","translate("+h+", "+f+") rotate(-45, "+i+", "+r.y+")")}}},"drawCommitLabel"),sct=o((t,e,r,i)=>{if(e.tags.length>0){let n=0,a=0,s=0,l=[];for(let u of e.tags.reverse()){let h=t.insert("polygon"),f=t.append("circle"),d=t.append("text").attr("y",r.y-16-n).attr("class","tag-label").text(u),p=d.node()?.getBBox();if(!p)throw new Error("Tag bbox not found");a=Math.max(a,p.width),s=Math.max(s,p.height),d.attr("x",r.posWithOffset-p.width/2),l.push({tag:d,hole:f,rect:h,yOffset:n}),n+=20}for(let{tag:u,hole:h,rect:f,yOffset:d}of l){let p=s/2,m=r.y-19.2-d;if(f.attr("class","tag-label-bkg").attr("points",` - ${i-a/2-oh/2},${m+xf} - ${i-a/2-oh/2},${m-xf} - ${r.posWithOffset-a/2-oh},${m-p-xf} - ${r.posWithOffset+a/2+oh},${m-p-xf} - ${r.posWithOffset+a/2+oh},${m+p+xf} - ${r.posWithOffset-a/2-oh},${m+p+xf}`),h.attr("cy",m).attr("cx",i-a/2+oh/2).attr("r",1.5).attr("class","tag-hole"),Zr==="TB"||Zr==="BT"){let g=i+d;f.attr("class","tag-label-bkg").attr("points",` - ${r.x},${g+2} - ${r.x},${g-2} - ${r.x+wp},${g-p-2} - ${r.x+wp+a+4},${g-p-2} - ${r.x+wp+a+4},${g+p+2} - ${r.x+wp},${g+p+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+i+")"),h.attr("cx",r.x+oh/2).attr("cy",g).attr("transform","translate(12,12) rotate(45, "+r.x+","+i+")"),u.attr("x",r.x+5).attr("y",g+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+i+")")}}}},"drawCommitTags"),oct=o(t=>{switch(t.customType??t.type){case Ci.NORMAL:return"commit-normal";case Ci.REVERSE:return"commit-reverse";case Ci.HIGHLIGHT:return"commit-highlight";case Ci.MERGE:return"commit-merge";case Ci.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),lct=o((t,e,r,i)=>{let n={x:0,y:0};if(t.parents.length>0){let a=d4e(t.parents);if(a){let s=i.get(a)??n;return e==="TB"?s.y+Ep:e==="BT"?(i.get(t.id)??n).y-Ep:s.x+Ep}}else return e==="TB"?t_:e==="BT"?(i.get(t.id)??n).y-Ep:0;return 0},"calculatePosition"),cct=o((t,e,r)=>{let i=Zr==="BT"&&r?e:e+wp,n=zo.get(t.branch)?.pos,a=Zr==="TB"||Zr==="BT"?zo.get(t.branch)?.pos:i;if(a===void 0||n===void 0)throw new Error(`Position were undefined for commit ${t.id}`);let s=i_.has(ge().theme??""),l=Zr==="TB"||Zr==="BT"?i:n+(s?mW/2+1:-2);return{x:a,y:l,posWithOffset:i}},"getCommitPosition"),h4e=o((t,e,r,i)=>{let n=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels"),s=Zr==="TB"||Zr==="BT"?t_:0,l=[...e.keys()],u=i.parallelCommits??!1,h=o((d,p)=>{let m=e.get(d)?.seq,g=e.get(p)?.seq;return m!==void 0&&g!==void 0?m-g:0},"sortKeys"),f=l.sort(h);Zr==="BT"&&(u&&Jlt(f,e,s),f=f.reverse()),f.forEach(d=>{let p=e.get(d);if(!p)throw new Error(`Commit not found for key ${d}`);u&&(s=lct(p,Zr,s,Go));let m=cct(p,s,u);if(r){let g=oct(p),y=p.customType??p.type,v=zo.get(p.branch)?.index??0;nct(n,p,m,g,v,y),act(a,p,m,s,i),sct(a,p,m,s)}Zr==="TB"||Zr==="BT"?Go.set(p.id,{x:m.x,y:m.posWithOffset}):Go.set(p.id,{x:m.posWithOffset,y:m.y}),s=Zr==="BT"&&u?s+Ep:s+Ep+wp,s>bf&&(bf=s)})},"drawCommits"),uct=o((t,e,r,i,n)=>{let s=(Zr==="TB"||Zr==="BT"?r.xh.branch===s,"isOnBranchToGetCurve"),u=o(h=>h.seq>t.seq&&h.sequ(h)&&l(h))},"shouldRerouteArrow"),EC=o((t,e,r=0)=>{let i=t+Math.abs(t-e)/2;if(r>5)return i;if(r_.every(s=>Math.abs(s-i)>=10))return r_.push(i),i;let a=Math.abs(t-e);return EC(t,e-a/5,r+1)},"findLane"),hct=o((t,e,r,i)=>{let{theme:n}=ge(),a=gW.has(n??""),s=Go.get(e.id),l=Go.get(r.id);if(s===void 0||l===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);let u=uct(e,r,s,l,i),h="",f="",d=0,p=0,m=zo.get(r.branch)?.index;r.type===Ci.MERGE&&e.id!==r.parents[0]&&(m=zo.get(e.branch)?.index);let g;if(u){h="A 10 10, 0, 0, 0,",f="A 10 10, 0, 0, 1,",d=10,p=10;let y=s.yl.x&&(h="A 20 20, 0, 0, 0,",f="A 20 20, 0, 0, 1,",d=20,p=20,r.type===Ci.MERGE&&e.id!==r.parents[0]?g=`M ${s.x} ${s.y} L ${s.x} ${l.y-d} ${f} ${s.x-p} ${l.y} L ${l.x} ${l.y}`:g=`M ${s.x} ${s.y} L ${l.x+d} ${s.y} ${h} ${l.x} ${s.y+p} L ${l.x} ${l.y}`),s.x===l.x&&(g=`M ${s.x} ${s.y} L ${l.x} ${l.y}`)):Zr==="BT"?(s.xl.x&&(h="A 20 20, 0, 0, 0,",f="A 20 20, 0, 0, 1,",d=20,p=20,r.type===Ci.MERGE&&e.id!==r.parents[0]?g=`M ${s.x} ${s.y} L ${s.x} ${l.y+d} ${h} ${s.x-p} ${l.y} L ${l.x} ${l.y}`:g=`M ${s.x} ${s.y} L ${l.x+d} ${s.y} ${f} ${l.x} ${s.y-p} L ${l.x} ${l.y}`),s.x===l.x&&(g=`M ${s.x} ${s.y} L ${l.x} ${l.y}`)):(s.yl.y&&(r.type===Ci.MERGE&&e.id!==r.parents[0]?g=`M ${s.x} ${s.y} L ${l.x-d} ${s.y} ${h} ${l.x} ${s.y-p} L ${l.x} ${l.y}`:g=`M ${s.x} ${s.y} L ${s.x} ${l.y+d} ${f} ${s.x+p} ${l.y} L ${l.x} ${l.y}`),s.y===l.y&&(g=`M ${s.x} ${s.y} L ${l.x} ${l.y}`));if(g===void 0)throw new Error("Line definition not found");t.append("path").attr("d",g).attr("class","arrow arrow"+ag(m,ng,a))},"drawArrow"),fct=o((t,e)=>{let r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(i=>{let n=e.get(i);n.parents&&n.parents.length>0&&n.parents.forEach(a=>{hct(r,e.get(a),n,e)})})},"drawArrows"),dct=o((t,e,r,i)=>{let{look:n,theme:a,themeVariables:s}=ge(),{dropShadow:l,THEME_COLOR_LIMIT:u}=s,h=i_.has(a??""),f=gW.has(a??""),d=t.append("g");e.forEach((p,m)=>{let g=ag(m,h?u:ng,f),y=zo.get(p.name)?.pos;if(y===void 0)throw new Error(`Position not found for branch ${p.name}`);let v=Zr==="TB"||Zr==="BT"?y:h?y+mW/2+1:y-2,x=d.append("line");x.attr("x1",0),x.attr("y1",v),x.attr("x2",bf),x.attr("y2",v),x.attr("class","branch branch"+g),Zr==="TB"?(x.attr("y1",t_),x.attr("x1",y),x.attr("y2",bf),x.attr("x2",y)):Zr==="BT"&&(x.attr("y1",bf),x.attr("x1",y),x.attr("y2",t_),x.attr("x2",y)),r_.push(v);let b=p.name,T=f4e(b),w=d.insert("rect"),C=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+g);C.node().appendChild(T);let E=T.getBBox(),S=h?0:4,L=h?16:0,M=h?mW:0;n==="neo"&&w.attr("data-look","neo"),w.attr("class","branchLabelBkg label"+g).attr("style",n==="neo"?`filter:${h?`url(#${i}-drop-shadow)`:l}`:"").attr("rx",S).attr("ry",S).attr("x",-E.width-4-(r.rotateCommitLabel===!0?30:0)).attr("y",-E.height/2+10).attr("width",E.width+18+L).attr("height",E.height+4+M),C.attr("transform","translate("+(-E.width-14-(r.rotateCommitLabel===!0?30:0)+L/2)+", "+(v-E.height/2-2)+")"),Zr==="TB"?(w.attr("x",y-E.width/2-10).attr("y",0),C.attr("transform","translate("+(y-E.width/2-5)+", 0)"),h&&(w.attr("transform",`translate(${-L/2-3}, ${-M-10})`),C.attr("transform","translate("+(y-E.width/2-5)+", "+(-M*2+7)+")"))):Zr==="BT"?(w.attr("x",y-E.width/2-10).attr("y",bf),C.attr("transform","translate("+(y-E.width/2-5)+", "+bf+")"),h&&(w.attr("transform",`translate(${-L/2-3}, ${M+10})`),C.attr("transform","translate("+(y-E.width/2-5)+", "+(bf+M*2+4)+")"))):w.attr("transform","translate(-19, "+(v-12-M/2)+")")})},"drawBranches"),pct=o(function(t,e,r,i,n){return zo.set(t,{pos:e,index:r}),e+=50+(n?40:0)+(Zr==="TB"||Zr==="BT"?i.width/2:0),e},"setBranchPosition"),mct=o(function(t,e,r,i){Qlt(),Q.debug("in gitgraph renderer",t+` -`,"id:",e,r);let n=i.db;if(!n.getConfig){Q.error("getConfig method is not available on db");return}let a=n.getConfig(),s=a.rotateCommitLabel??!1;wC=n.getCommits();let l=n.getBranchesAsObjArray();Zr=n.getDirection();let u=Ze(`[id="${e}"]`),{look:h,theme:f,themeVariables:d}=ge(),{useGradient:p,gradientStart:m,gradientStop:g,filterColor:y}=d;if(p){let x=u.append("defs").append("linearGradient").attr("id",e+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");x.append("stop").attr("offset","0%").attr("stop-color",m).attr("stop-opacity",1),x.append("stop").attr("offset","100%").attr("stop-color",g).attr("stop-opacity",1)}h==="neo"&&i_.has(f??"")&&u.append("defs").append("filter").attr("id",e+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",y);let v=0;l.forEach((x,b)=>{let T=f4e(x.name),w=u.append("g"),k=w.insert("g").attr("class","branchLabel"),C=k.insert("g").attr("class","label branch-label");C.node()?.appendChild(T);let E=T.getBBox();v=pct(x.name,v,b,E,s),C.remove(),k.remove(),w.remove()}),h4e(u,wC,!1,a),a.showBranches&&dct(u,l,a,e),fct(u,wC),h4e(u,wC,!0,a),Kt.insertTitle(u,"gitTitleText",a.titleTopMargin??0,n.getDiagramTitle()),yL(void 0,u,a.diagramPadding,a.useMaxWidth)},"draw"),p4e={draw:mct}});var g4e,y4e,gct,yct,vct,xct,bct,Tct,kct,Cct,v4e,x4e=P(()=>{"use strict";Sr();g4e=8,y4e=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),gct=new Set(["redux-color","redux-dark-color"]),yct=new Set(["neo","neo-dark"]),vct=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),xct=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),bct=o(t=>{let{svgId:e}=t,r="";if(t.useGradient&&e)for(let i=0;i{let e=Lt(),{theme:r,themeVariables:i}=e,{borderColorArray:n}=i,a=y4e.has(r);if(yct.has(r)){let s="";for(let l=0;l`${Array.from({length:t.THEME_COLOR_LIMIT},(e,r)=>r).map(e=>{let r=e%g4e;return` - .branch-label${e} { fill: ${t["gitBranchLabel"+r]}; } - .commit${e} { stroke: ${t["git"+r]}; fill: ${t["git"+r]}; } - .commit-highlight${e} { stroke: ${t["gitInv"+r]}; fill: ${t["gitInv"+r]}; } - .label${e} { fill: ${t["git"+r]}; } - .arrow${e} { stroke: ${t["git"+r]}; } - `}).join(` -`)}`,"normalTheme"),Cct=o(t=>{let e=Lt(),{theme:r}=e,i=xct.has(r);return` - .commit-id, - .commit-msg, - .branch-label { - fill: lightgrey; - color: lightgrey; - font-family: 'trebuchet ms', verdana, arial, sans-serif; - font-family: var(--mermaid-font-family); - } - - ${i?Tct(t):kct(t)} - - .branch { - stroke-width: ${t.strokeWidth}; - stroke: ${t.commitLineColor??t.lineColor}; - stroke-dasharray: ${i?"4 2":"2"}; - } - .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${i?t.nodeBorder:t.commitLabelColor}; ${i?`font-weight:${t.noteFontWeight};`:""}} - .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${i?"transparent":t.commitLabelBackground}; opacity: ${i?"":.5}; } - .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};} - .tag-label-bkg { fill: ${i?t.mainBkg:t.tagLabelBackground}; stroke: ${i?t.nodeBorder:t.tagLabelBorder}; ${i?`filter:${t.dropShadow}`:""} } - .tag-hole { fill: ${t.textColor}; } - - .commit-merge { - stroke: ${i?t.mainBkg:t.primaryColor}; - fill: ${i?t.mainBkg:t.primaryColor}; - } - .commit-reverse { - stroke: ${i?t.mainBkg:t.primaryColor}; - fill: ${i?t.mainBkg:t.primaryColor}; - stroke-width: ${i?t.strokeWidth:3}; - } - .commit-highlight-outer { - } - .commit-highlight-inner { - stroke: ${i?t.mainBkg:t.primaryColor}; - fill: ${i?t.mainBkg:t.primaryColor}; - } - - .arrow { - /* Intentional: neo themes keep the bold 8px arrow (like classic themes); only redux-geometry themes use the thinner options.strokeWidth. */ - stroke-width: ${y4e.has(r)?t.strokeWidth:8}; - stroke-linecap: round; - fill: none - } - .gitTitleText { - text-anchor: middle; - font-size: 18px; - fill: ${t.textColor}; - } -`},"getStyles"),v4e=Cct});var b4e={};ur(b4e,{diagram:()=>wct});var wct,T4e=P(()=>{"use strict";u4e();pW();m4e();x4e();wct={parser:c4e,db:e_,renderer:p4e,styles:v4e}});var yW,w4e,E4e=P(()=>{"use strict";yW=(function(){var t=o(function(_,D,N,R){for(N=N||{},R=_.length;R--;N[_[R]]=D);return N},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],i=[1,27],n=[1,28],a=[1,29],s=[1,30],l=[1,31],u=[1,32],h=[1,33],f=[1,34],d=[1,9],p=[1,10],m=[1,11],g=[1,12],y=[1,13],v=[1,14],x=[1,15],b=[1,16],T=[1,19],w=[1,20],k=[1,21],C=[1,22],E=[1,23],S=[1,25],L=[1,35],M={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:o(function(D,N,R,B,O,$,z){var F=$.length-1;switch(O){case 1:return $[F-1];case 2:this.$=[];break;case 3:$[F-1].push($[F]),this.$=$[F-1];break;case 4:case 5:this.$=$[F];break;case 6:case 7:this.$=[];break;case 8:B.setWeekday("monday");break;case 9:B.setWeekday("tuesday");break;case 10:B.setWeekday("wednesday");break;case 11:B.setWeekday("thursday");break;case 12:B.setWeekday("friday");break;case 13:B.setWeekday("saturday");break;case 14:B.setWeekday("sunday");break;case 15:B.setWeekend("friday");break;case 16:B.setWeekend("saturday");break;case 17:B.setDateFormat($[F].substr(11)),this.$=$[F].substr(11);break;case 18:B.enableInclusiveEndDates(),this.$=$[F].substr(18);break;case 19:B.TopAxis(),this.$=$[F].substr(8);break;case 20:B.setAxisFormat($[F].substr(11)),this.$=$[F].substr(11);break;case 21:B.setTickInterval($[F].substr(13)),this.$=$[F].substr(13);break;case 22:B.setExcludes($[F].substr(9)),this.$=$[F].substr(9);break;case 23:B.setIncludes($[F].substr(9)),this.$=$[F].substr(9);break;case 24:B.setTodayMarker($[F].substr(12)),this.$=$[F].substr(12);break;case 27:B.setDiagramTitle($[F].substr(6)),this.$=$[F].substr(6);break;case 28:this.$=$[F].trim(),B.setAccTitle(this.$);break;case 29:case 30:this.$=$[F].trim(),B.setAccDescription(this.$);break;case 31:B.addSection($[F].substr(8)),this.$=$[F].substr(8);break;case 33:B.addTask($[F-1],$[F]),this.$="task";break;case 34:this.$=$[F-1],B.setClickEvent($[F-1],$[F],null);break;case 35:this.$=$[F-2],B.setClickEvent($[F-2],$[F-1],$[F]);break;case 36:this.$=$[F-2],B.setClickEvent($[F-2],$[F-1],null),B.setLink($[F-2],$[F]);break;case 37:this.$=$[F-3],B.setClickEvent($[F-3],$[F-2],$[F-1]),B.setLink($[F-3],$[F]);break;case 38:this.$=$[F-2],B.setClickEvent($[F-2],$[F],null),B.setLink($[F-2],$[F-1]);break;case 39:this.$=$[F-3],B.setClickEvent($[F-3],$[F-1],$[F]),B.setLink($[F-3],$[F-2]);break;case 40:this.$=$[F-1],B.setLink($[F-1],$[F]);break;case 41:case 47:this.$=$[F-1]+" "+$[F];break;case 42:case 43:case 45:this.$=$[F-2]+" "+$[F-1]+" "+$[F];break;case 44:case 46:this.$=$[F-3]+" "+$[F-2]+" "+$[F-1]+" "+$[F];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:i,14:n,15:a,16:s,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:T,31:w,33:k,35:C,36:E,37:24,38:S,40:L},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:i,14:n,15:a,16:s,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:T,31:w,33:k,35:C,36:E,37:24,38:S,40:L},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:o(function(D,N){if(N.recoverable)this.trace(D);else{var R=new Error(D);throw R.hash=N,R}},"parseError"),parse:o(function(D){var N=this,R=[0],B=[],O=[null],$=[],z=this.table,F="",V=0,H=0,X=0,W=2,Z=1,Y=$.slice.call(arguments,1),ae=Object.create(this.lexer),J={yy:{}};for(var ee in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ee)&&(J.yy[ee]=this.yy[ee]);ae.setInput(D,J.yy),J.yy.lexer=ae,J.yy.parser=this,typeof ae.yylloc>"u"&&(ae.yylloc={});var re=ae.yylloc;$.push(re);var te=ae.options&&ae.options.ranges;typeof J.yy.parseError=="function"?this.parseError=J.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function be(Me){R.length=R.length-2*Me,O.length=O.length-Me,$.length=$.length-Me}o(be,"popStack");function de(){var Me;return Me=B.pop()||ae.lex()||Z,typeof Me!="number"&&(Me instanceof Array&&(B=Me,Me=B.pop()),Me=N.symbols_[Me]||Me),Me}o(de,"lex");for(var Ee,Ne,we,Te,De,$e,pe={},Je,Ce,Fe,Ue;;){if(we=R[R.length-1],this.defaultActions[we]?Te=this.defaultActions[we]:((Ee===null||typeof Ee>"u")&&(Ee=de()),Te=z[we]&&z[we][Ee]),typeof Te>"u"||!Te.length||!Te[0]){var qe="";Ue=[];for(Je in z[we])this.terminals_[Je]&&Je>W&&Ue.push("'"+this.terminals_[Je]+"'");ae.showPosition?qe="Parse error on line "+(V+1)+`: -`+ae.showPosition()+` -Expecting `+Ue.join(", ")+", got '"+(this.terminals_[Ee]||Ee)+"'":qe="Parse error on line "+(V+1)+": Unexpected "+(Ee==Z?"end of input":"'"+(this.terminals_[Ee]||Ee)+"'"),this.parseError(qe,{text:ae.match,token:this.terminals_[Ee]||Ee,line:ae.yylineno,loc:re,expected:Ue})}if(Te[0]instanceof Array&&Te.length>1)throw new Error("Parse Error: multiple actions possible at state: "+we+", token: "+Ee);switch(Te[0]){case 1:R.push(Ee),O.push(ae.yytext),$.push(ae.yylloc),R.push(Te[1]),Ee=null,Ne?(Ee=Ne,Ne=null):(H=ae.yyleng,F=ae.yytext,V=ae.yylineno,re=ae.yylloc,X>0&&X--);break;case 2:if(Ce=this.productions_[Te[1]][1],pe.$=O[O.length-Ce],pe._$={first_line:$[$.length-(Ce||1)].first_line,last_line:$[$.length-1].last_line,first_column:$[$.length-(Ce||1)].first_column,last_column:$[$.length-1].last_column},te&&(pe._$.range=[$[$.length-(Ce||1)].range[0],$[$.length-1].range[1]]),$e=this.performAction.apply(pe,[F,H,V,J.yy,Te[1],O,$].concat(Y)),typeof $e<"u")return $e;Ce&&(R=R.slice(0,-1*Ce*2),O=O.slice(0,-1*Ce),$=$.slice(0,-1*Ce)),R.push(this.productions_[Te[1]][0]),O.push(pe.$),$.push(pe._$),Fe=z[R[R.length-2]][R[R.length-1]],R.push(Fe);break;case 3:return!0}}return!0},"parse")},I=(function(){var _={EOF:1,parseError:o(function(N,R){if(this.yy.parser)this.yy.parser.parseError(N,R);else throw new Error(N)},"parseError"),setInput:o(function(D,N){return this.yy=N||this.yy||{},this._input=D,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var D=this._input[0];this.yytext+=D,this.yyleng++,this.offset++,this.match+=D,this.matched+=D;var N=D.match(/(?:\r\n?|\n).*/g);return N?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),D},"input"),unput:o(function(D){var N=D.length,R=D.split(/(?:\r\n?|\n)/g);this._input=D+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-N),this.offset-=N;var B=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),R.length-1&&(this.yylineno-=R.length-1);var O=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:R?(R.length===B.length?this.yylloc.first_column:0)+B[B.length-R.length].length-R[0].length:this.yylloc.first_column-N},this.options.ranges&&(this.yylloc.range=[O[0],O[0]+this.yyleng-N]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(D){this.unput(this.match.slice(D))},"less"),pastInput:o(function(){var D=this.matched.substr(0,this.matched.length-this.match.length);return(D.length>20?"...":"")+D.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var D=this.match;return D.length<20&&(D+=this._input.substr(0,20-D.length)),(D.substr(0,20)+(D.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var D=this.pastInput(),N=new Array(D.length+1).join("-");return D+this.upcomingInput()+` -`+N+"^"},"showPosition"),test_match:o(function(D,N){var R,B,O;if(this.options.backtrack_lexer&&(O={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(O.yylloc.range=this.yylloc.range.slice(0))),B=D[0].match(/(?:\r\n?|\n).*/g),B&&(this.yylineno+=B.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:B?B[B.length-1].length-B[B.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+D[0].length},this.yytext+=D[0],this.match+=D[0],this.matches=D,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(D[0].length),this.matched+=D[0],R=this.performAction.call(this,this.yy,this,N,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),R)return R;if(this._backtrack){for(var $ in O)this[$]=O[$];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var D,N,R,B;this._more||(this.yytext="",this.match="");for(var O=this._currentRules(),$=0;$N[0].length)){if(N=R,B=$,this.options.backtrack_lexer){if(D=this.test_match(R,O[$]),D!==!1)return D;if(this._backtrack){N=!1;continue}else return!1}else if(!this.options.flex)break}return N?(D=this.test_match(N,O[B]),D!==!1?D:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var N=this.next();return N||this.lex()},"lex"),begin:o(function(N){this.conditionStack.push(N)},"begin"),popState:o(function(){var N=this.conditionStack.length-1;return N>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(N){return N=this.conditionStack.length-1-Math.abs(N||0),N>=0?this.conditionStack[N]:"INITIAL"},"topState"),pushState:o(function(N){this.begin(N)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(N,R,B,O){var $=O;switch(B){case 0:return this.begin("open_directive"),"open_directive";break;case 1:return this.begin("acc_title"),31;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),33;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return _})();M.lexer=I;function A(){this.yy={}}return o(A,"Parser"),A.prototype=M,M.Parser=A,new A})();yW.parser=yW;w4e=yW});var S4e=ar((vW,xW)=>{"use strict";(function(t,e){typeof vW=="object"&&typeof xW<"u"?xW.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_isoWeek=e()})(vW,(function(){"use strict";var t="day";return function(e,r,i){var n=o(function(l){return l.add(4-l.isoWeekday(),t)},"a"),a=r.prototype;a.isoWeekYear=function(){return n(this).year()},a.isoWeek=function(l){if(!this.$utils().u(l))return this.add(7*(l-this.isoWeek()),t);var u,h,f,d,p=n(this),m=(u=this.isoWeekYear(),h=this.$u,f=(h?i.utc:i)().year(u).startOf("year"),d=4-f.isoWeekday(),f.isoWeekday()>4&&(d+=7),f.add(d,t));return p.diff(m,"week")+1},a.isoWeekday=function(l){return this.$utils().u(l)?this.day()||7:this.day(this.day()%7?l:l-7)};var s=a.startOf;a.startOf=function(l,u){var h=this.$utils(),f=!!h.u(u)||u;return h.p(l)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):s.bind(this)(l,u)}}}))});var A4e=ar((bW,TW)=>{"use strict";(function(t,e){typeof bW=="object"&&typeof TW<"u"?TW.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_customParseFormat=e()})(bW,(function(){"use strict";var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d/,i=/\d\d/,n=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,s={},l=o(function(g){return(g=+g)+(g>68?1900:2e3)},"a"),u=o(function(g){return function(y){this[g]=+y}},"f"),h=[/[+-]\d\d:?(\d\d)?|Z/,function(g){(this.zone||(this.zone={})).offset=(function(y){if(!y||y==="Z")return 0;var v=y.match(/([+-]|\d\d)/g),x=60*v[1]+(+v[2]||0);return x===0?0:v[0]==="+"?-x:x})(g)}],f=o(function(g){var y=s[g];return y&&(y.indexOf?y:y.s.concat(y.f))},"u"),d=o(function(g,y){var v,x=s.meridiem;if(x){for(var b=1;b<=24;b+=1)if(g.indexOf(x(b,0,y))>-1){v=b>12;break}}else v=g===(y?"pm":"PM");return v},"d"),p={A:[a,function(g){this.afternoon=d(g,!1)}],a:[a,function(g){this.afternoon=d(g,!0)}],Q:[r,function(g){this.month=3*(g-1)+1}],S:[r,function(g){this.milliseconds=100*+g}],SS:[i,function(g){this.milliseconds=10*+g}],SSS:[/\d{3}/,function(g){this.milliseconds=+g}],s:[n,u("seconds")],ss:[n,u("seconds")],m:[n,u("minutes")],mm:[n,u("minutes")],H:[n,u("hours")],h:[n,u("hours")],HH:[n,u("hours")],hh:[n,u("hours")],D:[n,u("day")],DD:[i,u("day")],Do:[a,function(g){var y=s.ordinal,v=g.match(/\d+/);if(this.day=v[0],y)for(var x=1;x<=31;x+=1)y(x).replace(/\[|\]/g,"")===g&&(this.day=x)}],w:[n,u("week")],ww:[i,u("week")],M:[n,u("month")],MM:[i,u("month")],MMM:[a,function(g){var y=f("months"),v=(f("monthsShort")||y.map((function(x){return x.slice(0,3)}))).indexOf(g)+1;if(v<1)throw new Error;this.month=v%12||v}],MMMM:[a,function(g){var y=f("months").indexOf(g)+1;if(y<1)throw new Error;this.month=y%12||y}],Y:[/[+-]?\d+/,u("year")],YY:[i,function(g){this.year=l(g)}],YYYY:[/\d{4}/,u("year")],Z:h,ZZ:h};function m(g){var y,v;y=g,v=s&&s.formats;for(var x=(g=y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(S,L,M){var I=M&&M.toUpperCase();return L||v[M]||t[M]||v[I].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(A,_,D){return _||D.slice(1)}))}))).match(e),b=x.length,T=0;T-1)return new Date((R==="X"?1e3:1)*N);var $=m(R)(N),z=$.year,F=$.month,V=$.day,H=$.hours,X=$.minutes,W=$.seconds,Z=$.milliseconds,Y=$.zone,ae=$.week,J=new Date,ee=V||(z||F?1:J.getDate()),re=z||J.getFullYear(),te=0;z&&!F||(te=F>0?F-1:J.getMonth());var be,de=H||0,Ee=X||0,Ne=W||0,we=Z||0;return Y?new Date(Date.UTC(re,te,ee,de,Ee,Ne,we+60*Y.offset*1e3)):B?new Date(Date.UTC(re,te,ee,de,Ee,Ne,we)):(be=new Date(re,te,ee,de,Ee,Ne,we),ae&&(be=O(be).week(ae).toDate()),be)}catch{return new Date("")}})(w,E,k,v),this.init(),I&&I!==!0&&(this.$L=this.locale(I).$L),M&&w!=this.format(E)&&(this.$d=new Date("")),s={}}else if(E instanceof Array)for(var A=E.length,_=1;_<=A;_+=1){C[1]=E[_-1];var D=v.apply(this,C);if(D.isValid()){this.$d=D.$d,this.$L=D.$L,this.init();break}_===A&&(this.$d=new Date(""))}else b.call(this,T)}}}))});var _4e=ar((kW,CW)=>{"use strict";(function(t,e){typeof kW=="object"&&typeof CW<"u"?CW.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_advancedFormat=e()})(kW,(function(){"use strict";return function(t,e){var r=e.prototype,i=r.format;r.format=function(n){var a=this,s=this.$locale();if(!this.isValid())return i.bind(this)(n);var l=this.$utils(),u=(n||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(h){switch(h){case"Q":return Math.ceil((a.$M+1)/3);case"Do":return s.ordinal(a.$D);case"gggg":return a.weekYear();case"GGGG":return a.isoWeekYear();case"wo":return s.ordinal(a.week(),"W");case"w":case"ww":return l.s(a.week(),h==="w"?1:2,"0");case"W":case"WW":return l.s(a.isoWeek(),h==="W"?1:2,"0");case"k":case"kk":return l.s(String(a.$H===0?24:a.$H),h==="k"?1:2,"0");case"X":return Math.floor(a.$d.getTime()/1e3);case"x":return a.$d.getTime();case"z":return"["+a.offsetName()+"]";case"zzz":return"["+a.offsetName("long")+"]";default:return h}}));return i.bind(this)(u)}}}))});function W4e(t,e,r){let i=!0;for(;i;)i=!1,r.forEach(function(n){let a="^\\s*"+n+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[n]=!0,t.shift(1),i=!0)})}var R4e,fl,N4e,I4e,M4e,D4e,lh,AW,_W,DW,SC,AC,LW,RW,s_,Xv,NW,O4e,IW,Yv,_C,MW,OW,o_,wW,_ct,Dct,Lct,Rct,Nct,Ict,Mct,Oct,Pct,Bct,Fct,$ct,zct,Gct,Vct,qct,Wct,Uct,Hct,Yct,jct,Xct,Kct,Qct,P4e,Zct,Jct,eut,B4e,tut,EW,F4e,$4e,n_,jv,rut,iut,SW,a_,Ta,z4e,nut,sg,aut,L4e,sut,G4e,out,V4e,lut,cut,q4e,U4e=P(()=>{"use strict";R4e=Wa(s1(),1),fl=Wa(c4(),1),N4e=Wa(S4e(),1),I4e=Wa(A4e(),1),M4e=Wa(_4e(),1);bt();Ut();er();Ki();fl.default.extend(N4e.default);fl.default.extend(I4e.default);fl.default.extend(M4e.default);D4e={friday:5,saturday:6},lh="",AW="",DW="",SC=[],AC=[],LW=new Map,RW=[],s_=[],Xv="",NW="",O4e=["active","done","crit","milestone","vert"],IW=[],Yv="",_C=!1,MW=!1,OW="sunday",o_="saturday",wW=0,_ct=o(function(){RW=[],s_=[],Xv="",IW=[],n_=0,SW=void 0,a_=void 0,Ta=[],lh="",AW="",NW="",_W=void 0,DW="",SC=[],AC=[],_C=!1,MW=!1,wW=0,LW=new Map,Yv="",wr(),OW="sunday",o_="saturday"},"clear"),Dct=o(function(t){Yv=t},"setDiagramId"),Lct=o(function(t){AW=t},"setAxisFormat"),Rct=o(function(){return AW},"getAxisFormat"),Nct=o(function(t){_W=t},"setTickInterval"),Ict=o(function(){return _W},"getTickInterval"),Mct=o(function(t){DW=t},"setTodayMarker"),Oct=o(function(){return DW},"getTodayMarker"),Pct=o(function(t){lh=t},"setDateFormat"),Bct=o(function(){_C=!0},"enableInclusiveEndDates"),Fct=o(function(){return _C},"endDatesAreInclusive"),$ct=o(function(){MW=!0},"enableTopAxis"),zct=o(function(){return MW},"topAxisEnabled"),Gct=o(function(t){NW=t},"setDisplayMode"),Vct=o(function(){return NW},"getDisplayMode"),qct=o(function(){return lh},"getDateFormat"),Wct=o(function(t){SC=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),Uct=o(function(){return SC},"getIncludes"),Hct=o(function(t){AC=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),Yct=o(function(){return AC},"getExcludes"),jct=o(function(){return LW},"getLinks"),Xct=o(function(t){Xv=t,RW.push(t)},"addSection"),Kct=o(function(){return RW},"getSections"),Qct=o(function(){let t=L4e(),e=10,r=0;for(;!t&&r{let u=l.trim();return u==="x"||u==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(r))return new Date(Number(r));let a=/^after\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let l=null;for(let h of a.groups.ids.split(" ")){let f=sg(h);f!==void 0&&(!l||f.endTime>l.endTime)&&(l=f)}if(l)return l.endTime;let u=new Date;return u.setHours(0,0,0,0),u}let s=(0,fl.default)(r,e.trim(),!0);if(s.isValid())return s.toDate();{Q.debug("Invalid date:"+r),Q.debug("With date format:"+e.trim());let l=new Date(r);if(l===void 0||isNaN(l.getTime())||l.getFullYear()<-1e4||l.getFullYear()>1e4)throw new Error("Invalid date:"+r);return l}},"getStartDate"),F4e=o(function(t){let e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),$4e=o(function(t,e,r,i=!1){r=r.trim();let a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let f=null;for(let p of a.groups.ids.split(" ")){let m=sg(p);m!==void 0&&(!f||m.startTime{window.open(r,"_self")}),LW.set(i,r))}),G4e(t,"clickable")},"setLink"),G4e=o(function(t,e){t.split(",").forEach(function(r){let i=sg(r);i!==void 0&&i.classes.push(e)})},"setClass"),out=o(function(t,e,r){if(ge().securityLevel!=="loose"||e===void 0)return;let i=[];if(typeof r=="string"){i=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Kt.runFunc(e,...i)})},"setClickFun"),V4e=o(function(t,e){IW.push(function(){let r=Yv?`${Yv}-${t}`:t,i=document.querySelector(`[id="${r}"]`);i!==null&&i.addEventListener("click",function(){e()})},function(){let r=Yv?`${Yv}-${t}`:t,i=document.querySelector(`[id="${r}-text"]`);i!==null&&i.addEventListener("click",function(){e()})})},"pushFun"),lut=o(function(t,e,r){t.split(",").forEach(function(i){out(i,e,r)}),G4e(t,"clickable")},"setClickEvent"),cut=o(function(t){IW.forEach(function(e){e(t)})},"bindFunctions"),q4e={getConfig:o(()=>ge().gantt,"getConfig"),clear:_ct,setDateFormat:Pct,getDateFormat:qct,enableInclusiveEndDates:Bct,endDatesAreInclusive:Fct,enableTopAxis:$ct,topAxisEnabled:zct,setAxisFormat:Lct,getAxisFormat:Rct,setTickInterval:Nct,getTickInterval:Ict,setTodayMarker:Mct,getTodayMarker:Oct,setAccTitle:Ar,getAccTitle:Dr,setDiagramTitle:Mr,getDiagramTitle:Nr,setDiagramId:Dct,setDisplayMode:Gct,getDisplayMode:Vct,setAccDescription:Lr,getAccDescription:Rr,addSection:Xct,getSections:Kct,getTasks:Qct,addTask:nut,findTaskById:sg,addTaskOrg:aut,setIncludes:Wct,getIncludes:Uct,setExcludes:Hct,getExcludes:Yct,setClickEvent:lut,setLink:sut,getLinks:jct,bindFunctions:cut,parseDuration:F4e,isInvalidDate:P4e,setWeekday:Zct,getWeekday:Jct,setWeekend:eut};o(W4e,"getTaskTags")});var H4e=ar((PW,BW)=>{"use strict";(function(t,e){typeof PW=="object"&&typeof BW<"u"?BW.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_duration=e()})(PW,(function(){"use strict";var t,e,r=1e3,i=6e4,n=36e5,a=864e5,s=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,l=31536e6,u=2628e6,h=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,f={years:l,months:u,days:a,hours:n,minutes:i,seconds:r,milliseconds:1,weeks:6048e5},d=o(function(w){return w instanceof b},"c"),p=o(function(w,k,C){return new b(w,C,k.$l)},"f"),m=o(function(w){return e.p(w)+"s"},"m"),g=o(function(w){return w<0},"l"),y=o(function(w){return g(w)?Math.ceil(w):Math.floor(w)},"$"),v=o(function(w){return Math.abs(w)},"y"),x=o(function(w,k){return w?g(w)?{negative:!0,format:""+v(w)+k}:{negative:!1,format:""+w+k}:{negative:!1,format:""}},"v"),b=(function(){function w(C,E,S){var L=this;if(this.$d={},this.$l=S,C===void 0&&(this.$ms=0,this.parseFromMilliseconds()),E)return p(C*f[m(E)],this);if(typeof C=="number")return this.$ms=C,this.parseFromMilliseconds(),this;if(typeof C=="object")return Object.keys(C).forEach((function(A){L.$d[m(A)]=C[A]})),this.calMilliseconds(),this;if(typeof C=="string"){var M=C.match(h);if(M){var I=M.slice(2).map((function(A){return A!=null?Number(A):0}));return this.$d.years=I[0],this.$d.months=I[1],this.$d.weeks=I[2],this.$d.days=I[3],this.$d.hours=I[4],this.$d.minutes=I[5],this.$d.seconds=I[6],this.calMilliseconds(),this}}return this}o(w,"l");var k=w.prototype;return k.calMilliseconds=function(){var C=this;this.$ms=Object.keys(this.$d).reduce((function(E,S){return E+(C.$d[S]||0)*f[S]}),0)},k.parseFromMilliseconds=function(){var C=this.$ms;this.$d.years=y(C/l),C%=l,this.$d.months=y(C/u),C%=u,this.$d.days=y(C/a),C%=a,this.$d.hours=y(C/n),C%=n,this.$d.minutes=y(C/i),C%=i,this.$d.seconds=y(C/r),C%=r,this.$d.milliseconds=C},k.toISOString=function(){var C=x(this.$d.years,"Y"),E=x(this.$d.months,"M"),S=+this.$d.days||0;this.$d.weeks&&(S+=7*this.$d.weeks);var L=x(S,"D"),M=x(this.$d.hours,"H"),I=x(this.$d.minutes,"M"),A=this.$d.seconds||0;this.$d.milliseconds&&(A+=this.$d.milliseconds/1e3,A=Math.round(1e3*A)/1e3);var _=x(A,"S"),D=C.negative||E.negative||L.negative||M.negative||I.negative||_.negative,N=M.format||I.format||_.format?"T":"",R=(D?"-":"")+"P"+C.format+E.format+L.format+N+M.format+I.format+_.format;return R==="P"||R==="-P"?"P0D":R},k.toJSON=function(){return this.toISOString()},k.format=function(C){var E=C||"YYYY-MM-DDTHH:mm:ss",S={Y:this.$d.years,YY:e.s(this.$d.years,2,"0"),YYYY:e.s(this.$d.years,4,"0"),M:this.$d.months,MM:e.s(this.$d.months,2,"0"),D:this.$d.days,DD:e.s(this.$d.days,2,"0"),H:this.$d.hours,HH:e.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:e.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:e.s(this.$d.seconds,2,"0"),SSS:e.s(this.$d.milliseconds,3,"0")};return E.replace(s,(function(L,M){return M||String(S[L])}))},k.as=function(C){return this.$ms/f[m(C)]},k.get=function(C){var E=this.$ms,S=m(C);return S==="milliseconds"?E%=1e3:E=S==="weeks"?y(E/f[S]):this.$d[S],E||0},k.add=function(C,E,S){var L;return L=E?C*f[m(E)]:d(C)?C.$ms:p(C,this).$ms,p(this.$ms+L*(S?-1:1),this)},k.subtract=function(C,E){return this.add(C,E,!0)},k.locale=function(C){var E=this.clone();return E.$l=C,E},k.clone=function(){return p(this.$ms,this)},k.humanize=function(C){return t().add(this.$ms,"ms").locale(this.$l).fromNow(!C)},k.valueOf=function(){return this.asMilliseconds()},k.milliseconds=function(){return this.get("milliseconds")},k.asMilliseconds=function(){return this.as("milliseconds")},k.seconds=function(){return this.get("seconds")},k.asSeconds=function(){return this.as("seconds")},k.minutes=function(){return this.get("minutes")},k.asMinutes=function(){return this.as("minutes")},k.hours=function(){return this.get("hours")},k.asHours=function(){return this.as("hours")},k.days=function(){return this.get("days")},k.asDays=function(){return this.as("days")},k.weeks=function(){return this.get("weeks")},k.asWeeks=function(){return this.as("weeks")},k.months=function(){return this.get("months")},k.asMonths=function(){return this.as("months")},k.years=function(){return this.get("years")},k.asYears=function(){return this.as("years")},w})(),T=o(function(w,k,C){return w.add(k.years()*C,"y").add(k.months()*C,"M").add(k.days()*C,"d").add(k.hours()*C,"h").add(k.minutes()*C,"m").add(k.seconds()*C,"s").add(k.milliseconds()*C,"ms")},"p");return function(w,k,C){t=C,e=C().$utils(),C.duration=function(L,M){var I=C.locale();return p(L,{$l:I},M)},C.isDuration=d;var E=k.prototype.add,S=k.prototype.subtract;k.prototype.add=function(L,M){return d(L)?T(this,L,1):E.bind(this)(L,M)},k.prototype.subtract=function(L,M){return d(L)?T(this,L,-1):S.bind(this)(L,M)}}}))});var Kv,j4e,uut,Y4e,hut,Tf,FW,fut,X4e,K4e=P(()=>{"use strict";Kv=Wa(c4(),1),j4e=Wa(H4e(),1);bt();Pr();Vr();Ut();Xi();Kv.default.extend(j4e.default);uut=o(function(){Q.debug("Something is calling, setConf, remove the call")},"setConf"),Y4e={monday:jf,tuesday:Zw,wednesday:Jw,thursday:gu,friday:e3,saturday:t3,sunday:xc},hut=o((t,e)=>{let r=[...t].map(()=>-1/0),i=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),n=0;for(let a of i)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>n&&(n=s);break}return n},"getMaxIntersections"),FW=1e4,fut=o(function(t,e,r,i){let n=ge().gantt;i.db.setDiagramId(e);let a=ge().securityLevel,s;a==="sandbox"&&(s=Ze("#i"+e));let l=a==="sandbox"?Ze(s.nodes()[0].contentDocument.body):Ze("body"),u=a==="sandbox"?s.nodes()[0].contentDocument:document,h=u.getElementById(e);Tf=h.parentElement.offsetWidth,Tf===void 0&&(Tf=1200),n.useWidth!==void 0&&(Tf=n.useWidth);let f=i.db.getTasks(),d=[];for(let L of f)d.push(L.type);d=S(d);let p={},m=2*n.topPadding;if(i.db.getDisplayMode()==="compact"||n.displayMode==="compact"){let L={};for(let I of f)L[I.section]===void 0?L[I.section]=[I]:L[I.section].push(I);let M=0;for(let I of Object.keys(L)){let A=hut(L[I],M)+1;M+=A,m+=A*(n.barHeight+n.barGap),p[I]=A}}else{m+=f.length*(n.barHeight+n.barGap);for(let L of d)p[L]=f.filter(M=>M.type===L).length}h.setAttribute("viewBox","0 0 "+Tf+" "+m);let g=l.select(`[id="${e}"]`),y=n3().domain([cw(f,function(L){return L.startTime}),lw(f,function(L){return L.endTime})]).rangeRound([0,Tf-n.leftPadding-n.rightPadding]);function v(L,M){let I=L.startTime,A=M.startTime,_=0;return I>A?_=1:IF.vert===V.vert?0:F.vert?1:-1);let B=[...new Set(L.map(F=>F.order))].map(F=>L.find(V=>V.order===F));g.append("g").selectAll("rect").data(B).enter().append("rect").attr("x",0).attr("y",function(F,V){return V=F.order,V*M+I-2}).attr("width",function(){return N-n.rightPadding/2}).attr("height",M).attr("class",function(F){for(let[V,H]of d.entries())if(F.type===H)return"section section"+V%n.numberSectionStyles;return"section section0"}).enter();let O=g.append("g").selectAll("rect").data(L).enter(),$=i.db.getLinks();if(O.append("rect").attr("id",function(F){return e+"-"+F.id}).attr("rx",3).attr("ry",3).attr("x",function(F){return F.milestone?y(F.startTime)+A+.5*(y(F.endTime)-y(F.startTime))-.5*_:y(F.startTime)+A}).attr("y",function(F,V){return V=F.order,F.vert?n.gridLineStartPadding:V*M+I}).attr("width",function(F){return F.milestone?_:F.vert?.08*_:y(F.renderEndTime||F.endTime)-y(F.startTime)}).attr("height",function(F){return F.vert?f.length*(n.barHeight+n.barGap)+n.barHeight*2:_}).attr("transform-origin",function(F,V){return V=F.order,(y(F.startTime)+A+.5*(y(F.endTime)-y(F.startTime))).toString()+"px "+(V*M+I+.5*_).toString()+"px"}).attr("class",function(F){let V="task",H="";F.classes.length>0&&(H=F.classes.join(" "));let X=0;for(let[Z,Y]of d.entries())F.type===Y&&(X=Z%n.numberSectionStyles);let W="";return F.active?F.crit?W+=" activeCrit":W=" active":F.done?F.crit?W=" doneCrit":W=" done":F.crit&&(W+=" crit"),W.length===0&&(W=" task"),F.milestone&&(W=" milestone "+W),F.vert&&(W=" vert "+W),W+=X,W+=" "+H,V+W}),O.append("text").attr("id",function(F){return e+"-"+F.id+"-text"}).text(function(F){return F.task}).attr("font-size",n.fontSize).attr("x",function(F){let V=y(F.startTime),H=y(F.renderEndTime||F.endTime);if(F.milestone&&(V+=.5*(y(F.endTime)-y(F.startTime))-.5*_,H=V+_),F.vert)return y(F.startTime)+A;let X=this.getBBox().width;return X>H-V?H+X+1.5*n.leftPadding>N?V+A-5:H+A+5:(H-V)/2+V+A}).attr("y",function(F,V){return F.vert?n.gridLineStartPadding+f.length*(n.barHeight+n.barGap)+60:(V=F.order,V*M+n.barHeight/2+(n.fontSize/2-2)+I)}).attr("text-height",_).attr("class",function(F){let V=y(F.startTime),H=y(F.endTime);F.milestone&&(H=V+_);let X=this.getBBox().width,W="";F.classes.length>0&&(W=F.classes.join(" "));let Z=0;for(let[ae,J]of d.entries())F.type===J&&(Z=ae%n.numberSectionStyles);let Y="";return F.active&&(F.crit?Y="activeCritText"+Z:Y="activeText"+Z),F.done?F.crit?Y=Y+" doneCritText"+Z:Y=Y+" doneText"+Z:F.crit&&(Y=Y+" critText"+Z),F.milestone&&(Y+=" milestoneText"),F.vert&&(Y+=" vertText"),X>H-V?H+X+1.5*n.leftPadding>N?W+" taskTextOutsideLeft taskTextOutside"+Z+" "+Y:W+" taskTextOutsideRight taskTextOutside"+Z+" "+Y+" width-"+X:W+" taskText taskText"+Z+" "+Y+" width-"+X}),ge().securityLevel==="sandbox"){let F;F=Ze("#i"+e);let V=F.nodes()[0].contentDocument;O.filter(function(H){return $.has(H.id)}).each(function(H){var X=V.querySelector("#"+CSS.escape(e+"-"+H.id)),W=V.querySelector("#"+CSS.escape(e+"-"+H.id+"-text"));let Z=X.parentNode;var Y=V.createElement("a");Y.setAttribute("xlink:href",$.get(H.id)),Y.setAttribute("target","_top"),Z.appendChild(Y),Y.appendChild(X),Y.appendChild(W)})}}o(b,"drawRects");function T(L,M,I,A,_,D,N,R){if(N.length===0&&R.length===0)return;let B,O;for(let{startTime:X,endTime:W}of D)(B===void 0||XO)&&(O=W);if(!B||!O)return;if((0,Kv.default)(O).diff((0,Kv.default)(B),"year")>5){Q.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}let $=i.db.getDateFormat(),z=[],F=null,V=(0,Kv.default)(B);for(;V.valueOf()<=O;)i.db.isInvalidDate(V,$,N,R)?F?F.end=V:F={start:V,end:V}:F&&(z.push(F),F=null),V=V.add(1,"d");g.append("g").selectAll("rect").data(z).enter().append("rect").attr("id",X=>e+"-exclude-"+X.start.format("YYYY-MM-DD")).attr("x",X=>y(X.start.startOf("day"))+I).attr("y",n.gridLineStartPadding).attr("width",X=>y(X.end.endOf("day"))-y(X.start.startOf("day"))).attr("height",_-M-n.gridLineStartPadding).attr("transform-origin",function(X,W){return(y(X.start)+I+.5*(y(X.end)-y(X.start))).toString()+"px "+(W*L+.5*_).toString()+"px"}).attr("class","exclude-range")}o(T,"drawExcludeDays");function w(L,M,I,A){if(I<=0||L>M)return 1/0;let _=M-L,D=Kv.default.duration({[A??"day"]:I}).asMilliseconds();return D<=0?1/0:Math.ceil(_/D)}o(w,"getEstimatedTickCount");function k(L,M,I,A){let _=i.db.getDateFormat(),D=i.db.getAxisFormat(),N;D?N=D:_==="D"?N="%d":N=n.axisFormat??"%Y-%m-%d";let R=LL(y).tickSize(-A+M+n.gridLineStartPadding).tickFormat(p0(N)),O=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(i.db.getTickInterval()||n.tickInterval);if(O!==null){let $=parseInt(O[1],10);if(isNaN($)||$<=0)Q.warn(`Invalid tick interval value: "${O[1]}". Skipping custom tick interval.`);else{let z=O[2],F=i.db.getWeekday()||n.weekday,V=y.domain(),H=V[0],X=V[1],W=w(H,X,$,z);if(W>FW)Q.warn(`The tick interval "${$}${z}" would generate ${W} ticks, which exceeds the maximum allowed (${FW}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(z){case"millisecond":R.ticks(pu.every($));break;case"second":R.ticks(Xo.every($));break;case"minute":R.ticks(Rh.every($));break;case"hour":R.ticks(Nh.every($));break;case"day":R.ticks(Sl.every($));break;case"week":R.ticks(Y4e[F].every($));break;case"month":R.ticks(Ih.every($));break}}}if(g.append("g").attr("class","grid").attr("transform","translate("+L+", "+(A-50)+")").call(R).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),i.db.topAxisEnabled()||n.topAxis){let $=DL(y).tickSize(-A+M+n.gridLineStartPadding).tickFormat(p0(N));if(O!==null){let z=parseInt(O[1],10);if(isNaN(z)||z<=0)Q.warn(`Invalid tick interval value: "${O[1]}". Skipping custom tick interval.`);else{let F=O[2],V=i.db.getWeekday()||n.weekday,H=y.domain(),X=H[0],W=H[1];if(w(X,W,z,F)<=FW)switch(F){case"millisecond":$.ticks(pu.every(z));break;case"second":$.ticks(Xo.every(z));break;case"minute":$.ticks(Rh.every(z));break;case"hour":$.ticks(Nh.every(z));break;case"day":$.ticks(Sl.every(z));break;case"week":$.ticks(Y4e[V].every(z));break;case"month":$.ticks(Ih.every(z));break}}}g.append("g").attr("class","grid").attr("transform","translate("+L+", "+M+")").call($).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}o(k,"makeGrid");function C(L,M){let I=0,A=Object.keys(p).map(_=>[_,p[_]]);g.append("g").selectAll("text").data(A).enter().append(function(_){let D=_[0].split(lt.lineBreakRegex),N=-(D.length-1)/2,R=u.createElementNS("http://www.w3.org/2000/svg","text");R.setAttribute("dy",N+"em");for(let[B,O]of D.entries()){let $=u.createElementNS("http://www.w3.org/2000/svg","tspan");$.setAttribute("alignment-baseline","central"),$.setAttribute("x","10"),B>0&&$.setAttribute("dy","1em"),$.textContent=O,R.appendChild($)}return R}).attr("x",10).attr("y",function(_,D){if(D>0)for(let N=0;N{"use strict";dut=o(t=>` - .mermaid-main-font { - font-family: ${t.fontFamily}; - } - - .exclude-range { - fill: ${t.excludeBkgColor}; - } - - .section { - stroke: none; - opacity: 0.2; - } - - .section0 { - fill: ${t.sectionBkgColor}; - } - - .section2 { - fill: ${t.sectionBkgColor2}; - } - - .section1, - .section3 { - fill: ${t.altSectionBkgColor}; - opacity: 0.2; - } - - .sectionTitle0 { - fill: ${t.titleColor}; - } - - .sectionTitle1 { - fill: ${t.titleColor}; - } - - .sectionTitle2 { - fill: ${t.titleColor}; - } - - .sectionTitle3 { - fill: ${t.titleColor}; - } - - .sectionTitle { - text-anchor: start; - font-family: ${t.fontFamily}; - } - - - /* Grid and axis */ - - .grid .tick { - stroke: ${t.gridColor}; - opacity: 0.8; - shape-rendering: crispEdges; - } - - .grid .tick text { - font-family: ${t.fontFamily}; - fill: ${t.textColor}; - } - - .grid path { - stroke-width: 0; - } - - - /* Today line */ - - .today { - fill: none; - stroke: ${t.todayLineColor}; - stroke-width: 2px; - } - - - /* Task styling */ - - /* Default task */ - - .task { - stroke-width: 2; - } - - .taskText { - text-anchor: middle; - font-family: ${t.fontFamily}; - } - - .taskTextOutsideRight { - fill: ${t.taskTextDarkColor}; - text-anchor: start; - font-family: ${t.fontFamily}; - } - - .taskTextOutsideLeft { - fill: ${t.taskTextDarkColor}; - text-anchor: end; - } - - - /* Special case clickable */ - - .task.clickable { - cursor: pointer; - } - - .taskText.clickable { - cursor: pointer; - fill: ${t.taskTextClickableColor} !important; - font-weight: bold; - } - - .taskTextOutsideLeft.clickable { - cursor: pointer; - fill: ${t.taskTextClickableColor} !important; - font-weight: bold; - } - - .taskTextOutsideRight.clickable { - cursor: pointer; - fill: ${t.taskTextClickableColor} !important; - font-weight: bold; - } - - - /* Specific task settings for the sections*/ - - .taskText0, - .taskText1, - .taskText2, - .taskText3 { - fill: ${t.taskTextColor}; - } - - .task0, - .task1, - .task2, - .task3 { - fill: ${t.taskBkgColor}; - stroke: ${t.taskBorderColor}; - } - - .taskTextOutside0, - .taskTextOutside2 - { - fill: ${t.taskTextOutsideColor}; - } - - .taskTextOutside1, - .taskTextOutside3 { - fill: ${t.taskTextOutsideColor}; - } - - - /* Active task */ - - .active0, - .active1, - .active2, - .active3 { - fill: ${t.activeTaskBkgColor}; - stroke: ${t.activeTaskBorderColor}; - } - - .activeText0, - .activeText1, - .activeText2, - .activeText3 { - fill: ${t.taskTextDarkColor} !important; - } - - - /* Completed task */ - - .done0, - .done1, - .done2, - .done3 { - stroke: ${t.doneTaskBorderColor}; - fill: ${t.doneTaskBkgColor}; - stroke-width: 2; - } - - .doneText0, - .doneText1, - .doneText2, - .doneText3 { - fill: ${t.taskTextDarkColor} !important; - } - - /* Done task text displayed outside the bar sits against the diagram background, - not against the done-task bar, so it must use the outside/contrast color. */ - .doneText0.taskTextOutsideLeft, - .doneText0.taskTextOutsideRight, - .doneText1.taskTextOutsideLeft, - .doneText1.taskTextOutsideRight, - .doneText2.taskTextOutsideLeft, - .doneText2.taskTextOutsideRight, - .doneText3.taskTextOutsideLeft, - .doneText3.taskTextOutsideRight { - fill: ${t.taskTextOutsideColor} !important; - } - - - /* Tasks on the critical line */ - - .crit0, - .crit1, - .crit2, - .crit3 { - stroke: ${t.critBorderColor}; - fill: ${t.critBkgColor}; - stroke-width: 2; - } - - .activeCrit0, - .activeCrit1, - .activeCrit2, - .activeCrit3 { - stroke: ${t.critBorderColor}; - fill: ${t.activeTaskBkgColor}; - stroke-width: 2; - } - - .doneCrit0, - .doneCrit1, - .doneCrit2, - .doneCrit3 { - stroke: ${t.critBorderColor}; - fill: ${t.doneTaskBkgColor}; - stroke-width: 2; - cursor: pointer; - shape-rendering: crispEdges; - } - - .milestone { - transform: rotate(45deg) scale(0.8,0.8); - } - - .milestoneText { - font-style: italic; - } - .doneCritText0, - .doneCritText1, - .doneCritText2, - .doneCritText3 { - fill: ${t.taskTextDarkColor} !important; - } - - /* Done-crit task text outside the bar \u2014 same reasoning as doneText above. */ - .doneCritText0.taskTextOutsideLeft, - .doneCritText0.taskTextOutsideRight, - .doneCritText1.taskTextOutsideLeft, - .doneCritText1.taskTextOutsideRight, - .doneCritText2.taskTextOutsideLeft, - .doneCritText2.taskTextOutsideRight, - .doneCritText3.taskTextOutsideLeft, - .doneCritText3.taskTextOutsideRight { - fill: ${t.taskTextOutsideColor} !important; - } - - .vert { - stroke: ${t.vertLineColor}; - } - - .vertText { - font-size: 15px; - text-anchor: middle; - fill: ${t.vertLineColor} !important; - } - - .activeCritText0, - .activeCritText1, - .activeCritText2, - .activeCritText3 { - fill: ${t.taskTextDarkColor} !important; - } - - .titleText { - text-anchor: middle; - font-size: 18px; - fill: ${t.titleColor||t.textColor}; - font-family: ${t.fontFamily}; - } -`,"getStyles"),Q4e=dut});var J4e={};ur(J4e,{diagram:()=>put});var put,ewe=P(()=>{"use strict";E4e();U4e();K4e();Z4e();put={parser:w4e,db:q4e,renderer:X4e,styles:Q4e}});var iwe,nwe=P(()=>{"use strict";sh();bt();iwe={parse:o(async t=>{let e=await ba("info",t);Q.debug(e)},"parse")}});var vut,xut,awe,swe=P(()=>{"use strict";vut={version:"11.14.0"},xut=o(()=>vut.version,"getVersion"),awe={getVersion:xut}});var Fi,ro=P(()=>{"use strict";Pr();Ut();Fi=o(t=>{let{securityLevel:e}=ge(),r=Ze("body");if(e==="sandbox"){let a=Ze(`#i${t}`).node()?.contentDocument??document;r=Ze(a.body)}return r.select(`#${t}`)},"selectSvgElement")});var but,owe,lwe=P(()=>{"use strict";bt();ro();Xi();but=o((t,e,r)=>{Q.debug(`rendering info diagram -`+t);let i=Fi(e);Hr(i,100,400,!0),i.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),owe={draw:but}});var cwe={};ur(cwe,{diagram:()=>Tut});var Tut,uwe=P(()=>{"use strict";nwe();swe();lwe();Tut={parser:iwe,db:awe,renderer:owe}});var dwe,$W,l_,zW,wut,Eut,Sut,Aut,_ut,Dut,Lut,c_,GW=P(()=>{"use strict";bt();Ki();wa();dwe=fr.pie,$W={sections:new Map,showData:!1,config:dwe},l_=$W.sections,zW=$W.showData,wut=structuredClone(dwe),Eut=o(()=>structuredClone(wut),"getConfig"),Sut=o(()=>{l_=new Map,zW=$W.showData,wr()},"clear"),Aut=o(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);l_.has(t)||(l_.set(t,e),Q.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),_ut=o(()=>l_,"getSections"),Dut=o(t=>{zW=t},"setShowData"),Lut=o(()=>zW,"getShowData"),c_={getConfig:Eut,clear:Sut,setDiagramTitle:Mr,getDiagramTitle:Nr,setAccTitle:Ar,getAccTitle:Dr,setAccDescription:Lr,getAccDescription:Rr,addSection:Aut,getSections:_ut,setShowData:Dut,getShowData:Lut}});var Rut,pwe,mwe=P(()=>{"use strict";sh();bt();vf();GW();Rut=o((t,e)=>{Ss(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),pwe={parse:o(async t=>{let e=await ba("pie",t);Q.debug(e),Rut(e,c_)},"parse")}});var Nut,gwe,ywe=P(()=>{"use strict";Nut=o(t=>` - .pieCircle{ - stroke: ${t.pieStrokeColor}; - stroke-width : ${t.pieStrokeWidth}; - opacity : ${t.pieOpacity}; - } - .pieOuterCircle{ - stroke: ${t.pieOuterStrokeColor}; - stroke-width: ${t.pieOuterStrokeWidth}; - fill: none; - } - .pieTitleText { - text-anchor: middle; - font-size: ${t.pieTitleTextSize}; - fill: ${t.pieTitleTextColor}; - font-family: ${t.fontFamily}; - } - .slice { - font-family: ${t.fontFamily}; - fill: ${t.pieSectionTextColor}; - font-size:${t.pieSectionTextSize}; - // fill: white; - } - .legend text { - fill: ${t.pieLegendTextColor}; - font-family: ${t.fontFamily}; - font-size: ${t.pieLegendTextSize}; - } -`,"getStyles"),gwe=Nut});var Iut,Mut,vwe,xwe=P(()=>{"use strict";Pr();Ut();bt();ro();Xi();er();Iut=o(t=>{let e=[...t.values()].reduce((n,a)=>n+a,0),r=[...t.entries()].map(([n,a])=>({label:n,value:a})).filter(n=>n.value/e*100>=1);return u3().value(n=>n.value).sort(null)(r)},"createPieArcs"),Mut=o((t,e,r,i)=>{Q.debug(`rendering pie chart -`+t);let n=i.db,a=ge(),s=fi(n.getConfig(),a.pie),l=40,u=18,h=4,f=450,d=f,p=Fi(e),m=p.append("g");m.attr("transform","translate("+d/2+","+f/2+")");let{themeVariables:g}=a,[y]=$s(g.pieOuterStrokeWidth);y??=2;let v=s.textPosition,x=Math.min(d,f)/2-l,b=kc().innerRadius(0).outerRadius(x),T=kc().innerRadius(x*v).outerRadius(x*v);m.append("circle").attr("cx",0).attr("cy",0).attr("r",x+y/2).attr("class","pieOuterCircle");let w=n.getSections(),k=Iut(w),C=[g.pie1,g.pie2,g.pie3,g.pie4,g.pie5,g.pie6,g.pie7,g.pie8,g.pie9,g.pie10,g.pie11,g.pie12],E=0;w.forEach(F=>{E+=F});let S=k.filter(F=>(F.data.value/E*100).toFixed(0)!=="0"),L=jo(C).domain([...w.keys()]);m.selectAll("mySlices").data(S).enter().append("path").attr("d",b).attr("fill",F=>L(F.data.label)).attr("class","pieCircle"),m.selectAll("mySlices").data(S).enter().append("text").text(F=>(F.data.value/E*100).toFixed(0)+"%").attr("transform",F=>"translate("+T.centroid(F)+")").style("text-anchor","middle").attr("class","slice");let M=m.append("text").text(n.getDiagramTitle()).attr("x",0).attr("y",-(f-50)/2).attr("class","pieTitleText"),I=[...w.entries()].map(([F,V])=>({label:F,value:V})),A=m.selectAll(".legend").data(I).enter().append("g").attr("class","legend").attr("transform",(F,V)=>{let H=u+h,X=H*I.length/2,W=12*u,Z=V*H-X;return"translate("+W+","+Z+")"});A.append("rect").attr("width",u).attr("height",u).style("fill",F=>L(F.label)).style("stroke",F=>L(F.label)),A.append("text").attr("x",u+h).attr("y",u-h).text(F=>n.getShowData()?`${F.label} [${F.value}]`:F.label);let _=Math.max(...A.selectAll("text").nodes().map(F=>F?.getBoundingClientRect().width??0)),D=d+l+u+h+_,N=M.node()?.getBoundingClientRect().width??0,R=d/2-N/2,B=d/2+N/2,O=Math.min(0,R),z=Math.max(D,B)-O;p.attr("viewBox",`${O} 0 ${z} ${f}`),Hr(p,f,z,s.useMaxWidth)},"draw"),vwe={draw:Mut}});var bwe={};ur(bwe,{diagram:()=>Out});var Out,Twe=P(()=>{"use strict";mwe();GW();ywe();xwe();Out={parser:pwe,db:c_,renderer:vwe,styles:gwe}});var VW,Cwe,wwe=P(()=>{"use strict";VW=(function(){var t=o(function(ue,G,se,le){for(se=se||{},le=ue.length;le--;se[ue[le]]=G);return se},"o"),e=[1,3],r=[1,4],i=[1,5],n=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],u=[55,56,57],h=[2,36],f=[1,37],d=[1,36],p=[1,38],m=[1,35],g=[1,43],y=[1,41],v=[1,14],x=[1,23],b=[1,18],T=[1,19],w=[1,20],k=[1,21],C=[1,22],E=[1,24],S=[1,25],L=[1,26],M=[1,27],I=[1,28],A=[1,29],_=[1,32],D=[1,33],N=[1,34],R=[1,39],B=[1,40],O=[1,42],$=[1,44],z=[1,62],F=[1,61],V=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],H=[1,65],X=[1,66],W=[1,67],Z=[1,68],Y=[1,69],ae=[1,70],J=[1,71],ee=[1,72],re=[1,73],te=[1,74],be=[1,75],de=[1,76],Ee=[4,5,6,7,8,9,10,11,12,13,14,15,18],Ne=[1,90],we=[1,91],Te=[1,92],De=[1,99],$e=[1,93],pe=[1,96],Je=[1,94],Ce=[1,95],Fe=[1,97],Ue=[1,98],qe=[1,102],Me=[10,55,56,57],He=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],K={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(G,se,le,ke,me,ye,Re){var ve=ye.length-1;switch(me){case 23:this.$=ye[ve];break;case 24:this.$=ye[ve-1]+""+ye[ve];break;case 26:this.$=ye[ve-1]+ye[ve];break;case 27:this.$=[ye[ve].trim()];break;case 28:ye[ve-2].push(ye[ve].trim()),this.$=ye[ve-2];break;case 29:this.$=ye[ve-4],ke.addClass(ye[ve-2],ye[ve]);break;case 37:this.$=[];break;case 42:this.$=ye[ve].trim(),ke.setDiagramTitle(this.$);break;case 43:this.$=ye[ve].trim(),ke.setAccTitle(this.$);break;case 44:case 45:this.$=ye[ve].trim(),ke.setAccDescription(this.$);break;case 46:ke.addSection(ye[ve].substr(8)),this.$=ye[ve].substr(8);break;case 47:ke.addPoint(ye[ve-3],"",ye[ve-1],ye[ve],[]);break;case 48:ke.addPoint(ye[ve-4],ye[ve-3],ye[ve-1],ye[ve],[]);break;case 49:ke.addPoint(ye[ve-4],"",ye[ve-2],ye[ve-1],ye[ve]);break;case 50:ke.addPoint(ye[ve-5],ye[ve-4],ye[ve-2],ye[ve-1],ye[ve]);break;case 51:ke.setXAxisLeftText(ye[ve-2]),ke.setXAxisRightText(ye[ve]);break;case 52:ye[ve-1].text+=" \u27F6 ",ke.setXAxisLeftText(ye[ve-1]);break;case 53:ke.setXAxisLeftText(ye[ve]);break;case 54:ke.setYAxisBottomText(ye[ve-2]),ke.setYAxisTopText(ye[ve]);break;case 55:ye[ve-1].text+=" \u27F6 ",ke.setYAxisBottomText(ye[ve-1]);break;case 56:ke.setYAxisBottomText(ye[ve]);break;case 57:ke.setQuadrant1Text(ye[ve]);break;case 58:ke.setQuadrant2Text(ye[ve]);break;case 59:ke.setQuadrant3Text(ye[ve]);break;case 60:ke.setQuadrant4Text(ye[ve]);break;case 64:this.$={text:ye[ve],type:"text"};break;case 65:this.$={text:ye[ve-1].text+""+ye[ve],type:ye[ve-1].type};break;case 66:this.$={text:ye[ve],type:"text"};break;case 67:this.$={text:ye[ve],type:"markdown"};break;case 68:this.$=ye[ve];break;case 69:this.$=ye[ve-1]+""+ye[ve];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:i,56:n,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:i,56:n,57:a},{18:e,26:9,27:2,28:r,55:i,56:n,57:a},t(s,[2,33],{29:10}),t(l,[2,61]),t(l,[2,62]),t(l,[2,63]),{1:[2,30]},{1:[2,31]},t(u,h,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:T,39:w,41:k,42:C,48:E,50:S,51:L,52:M,53:I,54:A,60:_,61:D,63:N,64:R,65:B,66:O,67:$}),t(s,[2,34]),{27:45,55:i,56:n,57:a},t(u,[2,37]),t(u,h,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:T,39:w,41:k,42:C,48:E,50:S,51:L,52:M,53:I,54:A,60:_,61:D,63:N,64:R,65:B,66:O,67:$}),t(u,[2,39]),t(u,[2,40]),t(u,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(u,[2,45]),t(u,[2,46]),{18:[1,50]},{4:f,5:d,10:p,12:m,13:g,14:y,43:51,58:31,60:_,61:D,63:N,64:R,65:B,66:O,67:$},{4:f,5:d,10:p,12:m,13:g,14:y,43:52,58:31,60:_,61:D,63:N,64:R,65:B,66:O,67:$},{4:f,5:d,10:p,12:m,13:g,14:y,43:53,58:31,60:_,61:D,63:N,64:R,65:B,66:O,67:$},{4:f,5:d,10:p,12:m,13:g,14:y,43:54,58:31,60:_,61:D,63:N,64:R,65:B,66:O,67:$},{4:f,5:d,10:p,12:m,13:g,14:y,43:55,58:31,60:_,61:D,63:N,64:R,65:B,66:O,67:$},{4:f,5:d,10:p,12:m,13:g,14:y,43:56,58:31,60:_,61:D,63:N,64:R,65:B,66:O,67:$},{4:f,5:d,8:z,10:p,12:m,13:g,14:y,18:F,44:[1,57],47:[1,58],58:60,59:59,63:N,64:R,65:B,66:O,67:$},t(V,[2,64]),t(V,[2,66]),t(V,[2,67]),t(V,[2,70]),t(V,[2,71]),t(V,[2,72]),t(V,[2,73]),t(V,[2,74]),t(V,[2,75]),t(V,[2,76]),t(V,[2,77]),t(V,[2,78]),t(V,[2,79]),t(V,[2,80]),t(s,[2,35]),t(u,[2,38]),t(u,[2,42]),t(u,[2,43]),t(u,[2,44]),{3:64,4:H,5:X,6:W,7:Z,8:Y,9:ae,10:J,11:ee,12:re,13:te,14:be,15:de,21:63},t(u,[2,53],{59:59,58:60,4:f,5:d,8:z,10:p,12:m,13:g,14:y,18:F,49:[1,77],63:N,64:R,65:B,66:O,67:$}),t(u,[2,56],{59:59,58:60,4:f,5:d,8:z,10:p,12:m,13:g,14:y,18:F,49:[1,78],63:N,64:R,65:B,66:O,67:$}),t(u,[2,57],{59:59,58:60,4:f,5:d,8:z,10:p,12:m,13:g,14:y,18:F,63:N,64:R,65:B,66:O,67:$}),t(u,[2,58],{59:59,58:60,4:f,5:d,8:z,10:p,12:m,13:g,14:y,18:F,63:N,64:R,65:B,66:O,67:$}),t(u,[2,59],{59:59,58:60,4:f,5:d,8:z,10:p,12:m,13:g,14:y,18:F,63:N,64:R,65:B,66:O,67:$}),t(u,[2,60],{59:59,58:60,4:f,5:d,8:z,10:p,12:m,13:g,14:y,18:F,63:N,64:R,65:B,66:O,67:$}),{45:[1,79]},{44:[1,80]},t(V,[2,65]),t(V,[2,81]),t(V,[2,82]),t(V,[2,83]),{3:82,4:H,5:X,6:W,7:Z,8:Y,9:ae,10:J,11:ee,12:re,13:te,14:be,15:de,18:[1,81]},t(Ee,[2,23]),t(Ee,[2,1]),t(Ee,[2,2]),t(Ee,[2,3]),t(Ee,[2,4]),t(Ee,[2,5]),t(Ee,[2,6]),t(Ee,[2,7]),t(Ee,[2,8]),t(Ee,[2,9]),t(Ee,[2,10]),t(Ee,[2,11]),t(Ee,[2,12]),t(u,[2,52],{58:31,43:83,4:f,5:d,10:p,12:m,13:g,14:y,60:_,61:D,63:N,64:R,65:B,66:O,67:$}),t(u,[2,55],{58:31,43:84,4:f,5:d,10:p,12:m,13:g,14:y,60:_,61:D,63:N,64:R,65:B,66:O,67:$}),{46:[1,85]},{45:[1,86]},{4:Ne,5:we,6:Te,8:De,11:$e,13:pe,16:89,17:Je,18:Ce,19:Fe,20:Ue,22:88,23:87},t(Ee,[2,24]),t(u,[2,51],{59:59,58:60,4:f,5:d,8:z,10:p,12:m,13:g,14:y,18:F,63:N,64:R,65:B,66:O,67:$}),t(u,[2,54],{59:59,58:60,4:f,5:d,8:z,10:p,12:m,13:g,14:y,18:F,63:N,64:R,65:B,66:O,67:$}),t(u,[2,47],{22:88,16:89,23:100,4:Ne,5:we,6:Te,8:De,11:$e,13:pe,17:Je,18:Ce,19:Fe,20:Ue}),{46:[1,101]},t(u,[2,29],{10:qe}),t(Me,[2,27],{16:103,4:Ne,5:we,6:Te,8:De,11:$e,13:pe,17:Je,18:Ce,19:Fe,20:Ue}),t(He,[2,25]),t(He,[2,13]),t(He,[2,14]),t(He,[2,15]),t(He,[2,16]),t(He,[2,17]),t(He,[2,18]),t(He,[2,19]),t(He,[2,20]),t(He,[2,21]),t(He,[2,22]),t(u,[2,49],{10:qe}),t(u,[2,48],{22:88,16:89,23:104,4:Ne,5:we,6:Te,8:De,11:$e,13:pe,17:Je,18:Ce,19:Fe,20:Ue}),{4:Ne,5:we,6:Te,8:De,11:$e,13:pe,16:89,17:Je,18:Ce,19:Fe,20:Ue,22:105},t(He,[2,26]),t(u,[2,50],{10:qe}),t(Me,[2,28],{16:103,4:Ne,5:we,6:Te,8:De,11:$e,13:pe,17:Je,18:Ce,19:Fe,20:Ue})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(G,se){if(se.recoverable)this.trace(G);else{var le=new Error(G);throw le.hash=se,le}},"parseError"),parse:o(function(G){var se=this,le=[0],ke=[],me=[null],ye=[],Re=this.table,ve="",Oe=0,We=0,Be=0,Qe=2,ce=1,it=ye.slice.call(arguments,1),fe=Object.create(this.lexer),ut={yy:{}};for(var Nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nt)&&(ut.yy[Nt]=this.yy[Nt]);fe.setInput(G,ut.yy),ut.yy.lexer=fe,ut.yy.parser=this,typeof fe.yylloc>"u"&&(fe.yylloc={});var Pt=fe.yylloc;ye.push(Pt);var St=fe.options&&fe.options.ranges;typeof ut.yy.parseError=="function"?this.parseError=ut.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function It(xt){le.length=le.length-2*xt,me.length=me.length-xt,ye.length=ye.length-xt}o(It,"popStack");function ot(){var xt;return xt=ke.pop()||fe.lex()||ce,typeof xt!="number"&&(xt instanceof Array&&(ke=xt,xt=ke.pop()),xt=se.symbols_[xt]||xt),xt}o(ot,"lex");for(var ct,Dt,kt,yt,jt,hr,Qt={},Er,dr,ir,pr;;){if(kt=le[le.length-1],this.defaultActions[kt]?yt=this.defaultActions[kt]:((ct===null||typeof ct>"u")&&(ct=ot()),yt=Re[kt]&&Re[kt][ct]),typeof yt>"u"||!yt.length||!yt[0]){var Ii="";pr=[];for(Er in Re[kt])this.terminals_[Er]&&Er>Qe&&pr.push("'"+this.terminals_[Er]+"'");fe.showPosition?Ii="Parse error on line "+(Oe+1)+`: -`+fe.showPosition()+` -Expecting `+pr.join(", ")+", got '"+(this.terminals_[ct]||ct)+"'":Ii="Parse error on line "+(Oe+1)+": Unexpected "+(ct==ce?"end of input":"'"+(this.terminals_[ct]||ct)+"'"),this.parseError(Ii,{text:fe.match,token:this.terminals_[ct]||ct,line:fe.yylineno,loc:Pt,expected:pr})}if(yt[0]instanceof Array&&yt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+kt+", token: "+ct);switch(yt[0]){case 1:le.push(ct),me.push(fe.yytext),ye.push(fe.yylloc),le.push(yt[1]),ct=null,Dt?(ct=Dt,Dt=null):(We=fe.yyleng,ve=fe.yytext,Oe=fe.yylineno,Pt=fe.yylloc,Be>0&&Be--);break;case 2:if(dr=this.productions_[yt[1]][1],Qt.$=me[me.length-dr],Qt._$={first_line:ye[ye.length-(dr||1)].first_line,last_line:ye[ye.length-1].last_line,first_column:ye[ye.length-(dr||1)].first_column,last_column:ye[ye.length-1].last_column},St&&(Qt._$.range=[ye[ye.length-(dr||1)].range[0],ye[ye.length-1].range[1]]),hr=this.performAction.apply(Qt,[ve,We,Oe,ut.yy,yt[1],me,ye].concat(it)),typeof hr<"u")return hr;dr&&(le=le.slice(0,-1*dr*2),me=me.slice(0,-1*dr),ye=ye.slice(0,-1*dr)),le.push(this.productions_[yt[1]][0]),me.push(Qt.$),ye.push(Qt._$),ir=Re[le[le.length-2]][le[le.length-1]],le.push(ir);break;case 3:return!0}}return!0},"parse")},oe=(function(){var ue={EOF:1,parseError:o(function(se,le){if(this.yy.parser)this.yy.parser.parseError(se,le);else throw new Error(se)},"parseError"),setInput:o(function(G,se){return this.yy=se||this.yy||{},this._input=G,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var G=this._input[0];this.yytext+=G,this.yyleng++,this.offset++,this.match+=G,this.matched+=G;var se=G.match(/(?:\r\n?|\n).*/g);return se?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),G},"input"),unput:o(function(G){var se=G.length,le=G.split(/(?:\r\n?|\n)/g);this._input=G+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;var ke=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),le.length-1&&(this.yylineno-=le.length-1);var me=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:le?(le.length===ke.length?this.yylloc.first_column:0)+ke[ke.length-le.length].length-le[0].length:this.yylloc.first_column-se},this.options.ranges&&(this.yylloc.range=[me[0],me[0]+this.yyleng-se]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(G){this.unput(this.match.slice(G))},"less"),pastInput:o(function(){var G=this.matched.substr(0,this.matched.length-this.match.length);return(G.length>20?"...":"")+G.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var G=this.match;return G.length<20&&(G+=this._input.substr(0,20-G.length)),(G.substr(0,20)+(G.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var G=this.pastInput(),se=new Array(G.length+1).join("-");return G+this.upcomingInput()+` -`+se+"^"},"showPosition"),test_match:o(function(G,se){var le,ke,me;if(this.options.backtrack_lexer&&(me={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(me.yylloc.range=this.yylloc.range.slice(0))),ke=G[0].match(/(?:\r\n?|\n).*/g),ke&&(this.yylineno+=ke.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ke?ke[ke.length-1].length-ke[ke.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+G[0].length},this.yytext+=G[0],this.match+=G[0],this.matches=G,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(G[0].length),this.matched+=G[0],le=this.performAction.call(this,this.yy,this,se,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),le)return le;if(this._backtrack){for(var ye in me)this[ye]=me[ye];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var G,se,le,ke;this._more||(this.yytext="",this.match="");for(var me=this._currentRules(),ye=0;yese[0].length)){if(se=le,ke=ye,this.options.backtrack_lexer){if(G=this.test_match(le,me[ye]),G!==!1)return G;if(this._backtrack){se=!1;continue}else return!1}else if(!this.options.flex)break}return se?(G=this.test_match(se,me[ke]),G!==!1?G:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var se=this.next();return se||this.lex()},"lex"),begin:o(function(se){this.conditionStack.push(se)},"begin"),popState:o(function(){var se=this.conditionStack.length-1;return se>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},"topState"),pushState:o(function(se){this.begin(se)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(se,le,ke,me){var ye=me;switch(ke){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;break;case 5:return this.popState(),"title_value";break;case 6:return this.begin("acc_title"),37;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),39;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;break;case 29:return this.begin("point_start"),44;break;case 30:return this.begin("point_x"),45;break;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;break;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return ue})();K.lexer=oe;function U(){this.yy={}}return o(U,"Parser"),U.prototype=K,K.Parser=U,new U})();VW.parser=VW;Cwe=VW});var io,u_,Ewe=P(()=>{"use strict";Pr();wa();bt();wg();io=Zc(),u_=class{constructor(){this.classes=new Map;this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{o(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:fr.quadrantChart?.chartWidth||500,chartWidth:fr.quadrantChart?.chartHeight||500,titlePadding:fr.quadrantChart?.titlePadding||10,titleFontSize:fr.quadrantChart?.titleFontSize||20,quadrantPadding:fr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:fr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:fr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:fr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:fr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:fr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:fr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:fr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:fr.quadrantChart?.pointLabelFontSize||12,pointRadius:fr.quadrantChart?.pointRadius||5,xAxisPosition:fr.quadrantChart?.xAxisPosition||"top",yAxisPosition:fr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:fr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:fr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:io.quadrant1Fill,quadrant2Fill:io.quadrant2Fill,quadrant3Fill:io.quadrant3Fill,quadrant4Fill:io.quadrant4Fill,quadrant1TextFill:io.quadrant1TextFill,quadrant2TextFill:io.quadrant2TextFill,quadrant3TextFill:io.quadrant3TextFill,quadrant4TextFill:io.quadrant4TextFill,quadrantPointFill:io.quadrantPointFill,quadrantPointTextFill:io.quadrantPointTextFill,quadrantXAxisTextFill:io.quadrantXAxisTextFill,quadrantYAxisTextFill:io.quadrantYAxisTextFill,quadrantTitleFill:io.quadrantTitleFill,quadrantInternalBorderStrokeFill:io.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:io.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,Q.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){Q.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){Q.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,i,n){let a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},l=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,u={left:this.config.yAxisPosition==="left"&&i?l:0,right:this.config.yAxisPosition==="right"&&i?l:0},h=this.config.titleFontSize+this.config.titlePadding*2,f={top:n?h:0},d=this.config.quadrantPadding+u.left,p=this.config.quadrantPadding+s.top+f.top,m=this.config.chartWidth-this.config.quadrantPadding*2-u.left-u.right,g=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-f.top,y=m/2,v=g/2;return{xAxisSpace:s,yAxisSpace:u,titleSpace:f,quadrantSpace:{quadrantLeft:d,quadrantTop:p,quadrantWidth:m,quadrantHalfWidth:y,quadrantHeight:g,quadrantHalfHeight:v}}}getAxisLabels(e,r,i,n){let{quadrantSpace:a,titleSpace:s}=n,{quadrantHalfHeight:l,quadrantHeight:u,quadrantLeft:h,quadrantHalfWidth:f,quadrantTop:d,quadrantWidth:p}=a,m=!!this.data.xAxisRightText,g=!!this.data.yAxisTopText,y=[];return this.data.xAxisLeftText&&r&&y.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&y.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+f+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&i&&y.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+u-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&i&&y.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+l-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),y}getQuadrants(e){let{quadrantSpace:r}=e,{quadrantHalfHeight:i,quadrantLeft:n,quadrantHalfWidth:a,quadrantTop:s}=r,l=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:n+a,y:s,width:a,height:i,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:n,y:s,width:a,height:i,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:n,y:s+i,width:a,height:i,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:n+a,y:s+i,width:a,height:i,fill:this.themeConfig.quadrant4Fill}];for(let u of l)u.text.x=u.x+u.width/2,this.data.points.length===0?(u.text.y=u.y+u.height/2,u.text.horizontalPos="middle"):(u.text.y=u.y+this.config.quadrantTextTopPadding,u.text.horizontalPos="top");return l}getQuadrantPoints(e){let{quadrantSpace:r}=e,{quadrantHeight:i,quadrantLeft:n,quadrantTop:a,quadrantWidth:s}=r,l=vc().domain([0,1]).range([n,s+n]),u=vc().domain([0,1]).range([i+a,a]);return this.data.points.map(f=>{let d=this.classes.get(f.className);return d&&(f={...d,...f}),{x:l(f.x),y:u(f.y),fill:f.color??this.themeConfig.quadrantPointFill,radius:f.radius??this.config.pointRadius,text:{text:f.text,fill:this.themeConfig.quadrantPointTextFill,x:l(f.x),y:u(f.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:f.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:f.strokeWidth??"0px"}})}getBorders(e){let r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:i}=e,{quadrantHalfHeight:n,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:l,quadrantTop:u,quadrantWidth:h}=i;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:u,x2:s+h+r,y2:u},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+h,y1:u+r,x2:s+h,y2:u+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:u+a,x2:s+h+r,y2:u+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:u+r,x2:s,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+l,y1:u+r,x2:s+l,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:u+n,x2:s+h-r,y2:u+n}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){let e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),i=this.config.showTitle&&!!this.data.titleText,n=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(n,e,r,i);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(n,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(i)}}}});function qW(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function Swe(t){return!/^\d+$/.test(t)}function Awe(t){return!/^\d+px$/.test(t)}var og,_we=P(()=>{"use strict";og=class extends Error{static{o(this,"InvalidStyleError")}constructor(e,r,i){super(`value for ${e} ${r} is invalid, please use a valid ${i}`),this.name="InvalidStyleError"}};o(qW,"validateHexCode");o(Swe,"validateNumber");o(Awe,"validateSizeInPixels")});function kf(t){return Tr(t.trim(),Fut)}function $ut(t){ss.setData({quadrant1Text:kf(t.text)})}function zut(t){ss.setData({quadrant2Text:kf(t.text)})}function Gut(t){ss.setData({quadrant3Text:kf(t.text)})}function Vut(t){ss.setData({quadrant4Text:kf(t.text)})}function qut(t){ss.setData({xAxisLeftText:kf(t.text)})}function Wut(t){ss.setData({xAxisRightText:kf(t.text)})}function Uut(t){ss.setData({yAxisTopText:kf(t.text)})}function Hut(t){ss.setData({yAxisBottomText:kf(t.text)})}function WW(t){let e={};for(let r of t){let[i,n]=r.trim().split(/\s*:\s*/);if(i==="radius"){if(Swe(n))throw new og(i,n,"number");e.radius=parseInt(n)}else if(i==="color"){if(qW(n))throw new og(i,n,"hex code");e.color=n}else if(i==="stroke-color"){if(qW(n))throw new og(i,n,"hex code");e.strokeColor=n}else if(i==="stroke-width"){if(Awe(n))throw new og(i,n,"number of pixels (eg. 10px)");e.strokeWidth=n}else throw new Error(`style named ${i} is not supported.`)}return e}function Yut(t,e,r,i,n){let a=WW(n);ss.addPoints([{x:r,y:i,text:kf(t.text),className:e,...a}])}function jut(t,e){ss.addClass(t,WW(e))}function Xut(t){ss.setConfig({chartWidth:t})}function Kut(t){ss.setConfig({chartHeight:t})}function Qut(){let t=ge(),{themeVariables:e,quadrantChart:r}=t;return r&&ss.setConfig(r),ss.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),ss.setData({titleText:Nr()}),ss.build()}var Fut,ss,Zut,Dwe,Lwe=P(()=>{"use strict";Ut();Vr();Ki();Ewe();_we();Fut=ge();o(kf,"textSanitizer");ss=new u_;o($ut,"setQuadrant1Text");o(zut,"setQuadrant2Text");o(Gut,"setQuadrant3Text");o(Vut,"setQuadrant4Text");o(qut,"setXAxisLeftText");o(Wut,"setXAxisRightText");o(Uut,"setYAxisTopText");o(Hut,"setYAxisBottomText");o(WW,"parseStyles");o(Yut,"addPoint");o(jut,"addClass");o(Xut,"setWidth");o(Kut,"setHeight");o(Qut,"getQuadrantData");Zut=o(function(){ss.clear(),wr()},"clear"),Dwe={setWidth:Xut,setHeight:Kut,setQuadrant1Text:$ut,setQuadrant2Text:zut,setQuadrant3Text:Gut,setQuadrant4Text:Vut,setXAxisLeftText:qut,setXAxisRightText:Wut,setYAxisTopText:Uut,setYAxisBottomText:Hut,parseStyles:WW,addPoint:Yut,addClass:jut,getQuadrantData:Qut,clear:Zut,setAccTitle:Ar,getAccTitle:Dr,setDiagramTitle:Mr,getDiagramTitle:Nr,getAccDescription:Rr,setAccDescription:Lr}});var Jut,Rwe,Nwe=P(()=>{"use strict";Pr();Ut();bt();Xi();Jut=o((t,e,r,i)=>{function n(S){return S==="top"?"hanging":"middle"}o(n,"getDominantBaseLine");function a(S){return S==="left"?"start":"middle"}o(a,"getTextAnchor");function s(S){return`translate(${S.x}, ${S.y}) rotate(${S.rotation||0})`}o(s,"getTransformation");let l=ge();Q.debug(`Rendering quadrant chart -`+t);let u=l.securityLevel,h;u==="sandbox"&&(h=Ze("#i"+e));let d=(u==="sandbox"?Ze(h.nodes()[0].contentDocument.body):Ze("body")).select(`[id="${e}"]`),p=d.append("g").attr("class","main"),m=l.quadrantChart?.chartWidth??500,g=l.quadrantChart?.chartHeight??500;Hr(d,g,m,l.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+m+" "+g),i.db.setHeight(g),i.db.setWidth(m);let y=i.db.getQuadrantData(),v=p.append("g").attr("class","quadrants"),x=p.append("g").attr("class","border"),b=p.append("g").attr("class","data-points"),T=p.append("g").attr("class","labels"),w=p.append("g").attr("class","title");y.title&&w.append("text").attr("x",0).attr("y",0).attr("fill",y.title.fill).attr("font-size",y.title.fontSize).attr("dominant-baseline",n(y.title.horizontalPos)).attr("text-anchor",a(y.title.verticalPos)).attr("transform",s(y.title)).text(y.title.text),y.borderLines&&x.selectAll("line").data(y.borderLines).enter().append("line").attr("x1",S=>S.x1).attr("y1",S=>S.y1).attr("x2",S=>S.x2).attr("y2",S=>S.y2).style("stroke",S=>S.strokeFill).style("stroke-width",S=>S.strokeWidth);let k=v.selectAll("g.quadrant").data(y.quadrants).enter().append("g").attr("class","quadrant");k.append("rect").attr("x",S=>S.x).attr("y",S=>S.y).attr("width",S=>S.width).attr("height",S=>S.height).attr("fill",S=>S.fill),k.append("text").attr("x",0).attr("y",0).attr("fill",S=>S.text.fill).attr("font-size",S=>S.text.fontSize).attr("dominant-baseline",S=>n(S.text.horizontalPos)).attr("text-anchor",S=>a(S.text.verticalPos)).attr("transform",S=>s(S.text)).text(S=>S.text.text),T.selectAll("g.label").data(y.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(S=>S.text).attr("fill",S=>S.fill).attr("font-size",S=>S.fontSize).attr("dominant-baseline",S=>n(S.horizontalPos)).attr("text-anchor",S=>a(S.verticalPos)).attr("transform",S=>s(S));let E=b.selectAll("g.data-point").data(y.points).enter().append("g").attr("class","data-point");E.append("circle").attr("cx",S=>S.x).attr("cy",S=>S.y).attr("r",S=>S.radius).attr("fill",S=>S.fill).attr("stroke",S=>S.strokeColor).attr("stroke-width",S=>S.strokeWidth),E.append("text").attr("x",0).attr("y",0).text(S=>S.text.text).attr("fill",S=>S.text.fill).attr("font-size",S=>S.text.fontSize).attr("dominant-baseline",S=>n(S.text.horizontalPos)).attr("text-anchor",S=>a(S.text.verticalPos)).attr("transform",S=>s(S.text))},"draw"),Rwe={draw:Jut}});var Iwe={};ur(Iwe,{diagram:()=>eht});var eht,Mwe=P(()=>{"use strict";wwe();Lwe();Nwe();eht={parser:Cwe,db:Dwe,renderer:Rwe,styles:o(()=>"","styles")}});var UW,Bwe,Fwe=P(()=>{"use strict";UW=(function(){var t=o(function(N,R,B,O){for(B=B||{},O=N.length;O--;B[N[O]]=R);return B},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],i=[1,3],n=[1,5],a=[1,6],s=[1,7],l=[1,5,10,12,14,16,18,19,21,23,34,35,36],u=[1,25],h=[1,26],f=[1,28],d=[1,29],p=[1,30],m=[1,31],g=[1,32],y=[1,33],v=[1,34],x=[1,35],b=[1,36],T=[1,37],w=[1,43],k=[1,42],C=[1,47],E=[1,50],S=[1,10,12,14,16,18,19,21,23,34,35,36],L=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],M=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],I=[1,64],A={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:o(function(R,B,O,$,z,F,V){var H=F.length-1;switch(z){case 5:$.setOrientation(F[H]);break;case 9:$.setDiagramTitle(F[H].text.trim());break;case 12:$.setLineData({text:"",type:"text"},F[H]);break;case 13:$.setLineData(F[H-1],F[H]);break;case 14:$.setBarData({text:"",type:"text"},F[H]);break;case 15:$.setBarData(F[H-1],F[H]);break;case 16:this.$=F[H].trim(),$.setAccTitle(this.$);break;case 17:case 18:this.$=F[H].trim(),$.setAccDescription(this.$);break;case 19:this.$=F[H-1];break;case 20:this.$=[Number(F[H-2]),...F[H]];break;case 21:this.$=[Number(F[H])];break;case 22:$.setXAxisTitle(F[H]);break;case 23:$.setXAxisTitle(F[H-1]);break;case 24:$.setXAxisTitle({type:"text",text:""});break;case 25:$.setXAxisBand(F[H]);break;case 26:$.setXAxisRangeData(Number(F[H-2]),Number(F[H]));break;case 27:this.$=F[H-1];break;case 28:this.$=[F[H-2],...F[H]];break;case 29:this.$=[F[H]];break;case 30:$.setYAxisTitle(F[H]);break;case 31:$.setYAxisTitle(F[H-1]);break;case 32:$.setYAxisTitle({type:"text",text:""});break;case 33:$.setYAxisRangeData(Number(F[H-2]),Number(F[H]));break;case 37:this.$={text:F[H],type:"text"};break;case 38:this.$={text:F[H],type:"text"};break;case 39:this.$={text:F[H],type:"markdown"};break;case 40:this.$=F[H];break;case 41:this.$=F[H-1]+""+F[H];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:i,34:n,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:i,34:n,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:i,8:[1,11],34:n,35:a,36:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(l,[2,34]),t(l,[2,35]),t(l,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:i,34:n,35:a,36:s}),{1:[2,3]},t(l,[2,5]),t(e,[2,7],{4:22,34:n,35:a,36:s}),{11:23,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:39,13:38,24:w,27:k,29:40,30:41,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:45,15:44,27:C,33:46,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:49,17:48,24:E,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:52,17:51,24:E,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{20:[1,53]},{22:[1,54]},t(S,[2,18]),{1:[2,2]},t(S,[2,8]),t(S,[2,9]),t(L,[2,37],{40:55,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T}),t(L,[2,38]),t(L,[2,39]),t(M,[2,40]),t(M,[2,42]),t(M,[2,43]),t(M,[2,44]),t(M,[2,45]),t(M,[2,46]),t(M,[2,47]),t(M,[2,48]),t(M,[2,49]),t(M,[2,50]),t(M,[2,51]),t(S,[2,10]),t(S,[2,22],{30:41,29:56,24:w,27:k}),t(S,[2,24]),t(S,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},t(S,[2,11]),t(S,[2,30],{33:60,27:C}),t(S,[2,32]),{31:[1,61]},t(S,[2,12]),{17:62,24:E},{25:63,27:I},t(S,[2,14]),{17:65,24:E},t(S,[2,16]),t(S,[2,17]),t(M,[2,41]),t(S,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(S,[2,31]),{27:[1,69]},t(S,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(S,[2,15]),t(S,[2,26]),t(S,[2,27]),{11:59,32:72,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},t(S,[2,33]),t(S,[2,19]),{25:73,27:I},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:o(function(R,B){if(B.recoverable)this.trace(R);else{var O=new Error(R);throw O.hash=B,O}},"parseError"),parse:o(function(R){var B=this,O=[0],$=[],z=[null],F=[],V=this.table,H="",X=0,W=0,Z=0,Y=2,ae=1,J=F.slice.call(arguments,1),ee=Object.create(this.lexer),re={yy:{}};for(var te in this.yy)Object.prototype.hasOwnProperty.call(this.yy,te)&&(re.yy[te]=this.yy[te]);ee.setInput(R,re.yy),re.yy.lexer=ee,re.yy.parser=this,typeof ee.yylloc>"u"&&(ee.yylloc={});var be=ee.yylloc;F.push(be);var de=ee.options&&ee.options.ranges;typeof re.yy.parseError=="function"?this.parseError=re.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ee(K){O.length=O.length-2*K,z.length=z.length-K,F.length=F.length-K}o(Ee,"popStack");function Ne(){var K;return K=$.pop()||ee.lex()||ae,typeof K!="number"&&(K instanceof Array&&($=K,K=$.pop()),K=B.symbols_[K]||K),K}o(Ne,"lex");for(var we,Te,De,$e,pe,Je,Ce={},Fe,Ue,qe,Me;;){if(De=O[O.length-1],this.defaultActions[De]?$e=this.defaultActions[De]:((we===null||typeof we>"u")&&(we=Ne()),$e=V[De]&&V[De][we]),typeof $e>"u"||!$e.length||!$e[0]){var He="";Me=[];for(Fe in V[De])this.terminals_[Fe]&&Fe>Y&&Me.push("'"+this.terminals_[Fe]+"'");ee.showPosition?He="Parse error on line "+(X+1)+`: -`+ee.showPosition()+` -Expecting `+Me.join(", ")+", got '"+(this.terminals_[we]||we)+"'":He="Parse error on line "+(X+1)+": Unexpected "+(we==ae?"end of input":"'"+(this.terminals_[we]||we)+"'"),this.parseError(He,{text:ee.match,token:this.terminals_[we]||we,line:ee.yylineno,loc:be,expected:Me})}if($e[0]instanceof Array&&$e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+De+", token: "+we);switch($e[0]){case 1:O.push(we),z.push(ee.yytext),F.push(ee.yylloc),O.push($e[1]),we=null,Te?(we=Te,Te=null):(W=ee.yyleng,H=ee.yytext,X=ee.yylineno,be=ee.yylloc,Z>0&&Z--);break;case 2:if(Ue=this.productions_[$e[1]][1],Ce.$=z[z.length-Ue],Ce._$={first_line:F[F.length-(Ue||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(Ue||1)].first_column,last_column:F[F.length-1].last_column},de&&(Ce._$.range=[F[F.length-(Ue||1)].range[0],F[F.length-1].range[1]]),Je=this.performAction.apply(Ce,[H,W,X,re.yy,$e[1],z,F].concat(J)),typeof Je<"u")return Je;Ue&&(O=O.slice(0,-1*Ue*2),z=z.slice(0,-1*Ue),F=F.slice(0,-1*Ue)),O.push(this.productions_[$e[1]][0]),z.push(Ce.$),F.push(Ce._$),qe=V[O[O.length-2]][O[O.length-1]],O.push(qe);break;case 3:return!0}}return!0},"parse")},_=(function(){var N={EOF:1,parseError:o(function(B,O){if(this.yy.parser)this.yy.parser.parseError(B,O);else throw new Error(B)},"parseError"),setInput:o(function(R,B){return this.yy=B||this.yy||{},this._input=R,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var R=this._input[0];this.yytext+=R,this.yyleng++,this.offset++,this.match+=R,this.matched+=R;var B=R.match(/(?:\r\n?|\n).*/g);return B?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),R},"input"),unput:o(function(R){var B=R.length,O=R.split(/(?:\r\n?|\n)/g);this._input=R+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-B),this.offset-=B;var $=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),O.length-1&&(this.yylineno-=O.length-1);var z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:O?(O.length===$.length?this.yylloc.first_column:0)+$[$.length-O.length].length-O[0].length:this.yylloc.first_column-B},this.options.ranges&&(this.yylloc.range=[z[0],z[0]+this.yyleng-B]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(R){this.unput(this.match.slice(R))},"less"),pastInput:o(function(){var R=this.matched.substr(0,this.matched.length-this.match.length);return(R.length>20?"...":"")+R.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var R=this.match;return R.length<20&&(R+=this._input.substr(0,20-R.length)),(R.substr(0,20)+(R.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var R=this.pastInput(),B=new Array(R.length+1).join("-");return R+this.upcomingInput()+` -`+B+"^"},"showPosition"),test_match:o(function(R,B){var O,$,z;if(this.options.backtrack_lexer&&(z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(z.yylloc.range=this.yylloc.range.slice(0))),$=R[0].match(/(?:\r\n?|\n).*/g),$&&(this.yylineno+=$.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:$?$[$.length-1].length-$[$.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+R[0].length},this.yytext+=R[0],this.match+=R[0],this.matches=R,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(R[0].length),this.matched+=R[0],O=this.performAction.call(this,this.yy,this,B,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),O)return O;if(this._backtrack){for(var F in z)this[F]=z[F];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var R,B,O,$;this._more||(this.yytext="",this.match="");for(var z=this._currentRules(),F=0;FB[0].length)){if(B=O,$=F,this.options.backtrack_lexer){if(R=this.test_match(O,z[F]),R!==!1)return R;if(this._backtrack){B=!1;continue}else return!1}else if(!this.options.flex)break}return B?(R=this.test_match(B,z[$]),R!==!1?R:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var B=this.next();return B||this.lex()},"lex"),begin:o(function(B){this.conditionStack.push(B)},"begin"),popState:o(function(){var B=this.conditionStack.length-1;return B>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(B){return B=this.conditionStack.length-1-Math.abs(B||0),B>=0?this.conditionStack[B]:"INITIAL"},"topState"),pushState:o(function(B){this.begin(B)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(B,O,$,z){var F=z;switch($){case 0:break;case 1:break;case 2:return this.popState(),34;break;case 3:return this.popState(),34;break;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.pushState("acc_descr"),21;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";break;case 18:return this.pushState("axis_data"),"Y_AXIS";break;case 19:return this.pushState("axis_band_data"),24;break;case 20:return 31;case 21:return this.pushState("data"),16;break;case 22:return this.pushState("data"),18;break;case 23:return this.pushState("data_inner"),24;break;case 24:return 27;case 25:return this.popState(),26;break;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return N})();A.lexer=_;function D(){this.yy={}}return o(D,"Parser"),D.prototype=A,A.Parser=D,new D})();UW.parser=UW;Bwe=UW});function HW(t){return t.type==="bar"}function h_(t){return t.type==="band"}function Qv(t){return t.type==="linear"}var f_=P(()=>{"use strict";o(HW,"isBarPlot");o(h_,"isBandAxisData");o(Qv,"isLinearAxisData")});var Zv,YW=P(()=>{"use strict";To();Zv=class{constructor(e){this.parentGroup=e}static{o(this,"TextDimensionCalculatorWithFont")}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};let i={width:0,height:0},n=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(let a of e){let s=zae(n,1,a),l=s?s.width:a.length*r,u=s?s.height:r;i.width=Math.max(i.width,l),i.height=Math.max(i.height,u)}return n.remove(),i}}});var Jv,jW=P(()=>{"use strict";Jv=class{constructor(e,r,i,n){this.axisConfig=e;this.title=r;this.textDimensionCalculator=i;this.axisThemeConfig=n;this.boundingRect={x:0,y:0,width:0,height:0};this.axisPosition="left";this.showTitle=!1;this.showLabel=!1;this.showTick=!1;this.showAxisLine=!1;this.outerPadding=0;this.titleTextHeight=0;this.labelTextHeight=0;this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}static{o(this,"BaseAxis")}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){let e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let i=this.getLabelDimension(),n=.2*e.width;this.outerPadding=Math.min(i.width/2,n);let a=i.height+this.axisConfig.labelPadding*2;this.labelTextHeight=i.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let i=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=i.height+this.axisConfig.titlePadding*2;this.titleTextHeight=i.height,n<=r&&(r-=n,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let i=this.getLabelDimension(),n=.2*e.height;this.outerPadding=Math.min(i.height/2,n);let a=i.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let i=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=i.height+this.axisConfig.titlePadding*2;this.titleTextHeight=i.height,n<=r&&(r-=n,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){let r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(i=>({path:`M ${r},${this.getScaleValue(i)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(i)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(i=>({path:`M ${this.getScaleValue(i)},${r} L ${this.getScaleValue(i)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(i=>({path:`M ${this.getScaleValue(i)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(i)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}});var d_,$we=P(()=>{"use strict";Pr();bt();jW();d_=class extends Jv{static{o(this,"BandAxis")}constructor(e,r,i,n,a){super(e,n,a,r),this.categories=i,this.scale=Kg().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=Kg().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Q.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}}});var p_,zwe=P(()=>{"use strict";Pr();jW();p_=class extends Jv{static{o(this,"LinearAxis")}constructor(e,r,i,n,a){super(e,n,a,r),this.domain=i,this.scale=vc().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=vc().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}}});function XW(t,e,r,i){let n=new Zv(i);return h_(t)?new d_(e,r,t.categories,t.title,n):new p_(e,r,[t.min,t.max],t.title,n)}var Gwe=P(()=>{"use strict";f_();YW();$we();zwe();o(XW,"getAxis")});function Vwe(t,e,r,i){let n=new Zv(i);return new KW(n,t,e,r)}var KW,qwe=P(()=>{"use strict";YW();KW=class{constructor(e,r,i,n){this.textDimensionCalculator=e;this.chartConfig=r;this.chartData=i;this.chartThemeConfig=n;this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{o(this,"ChartTitle")}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){let r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),i=Math.max(r.width,e.width),n=r.height+2*this.chartConfig.titlePadding;return r.width<=i&&r.height<=n&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=i,this.boundingRect.height=n,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}};o(Vwe,"getChartTitleComponent")});var m_,Wwe=P(()=>{"use strict";Pr();m_=class{constructor(e,r,i,n,a){this.plotData=e;this.xAxis=r;this.yAxis=i;this.orientation=n;this.plotIndex=a}static{o(this,"LinePlot")}getDrawableElement(){let e=this.plotData.data.map(i=>[this.xAxis.getScaleValue(i[0]),this.yAxis.getScaleValue(i[1])]),r;return this.orientation==="horizontal"?r=Cc().y(i=>i[0]).x(i=>i[1])(e):r=Cc().x(i=>i[0]).y(i=>i[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}});var g_,Uwe=P(()=>{"use strict";g_=class{constructor(e,r,i,n,a,s){this.barData=e;this.boundingRect=r;this.xAxis=i;this.yAxis=n;this.orientation=a;this.plotIndex=s}static{o(this,"BarPlot")}getDrawableElement(){let e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),i=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),n=i/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-n,height:i,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-n,y:a[1],width:i,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}});function Hwe(t,e,r){return new QW(t,e,r)}var QW,Ywe=P(()=>{"use strict";Wwe();Uwe();QW=class{constructor(e,r,i){this.chartConfig=e;this.chartData=r;this.chartThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0}}static{o(this,"BasePlot")}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");let e=[];for(let[r,i]of this.chartData.plots.entries())switch(i.type){case"line":{let n=new m_(i,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...n.getDrawableElement())}break;case"bar":{let n=new g_(i,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...n.getDrawableElement())}break}return e}};o(Hwe,"getPlotComponent")});var y_,jwe=P(()=>{"use strict";Gwe();qwe();Ywe();f_();y_=class{constructor(e,r,i,n){this.chartConfig=e;this.chartData=r;this.componentStore={title:Vwe(e,r,i,n),plot:Hwe(e,r,i),xAxis:XW(r.xAxis,e.xAxis,{titleColor:i.xAxisTitleColor,labelColor:i.xAxisLabelColor,tickColor:i.xAxisTickColor,axisLineColor:i.xAxisLineColor},n),yAxis:XW(r.yAxis,e.yAxis,{titleColor:i.yAxisTitleColor,labelColor:i.yAxisLabelColor,tickColor:i.yAxisTickColor,axisLineColor:i.yAxisLineColor},n)}}static{o(this,"Orchestrator")}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,i=0,n=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:a,height:s});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("bottom"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=l.height,this.componentStore.yAxis.setAxisPosition("left"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),i=l.width,e-=l.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([i,i+a]),this.componentStore.xAxis.setBoundingBoxXY({x:i,y:n+s}),this.componentStore.yAxis.setRange([n,n+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:n}),this.chartData.plots.some(u=>HW(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,i=0,n=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),l=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),u=this.componentStore.plot.calculateSpace({width:s,height:l});e-=u.width,r-=u.height,u=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=u.height,r-=u.height,this.componentStore.xAxis.setAxisPosition("left"),u=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=u.width,n=u.width,this.componentStore.yAxis.setAxisPosition("top"),u=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=u.height,a=i+u.height,e>0&&(s+=e,e=0),r>0&&(l+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:l}),this.componentStore.plot.setBoundingBoxXY({x:n,y:a}),this.componentStore.yAxis.setRange([n,n+s]),this.componentStore.yAxis.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([a,a+l]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(h=>HW(h))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(let r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}}});var v_,Xwe=P(()=>{"use strict";jwe();v_=class{static{o(this,"XYChartBuilder")}static build(e,r,i,n){return new y_(e,r,i,n).getDrawableElement()}}});function Qwe(){let t=Zc(),e=Lt();return fi(t.xyChart,e.themeVariables.xyChart)}function Zwe(){let t=Lt();return fi(fr.xyChart,t.xyChart)}function Jwe(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function eU(t){let e=Lt();return Tr(t.trim(),e)}function nht(t){Kwe=t}function aht(t){t==="horizontal"?LC.chartOrientation="horizontal":LC.chartOrientation="vertical"}function sht(t){Ni.xAxis.title=eU(t.text)}function e3e(t,e){Ni.xAxis={type:"linear",title:Ni.xAxis.title,min:t,max:e},x_=!0}function oht(t){Ni.xAxis={type:"band",title:Ni.xAxis.title,categories:t.map(e=>eU(e.text))},x_=!0}function lht(t){Ni.yAxis.title=eU(t.text)}function cht(t,e){Ni.yAxis={type:"linear",title:Ni.yAxis.title,min:t,max:e},JW=!0}function uht(t){let e=Math.min(...t),r=Math.max(...t),i=Qv(Ni.yAxis)?Ni.yAxis.min:1/0,n=Qv(Ni.yAxis)?Ni.yAxis.max:-1/0;Ni.yAxis={type:"linear",title:Ni.yAxis.title,min:Math.min(i,e),max:Math.max(n,r)}}function t3e(t){let e=[];if(t.length===0)return e;if(!x_){let r=Qv(Ni.xAxis)?Ni.xAxis.min:1/0,i=Qv(Ni.xAxis)?Ni.xAxis.max:-1/0;e3e(Math.min(r,1),Math.max(i,t.length))}if(JW||uht(t),h_(Ni.xAxis)&&(e=Ni.xAxis.categories.map((r,i)=>[r,t[i]])),Qv(Ni.xAxis)){let r=Ni.xAxis.min,i=Ni.xAxis.max,n=(i-r)/(t.length-1),a=[];for(let s=r;s<=i;s+=n)a.push(`${s}`);e=a.map((s,l)=>[s,t[l]])}return e}function r3e(t){return ZW[t===0?0:t%ZW.length]}function hht(t,e){let r=t3e(e);Ni.plots.push({type:"line",strokeFill:r3e(DC),strokeWidth:2,data:r}),DC++}function fht(t,e){let r=t3e(e);Ni.plots.push({type:"bar",fill:r3e(DC),data:r}),DC++}function dht(){if(Ni.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return Ni.title=Nr(),v_.build(LC,Ni,RC,Kwe)}function pht(){return RC}function mht(){return LC}function ght(){return Ni}var DC,Kwe,LC,RC,Ni,ZW,x_,JW,yht,i3e,n3e=P(()=>{"use strict";Sr();wa();wg();er();Vr();Ki();Xwe();f_();DC=0,LC=Zwe(),RC=Qwe(),Ni=Jwe(),ZW=RC.plotColorPalette.split(",").map(t=>t.trim()),x_=!1,JW=!1;o(Qwe,"getChartDefaultThemeConfig");o(Zwe,"getChartDefaultConfig");o(Jwe,"getChartDefaultData");o(eU,"textSanitizer");o(nht,"setTmpSVGG");o(aht,"setOrientation");o(sht,"setXAxisTitle");o(e3e,"setXAxisRangeData");o(oht,"setXAxisBand");o(lht,"setYAxisTitle");o(cht,"setYAxisRangeData");o(uht,"setYAxisRangeFromPlotData");o(t3e,"transformDataWithoutCategory");o(r3e,"getPlotColorFromPalette");o(hht,"setLineData");o(fht,"setBarData");o(dht,"getDrawableElem");o(pht,"getChartThemeConfig");o(mht,"getChartConfig");o(ght,"getXYChartData");yht=o(function(){wr(),DC=0,LC=Zwe(),Ni=Jwe(),RC=Qwe(),ZW=RC.plotColorPalette.split(",").map(t=>t.trim()),x_=!1,JW=!1},"clear"),i3e={getDrawableElem:dht,clear:yht,setAccTitle:Ar,getAccTitle:Dr,setDiagramTitle:Mr,getDiagramTitle:Nr,getAccDescription:Rr,setAccDescription:Lr,setOrientation:aht,setXAxisTitle:sht,setXAxisRangeData:e3e,setXAxisBand:oht,setYAxisTitle:lht,setYAxisRangeData:cht,setLineData:hht,setBarData:fht,setTmpSVGG:nht,getChartThemeConfig:pht,getChartConfig:mht,getXYChartData:ght}});var vht,a3e,s3e=P(()=>{"use strict";bt();ro();Xi();vht=o((t,e,r,i)=>{let n=i.db,a=n.getChartThemeConfig(),s=n.getChartConfig(),l=n.getXYChartData().plots[0].data.map(T=>T[1]);function u(T){return T==="top"?"text-before-edge":"middle"}o(u,"getDominantBaseLine");function h(T){return T==="left"?"start":T==="right"?"end":"middle"}o(h,"getTextAnchor");function f(T){return`translate(${T.x}, ${T.y}) rotate(${T.rotation||0})`}o(f,"getTextTransformation"),Q.debug(`Rendering xychart chart -`+t);let d=Fi(e),p=d.append("g").attr("class","main"),m=p.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Hr(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),m.attr("fill",a.backgroundColor),n.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));let g=n.getDrawableElem(),y={};function v(T){let w=p,k="";for(let[C]of T.entries()){let E=p;C>0&&y[k]&&(E=y[k]),k+=T[C],w=y[k],w||(w=y[k]=E.append("g").attr("class",T[C]))}return w}o(v,"getGroup");for(let T of g){if(T.data.length===0)continue;let w=v(T.groupTexts);switch(T.type){case"rect":if(w.selectAll("rect").data(T.data).enter().append("rect").attr("x",k=>k.x).attr("y",k=>k.y).attr("width",k=>k.width).attr("height",k=>k.height).attr("fill",k=>k.fill).attr("stroke",k=>k.strokeFill).attr("stroke-width",k=>k.strokeWidth),s.showDataLabel){let k=s.showDataLabelOutsideBar;if(s.chartOrientation==="horizontal"){let L=function(_,D){let{data:N,label:R}=_;return D*R.length*.7<=N.width-10};var x=L;o(L,"fitsHorizontally");let C=.7,E=10,S=T.data.map((_,D)=>({data:_,label:l[D].toString()})).filter(_=>_.data.width>0&&_.data.height>0),M=S.map(_=>{let{data:D}=_,N=D.height*.7;for(;!L(_,N)&&N>0;)N-=1;return N}),I=Math.floor(Math.min(...M)),A=o(_=>k?_.data.x+_.data.width+10:_.data.x+_.data.width-10,"determineLabelXPosition");w.selectAll("text").data(S).enter().append("text").attr("x",A).attr("y",_=>_.data.y+_.data.height/2).attr("text-anchor",k?"start":"end").attr("dominant-baseline","middle").attr("fill",a.dataLabelColor).attr("font-size",`${I}px`).text(_=>_.label)}else{let S=function(A,_,D){let{data:N,label:R}=A,O=_*R.length*.7,$=N.x+N.width/2,z=$-O/2,F=$+O/2,V=z>=N.x&&F<=N.x+N.width,H=N.y+D+_<=N.y+N.height;return V&&H};var b=S;o(S,"fitsInBar");let C=10,E=T.data.map((A,_)=>({data:A,label:l[_].toString()})).filter(A=>A.data.width>0&&A.data.height>0),L=E.map(A=>{let{data:_,label:D}=A,N=_.width/(D.length*.7);for(;!S(A,N,10)&&N>0;)N-=1;return N}),M=Math.floor(Math.min(...L)),I=o(A=>k?A.data.y-10:A.data.y+10,"determineLabelYPosition");w.selectAll("text").data(E).enter().append("text").attr("x",A=>A.data.x+A.data.width/2).attr("y",I).attr("text-anchor","middle").attr("dominant-baseline",k?"auto":"hanging").attr("fill",a.dataLabelColor).attr("font-size",`${M}px`).text(A=>A.label)}}break;case"text":w.selectAll("text").data(T.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",k=>k.fill).attr("font-size",k=>k.fontSize).attr("dominant-baseline",k=>u(k.verticalPos)).attr("text-anchor",k=>h(k.horizontalPos)).attr("transform",k=>f(k)).text(k=>k.text);break;case"path":w.selectAll("path").data(T.data).enter().append("path").attr("d",k=>k.path).attr("fill",k=>k.fill?k.fill:"none").attr("stroke",k=>k.strokeFill).attr("stroke-width",k=>k.strokeWidth);break}}},"draw"),a3e={draw:vht}});var o3e={};ur(o3e,{diagram:()=>xht});var xht,l3e=P(()=>{"use strict";Fwe();n3e();s3e();xht={parser:Bwe,db:i3e,renderer:a3e}});var tU,h3e,f3e=P(()=>{"use strict";tU=(function(){var t=o(function(K,oe,U,ue){for(U=U||{},ue=K.length;ue--;U[K[ue]]=oe);return U},"o"),e=[1,3],r=[1,4],i=[1,5],n=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],l=[2,7],u=[1,26],h=[1,27],f=[1,28],d=[1,29],p=[1,33],m=[1,34],g=[1,35],y=[1,36],v=[1,37],x=[1,38],b=[1,24],T=[1,31],w=[1,32],k=[1,30],C=[1,39],E=[1,40],S=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],L=[1,61],M=[89,90],I=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],A=[27,29],_=[1,70],D=[1,71],N=[1,72],R=[1,73],B=[1,74],O=[1,75],$=[1,76],z=[1,83],F=[1,80],V=[1,84],H=[1,85],X=[1,86],W=[1,87],Z=[1,88],Y=[1,89],ae=[1,90],J=[1,91],ee=[1,92],re=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],te=[63,64],be=[1,101],de=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],Ee=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Ne=[1,110],we=[1,106],Te=[1,107],De=[1,108],$e=[1,109],pe=[1,111],Je=[1,116],Ce=[1,117],Fe=[1,114],Ue=[1,115],qe={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:o(function(oe,U,ue,G,se,le,ke){var me=le.length-1;switch(se){case 4:this.$=le[me].trim(),G.setAccTitle(this.$);break;case 5:case 6:this.$=le[me].trim(),G.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:G.setDirection("TB");break;case 18:G.setDirection("BT");break;case 19:G.setDirection("RL");break;case 20:G.setDirection("LR");break;case 21:G.addRequirement(le[me-3],le[me-4]);break;case 22:G.addRequirement(le[me-5],le[me-6]),G.setClass([le[me-5]],le[me-3]);break;case 23:G.setNewReqId(le[me-2]);break;case 24:G.setNewReqText(le[me-2]);break;case 25:G.setNewReqRisk(le[me-2]);break;case 26:G.setNewReqVerifyMethod(le[me-2]);break;case 29:this.$=G.RequirementType.REQUIREMENT;break;case 30:this.$=G.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=G.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=G.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=G.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=G.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=G.RiskLevel.LOW_RISK;break;case 36:this.$=G.RiskLevel.MED_RISK;break;case 37:this.$=G.RiskLevel.HIGH_RISK;break;case 38:this.$=G.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=G.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=G.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=G.VerifyType.VERIFY_TEST;break;case 42:G.addElement(le[me-3]);break;case 43:G.addElement(le[me-5]),G.setClass([le[me-5]],le[me-3]);break;case 44:G.setNewElementType(le[me-2]);break;case 45:G.setNewElementDocRef(le[me-2]);break;case 48:G.addRelationship(le[me-2],le[me],le[me-4]);break;case 49:G.addRelationship(le[me-2],le[me-4],le[me]);break;case 50:this.$=G.Relationships.CONTAINS;break;case 51:this.$=G.Relationships.COPIES;break;case 52:this.$=G.Relationships.DERIVES;break;case 53:this.$=G.Relationships.SATISFIES;break;case 54:this.$=G.Relationships.VERIFIES;break;case 55:this.$=G.Relationships.REFINES;break;case 56:this.$=G.Relationships.TRACES;break;case 57:this.$=le[me-2],G.defineClass(le[me-1],le[me]);break;case 58:G.setClass(le[me-1],le[me]);break;case 59:G.setClass([le[me-2]],le[me]);break;case 60:case 62:this.$=[le[me]];break;case 61:case 63:this.$=le[me-2].concat([le[me]]);break;case 64:this.$=le[me-2],G.setCssStyle(le[me-1],le[me]);break;case 65:this.$=[le[me]];break;case 66:le[me-2].push(le[me]),this.$=le[me-2];break;case 68:this.$=le[me-1]+le[me];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:i,13:n},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:i,13:n},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:i,13:n},{1:[2,2]},{4:17,5:s,7:13,8:l,9:r,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:w,77:k,89:C,90:E},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:l,9:r,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:w,77:k,89:C,90:E},{4:17,5:s,7:43,8:l,9:r,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:w,77:k,89:C,90:E},{4:17,5:s,7:44,8:l,9:r,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:w,77:k,89:C,90:E},{4:17,5:s,7:45,8:l,9:r,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:w,77:k,89:C,90:E},{4:17,5:s,7:46,8:l,9:r,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:w,77:k,89:C,90:E},{4:17,5:s,7:47,8:l,9:r,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:w,77:k,89:C,90:E},{4:17,5:s,7:48,8:l,9:r,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:w,77:k,89:C,90:E},{4:17,5:s,7:49,8:l,9:r,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:w,77:k,89:C,90:E},{4:17,5:s,7:50,8:l,9:r,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:w,77:k,89:C,90:E},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(S,[2,17]),t(S,[2,18]),t(S,[2,19]),t(S,[2,20]),{30:60,33:62,75:L,89:C,90:E},{30:63,33:62,75:L,89:C,90:E},{30:64,33:62,75:L,89:C,90:E},t(M,[2,29]),t(M,[2,30]),t(M,[2,31]),t(M,[2,32]),t(M,[2,33]),t(M,[2,34]),t(I,[2,81]),t(I,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(A,[2,79]),t(A,[2,80]),{27:[1,67],29:[1,68]},t(A,[2,85]),t(A,[2,86]),{62:69,65:_,66:D,67:N,68:R,69:B,70:O,71:$},{62:77,65:_,66:D,67:N,68:R,69:B,70:O,71:$},{30:78,33:62,75:L,89:C,90:E},{73:79,75:z,76:F,78:81,79:82,80:V,81:H,82:X,83:W,84:Z,85:Y,86:ae,87:J,88:ee},t(re,[2,60]),t(re,[2,62]),{73:93,75:z,76:F,78:81,79:82,80:V,81:H,82:X,83:W,84:Z,85:Y,86:ae,87:J,88:ee},{30:94,33:62,75:L,76:F,89:C,90:E},{5:[1,95]},{30:96,33:62,75:L,89:C,90:E},{5:[1,97]},{30:98,33:62,75:L,89:C,90:E},{63:[1,99]},t(te,[2,50]),t(te,[2,51]),t(te,[2,52]),t(te,[2,53]),t(te,[2,54]),t(te,[2,55]),t(te,[2,56]),{64:[1,100]},t(S,[2,59],{76:F}),t(S,[2,64],{76:be}),{33:103,75:[1,102],89:C,90:E},t(de,[2,65],{79:104,75:z,80:V,81:H,82:X,83:W,84:Z,85:Y,86:ae,87:J,88:ee}),t(Ee,[2,67]),t(Ee,[2,69]),t(Ee,[2,70]),t(Ee,[2,71]),t(Ee,[2,72]),t(Ee,[2,73]),t(Ee,[2,74]),t(Ee,[2,75]),t(Ee,[2,76]),t(Ee,[2,77]),t(Ee,[2,78]),t(S,[2,57],{76:be}),t(S,[2,58],{76:F}),{5:Ne,28:105,31:we,34:Te,36:De,38:$e,40:pe},{27:[1,112],76:F},{5:Je,40:Ce,56:113,57:Fe,59:Ue},{27:[1,118],76:F},{33:119,89:C,90:E},{33:120,89:C,90:E},{75:z,78:121,79:82,80:V,81:H,82:X,83:W,84:Z,85:Y,86:ae,87:J,88:ee},t(re,[2,61]),t(re,[2,63]),t(Ee,[2,68]),t(S,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:Ne,28:126,31:we,34:Te,36:De,38:$e,40:pe},t(S,[2,28]),{5:[1,127]},t(S,[2,42]),{32:[1,128]},{32:[1,129]},{5:Je,40:Ce,56:130,57:Fe,59:Ue},t(S,[2,47]),{5:[1,131]},t(S,[2,48]),t(S,[2,49]),t(de,[2,66],{79:104,75:z,80:V,81:H,82:X,83:W,84:Z,85:Y,86:ae,87:J,88:ee}),{33:132,89:C,90:E},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(S,[2,27]),{5:Ne,28:145,31:we,34:Te,36:De,38:$e,40:pe},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(S,[2,46]),{5:Je,40:Ce,56:152,57:Fe,59:Ue},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(S,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(S,[2,43]),{5:Ne,28:159,31:we,34:Te,36:De,38:$e,40:pe},{5:Ne,28:160,31:we,34:Te,36:De,38:$e,40:pe},{5:Ne,28:161,31:we,34:Te,36:De,38:$e,40:pe},{5:Ne,28:162,31:we,34:Te,36:De,38:$e,40:pe},{5:Je,40:Ce,56:163,57:Fe,59:Ue},{5:Je,40:Ce,56:164,57:Fe,59:Ue},t(S,[2,23]),t(S,[2,24]),t(S,[2,25]),t(S,[2,26]),t(S,[2,44]),t(S,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:o(function(oe,U){if(U.recoverable)this.trace(oe);else{var ue=new Error(oe);throw ue.hash=U,ue}},"parseError"),parse:o(function(oe){var U=this,ue=[0],G=[],se=[null],le=[],ke=this.table,me="",ye=0,Re=0,ve=0,Oe=2,We=1,Be=le.slice.call(arguments,1),Qe=Object.create(this.lexer),ce={yy:{}};for(var it in this.yy)Object.prototype.hasOwnProperty.call(this.yy,it)&&(ce.yy[it]=this.yy[it]);Qe.setInput(oe,ce.yy),ce.yy.lexer=Qe,ce.yy.parser=this,typeof Qe.yylloc>"u"&&(Qe.yylloc={});var fe=Qe.yylloc;le.push(fe);var ut=Qe.options&&Qe.options.ranges;typeof ce.yy.parseError=="function"?this.parseError=ce.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nt(ir){ue.length=ue.length-2*ir,se.length=se.length-ir,le.length=le.length-ir}o(Nt,"popStack");function Pt(){var ir;return ir=G.pop()||Qe.lex()||We,typeof ir!="number"&&(ir instanceof Array&&(G=ir,ir=G.pop()),ir=U.symbols_[ir]||ir),ir}o(Pt,"lex");for(var St,It,ot,ct,Dt,kt,yt={},jt,hr,Qt,Er;;){if(ot=ue[ue.length-1],this.defaultActions[ot]?ct=this.defaultActions[ot]:((St===null||typeof St>"u")&&(St=Pt()),ct=ke[ot]&&ke[ot][St]),typeof ct>"u"||!ct.length||!ct[0]){var dr="";Er=[];for(jt in ke[ot])this.terminals_[jt]&&jt>Oe&&Er.push("'"+this.terminals_[jt]+"'");Qe.showPosition?dr="Parse error on line "+(ye+1)+`: -`+Qe.showPosition()+` -Expecting `+Er.join(", ")+", got '"+(this.terminals_[St]||St)+"'":dr="Parse error on line "+(ye+1)+": Unexpected "+(St==We?"end of input":"'"+(this.terminals_[St]||St)+"'"),this.parseError(dr,{text:Qe.match,token:this.terminals_[St]||St,line:Qe.yylineno,loc:fe,expected:Er})}if(ct[0]instanceof Array&&ct.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ot+", token: "+St);switch(ct[0]){case 1:ue.push(St),se.push(Qe.yytext),le.push(Qe.yylloc),ue.push(ct[1]),St=null,It?(St=It,It=null):(Re=Qe.yyleng,me=Qe.yytext,ye=Qe.yylineno,fe=Qe.yylloc,ve>0&&ve--);break;case 2:if(hr=this.productions_[ct[1]][1],yt.$=se[se.length-hr],yt._$={first_line:le[le.length-(hr||1)].first_line,last_line:le[le.length-1].last_line,first_column:le[le.length-(hr||1)].first_column,last_column:le[le.length-1].last_column},ut&&(yt._$.range=[le[le.length-(hr||1)].range[0],le[le.length-1].range[1]]),kt=this.performAction.apply(yt,[me,Re,ye,ce.yy,ct[1],se,le].concat(Be)),typeof kt<"u")return kt;hr&&(ue=ue.slice(0,-1*hr*2),se=se.slice(0,-1*hr),le=le.slice(0,-1*hr)),ue.push(this.productions_[ct[1]][0]),se.push(yt.$),le.push(yt._$),Qt=ke[ue[ue.length-2]][ue[ue.length-1]],ue.push(Qt);break;case 3:return!0}}return!0},"parse")},Me=(function(){var K={EOF:1,parseError:o(function(U,ue){if(this.yy.parser)this.yy.parser.parseError(U,ue);else throw new Error(U)},"parseError"),setInput:o(function(oe,U){return this.yy=U||this.yy||{},this._input=oe,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var oe=this._input[0];this.yytext+=oe,this.yyleng++,this.offset++,this.match+=oe,this.matched+=oe;var U=oe.match(/(?:\r\n?|\n).*/g);return U?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),oe},"input"),unput:o(function(oe){var U=oe.length,ue=oe.split(/(?:\r\n?|\n)/g);this._input=oe+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-U),this.offset-=U;var G=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ue.length-1&&(this.yylineno-=ue.length-1);var se=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ue?(ue.length===G.length?this.yylloc.first_column:0)+G[G.length-ue.length].length-ue[0].length:this.yylloc.first_column-U},this.options.ranges&&(this.yylloc.range=[se[0],se[0]+this.yyleng-U]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(oe){this.unput(this.match.slice(oe))},"less"),pastInput:o(function(){var oe=this.matched.substr(0,this.matched.length-this.match.length);return(oe.length>20?"...":"")+oe.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var oe=this.match;return oe.length<20&&(oe+=this._input.substr(0,20-oe.length)),(oe.substr(0,20)+(oe.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var oe=this.pastInput(),U=new Array(oe.length+1).join("-");return oe+this.upcomingInput()+` -`+U+"^"},"showPosition"),test_match:o(function(oe,U){var ue,G,se;if(this.options.backtrack_lexer&&(se={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(se.yylloc.range=this.yylloc.range.slice(0))),G=oe[0].match(/(?:\r\n?|\n).*/g),G&&(this.yylineno+=G.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:G?G[G.length-1].length-G[G.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+oe[0].length},this.yytext+=oe[0],this.match+=oe[0],this.matches=oe,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(oe[0].length),this.matched+=oe[0],ue=this.performAction.call(this,this.yy,this,U,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ue)return ue;if(this._backtrack){for(var le in se)this[le]=se[le];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var oe,U,ue,G;this._more||(this.yytext="",this.match="");for(var se=this._currentRules(),le=0;leU[0].length)){if(U=ue,G=le,this.options.backtrack_lexer){if(oe=this.test_match(ue,se[le]),oe!==!1)return oe;if(this._backtrack){U=!1;continue}else return!1}else if(!this.options.flex)break}return U?(oe=this.test_match(U,se[G]),oe!==!1?oe:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var U=this.next();return U||this.lex()},"lex"),begin:o(function(U){this.conditionStack.push(U)},"begin"),popState:o(function(){var U=this.conditionStack.length-1;return U>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(U){return U=this.conditionStack.length-1-Math.abs(U||0),U>=0?this.conditionStack[U]:"INITIAL"},"topState"),pushState:o(function(U){this.begin(U)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(U,ue,G,se){var le=se;switch(G){case 0:return"title";case 1:return this.begin("acc_title"),9;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),11;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;break;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;break;case 60:return this.begin("style"),74;break;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return ue.yytext=ue.yytext.trim(),89;break;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return K})();qe.lexer=Me;function He(){this.yy={}}return o(He,"Parser"),He.prototype=qe,qe.Parser=He,new He})();tU.parser=tU;h3e=tU});var b_,d3e=P(()=>{"use strict";Ut();bt();Ki();b_=class{constructor(){this.relations=[];this.latestRequirement=this.getInitialRequirement();this.requirements=new Map;this.latestElement=this.getInitialElement();this.elements=new Map;this.classes=new Map;this.direction="TB";this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"};this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"};this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"};this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"};this.setAccTitle=Ar;this.getAccTitle=Dr;this.setAccDescription=Lr;this.getAccDescription=Rr;this.setDiagramTitle=Mr;this.getDiagramTitle=Nr;this.getConfig=o(()=>ge().requirement,"getConfig");this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{o(this,"RequirementDB")}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,r){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:r,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){this.latestRequirement!==void 0&&(this.latestRequirement.requirementId=e)}setNewReqText(e){this.latestRequirement!==void 0&&(this.latestRequirement.text=e)}setNewReqRisk(e){this.latestRequirement!==void 0&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){this.latestRequirement!==void 0&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),Q.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){this.latestElement!==void 0&&(this.latestElement.type=e)}setNewElementDocRef(e){this.latestElement!==void 0&&(this.latestElement.docRef=e)}addRelationship(e,r,i){this.relations.push({type:e,src:r,dst:i})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,wr()}setCssStyle(e,r){for(let i of e){let n=this.requirements.get(i)??this.elements.get(i);if(!r||!n)return;for(let a of r)a.includes(",")?n.cssStyles.push(...a.split(",")):n.cssStyles.push(a)}}setClass(e,r){for(let i of e){let n=this.requirements.get(i)??this.elements.get(i);if(n)for(let a of r){n.classes.push(a);let s=this.classes.get(a)?.styles;s&&n.cssStyles.push(...s)}}}defineClass(e,r){for(let i of e){let n=this.classes.get(i);n===void 0&&(n={id:i,styles:[],textStyles:[]},this.classes.set(i,n)),r&&r.forEach(function(a){if(/color/.exec(a)){let s=a.replace("fill","bgFill");n.textStyles.push(s)}n.styles.push(a)}),this.requirements.forEach(a=>{a.classes.includes(i)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))}),this.elements.forEach(a=>{a.classes.includes(i)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){let e=ge(),r=[],i=[];for(let n of this.requirements.values()){let a=n;a.id=n.name,a.cssStyles=n.cssStyles,a.cssClasses=n.classes.join(" "),a.shape="requirementBox",a.look=e.look,a.colorIndex=r.length,r.push(a)}for(let n of this.elements.values()){let a=n;a.shape="requirementBox",a.look=e.look,a.id=n.name,a.cssStyles=n.cssStyles,a.cssClasses=n.classes.join(" "),a.colorIndex=r.length,r.push(a)}for(let n of this.relations){let a=0,s=n.type===this.Relationships.CONTAINS,l={id:`${n.src}-${n.dst}-${a}`,start:this.requirements.get(n.src)?.name??this.elements.get(n.src)?.name,end:this.requirements.get(n.dst)?.name??this.elements.get(n.dst)?.name,label:`<<${n.type}>>`,classes:"relationshipLine",style:["fill:none",s?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:s?"normal":"dashed",arrowTypeStart:s?"requirement_contains":"",arrowTypeEnd:s?"":"requirement_arrow",look:e.look,labelType:"markdown"};i.push(l),a++}return{nodes:r,edges:i,other:{},config:e,direction:this.getDirection()}}}});var Cht,wht,p3e,m3e=P(()=>{"use strict";Sr();Cht=o(t=>{let e=Lt(),{themeVariables:r,look:i}=e,{bkgColorArray:n,borderColorArray:a}=r;if(!a?.length)return"";let s="";for(let l=0;l{let e=Lt(),{look:r,themeVariables:i}=e,{requirementEdgeLabelBackground:n}=i;return` - ${Cht(t)} - marker { - fill: ${t.relationColor}; - stroke: ${t.relationColor}; - } - - marker.cross { - stroke: ${t.lineColor}; - } - - svg { - font-family: ${t.fontFamily}; - font-size: ${t.fontSize}; - } - - .reqBox { - fill: ${t.requirementBackground}; - fill-opacity: 1.0; - stroke: ${t.requirementBorderColor}; - stroke-width: ${t.requirementBorderSize}; - } - - .reqTitle, .reqLabel{ - fill: ${t.requirementTextColor}; - } - .reqLabelBox { - fill: ${t.relationLabelBackground}; - fill-opacity: 1.0; - } - - .req-title-line { - stroke: ${t.requirementBorderColor}; - stroke-width: ${t.requirementBorderSize}; - } - .relationshipLine { - stroke: ${t.relationColor}; - stroke-width: ${r==="neo"?t.strokeWidth:"1px"}; - } - .relationshipLabel { - fill: ${t.relationLabelColor}; - } - .edgeLabel { - background-color: ${t.edgeLabelBackground}; - } - .edgeLabel .label rect { - fill: ${t.edgeLabelBackground}; - } - .edgeLabel .label text { - fill: ${t.relationLabelColor}; - } - .divider { - stroke: ${t.nodeBorder}; - stroke-width: 1; - } - .label { - font-family: ${t.fontFamily}; - color: ${t.nodeTextColor||t.textColor}; - } - .label text,span { - fill: ${t.nodeTextColor||t.textColor}; - color: ${t.nodeTextColor||t.textColor}; - } - .labelBkg { - background-color: ${n??t.edgeLabelBackground}; - } - -`},"getStyles"),p3e=wht});var rU={};ur(rU,{draw:()=>Eht});var Eht,g3e=P(()=>{"use strict";Ut();bt();I0();Wd();Ud();er();Eht=o(async function(t,e,r,i){Q.info("REF0:"),Q.info("Drawing requirement diagram (unified)",e);let{securityLevel:n,state:a,layout:s,look:l}=ge(),u=i.db.getData(),h=Ol(e,n);u.type=i.type,u.layoutAlgorithm=Vu(s),u.nodeSpacing=a?.nodeSpacing??50,u.rankSpacing=a?.rankSpacing??50,u.markers=l==="neo"?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],u.diagramId=e,await Ul(u,h);let f=8;Kt.insertTitle(h,"requirementDiagramTitleText",a?.titleTopMargin??25,i.db.getDiagramTitle()),Ro(h,f,"requirementDiagram",a?.useMaxWidth??!0)},"draw")});var y3e={};ur(y3e,{diagram:()=>Sht});var Sht,v3e=P(()=>{"use strict";f3e();d3e();m3e();g3e();Sht={parser:h3e,get db(){return new b_},renderer:rU,styles:p3e}});var iU,T3e,k3e=P(()=>{"use strict";iU=(function(){var t=o(function(Re,ve,Oe,We){for(Oe=Oe||{},We=Re.length;We--;Oe[Re[We]]=ve);return Oe},"o"),e=[1,2],r=[1,3],i=[1,4],n=[2,4],a=[1,9],s=[1,11],l=[1,12],u=[1,14],h=[1,15],f=[1,17],d=[1,18],p=[1,19],m=[1,25],g=[1,26],y=[1,27],v=[1,28],x=[1,29],b=[1,30],T=[1,31],w=[1,32],k=[1,33],C=[1,34],E=[1,35],S=[1,36],L=[1,37],M=[1,38],I=[1,39],A=[1,40],_=[1,42],D=[1,43],N=[1,44],R=[1,45],B=[1,46],O=[1,47],$=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],z=[1,74],F=[1,80],V=[1,81],H=[1,82],X=[1,83],W=[1,84],Z=[1,85],Y=[1,86],ae=[1,87],J=[1,88],ee=[1,89],re=[1,90],te=[1,91],be=[1,92],de=[1,93],Ee=[1,94],Ne=[1,95],we=[1,96],Te=[1,97],De=[1,98],$e=[1,99],pe=[1,100],Je=[1,101],Ce=[1,102],Fe=[1,103],Ue=[1,104],qe=[1,105],Me=[2,78],He=[4,5,17,51,53,54],K=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],oe=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],U=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],ue=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],G=[5,52],se=[70,71,72,73],le=[1,151],ke={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:o(function(ve,Oe,We,Be,Qe,ce,it){var fe=ce.length-1;switch(Qe){case 3:return Be.apply(ce[fe]),ce[fe];break;case 4:case 10:this.$=[];break;case 5:case 11:ce[fe-1].push(ce[fe]),this.$=ce[fe-1];break;case 6:case 7:case 12:case 13:this.$=ce[fe];break;case 8:case 9:case 14:this.$=[];break;case 16:ce[fe].type="createParticipant",this.$=ce[fe];break;case 17:ce[fe-1].unshift({type:"boxStart",boxData:Be.parseBoxData(ce[fe-2])}),ce[fe-1].push({type:"boxEnd",boxText:ce[fe-2]}),this.$=ce[fe-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ce[fe-2]),sequenceIndexStep:Number(ce[fe-1]),sequenceVisible:!0,signalType:Be.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(ce[fe-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:Be.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:Be.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:Be.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:Be.LINETYPE.ACTIVE_START,actor:ce[fe-1].actor};break;case 24:this.$={type:"activeEnd",signalType:Be.LINETYPE.ACTIVE_END,actor:ce[fe-1].actor};break;case 30:Be.setDiagramTitle(ce[fe].substring(6)),this.$=ce[fe].substring(6);break;case 31:Be.setDiagramTitle(ce[fe].substring(7)),this.$=ce[fe].substring(7);break;case 32:this.$=ce[fe].trim(),Be.setAccTitle(this.$);break;case 33:case 34:this.$=ce[fe].trim(),Be.setAccDescription(this.$);break;case 35:ce[fe-1].unshift({type:"loopStart",loopText:Be.parseMessage(ce[fe-2]),signalType:Be.LINETYPE.LOOP_START}),ce[fe-1].push({type:"loopEnd",loopText:ce[fe-2],signalType:Be.LINETYPE.LOOP_END}),this.$=ce[fe-1];break;case 36:ce[fe-1].unshift({type:"rectStart",color:Be.parseMessage(ce[fe-2]),signalType:Be.LINETYPE.RECT_START}),ce[fe-1].push({type:"rectEnd",color:Be.parseMessage(ce[fe-2]),signalType:Be.LINETYPE.RECT_END}),this.$=ce[fe-1];break;case 37:ce[fe-1].unshift({type:"optStart",optText:Be.parseMessage(ce[fe-2]),signalType:Be.LINETYPE.OPT_START}),ce[fe-1].push({type:"optEnd",optText:Be.parseMessage(ce[fe-2]),signalType:Be.LINETYPE.OPT_END}),this.$=ce[fe-1];break;case 38:ce[fe-1].unshift({type:"altStart",altText:Be.parseMessage(ce[fe-2]),signalType:Be.LINETYPE.ALT_START}),ce[fe-1].push({type:"altEnd",signalType:Be.LINETYPE.ALT_END}),this.$=ce[fe-1];break;case 39:ce[fe-1].unshift({type:"parStart",parText:Be.parseMessage(ce[fe-2]),signalType:Be.LINETYPE.PAR_START}),ce[fe-1].push({type:"parEnd",signalType:Be.LINETYPE.PAR_END}),this.$=ce[fe-1];break;case 40:ce[fe-1].unshift({type:"parStart",parText:Be.parseMessage(ce[fe-2]),signalType:Be.LINETYPE.PAR_OVER_START}),ce[fe-1].push({type:"parEnd",signalType:Be.LINETYPE.PAR_END}),this.$=ce[fe-1];break;case 41:ce[fe-1].unshift({type:"criticalStart",criticalText:Be.parseMessage(ce[fe-2]),signalType:Be.LINETYPE.CRITICAL_START}),ce[fe-1].push({type:"criticalEnd",signalType:Be.LINETYPE.CRITICAL_END}),this.$=ce[fe-1];break;case 42:ce[fe-1].unshift({type:"breakStart",breakText:Be.parseMessage(ce[fe-2]),signalType:Be.LINETYPE.BREAK_START}),ce[fe-1].push({type:"breakEnd",optText:Be.parseMessage(ce[fe-2]),signalType:Be.LINETYPE.BREAK_END}),this.$=ce[fe-1];break;case 44:this.$=ce[fe-3].concat([{type:"option",optionText:Be.parseMessage(ce[fe-1]),signalType:Be.LINETYPE.CRITICAL_OPTION},ce[fe]]);break;case 46:this.$=ce[fe-3].concat([{type:"and",parText:Be.parseMessage(ce[fe-1]),signalType:Be.LINETYPE.PAR_AND},ce[fe]]);break;case 48:this.$=ce[fe-3].concat([{type:"else",altText:Be.parseMessage(ce[fe-1]),signalType:Be.LINETYPE.ALT_ELSE},ce[fe]]);break;case 49:ce[fe-3].draw="participant",ce[fe-3].type="addParticipant",ce[fe-3].description=Be.parseMessage(ce[fe-1]),this.$=ce[fe-3];break;case 50:ce[fe-1].draw="participant",ce[fe-1].type="addParticipant",this.$=ce[fe-1];break;case 51:ce[fe-3].draw="actor",ce[fe-3].type="addParticipant",ce[fe-3].description=Be.parseMessage(ce[fe-1]),this.$=ce[fe-3];break;case 52:case 57:ce[fe-1].draw="actor",ce[fe-1].type="addParticipant",this.$=ce[fe-1];break;case 53:ce[fe-1].type="destroyParticipant",this.$=ce[fe-1];break;case 54:ce[fe-3].draw="participant",ce[fe-3].type="addParticipant",ce[fe-3].description=Be.parseMessage(ce[fe-1]),this.$=ce[fe-3];break;case 55:ce[fe-1].draw="participant",ce[fe-1].type="addParticipant",this.$=ce[fe-1];break;case 56:ce[fe-3].draw="actor",ce[fe-3].type="addParticipant",ce[fe-3].description=Be.parseMessage(ce[fe-1]),this.$=ce[fe-3];break;case 58:this.$=[ce[fe-1],{type:"addNote",placement:ce[fe-2],actor:ce[fe-1].actor,text:ce[fe]}];break;case 59:ce[fe-2]=[].concat(ce[fe-1],ce[fe-1]).slice(0,2),ce[fe-2][0]=ce[fe-2][0].actor,ce[fe-2][1]=ce[fe-2][1].actor,this.$=[ce[fe-1],{type:"addNote",placement:Be.PLACEMENT.OVER,actor:ce[fe-2].slice(0,2),text:ce[fe]}];break;case 60:this.$=[ce[fe-1],{type:"addLinks",actor:ce[fe-1].actor,text:ce[fe]}];break;case 61:this.$=[ce[fe-1],{type:"addALink",actor:ce[fe-1].actor,text:ce[fe]}];break;case 62:this.$=[ce[fe-1],{type:"addProperties",actor:ce[fe-1].actor,text:ce[fe]}];break;case 63:this.$=[ce[fe-1],{type:"addDetails",actor:ce[fe-1].actor,text:ce[fe]}];break;case 66:this.$=[ce[fe-2],ce[fe]];break;case 67:this.$=ce[fe];break;case 68:this.$=Be.PLACEMENT.LEFTOF;break;case 69:this.$=Be.PLACEMENT.RIGHTOF;break;case 70:this.$=[ce[fe-4],ce[fe-1],{type:"addMessage",from:ce[fe-4].actor,to:ce[fe-1].actor,signalType:ce[fe-3],msg:ce[fe],activate:!0},{type:"activeStart",signalType:Be.LINETYPE.ACTIVE_START,actor:ce[fe-1].actor}];break;case 71:this.$=[ce[fe-4],ce[fe-1],{type:"addMessage",from:ce[fe-4].actor,to:ce[fe-1].actor,signalType:ce[fe-3],msg:ce[fe]},{type:"activeEnd",signalType:Be.LINETYPE.ACTIVE_END,actor:ce[fe-4].actor}];break;case 72:this.$=[ce[fe-4],ce[fe-1],{type:"addMessage",from:ce[fe-4].actor,to:ce[fe-1].actor,signalType:ce[fe-3],msg:ce[fe],activate:!0,centralConnection:Be.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:Be.LINETYPE.CENTRAL_CONNECTION,actor:ce[fe-1].actor}];break;case 73:this.$=[ce[fe-4],ce[fe-1],{type:"addMessage",from:ce[fe-4].actor,to:ce[fe-1].actor,signalType:ce[fe-2],msg:ce[fe],activate:!1,centralConnection:Be.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:Be.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ce[fe-4].actor}];break;case 74:this.$=[ce[fe-5],ce[fe-1],{type:"addMessage",from:ce[fe-5].actor,to:ce[fe-1].actor,signalType:ce[fe-3],msg:ce[fe],activate:!0,centralConnection:Be.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:Be.LINETYPE.CENTRAL_CONNECTION,actor:ce[fe-1].actor},{type:"centralConnectionReverse",signalType:Be.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:ce[fe-5].actor}];break;case 75:this.$=[ce[fe-3],ce[fe-1],{type:"addMessage",from:ce[fe-3].actor,to:ce[fe-1].actor,signalType:ce[fe-2],msg:ce[fe]}];break;case 76:this.$={type:"addParticipant",actor:ce[fe-1],config:ce[fe]};break;case 77:this.$=ce[fe-1].trim();break;case 78:this.$={type:"addParticipant",actor:ce[fe]};break;case 79:this.$=Be.LINETYPE.SOLID_OPEN;break;case 80:this.$=Be.LINETYPE.DOTTED_OPEN;break;case 81:this.$=Be.LINETYPE.SOLID;break;case 82:this.$=Be.LINETYPE.SOLID_TOP;break;case 83:this.$=Be.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=Be.LINETYPE.STICK_TOP;break;case 85:this.$=Be.LINETYPE.STICK_BOTTOM;break;case 86:this.$=Be.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=Be.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=Be.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=Be.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=Be.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=Be.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=Be.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=Be.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=Be.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=Be.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=Be.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=Be.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=Be.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=Be.LINETYPE.DOTTED;break;case 100:this.$=Be.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=Be.LINETYPE.SOLID_CROSS;break;case 102:this.$=Be.LINETYPE.DOTTED_CROSS;break;case 103:this.$=Be.LINETYPE.SOLID_POINT;break;case 104:this.$=Be.LINETYPE.DOTTED_POINT;break;case 105:this.$=Be.parseMessage(ce[fe].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:i},{1:[3]},{3:5,4:e,5:r,6:i},{3:6,4:e,5:r,6:i},t([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],n,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:w,40:k,42:C,44:E,45:S,47:L,51:M,53:I,54:A,56:_,61:D,62:N,63:R,64:B,73:O},t($,[2,5]),{9:48,13:13,14:u,15:h,18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:w,40:k,42:C,44:E,45:S,47:L,51:M,53:I,54:A,56:_,61:D,62:N,63:R,64:B,73:O},t($,[2,7]),t($,[2,8]),t($,[2,9]),t($,[2,15]),{13:49,51:M,53:I,54:A},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:O},{23:56,73:O},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},t($,[2,30]),t($,[2,31]),{33:[1,62]},{35:[1,63]},t($,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:z},{23:75,55:76,73:z},{23:77,73:O},{69:78,72:[1,79],78:F,79:V,80:H,81:X,82:W,83:Z,84:Y,85:ae,86:J,87:ee,88:re,89:te,90:be,91:de,92:Ee,93:Ne,94:we,95:Te,96:De,97:$e,98:pe,99:Je,100:Ce,101:Fe,102:Ue,103:qe},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:O},{23:111,73:O},{23:112,73:O},{23:113,73:O},t([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Me),t($,[2,6]),t($,[2,16]),t(He,[2,10],{11:114}),t($,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},t($,[2,22]),{5:[1,118]},{5:[1,119]},t($,[2,25]),t($,[2,26]),t($,[2,27]),t($,[2,28]),t($,[2,29]),t($,[2,32]),t($,[2,33]),t(K,n,{7:120}),t(K,n,{7:121}),t(K,n,{7:122}),t(oe,n,{41:123,7:124}),t(U,n,{43:125,7:126}),t(U,n,{7:126,43:127}),t(ue,n,{46:128,7:129}),t(K,n,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},t(G,Me,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:O},{69:146,78:F,79:V,80:H,81:X,82:W,83:Z,84:Y,85:ae,86:J,87:ee,88:re,89:te,90:be,91:de,92:Ee,93:Ne,94:we,95:Te,96:De,97:$e,98:pe,99:Je,100:Ce,101:Fe,102:Ue,103:qe},t(se,[2,79]),t(se,[2,80]),t(se,[2,81]),t(se,[2,82]),t(se,[2,83]),t(se,[2,84]),t(se,[2,85]),t(se,[2,86]),t(se,[2,87]),t(se,[2,88]),t(se,[2,89]),t(se,[2,90]),t(se,[2,91]),t(se,[2,92]),t(se,[2,93]),t(se,[2,94]),t(se,[2,95]),t(se,[2,96]),t(se,[2,97]),t(se,[2,98]),t(se,[2,99]),t(se,[2,100]),t(se,[2,101]),t(se,[2,102]),t(se,[2,103]),t(se,[2,104]),{23:147,73:O},{23:149,60:148,73:O},{73:[2,68]},{73:[2,69]},{58:150,104:le},{58:152,104:le},{58:153,104:le},{58:154,104:le},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:M,53:I,54:A},{5:[1,160]},t($,[2,20]),t($,[2,21]),t($,[2,23]),t($,[2,24]),{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[1,161],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:w,40:k,42:C,44:E,45:S,47:L,51:M,53:I,54:A,56:_,61:D,62:N,63:R,64:B,73:O},{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[1,162],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:w,40:k,42:C,44:E,45:S,47:L,51:M,53:I,54:A,56:_,61:D,62:N,63:R,64:B,73:O},{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[1,163],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:w,40:k,42:C,44:E,45:S,47:L,51:M,53:I,54:A,56:_,61:D,62:N,63:R,64:B,73:O},{17:[1,164]},{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[2,47],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:w,40:k,42:C,44:E,45:S,47:L,50:[1,165],51:M,53:I,54:A,56:_,61:D,62:N,63:R,64:B,73:O},{17:[1,166]},{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[2,45],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:w,40:k,42:C,44:E,45:S,47:L,49:[1,167],51:M,53:I,54:A,56:_,61:D,62:N,63:R,64:B,73:O},{17:[1,168]},{17:[1,169]},{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[2,43],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:w,40:k,42:C,44:E,45:S,47:L,48:[1,170],51:M,53:I,54:A,56:_,61:D,62:N,63:R,64:B,73:O},{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[1,171],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:w,40:k,42:C,44:E,45:S,47:L,51:M,53:I,54:A,56:_,61:D,62:N,63:R,64:B,73:O},{16:[1,172]},t($,[2,50]),{16:[1,173]},t($,[2,55]),t(G,[2,76]),{76:[1,174]},{16:[1,175]},t($,[2,52]),{16:[1,176]},t($,[2,57]),t($,[2,53]),{23:177,73:O},{23:178,73:O},{23:179,73:O},{58:180,104:le},{23:181,72:[1,182],73:O},{58:183,104:le},{58:184,104:le},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},t($,[2,17]),t(He,[2,11]),{13:186,51:M,53:I,54:A},t(He,[2,13]),t(He,[2,14]),t($,[2,19]),t($,[2,35]),t($,[2,36]),t($,[2,37]),t($,[2,38]),{16:[1,187]},t($,[2,39]),{16:[1,188]},t($,[2,40]),t($,[2,41]),{16:[1,189]},t($,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:le},{58:196,104:le},{58:197,104:le},{5:[2,75]},{58:198,104:le},{23:199,73:O},{5:[2,58]},{5:[2,59]},{23:200,73:O},t(He,[2,12]),t(oe,n,{7:124,41:201}),t(U,n,{7:126,43:202}),t(ue,n,{7:129,46:203}),t($,[2,49]),t($,[2,54]),t(G,[2,77]),t($,[2,51]),t($,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:le},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:o(function(ve,Oe){if(Oe.recoverable)this.trace(ve);else{var We=new Error(ve);throw We.hash=Oe,We}},"parseError"),parse:o(function(ve){var Oe=this,We=[0],Be=[],Qe=[null],ce=[],it=this.table,fe="",ut=0,Nt=0,Pt=0,St=2,It=1,ot=ce.slice.call(arguments,1),ct=Object.create(this.lexer),Dt={yy:{}};for(var kt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,kt)&&(Dt.yy[kt]=this.yy[kt]);ct.setInput(ve,Dt.yy),Dt.yy.lexer=ct,Dt.yy.parser=this,typeof ct.yylloc>"u"&&(ct.yylloc={});var yt=ct.yylloc;ce.push(yt);var jt=ct.options&&ct.options.ranges;typeof Dt.yy.parseError=="function"?this.parseError=Dt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function hr(Ir){We.length=We.length-2*Ir,Qe.length=Qe.length-Ir,ce.length=ce.length-Ir}o(hr,"popStack");function Qt(){var Ir;return Ir=Be.pop()||ct.lex()||It,typeof Ir!="number"&&(Ir instanceof Array&&(Be=Ir,Ir=Be.pop()),Ir=Oe.symbols_[Ir]||Ir),Ir}o(Qt,"lex");for(var Er,dr,ir,pr,Ii,xt,Ie={},ft,_t,zr,ri;;){if(ir=We[We.length-1],this.defaultActions[ir]?pr=this.defaultActions[ir]:((Er===null||typeof Er>"u")&&(Er=Qt()),pr=it[ir]&&it[ir][Er]),typeof pr>"u"||!pr.length||!pr[0]){var ci="";ri=[];for(ft in it[ir])this.terminals_[ft]&&ft>St&&ri.push("'"+this.terminals_[ft]+"'");ct.showPosition?ci="Parse error on line "+(ut+1)+`: -`+ct.showPosition()+` -Expecting `+ri.join(", ")+", got '"+(this.terminals_[Er]||Er)+"'":ci="Parse error on line "+(ut+1)+": Unexpected "+(Er==It?"end of input":"'"+(this.terminals_[Er]||Er)+"'"),this.parseError(ci,{text:ct.match,token:this.terminals_[Er]||Er,line:ct.yylineno,loc:yt,expected:ri})}if(pr[0]instanceof Array&&pr.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ir+", token: "+Er);switch(pr[0]){case 1:We.push(Er),Qe.push(ct.yytext),ce.push(ct.yylloc),We.push(pr[1]),Er=null,dr?(Er=dr,dr=null):(Nt=ct.yyleng,fe=ct.yytext,ut=ct.yylineno,yt=ct.yylloc,Pt>0&&Pt--);break;case 2:if(_t=this.productions_[pr[1]][1],Ie.$=Qe[Qe.length-_t],Ie._$={first_line:ce[ce.length-(_t||1)].first_line,last_line:ce[ce.length-1].last_line,first_column:ce[ce.length-(_t||1)].first_column,last_column:ce[ce.length-1].last_column},jt&&(Ie._$.range=[ce[ce.length-(_t||1)].range[0],ce[ce.length-1].range[1]]),xt=this.performAction.apply(Ie,[fe,Nt,ut,Dt.yy,pr[1],Qe,ce].concat(ot)),typeof xt<"u")return xt;_t&&(We=We.slice(0,-1*_t*2),Qe=Qe.slice(0,-1*_t),ce=ce.slice(0,-1*_t)),We.push(this.productions_[pr[1]][0]),Qe.push(Ie.$),ce.push(Ie._$),zr=it[We[We.length-2]][We[We.length-1]],We.push(zr);break;case 3:return!0}}return!0},"parse")},me=(function(){var Re={EOF:1,parseError:o(function(Oe,We){if(this.yy.parser)this.yy.parser.parseError(Oe,We);else throw new Error(Oe)},"parseError"),setInput:o(function(ve,Oe){return this.yy=Oe||this.yy||{},this._input=ve,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var ve=this._input[0];this.yytext+=ve,this.yyleng++,this.offset++,this.match+=ve,this.matched+=ve;var Oe=ve.match(/(?:\r\n?|\n).*/g);return Oe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ve},"input"),unput:o(function(ve){var Oe=ve.length,We=ve.split(/(?:\r\n?|\n)/g);this._input=ve+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Oe),this.offset-=Oe;var Be=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),We.length-1&&(this.yylineno-=We.length-1);var Qe=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:We?(We.length===Be.length?this.yylloc.first_column:0)+Be[Be.length-We.length].length-We[0].length:this.yylloc.first_column-Oe},this.options.ranges&&(this.yylloc.range=[Qe[0],Qe[0]+this.yyleng-Oe]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(ve){this.unput(this.match.slice(ve))},"less"),pastInput:o(function(){var ve=this.matched.substr(0,this.matched.length-this.match.length);return(ve.length>20?"...":"")+ve.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var ve=this.match;return ve.length<20&&(ve+=this._input.substr(0,20-ve.length)),(ve.substr(0,20)+(ve.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var ve=this.pastInput(),Oe=new Array(ve.length+1).join("-");return ve+this.upcomingInput()+` -`+Oe+"^"},"showPosition"),test_match:o(function(ve,Oe){var We,Be,Qe;if(this.options.backtrack_lexer&&(Qe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Qe.yylloc.range=this.yylloc.range.slice(0))),Be=ve[0].match(/(?:\r\n?|\n).*/g),Be&&(this.yylineno+=Be.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Be?Be[Be.length-1].length-Be[Be.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ve[0].length},this.yytext+=ve[0],this.match+=ve[0],this.matches=ve,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ve[0].length),this.matched+=ve[0],We=this.performAction.call(this,this.yy,this,Oe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),We)return We;if(this._backtrack){for(var ce in Qe)this[ce]=Qe[ce];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ve,Oe,We,Be;this._more||(this.yytext="",this.match="");for(var Qe=this._currentRules(),ce=0;ceOe[0].length)){if(Oe=We,Be=ce,this.options.backtrack_lexer){if(ve=this.test_match(We,Qe[ce]),ve!==!1)return ve;if(this._backtrack){Oe=!1;continue}else return!1}else if(!this.options.flex)break}return Oe?(ve=this.test_match(Oe,Qe[Be]),ve!==!1?ve:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Oe=this.next();return Oe||this.lex()},"lex"),begin:o(function(Oe){this.conditionStack.push(Oe)},"begin"),popState:o(function(){var Oe=this.conditionStack.length-1;return Oe>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(Oe){return Oe=this.conditionStack.length-1-Math.abs(Oe||0),Oe>=0?this.conditionStack[Oe]:"INITIAL"},"topState"),pushState:o(function(Oe){this.begin(Oe)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(Oe,We,Be,Qe){var ce=Qe;switch(Be){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;break;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;break;case 10:return this.popState(),this.popState(),77;break;case 11:return We.yytext=We.yytext.trim(),73;break;case 12:return We.yytext=We.yytext.trim(),this.begin("ALIAS"),73;break;case 13:return We.yytext=We.yytext.trim(),this.popState(),73;break;case 14:return this.popState(),10;break;case 15:return We.yytext=We.yytext.trim(),this.popState(),10;break;case 16:return this.begin("LINE"),15;break;case 17:return this.begin("ID"),51;break;case 18:return this.begin("ID"),53;break;case 19:return 14;case 20:return this.begin("ID"),54;break;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;break;case 22:return this.popState(),this.popState(),5;break;case 23:return this.begin("LINE"),37;break;case 24:return this.begin("LINE"),38;break;case 25:return this.begin("LINE"),39;break;case 26:return this.begin("LINE"),40;break;case 27:return this.begin("LINE"),50;break;case 28:return this.begin("LINE"),42;break;case 29:return this.begin("LINE"),44;break;case 30:return this.begin("LINE"),49;break;case 31:return this.begin("LINE"),45;break;case 32:return this.begin("LINE"),48;break;case 33:return this.begin("LINE"),47;break;case 34:return this.popState(),16;break;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;break;case 45:return this.begin("ID"),24;break;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;break;case 49:return this.popState(),"acc_title_value";break;case 50:return this.begin("acc_descr"),34;break;case 51:return this.popState(),"acc_descr_value";break;case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 59:return 5;case 60:return We.yytext=We.yytext.trim(),73;break;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:return 104;case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 92:return 5;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0}}};return Re})();ke.lexer=me;function ye(){this.yy={}}return o(ye,"Parser"),ye.prototype=ke,ke.Parser=ye,new ye})();iU.parser=iU;T3e=iU});var Lht,Rht,Nht,NC,T_,nU=P(()=>{"use strict";Ut();xb();bt();J7();Vr();Ki();Lht={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},Rht={FILLED:0,OPEN:1},Nht={LEFTOF:0,RIGHTOF:1,OVER:2},NC={ACTOR:"actor",BOUNDARY:"boundary",COLLECTIONS:"collections",CONTROL:"control",DATABASE:"database",ENTITY:"entity",PARTICIPANT:"participant",QUEUE:"queue"},T_=class{constructor(){this.state=new Cp(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0}));this.setAccTitle=Ar;this.setAccDescription=Lr;this.setDiagramTitle=Mr;this.getAccTitle=Dr;this.getAccDescription=Rr;this.getDiagramTitle=Nr;this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(ge().wrap),this.LINETYPE=Lht,this.ARROWTYPE=Rht,this.PLACEMENT=Nht}static{o(this,"SequenceDB")}addBox(e){this.state.records.boxes.push({name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(e,r,i,n,a){let s=this.state.records.currentBox,l;if(a!==void 0){let h;a.includes(` -`)?h=a+` -`:h=`{ -`+a+` -}`,l=ud(h,{schema:cd})}n=l?.type??n,l?.alias&&(!i||i.text===r)&&(i={text:l.alias,wrap:i?.wrap,type:n});let u=this.state.records.actors.get(e);if(u){if(this.state.records.currentBox&&u.box&&this.state.records.currentBox!==u.box)throw new Error(`A same participant should only be defined in one Box: ${u.name} can't be in '${u.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(s=u.box?u.box:this.state.records.currentBox,u.box=s,u&&r===u.name&&i==null)return}if(i?.text==null&&(i={text:r,type:n}),(n==null||i.text==null)&&(i={text:r,type:n}),this.state.records.actors.set(e,{box:s,name:r,description:i.text,wrap:i.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:n??"participant"}),this.state.records.prevActor){let h=this.state.records.actors.get(this.state.records.prevActor);h&&(h.nextActor=e)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(e),this.state.records.prevActor=e}activationCount(e){let r,i=0;if(!e)return 0;for(r=0;r>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},u}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:r,message:i?.text??"",wrap:i?.wrap??this.autoWrap(),type:n,activate:a,centralConnection:s??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(e=>e.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(e){return this.state.records.actors.get(e)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(e){this.state.records.wrapEnabled=e}extractWrap(e){if(e===void 0)return{};e=e.trim();let r=/^:?wrap:/.exec(e)!==null?!0:/^:?nowrap:/.exec(e)!==null?!1:void 0;return{cleanedText:(r===void 0?e:e.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:r}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:ge().sequence?.wrap??!1}clear(){this.state.reset(),wr()}parseMessage(e){let r=e.trim(),{wrap:i,cleanedText:n}=this.extractWrap(r),a={text:n,wrap:i};return Q.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(e){let r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e),i=r?.[1]?r[1].trim():"transparent",n=r?.[2]?r[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",i)||(i="transparent",n=e.trim());else{let l=new Option().style;l.color=i,l.color!==i&&(i="transparent",n=e.trim())}let{wrap:a,cleanedText:s}=this.extractWrap(n);return{text:s?Tr(s,ge()):void 0,color:i,wrap:a}}addNote(e,r,i){let n={actor:e,placement:r,message:i.text,wrap:i.wrap??this.autoWrap()},a=[].concat(e,e);this.state.records.notes.push(n),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:a[0],to:a[1],message:i.text,wrap:i.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:r})}addLinks(e,r){let i=this.getActor(e);try{let n=Tr(r.text,ge());n=n.replace(/=/g,"="),n=n.replace(/&/g,"&");let a=JSON.parse(n);this.insertLinks(i,a)}catch(n){Q.error("error while parsing actor link text",n)}}addALink(e,r){let i=this.getActor(e);try{let n={},a=Tr(r.text,ge()),s=a.indexOf("@");a=a.replace(/=/g,"="),a=a.replace(/&/g,"&");let l=a.slice(0,s-1).trim(),u=a.slice(s+1).trim();n[l]=u,this.insertLinks(i,n)}catch(n){Q.error("error while parsing actor link text",n)}}insertLinks(e,r){if(e.links==null)e.links=r;else for(let i in r)e.links[i]=r[i]}addProperties(e,r){let i=this.getActor(e);try{let n=Tr(r.text,ge()),a=JSON.parse(n);this.insertProperties(i,a)}catch(n){Q.error("error while parsing actor properties text",n)}}insertProperties(e,r){if(e.properties==null)e.properties=r;else for(let i in r)e.properties[i]=r[i]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,r){let i=this.getActor(e),n=document.getElementById(r.text);try{let a=n.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(i,s.properties),s.links&&this.insertLinks(i,s.links)}catch(a){Q.error("error while parsing actor details text",a)}}getActorProperty(e,r){if(e?.properties!==void 0)return e.properties[r]}apply(e){if(Array.isArray(e))e.forEach(r=>{this.apply(r)});else switch(e.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(e.actor,e.actor,e.description,e.draw,e.config);break;case"createParticipant":if(this.state.records.actors.has(e.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=e.actor,this.addActor(e.actor,e.actor,e.description,e.draw,e.config),this.state.records.createdActors.set(e.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=e.actor,this.state.records.destroyedActors.set(e.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnection":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnectionReverse":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"activeEnd":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"addNote":this.addNote(e.actor,e.placement,e.text);break;case"addLinks":this.addLinks(e.actor,e.text);break;case"addALink":this.addALink(e.actor,e.text);break;case"addProperties":this.addProperties(e.actor,e.text);break;case"addDetails":this.addDetails(e.actor,e.text);break;case"addMessage":if(this.state.records.lastCreated){if(e.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(e.to!==this.state.records.lastDestroyed&&e.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate,e.centralConnection);break;case"boxStart":this.addBox(e.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"rectStart":this.addSignal(void 0,void 0,e.color,e.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":this.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"setAccTitle":Ar(e.text);break;case"parStart":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"and":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,e.criticalText,e.signalType);break;case"option":this.addSignal(void 0,void 0,e.optionText,e.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"breakStart":this.addSignal(void 0,void 0,e.breakText,e.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break}}getConfig(){return ge().sequence}}});var Iht,C3e,w3e=P(()=>{"use strict";Ut();Iht=o(t=>{let e=t.dropShadow??"none",{look:r}=ge();return`.actor { - stroke: ${t.actorBorder}; - fill: ${t.actorBkg}; - stroke-width: ${t.strokeWidth??1}; - } - - rect.actor.outer-path[data-look="neo"] { - filter: ${e}; - } - - rect.note[data-look="neo"] { - stroke:${t.noteBorderColor}; - fill:${t.noteBkgColor}; - filter: ${e}; - } - - text.actor > tspan { - fill: ${t.actorTextColor}; - stroke: none; - } - - .actor-line { - stroke: ${t.actorLineColor}; - } - - .innerArc { - stroke-width: 1.5; - stroke-dasharray: none; - } - - .messageLine0 { - stroke-width: 1.5; - stroke-dasharray: none; - stroke: ${t.signalColor}; - } - - .messageLine1 { - stroke-width: 1.5; - stroke-dasharray: 2, 2; - stroke: ${t.signalColor}; - } - - [id$="-arrowhead"] path { - fill: ${t.signalColor}; - stroke: ${t.signalColor}; - } - - .sequenceNumber { - fill: ${t.sequenceNumberColor}; - } - - [id$="-sequencenumber"] { - fill: ${t.signalColor}; - } - - [id$="-crosshead"] path { - fill: ${t.signalColor}; - stroke: ${t.signalColor}; - } - - .messageText { - fill: ${t.signalTextColor}; - stroke: none; - } - - .labelBox { - stroke: ${t.labelBoxBorderColor}; - fill: ${t.labelBoxBkgColor}; - filter: ${r==="neo"?e:"none"}; - } - - .labelText, .labelText > tspan { - fill: ${t.labelTextColor}; - stroke: none; - } - - .loopText, .loopText > tspan { - fill: ${t.loopTextColor}; - stroke: none; - } - - .loopLine { - stroke-width: 2px; - stroke-dasharray: 2, 2; - stroke: ${t.labelBoxBorderColor}; - fill: ${t.labelBoxBorderColor}; - } - - .note { - //stroke: #decc93; - stroke: ${t.noteBorderColor}; - fill: ${t.noteBkgColor}; - } - - .noteText, .noteText > tspan { - fill: ${t.noteTextColor}; - stroke: none; - ${t.noteFontWeight?`font-weight: ${t.noteFontWeight};`:""} - } - - .activation0 { - fill: ${t.activationBkgColor}; - stroke: ${t.activationBorderColor}; - } - - .activation1 { - fill: ${t.activationBkgColor}; - stroke: ${t.activationBorderColor}; - } - - .activation2 { - fill: ${t.activationBkgColor}; - stroke: ${t.activationBorderColor}; - } - - .actorPopupMenu { - position: absolute; - } - - .actorPopupMenuPanel { - position: absolute; - fill: ${t.actorBkg}; - box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); - filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); -} - .actor-man circle, line { - fill: ${t.actorBkg}; - stroke-width: 2px; - } - - g rect.rect { - filter: ${e}; - stroke: ${t.nodeBorder}; - } -`},"getStyles"),C3e=Iht});var aU,Sp,Ap,_p,k_,lg,Cf,IC,Mht,C_,MC,cg,E3e,ei,sU,Oht,Pht,Bht,Fht,$ht,zht,Ght,Vht,qht,Wht,Uht,Hht,Yht,S3e,jht,Xht,Kht,Qht,Zht,Jht,eft,tft,A3e,rft,wf,ift,nft,aft,sft,oft,Hi,_3e=P(()=>{"use strict";aU=Wa(s1(),1);Sr();er();Vr();y0();Sp=36,Ap="actor-top",_p="actor-bottom",k_="actor-box",lg="actor-man",Cf=new Set(["redux-color","redux-dark-color"]),IC=o(function(t,e){let r=g0(t,e);return Lt().look==="neo"&&r.attr("data-look","neo"),r},"drawRect"),Mht=o(function(t,e,r,i,n){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};let a=e.links,s=e.actorCnt,l=e.rectData;var u="none";n&&(u="block !important");let h=t.append("g");h.attr("id","actor"+s+"_popup"),h.attr("class","actorPopupMenu"),h.attr("display",u);var f="";l.class!==void 0&&(f=" "+l.class);let d=l.width>r?l.width:r,p=h.append("rect");if(p.attr("class","actorPopupMenuPanel"+f),p.attr("x",l.x),p.attr("y",l.height),p.attr("fill",l.fill),p.attr("stroke",l.stroke),p.attr("width",d),p.attr("height",l.height),p.attr("rx",l.rx),p.attr("ry",l.ry),a!=null){var m=20;for(let v in a){var g=h.append("a"),y=(0,aU.sanitizeUrl)(a[v]);g.attr("xlink:href",y),g.attr("target","_blank"),ift(i)(v,g,l.x+10,l.height+m,d,20,{class:"actor"},i),m+=30}}return p.attr("height",m),{height:l.height+m,width:d}},"drawPopup"),C_=o(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),MC=o(async function(t,e,r=null){let i=t.append("foreignObject"),n=await Rg(e.text,Lt()),s=i.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(n).node().getBoundingClientRect();if(i.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){let l=t.node().firstChild;l.setAttribute("height",s.height+2*e.textMargin);let u=l.getBBox();i.attr("x",Math.round(u.x+u.width/2-s.width/2)).attr("y",Math.round(u.y+u.height/2-s.height/2))}else if(r){let{startx:l,stopx:u,starty:h}=r;if(l>u){let f=l;l=u,u=f}i.attr("x",Math.round(l+Math.abs(l-u)/2-s.width/2)),e.class==="loopText"?i.attr("y",Math.round(h)):i.attr("y",Math.round(h-s.height))}return[i]},"drawKatex"),cg=o(function(t,e){let r=0,i=0,n=e.text.split(lt.lineBreakRegex),[a,s]=$s(e.fontSize),l=[],u=0,h=o(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":h=o(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":h=o(()=>Math.round(e.y+(r+i+e.textMargin)/2),"yfunc");break;case"bottom":case"end":h=o(()=>Math.round(e.y+(r+i+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[f,d]of n.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(u=f*a);let p=t.append("text");p.attr("x",e.x),p.attr("y",h()),e.anchor!==void 0&&p.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&p.style("font-family",e.fontFamily),s!==void 0&&p.style("font-size",s),e.fontWeight!==void 0&&p.style("font-weight",e.fontWeight),e.fill!==void 0&&p.attr("fill",e.fill),e.class!==void 0&&p.attr("class",e.class),e.dy!==void 0?p.attr("dy",e.dy):u!==0&&p.attr("dy",u);let m=d||gI;if(e.tspan){let g=p.append("tspan");g.attr("x",e.x),e.fill!==void 0&&g.attr("fill",e.fill),g.text(m)}else p.text(m);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(i+=(p._groups||p)[0][0].getBBox().height,r=i),l.push(p)}return l},"drawText"),E3e=o(function(t,e){function r(n,a,s,l,u){return n+","+a+" "+(n+s)+","+a+" "+(n+s)+","+(a+l-u)+" "+(n+s-u*1.2)+","+(a+l)+" "+n+","+(a+l)}o(r,"genPoints");let i=t.append("polygon");return i.attr("points",r(e.x,e.y,e.width,e.height,7)),i.attr("class","labelBox"),e.y=e.y+e.height/2,cg(t,e),i},"drawLabel"),ei=-1,sU=o((t,e,r,i)=>{t.select&&r.forEach(n=>{let a=e.get(n),s=t.select("#actor"+a.actorCnt);!i.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):i.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),Oht=o(function(t,e,r,i,n){let a=i?e.stopy:e.starty,s=e.x+e.width/2,l=a+e.height,{look:u,theme:h,themeVariables:f}=r,{bkgColorArray:d,borderColorArray:p}=f,m=t.append("g").lower();var g=m;i||(ei++,Object.keys(e.links||{}).length&&!r.forceMenus&&g.attr("onclick",C_(`actor${ei}_popup`)).attr("cursor","pointer"),g.append("line").attr("id","actor"+ei).attr("x1",s).attr("y1",l).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),g=m.append("g"),e.actorCnt=ei,e.links!=null&&g.attr("id","root-"+ei),u==="neo"&&g.attr("data-look","neo"));let y=ja();var v="actor";e.properties?.class?v=e.properties.class:y.fill="#eaeaea",i?v+=` ${_p}`:v+=` ${Ap}`,y.x=e.x,y.y=a,y.width=e.width,y.height=e.height,y.class=v,y.rx=3,y.ry=3,y.name=e.name,u==="neo"&&(y.rx=6,y.ry=6);let x=IC(g,y),b=n.get(e.name)??0;if(Cf.has(h)&&(x.style("stroke",p[b%p.length]),x.style("fill",d[b%p.length])),u==="neo"&&x.attr("filter","url(#drop-shadow)"),e.rectData=y,e.properties?.icon){let w=e.properties.icon.trim();w.charAt(0)==="@"?w3(g,y.x+y.width-20,y.y+10,w.substr(1)):C3(g,y.x+y.width-20,y.y+10,w)}i||(g.attr("data-et","participant"),g.attr("data-type","participant"),g.attr("data-id",e.name)),wf(r,sn(e.description))(e.description,g,y.x,y.y,y.width,y.height,{class:`actor ${k_}`},r);let T=e.height;if(x.node){let w=x.node().getBBox();e.height=w.height,T=w.height}return T},"drawActorTypeParticipant"),Pht=o(function(t,e,r,i,n){let a=i?e.stopy:e.starty,s=e.x+e.width/2,l=a+e.height,{look:u,theme:h,themeVariables:f}=r,{bkgColorArray:d,borderColorArray:p}=f,m=t.append("g").lower();var g=m;i||(ei++,Object.keys(e.links||{}).length&&!r.forceMenus&&g.attr("onclick",C_(`actor${ei}_popup`)).attr("cursor","pointer"),g.append("line").attr("id","actor"+ei).attr("x1",s).attr("y1",l).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),g=m.append("g"),e.actorCnt=ei,e.links!=null&&g.attr("id","root-"+ei),u==="neo"&&g.attr("data-look","neo"));let y=ja();var v="actor";e.properties?.class?v=e.properties.class:y.fill="#eaeaea",i?v+=` ${_p}`:v+=` ${Ap}`,y.x=e.x,y.y=a,y.width=e.width,y.height=e.height,y.class=v,y.name=e.name;let x=6,b={...y,x:y.x+-x,y:y.y+ +x,class:"actor"},T=IC(g,y),w=IC(g,b);e.rectData=y,u==="neo"&&g.attr("filter","url(#drop-shadow)");let k=n.get(e.name)??0;if(Cf.has(h)&&(T.style("stroke",p[k%p.length]),T.style("fill",d[k%p.length]),w.style("stroke",p[k%p.length]),w.style("fill",d[k%p.length])),e.properties?.icon){let E=e.properties.icon.trim();E.charAt(0)==="@"?w3(g,y.x+y.width-20,y.y+10,E.substr(1)):C3(g,y.x+y.width-20,y.y+10,E)}wf(r,sn(e.description))(e.description,g,y.x-x,y.y+x,y.width,y.height,{class:`actor ${k_}`},r);let C=e.height;if(T.node){let E=T.node().getBBox();e.height=E.height,C=E.height}return i||(g.attr("data-et","participant"),g.attr("data-type","collections"),g.attr("data-id",e.name)),C},"drawActorTypeCollections"),Bht=o(function(t,e,r,i,n){let a=i?e.stopy:e.starty,s=e.x+e.width/2,l=a+e.height,{look:u,theme:h,themeVariables:f}=r,{bkgColorArray:d,borderColorArray:p}=f,m=t.append("g").lower(),g=m;i||(ei++,Object.keys(e.links||{}).length&&!r.forceMenus&&g.attr("onclick",C_(`actor${ei}_popup`)).attr("cursor","pointer"),g.append("line").attr("id","actor"+ei).attr("x1",s).attr("y1",l).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),g=m.append("g"),e.actorCnt=ei,e.links!=null&&g.attr("id","root-"+ei),u==="neo"&&g.attr("data-look","neo"));let y=ja(),v="actor";e.properties?.class?v=e.properties.class:y.fill="#eaeaea",i?v+=` ${_p}`:v+=` ${Ap}`,g.attr("class",v),y.x=e.x,y.y=a,y.width=e.width,y.height=e.height,y.name=e.name;let x=y.height/2,b=x/(2.5+y.height/50),T=g.append("g"),w=g.append("g"),k=`M ${y.x},${y.y+x} - a ${b},${x} 0 0 0 0,${y.height} - h ${y.width-2*b} - a ${b},${x} 0 0 0 0,-${y.height} - Z - `;T.append("path").attr("d",k),w.append("path").attr("d",`M ${y.x},${y.y+x} - a ${b},${x} 0 0 0 0,${y.height}`),T.attr("transform",`translate(${b}, ${-(y.height/2)})`),w.attr("transform",`translate(${y.width-b}, ${-y.height/2})`),e.rectData=y,u==="neo"&&T.attr("filter","url(#drop-shadow)");let C=n.get(e.name)??0;if(Cf.has(h)&&(T.style("stroke",p[C%p.length]),T.style("fill",d[C%p.length]),w.style("stroke",p[C%p.length]),w.style("fill",d[C%p.length])),e.properties?.icon){let L=e.properties.icon.trim(),M=y.x+y.width-20,I=y.y+10;L.charAt(0)==="@"?w3(g,M,I,L.substr(1)):C3(g,M,I,L)}wf(r,sn(e.description))(e.description,g,y.x,y.y,y.width,y.height,{class:`actor ${k_}`},r);let E=e.height,S=T.select("path:last-child");if(S.node()){let L=S.node().getBBox();e.height=L.height,E=L.height}return i||(g.attr("data-et","participant"),g.attr("data-type","queue"),g.attr("data-id",e.name)),E},"drawActorTypeQueue"),Fht=o(function(t,e,r,i,n,a){let s=i?e.stopy:e.starty,l=e.x+e.width/2,u=s+75,{look:h,theme:f,themeVariables:d}=r,{bkgColorArray:p,borderColorArray:m,actorBorder:g,actorBkg:y}=d,v=t.append("g").lower();i||(ei++,v.append("line").attr("id","actor"+ei).attr("x1",l).attr("y1",u).attr("x2",l).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=ei);let x=t.append("g"),b=lg;i?b+=` ${_p}`:b+=` ${Ap}`,x.attr("class",b),x.attr("name",e.name);let T=ja();T.x=e.x,T.y=s,T.fill="#eaeaea",T.width=e.width,T.height=e.height,T.class="actor";let w=e.x+e.width/2,k=s+32,C=22;x.append("defs").append("marker").attr("id",n+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),x.append("circle").attr("cx",w).attr("cy",k).attr("r",C).attr("filter",`${h==="neo"?"url(#drop-shadow)":""}`),x.append("line").attr("marker-end","url(#"+n+"-filled-head-control)").attr("transform",`translate(${w}, ${k-C})`);let E=a.get(e.name)??0;Cf.has(f)?(x.style("stroke",m[E%m.length]),x.style("fill",p[E%m.length])):(x.style("stroke",g),x.style("fill",y));let S=x.node().getBBox();return e.height=S.height+2*(r?.sequence?.labelBoxHeight??0),wf(r,sn(e.description))(e.description,x,T.x,T.y+C+(i?5:12),T.width,T.height,{class:`actor ${lg}`},r),i||(x.attr("data-et","participant"),x.attr("data-type","control"),x.attr("data-id",e.name)),e.height},"drawActorTypeControl"),$ht=o(function(t,e,r,i,n){let a=i?e.stopy:e.starty,s=e.x+e.width/2,l=a+75,{look:u,theme:h,themeVariables:f}=r,{bkgColorArray:d,borderColorArray:p}=f,m=t.append("g").lower(),g=t.append("g"),y="actor";i?y+=` ${_p}`:y+=` ${Ap}`,g.attr("class",y),g.attr("name",e.name);let v=ja();v.x=e.x,v.y=a,v.fill="#eaeaea",v.width=e.width,v.height=e.height,v.class="actor";let x=e.x+e.width/2,b=a+(i?10:25),T=22;g.append("circle").attr("cx",x).attr("cy",b).attr("r",T).attr("width",e.width).attr("height",e.height),g.append("line").attr("x1",x-T).attr("x2",x+T).attr("y1",b+T).attr("y2",b+T).attr("stroke-width",2),u==="neo"&&g.attr("filter","url(#drop-shadow)");let w=n.get(e.name)??0;Cf.has(h)&&(g.style("stroke",p[w%p.length]),g.style("fill",d[w%p.length]));let k=g.node().getBBox();return e.height=k.height+(r?.sequence?.labelBoxHeight??0),i||(ei++,m.append("line").attr("id","actor"+ei).attr("x1",s).attr("y1",l).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=ei),wf(r,sn(e.description))(e.description,g,v.x,v.y+(i?15:30),v.width,v.height,{class:`actor ${lg}`},r),i?g.attr("transform",`translate(0, ${T})`):(g.attr("transform",`translate(0, ${T/2-5})`),g.attr("data-et","participant"),g.attr("data-type","entity"),g.attr("data-id",e.name)),e.height},"drawActorTypeEntity"),zht=o(function(t,e,r,i,n){let a=i?e.stopy:e.starty,s=e.x+e.width/2,l=a+e.height+2*r.boxTextMargin,{theme:u,themeVariables:h,look:f}=r,{bkgColorArray:d,borderColorArray:p,actorBorder:m}=h,g=t.append("g").lower(),y=g;i||(ei++,Object.keys(e.links||{}).length&&!r.forceMenus&&y.attr("onclick",C_(`actor${ei}_popup`)).attr("cursor","pointer"),y.append("line").attr("id","actor"+ei).attr("x1",s).attr("y1",l).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),y=g.append("g"),e.actorCnt=ei,e.links!=null&&y.attr("id","root-"+ei),f==="neo"&&y.attr("data-look","neo"));let v=ja(),x="actor";e.properties?.class?x=e.properties.class:v.fill="#eaeaea",i?x+=` ${_p}`:x+=` ${Ap}`,v.x=e.x,v.y=a,v.width=e.width,v.height=e.height,v.class=x,v.name=e.name,v.x=e.x,v.y=a;let b=v.width/3,T=v.width/3,w=b/2,k=w/(2.5+b/50),C=y.append("g");C.attr("class",x);let E=` - M ${v.x},${v.y+k} - a ${w},${k} 0 0 0 ${b},0 - a ${w},${k} 0 0 0 -${b},0 - l 0,${T-2*k} - a ${w},${k} 0 0 0 ${b},0 - l 0,-${T-2*k} -`;C.append("path").attr("d",E),f==="neo"&&C.attr("filter","url(#drop-shadow)");let S=n.get(e.name)??0;Cf.has(u)?(C.style("stroke",p[S%p.length]),C.style("fill",d[S%p.length])):C.style("stroke",m),C.attr("transform",`translate(${b}, ${k})`),e.rectData=v,wf(r,sn(e.description))(e.description,y,v.x,v.y+35,v.width,v.height,{class:`actor ${k_}`},r);let L=C.select("path:last-child");if(L.node()){let M=L.node().getBBox();e.height=M.height+(r.sequence.labelBoxHeight??0)}return i||(y.attr("data-et","participant"),y.attr("data-type","database"),y.attr("data-id",e.name)),e.height},"drawActorTypeDatabase"),Ght=o(function(t,e,r,i,n){let a=i?e.stopy:e.starty,s=e.x+e.width/2,l=a+80,u=22,h=t.append("g").lower(),{look:f,theme:d,themeVariables:p}=r,{bkgColorArray:m,borderColorArray:g,actorBorder:y}=p;i||(ei++,h.append("line").attr("id","actor"+ei).attr("x1",s).attr("y1",l).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=ei);let v=t.append("g"),x=lg;i?x+=` ${_p}`:x+=` ${Ap}`,v.attr("class",x),v.attr("name",e.name);let b=ja();b.x=e.x,b.y=a,b.fill="#eaeaea",b.width=e.width,b.height=e.height,b.class="actor",v.append("line").attr("id","actor-man-torso"+ei).attr("x1",e.x+e.width/2-u*2.5).attr("y1",a+12).attr("x2",e.x+e.width/2-15).attr("y2",a+12),v.append("line").attr("id","actor-man-arms"+ei).attr("x1",e.x+e.width/2-u*2.5).attr("y1",a+2).attr("x2",e.x+e.width/2-u*2.5).attr("y2",a+22),v.append("circle").attr("cx",e.x+e.width/2).attr("cy",a+12).attr("r",u),f==="neo"&&v.attr("filter","url(#drop-shadow)");let T=n.get(e.name)??0;Cf.has(d)?(v.style("stroke",g[T%g.length]),v.style("fill",m[T%g.length])):v.style("stroke",y);let w=v.node().getBBox();return e.height=w.height+(r.sequence.labelBoxHeight??0),wf(r,sn(e.description))(e.description,v,b.x,b.y+15,b.width,b.height,{class:`actor ${lg}`},r),v.attr("transform",`translate(0,${u/2+10})`),i||(v.attr("data-et","participant"),v.attr("data-type","boundary"),v.attr("data-id",e.name)),e.height},"drawActorTypeBoundary"),Vht=o(function(t,e,r,i,n){let a=i?e.stopy:e.starty,s=e.x+e.width/2,l=a+80,{look:u,theme:h,themeVariables:f}=r,{bkgColorArray:d,borderColorArray:p,actorBorder:m}=f,g=t.append("g").lower();i||(ei++,g.append("line").attr("id","actor"+ei).attr("x1",s).attr("y1",l).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=ei);let y=t.append("g"),v=lg;i?v+=` ${_p}`:v+=` ${Ap}`,y.attr("class",v),y.attr("name",e.name),i||y.attr("data-et","participant").attr("data-type","actor").attr("data-id",e.name);let x=u==="neo"?.5:1,b=u==="neo"?a+(1-x)*30:a;y.append("line").attr("id","actor-man-torso"+ei).attr("x1",s).attr("y1",b+25*x).attr("x2",s).attr("y2",b+45*x),y.append("line").attr("id","actor-man-arms"+ei).attr("x1",s-Sp/2*x).attr("y1",b+33*x).attr("x2",s+Sp/2*x).attr("y2",b+33*x),y.append("line").attr("x1",s-Sp/2*x).attr("y1",b+60*x).attr("x2",s).attr("y2",b+45*x),y.append("line").attr("x1",s).attr("y1",b+45*x).attr("x2",s+(Sp/2-2)*x).attr("y2",b+60*x);let T=y.append("circle");T.attr("cx",e.x+e.width/2),T.attr("cy",b+10*x),T.attr("r",15*x),T.attr("width",e.width*x),T.attr("height",e.height*x);let w=y.node().getBBox();e.height=w.height;let k=ja();k.x=e.x,k.y=b,k.fill="#eaeaea",k.width=e.width,k.height=e.height/x,k.class="actor",k.rx=3,k.ry=3;let C=n.get(e.name)??0;return Cf.has(h)?(y.style("stroke",p[C%p.length]),y.style("fill",d[C%p.length])):y.style("stroke",m),wf(r,sn(e.description))(e.description,y,k.x,b+35*x-(u==="neo"?10:0),k.width,k.height,{class:`actor ${lg}`},r),e.height},"drawActorTypeActor"),qht=o(async function(t,e,r,i,n,a,s){let l=s??new Map([...a.db.getActors().values()].map((u,h)=>[u.name,h]));switch(e.type){case"actor":return await Vht(t,e,r,i,l);case"participant":return await Oht(t,e,r,i,l);case"boundary":return await Ght(t,e,r,i,l);case"control":return await Fht(t,e,r,i,n,l);case"entity":return await $ht(t,e,r,i,l);case"database":return await zht(t,e,r,i,l);case"collections":return await Pht(t,e,r,i,l);case"queue":return await Bht(t,e,r,i,l)}},"drawActor"),Wht=o(function(t,e,r){let n=t.append("g");S3e(n,e),e.name&&wf(r)(e.name,n,e.x,e.y+r.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),n.lower()},"drawBox"),Uht=o(function(t){return t.append("g")},"anchorElement"),Hht=o(function(t,e,r,i,n,a,s){let{theme:l,themeVariables:u}=i,{bkgColorArray:h,borderColorArray:f,mainBkg:d}=u,p=ja(),m=e.anchored,g=e.actor;p.x=e.startx,p.y=e.starty,p.class="activation"+n%3,p.width=e.stopx-e.startx,p.height=r-e.starty;let y=IC(m,p),x=(s??new Map([...a.db.getActors().values()].map((b,T)=>[b.name,T]))).get(g)??0;Cf.has(l)&&(y.style("stroke",f[x%f.length]),y.style("fill",h[x%f.length]??d))},"drawActivation"),Yht=o(async function(t,e,r,i,n){let{boxMargin:a,boxTextMargin:s,labelBoxHeight:l,labelBoxWidth:u,messageFontFamily:h,messageFontSize:f,messageFontWeight:d}=i,p=t.append("g").attr("data-et","control-structure").attr("data-id","i"+n.id),m=o(function(v,x,b,T){return p.append("line").attr("x1",v).attr("y1",x).attr("x2",b).attr("y2",T).attr("class","loopLine")},"drawLoopLine");m(e.startx,e.starty,e.stopx,e.starty),m(e.stopx,e.starty,e.stopx,e.stopy),m(e.startx,e.stopy,e.stopx,e.stopy),m(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(v){m(e.startx,v.y,e.stopx,v.y).style("stroke-dasharray","3, 3")});let g=J2();g.text=r,g.x=e.startx,g.y=e.starty,g.fontFamily=h,g.fontSize=f,g.fontWeight=d,g.anchor="middle",g.valign="middle",g.tspan=!1,g.width=Math.max(u??0,50),g.height=l+(i.look==="neo"?15:0)||20,g.textMargin=s,g.class="labelText",E3e(p,g),g=A3e(),g.text=e.title,g.x=e.startx+u/2+(e.stopx-e.startx)/2,g.y=e.starty+a+s,g.anchor="middle",g.valign="middle",g.textMargin=s,g.class="loopText",g.fontFamily=h,g.fontSize=f,g.fontWeight=d,g.wrap=!0;let y=sn(g.text)?await MC(p,g,e):cg(p,g);if(e.sectionTitles!==void 0){for(let[v,x]of Object.entries(e.sectionTitles))if(x.message){g.text=x.message,g.x=e.startx+(e.stopx-e.startx)/2,g.y=e.sections[v].y+a+s,g.class="loopText",g.anchor="middle",g.valign="middle",g.tspan=!1,g.fontFamily=h,g.fontSize=f,g.fontWeight=d,g.wrap=e.wrap,sn(g.text)?(e.starty=e.sections[v].y,await MC(p,g,e)):cg(p,g);let b=Math.round(y.map(T=>(T._groups||T)[0][0].getBBox().height).reduce((T,w)=>T+w));e.sections[v].height+=b-(a+s)}}return e.height=Math.round(e.stopy-e.starty),p},"drawLoop"),S3e=o(function(t,e){k3(t,e)},"drawBackgroundRect"),jht=o(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),Xht=o(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),Kht=o(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),Qht=o(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),Zht=o(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),Jht=o(function(t,e){t.append("defs").append("marker").attr("id",e+"-sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),eft=o(function(t,e){t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),tft=o(function(t,e){let{theme:r}=e;t.append("defs").append("filter").attr("id","drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${r==="redux"||r==="redux-color"?"#000000":"#FFFFFF"}`)},"insertDropShadow"),A3e=o(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),rft=o(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),wf=(function(){function t(a,s,l,u,h,f,d){let p=s.append("text").attr("x",l+h/2).attr("y",u+f/2+5).style("text-anchor","middle").text(a);n(p,d)}o(t,"byText");function e(a,s,l,u,h,f,d,p){let{actorFontSize:m,actorFontFamily:g,actorFontWeight:y}=p,[v,x]=$s(m),b=a.split(lt.lineBreakRegex);for(let T=0;T{let s=ug(Ve),l=a.actorKeys.reduce((d,p)=>d+=t.get(p).width+(t.get(p).margin||0),0),u=Ve.boxMargin*8;l+=u,l-=2*Ve.boxTextMargin,a.wrap&&(a.name=Kt.wrapLabel(a.name,l-2*Ve.wrapPadding,s));let h=Kt.calculateTextDimensions(a.name,s);n=lt.getMax(h.height,n);let f=lt.getMax(l,h.width+2*Ve.wrapPadding);if(a.margin=Ve.boxTextMargin,la.textMaxHeight=n),lt.getMax(i,Ve.height)}var Ve,pt,lft,D3e,ug,ex,lU,uft,hft,cU,R3e,N3e,w_,L3e,dft,mft,yft,vft,xft,oU,bft,I3e,Tft,kft,Cft,M3e,O3e=P(()=>{"use strict";Pr();_3e();bt();Vr();Vr();y0();Ut();kg();er();Xi();nU();Ve={},pt={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:o(function(){return Math.max.apply(null,this.actors.length===0?[0]:this.actors.map(t=>t.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:o(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:o(function(t){this.boxes.push(t)},"addBox"),addActor:o(function(t){this.actors.push(t)},"addActor"),addLoop:o(function(t){this.loops.push(t)},"addLoop"),addMessage:o(function(t){this.messages.push(t)},"addMessage"),addNote:o(function(t){this.notes.push(t)},"addNote"),lastActor:o(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:o(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:o(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:o(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:o(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,N3e(ge())},"init"),updateVal:o(function(t,e,r,i){t[e]===void 0?t[e]=r:t[e]=i(r,t[e])},"updateVal"),updateBounds:o(function(t,e,r,i){let n=this,a=0;function s(l){return o(function(h){a++;let f=n.sequenceItems.length-a+1;n.updateVal(h,"starty",e-f*Ve.boxMargin,Math.min),n.updateVal(h,"stopy",i+f*Ve.boxMargin,Math.max),n.updateVal(pt.data,"startx",t-f*Ve.boxMargin,Math.min),n.updateVal(pt.data,"stopx",r+f*Ve.boxMargin,Math.max),l!=="activation"&&(n.updateVal(h,"startx",t-f*Ve.boxMargin,Math.min),n.updateVal(h,"stopx",r+f*Ve.boxMargin,Math.max),n.updateVal(pt.data,"starty",e-f*Ve.boxMargin,Math.min),n.updateVal(pt.data,"stopy",i+f*Ve.boxMargin,Math.max))},"updateItemBounds")}o(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:o(function(t,e,r,i){let n=lt.getMin(t,r),a=lt.getMax(t,r),s=lt.getMin(e,i),l=lt.getMax(e,i);this.updateVal(pt.data,"startx",n,Math.min),this.updateVal(pt.data,"starty",s,Math.min),this.updateVal(pt.data,"stopx",a,Math.max),this.updateVal(pt.data,"stopy",l,Math.max),this.updateBounds(n,s,a,l)},"insert"),newActivation:o(function(t,e,r){let i=r.get(t.from),n=w_(t.from).length||0,a=i.x+i.width/2+(n-1)*Ve.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Ve.activationWidth,stopy:void 0,actor:t.from,anchored:Hi.anchorElement(e)})},"newActivation"),endActivation:o(function(t){let e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:o(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:o(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:o(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:o(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:o(function(t){let e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:pt.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:o(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:o(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:o(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=lt.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return{bounds:this.data,models:this.models}},"getBounds")},lft=o(async function(t,e,r){pt.bumpVerticalPos(Ve.boxMargin),e.height=Ve.boxMargin,e.starty=pt.getVerticalPos();let i=ja();i.x=e.startx,i.y=e.starty,i.width=e.width||Ve.width,i.class="note";let n=t.append("g");n.attr("data-et","note"),n.attr("data-id","i"+r);let a=Hi.drawRect(n,i),s=J2();s.x=e.startx,s.y=e.starty,s.width=i.width,s.dy="1em",s.text=e.message,s.class="noteText",s.fontFamily=Ve.noteFontFamily,s.fontSize=Ve.noteFontSize,s.fontWeight=Ve.noteFontWeight,s.anchor=Ve.noteAlign,s.textMargin=Ve.noteMargin,s.valign="center";let l=sn(s.text)?await MC(n,s):cg(n,s),u=Math.round(l.map(h=>(h._groups||h)[0][0].getBBox().height).reduce((h,f)=>h+f));a.attr("height",u+2*Ve.noteMargin),e.height+=u+2*Ve.noteMargin,pt.bumpVerticalPos(u+2*Ve.noteMargin),e.stopy=e.starty+u+2*Ve.noteMargin,e.stopx=e.startx+i.width,pt.insert(e.startx,e.starty,e.stopx,e.stopy),pt.models.addNote(e)},"drawNote"),D3e=o(function(t,e,r,i,n,a,s){let l=i.db.getActors(),u=l.get(e.from),h=l.get(e.to),f=r.sequenceVisible,d=u.x+u.width/2,p=h.x+h.width/2,m=d<=p,g=I3e(e,i),y=t.append("g"),v=16.5,x=o((C,E)=>{let S=C?v:-v;return E?-S:S},"getCircleOffset"),b=o(C=>{y.append("circle").attr("cx",C).attr("cy",s).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:T,CENTRAL_CONNECTION_REVERSE:w,CENTRAL_CONNECTION_DUAL:k}=i.db.LINETYPE;if(f)switch(e.centralConnection){case T:g&&(p+=x(m,!0));break;case w:g||(d+=x(m,!1));break;case k:g?p+=x(m,!0):d+=x(m,!1);break}switch(e.centralConnection){case T:b(p);break;case w:b(d);break;case k:b(d),b(p);break}},"drawCentralConnection"),ug=o(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),ex=o(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),lU=o(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");o(cft,"boundMessage");uft=o(async function(t,e,r,i,n,a){let{startx:s,stopx:l,starty:u,message:h,type:f,sequenceIndex:d,sequenceVisible:p}=e,m=Kt.calculateTextDimensions(h,ug(Ve)),g=J2();g.x=s,g.y=u+10,g.width=l-s,g.class="messageText",g.dy="1em",g.text=h,g.fontFamily=Ve.messageFontFamily,g.fontSize=Ve.messageFontSize,g.fontWeight=Ve.messageFontWeight,g.anchor=Ve.messageAlign,g.valign="center",g.textMargin=Ve.wrapPadding,g.tspan=!1,sn(g.text)?await MC(t,g,{startx:s,stopx:l,starty:r}):cg(t,g);let y=m.width,v;if(s===l){let b=p||Ve.showSequenceNumbers,T=I3e(n,i),w=Tft(n,i),k=s+(b&&(T||w)?10:0);Ve.rightAngles?v=t.append("path").attr("d",`M ${k},${r} H ${s+lt.getMax(Ve.width/2,y/2)} V ${r+25} H ${s}`):v=t.append("path").attr("d","M "+k+","+r+" C "+(k+60)+","+(r-10)+" "+(s+60)+","+(r+30)+" "+s+","+(r+20)),oU(n,i)&&D3e(t,n,e,i,s,l,r)}else v=t.append("line"),v.attr("x1",s),v.attr("y1",r),v.attr("x2",l),v.attr("y2",r),oU(n,i)&&D3e(t,n,e,i,s,l,r);f===i.db.LINETYPE.DOTTED||f===i.db.LINETYPE.DOTTED_CROSS||f===i.db.LINETYPE.DOTTED_POINT||f===i.db.LINETYPE.DOTTED_OPEN||f===i.db.LINETYPE.BIDIRECTIONAL_DOTTED||f===i.db.LINETYPE.SOLID_TOP_DOTTED||f===i.db.LINETYPE.SOLID_BOTTOM_DOTTED||f===i.db.LINETYPE.STICK_TOP_DOTTED||f===i.db.LINETYPE.STICK_BOTTOM_DOTTED||f===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||f===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||f===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||f===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED?(v.style("stroke-dasharray","3, 3"),v.attr("class","messageLine1")):v.attr("class","messageLine0"),v.attr("data-et","message"),v.attr("data-id","i"+e.id),v.attr("data-from",e.from),v.attr("data-to",e.to);let x="";if(Ve.arrowMarkerAbsolute&&(x=Yp(!0)),v.attr("stroke-width",2),v.attr("stroke","none"),v.style("fill","none"),(f===i.db.LINETYPE.SOLID_TOP||f===i.db.LINETYPE.SOLID_TOP_DOTTED)&&v.attr("marker-end","url("+x+"#"+a+"-solidTopArrowHead)"),(f===i.db.LINETYPE.SOLID_BOTTOM||f===i.db.LINETYPE.SOLID_BOTTOM_DOTTED)&&v.attr("marker-end","url("+x+"#"+a+"-solidBottomArrowHead)"),(f===i.db.LINETYPE.STICK_TOP||f===i.db.LINETYPE.STICK_TOP_DOTTED)&&v.attr("marker-end","url("+x+"#"+a+"-stickTopArrowHead)"),(f===i.db.LINETYPE.STICK_BOTTOM||f===i.db.LINETYPE.STICK_BOTTOM_DOTTED)&&v.attr("marker-end","url("+x+"#"+a+"-stickBottomArrowHead)"),(f===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||f===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)&&v.attr("marker-start","url("+x+"#"+a+"-solidBottomArrowHead)"),(f===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||f===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)&&v.attr("marker-start","url("+x+"#"+a+"-solidTopArrowHead)"),(f===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE||f===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)&&v.attr("marker-start","url("+x+"#"+a+"-stickBottomArrowHead)"),(f===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||f===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)&&v.attr("marker-start","url("+x+"#"+a+"-stickTopArrowHead)"),(f===i.db.LINETYPE.SOLID||f===i.db.LINETYPE.DOTTED)&&v.attr("marker-end","url("+x+"#"+a+"-arrowhead)"),(f===i.db.LINETYPE.BIDIRECTIONAL_SOLID||f===i.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(v.attr("marker-start","url("+x+"#"+a+"-arrowhead)"),v.attr("marker-end","url("+x+"#"+a+"-arrowhead)")),(f===i.db.LINETYPE.SOLID_POINT||f===i.db.LINETYPE.DOTTED_POINT)&&v.attr("marker-end","url("+x+"#"+a+"-filled-head)"),(f===i.db.LINETYPE.SOLID_CROSS||f===i.db.LINETYPE.DOTTED_CROSS)&&v.attr("marker-end","url("+x+"#"+a+"-crosshead)"),p||Ve.showSequenceNumbers){let b=f===i.db.LINETYPE.BIDIRECTIONAL_SOLID||f===i.db.LINETYPE.BIDIRECTIONAL_DOTTED,T=f===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||f===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||f===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||f===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||f===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE||f===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||f===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||f===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,w=6,k=oU(n,i),C=s,E=l;b?(ss?E=l-2*w:(E=l-w,C+=n?.centralConnection===i.db.LINETYPE.CENTRAL_CONNECTION_DUAL||n?.centralConnection===i.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),E+=k?15:0,v.attr("x2",E),v.attr("x1",C)):v.attr("x1",s+w);let S=0,L=s===l,M=s<=l;L?S=e.fromBounds+1:T?S=M?e.toBounds-1:e.fromBounds+1:S=M?e.fromBounds+1:e.toBounds-1,t.append("line").attr("x1",S).attr("y1",r).attr("x2",S).attr("y2",r).attr("stroke-width",0).attr("marker-start","url("+x+"#"+a+"-sequencenumber)"),t.append("text").attr("x",S).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(d)}},"drawMessage"),hft=o(function(t,e,r,i,n,a,s){let l=0,u=0,h,f=0;for(let d of i){let p=e.get(d),m=p.box;h&&h!=m&&(s||pt.models.addBox(h),u+=Ve.boxMargin+h.margin),m&&m!=h&&(s||(m.x=l+u,m.y=n),u+=m.margin),p.width=lt.getMax(p.width||Ve.width,Ve.width),p.height=lt.getMax(p.height||Ve.height,Ve.height),p.margin=p.margin||Ve.actorMargin,f=lt.getMax(f,p.height),r.get(p.name)&&(u+=p.width/2),p.x=l+u,p.starty=pt.getVerticalPos(),pt.insert(p.x,n,p.x+p.width,p.height),l+=p.width+u,p.box&&(p.box.width=l+m.margin-p.box.x),u=p.margin,h=p.box,pt.models.addActor(p)}h&&!s&&pt.models.addBox(h),pt.bumpVerticalPos(f)},"addActorRenderingData"),cU=o(async function(t,e,r,i,n,a,s){if(i){let l=0;pt.bumpVerticalPos(Ve.boxMargin*2);for(let u of r){let h=e.get(u);h.stopy||(h.stopy=pt.getVerticalPos());let f=await Hi.drawActor(t,h,Ve,!0,n,a,s);l=lt.getMax(l,f)}pt.bumpVerticalPos(l+Ve.boxMargin)}else for(let l of r){let u=e.get(l);await Hi.drawActor(t,u,Ve,!1,n,a,s)}},"drawActors"),R3e=o(function(t,e,r,i){let n=0,a=0;for(let s of r){let l=e.get(s),u=mft(l),h=Hi.drawPopup(t,l,u,Ve,Ve.forceMenus,i);h.height>n&&(n=h.height),h.width+l.x>a&&(a=h.width+l.x)}return{maxHeight:n,maxWidth:a}},"drawActorsPopup"),N3e=o(function(t){Yi(Ve,t),t.fontFamily&&(Ve.actorFontFamily=Ve.noteFontFamily=Ve.messageFontFamily=t.fontFamily),t.fontSize&&(Ve.actorFontSize=Ve.noteFontSize=Ve.messageFontSize=t.fontSize),t.fontWeight&&(Ve.actorFontWeight=Ve.noteFontWeight=Ve.messageFontWeight=t.fontWeight)},"setConf"),w_=o(function(t){return pt.activations.filter(function(e){return e.actor===t})},"actorActivations"),L3e=o(function(t,e){let r=e.get(t),i=w_(t),n=i.reduce(function(s,l){return lt.getMin(s,l.startx)},r.x+r.width/2-1),a=i.reduce(function(s,l){return lt.getMax(s,l.stopx)},r.x+r.width/2+1);return[n,a]},"activationBounds");o(ch,"adjustLoopHeightForWrap");o(fft,"adjustCreatedDestroyedData");dft=o(async function(t,e,r,i){let{securityLevel:n,sequence:a,look:s}=ge();Ve=a;let l;n==="sandbox"&&(l=Ze("#i"+e));let u=n==="sandbox"?Ze(l.nodes()[0].contentDocument.body):Ze("body"),h=n==="sandbox"?l.nodes()[0].contentDocument:document;pt.init(),Q.debug(i.db);let f=n==="sandbox"?u.select(`[id="${e}"]`):Ze(`[id="${e}"]`),d=i.db.getActors(),p=i.db.getCreatedActors(),m=i.db.getDestroyedActors(),g=i.db.getBoxes(),y=i.db.getActorKeys(),v=i.db.getMessages(),x=i.db.getDiagramTitle(),b=i.db.hasAtLeastOneBox(),T=i.db.hasAtLeastOneBoxWithTitle(),w=await pft(d,v,i);if(Ve.height=await gft(d,w,g),Hi.insertComputerIcon(f,e),Hi.insertDatabaseIcon(f,e),Hi.insertClockIcon(f,e),b&&(pt.bumpVerticalPos(Ve.boxMargin),T&&pt.bumpVerticalPos(g[0].textMaxHeight)),Ve.hideUnusedParticipants===!0){let F=new Set;v.forEach(V=>{F.add(V.from),F.add(V.to)}),y=y.filter(V=>F.has(V))}let k=new Map(y.map((F,V)=>[d.get(F)?.name??F,V]));hft(f,d,p,y,0,v,!1);let C=await Cft(v,d,w,i);Hi.insertArrowHead(f,e),Hi.insertArrowCrossHead(f,e),Hi.insertArrowFilledHead(f,e),Hi.insertSequenceNumber(f,e),Hi.insertSolidTopArrowHead(f,e),Hi.insertSolidBottomArrowHead(f,e),Hi.insertStickTopArrowHead(f,e),Hi.insertStickBottomArrowHead(f,e),s==="neo"&&Hi.insertDropShadow(f,Ve);function E(F,V){let H=pt.endActivation(F);H.starty+18>V&&(H.starty=V-6,V+=12),Hi.drawActivation(f,H,V,Ve,w_(F.from).length,i,k),pt.insert(H.startx,V-10,H.stopx,V)}o(E,"activeEnd");let S=1,L=1,M=[],I=[],A=0;for(let F of v){let V,H,X;switch(F.type){case i.db.LINETYPE.NOTE:pt.resetVerticalPos(),H=F.noteModel,await lft(f,H,F.id);break;case i.db.LINETYPE.ACTIVE_START:pt.newActivation(F,f,d);break;case i.db.LINETYPE.CENTRAL_CONNECTION:pt.newActivation(F,f,d);break;case i.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:pt.newActivation(F,f,d);break;case i.db.LINETYPE.ACTIVE_END:E(F,pt.getVerticalPos());break;case i.db.LINETYPE.LOOP_START:ch(C,F,Ve.boxMargin,Ve.boxMargin+Ve.boxTextMargin,W=>pt.newLoop(W));break;case i.db.LINETYPE.LOOP_END:V=pt.endLoop(),await Hi.drawLoop(f,V,"loop",Ve,F),pt.bumpVerticalPos(V.stopy-pt.getVerticalPos()),pt.models.addLoop(V);break;case i.db.LINETYPE.RECT_START:ch(C,F,Ve.boxMargin,Ve.boxMargin,W=>pt.newLoop(void 0,W.message));break;case i.db.LINETYPE.RECT_END:V=pt.endLoop(),I.push(V),pt.models.addLoop(V),pt.bumpVerticalPos(V.stopy-pt.getVerticalPos());break;case i.db.LINETYPE.OPT_START:ch(C,F,Ve.boxMargin,Ve.boxMargin+Ve.boxTextMargin,W=>pt.newLoop(W));break;case i.db.LINETYPE.OPT_END:V=pt.endLoop(),await Hi.drawLoop(f,V,"opt",Ve,F),pt.bumpVerticalPos(V.stopy-pt.getVerticalPos()),pt.models.addLoop(V);break;case i.db.LINETYPE.ALT_START:ch(C,F,Ve.boxMargin,Ve.boxMargin+Ve.boxTextMargin,W=>pt.newLoop(W));break;case i.db.LINETYPE.ALT_ELSE:ch(C,F,Ve.boxMargin+Ve.boxTextMargin,Ve.boxMargin,W=>pt.addSectionToLoop(W));break;case i.db.LINETYPE.ALT_END:V=pt.endLoop(),await Hi.drawLoop(f,V,"alt",Ve,F),pt.bumpVerticalPos(V.stopy-pt.getVerticalPos()),pt.models.addLoop(V);break;case i.db.LINETYPE.PAR_START:case i.db.LINETYPE.PAR_OVER_START:ch(C,F,Ve.boxMargin,Ve.boxMargin+Ve.boxTextMargin,W=>pt.newLoop(W)),pt.saveVerticalPos();break;case i.db.LINETYPE.PAR_AND:ch(C,F,Ve.boxMargin+Ve.boxTextMargin,Ve.boxMargin,W=>pt.addSectionToLoop(W));break;case i.db.LINETYPE.PAR_END:V=pt.endLoop(),await Hi.drawLoop(f,V,"par",Ve,F),pt.bumpVerticalPos(V.stopy-pt.getVerticalPos()),pt.models.addLoop(V);break;case i.db.LINETYPE.AUTONUMBER:S=F.message.start||S,L=F.message.step||L,F.message.visible?i.db.enableSequenceNumbers():i.db.disableSequenceNumbers();break;case i.db.LINETYPE.CRITICAL_START:ch(C,F,Ve.boxMargin,Ve.boxMargin+Ve.boxTextMargin,W=>pt.newLoop(W));break;case i.db.LINETYPE.CRITICAL_OPTION:ch(C,F,Ve.boxMargin+Ve.boxTextMargin,Ve.boxMargin,W=>pt.addSectionToLoop(W));break;case i.db.LINETYPE.CRITICAL_END:V=pt.endLoop(),await Hi.drawLoop(f,V,"critical",Ve,F),pt.bumpVerticalPos(V.stopy-pt.getVerticalPos()),pt.models.addLoop(V);break;case i.db.LINETYPE.BREAK_START:ch(C,F,Ve.boxMargin,Ve.boxMargin+Ve.boxTextMargin,W=>pt.newLoop(W));break;case i.db.LINETYPE.BREAK_END:V=pt.endLoop(),await Hi.drawLoop(f,V,"break",Ve,F),pt.bumpVerticalPos(V.stopy-pt.getVerticalPos()),pt.models.addLoop(V);break;default:try{X=F.msgModel,X.starty=pt.getVerticalPos(),X.sequenceIndex=S,X.sequenceVisible=i.db.showSequenceNumbers(),X.id=F.id,X.from=F.from,X.to=F.to;let W=await cft(f,X);fft(F,X,W,A,d,p,m),M.push({messageModel:X,lineStartY:W,msg:F}),pt.models.addMessage(X)}catch(W){Q.error("error while drawing message",W)}}[i.db.LINETYPE.SOLID_OPEN,i.db.LINETYPE.DOTTED_OPEN,i.db.LINETYPE.SOLID,i.db.LINETYPE.SOLID_TOP,i.db.LINETYPE.SOLID_BOTTOM,i.db.LINETYPE.STICK_TOP,i.db.LINETYPE.STICK_BOTTOM,i.db.LINETYPE.SOLID_TOP_DOTTED,i.db.LINETYPE.SOLID_BOTTOM_DOTTED,i.db.LINETYPE.STICK_TOP_DOTTED,i.db.LINETYPE.STICK_BOTTOM_DOTTED,i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,i.db.LINETYPE.STICK_ARROW_TOP_REVERSE,i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,i.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,i.db.LINETYPE.DOTTED,i.db.LINETYPE.SOLID_CROSS,i.db.LINETYPE.DOTTED_CROSS,i.db.LINETYPE.SOLID_POINT,i.db.LINETYPE.DOTTED_POINT,i.db.LINETYPE.BIDIRECTIONAL_SOLID,i.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(F.type)&&(S=S+L),A++}Q.debug("createdActors",p),Q.debug("destroyedActors",m),await cU(f,d,y,!1,e,i,k);for(let F of M)await uft(f,F.messageModel,F.lineStartY,i,F.msg,e);Ve.mirrorActors&&await cU(f,d,y,!0,e,i,k),I.forEach(F=>Hi.drawBackgroundRect(f,F)),sU(f,d,y,Ve);for(let F of pt.models.boxes){F.height=pt.getVerticalPos()-F.y,pt.insert(F.x,F.y,F.x+F.width,F.height);let V=Ve.boxMargin*2;F.startx=F.x-V,F.starty=F.y-V*.25,F.stopx=F.startx+F.width+2*V,F.stopy=F.starty+F.height+V*.75,F.stroke="rgb(0,0,0, 0.5)",Hi.drawBox(f,F,Ve)}b&&pt.bumpVerticalPos(Ve.boxMargin);let _=R3e(f,d,y,h),{bounds:D}=pt.getBounds();D.startx===void 0&&(D.startx=0),D.starty===void 0&&(D.starty=0),D.stopx===void 0&&(D.stopx=0),D.stopy===void 0&&(D.stopy=0);let N=D.stopy-D.starty;N<_.maxHeight&&(N=_.maxHeight);let R=N+2*Ve.diagramMarginY;Ve.mirrorActors&&(R=R-Ve.boxMargin+Ve.bottomMarginAdj);let B=D.stopx-D.startx;B<_.maxWidth&&(B=_.maxWidth);let O=B+2*Ve.diagramMarginX;x&&f.append("text").text(x).attr("x",(D.stopx-D.startx)/2-2*Ve.diagramMarginX).attr("y",-25),Hr(f,R,O,Ve.useMaxWidth);let $=x?40:0,z=d.size&&s==="neo"?30:0;f.attr("viewBox",D.startx-Ve.diagramMarginX+" -"+(Ve.diagramMarginY+$)+" "+O+" "+(R+$+z)),Q.debug("models:",pt.models)},"draw");o(pft,"getMaxMessageWidthPerActor");mft=o(function(t){let e=0,r=lU(Ve);for(let i in t.links){let a=Kt.calculateTextDimensions(i,r).width+2*Ve.wrapPadding+2*Ve.boxMargin;e2,p=o(v=>u?-v:v,"adjustValue");t.from===t.to?f=h:(t.activate&&!d&&(f+=p(Ve.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)||(f+=p(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)&&(h-=p(3)));let m=[n,a,s,l],g=Math.abs(h-f);t.wrap&&t.message&&(t.message=Kt.wrapLabel(t.message,lt.getMax(g+2*Ve.wrapPadding,Ve.width),ug(Ve)));let y=Kt.calculateTextDimensions(t.message,ug(Ve));return{width:lt.getMax(t.wrap?0:y.width+2*Ve.wrapPadding,g+2*Ve.wrapPadding,Ve.width),height:0,startx:h,stopx:f,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,m),toBounds:Math.max.apply(null,m)}},"buildMessageModel"),Cft=o(async function(t,e,r,i){let n={},a=[],s,l,u;for(let h of t){switch(h.type){case i.db.LINETYPE.LOOP_START:case i.db.LINETYPE.ALT_START:case i.db.LINETYPE.OPT_START:case i.db.LINETYPE.PAR_START:case i.db.LINETYPE.PAR_OVER_START:case i.db.LINETYPE.CRITICAL_START:case i.db.LINETYPE.BREAK_START:a.push({id:h.id,msg:h.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case i.db.LINETYPE.ALT_ELSE:case i.db.LINETYPE.PAR_AND:case i.db.LINETYPE.CRITICAL_OPTION:h.message&&(s=a.pop(),n[s.id]=s,n[h.id]=s,a.push(s));break;case i.db.LINETYPE.LOOP_END:case i.db.LINETYPE.ALT_END:case i.db.LINETYPE.OPT_END:case i.db.LINETYPE.PAR_END:case i.db.LINETYPE.CRITICAL_END:case i.db.LINETYPE.BREAK_END:s=a.pop(),n[s.id]=s;break;case i.db.LINETYPE.ACTIVE_START:{let d=e.get(h.from?h.from:h.to.actor),p=w_(h.from?h.from:h.to.actor).length,m=d.x+d.width/2+(p-1)*Ve.activationWidth/2,g={startx:m,stopx:m+Ve.activationWidth,actor:h.from,enabled:!0};pt.activations.push(g)}break;case i.db.LINETYPE.ACTIVE_END:{let d=pt.activations.map(p=>p.actor).lastIndexOf(h.from);pt.activations.splice(d,1).splice(0,1)}break}h.placement!==void 0?(l=await yft(h,e,i),h.noteModel=l,a.forEach(d=>{s=d,s.from=lt.getMin(s.from,l.startx),s.to=lt.getMax(s.to,l.startx+l.width),s.width=lt.getMax(s.width,Math.abs(s.from-s.to))-Ve.labelBoxWidth})):(u=kft(h,e,i),h.msgModel=u,u.startx&&u.stopx&&a.length>0&&a.forEach(d=>{if(s=d,u.startx===u.stopx){let p=e.get(h.from),m=e.get(h.to);s.from=lt.getMin(p.x-u.width/2,p.x-p.width/2,s.from),s.to=lt.getMax(m.x+u.width/2,m.x+p.width/2,s.to),s.width=lt.getMax(s.width,Math.abs(s.to-s.from))-Ve.labelBoxWidth}else s.from=lt.getMin(u.startx,s.from),s.to=lt.getMax(u.stopx,s.to),s.width=lt.getMax(s.width,u.width)-Ve.labelBoxWidth}))}return pt.activations=[],Q.debug("Loop type widths:",n),n},"calculateLoopBounds"),M3e={bounds:pt,drawActors:cU,drawActorsPopup:R3e,setConf:N3e,draw:dft}});var P3e={};ur(P3e,{diagram:()=>wft});var wft,B3e=P(()=>{"use strict";k3e();nU();w3e();Ut();O3e();wft={parser:T3e,get db(){return new T_},renderer:M3e,styles:C3e,init:o(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,t2({sequence:{wrap:t.wrap}}))},"init")}});var uU,E_,hU=P(()=>{"use strict";uU=(function(){var t=o(function(Ue,qe,Me,He){for(Me=Me||{},He=Ue.length;He--;Me[Ue[He]]=qe);return Me},"o"),e=[1,18],r=[1,19],i=[1,20],n=[1,41],a=[1,26],s=[1,42],l=[1,24],u=[1,25],h=[1,32],f=[1,33],d=[1,34],p=[1,45],m=[1,35],g=[1,36],y=[1,37],v=[1,38],x=[1,27],b=[1,28],T=[1,29],w=[1,30],k=[1,31],C=[1,44],E=[1,46],S=[1,43],L=[1,47],M=[1,9],I=[1,8,9],A=[1,58],_=[1,59],D=[1,60],N=[1,61],R=[1,62],B=[1,63],O=[1,64],$=[1,8,9,41],z=[1,77],F=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],V=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],H=[13,60,86,100,102,103],X=[13,60,73,74,86,100,102,103],W=[13,60,68,69,70,71,72,86,100,102,103],Z=[1,102],Y=[1,120],ae=[1,116],J=[1,112],ee=[1,118],re=[1,113],te=[1,114],be=[1,115],de=[1,117],Ee=[1,119],Ne=[22,50,60,61,82,86,87,88,89,90],we=[1,8,9,39,41,44,46],Te=[1,8,9,22],De=[1,150],$e=[1,8,9,61],pe=[1,8,9,22,50,60,61,82,86,87,88,89,90],Je={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:o(function(qe,Me,He,K,oe,U,ue){var G=U.length-1;switch(oe){case 8:this.$=U[G-1];break;case 9:case 10:case 13:case 15:this.$=U[G];break;case 11:case 14:this.$=U[G-2]+"."+U[G];break;case 12:case 16:this.$=U[G-1]+U[G];break;case 17:case 18:this.$=U[G-1]+"~"+U[G]+"~";break;case 19:K.addRelation(U[G]);break;case 20:U[G-1].title=K.cleanupLabel(U[G]),K.addRelation(U[G-1]);break;case 31:this.$=U[G].trim(),K.setAccTitle(this.$);break;case 32:case 33:this.$=U[G].trim(),K.setAccDescription(this.$);break;case 34:K.addClassesToNamespace(U[G-3],U[G-1][0],U[G-1][1]);break;case 35:K.addClassesToNamespace(U[G-4],U[G-1][0],U[G-1][1]);break;case 36:this.$=U[G],K.addNamespace(U[G]);break;case 37:this.$=[[U[G]],[]];break;case 38:this.$=[[U[G-1]],[]];break;case 39:U[G][0].unshift(U[G-2]),this.$=U[G];break;case 40:this.$=[[],[U[G]]];break;case 41:this.$=[[],[U[G-1]]];break;case 42:U[G][1].unshift(U[G-2]),this.$=U[G];break;case 44:K.setCssClass(U[G-2],U[G]);break;case 45:K.addMembers(U[G-3],U[G-1]);break;case 47:K.setCssClass(U[G-5],U[G-3]),K.addMembers(U[G-5],U[G-1]);break;case 48:K.addAnnotation(U[G-3],U[G-1]);break;case 49:K.addAnnotation(U[G-6],U[G-4]),K.addMembers(U[G-6],U[G-1]);break;case 50:K.addAnnotation(U[G-5],U[G-3]);break;case 51:this.$=U[G],K.addClass(U[G]);break;case 52:this.$=U[G-1],K.addClass(U[G-1]),K.setClassLabel(U[G-1],U[G]);break;case 56:K.addAnnotation(U[G],U[G-2]);break;case 57:case 70:this.$=[U[G]];break;case 58:U[G].push(U[G-1]),this.$=U[G];break;case 59:break;case 60:K.addMember(U[G-1],K.cleanupLabel(U[G]));break;case 61:break;case 62:break;case 63:this.$={id1:U[G-2],id2:U[G],relation:U[G-1],relationTitle1:"none",relationTitle2:"none"};break;case 64:this.$={id1:U[G-3],id2:U[G],relation:U[G-1],relationTitle1:U[G-2],relationTitle2:"none"};break;case 65:this.$={id1:U[G-3],id2:U[G],relation:U[G-2],relationTitle1:"none",relationTitle2:U[G-1]};break;case 66:this.$={id1:U[G-4],id2:U[G],relation:U[G-2],relationTitle1:U[G-3],relationTitle2:U[G-1]};break;case 67:this.$=K.addNote(U[G],U[G-1]);break;case 68:this.$=K.addNote(U[G]);break;case 69:this.$=U[G-2],K.defineClass(U[G-1],U[G]);break;case 71:this.$=U[G-2].concat([U[G]]);break;case 72:K.setDirection("TB");break;case 73:K.setDirection("BT");break;case 74:K.setDirection("RL");break;case 75:K.setDirection("LR");break;case 76:this.$={type1:U[G-2],type2:U[G],lineType:U[G-1]};break;case 77:this.$={type1:"none",type2:U[G],lineType:U[G-1]};break;case 78:this.$={type1:U[G-1],type2:"none",lineType:U[G]};break;case 79:this.$={type1:"none",type2:"none",lineType:U[G]};break;case 80:this.$=K.relationType.AGGREGATION;break;case 81:this.$=K.relationType.EXTENSION;break;case 82:this.$=K.relationType.COMPOSITION;break;case 83:this.$=K.relationType.DEPENDENCY;break;case 84:this.$=K.relationType.LOLLIPOP;break;case 85:this.$=K.lineType.LINE;break;case 86:this.$=K.lineType.DOTTED_LINE;break;case 87:case 93:this.$=U[G-2],K.setClickEvent(U[G-1],U[G]);break;case 88:case 94:this.$=U[G-3],K.setClickEvent(U[G-2],U[G-1]),K.setTooltip(U[G-2],U[G]);break;case 89:this.$=U[G-2],K.setLink(U[G-1],U[G]);break;case 90:this.$=U[G-3],K.setLink(U[G-2],U[G-1],U[G]);break;case 91:this.$=U[G-3],K.setLink(U[G-2],U[G-1]),K.setTooltip(U[G-2],U[G]);break;case 92:this.$=U[G-4],K.setLink(U[G-3],U[G-2],U[G]),K.setTooltip(U[G-3],U[G-1]);break;case 95:this.$=U[G-3],K.setClickEvent(U[G-2],U[G-1],U[G]);break;case 96:this.$=U[G-4],K.setClickEvent(U[G-3],U[G-2],U[G-1]),K.setTooltip(U[G-3],U[G]);break;case 97:this.$=U[G-3],K.setLink(U[G-2],U[G]);break;case 98:this.$=U[G-4],K.setLink(U[G-3],U[G-1],U[G]);break;case 99:this.$=U[G-4],K.setLink(U[G-3],U[G-1]),K.setTooltip(U[G-3],U[G]);break;case 100:this.$=U[G-5],K.setLink(U[G-4],U[G-2],U[G]),K.setTooltip(U[G-4],U[G-1]);break;case 101:this.$=U[G-2],K.setCssStyle(U[G-1],U[G]);break;case 102:K.setCssClass(U[G-1],U[G]);break;case 103:this.$=[U[G]];break;case 104:U[G-2].push(U[G]),this.$=U[G-2];break;case 106:this.$=U[G-1]+U[G];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:i,38:22,42:n,43:23,46:a,48:s,51:l,52:u,54:h,56:f,57:d,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:w,83:k,86:C,100:E,102:S,103:L},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(M,[2,5],{8:[1,48]}),{8:[1,49]},t(I,[2,19],{22:[1,50]}),t(I,[2,21]),t(I,[2,22]),t(I,[2,23]),t(I,[2,24]),t(I,[2,25]),t(I,[2,26]),t(I,[2,27]),t(I,[2,28]),t(I,[2,29]),t(I,[2,30]),{34:[1,51]},{36:[1,52]},t(I,[2,33]),t(I,[2,59],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:A,69:_,70:D,71:N,72:R,73:B,74:O}),{39:[1,65]},t($,[2,43],{39:[1,67],44:[1,66],46:[1,68]}),t(I,[2,61]),t(I,[2,62]),{16:69,60:p,86:C,100:E,102:S},{16:39,17:40,19:70,60:p,86:C,100:E,102:S,103:L},{16:39,17:40,19:71,60:p,86:C,100:E,102:S,103:L},{16:39,17:40,19:72,60:p,86:C,100:E,102:S,103:L},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:p,86:C,100:E,102:S,103:L},{13:z,55:76},{58:78,60:[1,79]},t(I,[2,72]),t(I,[2,73]),t(I,[2,74]),t(I,[2,75]),t(F,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:p,86:C,100:E,102:S,103:L}),t(F,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:p,86:C,100:E,102:S,103:L},{16:39,17:40,19:87,60:p,86:C,100:E,102:S,103:L},t(V,[2,129]),t(V,[2,130]),t(V,[2,131]),t(V,[2,132]),t([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,133]),t(M,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:e,35:r,37:i,42:n,46:a,48:s,51:l,52:u,54:h,56:f,57:d,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:w,83:k,86:C,100:E,102:S,103:L}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:i,38:22,42:n,43:23,46:a,48:s,51:l,52:u,54:h,56:f,57:d,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:w,83:k,86:C,100:E,102:S,103:L},t(I,[2,20]),t(I,[2,31]),t(I,[2,32]),{13:[1,91],16:39,17:40,19:90,60:p,86:C,100:E,102:S,103:L},{53:92,66:56,67:57,68:A,69:_,70:D,71:N,72:R,73:B,74:O},t(I,[2,60]),{67:93,73:B,74:O},t(H,[2,79],{66:94,68:A,69:_,70:D,71:N,72:R}),t(X,[2,80]),t(X,[2,81]),t(X,[2,82]),t(X,[2,83]),t(X,[2,84]),t(W,[2,85]),t(W,[2,86]),{8:[1,96],24:97,30:98,40:95,43:23,48:s,54:h,56:f},{16:99,60:p,86:C,100:E,102:S},{41:[1,101],45:100,51:Z},{16:103,60:p,86:C,100:E,102:S},{47:[1,104]},{13:[1,105]},{13:[1,106]},{79:[1,107],81:[1,108]},{22:Y,50:ae,59:109,60:J,82:ee,84:110,85:111,86:re,87:te,88:be,89:de,90:Ee},{60:[1,121]},{13:z,55:122},t($,[2,68]),t($,[2,134]),{22:Y,50:ae,59:123,60:J,61:[1,124],82:ee,84:110,85:111,86:re,87:te,88:be,89:de,90:Ee},t(Ne,[2,70]),{16:39,17:40,19:125,60:p,86:C,100:E,102:S,103:L},t(F,[2,16]),t(F,[2,17]),t(F,[2,18]),{39:[2,36]},{15:127,16:85,17:86,18:[1,126],39:[2,9],60:p,86:C,100:E,102:S,103:L},{39:[2,10]},t(we,[2,51],{11:128,12:[1,129]}),t(M,[2,7]),{9:[1,130]},t(Te,[2,63]),{16:39,17:40,19:131,60:p,86:C,100:E,102:S,103:L},{13:[1,133],16:39,17:40,19:132,60:p,86:C,100:E,102:S,103:L},t(H,[2,78],{66:134,68:A,69:_,70:D,71:N,72:R}),t(H,[2,77]),{41:[1,135]},{24:97,30:98,40:136,43:23,48:s,54:h,56:f},{8:[1,137],41:[2,37]},{8:[1,138],41:[2,40]},t($,[2,44],{39:[1,139]}),{41:[1,140]},t($,[2,46]),{41:[2,57],45:141,51:Z},{47:[1,142]},{16:39,17:40,19:143,60:p,86:C,100:E,102:S,103:L},t(I,[2,87],{13:[1,144]}),t(I,[2,89],{13:[1,146],77:[1,145]}),t(I,[2,93],{13:[1,147],80:[1,148]}),{13:[1,149]},t(I,[2,101],{61:De}),t($e,[2,103],{85:151,22:Y,50:ae,60:J,82:ee,86:re,87:te,88:be,89:de,90:Ee}),t(pe,[2,105]),t(pe,[2,107]),t(pe,[2,108]),t(pe,[2,109]),t(pe,[2,110]),t(pe,[2,111]),t(pe,[2,112]),t(pe,[2,113]),t(pe,[2,114]),t(pe,[2,115]),t(I,[2,102]),t($,[2,67]),t(I,[2,69],{61:De}),{60:[1,152]},t(F,[2,14]),{15:153,16:85,17:86,60:p,86:C,100:E,102:S,103:L},{39:[2,12]},t(we,[2,52]),{13:[1,154]},{1:[2,4]},t(Te,[2,65]),t(Te,[2,64]),{16:39,17:40,19:155,60:p,86:C,100:E,102:S,103:L},t(H,[2,76]),t(I,[2,34]),{41:[1,156]},{24:97,30:98,40:157,41:[2,38],43:23,48:s,54:h,56:f},{24:97,30:98,40:158,41:[2,41],43:23,48:s,54:h,56:f},{45:159,51:Z},t($,[2,45]),{41:[2,58]},t($,[2,48],{39:[1,160]}),t(I,[2,56]),t(I,[2,88]),t(I,[2,90]),t(I,[2,91],{77:[1,161]}),t(I,[2,94]),t(I,[2,95],{13:[1,162]}),t(I,[2,97],{13:[1,164],77:[1,163]}),{22:Y,50:ae,60:J,82:ee,84:165,85:111,86:re,87:te,88:be,89:de,90:Ee},t(pe,[2,106]),t(Ne,[2,71]),{39:[2,11]},{14:[1,166]},t(Te,[2,66]),t(I,[2,35]),{41:[2,39]},{41:[2,42]},{41:[1,167]},{41:[1,169],45:168,51:Z},t(I,[2,92]),t(I,[2,96]),t(I,[2,98]),t(I,[2,99],{77:[1,170]}),t($e,[2,104],{85:151,22:Y,50:ae,60:J,82:ee,86:re,87:te,88:be,89:de,90:Ee}),t(we,[2,8]),t($,[2,47]),{41:[1,171]},t($,[2,50]),t(I,[2,100]),t($,[2,49])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],84:[2,36],86:[2,10],127:[2,12],130:[2,4],141:[2,58],153:[2,11],157:[2,39],158:[2,42]},parseError:o(function(qe,Me){if(Me.recoverable)this.trace(qe);else{var He=new Error(qe);throw He.hash=Me,He}},"parseError"),parse:o(function(qe){var Me=this,He=[0],K=[],oe=[null],U=[],ue=this.table,G="",se=0,le=0,ke=0,me=2,ye=1,Re=U.slice.call(arguments,1),ve=Object.create(this.lexer),Oe={yy:{}};for(var We in this.yy)Object.prototype.hasOwnProperty.call(this.yy,We)&&(Oe.yy[We]=this.yy[We]);ve.setInput(qe,Oe.yy),Oe.yy.lexer=ve,Oe.yy.parser=this,typeof ve.yylloc>"u"&&(ve.yylloc={});var Be=ve.yylloc;U.push(Be);var Qe=ve.options&&ve.options.ranges;typeof Oe.yy.parseError=="function"?this.parseError=Oe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ce(hr){He.length=He.length-2*hr,oe.length=oe.length-hr,U.length=U.length-hr}o(ce,"popStack");function it(){var hr;return hr=K.pop()||ve.lex()||ye,typeof hr!="number"&&(hr instanceof Array&&(K=hr,hr=K.pop()),hr=Me.symbols_[hr]||hr),hr}o(it,"lex");for(var fe,ut,Nt,Pt,St,It,ot={},ct,Dt,kt,yt;;){if(Nt=He[He.length-1],this.defaultActions[Nt]?Pt=this.defaultActions[Nt]:((fe===null||typeof fe>"u")&&(fe=it()),Pt=ue[Nt]&&ue[Nt][fe]),typeof Pt>"u"||!Pt.length||!Pt[0]){var jt="";yt=[];for(ct in ue[Nt])this.terminals_[ct]&&ct>me&&yt.push("'"+this.terminals_[ct]+"'");ve.showPosition?jt="Parse error on line "+(se+1)+`: -`+ve.showPosition()+` -Expecting `+yt.join(", ")+", got '"+(this.terminals_[fe]||fe)+"'":jt="Parse error on line "+(se+1)+": Unexpected "+(fe==ye?"end of input":"'"+(this.terminals_[fe]||fe)+"'"),this.parseError(jt,{text:ve.match,token:this.terminals_[fe]||fe,line:ve.yylineno,loc:Be,expected:yt})}if(Pt[0]instanceof Array&&Pt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Nt+", token: "+fe);switch(Pt[0]){case 1:He.push(fe),oe.push(ve.yytext),U.push(ve.yylloc),He.push(Pt[1]),fe=null,ut?(fe=ut,ut=null):(le=ve.yyleng,G=ve.yytext,se=ve.yylineno,Be=ve.yylloc,ke>0&&ke--);break;case 2:if(Dt=this.productions_[Pt[1]][1],ot.$=oe[oe.length-Dt],ot._$={first_line:U[U.length-(Dt||1)].first_line,last_line:U[U.length-1].last_line,first_column:U[U.length-(Dt||1)].first_column,last_column:U[U.length-1].last_column},Qe&&(ot._$.range=[U[U.length-(Dt||1)].range[0],U[U.length-1].range[1]]),It=this.performAction.apply(ot,[G,le,se,Oe.yy,Pt[1],oe,U].concat(Re)),typeof It<"u")return It;Dt&&(He=He.slice(0,-1*Dt*2),oe=oe.slice(0,-1*Dt),U=U.slice(0,-1*Dt)),He.push(this.productions_[Pt[1]][0]),oe.push(ot.$),U.push(ot._$),kt=ue[He[He.length-2]][He[He.length-1]],He.push(kt);break;case 3:return!0}}return!0},"parse")},Ce=(function(){var Ue={EOF:1,parseError:o(function(Me,He){if(this.yy.parser)this.yy.parser.parseError(Me,He);else throw new Error(Me)},"parseError"),setInput:o(function(qe,Me){return this.yy=Me||this.yy||{},this._input=qe,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var qe=this._input[0];this.yytext+=qe,this.yyleng++,this.offset++,this.match+=qe,this.matched+=qe;var Me=qe.match(/(?:\r\n?|\n).*/g);return Me?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),qe},"input"),unput:o(function(qe){var Me=qe.length,He=qe.split(/(?:\r\n?|\n)/g);this._input=qe+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Me),this.offset-=Me;var K=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),He.length-1&&(this.yylineno-=He.length-1);var oe=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:He?(He.length===K.length?this.yylloc.first_column:0)+K[K.length-He.length].length-He[0].length:this.yylloc.first_column-Me},this.options.ranges&&(this.yylloc.range=[oe[0],oe[0]+this.yyleng-Me]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(qe){this.unput(this.match.slice(qe))},"less"),pastInput:o(function(){var qe=this.matched.substr(0,this.matched.length-this.match.length);return(qe.length>20?"...":"")+qe.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var qe=this.match;return qe.length<20&&(qe+=this._input.substr(0,20-qe.length)),(qe.substr(0,20)+(qe.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var qe=this.pastInput(),Me=new Array(qe.length+1).join("-");return qe+this.upcomingInput()+` -`+Me+"^"},"showPosition"),test_match:o(function(qe,Me){var He,K,oe;if(this.options.backtrack_lexer&&(oe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(oe.yylloc.range=this.yylloc.range.slice(0))),K=qe[0].match(/(?:\r\n?|\n).*/g),K&&(this.yylineno+=K.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:K?K[K.length-1].length-K[K.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+qe[0].length},this.yytext+=qe[0],this.match+=qe[0],this.matches=qe,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(qe[0].length),this.matched+=qe[0],He=this.performAction.call(this,this.yy,this,Me,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),He)return He;if(this._backtrack){for(var U in oe)this[U]=oe[U];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var qe,Me,He,K;this._more||(this.yytext="",this.match="");for(var oe=this._currentRules(),U=0;UMe[0].length)){if(Me=He,K=U,this.options.backtrack_lexer){if(qe=this.test_match(He,oe[U]),qe!==!1)return qe;if(this._backtrack){Me=!1;continue}else return!1}else if(!this.options.flex)break}return Me?(qe=this.test_match(Me,oe[K]),qe!==!1?qe:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Me=this.next();return Me||this.lex()},"lex"),begin:o(function(Me){this.conditionStack.push(Me)},"begin"),popState:o(function(){var Me=this.conditionStack.length-1;return Me>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(Me){return Me=this.conditionStack.length-1-Math.abs(Me||0),Me>=0?this.conditionStack[Me]:"INITIAL"},"topState"),pushState:o(function(Me){this.begin(Me)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(Me,He,K,oe){var U=oe;switch(K){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),35;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;break;case 30:return this.popState(),8;break;case 31:break;case 32:return this.begin("namespace-body"),39;break;case 33:return this.popState(),41;break;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),48;break;case 39:return this.popState(),8;break;case 40:break;case 41:return this.popState(),this.popState(),41;break;case 42:return this.begin("class-body"),39;break;case 43:return this.popState(),41;break;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 83;case 50:return 75;case 51:return 76;case 52:return 78;case 53:return 54;case 54:return 56;case 55:return 46;case 56:return 47;case 57:return 81;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 77;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 69;case 69:return 69;case 70:return 71;case 71:return 71;case 72:return 70;case 73:return 68;case 74:return 72;case 75:return 73;case 76:return 74;case 77:return 22;case 78:return 44;case 79:return 100;case 80:return 18;case 81:return"PLUS";case 82:return 87;case 83:return 61;case 84:return 89;case 85:return 89;case 86:return 90;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 60;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 86;case 94:return 102;case 95:return 50;case 96:return 50;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return Ue})();Je.lexer=Ce;function Fe(){this.yy={}}return o(Fe,"Parser"),Fe.prototype=Je,Je.Parser=Fe,new Fe})();uU.parser=uU;E_=uU});var z3e,OC,G3e=P(()=>{"use strict";Ut();Vr();z3e=["#","+","~","-",""],OC=class{static{o(this,"ClassMember")}constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";let i=Tr(e,ge());this.parseMember(i)}getDisplayDetails(){let e=this.visibility+ou(this.id);this.memberType==="method"&&(e+=`(${ou(this.parameters.trim())})`,this.returnType&&(e+=" : "+ou(this.returnType))),e=e.trim();let r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){let a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){let s=a[1]?a[1].trim():"";if(z3e.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){let l=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(l)&&(r=l,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let n=e.length,a=e.substring(0,1),s=e.substring(n-1);z3e.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=e.substring(this.visibility===""?0:1,r===""?n:n-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();let i=`${this.visibility?"\\"+this.visibility:""}${ou(this.id)}${this.memberType==="method"?`(${ou(this.parameters)})${this.returnType?" : "+ou(this.returnType):""}`:""}`;this.text=i.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}});var S_,V3e,hg,tx,fU=P(()=>{"use strict";Pr();bt();Ut();Vr();er();Ki();y0();G3e();zx();S_="classId-",V3e=0,hg=o(t=>lt.sanitizeText(t,ge()),"sanitizeText"),tx=class{constructor(){this.relations=[];this.classes=new Map;this.styleClasses=new Map;this.notes=new Map;this.interfaces=[];this.namespaces=new Map;this.namespaceCounter=0;this.diagramId="";this.functions=[];this.lineType={LINE:0,DOTTED_LINE:1};this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4};this.setupToolTips=o(e=>{let r=E3();Ze(e).select("svg").selectAll("g").filter(function(){return Ze(this).attr("title")!==null}).on("mouseover",a=>{let s=Ze(a.currentTarget),l=s.attr("title");if(!l)return;let u=a.currentTarget.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.html(Tl.sanitize(l)).style("left",`${window.scrollX+u.left+u.width/2}px`).style("top",`${window.scrollY+u.bottom+4}px`),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),Ze(a.currentTarget).classed("hover",!1)})},"setupToolTips");this.direction="TB";this.setAccTitle=Ar;this.getAccTitle=Dr;this.setAccDescription=Lr;this.getAccDescription=Rr;this.setDiagramTitle=Mr;this.getDiagramTitle=Nr;this.getConfig=o(()=>ge().class,"getConfig");this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}static{o(this,"ClassDB")}splitClassNameAndType(e){let r=lt.sanitizeText(e,ge()),i="",n=r;if(r.indexOf("~")>0){let a=r.split("~");n=hg(a[0]),i=hg(a[1])}return{className:n,type:i}}setClassLabel(e,r){let i=lt.sanitizeText(e,ge());r&&(r=hg(r));let{className:n}=this.splitClassNameAndType(i);this.classes.get(n).label=r,this.classes.get(n).text=`${r}${this.classes.get(n).type?`<${this.classes.get(n).type}>`:""}`}addClass(e){let r=lt.sanitizeText(e,ge()),{className:i,type:n}=this.splitClassNameAndType(r);if(this.classes.has(i))return;let a=lt.sanitizeText(i,ge());this.classes.set(a,{id:a,type:n,label:a,text:`${a}${n?`<${n}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:S_+a+"-"+V3e}),V3e++}addInterface(e,r){let i={id:`interface${this.interfaces.length}`,label:e,classId:r};this.interfaces.push(i)}setDiagramId(e){this.diagramId=e}lookUpDomId(e){let r=lt.sanitizeText(e,ge());if(this.classes.has(r)){let i=this.classes.get(r).domId;return this.diagramId?`${this.diagramId}-${i}`:i}throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.diagramId="",this.direction="TB",wr()}getClass(e){return this.classes.get(e)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(e){let r=typeof e=="number"?`note${e}`:e;return this.notes.get(r)}getNotes(){return this.notes}addRelation(e){Q.debug("Adding relation: "+JSON.stringify(e));let r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];e.relation.type1===this.relationType.LOLLIPOP&&!r.includes(e.relation.type2)?(this.addClass(e.id2),this.addInterface(e.id1,e.id2),e.id1=`interface${this.interfaces.length-1}`):e.relation.type2===this.relationType.LOLLIPOP&&!r.includes(e.relation.type1)?(this.addClass(e.id1),this.addInterface(e.id2,e.id1),e.id2=`interface${this.interfaces.length-1}`):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=this.splitClassNameAndType(e.id1).className,e.id2=this.splitClassNameAndType(e.id2).className,e.relationTitle1=lt.sanitizeText(e.relationTitle1.trim(),ge()),e.relationTitle2=lt.sanitizeText(e.relationTitle2.trim(),ge()),this.relations.push(e)}addAnnotation(e,r){let i=this.splitClassNameAndType(e).className;this.classes.get(i).annotations.push(r)}addMember(e,r){this.addClass(e);let i=this.splitClassNameAndType(e).className,n=this.classes.get(i);if(typeof r=="string"){let a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?n.annotations.push(hg(a.substring(2,a.length-2))):a.indexOf(")")>0?n.methods.push(new OC(a,"method")):a&&n.members.push(new OC(a,"attribute"))}}addMembers(e,r){Array.isArray(r)&&(r.reverse(),r.forEach(i=>this.addMember(e,i)))}addNote(e,r){let i=this.notes.size,n={id:`note${i}`,class:r,text:e,index:i};return this.notes.set(n.id,n),n.id}cleanupLabel(e){return e.startsWith(":")&&(e=e.substring(1)),hg(e.trim())}setCssClass(e,r){e.split(",").forEach(i=>{let n=i;/\d/.exec(i[0])&&(n=S_+n);let a=this.classes.get(n);a&&(a.cssClasses+=" "+r)})}defineClass(e,r){for(let i of e){let n=this.styleClasses.get(i);n===void 0&&(n={id:i,styles:[],textStyles:[]},this.styleClasses.set(i,n)),r&&r.forEach(a=>{if(/color/.exec(a)){let s=a.replace("fill","bgFill");n.textStyles.push(s)}n.styles.push(a)}),this.classes.forEach(a=>{a.cssClasses.includes(i)&&a.styles.push(...r.flatMap(s=>s.split(",")))})}}setTooltip(e,r){e.split(",").forEach(i=>{r!==void 0&&(this.classes.get(i).tooltip=hg(r))})}getTooltip(e,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(e).tooltip:this.classes.get(e).tooltip}setLink(e,r,i){let n=ge();e.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=S_+s);let l=this.classes.get(s);l&&(l.link=Kt.formatUrl(r,n),n.securityLevel==="sandbox"?l.linkTarget="_top":typeof i=="string"?l.linkTarget=hg(i):l.linkTarget="_blank")}),this.setCssClass(e,"clickable")}setClickEvent(e,r,i){e.split(",").forEach(n=>{this.setClickFunc(n,r,i),this.classes.get(n).haveCallback=!0}),this.setCssClass(e,"clickable")}setClickFunc(e,r,i){let n=lt.sanitizeText(e,ge());if(ge().securityLevel!=="loose"||r===void 0)return;let s=n;if(this.classes.has(s)){let l=[];if(typeof i=="string"){l=i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let u=0;u{let u=this.lookUpDomId(s),h=document.querySelector(`[id="${u}"]`);h!==null&&h.addEventListener("click",()=>{Kt.runFunc(r,...l)},!1)})}}bindFunctions(e){this.functions.forEach(r=>{r(e)})}escapeHtml(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}getDirection(){return this.direction}setDirection(e){this.direction=e}addNamespace(e){this.namespaces.has(e)||(this.namespaces.set(e,{id:e,classes:new Map,notes:new Map,children:new Map,domId:S_+e+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(e){return this.namespaces.get(e)}getNamespaces(){return this.namespaces}addClassesToNamespace(e,r,i){if(this.namespaces.has(e)){for(let n of r){let{className:a}=this.splitClassNameAndType(n),s=this.getClass(a);s.parent=e,this.namespaces.get(e).classes.set(a,s)}for(let n of i){let a=this.getNote(n);a.parent=e,this.namespaces.get(e).notes.set(n,a)}}}setCssStyle(e,r){let i=this.classes.get(e);if(!(!r||!i))for(let n of r)n.includes(",")?i.styles.push(...n.split(",")):i.styles.push(n)}getArrowMarker(e){let r;switch(e){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}getData(){let e=[],r=[],i=ge();for(let a of this.namespaces.values()){let s={id:a.id,label:a.id,isGroup:!0,padding:i.class.padding??16,shape:"rect",cssStyles:[],look:i.look};e.push(s)}for(let a of this.classes.values()){let s={...a,type:void 0,isGroup:!1,parentId:a.parent,look:i.look};e.push(s)}for(let a of this.notes.values()){let s={id:a.id,label:a.text,isGroup:!1,shape:"note",padding:i.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${i.themeVariables.noteBkgColor}`,`stroke: ${i.themeVariables.noteBorderColor}`],look:i.look,parentId:a.parent,labelType:"markdown"};e.push(s);let l=this.classes.get(a.class)?.id;if(l){let u={id:`edgeNote${a.index}`,start:a.id,end:l,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:i.look};r.push(u)}}for(let a of this.interfaces){let s={id:a.id,label:a.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:i.look};e.push(s)}let n=0;for(let a of this.relations){n++;let s={id:Cu(a.id1,a.id2,{prefix:"id",counter:n}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:a.relationTitle1==="none"?"":a.relationTitle1,endLabelLeft:a.relationTitle2==="none"?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:a.relation.lineType==1?"dashed":"solid",look:i.look,labelType:"markdown"};r.push(s)}return{nodes:e,edges:r,other:{},config:i,direction:this.getDirection()}}}});var _ft,A_,dU=P(()=>{"use strict";wy();_ft=o(t=>`g.classGroup text { - fill: ${t.nodeBorder||t.classText}; - stroke: none; - font-family: ${t.fontFamily}; - font-size: 10px; - - .title { - font-weight: bolder; - } - -} - - .cluster-label text { - fill: ${t.titleColor}; - } - .cluster-label span { - color: ${t.titleColor}; - } - .cluster-label span p { - background-color: transparent; - } - - .cluster rect { - fill: ${t.clusterBkg}; - stroke: ${t.clusterBorder}; - stroke-width: 1px; - } - - .cluster text { - fill: ${t.titleColor}; - } - - .cluster span { - color: ${t.titleColor}; - } - -.nodeLabel, .edgeLabel { - color: ${t.classText}; -} - -.noteLabel .nodeLabel, .noteLabel .edgeLabel { - color: ${t.noteTextColor}; -} -.edgeLabel .label rect { - fill: ${t.mainBkg}; -} -.label text { - fill: ${t.classText}; -} - -.labelBkg { - background: ${t.mainBkg}; -} -.edgeLabel .label span { - background: ${t.mainBkg}; -} - -.classTitle { - font-weight: bolder; -} -.node rect, - .node circle, - .node ellipse, - .node polygon, - .node path { - fill: ${t.mainBkg}; - stroke: ${t.nodeBorder}; - stroke-width: ${t.strokeWidth}; - } - - -.divider { - stroke: ${t.nodeBorder}; - stroke-width: 1; -} - -g.clickable { - cursor: pointer; -} - -g.classGroup rect { - fill: ${t.mainBkg}; - stroke: ${t.nodeBorder}; -} - -g.classGroup line { - stroke: ${t.nodeBorder}; - stroke-width: 1; -} - -.classLabel .box { - stroke: none; - stroke-width: 0; - fill: ${t.mainBkg}; - opacity: 0.5; -} - -.classLabel .label { - fill: ${t.nodeBorder}; - font-size: 10px; -} - -.relation { - stroke: ${t.lineColor}; - stroke-width: ${t.strokeWidth}; - fill: none; -} - -.dashed-line{ - stroke-dasharray: 3; -} - -.dotted-line{ - stroke-dasharray: 1 2; -} - -[id$="-compositionStart"], .composition { - fill: ${t.lineColor} !important; - stroke: ${t.lineColor} !important; - stroke-width: 1; -} - -[id$="-compositionEnd"], .composition { - fill: ${t.lineColor} !important; - stroke: ${t.lineColor} !important; - stroke-width: 1; -} - -[id$="-dependencyStart"], .dependency { - fill: ${t.lineColor} !important; - stroke: ${t.lineColor} !important; - stroke-width: 1; -} - -[id$="-dependencyEnd"], .dependency { - fill: ${t.lineColor} !important; - stroke: ${t.lineColor} !important; - stroke-width: 1; -} - -[id$="-extensionStart"], .extension { - fill: transparent !important; - stroke: ${t.lineColor} !important; - stroke-width: 1; -} - -[id$="-extensionEnd"], .extension { - fill: transparent !important; - stroke: ${t.lineColor} !important; - stroke-width: 1; -} - -[id$="-aggregationStart"], .aggregation { - fill: transparent !important; - stroke: ${t.lineColor} !important; - stroke-width: 1; -} - -[id$="-aggregationEnd"], .aggregation { - fill: transparent !important; - stroke: ${t.lineColor} !important; - stroke-width: 1; -} - -[id$="-lollipopStart"], .lollipop { - fill: ${t.mainBkg} !important; - stroke: ${t.lineColor} !important; - stroke-width: 1; -} - -[id$="-lollipopEnd"], .lollipop { - fill: ${t.mainBkg} !important; - stroke: ${t.lineColor} !important; - stroke-width: 1; -} - -.edgeTerminals { - font-size: 11px; - line-height: initial; -} - -.classTitleText { - text-anchor: middle; - font-size: 18px; - fill: ${t.textColor}; -} - -.edgeLabel[data-look="neo"] { - background-color: ${t.edgeLabelBackground}; - p { - background-color: ${t.edgeLabelBackground}; - } - rect { - opacity: 0.5; - background-color: ${t.edgeLabelBackground}; - fill: ${t.edgeLabelBackground}; - } - text-align: center; -} - ${qu()} -`,"getStyles"),A_=_ft});var Dft,Lft,Rft,__,pU=P(()=>{"use strict";Ut();bt();I0();Wd();Ud();er();Dft=o((t,e="TB")=>{if(!t.doc)return e;let r=e;for(let i of t.doc)i.stmt==="dir"&&(r=i.value);return r},"getDir"),Lft=o(function(t,e){return e.db.getClasses()},"getClasses"),Rft=o(async function(t,e,r,i){Q.info("REF0:"),Q.info("Drawing class diagram (v3)",e);let{securityLevel:n,state:a,layout:s}=ge();i.db.setDiagramId(e);let l=i.db.getData(),u=Ol(e,n);l.type=i.type,l.layoutAlgorithm=Vu(s),l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["aggregation","extension","composition","dependency","lollipop"],l.diagramId=e,await Ul(l,u);let h=8;Kt.insertTitle(u,"classDiagramTitleText",a?.titleTopMargin??25,i.db.getDiagramTitle()),Ro(u,h,"classDiagram",a?.useMaxWidth??!0)},"draw"),__={getClasses:Lft,draw:Rft,getDir:Dft}});var q3e={};ur(q3e,{diagram:()=>Nft});var Nft,W3e=P(()=>{"use strict";hU();fU();dU();pU();Nft={parser:E_,get db(){return new tx},renderer:__,styles:A_,init:o(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var Y3e={};ur(Y3e,{diagram:()=>Pft});var Pft,j3e=P(()=>{"use strict";hU();fU();dU();pU();Pft={parser:E_,get db(){return new tx},renderer:__,styles:A_,init:o(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var mU,D_,gU=P(()=>{"use strict";mU=(function(){var t=o(function($,z,F,V){for(F=F||{},V=$.length;V--;F[$[V]]=z);return F},"o"),e=[1,2],r=[1,3],i=[1,4],n=[2,4],a=[1,9],s=[1,11],l=[1,16],u=[1,17],h=[1,18],f=[1,19],d=[1,33],p=[1,20],m=[1,21],g=[1,22],y=[1,23],v=[1,24],x=[1,26],b=[1,27],T=[1,28],w=[1,29],k=[1,30],C=[1,31],E=[1,32],S=[1,35],L=[1,36],M=[1,37],I=[1,38],A=[1,34],_=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],D=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],N=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],R={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:o(function(z,F,V,H,X,W,Z){var Y=W.length-1;switch(X){case 3:return H.setRootDoc(W[Y]),W[Y];break;case 4:this.$=[];break;case 5:W[Y]!="nl"&&(W[Y-1].push(W[Y]),this.$=W[Y-1]);break;case 6:case 7:this.$=W[Y];break;case 8:this.$="nl";break;case 12:this.$=W[Y];break;case 13:let re=W[Y-1];re.description=H.trimColon(W[Y]),this.$=re;break;case 14:this.$={stmt:"relation",state1:W[Y-2],state2:W[Y]};break;case 15:let te=H.trimColon(W[Y]);this.$={stmt:"relation",state1:W[Y-3],state2:W[Y-1],description:te};break;case 19:this.$={stmt:"state",id:W[Y-3],type:"default",description:"",doc:W[Y-1]};break;case 20:var ae=W[Y],J=W[Y-2].trim();if(W[Y].match(":")){var ee=W[Y].split(":");ae=ee[0],J=[J,ee[1]]}this.$={stmt:"state",id:ae,type:"default",description:J};break;case 21:this.$={stmt:"state",id:W[Y-3],type:"default",description:W[Y-5],doc:W[Y-1]};break;case 22:this.$={stmt:"state",id:W[Y],type:"fork"};break;case 23:this.$={stmt:"state",id:W[Y],type:"join"};break;case 24:this.$={stmt:"state",id:W[Y],type:"choice"};break;case 25:this.$={stmt:"state",id:H.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:W[Y-1].trim(),note:{position:W[Y-2].trim(),text:W[Y].trim()}};break;case 29:this.$=W[Y].trim(),H.setAccTitle(this.$);break;case 30:case 31:this.$=W[Y].trim(),H.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:W[Y-3],url:W[Y-2],tooltip:W[Y-1]};break;case 33:this.$={stmt:"click",id:W[Y-3],url:W[Y-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:W[Y-1].trim(),classes:W[Y].trim()};break;case 36:this.$={stmt:"style",id:W[Y-1].trim(),styleClass:W[Y].trim()};break;case 37:this.$={stmt:"applyClass",id:W[Y-1].trim(),styleClass:W[Y].trim()};break;case 38:H.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:H.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:H.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:H.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:W[Y].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:W[Y-2].trim(),classes:[W[Y].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:W[Y-2].trim(),classes:[W[Y].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:i},{1:[3]},{3:5,4:e,5:r,6:i},{3:6,4:e,5:r,6:i},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],n,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:w,41:k,45:C,48:E,51:S,52:L,53:M,54:I,57:A},t(_,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:w,41:k,45:C,48:E,51:S,52:L,53:M,54:I,57:A},t(_,[2,7]),t(_,[2,8]),t(_,[2,9]),t(_,[2,10]),t(_,[2,11]),t(_,[2,12],{14:[1,40],15:[1,41]}),t(_,[2,16]),{18:[1,42]},t(_,[2,18],{20:[1,43]}),{23:[1,44]},t(_,[2,22]),t(_,[2,23]),t(_,[2,24]),t(_,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(_,[2,28]),{34:[1,49]},{36:[1,50]},t(_,[2,31]),{13:51,24:d,57:A},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(D,[2,44],{58:[1,56]}),t(D,[2,45],{58:[1,57]}),t(_,[2,38]),t(_,[2,39]),t(_,[2,40]),t(_,[2,41]),t(_,[2,6]),t(_,[2,13]),{13:58,24:d,57:A},t(_,[2,17]),t(N,n,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(_,[2,29]),t(_,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(_,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,72],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:w,41:k,45:C,48:E,51:S,52:L,53:M,54:I,57:A},t(_,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(_,[2,34]),t(_,[2,35]),t(_,[2,36]),t(_,[2,37]),t(D,[2,46]),t(D,[2,47]),t(_,[2,15]),t(_,[2,19]),t(N,n,{7:78}),t(_,[2,26]),t(_,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,81],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:w,41:k,45:C,48:E,51:S,52:L,53:M,54:I,57:A},t(_,[2,32]),t(_,[2,33]),t(_,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:o(function(z,F){if(F.recoverable)this.trace(z);else{var V=new Error(z);throw V.hash=F,V}},"parseError"),parse:o(function(z){var F=this,V=[0],H=[],X=[null],W=[],Z=this.table,Y="",ae=0,J=0,ee=0,re=2,te=1,be=W.slice.call(arguments,1),de=Object.create(this.lexer),Ee={yy:{}};for(var Ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ne)&&(Ee.yy[Ne]=this.yy[Ne]);de.setInput(z,Ee.yy),Ee.yy.lexer=de,Ee.yy.parser=this,typeof de.yylloc>"u"&&(de.yylloc={});var we=de.yylloc;W.push(we);var Te=de.options&&de.options.ranges;typeof Ee.yy.parseError=="function"?this.parseError=Ee.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function De(G){V.length=V.length-2*G,X.length=X.length-G,W.length=W.length-G}o(De,"popStack");function $e(){var G;return G=H.pop()||de.lex()||te,typeof G!="number"&&(G instanceof Array&&(H=G,G=H.pop()),G=F.symbols_[G]||G),G}o($e,"lex");for(var pe,Je,Ce,Fe,Ue,qe,Me={},He,K,oe,U;;){if(Ce=V[V.length-1],this.defaultActions[Ce]?Fe=this.defaultActions[Ce]:((pe===null||typeof pe>"u")&&(pe=$e()),Fe=Z[Ce]&&Z[Ce][pe]),typeof Fe>"u"||!Fe.length||!Fe[0]){var ue="";U=[];for(He in Z[Ce])this.terminals_[He]&&He>re&&U.push("'"+this.terminals_[He]+"'");de.showPosition?ue="Parse error on line "+(ae+1)+`: -`+de.showPosition()+` -Expecting `+U.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":ue="Parse error on line "+(ae+1)+": Unexpected "+(pe==te?"end of input":"'"+(this.terminals_[pe]||pe)+"'"),this.parseError(ue,{text:de.match,token:this.terminals_[pe]||pe,line:de.yylineno,loc:we,expected:U})}if(Fe[0]instanceof Array&&Fe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ce+", token: "+pe);switch(Fe[0]){case 1:V.push(pe),X.push(de.yytext),W.push(de.yylloc),V.push(Fe[1]),pe=null,Je?(pe=Je,Je=null):(J=de.yyleng,Y=de.yytext,ae=de.yylineno,we=de.yylloc,ee>0&&ee--);break;case 2:if(K=this.productions_[Fe[1]][1],Me.$=X[X.length-K],Me._$={first_line:W[W.length-(K||1)].first_line,last_line:W[W.length-1].last_line,first_column:W[W.length-(K||1)].first_column,last_column:W[W.length-1].last_column},Te&&(Me._$.range=[W[W.length-(K||1)].range[0],W[W.length-1].range[1]]),qe=this.performAction.apply(Me,[Y,J,ae,Ee.yy,Fe[1],X,W].concat(be)),typeof qe<"u")return qe;K&&(V=V.slice(0,-1*K*2),X=X.slice(0,-1*K),W=W.slice(0,-1*K)),V.push(this.productions_[Fe[1]][0]),X.push(Me.$),W.push(Me._$),oe=Z[V[V.length-2]][V[V.length-1]],V.push(oe);break;case 3:return!0}}return!0},"parse")},B=(function(){var $={EOF:1,parseError:o(function(F,V){if(this.yy.parser)this.yy.parser.parseError(F,V);else throw new Error(F)},"parseError"),setInput:o(function(z,F){return this.yy=F||this.yy||{},this._input=z,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var z=this._input[0];this.yytext+=z,this.yyleng++,this.offset++,this.match+=z,this.matched+=z;var F=z.match(/(?:\r\n?|\n).*/g);return F?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),z},"input"),unput:o(function(z){var F=z.length,V=z.split(/(?:\r\n?|\n)/g);this._input=z+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-F),this.offset-=F;var H=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),V.length-1&&(this.yylineno-=V.length-1);var X=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:V?(V.length===H.length?this.yylloc.first_column:0)+H[H.length-V.length].length-V[0].length:this.yylloc.first_column-F},this.options.ranges&&(this.yylloc.range=[X[0],X[0]+this.yyleng-F]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(z){this.unput(this.match.slice(z))},"less"),pastInput:o(function(){var z=this.matched.substr(0,this.matched.length-this.match.length);return(z.length>20?"...":"")+z.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var z=this.match;return z.length<20&&(z+=this._input.substr(0,20-z.length)),(z.substr(0,20)+(z.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var z=this.pastInput(),F=new Array(z.length+1).join("-");return z+this.upcomingInput()+` -`+F+"^"},"showPosition"),test_match:o(function(z,F){var V,H,X;if(this.options.backtrack_lexer&&(X={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(X.yylloc.range=this.yylloc.range.slice(0))),H=z[0].match(/(?:\r\n?|\n).*/g),H&&(this.yylineno+=H.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:H?H[H.length-1].length-H[H.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+z[0].length},this.yytext+=z[0],this.match+=z[0],this.matches=z,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(z[0].length),this.matched+=z[0],V=this.performAction.call(this,this.yy,this,F,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),V)return V;if(this._backtrack){for(var W in X)this[W]=X[W];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var z,F,V,H;this._more||(this.yytext="",this.match="");for(var X=this._currentRules(),W=0;WF[0].length)){if(F=V,H=W,this.options.backtrack_lexer){if(z=this.test_match(V,X[W]),z!==!1)return z;if(this._backtrack){F=!1;continue}else return!1}else if(!this.options.flex)break}return F?(z=this.test_match(F,X[H]),z!==!1?z:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var F=this.next();return F||this.lex()},"lex"),begin:o(function(F){this.conditionStack.push(F)},"begin"),popState:o(function(){var F=this.conditionStack.length-1;return F>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(F){return F=this.conditionStack.length-1-Math.abs(F||0),F>=0?this.conditionStack[F]:"INITIAL"},"topState"),pushState:o(function(F){this.begin(F)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(F,V,H,X){var W=X;switch(H){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:break;case 9:break;case 10:return 5;case 11:break;case 12:break;case 13:break;case 14:break;case 15:return this.pushState("SCALE"),17;break;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;break;case 19:return this.popState(),"acc_title_value";break;case 20:return this.begin("acc_descr"),35;break;case 21:return this.popState(),"acc_descr_value";break;case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;break;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 27:return this.popState(),this.pushState("CLASSDEFID"),42;break;case 28:return this.popState(),43;break;case 29:return this.pushState("CLASS"),48;break;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;break;case 31:return this.popState(),50;break;case 32:return this.pushState("STYLE"),45;break;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;break;case 34:return this.popState(),47;break;case 35:return this.pushState("SCALE"),17;break;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),25;break;case 40:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),26;break;case 41:return this.popState(),V.yytext=V.yytext.slice(0,-10).trim(),27;break;case 42:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),25;break;case 43:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),26;break;case 44:return this.popState(),V.yytext=V.yytext.slice(0,-10).trim(),27;break;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";break;case 51:return this.popState(),"ID";break;case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;break;case 57:break;case 58:return this.popState(),21;break;case 59:break;case 60:return this.begin("NOTE"),29;break;case 61:return this.popState(),this.pushState("NOTE_ID"),59;break;case 62:return this.popState(),this.pushState("NOTE_ID"),60;break;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";break;case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";break;case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;break;case 69:return this.popState(),V.yytext=V.yytext.substr(2).trim(),31;break;case 70:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),31;break;case 71:return 6;case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return V.yytext=V.yytext.trim(),14;break;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78,79],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}};return $})();R.lexer=B;function O(){this.yy={}}return o(O,"Parser"),O.prototype=R,R.Parser=O,new O})();mU.parser=mU;D_=mU});var Dp,fg,PC,Q3e,Z3e,J3e,dg,L_,yU,vU,xU,bU,R_,N_,e5e,t5e,TU,kU,r5e,i5e,rx,zft,n5e,CU,Gft,Vft,a5e,s5e,qft,o5e,Wft,l5e,wU,EU,c5e,I_,u5e,SU,M_=P(()=>{"use strict";Dp="state",fg="root",PC="relation",Q3e="classDef",Z3e="style",J3e="applyClass",dg="default",L_="divider",yU="fill:none",vU="fill: #333",xU="markdown",bU="normal",R_="rect",N_="rectWithTitle",e5e="stateStart",t5e="stateEnd",TU="divider",kU="roundedWithTitle",r5e="note",i5e="noteGroup",rx="statediagram",zft="state",n5e=`${rx}-${zft}`,CU="transition",Gft="note",Vft="note-edge",a5e=`${CU} ${Vft}`,s5e=`${rx}-${Gft}`,qft="cluster",o5e=`${rx}-${qft}`,Wft="cluster-alt",l5e=`${rx}-${Wft}`,wU="parent",EU="note",c5e="state",I_="----",u5e=`${I_}${EU}`,SU=`${I_}${wU}`});function AU(t="",e=0,r="",i=I_){let n=r!==null&&r.length>0?`${i}${r}`:"";return`${c5e}-${t}${n}-${e}`}function O_(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(n=>{let a=r.get(n);a&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...a.styles])}));let i=t.find(n=>n.id===e.id);i?Object.assign(i,e):t.push(e)}function Hft(t){return t?.classes?.join(" ")??""}function Yft(t){return t?.styles??[]}var P_,Lp,Uft,h5e,ix,d5e,p5e=P(()=>{"use strict";Ut();bt();Vr();M_();P_=new Map,Lp=0;o(AU,"stateDomId");Uft=o((t,e,r,i,n,a,s,l)=>{Q.trace("items",e),e.forEach(u=>{switch(u.stmt){case Dp:ix(t,u,r,i,n,a,s,l);break;case dg:ix(t,u,r,i,n,a,s,l);break;case PC:{ix(t,u.state1,r,i,n,a,s,l),ix(t,u.state2,r,i,n,a,s,l);let h=s==="neo",f={id:"edge"+Lp,start:u.state1.id,end:u.state2.id,arrowhead:"normal",arrowTypeEnd:h?"arrow_barb_neo":"arrow_barb",style:yU,labelStyle:"",label:lt.sanitizeText(u.description??"",ge()),arrowheadStyle:vU,labelpos:"c",labelType:xU,thickness:bU,classes:CU,look:s};n.push(f),Lp++}break}})},"setupDoc"),h5e=o((t,e="TB")=>{let r=e;if(t.doc)for(let i of t.doc)i.stmt==="dir"&&(r=i.value);return r},"getDir");o(O_,"insertOrUpdateNode");o(Hft,"getClassesFromDbInfo");o(Yft,"getStylesFromDbInfo");ix=o((t,e,r,i,n,a,s,l)=>{let u=e.id,h=r.get(u),f=Hft(h),d=Yft(h),p=ge();if(Q.info("dataFetcher parsedItem",e,h,d),u!=="root"){let m=R_;e.start===!0?m=e5e:e.start===!1&&(m=t5e),e.type!==dg&&(m=e.type),P_.get(u)||P_.set(u,{id:u,shape:m,description:lt.sanitizeText(u,p),cssClasses:`${f} ${n5e}`,cssStyles:d});let g=P_.get(u);e.description&&(Array.isArray(g.description)?(g.shape=N_,g.description.push(e.description)):g.description?.length&&g.description.length>0?(g.shape=N_,g.description===u?g.description=[e.description]:g.description=[g.description,e.description]):(g.shape=R_,g.description=e.description),g.description=lt.sanitizeTextOrArray(g.description,p)),g.description?.length===1&&g.shape===N_&&(g.type==="group"?g.shape=kU:g.shape=R_),!g.type&&e.doc&&(Q.info("Setting cluster for XCX",u,h5e(e)),g.type="group",g.isGroup=!0,g.dir=h5e(e),g.shape=e.type===L_?TU:kU,g.cssClasses=`${g.cssClasses} ${o5e} ${a?l5e:""}`);let y={labelStyle:"",shape:g.shape,label:g.description,cssClasses:g.cssClasses,cssCompiledStyles:[],cssStyles:g.cssStyles,id:u,dir:g.dir,domId:AU(u,Lp),type:g.type,isGroup:g.type==="group",padding:8,rx:10,ry:10,look:s,labelType:"markdown"};if(y.shape===TU&&(y.label=""),t&&t.id!=="root"&&(Q.trace("Setting node ",u," to be child of its parent ",t.id),y.parentId=t.id),y.centerLabel=!0,e.note){let v={labelStyle:"",shape:r5e,label:e.note.text,labelType:"markdown",cssClasses:s5e,cssStyles:[],cssCompiledStyles:[],id:u+u5e+"-"+Lp,domId:AU(u,Lp,EU),type:g.type,isGroup:g.type==="group",padding:p.flowchart?.padding,look:s,position:e.note.position},x=u+SU,b={labelStyle:"",shape:i5e,label:e.note.text,cssClasses:g.cssClasses,cssStyles:[],id:u+SU,domId:AU(u,Lp,wU),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};Lp++,b.id=x,v.parentId=x,O_(i,b,l),O_(i,v,l),O_(i,y,l);let T=u,w=v.id;e.note.position==="left of"&&(T=v.id,w=u),n.push({id:T+"-"+w,start:T,end:w,arrowhead:"none",arrowTypeEnd:"",style:yU,labelStyle:"",classes:a5e,arrowheadStyle:vU,labelpos:"c",labelType:xU,thickness:bU,look:s})}else O_(i,y,l)}e.doc&&(Q.trace("Adding nodes children "),Uft(e,e.doc,r,i,n,!a,s,l))},"dataFetcher"),d5e=o(()=>{P_.clear(),Lp=0},"reset")});var DU,jft,Xft,m5e,LU=P(()=>{"use strict";Ut();bt();I0();Wd();Ud();er();M_();DU=o((t,e="TB")=>{if(!t.doc)return e;let r=e;for(let i of t.doc)i.stmt==="dir"&&(r=i.value);return r},"getDir"),jft=o(function(t,e){return e.db.getClasses()},"getClasses"),Xft=o(async function(t,e,r,i){Q.info("REF0:"),Q.info("Drawing state diagram (v2)",e);let{securityLevel:n,state:a,layout:s}=ge();i.db.extract(i.db.getRootDocV2());let l=i.db.getData(),u=Ol(e,n);l.type=i.type,l.layoutAlgorithm=s,l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,ge().look==="neo"?l.markers=["barbNeo"]:l.markers=["barb"],l.diagramId=e,await Ul(l,u);let f=8;try{(typeof i.db.getLinks=="function"?i.db.getLinks():new Map).forEach((p,m)=>{let g=typeof m=="string"?m:typeof m?.id=="string"?m.id:"";if(!g){Q.warn("\u26A0\uFE0F Invalid or missing stateId from key:",JSON.stringify(m));return}let y=u.node()?.querySelectorAll("g"),v;if(y?.forEach(w=>{w.textContent?.trim()===g&&(v=w)}),!v){Q.warn("\u26A0\uFE0F Could not find node matching text:",g);return}let x=v.parentNode;if(!x){Q.warn("\u26A0\uFE0F Node has no parent, cannot wrap:",g);return}let b=document.createElementNS("http://www.w3.org/2000/svg","a"),T=p.url.replace(/^"+|"+$/g,"");if(b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",T),b.setAttribute("target","_blank"),p.tooltip){let w=p.tooltip.replace(/^"+|"+$/g,"");b.setAttribute("title",w)}x.replaceChild(b,v),b.appendChild(v),Q.info("\u{1F517} Wrapped node in
    tag for:",g,p.url)})}catch(d){Q.error("\u274C Error injecting clickable links:",d)}Kt.insertTitle(u,"statediagramTitleText",a?.titleTopMargin??25,i.db.getDiagramTitle()),Ro(u,f,rx,a?.useMaxWidth??!0)},"draw"),m5e={getClasses:jft,draw:Xft,getDir:DU}});var no,y5e,v5e,B_,rc,F_=P(()=>{"use strict";Ut();bt();er();Vr();Ki();p5e();LU();M_();no={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},y5e=o(()=>new Map,"newClassesList"),v5e=o(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),B_=o(t=>JSON.parse(JSON.stringify(t)),"clone"),rc=class{constructor(e){this.version=e;this.nodes=[];this.edges=[];this.rootDoc=[];this.classes=y5e();this.documents={root:v5e()};this.currentDocument=this.documents.root;this.startEndCount=0;this.dividerCnt=0;this.links=new Map;this.getAccTitle=Dr;this.setAccTitle=Ar;this.getAccDescription=Rr;this.setAccDescription=Lr;this.setDiagramTitle=Mr;this.getDiagramTitle=Nr;this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}static{o(this,"StateDB")}static{this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}}extract(e){this.clear(!0);for(let n of Array.isArray(e)?e:e.doc)switch(n.stmt){case Dp:this.addState(n.id.trim(),n.type,n.doc,n.description,n.note);break;case PC:this.addRelation(n.state1,n.state2,n.description);break;case Q3e:this.addStyleClass(n.id.trim(),n.classes);break;case Z3e:this.handleStyleDef(n);break;case J3e:this.setCssClass(n.id.trim(),n.styleClass);break;case"click":this.addLink(n.id,n.url,n.tooltip);break}let r=this.getStates(),i=ge();d5e(),ix(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,i.look,this.classes);for(let n of this.nodes)if(Array.isArray(n.label)){if(n.description=n.label.slice(1),n.isGroup&&n.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${n.id}]`);n.label=n.label[0]}}handleStyleDef(e){let r=e.id.trim().split(","),i=e.styleClass.split(",");for(let n of r){let a=this.getState(n);if(!a){let s=n.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=i.map(s=>s.replace(/;/g,"")?.trim()))}}setRootDoc(e){Q.info("Setting root doc",e),this.rootDoc=e,this.version===1?this.extract(e):this.extract(this.getRootDocV2())}docTranslator(e,r,i){if(r.stmt===PC){this.docTranslator(e,r.state1,!0),this.docTranslator(e,r.state2,!1);return}if(r.stmt===Dp&&(r.id===no.START_NODE?(r.id=e.id+(i?"_start":"_end"),r.start=i):r.id=r.id.trim()),r.stmt!==fg&&r.stmt!==Dp||!r.doc)return;let n=[],a=[];for(let s of r.doc)if(s.type===L_){let l=B_(s);l.doc=B_(a),n.push(l),a=[]}else a.push(s);if(n.length>0&&a.length>0){let s={stmt:Dp,id:bI(),type:"divider",doc:B_(a)};n.push(B_(s)),r.doc=n}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:fg,stmt:fg},{id:fg,stmt:fg,doc:this.rootDoc},!0),{id:fg,doc:this.rootDoc}}addState(e,r=dg,i=void 0,n=void 0,a=void 0,s=void 0,l=void 0,u=void 0){let h=e?.trim();if(!this.currentDocument.states.has(h))Q.info("Adding state ",h,n),this.currentDocument.states.set(h,{stmt:Dp,id:h,descriptions:[],type:r,doc:i,note:a,classes:[],styles:[],textStyles:[]});else{let f=this.currentDocument.states.get(h);if(!f)throw new Error(`State not found: ${h}`);f.doc||(f.doc=i),f.type||(f.type=r)}if(n&&(Q.info("Setting state description",h,n),(Array.isArray(n)?n:[n]).forEach(d=>this.addDescription(h,d.trim()))),a){let f=this.currentDocument.states.get(h);if(!f)throw new Error(`State not found: ${h}`);f.note=a,f.note.text=lt.sanitizeText(f.note.text,ge())}s&&(Q.info("Setting state classes",h,s),(Array.isArray(s)?s:[s]).forEach(d=>this.setCssClass(h,d.trim()))),l&&(Q.info("Setting state styles",h,l),(Array.isArray(l)?l:[l]).forEach(d=>this.setStyle(h,d.trim()))),u&&(Q.info("Setting state styles",h,l),(Array.isArray(u)?u:[u]).forEach(d=>this.setTextStyle(h,d.trim())))}clear(e){this.nodes=[],this.edges=[],this.documents={root:v5e()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=y5e(),e||(this.links=new Map,wr())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){Q.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,r,i){this.links.set(e,{url:r,tooltip:i}),Q.warn("Adding link",e,r,i)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===no.START_NODE?(this.startEndCount++,`${no.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",r=dg){return e===no.START_NODE?no.START_TYPE:r}endIdIfNeeded(e=""){return e===no.END_NODE?(this.startEndCount++,`${no.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",r=dg){return e===no.END_NODE?no.END_TYPE:r}addRelationObjs(e,r,i=""){let n=this.startIdIfNeeded(e.id.trim()),a=this.startTypeIfNeeded(e.id.trim(),e.type),s=this.startIdIfNeeded(r.id.trim()),l=this.startTypeIfNeeded(r.id.trim(),r.type);this.addState(n,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.addState(s,l,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:n,id2:s,relationTitle:lt.sanitizeText(i,ge())})}addRelation(e,r,i){if(typeof e=="object"&&typeof r=="object")this.addRelationObjs(e,r,i);else if(typeof e=="string"&&typeof r=="string"){let n=this.startIdIfNeeded(e.trim()),a=this.startTypeIfNeeded(e),s=this.endIdIfNeeded(r.trim()),l=this.endTypeIfNeeded(r);this.addState(n,a),this.addState(s,l),this.currentDocument.relations.push({id1:n,id2:s,relationTitle:i?lt.sanitizeText(i,ge()):void 0})}}addDescription(e,r){let i=this.currentDocument.states.get(e),n=r.startsWith(":")?r.replace(":","").trim():r;i?.descriptions?.push(lt.sanitizeText(n,ge()))}cleanupLabel(e){return e.startsWith(":")?e.slice(2).trim():e.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(e,r=""){this.classes.has(e)||this.classes.set(e,{id:e,styles:[],textStyles:[]});let i=this.classes.get(e);r&&i&&r.split(no.STYLECLASS_SEP).forEach(n=>{let a=n.replace(/([^;]*);/,"$1").trim();if(RegExp(no.COLOR_KEYWORD).exec(n)){let l=a.replace(no.FILL_KEYWORD,no.BG_FILL).replace(no.COLOR_KEYWORD,no.FILL_KEYWORD);i.textStyles.push(l)}i.styles.push(a)})}getClasses(){return this.classes}setCssClass(e,r){e.split(",").forEach(i=>{let n=this.getState(i);if(!n){let a=i.trim();this.addState(a),n=this.getState(a)}n?.classes?.push(r)})}setStyle(e,r){this.getState(e)?.styles?.push(r)}setTextStyle(e,r){this.getState(e)?.textStyles?.push(r)}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt==="dir")}getDirection(){return this.getDirectionStatement()?.value??"TB"}setDirection(e){let r=this.getDirectionStatement();r?r.value=e:this.rootDoc.unshift({stmt:"dir",value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){let e=ge();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:DU(this.getRootDocV2())}}getConfig(){return ge().state}}});var Qft,$_,RU=P(()=>{"use strict";Qft=o(t=>` -defs [id$="-barbEnd"] { - fill: ${t.transitionColor}; - stroke: ${t.transitionColor}; - } -g.stateGroup text { - fill: ${t.nodeBorder}; - stroke: none; - font-size: 10px; -} -g.stateGroup text { - fill: ${t.textColor}; - stroke: none; - font-size: 10px; - -} -g.stateGroup .state-title { - font-weight: bolder; - fill: ${t.stateLabelColor}; -} - -g.stateGroup rect { - fill: ${t.mainBkg}; - stroke: ${t.nodeBorder}; -} - -g.stateGroup line { - stroke: ${t.lineColor}; - stroke-width: ${t.strokeWidth||1}; -} - -.transition { - stroke: ${t.transitionColor}; - stroke-width: ${t.strokeWidth||1}; - fill: none; -} - -.stateGroup .composit { - fill: ${t.background}; - border-bottom: 1px -} - -.stateGroup .alt-composit { - fill: #e0e0e0; - border-bottom: 1px -} - -.state-note { - stroke: ${t.noteBorderColor}; - fill: ${t.noteBkgColor}; - - text { - fill: ${t.noteTextColor}; - stroke: none; - font-size: 10px; - } -} - -.stateLabel .box { - stroke: none; - stroke-width: 0; - fill: ${t.mainBkg}; - opacity: 0.5; -} - -.edgeLabel .label rect { - fill: ${t.labelBackgroundColor}; - opacity: 0.5; -} -.edgeLabel { - background-color: ${t.edgeLabelBackground}; - p { - background-color: ${t.edgeLabelBackground}; - } - rect { - opacity: 0.5; - background-color: ${t.edgeLabelBackground}; - fill: ${t.edgeLabelBackground}; - } - text-align: center; -} -.edgeLabel .label text { - fill: ${t.transitionLabelColor||t.tertiaryTextColor}; -} -.label div .edgeLabel { - color: ${t.transitionLabelColor||t.tertiaryTextColor}; -} - -.stateLabel text { - fill: ${t.stateLabelColor}; - font-size: 10px; - font-weight: bold; -} - -.node circle.state-start { - fill: ${t.specialStateColor}; - stroke: ${t.specialStateColor}; -} - -.node .fork-join { - fill: ${t.specialStateColor}; - stroke: ${t.specialStateColor}; -} - -.node circle.state-end { - fill: ${t.innerEndBackground}; - stroke: ${t.background}; - stroke-width: 1.5 -} -.end-state-inner { - fill: ${t.compositeBackground||t.background}; - // stroke: ${t.background}; - stroke-width: 1.5 -} - -.node rect { - fill: ${t.stateBkg||t.mainBkg}; - stroke: ${t.stateBorder||t.nodeBorder}; - stroke-width: ${t.strokeWidth||1}px; -} -.node polygon { - fill: ${t.mainBkg}; - stroke: ${t.stateBorder||t.nodeBorder};; - stroke-width: ${t.strokeWidth||1}px; -} -[id$="-barbEnd"] { - fill: ${t.lineColor}; -} - -.statediagram-cluster rect { - fill: ${t.compositeTitleBackground}; - stroke: ${t.stateBorder||t.nodeBorder}; - stroke-width: ${t.strokeWidth||1}px; -} - -.cluster-label, .nodeLabel { - color: ${t.stateLabelColor}; - // line-height: 1; -} - -.statediagram-cluster rect.outer { - rx: 5px; - ry: 5px; -} -.statediagram-state .divider { - stroke: ${t.stateBorder||t.nodeBorder}; -} - -.statediagram-state .title-state { - rx: 5px; - ry: 5px; -} -.statediagram-cluster.statediagram-cluster .inner { - fill: ${t.compositeBackground||t.background}; -} -.statediagram-cluster.statediagram-cluster-alt .inner { - fill: ${t.altBackground?t.altBackground:"#efefef"}; -} - -.statediagram-cluster .inner { - rx:0; - ry:0; -} - -.statediagram-state rect.basic { - rx: 5px; - ry: 5px; -} -.statediagram-state rect.divider { - stroke-dasharray: 10,10; - fill: ${t.altBackground?t.altBackground:"#efefef"}; -} - -.note-edge { - stroke-dasharray: 5; -} - -.statediagram-note rect { - fill: ${t.noteBkgColor}; - stroke: ${t.noteBorderColor}; - stroke-width: 1px; - rx: 0; - ry: 0; -} -.statediagram-note rect { - fill: ${t.noteBkgColor}; - stroke: ${t.noteBorderColor}; - stroke-width: 1px; - rx: 0; - ry: 0; -} - -.statediagram-note text { - fill: ${t.noteTextColor}; -} - -.statediagram-note .nodeLabel { - color: ${t.noteTextColor}; -} -.statediagram .edgeLabel { - color: red; // ${t.noteTextColor}; -} - -[id$="-dependencyStart"], [id$="-dependencyEnd"] { - fill: ${t.lineColor}; - stroke: ${t.lineColor}; - stroke-width: ${t.strokeWidth||1}; -} - -.statediagramTitleText { - text-anchor: middle; - font-size: 18px; - fill: ${t.textColor}; -} - -[data-look="neo"].statediagram-cluster rect { - fill: ${t.mainBkg}; - stroke: ${t.useGradient?"url("+t.svgId+"-gradient)":t.stateBorder||t.nodeBorder}; - stroke-width: ${t.strokeWidth??1}; -} -[data-look="neo"].statediagram-cluster rect.outer { - rx: ${t.radius}px; - ry: ${t.radius}px; - filter: ${t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${t.svgId}-drop-shadow)`):"none"} -} -`,"getStyles"),$_=Qft});var Zft,Jft,edt,tdt,b5e,rdt,idt,ndt,adt,NU,x5e,T5e,k5e=P(()=>{"use strict";Pr();F_();er();Vr();Ut();bt();Zft=o(t=>t.append("circle").attr("class","start-state").attr("r",ge().state.sizeUnit).attr("cx",ge().state.padding+ge().state.sizeUnit).attr("cy",ge().state.padding+ge().state.sizeUnit),"drawStartState"),Jft=o(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",ge().state.textHeight).attr("class","divider").attr("x2",ge().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),edt=o((t,e)=>{let r=t.append("text").attr("x",2*ge().state.padding).attr("y",ge().state.textHeight+2*ge().state.padding).attr("font-size",ge().state.fontSize).attr("class","state-title").text(e.id),i=r.node().getBBox();return t.insert("rect",":first-child").attr("x",ge().state.padding).attr("y",ge().state.padding).attr("width",i.width+2*ge().state.padding).attr("height",i.height+2*ge().state.padding).attr("rx",ge().state.radius),r},"drawSimpleState"),tdt=o((t,e)=>{let r=o(function(p,m,g){let y=p.append("tspan").attr("x",2*ge().state.padding).text(m);g||y.attr("dy",ge().state.textHeight)},"addTspan"),n=t.append("text").attr("x",2*ge().state.padding).attr("y",ge().state.textHeight+1.3*ge().state.padding).attr("font-size",ge().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=n.height,s=t.append("text").attr("x",ge().state.padding).attr("y",a+ge().state.padding*.4+ge().state.dividerMargin+ge().state.textHeight).attr("class","state-description"),l=!0,u=!0;e.descriptions.forEach(function(p){l||(r(s,p,u),u=!1),l=!1});let h=t.append("line").attr("x1",ge().state.padding).attr("y1",ge().state.padding+a+ge().state.dividerMargin/2).attr("y2",ge().state.padding+a+ge().state.dividerMargin/2).attr("class","descr-divider"),f=s.node().getBBox(),d=Math.max(f.width,n.width);return h.attr("x2",d+3*ge().state.padding),t.insert("rect",":first-child").attr("x",ge().state.padding).attr("y",ge().state.padding).attr("width",d+2*ge().state.padding).attr("height",f.height+a+2*ge().state.padding).attr("rx",ge().state.radius),t},"drawDescrState"),b5e=o((t,e,r)=>{let i=ge().state.padding,n=2*ge().state.padding,a=t.node().getBBox(),s=a.width,l=a.x,u=t.append("text").attr("x",0).attr("y",ge().state.titleShift).attr("font-size",ge().state.fontSize).attr("class","state-title").text(e.id),f=u.node().getBBox().width+n,d=Math.max(f,s);d===s&&(d=d+n);let p,m=t.node().getBBox();e.doc,p=l-i,f>s&&(p=(s-d)/2+i),Math.abs(l-m.x)s&&(p=l-(f-s)/2);let g=1-ge().state.textHeight;return t.insert("rect",":first-child").attr("x",p).attr("y",g).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",m.height+ge().state.textHeight+ge().state.titleShift+1).attr("rx","0"),u.attr("x",p+i),f<=s&&u.attr("x",l+(d-n)/2-f/2+i),t.insert("rect",":first-child").attr("x",p).attr("y",ge().state.titleShift-ge().state.textHeight-ge().state.padding).attr("width",d).attr("height",ge().state.textHeight*3).attr("rx",ge().state.radius),t.insert("rect",":first-child").attr("x",p).attr("y",ge().state.titleShift-ge().state.textHeight-ge().state.padding).attr("width",d).attr("height",m.height+3+2*ge().state.textHeight).attr("rx",ge().state.radius),t},"addTitleAndBox"),rdt=o(t=>(t.append("circle").attr("class","end-state-outer").attr("r",ge().state.sizeUnit+ge().state.miniPadding).attr("cx",ge().state.padding+ge().state.sizeUnit+ge().state.miniPadding).attr("cy",ge().state.padding+ge().state.sizeUnit+ge().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",ge().state.sizeUnit).attr("cx",ge().state.padding+ge().state.sizeUnit+2).attr("cy",ge().state.padding+ge().state.sizeUnit+2)),"drawEndState"),idt=o((t,e)=>{let r=ge().state.forkWidth,i=ge().state.forkHeight;if(e.parentId){let n=r;r=i,i=n}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",i).attr("x",ge().state.padding).attr("y",ge().state.padding)},"drawForkJoinState"),ndt=o((t,e,r,i)=>{let n=0,a=i.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");let l=s.split(lt.lineBreakRegex),u=1.25*ge().state.noteMargin;for(let h of l){let f=h.trim();if(f.length>0){let d=a.append("tspan");if(d.text(f),u===0){let p=d.node().getBBox();u+=p.height}n+=u,d.attr("x",e+ge().state.noteMargin),d.attr("y",r+n+1.25*ge().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:n}},"_drawLongText"),adt=o((t,e)=>{e.attr("class","state-note");let r=e.append("rect").attr("x",0).attr("y",ge().state.padding),i=e.append("g"),{textWidth:n,textHeight:a}=ndt(t,0,0,i);return r.attr("height",a+2*ge().state.noteMargin),r.attr("width",n+ge().state.noteMargin*2),r},"drawNote"),NU=o(function(t,e){let r=e.id,i={id:r,label:e.id,width:0,height:0},n=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&Zft(n),e.type==="end"&&rdt(n),(e.type==="fork"||e.type==="join")&&idt(n,e),e.type==="note"&&adt(e.note.text,n),e.type==="divider"&&Jft(n),e.type==="default"&&e.descriptions.length===0&&edt(n,e),e.type==="default"&&e.descriptions.length>0&&tdt(n,e);let a=n.node().getBBox();return i.width=a.width+2*ge().state.padding,i.height=a.height+2*ge().state.padding,i},"drawState"),x5e=0,T5e=o(function(t,e,r){let i=o(function(u){switch(u){case rc.relationType.AGGREGATION:return"aggregation";case rc.relationType.EXTENSION:return"extension";case rc.relationType.COMPOSITION:return"composition";case rc.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(u=>!Number.isNaN(u.y));let n=e.points,a=Cc().x(function(u){return u.x}).y(function(u){return u.y}).curve(wc),s=t.append("path").attr("d",a(n)).attr("id","edge"+x5e).attr("class","transition"),l="";if(ge().state.arrowMarkerAbsolute&&(l=Yp(!0)),s.attr("marker-end","url("+l+"#"+i(rc.relationType.DEPENDENCY)+"End)"),r.title!==void 0){let u=t.append("g").attr("class","stateLabel"),{x:h,y:f}=Kt.calcLabelPosition(e.points),d=lt.getRows(r.title),p=0,m=[],g=0,y=0;for(let b=0;b<=d.length;b++){let T=u.append("text").attr("text-anchor","middle").text(d[b]).attr("x",h).attr("y",f+p),w=T.node().getBBox();g=Math.max(g,w.width),y=Math.min(y,w.x),Q.info(w.x,h,f+p),p===0&&(p=T.node().getBBox().height,Q.info("Title height",p,f)),m.push(T)}let v=p*d.length;if(d.length>1){let b=(d.length-1)*p*.5;m.forEach((T,w)=>T.attr("y",f+w*p-b)),v=p*d.length}let x=u.node().getBBox();u.insert("rect",":first-child").attr("class","box").attr("x",h-g/2-ge().state.padding/2).attr("y",f-v/2-ge().state.padding/2-3.5).attr("width",g+ge().state.padding).attr("height",v+ge().state.padding),Q.info(x)}x5e++},"drawEdge")});var dl,IU,sdt,odt,ldt,cdt,C5e,w5e,E5e=P(()=>{"use strict";Pr();YO();$l();bt();Vr();k5e();Ut();Xi();IU={},sdt=o(function(){},"setConf"),odt=o(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),ldt=o(function(t,e,r,i){dl=ge().state;let n=ge().securityLevel,a;n==="sandbox"&&(a=Ze("#i"+e));let s=n==="sandbox"?Ze(a.nodes()[0].contentDocument.body):Ze("body"),l=n==="sandbox"?a.nodes()[0].contentDocument:document;Q.debug("Rendering diagram "+t);let u=s.select(`[id='${e}']`);odt(u);let h=i.db.getRootDoc(),f=u.append("g").attr("id",e+"-root");C5e(h,f,void 0,!1,s,l,i);let d=dl.padding,p=u.node().getBBox(),m=p.width+d*2,g=p.height+d*2,y=m*1.75;Hr(u,g,y,dl.useMaxWidth),u.attr("viewBox",`${p.x-dl.padding} ${p.y-dl.padding} `+m+" "+g)},"draw"),cdt=o(t=>t?t.length*dl.fontSizeFactor:1,"getLabelWidth"),C5e=o((t,e,r,i,n,a,s)=>{let l=new Ai({compound:!0,multigraph:!0}),u,h=!0;for(u=0;u{let k=w.parentElement,C=0,E=0;k&&(k.parentElement&&(C=k.parentElement.getBBox().width),E=parseInt(k.getAttribute("data-x-shift"),10),Number.isNaN(E)&&(E=0)),w.setAttribute("x1",0-E+8),w.setAttribute("x2",C-E-8)})):Q.debug("No Node "+b+": "+JSON.stringify(l.node(b)))});let v=y.getBBox();l.edges().forEach(function(b){b!==void 0&&l.edge(b)!==void 0&&(Q.debug("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(l.edge(b))),T5e(e,l.edge(b),l.edge(b).relation))}),v=y.getBBox();let x={id:r||"root",label:r||"root",width:0,height:0};return x.width=v.width+2*dl.padding,x.height=v.height+2*dl.padding,Q.debug("Doc rendered",x,l),x},"renderDoc"),w5e={setConf:sdt,draw:ldt}});var S5e={};ur(S5e,{diagram:()=>udt});var udt,A5e=P(()=>{"use strict";gU();F_();RU();E5e();udt={parser:D_,get db(){return new rc(1)},renderer:w5e,styles:$_,init:o(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var L5e={};ur(L5e,{diagram:()=>pdt});var pdt,R5e=P(()=>{"use strict";gU();F_();RU();LU();pdt={parser:D_,get db(){return new rc(2)},renderer:m5e,styles:$_,init:o(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var MU,M5e,O5e=P(()=>{"use strict";MU=(function(){var t=o(function(d,p,m,g){for(m=m||{},g=d.length;g--;m[d[g]]=p);return m},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],i=[1,10],n=[1,11],a=[1,12],s=[1,13],l=[1,14],u={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:o(function(p,m,g,y,v,x,b){var T=x.length-1;switch(v){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:y.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:i,14:n,16:a,17:s,18:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:i,14:n,16:a,17:s,18:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:o(function(p,m){if(m.recoverable)this.trace(p);else{var g=new Error(p);throw g.hash=m,g}},"parseError"),parse:o(function(p){var m=this,g=[0],y=[],v=[null],x=[],b=this.table,T="",w=0,k=0,C=0,E=2,S=1,L=x.slice.call(arguments,1),M=Object.create(this.lexer),I={yy:{}};for(var A in this.yy)Object.prototype.hasOwnProperty.call(this.yy,A)&&(I.yy[A]=this.yy[A]);M.setInput(p,I.yy),I.yy.lexer=M,I.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var _=M.yylloc;x.push(_);var D=M.options&&M.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function N(J){g.length=g.length-2*J,v.length=v.length-J,x.length=x.length-J}o(N,"popStack");function R(){var J;return J=y.pop()||M.lex()||S,typeof J!="number"&&(J instanceof Array&&(y=J,J=y.pop()),J=m.symbols_[J]||J),J}o(R,"lex");for(var B,O,$,z,F,V,H={},X,W,Z,Y;;){if($=g[g.length-1],this.defaultActions[$]?z=this.defaultActions[$]:((B===null||typeof B>"u")&&(B=R()),z=b[$]&&b[$][B]),typeof z>"u"||!z.length||!z[0]){var ae="";Y=[];for(X in b[$])this.terminals_[X]&&X>E&&Y.push("'"+this.terminals_[X]+"'");M.showPosition?ae="Parse error on line "+(w+1)+`: -`+M.showPosition()+` -Expecting `+Y.join(", ")+", got '"+(this.terminals_[B]||B)+"'":ae="Parse error on line "+(w+1)+": Unexpected "+(B==S?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(ae,{text:M.match,token:this.terminals_[B]||B,line:M.yylineno,loc:_,expected:Y})}if(z[0]instanceof Array&&z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+$+", token: "+B);switch(z[0]){case 1:g.push(B),v.push(M.yytext),x.push(M.yylloc),g.push(z[1]),B=null,O?(B=O,O=null):(k=M.yyleng,T=M.yytext,w=M.yylineno,_=M.yylloc,C>0&&C--);break;case 2:if(W=this.productions_[z[1]][1],H.$=v[v.length-W],H._$={first_line:x[x.length-(W||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(W||1)].first_column,last_column:x[x.length-1].last_column},D&&(H._$.range=[x[x.length-(W||1)].range[0],x[x.length-1].range[1]]),V=this.performAction.apply(H,[T,k,w,I.yy,z[1],v,x].concat(L)),typeof V<"u")return V;W&&(g=g.slice(0,-1*W*2),v=v.slice(0,-1*W),x=x.slice(0,-1*W)),g.push(this.productions_[z[1]][0]),v.push(H.$),x.push(H._$),Z=b[g[g.length-2]][g[g.length-1]],g.push(Z);break;case 3:return!0}}return!0},"parse")},h=(function(){var d={EOF:1,parseError:o(function(m,g){if(this.yy.parser)this.yy.parser.parseError(m,g);else throw new Error(m)},"parseError"),setInput:o(function(p,m){return this.yy=m||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:o(function(p){var m=p.length,g=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var v=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===y.length?this.yylloc.first_column:0)+y[y.length-g.length].length-g[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[v[0],v[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(p){this.unput(this.match.slice(p))},"less"),pastInput:o(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var p=this.pastInput(),m=new Array(p.length+1).join("-");return p+this.upcomingInput()+` -`+m+"^"},"showPosition"),test_match:o(function(p,m){var g,y,v;if(this.options.backtrack_lexer&&(v={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(v.yylloc.range=this.yylloc.range.slice(0))),y=p[0].match(/(?:\r\n?|\n).*/g),y&&(this.yylineno+=y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:y?y[y.length-1].length-y[y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(p[0].length),this.matched+=p[0],g=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var x in v)this[x]=v[x];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,m,g,y;this._more||(this.yytext="",this.match="");for(var v=this._currentRules(),x=0;xm[0].length)){if(m=g,y=x,this.options.backtrack_lexer){if(p=this.test_match(g,v[x]),p!==!1)return p;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(p=this.test_match(m,v[y]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var m=this.next();return m||this.lex()},"lex"),begin:o(function(m){this.conditionStack.push(m)},"begin"),popState:o(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:o(function(m){this.begin(m)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(m,g,y,v){var x=v;switch(y){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d})();u.lexer=h;function f(){this.yy={}}return o(f,"Parser"),f.prototype=u,u.Parser=f,new f})();MU.parser=MU;M5e=MU});var nx,OU,BC,FC,vdt,xdt,bdt,Tdt,kdt,Cdt,wdt,P5e,Edt,PU,B5e=P(()=>{"use strict";Ut();Ki();nx="",OU=[],BC=[],FC=[],vdt=o(function(){OU.length=0,BC.length=0,nx="",FC.length=0,wr()},"clear"),xdt=o(function(t){nx=t,OU.push(t)},"addSection"),bdt=o(function(){return OU},"getSections"),Tdt=o(function(){let t=P5e(),e=100,r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),Cdt=o(function(t,e){let r=e.substr(1).split(":"),i=0,n=[];r.length===1?(i=Number(r[0]),n=[]):(i=Number(r[0]),n=r[1].split(","));let a=n.map(l=>l.trim()),s={section:nx,type:nx,people:a,task:t,score:i};FC.push(s)},"addTask"),wdt=o(function(t){let e={section:nx,type:nx,description:t,task:t,classes:[]};BC.push(e)},"addTaskOrg"),P5e=o(function(){let t=o(function(r){return FC[r].processed},"compileTask"),e=!0;for(let[r,i]of FC.entries())t(r),e=e&&i.processed;return e},"compileTasks"),Edt=o(function(){return kdt()},"getActors"),PU={getConfig:o(()=>ge().journey,"getConfig"),clear:vdt,setDiagramTitle:Mr,getDiagramTitle:Nr,setAccTitle:Ar,getAccTitle:Dr,setAccDescription:Lr,getAccDescription:Rr,addSection:xdt,getSections:bdt,getTasks:Tdt,addTask:Cdt,addTaskOrg:wdt,getActors:Edt}});var Sdt,F5e,$5e=P(()=>{"use strict";wy();Sdt=o(t=>`.label { - font-family: ${t.fontFamily}; - color: ${t.textColor}; - } - .mouth { - stroke: #666; - } - - line { - stroke: ${t.textColor} - } - - .legend { - fill: ${t.textColor}; - font-family: ${t.fontFamily}; - } - - .label text { - fill: #333; - } - .label { - color: ${t.textColor} - } - - .face { - ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"}; - stroke: #999; - } - - .node rect, - .node circle, - .node ellipse, - .node polygon, - .node path { - fill: ${t.mainBkg}; - stroke: ${t.nodeBorder}; - stroke-width: 1px; - } - - .node .label { - text-align: center; - } - .node.clickable { - cursor: pointer; - } - - .arrowheadPath { - fill: ${t.arrowheadColor}; - } - - .edgePath .path { - stroke: ${t.lineColor}; - stroke-width: 1.5px; - } - - .flowchart-link { - stroke: ${t.lineColor}; - fill: none; - } - - .edgeLabel { - background-color: ${t.edgeLabelBackground}; - rect { - opacity: 0.5; - } - text-align: center; - } - - .cluster rect { - } - - .cluster text { - fill: ${t.titleColor}; - } - - div.mermaidTooltip { - position: absolute; - text-align: center; - max-width: 200px; - padding: 2px; - font-family: ${t.fontFamily}; - font-size: 12px; - background: ${t.tertiaryColor}; - border: 1px solid ${t.border2}; - border-radius: 2px; - pointer-events: none; - z-index: 100; - } - - .task-type-0, .section-type-0 { - ${t.fillType0?`fill: ${t.fillType0}`:""}; - } - .task-type-1, .section-type-1 { - ${t.fillType0?`fill: ${t.fillType1}`:""}; - } - .task-type-2, .section-type-2 { - ${t.fillType0?`fill: ${t.fillType2}`:""}; - } - .task-type-3, .section-type-3 { - ${t.fillType0?`fill: ${t.fillType3}`:""}; - } - .task-type-4, .section-type-4 { - ${t.fillType0?`fill: ${t.fillType4}`:""}; - } - .task-type-5, .section-type-5 { - ${t.fillType0?`fill: ${t.fillType5}`:""}; - } - .task-type-6, .section-type-6 { - ${t.fillType0?`fill: ${t.fillType6}`:""}; - } - .task-type-7, .section-type-7 { - ${t.fillType0?`fill: ${t.fillType7}`:""}; - } - - .actor-0 { - ${t.actor0?`fill: ${t.actor0}`:""}; - } - .actor-1 { - ${t.actor1?`fill: ${t.actor1}`:""}; - } - .actor-2 { - ${t.actor2?`fill: ${t.actor2}`:""}; - } - .actor-3 { - ${t.actor3?`fill: ${t.actor3}`:""}; - } - .actor-4 { - ${t.actor4?`fill: ${t.actor4}`:""}; - } - .actor-5 { - ${t.actor5?`fill: ${t.actor5}`:""}; - } - ${qu()} -`,"getStyles"),F5e=Sdt});var FU,Adt,z5e,G5e,_dt,Ddt,BU,Ldt,Rdt,V5e,Ndt,ax,q5e=P(()=>{"use strict";Pr();y0();FU=o(function(t,e){return g0(t,e)},"drawRect"),Adt=o(function(t,e){let i=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),n=t.append("g");n.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),n.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=kc().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}o(a,"smile");function s(u){let h=kc().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}o(s,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return o(l,"ambivalent"),e.score>3?a(n):e.score<3?s(n):l(n),i},"drawFace"),z5e=o(function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),G5e=o(function(t,e){return ure(t,e)},"drawText"),_dt=o(function(t,e){function r(n,a,s,l,u){return n+","+a+" "+(n+s)+","+a+" "+(n+s)+","+(a+l-u)+" "+(n+s-u*1.2)+","+(a+l)+" "+n+","+(a+l)}o(r,"genPoints");let i=t.append("polygon");i.attr("points",r(e.x,e.y,50,20,7)),i.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,G5e(t,e)},"drawLabel"),Ddt=o(function(t,e,r){let i=t.append("g"),n=ja();n.x=e.x,n.y=e.y,n.fill=e.fill,n.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),n.height=r.height,n.class="journey-section section-type-"+e.num,n.rx=3,n.ry=3,FU(i,n),V5e(r)(e.text,i,n.x,n.y,n.width,n.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),BU=-1,Ldt=o(function(t,e,r,i){let n=e.x+r.width/2,a=t.append("g");BU++,a.append("line").attr("id",i+"-task"+BU).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Adt(a,{cx:n,cy:300+(5-e.score)*30,score:e.score});let l=ja();l.x=e.x,l.y=e.y,l.fill=e.fill,l.width=r.width,l.height=r.height,l.class="task task-type-"+e.num,l.rx=3,l.ry=3,FU(a,l);let u=e.x+14;e.people.forEach(h=>{let f=e.actors[h].color,d={cx:u,cy:e.y,r:7,fill:f,stroke:"#000",title:h,pos:e.actors[h].position};z5e(a,d),u+=10}),V5e(r)(e.task,a,l.x,l.y,l.width,l.height,{class:"task"},r,e.colour)},"drawTask"),Rdt=o(function(t,e){k3(t,e)},"drawBackgroundRect"),V5e=(function(){function t(n,a,s,l,u,h,f,d){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(n);i(p,f)}o(t,"byText");function e(n,a,s,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=n.split(//gi);for(let v=0;v{let a=Ef[n].color,s={cx:20,cy:i,r:7,fill:a,stroke:"#000",pos:Ef[n].position};ax.drawCircle(t,s);let l=t.append("text").attr("visibility","hidden").text(n),u=l.node().getBoundingClientRect().width;l.remove();let h=[];if(u<=r)h=[n];else{let f=n.split(" "),d="";l=t.append("text").attr("visibility","hidden"),f.forEach(p=>{let m=d?`${d} ${p}`:p;if(l.text(m),l.node().getBoundingClientRect().width>r){if(d&&h.push(d),d=p,l.text(p),l.node().getBoundingClientRect().width>r){let y="";for(let v of p)y+=v,l.text(y+"-"),l.node().getBoundingClientRect().width>r&&(h.push(y.slice(0,-1)+"-"),y=v);d=y}}else d=m}),d&&h.push(d),l.remove()}h.forEach((f,d)=>{let p={x:40,y:i+7+d*20,fill:"#666",text:f,textMargin:e.boxTextMargin??5},g=ax.drawText(t,p).node().getBoundingClientRect().width;g>z_&&g>e.leftMargin-g&&(z_=g)}),i+=Math.max(20,h.length*20)})}var Idt,Ef,z_,jc,Rp,Odt,ic,$U,W5e,Pdt,zU,U5e=P(()=>{"use strict";Pr();q5e();Ut();Xi();Idt=o(function(t){Object.keys(t).forEach(function(r){jc[r]=t[r]})},"setConf"),Ef={},z_=0;o(Mdt,"drawActorLegend");jc=ge().journey,Rp=0,Odt=o(function(t,e,r,i){let n=ge(),a=n.journey.titleColor,s=n.journey.titleFontSize,l=n.journey.titleFontFamily,u=n.securityLevel,h;u==="sandbox"&&(h=Ze("#i"+e));let f=u==="sandbox"?Ze(h.nodes()[0].contentDocument.body):Ze("body");ic.init();let d=f.select("#"+e);ax.initGraphics(d,e);let p=i.db.getTasks(),m=i.db.getDiagramTitle(),g=i.db.getActors();for(let w in Ef)delete Ef[w];let y=0;g.forEach(w=>{Ef[w]={color:jc.actorColours[y%jc.actorColours.length],position:y},y++}),Mdt(d),Rp=jc.leftMargin+z_,ic.insert(0,0,Rp,Object.keys(Ef).length*50),Pdt(d,p,0,e);let v=ic.getBounds();m&&d.append("text").text(m).attr("x",Rp).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",l);let x=v.stopy-v.starty+2*jc.diagramMarginY,b=Rp+v.stopx+2*jc.diagramMarginX;Hr(d,x,b,jc.useMaxWidth),d.append("line").attr("x1",Rp).attr("y1",jc.height*4).attr("x2",b-Rp-4).attr("y2",jc.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+e+"-arrowhead)");let T=m?70:0;d.attr("viewBox",`${v.startx} -25 ${b} ${x+T}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",x+T+25)},"draw"),ic={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:o(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:o(function(t,e,r,i){t[e]===void 0?t[e]=r:t[e]=i(r,t[e])},"updateVal"),updateBounds:o(function(t,e,r,i){let n=ge().journey,a=this,s=0;function l(u){return o(function(f){s++;let d=a.sequenceItems.length-s+1;a.updateVal(f,"starty",e-d*n.boxMargin,Math.min),a.updateVal(f,"stopy",i+d*n.boxMargin,Math.max),a.updateVal(ic.data,"startx",t-d*n.boxMargin,Math.min),a.updateVal(ic.data,"stopx",r+d*n.boxMargin,Math.max),u!=="activation"&&(a.updateVal(f,"startx",t-d*n.boxMargin,Math.min),a.updateVal(f,"stopx",r+d*n.boxMargin,Math.max),a.updateVal(ic.data,"starty",e-d*n.boxMargin,Math.min),a.updateVal(ic.data,"stopy",i+d*n.boxMargin,Math.max))},"updateItemBounds")}o(l,"updateFn"),this.sequenceItems.forEach(l())},"updateBounds"),insert:o(function(t,e,r,i){let n=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,i),l=Math.max(e,i);this.updateVal(ic.data,"startx",n,Math.min),this.updateVal(ic.data,"starty",s,Math.min),this.updateVal(ic.data,"stopx",a,Math.max),this.updateVal(ic.data,"stopy",l,Math.max),this.updateBounds(n,s,a,l)},"insert"),bumpVerticalPos:o(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return this.data},"getBounds")},$U=jc.sectionFills,W5e=jc.sectionColours,Pdt=o(function(t,e,r,i){let n=ge().journey,a="",s=n.height*2+n.diagramMarginY,l=r+s,u=0,h="#CCC",f="black",d=0;for(let[p,m]of e.entries()){if(a!==m.section){h=$U[u%$U.length],d=u%$U.length,f=W5e[u%W5e.length];let y=0,v=m.section;for(let b=p;b(Ef[v]&&(y[v]=Ef[v]),y),{});m.x=p*n.taskMargin+p*n.width+Rp,m.y=l,m.width=n.diagramMarginX,m.height=n.diagramMarginY,m.colour=f,m.fill=h,m.num=d,m.actors=g,ax.drawTask(t,m,n,i),ic.insert(m.x,m.y,m.x+m.width+n.taskMargin,450)}},"drawTasks"),zU={setConf:Idt,draw:Odt}});var H5e={};ur(H5e,{diagram:()=>Bdt});var Bdt,Y5e=P(()=>{"use strict";O5e();B5e();$5e();U5e();Bdt={parser:M5e,db:PU,renderer:zU,styles:F5e,init:o(t=>{zU.setConf(t.journey),PU.clear()},"init")}});var VU,eEe,tEe=P(()=>{"use strict";VU=(function(){var t=o(function(p,m,g,y){for(g=g||{},y=p.length;y--;g[p[y]]=m);return g},"o"),e=[6,11,13,14,15,17,19,20,23,24],r=[1,12],i=[1,13],n=[1,14],a=[1,15],s=[1,16],l=[1,19],u=[1,20],h={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:o(function(m,g,y,v,x,b,T){var w=b.length-1;switch(x){case 1:return b[w-1];case 3:v.setDirection("LR");break;case 4:v.setDirection("TD");break;case 5:this.$=[];break;case 6:b[w-1].push(b[w]),this.$=b[w-1];break;case 7:case 8:this.$=b[w];break;case 9:case 10:this.$=[];break;case 11:v.getCommonDb().setDiagramTitle(b[w].substr(6)),this.$=b[w].substr(6);break;case 12:this.$=b[w].trim(),v.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=b[w].trim(),v.getCommonDb().setAccDescription(this.$);break;case 15:v.addSection(b[w].substr(8)),this.$=b[w].substr(8);break;case 18:v.addTask(b[w],0,""),this.$=b[w];break;case 19:v.addEvent(b[w].substr(2)),this.$=b[w];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},t(e,[2,5],{5:6}),t(e,[2,2]),t(e,[2,3]),t(e,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:r,15:i,17:n,19:a,20:s,21:17,22:18,23:l,24:u},t(e,[2,10],{1:[2,1]}),t(e,[2,6]),{12:21,14:r,15:i,17:n,19:a,20:s,21:17,22:18,23:l,24:u},t(e,[2,8]),t(e,[2,9]),t(e,[2,11]),{16:[1,22]},{18:[1,23]},t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,7]),t(e,[2,12]),t(e,[2,13])],defaultActions:{},parseError:o(function(m,g){if(g.recoverable)this.trace(m);else{var y=new Error(m);throw y.hash=g,y}},"parseError"),parse:o(function(m){var g=this,y=[0],v=[],x=[null],b=[],T=this.table,w="",k=0,C=0,E=0,S=2,L=1,M=b.slice.call(arguments,1),I=Object.create(this.lexer),A={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(A.yy[_]=this.yy[_]);I.setInput(m,A.yy),A.yy.lexer=I,A.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var D=I.yylloc;b.push(D);var N=I.options&&I.options.ranges;typeof A.yy.parseError=="function"?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function R(ee){y.length=y.length-2*ee,x.length=x.length-ee,b.length=b.length-ee}o(R,"popStack");function B(){var ee;return ee=v.pop()||I.lex()||L,typeof ee!="number"&&(ee instanceof Array&&(v=ee,ee=v.pop()),ee=g.symbols_[ee]||ee),ee}o(B,"lex");for(var O,$,z,F,V,H,X={},W,Z,Y,ae;;){if(z=y[y.length-1],this.defaultActions[z]?F=this.defaultActions[z]:((O===null||typeof O>"u")&&(O=B()),F=T[z]&&T[z][O]),typeof F>"u"||!F.length||!F[0]){var J="";ae=[];for(W in T[z])this.terminals_[W]&&W>S&&ae.push("'"+this.terminals_[W]+"'");I.showPosition?J="Parse error on line "+(k+1)+`: -`+I.showPosition()+` -Expecting `+ae.join(", ")+", got '"+(this.terminals_[O]||O)+"'":J="Parse error on line "+(k+1)+": Unexpected "+(O==L?"end of input":"'"+(this.terminals_[O]||O)+"'"),this.parseError(J,{text:I.match,token:this.terminals_[O]||O,line:I.yylineno,loc:D,expected:ae})}if(F[0]instanceof Array&&F.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+O);switch(F[0]){case 1:y.push(O),x.push(I.yytext),b.push(I.yylloc),y.push(F[1]),O=null,$?(O=$,$=null):(C=I.yyleng,w=I.yytext,k=I.yylineno,D=I.yylloc,E>0&&E--);break;case 2:if(Z=this.productions_[F[1]][1],X.$=x[x.length-Z],X._$={first_line:b[b.length-(Z||1)].first_line,last_line:b[b.length-1].last_line,first_column:b[b.length-(Z||1)].first_column,last_column:b[b.length-1].last_column},N&&(X._$.range=[b[b.length-(Z||1)].range[0],b[b.length-1].range[1]]),H=this.performAction.apply(X,[w,C,k,A.yy,F[1],x,b].concat(M)),typeof H<"u")return H;Z&&(y=y.slice(0,-1*Z*2),x=x.slice(0,-1*Z),b=b.slice(0,-1*Z)),y.push(this.productions_[F[1]][0]),x.push(X.$),b.push(X._$),Y=T[y[y.length-2]][y[y.length-1]],y.push(Y);break;case 3:return!0}}return!0},"parse")},f=(function(){var p={EOF:1,parseError:o(function(g,y){if(this.yy.parser)this.yy.parser.parseError(g,y);else throw new Error(g)},"parseError"),setInput:o(function(m,g){return this.yy=g||this.yy||{},this._input=m,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var g=m.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},"input"),unput:o(function(m){var g=m.length,y=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var v=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),y.length-1&&(this.yylineno-=y.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:y?(y.length===v.length?this.yylloc.first_column:0)+v[v.length-y.length].length-y[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(m){this.unput(this.match.slice(m))},"less"),pastInput:o(function(){var m=this.matched.substr(0,this.matched.length-this.match.length);return(m.length>20?"...":"")+m.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var m=this.match;return m.length<20&&(m+=this._input.substr(0,20-m.length)),(m.substr(0,20)+(m.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var m=this.pastInput(),g=new Array(m.length+1).join("-");return m+this.upcomingInput()+` -`+g+"^"},"showPosition"),test_match:o(function(m,g){var y,v,x;if(this.options.backtrack_lexer&&(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(x.yylloc.range=this.yylloc.range.slice(0))),v=m[0].match(/(?:\r\n?|\n).*/g),v&&(this.yylineno+=v.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+m[0].length},this.yytext+=m[0],this.match+=m[0],this.matches=m,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(m[0].length),this.matched+=m[0],y=this.performAction.call(this,this.yy,this,g,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),y)return y;if(this._backtrack){for(var b in x)this[b]=x[b];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var m,g,y,v;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),b=0;bg[0].length)){if(g=y,v=b,this.options.backtrack_lexer){if(m=this.test_match(y,x[b]),m!==!1)return m;if(this._backtrack){g=!1;continue}else return!1}else if(!this.options.flex)break}return g?(m=this.test_match(g,x[v]),m!==!1?m:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var g=this.next();return g||this.lex()},"lex"),begin:o(function(g){this.conditionStack.push(g)},"begin"),popState:o(function(){var g=this.conditionStack.length-1;return g>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(g){return g=this.conditionStack.length-1-Math.abs(g||0),g>=0?this.conditionStack[g]:"INITIAL"},"topState"),pushState:o(function(g){this.begin(g)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(g,y,v,x){var b=x;switch(v){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;break;case 10:return this.popState(),"acc_title_value";break;case 11:return this.begin("acc_descr"),17;break;case 12:return this.popState(),"acc_descr_value";break;case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return p})();h.lexer=f;function d(){this.yy={}}return o(d,"Parser"),d.prototype=h,h.Parser=d,new d})();VU.parser=VU;eEe=VU});var UU={};ur(UU,{addEvent:()=>fEe,addSection:()=>lEe,addTask:()=>hEe,addTaskOrg:()=>dEe,clear:()=>aEe,default:()=>Hdt,getCommonDb:()=>nEe,getDirection:()=>oEe,getSections:()=>cEe,getTasks:()=>uEe,setDirection:()=>sEe});var sx,iEe,qU,WU,G_,ox,nEe,aEe,sEe,oEe,lEe,cEe,uEe,hEe,fEe,dEe,rEe,Hdt,pEe=P(()=>{"use strict";Ki();sx="",iEe=0,qU="LR",WU=[],G_=[],ox=[],nEe=o(()=>e2,"getCommonDb"),aEe=o(function(){WU.length=0,G_.length=0,sx="",ox.length=0,qU="LR",wr()},"clear"),sEe=o(function(t){qU=t},"setDirection"),oEe=o(function(){return qU},"getDirection"),lEe=o(function(t){sx=t,WU.push(t)},"addSection"),cEe=o(function(){return WU},"getSections"),uEe=o(function(){let t=rEe(),e=100,r=0;for(;!t&&rr.id===iEe-1).events.push(t)},"addEvent"),dEe=o(function(t){let e={section:sx,type:sx,description:t,task:t,classes:[]};G_.push(e)},"addTaskOrg"),rEe=o(function(){let t=o(function(r){return ox[r].processed},"compileTask"),e=!0;for(let[r,i]of ox.entries())t(r),e=e&&i.processed;return e},"compileTasks"),Hdt={clear:aEe,getCommonDb:nEe,getDirection:oEe,setDirection:sEe,addSection:lEe,getSections:cEe,getTasks:uEe,addTask:hEe,addTaskOrg:dEe,addEvent:fEe}});function vEe(t,e){t.each(function(){var r=Ze(this),i=r.text().split(/(\s+|
    )/).reverse(),n,a=[],s=1.1,l=r.attr("y"),u=parseFloat(r.attr("dy")),h=r.text(null).append("tspan").attr("x",0).attr("y",l).attr("dy",u+"em");for(let f=0;fe||n==="
    ")&&(a.pop(),h.text(a.join(" ").trim()),n==="
    "?a=[""]:a=[n],h=r.append("tspan").attr("x",0).attr("y",l).attr("dy",s+"em").text(n))})}var mEe,V_,Ydt,jdt,gEe,Xdt,Kdt,HU,Qdt,Zdt,Jdt,YU,yEe,ept,tpt,rpt,ipt,As,jU=P(()=>{"use strict";Pr();mEe=0,V_=o(function(t,e){let r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),Ydt=o(function(t,e){let i=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),n=t.append("g");n.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),n.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=kc().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}o(a,"smile");function s(u){let h=kc().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}o(s,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return o(l,"ambivalent"),e.score>3?a(n):e.score<3?s(n):l(n),i},"drawFace"),jdt=o(function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),gEe=o(function(t,e){let r=e.text.replace(//gi," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),e.class!==void 0&&i.attr("class",e.class);let n=i.append("tspan");return n.attr("x",e.x+e.textMargin*2),n.text(r),i},"drawText"),Xdt=o(function(t,e){function r(n,a,s,l,u){return n+","+a+" "+(n+s)+","+a+" "+(n+s)+","+(a+l-u)+" "+(n+s-u*1.2)+","+(a+l)+" "+n+","+(a+l)}o(r,"genPoints");let i=t.append("polygon");i.attr("points",r(e.x,e.y,50,20,7)),i.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,gEe(t,e)},"drawLabel"),Kdt=o(function(t,e,r){let i=t.append("g"),n=YU();n.x=e.x,n.y=e.y,n.fill=e.fill,n.width=r.width,n.height=r.height,n.class="journey-section section-type-"+e.num,n.rx=3,n.ry=3,V_(i,n),yEe(r)(e.text,i,n.x,n.y,n.width,n.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),HU=-1,Qdt=o(function(t,e,r,i){let n=e.x+r.width/2,a=t.append("g");HU++,a.append("line").attr("id",i+"-task"+HU).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Ydt(a,{cx:n,cy:300+(5-e.score)*30,score:e.score});let l=YU();l.x=e.x,l.y=e.y,l.fill=e.fill,l.width=r.width,l.height=r.height,l.class="task task-type-"+e.num,l.rx=3,l.ry=3,V_(a,l),yEe(r)(e.task,a,l.x,l.y,l.width,l.height,{class:"task"},r,e.colour)},"drawTask"),Zdt=o(function(t,e){V_(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),Jdt=o(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),YU=o(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),yEe=(function(){function t(n,a,s,l,u,h,f,d){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(n);i(p,f)}o(t,"byText");function e(n,a,s,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=n.split(//gi);for(let v=0;v0?`M0 ${e.height-l} v${-e.height+2*l} q0,-${s},${s},-${s} h${e.width-2*l} q${s},0,${s},${s} v${e.height-l} H0 Z`:`M0 ${e.height-l} v${-(e.height-l)} h${e.width} v${e.height} H0 Z`;t.append("path").attr("id",i+"-node-"+mEe++).attr("class","node-bkg node-"+e.type).attr("d",u),a?.includes("redux")||t.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),As={drawRect:V_,drawCircle:jdt,drawSection:Kdt,drawText:gEe,drawLabel:Xdt,drawTask:Qdt,drawBackgroundRect:Zdt,getTextObj:Jdt,getNoteRect:YU,initGraphics:ept,drawNode:tpt,getVirtualNodeHeight:rpt}});var npt,xEe,apt,bEe,TEe=P(()=>{"use strict";Pr();jU();bt();Ut();Xi();npt=o(function(t,e,r,i){let n=ge(),{look:a,theme:s,themeVariables:l}=n,{useGradient:u,gradientStart:h,gradientStop:f}=l,d=n.timeline?.leftMargin??50;Q.debug("timeline",i.db);let p=n.securityLevel,m;p==="sandbox"&&(m=Ze("#i"+e));let y=(p==="sandbox"?Ze(m.nodes()[0].contentDocument.body):Ze("body")).select("#"+e);y.append("g");let v=i.db.getTasks(),x=i.db.getCommonDb().getDiagramTitle();Q.debug("task",v),As.initGraphics(y,e);let b=i.db.getSections();Q.debug("sections",b);let T=0,w=0,k=0,C=0,E=50+d,S=50;C=50;let L=0,M=!0;b.forEach(function(N){let R={number:L,descr:N,section:L,width:150,padding:20,maxHeight:T},B=As.getVirtualNodeHeight(y,R,n);Q.debug("sectionHeight before draw",B),T=Math.max(T,B+20)});let I=0,A=0;Q.debug("tasks.length",v.length);for(let[N,R]of v.entries()){let B={number:N,descr:R,section:R.section,width:150,padding:20,maxHeight:w},O=As.getVirtualNodeHeight(y,B,n);Q.debug("taskHeight before draw",O),w=Math.max(w,O+20),I=Math.max(I,R.events.length);let $=0;for(let z of R.events){let F={descr:z,section:R.section,number:R.section,width:150,padding:20,maxHeight:50};$+=As.getVirtualNodeHeight(y,F,n)}R.events.length>0&&($+=(R.events.length-1)*10),A=Math.max(A,$)}Q.debug("maxSectionHeight before draw",T),Q.debug("maxTaskHeight before draw",w),b&&b.length>0?b.forEach(N=>{let R=v.filter(z=>z.section===N),B={number:L,descr:N,section:L,width:200*Math.max(R.length,1)-50,padding:20,maxHeight:T};Q.debug("sectionNode",B);let O=y.append("g"),$=As.drawNode(O,B,L,n,e);Q.debug("sectionNode output",$),O.attr("transform",`translate(${E}, ${C})`),S+=T+50,R.length>0&&xEe(y,R,L,E,S,w,n,I,A,T,!1,e),E+=200*Math.max(R.length,1),S=C,L++}):(M=!1,xEe(y,v,L,E,S,w,n,I,A,T,!0,e));let _=y.node().getBBox();if(Q.debug("bounds",_),x&&y.append("text").text(x).attr("x",a==="neo"?_.x*2+d:_.width/2-d).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),k=M?T+w+150:w+100,y.append("g").attr("class","lineWrapper").append("line").attr("x1",d).attr("y1",k).attr("x2",_.width+3*d).attr("y2",k).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-arrowhead)`),a==="neo"&&u&&s!=="neutral"){let N=y.select("defs"),B=(N.empty()?y.append("defs"):N).append("linearGradient").attr("id",y.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");B.append("stop").attr("offset","0%").attr("stop-color",h).attr("stop-opacity",1),B.append("stop").attr("offset","100%").attr("stop-color",f).attr("stop-opacity",1)}El(void 0,y,n.timeline?.padding??50,n.timeline?.useMaxWidth??!1)},"draw"),xEe=o(function(t,e,r,i,n,a,s,l,u,h,f,d){for(let p of e){let m={descr:p.task,section:r,number:r,width:150,padding:20,maxHeight:a};Q.debug("taskNode",m);let g=t.append("g").attr("class","taskWrapper"),v=As.drawNode(g,m,r,s,d).height;if(Q.debug("taskHeight after draw",v),g.attr("transform",`translate(${i}, ${n})`),a=Math.max(a,v),p.events){let x=t.append("g").attr("class","lineWrapper"),b=a;n+=100,b=b+apt(t,p.events,r,i,n,s,d),n-=100,x.append("line").attr("x1",i+190/2).attr("y1",n+a).attr("x2",i+190/2).attr("y2",n+a+100+u+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${d}-arrowhead)`).attr("stroke-dasharray","5,5")}i=i+200,f&&!s.timeline?.disableMulticolor&&r++}n=n-10},"drawTasks"),apt=o(function(t,e,r,i,n,a,s){let l=0,u=n;n=n+100;for(let h of e){let f={descr:h,section:r,number:r,width:150,padding:20,maxHeight:50};Q.debug("eventNode",f);let d=t.append("g").attr("class","eventWrapper"),m=As.drawNode(d,f,r,a,s,!0).height;l=l+m,d.attr("transform",`translate(${i}, ${n})`),n=n+10+m}return n=u,l},"drawEvents"),bEe={setConf:o(()=>{},"setConf"),draw:npt}});var q_,Sf,spt,XU,opt,EEe,lpt,kEe,SEe,CEe,AEe,cpt,wEe,upt,_Ee,DEe=P(()=>{"use strict";jU();bt();Ut();Xi();ro();er();q_=200,Sf=5,spt=q_+Sf*2,XU=q_+100,opt=XU+Sf*2,EEe=10,lpt=0,kEe=20,SEe=20,CEe=30,AEe=50,cpt=o(function(t,e,r,i){let n=ge(),a=n.timeline?.leftMargin??50;Q.debug("timeline",i.db);let s=Fi(e);s.append("g");let l=i.db.getTasks(),u=i.db.getCommonDb().getDiagramTitle();Q.debug("task",l),As.initGraphics(s);let h=i.db.getSections();Q.debug("sections",h);let f=0,d=0,p=50+a,m=50,g=m,y=p,v=spt+SEe,x=opt+AEe,b=y+v,T=0,w=h&&h.length>0,k=w?b:p+v,C=Math.max(50,v+x-Sf*2);h.forEach(function(N){let R={number:T,descr:N,section:T,width:C,padding:Sf,maxHeight:f},B=As.getVirtualNodeHeight(s,R,n);Q.debug("sectionHeight before draw",B),f=Math.max(f,B)});let E=0;Q.debug("tasks.length",l.length);for(let[N,R]of l.entries()){let B={number:N,descr:R,section:R.section,width:q_,padding:Sf,maxHeight:d},O=As.getVirtualNodeHeight(s,B,n);Q.debug("taskHeight before draw",O),d=Math.max(d,O);let $=0;for(let z of R.events){let F={descr:z,section:R.section,number:R.section,width:XU,padding:Sf,maxHeight:50};$+=As.getVirtualNodeHeight(s,F,n)}R.events.length>0&&($+=(R.events.length-1)*EEe),E=Math.max(E,$)+lpt}Q.debug("maxSectionHeight before draw",f),Q.debug("maxTaskHeight before draw",d);let L=Math.max(d,E)+CEe;w?h.forEach(N=>{let R=l.filter(X=>X.section===N),B={number:T,descr:N,section:T,width:C,padding:Sf,maxHeight:f};Q.debug("sectionNode",B);let O=s.append("g"),$=As.drawNode(O,B,T,n);Q.debug("sectionNode output",$);let z=k-v;O.attr("transform",`translate(${z}, ${m})`);let F=m+$.height+kEe;R.length>0&&wEe(s,R,T,k,F,d,n,L,!1);let V=R.length,H=$.height+kEe+L*Math.max(V,1)-(V>0?CEe*2:0);m+=H,T++}):wEe(s,l,T,k,m,d,n,L,!0);let M=s.node()?.getBBox();if(!M)throw new Error("bbox not found");if(Q.debug("bounds",M),u){if(s.append("text").text(u).attr("x",M.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),M=s.node()?.getBBox(),!M)throw new Error("bbox not found");Q.debug("bounds after title",M)}let[I]=$s(n.fontSize),A=(I??16)*2,_=(I??16)*.5+20,D=s.append("g").attr("class","lineWrapper");D.append("line").attr("x1",k).attr("y1",g-A).attr("x2",k).attr("y2",M.y+M.height+_).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),D.lower(),El(void 0,s,n.timeline?.padding??50,n.timeline?.useMaxWidth??!1)},"draw"),wEe=o(function(t,e,r,i,n,a,s,l,u){for(let h of e){let f={descr:h.task,section:r,number:r,width:q_,padding:Sf,maxHeight:a};Q.debug("taskNode",f);let d=t.append("g").attr("class","taskWrapper"),p=As.drawNode(d,f,r,s),m=p.height;Q.debug("taskHeight after draw",m);let g=i-SEe-p.width;if(d.attr("transform",`translate(${g}, ${n})`),a=Math.max(a,m),h.events&&h.events.length>0){let y=n,v=i+AEe;upt(t,h.events,r,i,v,y,s)}n=n+l,u&&!s.timeline?.disableMulticolor&&r++}},"drawTasks"),upt=o(function(t,e,r,i,n,a,s){let l=a;for(let u of e){let h={descr:u,section:r,number:r,width:XU,padding:Sf,maxHeight:0};Q.debug("eventNode",h);let f=t.append("g").attr("class","eventWrapper"),p=As.drawNode(f,h,r,s).height;f.attr("transform",`translate(${n}, ${l})`);let m=t.append("g").attr("class","lineWrapper"),g=l+p/2;m.append("line").attr("x1",i).attr("y1",g).attr("x2",n).attr("y2",g).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),l=l+p+EEe}return l-a},"drawEvents"),_Ee={setConf:o(()=>{},"setConf"),draw:cpt}});var hpt,fpt,dpt,LEe,REe=P(()=>{"use strict";Yn();Sr();hpt=o(t=>{let{theme:e}=Lt(),r=e?.includes("dark"),i=e?.includes("color"),n=t.svgId?.replace(/^#/,"")??"",a=n?`url(#${n}-drop-shadow)`:t.dropShadow??"none",s="";for(let l=0;l{let e="";for(let r=0;r{let{theme:e}=Lt(),r=e?.includes("redux"),i=e==="neutral",n=t.svgId?.replace(/^#/,"")??"",a="";if(t.useGradient&&n&&t.THEME_COLOR_LIMIT&&!i)for(let s=0;smpt});var ppt,mpt,IEe=P(()=>{"use strict";tEe();pEe();TEe();DEe();REe();ppt={setConf:o(()=>{},"setConf"),draw:o((t,e,r,i)=>(i?.db?.getDirection?.()??"LR")==="TD"?_Ee.draw(t,e,r,i):bEe.draw(t,e,r,i),"draw")},mpt={db:UU,renderer:ppt,parser:eEe,styles:LEe}});var KU,PEe,BEe=P(()=>{"use strict";KU=(function(){var t=o(function(w,k,C,E){for(C=C||{},E=w.length;E--;C[w[E]]=k);return C},"o"),e=[1,4],r=[1,13],i=[1,12],n=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,6,13,15,16,19,22],g=[1,33],y=[1,34],v=[1,6,7,11,13,15,16,19,22],x={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:o(function(k,C,E,S,L,M,I){var A=M.length-1;switch(L){case 6:case 7:return S;case 8:S.getLogger().trace("Stop NL ");break;case 9:S.getLogger().trace("Stop EOF ");break;case 11:S.getLogger().trace("Stop NL2 ");break;case 12:S.getLogger().trace("Stop EOF2 ");break;case 15:S.getLogger().info("Node: ",M[A].id),S.addNode(M[A-1].length,M[A].id,M[A].descr,M[A].type);break;case 16:S.getLogger().trace("Icon: ",M[A]),S.decorateNode({icon:M[A]});break;case 17:case 21:S.decorateNode({class:M[A]});break;case 18:S.getLogger().trace("SPACELIST");break;case 19:S.getLogger().trace("Node: ",M[A].id),S.addNode(0,M[A].id,M[A].descr,M[A].type);break;case 20:S.decorateNode({icon:M[A]});break;case 25:S.getLogger().trace("node found ..",M[A-2]),this.$={id:M[A-1],descr:M[A-1],type:S.getType(M[A-2],M[A])};break;case 26:this.$={id:M[A],descr:M[A],type:S.nodeType.DEFAULT};break;case 27:S.getLogger().trace("node found ..",M[A-3]),this.$={id:M[A-3],descr:M[A-1],type:S.getType(M[A-2],M[A])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:i,14:14,15:n,16:a,17:17,18:18,19:s,22:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:i,14:14,15:n,16:a,17:17,18:18,19:s,22:l},{6:r,9:22,12:11,13:i,14:14,15:n,16:a,17:17,18:18,19:s,22:l},{6:h,7:f,10:23,11:d},t(p,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:l}),t(p,[2,18]),t(p,[2,19]),t(p,[2,20]),t(p,[2,21]),t(p,[2,23]),t(p,[2,24]),t(p,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:f,10:32,11:d},{1:[2,7],6:r,12:21,13:i,14:14,15:n,16:a,17:17,18:18,19:s,22:l},t(m,[2,14],{7:g,11:y}),t(v,[2,8]),t(v,[2,9]),t(v,[2,10]),t(p,[2,15]),t(p,[2,16]),t(p,[2,17]),{20:[1,35]},{21:[1,36]},t(m,[2,13],{7:g,11:y}),t(v,[2,11]),t(v,[2,12]),{21:[1,37]},t(p,[2,25]),t(p,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(k,C){if(C.recoverable)this.trace(k);else{var E=new Error(k);throw E.hash=C,E}},"parseError"),parse:o(function(k){var C=this,E=[0],S=[],L=[null],M=[],I=this.table,A="",_=0,D=0,N=0,R=2,B=1,O=M.slice.call(arguments,1),$=Object.create(this.lexer),z={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(z.yy[F]=this.yy[F]);$.setInput(k,z.yy),z.yy.lexer=$,z.yy.parser=this,typeof $.yylloc>"u"&&($.yylloc={});var V=$.yylloc;M.push(V);var H=$.options&&$.options.ranges;typeof z.yy.parseError=="function"?this.parseError=z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(Te){E.length=E.length-2*Te,L.length=L.length-Te,M.length=M.length-Te}o(X,"popStack");function W(){var Te;return Te=S.pop()||$.lex()||B,typeof Te!="number"&&(Te instanceof Array&&(S=Te,Te=S.pop()),Te=C.symbols_[Te]||Te),Te}o(W,"lex");for(var Z,Y,ae,J,ee,re,te={},be,de,Ee,Ne;;){if(ae=E[E.length-1],this.defaultActions[ae]?J=this.defaultActions[ae]:((Z===null||typeof Z>"u")&&(Z=W()),J=I[ae]&&I[ae][Z]),typeof J>"u"||!J.length||!J[0]){var we="";Ne=[];for(be in I[ae])this.terminals_[be]&&be>R&&Ne.push("'"+this.terminals_[be]+"'");$.showPosition?we="Parse error on line "+(_+1)+`: -`+$.showPosition()+` -Expecting `+Ne.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":we="Parse error on line "+(_+1)+": Unexpected "+(Z==B?"end of input":"'"+(this.terminals_[Z]||Z)+"'"),this.parseError(we,{text:$.match,token:this.terminals_[Z]||Z,line:$.yylineno,loc:V,expected:Ne})}if(J[0]instanceof Array&&J.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ae+", token: "+Z);switch(J[0]){case 1:E.push(Z),L.push($.yytext),M.push($.yylloc),E.push(J[1]),Z=null,Y?(Z=Y,Y=null):(D=$.yyleng,A=$.yytext,_=$.yylineno,V=$.yylloc,N>0&&N--);break;case 2:if(de=this.productions_[J[1]][1],te.$=L[L.length-de],te._$={first_line:M[M.length-(de||1)].first_line,last_line:M[M.length-1].last_line,first_column:M[M.length-(de||1)].first_column,last_column:M[M.length-1].last_column},H&&(te._$.range=[M[M.length-(de||1)].range[0],M[M.length-1].range[1]]),re=this.performAction.apply(te,[A,D,_,z.yy,J[1],L,M].concat(O)),typeof re<"u")return re;de&&(E=E.slice(0,-1*de*2),L=L.slice(0,-1*de),M=M.slice(0,-1*de)),E.push(this.productions_[J[1]][0]),L.push(te.$),M.push(te._$),Ee=I[E[E.length-2]][E[E.length-1]],E.push(Ee);break;case 3:return!0}}return!0},"parse")},b=(function(){var w={EOF:1,parseError:o(function(C,E){if(this.yy.parser)this.yy.parser.parseError(C,E);else throw new Error(C)},"parseError"),setInput:o(function(k,C){return this.yy=C||this.yy||{},this._input=k,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var k=this._input[0];this.yytext+=k,this.yyleng++,this.offset++,this.match+=k,this.matched+=k;var C=k.match(/(?:\r\n?|\n).*/g);return C?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),k},"input"),unput:o(function(k){var C=k.length,E=k.split(/(?:\r\n?|\n)/g);this._input=k+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-C),this.offset-=C;var S=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var L=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===S.length?this.yylloc.first_column:0)+S[S.length-E.length].length-E[0].length:this.yylloc.first_column-C},this.options.ranges&&(this.yylloc.range=[L[0],L[0]+this.yyleng-C]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(k){this.unput(this.match.slice(k))},"less"),pastInput:o(function(){var k=this.matched.substr(0,this.matched.length-this.match.length);return(k.length>20?"...":"")+k.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var k=this.match;return k.length<20&&(k+=this._input.substr(0,20-k.length)),(k.substr(0,20)+(k.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var k=this.pastInput(),C=new Array(k.length+1).join("-");return k+this.upcomingInput()+` -`+C+"^"},"showPosition"),test_match:o(function(k,C){var E,S,L;if(this.options.backtrack_lexer&&(L={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(L.yylloc.range=this.yylloc.range.slice(0))),S=k[0].match(/(?:\r\n?|\n).*/g),S&&(this.yylineno+=S.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:S?S[S.length-1].length-S[S.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+k[0].length},this.yytext+=k[0],this.match+=k[0],this.matches=k,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(k[0].length),this.matched+=k[0],E=this.performAction.call(this,this.yy,this,C,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var M in L)this[M]=L[M];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var k,C,E,S;this._more||(this.yytext="",this.match="");for(var L=this._currentRules(),M=0;MC[0].length)){if(C=E,S=M,this.options.backtrack_lexer){if(k=this.test_match(E,L[M]),k!==!1)return k;if(this._backtrack){C=!1;continue}else return!1}else if(!this.options.flex)break}return C?(k=this.test_match(C,L[S]),k!==!1?k:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var C=this.next();return C||this.lex()},"lex"),begin:o(function(C){this.conditionStack.push(C)},"begin"),popState:o(function(){var C=this.conditionStack.length-1;return C>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(C){return C=this.conditionStack.length-1-Math.abs(C||0),C>=0?this.conditionStack[C]:"INITIAL"},"topState"),pushState:o(function(C){this.begin(C)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(C,E,S,L){var M=L;switch(S){case 0:return C.getLogger().trace("Found comment",E.yytext),6;break;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;break;case 4:this.popState();break;case 5:C.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return C.getLogger().trace("SPACELINE"),6;break;case 7:return 7;case 8:return 15;case 9:C.getLogger().trace("end icon"),this.popState();break;case 10:return C.getLogger().trace("Exploding node"),this.begin("NODE"),19;break;case 11:return C.getLogger().trace("Cloud"),this.begin("NODE"),19;break;case 12:return C.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;break;case 13:return C.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;break;case 14:return this.begin("NODE"),19;break;case 15:return this.begin("NODE"),19;break;case 16:return this.begin("NODE"),19;break;case 17:return this.begin("NODE"),19;break;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:C.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return C.getLogger().trace("description:",E.yytext),"NODE_DESCR";break;case 26:this.popState();break;case 27:return this.popState(),C.getLogger().trace("node end ))"),"NODE_DEND";break;case 28:return this.popState(),C.getLogger().trace("node end )"),"NODE_DEND";break;case 29:return this.popState(),C.getLogger().trace("node end ...",E.yytext),"NODE_DEND";break;case 30:return this.popState(),C.getLogger().trace("node end (("),"NODE_DEND";break;case 31:return this.popState(),C.getLogger().trace("node end (-"),"NODE_DEND";break;case 32:return this.popState(),C.getLogger().trace("node end (-"),"NODE_DEND";break;case 33:return this.popState(),C.getLogger().trace("node end (("),"NODE_DEND";break;case 34:return this.popState(),C.getLogger().trace("node end (("),"NODE_DEND";break;case 35:return C.getLogger().trace("Long description:",E.yytext),20;break;case 36:return C.getLogger().trace("Long description:",E.yytext),20;break}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return w})();x.lexer=b;function T(){this.yy={}}return o(T,"Parser"),T.prototype=x,x.Parser=T,new T})();KU.parser=KU;PEe=KU});function FEe(t,e=0){return(os[t[e+0]]+os[t[e+1]]+os[t[e+2]]+os[t[e+3]]+"-"+os[t[e+4]]+os[t[e+5]]+"-"+os[t[e+6]]+os[t[e+7]]+"-"+os[t[e+8]]+os[t[e+9]]+"-"+os[t[e+10]]+os[t[e+11]]+os[t[e+12]]+os[t[e+13]]+os[t[e+14]]+os[t[e+15]]).toLowerCase()}var os,$Ee=P(()=>{"use strict";os=[];for(let t=0;t<256;++t)os.push((t+256).toString(16).slice(1));o(FEe,"unsafeStringify")});function ZU(){if(!QU){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");QU=crypto.getRandomValues.bind(crypto)}return QU(xpt)}var QU,xpt,zEe=P(()=>{"use strict";xpt=new Uint8Array(16);o(ZU,"rng")});var bpt,JU,GEe=P(()=>{"use strict";bpt=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),JU={randomUUID:bpt}});function Tpt(t,e,r){if(JU.randomUUID&&!e&&!t)return JU.randomUUID();t=t||{};let i=t.random??t.rng?.()??ZU();if(i.length<16)throw new Error("Random bytes length must be >= 16");if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let n=0;n<16;++n)e[r+n]=i[n];return e}return FEe(i)}var eH,VEe=P(()=>{"use strict";GEe();zEe();$Ee();o(Tpt,"v4");eH=Tpt});var qEe=P(()=>{"use strict";VEe()});var WEe,UEe=P(()=>{"use strict";To();er();WEe=12});var Af,W_,HEe=P(()=>{"use strict";Ut();qEe();Vr();bt();wa();Sr();UEe();Af={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},W_=class{constructor(){this.nodes=[];this.count=0;this.elements={};this.getLogger=this.getLogger.bind(this),this.nodeType=Af,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}static{o(this,"MindmapDB")}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let r=this.nodes.length-1;r>=0;r--)if(this.nodes[r].level0?this.nodes[0]:null}addNode(e,r,i,n){Q.info("addNode",e,r,i,n);let a=!1;this.nodes.length===0?(this.baseLevel=e,e=0,a=!0):this.baseLevel!==void 0&&(e=e-this.baseLevel,a=!1);let s=ge(),l=s.mindmap?.padding??fr.mindmap.padding;switch(n){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:l*=2;break}let u={id:this.count++,nodeId:Tr(r,s),level:e,descr:Tr(i,s),type:n,children:[],width:s.mindmap?.maxNodeWidth??fr.mindmap.maxNodeWidth,padding:l,isRoot:a},h=this.getParent(e);if(h)h.children.push(u),this.nodes.push(u);else if(a)this.nodes.push(u);else throw new Error(`There can be only one root. No parent could be found for ("${u.descr}")`)}getType(e,r){switch(Q.debug("In get type",e,r),e){case"[":return this.nodeType.RECT;case"(":return r===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;let r=ge(),i=this.nodes[this.nodes.length-1];e.icon&&(i.icon=Tr(e.icon,r)),e.class&&(i.class=Tr(e.class,r))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,r){if(e.level===0?e.section=void 0:e.section=r,e.children)for(let[i,n]of e.children.entries()){let a=e.level===0?i%(WEe-1):r;this.assignSections(n,a)}}flattenNodes(e,r){let i=ge(),n=["mindmap-node"];e.isRoot===!0?n.push("section-root","section--1"):e.section!==void 0&&n.push(`section-${e.section}`),e.class&&n.push(e.class);let a=n.join(" "),s=o(u=>{let f=(i.theme?.toLowerCase()??"").includes("redux");switch(u){case Af.CIRCLE:return"mindmapCircle";case Af.RECT:return"rect";case Af.ROUNDED_RECT:return"rounded";case Af.CLOUD:return"cloud";case Af.BANG:return"bang";case Af.HEXAGON:return"hexagon";case Af.DEFAULT:return f?"rounded":"defaultMindmapNode";case Af.NO_BORDER:default:return"rect"}},"getShapeFromType"),l={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,labelType:"markdown",isGroup:!1,shape:s(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:a,cssStyles:[],look:i.look,icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(r.push(l),e.children)for(let u of e.children)this.flattenNodes(u,r)}generateEdges(e,r){if(!e.children)return;let i=ge();for(let n of e.children){let a="edge";n.section!==void 0&&(a+=` section-edge-${n.section}`);let s=e.level+1;a+=` edge-depth-${s}`;let l={id:`edge_${e.id}_${n.id}`,start:e.id.toString(),end:n.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:i.look,classes:a,depth:e.level,section:n.section};r.push(l),this.generateEdges(n,r)}}getData(){let e=this.getMindmap(),r=ge(),n=Hj().layout!==void 0,a=r;if(n||(a.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:a};Q.debug("getData: mindmapRoot",e,r),this.assignSections(e);let s=[],l=[];this.flattenNodes(e,s),this.generateEdges(e,l),Q.debug(`getData: processed ${s.length} nodes and ${l.length} edges`);let u=new Map;for(let h of s)u.set(h.id,{shape:h.shape,width:h.width,height:h.height,padding:h.padding});return{nodes:s,edges:l,config:a,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(u),type:"mindmap",diagramId:"mindmap-"+eH()}}getLogger(){return Q}}});var kpt,YEe,jEe=P(()=>{"use strict";bt();I0();Wd();Ud();wa();Sr();kpt=o(async(t,e,r,i)=>{Q.debug(`Rendering mindmap diagram -`+t);let n=i.db,a=n.getData(),s=Ol(e,a.config.securityLevel);if(a.type=i.type,a.layoutAlgorithm=Vu(a.config.layout,{fallback:"cose-bilkent"}),a.diagramId=e,!n.getMindmap())return;a.nodes.forEach(p=>{p.shape==="rounded"?(p.radius=15,p.taper=15,p.stroke="none",p.width=0,p.padding=15):p.shape==="circle"?p.padding=10:p.shape==="rect"?(p.width=0,p.padding=10):p.shape==="hexagon"&&(p.width=0,p.height=0)}),await Ul(a,s);let{themeVariables:u}=Lt(),{useGradient:h,gradientStart:f,gradientStop:d}=u;if(h&&f&&d){let p=s.attr("id"),m=s.append("defs").append("linearGradient").attr("id",`${p}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");m.append("stop").attr("offset","0%").attr("stop-color",f).attr("stop-opacity",1),m.append("stop").attr("offset","100%").attr("stop-color",d).attr("stop-opacity",1)}Ro(s,a.config.mindmap?.padding??fr.mindmap.padding,"mindmapDiagram",a.config.mindmap?.useMaxWidth??fr.mindmap.useMaxWidth)},"draw"),YEe={draw:kpt}});var Cpt,wpt,Ept,XEe,KEe=P(()=>{"use strict";Yn();Cpt=o(t=>{let{theme:e,look:r}=t,i="";for(let n=0;n{let i="";for(let n=0;n{let{theme:e}=t,r=t.svgId,i=t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${r}-drop-shadow)`):"none";return` - .edge { - stroke-width: 3; - } - ${Cpt(t)} - .section-root rect, .section-root path, .section-root circle, .section-root polygon { - fill: ${t.git0}; - } - .section-root text { - fill: ${t.gitBranchLabel0}; - } - .section-root span { - color: ${e?.includes("redux")?t.nodeBorder:t.gitBranchLabel0}; - } - .icon-container { - height:100%; - display: flex; - justify-content: center; - align-items: center; - } - .edge { - fill: none; - } - .mindmap-node-label { - dy: 1em; - alignment-baseline: middle; - text-anchor: middle; - dominant-baseline: middle; - text-align: center; - } - [data-look="neo"].mindmap-node { - filter: ${i}; - } - [data-look="neo"].mindmap-node.section-root rect, [data-look="neo"].mindmap-node.section-root path, [data-look="neo"].mindmap-node.section-root circle, [data-look="neo"].mindmap-node.section-root polygon { - fill: ${e?.includes("redux")?t.mainBkg:t.git0}; - } - [data-look="neo"].mindmap-node.section-root .text-inner-tspan { - fill: ${e?.includes("redux")?t.nodeBorder:t["cScaleLabel"+(e==="neutral"?1:0)]}; - } - ${t.useGradient&&r&&t.mainBkg?wpt(t.THEME_COLOR_LIMIT,r,t.mainBkg):""} -`},"getStyles"),XEe=Ept});var QEe={};ur(QEe,{diagram:()=>Spt});var Spt,ZEe=P(()=>{"use strict";BEe();HEe();jEe();KEe();Spt={get db(){return new W_},renderer:YEe,parser:PEe,styles:XEe}});var tH,tSe,rSe=P(()=>{"use strict";tH=(function(){var t=o(function(E,S,L,M){for(L=L||{},M=E.length;M--;L[E[M]]=S);return L},"o"),e=[1,4],r=[1,13],i=[1,12],n=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,31],g=[6,7,11,24],y=[1,6,13,16,17,20,23],v=[1,35],x=[1,36],b=[1,6,7,11,13,16,17,20,23],T=[1,38],w={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:o(function(S,L,M,I,A,_,D){var N=_.length-1;switch(A){case 6:case 7:return I;case 8:I.getLogger().trace("Stop NL ");break;case 9:I.getLogger().trace("Stop EOF ");break;case 11:I.getLogger().trace("Stop NL2 ");break;case 12:I.getLogger().trace("Stop EOF2 ");break;case 15:I.getLogger().info("Node: ",_[N-1].id),I.addNode(_[N-2].length,_[N-1].id,_[N-1].descr,_[N-1].type,_[N]);break;case 16:I.getLogger().info("Node: ",_[N].id),I.addNode(_[N-1].length,_[N].id,_[N].descr,_[N].type);break;case 17:I.getLogger().trace("Icon: ",_[N]),I.decorateNode({icon:_[N]});break;case 18:case 23:I.decorateNode({class:_[N]});break;case 19:I.getLogger().trace("SPACELIST");break;case 20:I.getLogger().trace("Node: ",_[N-1].id),I.addNode(0,_[N-1].id,_[N-1].descr,_[N-1].type,_[N]);break;case 21:I.getLogger().trace("Node: ",_[N].id),I.addNode(0,_[N].id,_[N].descr,_[N].type);break;case 22:I.decorateNode({icon:_[N]});break;case 27:I.getLogger().trace("node found ..",_[N-2]),this.$={id:_[N-1],descr:_[N-1],type:I.getType(_[N-2],_[N])};break;case 28:this.$={id:_[N],descr:_[N],type:0};break;case 29:I.getLogger().trace("node found ..",_[N-3]),this.$={id:_[N-3],descr:_[N-1],type:I.getType(_[N-2],_[N])};break;case 30:this.$=_[N-1]+_[N];break;case 31:this.$=_[N];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:i,14:14,16:n,17:a,18:17,19:18,20:s,23:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:i,14:14,16:n,17:a,18:17,19:18,20:s,23:l},{6:r,9:22,12:11,13:i,14:14,16:n,17:a,18:17,19:18,20:s,23:l},{6:h,7:f,10:23,11:d},t(p,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:l}),t(p,[2,19]),t(p,[2,21],{15:30,24:m}),t(p,[2,22]),t(p,[2,23]),t(g,[2,25]),t(g,[2,26]),t(g,[2,28],{20:[1,32]}),{21:[1,33]},{6:h,7:f,10:34,11:d},{1:[2,7],6:r,12:21,13:i,14:14,16:n,17:a,18:17,19:18,20:s,23:l},t(y,[2,14],{7:v,11:x}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(p,[2,16],{15:37,24:m}),t(p,[2,17]),t(p,[2,18]),t(p,[2,20],{24:T}),t(g,[2,31]),{21:[1,39]},{22:[1,40]},t(y,[2,13],{7:v,11:x}),t(b,[2,11]),t(b,[2,12]),t(p,[2,15],{24:T}),t(g,[2,30]),{22:[1,41]},t(g,[2,27]),t(g,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(S,L){if(L.recoverable)this.trace(S);else{var M=new Error(S);throw M.hash=L,M}},"parseError"),parse:o(function(S){var L=this,M=[0],I=[],A=[null],_=[],D=this.table,N="",R=0,B=0,O=0,$=2,z=1,F=_.slice.call(arguments,1),V=Object.create(this.lexer),H={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(H.yy[X]=this.yy[X]);V.setInput(S,H.yy),H.yy.lexer=V,H.yy.parser=this,typeof V.yylloc>"u"&&(V.yylloc={});var W=V.yylloc;_.push(W);var Z=V.options&&V.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Y(pe){M.length=M.length-2*pe,A.length=A.length-pe,_.length=_.length-pe}o(Y,"popStack");function ae(){var pe;return pe=I.pop()||V.lex()||z,typeof pe!="number"&&(pe instanceof Array&&(I=pe,pe=I.pop()),pe=L.symbols_[pe]||pe),pe}o(ae,"lex");for(var J,ee,re,te,be,de,Ee={},Ne,we,Te,De;;){if(re=M[M.length-1],this.defaultActions[re]?te=this.defaultActions[re]:((J===null||typeof J>"u")&&(J=ae()),te=D[re]&&D[re][J]),typeof te>"u"||!te.length||!te[0]){var $e="";De=[];for(Ne in D[re])this.terminals_[Ne]&&Ne>$&&De.push("'"+this.terminals_[Ne]+"'");V.showPosition?$e="Parse error on line "+(R+1)+`: -`+V.showPosition()+` -Expecting `+De.join(", ")+", got '"+(this.terminals_[J]||J)+"'":$e="Parse error on line "+(R+1)+": Unexpected "+(J==z?"end of input":"'"+(this.terminals_[J]||J)+"'"),this.parseError($e,{text:V.match,token:this.terminals_[J]||J,line:V.yylineno,loc:W,expected:De})}if(te[0]instanceof Array&&te.length>1)throw new Error("Parse Error: multiple actions possible at state: "+re+", token: "+J);switch(te[0]){case 1:M.push(J),A.push(V.yytext),_.push(V.yylloc),M.push(te[1]),J=null,ee?(J=ee,ee=null):(B=V.yyleng,N=V.yytext,R=V.yylineno,W=V.yylloc,O>0&&O--);break;case 2:if(we=this.productions_[te[1]][1],Ee.$=A[A.length-we],Ee._$={first_line:_[_.length-(we||1)].first_line,last_line:_[_.length-1].last_line,first_column:_[_.length-(we||1)].first_column,last_column:_[_.length-1].last_column},Z&&(Ee._$.range=[_[_.length-(we||1)].range[0],_[_.length-1].range[1]]),de=this.performAction.apply(Ee,[N,B,R,H.yy,te[1],A,_].concat(F)),typeof de<"u")return de;we&&(M=M.slice(0,-1*we*2),A=A.slice(0,-1*we),_=_.slice(0,-1*we)),M.push(this.productions_[te[1]][0]),A.push(Ee.$),_.push(Ee._$),Te=D[M[M.length-2]][M[M.length-1]],M.push(Te);break;case 3:return!0}}return!0},"parse")},k=(function(){var E={EOF:1,parseError:o(function(L,M){if(this.yy.parser)this.yy.parser.parseError(L,M);else throw new Error(L)},"parseError"),setInput:o(function(S,L){return this.yy=L||this.yy||{},this._input=S,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var S=this._input[0];this.yytext+=S,this.yyleng++,this.offset++,this.match+=S,this.matched+=S;var L=S.match(/(?:\r\n?|\n).*/g);return L?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),S},"input"),unput:o(function(S){var L=S.length,M=S.split(/(?:\r\n?|\n)/g);this._input=S+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-L),this.offset-=L;var I=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),M.length-1&&(this.yylineno-=M.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:M?(M.length===I.length?this.yylloc.first_column:0)+I[I.length-M.length].length-M[0].length:this.yylloc.first_column-L},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-L]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(S){this.unput(this.match.slice(S))},"less"),pastInput:o(function(){var S=this.matched.substr(0,this.matched.length-this.match.length);return(S.length>20?"...":"")+S.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var S=this.match;return S.length<20&&(S+=this._input.substr(0,20-S.length)),(S.substr(0,20)+(S.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var S=this.pastInput(),L=new Array(S.length+1).join("-");return S+this.upcomingInput()+` -`+L+"^"},"showPosition"),test_match:o(function(S,L){var M,I,A;if(this.options.backtrack_lexer&&(A={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(A.yylloc.range=this.yylloc.range.slice(0))),I=S[0].match(/(?:\r\n?|\n).*/g),I&&(this.yylineno+=I.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:I?I[I.length-1].length-I[I.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+S[0].length},this.yytext+=S[0],this.match+=S[0],this.matches=S,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(S[0].length),this.matched+=S[0],M=this.performAction.call(this,this.yy,this,L,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),M)return M;if(this._backtrack){for(var _ in A)this[_]=A[_];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var S,L,M,I;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),_=0;_L[0].length)){if(L=M,I=_,this.options.backtrack_lexer){if(S=this.test_match(M,A[_]),S!==!1)return S;if(this._backtrack){L=!1;continue}else return!1}else if(!this.options.flex)break}return L?(S=this.test_match(L,A[I]),S!==!1?S:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var L=this.next();return L||this.lex()},"lex"),begin:o(function(L){this.conditionStack.push(L)},"begin"),popState:o(function(){var L=this.conditionStack.length-1;return L>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(L){return L=this.conditionStack.length-1-Math.abs(L||0),L>=0?this.conditionStack[L]:"INITIAL"},"topState"),pushState:o(function(L){this.begin(L)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(L,M,I,A){var _=A;switch(I){case 0:return this.pushState("shapeData"),M.yytext="",24;break;case 1:return this.pushState("shapeDataStr"),24;break;case 2:return this.popState(),24;break;case 3:let D=/\n\s*/g;return M.yytext=M.yytext.replace(D,"
    "),24;break;case 4:return 24;case 5:this.popState();break;case 6:return L.getLogger().trace("Found comment",M.yytext),6;break;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;break;case 10:this.popState();break;case 11:L.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return L.getLogger().trace("SPACELINE"),6;break;case 13:return 7;case 14:return 16;case 15:L.getLogger().trace("end icon"),this.popState();break;case 16:return L.getLogger().trace("Exploding node"),this.begin("NODE"),20;break;case 17:return L.getLogger().trace("Cloud"),this.begin("NODE"),20;break;case 18:return L.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;break;case 19:return L.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;break;case 20:return this.begin("NODE"),20;break;case 21:return this.begin("NODE"),20;break;case 22:return this.begin("NODE"),20;break;case 23:return this.begin("NODE"),20;break;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:L.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return L.getLogger().trace("description:",M.yytext),"NODE_DESCR";break;case 32:this.popState();break;case 33:return this.popState(),L.getLogger().trace("node end ))"),"NODE_DEND";break;case 34:return this.popState(),L.getLogger().trace("node end )"),"NODE_DEND";break;case 35:return this.popState(),L.getLogger().trace("node end ...",M.yytext),"NODE_DEND";break;case 36:return this.popState(),L.getLogger().trace("node end (("),"NODE_DEND";break;case 37:return this.popState(),L.getLogger().trace("node end (-"),"NODE_DEND";break;case 38:return this.popState(),L.getLogger().trace("node end (-"),"NODE_DEND";break;case 39:return this.popState(),L.getLogger().trace("node end (("),"NODE_DEND";break;case 40:return this.popState(),L.getLogger().trace("node end (("),"NODE_DEND";break;case 41:return L.getLogger().trace("Long description:",M.yytext),21;break;case 42:return L.getLogger().trace("Long description:",M.yytext),21;break}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return E})();w.lexer=k;function C(){this.yy={}}return o(C,"Parser"),C.prototype=w,w.Parser=C,new C})();tH.parser=tH;tSe=tH});var nc,iH,rH,nH,Lpt,Rpt,iSe,Npt,Ipt,ka,Mpt,Opt,Ppt,Bpt,Fpt,$pt,zpt,nSe,aSe=P(()=>{"use strict";Ut();Vr();bt();wa();xb();nc=[],iH=[],rH=0,nH={},Lpt=o(()=>{nc=[],iH=[],rH=0,nH={}},"clear"),Rpt=o(t=>{if(nc.length===0)return null;let e=nc[0].level,r=null;for(let i=nc.length-1;i>=0;i--)if(nc[i].level===e&&!r&&(r=nc[i]),nc[i].levell.parentId===n.id);for(let l of s){let u={id:l.id,parentId:n.id,label:Tr(l.label??"",i),labelType:"markdown",isGroup:!1,ticket:l?.ticket,priority:l?.priority,assigned:l?.assigned,icon:l?.icon,shape:"kanbanItem",level:l.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(u)}}return{nodes:e,edges:t,other:{},config:ge()}},"getData"),Ipt=o((t,e,r,i,n)=>{let a=ge(),s=a.mindmap?.padding??fr.mindmap.padding;switch(i){case ka.ROUNDED_RECT:case ka.RECT:case ka.HEXAGON:s*=2}let l={id:Tr(e,a)||"kbn"+rH++,level:t,label:Tr(r,a),width:a.mindmap?.maxNodeWidth??fr.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(n!==void 0){let h;n.includes(` -`)?h=n+` -`:h=`{ -`+n+` -}`;let f=ud(h,{schema:cd});if(f.shape&&(f.shape!==f.shape.toLowerCase()||f.shape.includes("_")))throw new Error(`No such shape: ${f.shape}. Shape names should be lowercase.`);f?.shape&&f.shape==="kanbanItem"&&(l.shape=f?.shape),f?.label&&(l.label=f?.label),f?.icon&&(l.icon=f?.icon.toString()),f?.assigned&&(l.assigned=f?.assigned.toString()),f?.ticket&&(l.ticket=f?.ticket.toString()),f?.priority&&(l.priority=f?.priority)}let u=Rpt(t);u?l.parentId=u.id||"kbn"+rH++:iH.push(l),nc.push(l)},"addNode"),ka={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Mpt=o((t,e)=>{switch(Q.debug("In get type",t,e),t){case"[":return ka.RECT;case"(":return e===")"?ka.ROUNDED_RECT:ka.CLOUD;case"((":return ka.CIRCLE;case")":return ka.CLOUD;case"))":return ka.BANG;case"{{":return ka.HEXAGON;default:return ka.DEFAULT}},"getType"),Opt=o((t,e)=>{nH[t]=e},"setElementForId"),Ppt=o(t=>{if(!t)return;let e=ge(),r=nc[nc.length-1];t.icon&&(r.icon=Tr(t.icon,e)),t.class&&(r.cssClasses=Tr(t.class,e))},"decorateNode"),Bpt=o(t=>{switch(t){case ka.DEFAULT:return"no-border";case ka.RECT:return"rect";case ka.ROUNDED_RECT:return"rounded-rect";case ka.CIRCLE:return"circle";case ka.CLOUD:return"cloud";case ka.BANG:return"bang";case ka.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),Fpt=o(()=>Q,"getLogger"),$pt=o(t=>nH[t],"getElementById"),zpt={clear:Lpt,addNode:Ipt,getSections:iSe,getData:Npt,nodeType:ka,getType:Mpt,setElementForId:Opt,decorateNode:Ppt,type2Str:Bpt,getLogger:Fpt,getElementById:$pt},nSe=zpt});var Gpt,sSe,oSe=P(()=>{"use strict";Ut();bt();ro();Xi();wa();A5();B5();Gpt=o(async(t,e,r,i)=>{Q.debug(`Rendering kanban diagram -`+t);let a=i.db.getData(),s=ge();s.htmlLabels=!1;let l=Fi(e);for(let v of a.nodes)v.domId=`${e}-${v.id}`;let u=l.append("g");u.attr("class","sections");let h=l.append("g");h.attr("class","items");let f=a.nodes.filter(v=>v.isGroup),d=0,p=10,m=[],g=25;for(let v of f){let x=s?.kanban?.sectionWidth||200;d=d+1,v.x=x*d+(d-1)*p/2,v.width=x,v.y=0,v.height=x*3,v.rx=5,v.ry=5,v.cssClasses=v.cssClasses+" section-"+d;let b=await N1(u,v);g=Math.max(g,b?.labelBBox?.height),m.push(b)}let y=0;for(let v of f){let x=m[y];y=y+1;let b=s?.kanban?.sectionWidth||200,T=-b*3/2+g,w=T,k=a.nodes.filter(S=>S.parentId===v.id);for(let S of k){if(S.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");S.x=v.x,S.width=b-1.5*p;let M=(await I1(h,S,{config:s})).node().getBBox();S.y=w+M.height/2,await Mb(S),w=S.y+M.height/2+p/2}let C=x.cluster.select("rect"),E=Math.max(w-T+3*p,50)+(g-25);C.attr("height",E)}El(void 0,l,s.mindmap?.padding??fr.kanban.padding,s.mindmap?.useMaxWidth??fr.kanban.useMaxWidth)},"draw"),sSe={draw:Gpt}});var Vpt,qpt,lSe,cSe=P(()=>{"use strict";Yn();wy();Vpt=o(t=>{let e="";for(let i=0;it.darkMode?Ye(i,n):Ke(i,n),"adjuster");for(let i=0;i` - .edge { - stroke-width: 3; - } - ${Vpt(t)} - .section-root rect, .section-root path, .section-root circle, .section-root polygon { - fill: ${t.git0}; - } - .section-root text { - fill: ${t.gitBranchLabel0}; - } - .icon-container { - height:100%; - display: flex; - justify-content: center; - align-items: center; - } - .edge { - fill: none; - } - .cluster-label, .label { - color: ${t.textColor}; - fill: ${t.textColor}; - } - .kanban-label { - dy: 1em; - alignment-baseline: middle; - text-anchor: middle; - dominant-baseline: middle; - text-align: center; - } - ${qu()} -`,"getStyles"),lSe=qpt});var uSe={};ur(uSe,{diagram:()=>Wpt});var Wpt,hSe=P(()=>{"use strict";rSe();aSe();oSe();cSe();Wpt={db:nSe,renderer:sSe,parser:tSe,styles:lSe}});var aH,$C,pSe=P(()=>{"use strict";aH=(function(){var t=o(function(l,u,h,f){for(h=h||{},f=l.length;f--;h[l[f]]=u);return h},"o"),e=[1,9],r=[1,10],i=[1,5,10,12],n={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:o(function(u,h,f,d,p,m,g){var y=m.length-1;switch(p){case 7:let v=d.findOrCreateNode(m[y-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(m[y-2].trim().replaceAll('""','"')),b=parseFloat(m[y].trim());d.addLink(v,x,b);break;case 8:case 9:case 11:this.$=m[y];break;case 10:this.$=m[y-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(i,[2,8]),t(i,[2,9]),{19:[1,16]},t(i,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(i,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:o(function(u,h){if(h.recoverable)this.trace(u);else{var f=new Error(u);throw f.hash=h,f}},"parseError"),parse:o(function(u){var h=this,f=[0],d=[],p=[null],m=[],g=this.table,y="",v=0,x=0,b=0,T=2,w=1,k=m.slice.call(arguments,1),C=Object.create(this.lexer),E={yy:{}};for(var S in this.yy)Object.prototype.hasOwnProperty.call(this.yy,S)&&(E.yy[S]=this.yy[S]);C.setInput(u,E.yy),E.yy.lexer=C,E.yy.parser=this,typeof C.yylloc>"u"&&(C.yylloc={});var L=C.yylloc;m.push(L);var M=C.options&&C.options.ranges;typeof E.yy.parseError=="function"?this.parseError=E.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I(W){f.length=f.length-2*W,p.length=p.length-W,m.length=m.length-W}o(I,"popStack");function A(){var W;return W=d.pop()||C.lex()||w,typeof W!="number"&&(W instanceof Array&&(d=W,W=d.pop()),W=h.symbols_[W]||W),W}o(A,"lex");for(var _,D,N,R,B,O,$={},z,F,V,H;;){if(N=f[f.length-1],this.defaultActions[N]?R=this.defaultActions[N]:((_===null||typeof _>"u")&&(_=A()),R=g[N]&&g[N][_]),typeof R>"u"||!R.length||!R[0]){var X="";H=[];for(z in g[N])this.terminals_[z]&&z>T&&H.push("'"+this.terminals_[z]+"'");C.showPosition?X="Parse error on line "+(v+1)+`: -`+C.showPosition()+` -Expecting `+H.join(", ")+", got '"+(this.terminals_[_]||_)+"'":X="Parse error on line "+(v+1)+": Unexpected "+(_==w?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(X,{text:C.match,token:this.terminals_[_]||_,line:C.yylineno,loc:L,expected:H})}if(R[0]instanceof Array&&R.length>1)throw new Error("Parse Error: multiple actions possible at state: "+N+", token: "+_);switch(R[0]){case 1:f.push(_),p.push(C.yytext),m.push(C.yylloc),f.push(R[1]),_=null,D?(_=D,D=null):(x=C.yyleng,y=C.yytext,v=C.yylineno,L=C.yylloc,b>0&&b--);break;case 2:if(F=this.productions_[R[1]][1],$.$=p[p.length-F],$._$={first_line:m[m.length-(F||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-(F||1)].first_column,last_column:m[m.length-1].last_column},M&&($._$.range=[m[m.length-(F||1)].range[0],m[m.length-1].range[1]]),O=this.performAction.apply($,[y,x,v,E.yy,R[1],p,m].concat(k)),typeof O<"u")return O;F&&(f=f.slice(0,-1*F*2),p=p.slice(0,-1*F),m=m.slice(0,-1*F)),f.push(this.productions_[R[1]][0]),p.push($.$),m.push($._$),V=g[f[f.length-2]][f[f.length-1]],f.push(V);break;case 3:return!0}}return!0},"parse")},a=(function(){var l={EOF:1,parseError:o(function(h,f){if(this.yy.parser)this.yy.parser.parseError(h,f);else throw new Error(h)},"parseError"),setInput:o(function(u,h){return this.yy=h||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var h=u.match(/(?:\r\n?|\n).*/g);return h?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},"input"),unput:o(function(u){var h=u.length,f=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1&&(this.yylineno-=f.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===d.length?this.yylloc.first_column:0)+d[d.length-f.length].length-f[0].length:this.yylloc.first_column-h},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-h]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(u){this.unput(this.match.slice(u))},"less"),pastInput:o(function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var u=this.pastInput(),h=new Array(u.length+1).join("-");return u+this.upcomingInput()+` -`+h+"^"},"showPosition"),test_match:o(function(u,h){var f,d,p;if(this.options.backtrack_lexer&&(p={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(p.yylloc.range=this.yylloc.range.slice(0))),d=u[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+u[0].length},this.yytext+=u[0],this.match+=u[0],this.matches=u,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(u[0].length),this.matched+=u[0],f=this.performAction.call(this,this.yy,this,h,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),f)return f;if(this._backtrack){for(var m in p)this[m]=p[m];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var u,h,f,d;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),m=0;mh[0].length)){if(h=f,d=m,this.options.backtrack_lexer){if(u=this.test_match(f,p[m]),u!==!1)return u;if(this._backtrack){h=!1;continue}else return!1}else if(!this.options.flex)break}return h?(u=this.test_match(h,p[d]),u!==!1?u:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var h=this.next();return h||this.lex()},"lex"),begin:o(function(h){this.conditionStack.push(h)},"begin"),popState:o(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:o(function(h){this.begin(h)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(h,f,d,p){var m=p;switch(d){case 0:return this.pushState("csv"),4;break;case 1:return this.pushState("csv"),4;break;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;break;case 6:return 20;case 7:return this.popState("escaped_text"),18;break;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return l})();n.lexer=a;function s(){this.yy={}}return o(s,"Parser"),s.prototype=n,n.Parser=s,new s})();aH.parser=aH;$C=aH});var H_,Y_,U_,jpt,sH,Xpt,oH,Kpt,Qpt,Zpt,Jpt,mSe,gSe=P(()=>{"use strict";Ut();Vr();Ki();H_=[],Y_=[],U_=new Map,jpt=o(()=>{H_=[],Y_=[],U_=new Map,wr()},"clear"),sH=class{constructor(e,r,i=0){this.source=e;this.target=r;this.value=i}static{o(this,"SankeyLink")}},Xpt=o((t,e,r)=>{H_.push(new sH(t,e,r))},"addLink"),oH=class{constructor(e){this.ID=e}static{o(this,"SankeyNode")}},Kpt=o(t=>{t=lt.sanitizeText(t,ge());let e=U_.get(t);return e===void 0&&(e=new oH(t),U_.set(t,e),Y_.push(e)),e},"findOrCreateNode"),Qpt=o(()=>Y_,"getNodes"),Zpt=o(()=>H_,"getLinks"),Jpt=o(()=>({nodes:Y_.map(t=>({id:t.ID})),links:H_.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),mSe={nodesMap:U_,getConfig:o(()=>ge().sankey,"getConfig"),getNodes:Qpt,getLinks:Zpt,getGraph:Jpt,addLink:Xpt,findOrCreateNode:Kpt,getAccTitle:Dr,setAccTitle:Ar,getAccDescription:Rr,setAccDescription:Lr,getDiagramTitle:Nr,setDiagramTitle:Mr,clear:jpt}});function zC(t,e){let r;if(e===void 0)for(let i of t)i!=null&&(r=i)&&(r=i);else{let i=-1;for(let n of t)(n=e(n,++i,t))!=null&&(r=n)&&(r=n)}return r}var ySe=P(()=>{"use strict";o(zC,"max")});function lx(t,e){let r;if(e===void 0)for(let i of t)i!=null&&(r>i||r===void 0&&i>=i)&&(r=i);else{let i=-1;for(let n of t)(n=e(n,++i,t))!=null&&(r>n||r===void 0&&n>=n)&&(r=n)}return r}var vSe=P(()=>{"use strict";o(lx,"min")});function cx(t,e){let r=0;if(e===void 0)for(let i of t)(i=+i)&&(r+=i);else{let i=-1;for(let n of t)(n=+e(n,++i,t))&&(r+=n)}return r}var xSe=P(()=>{"use strict";o(cx,"sum")});var lH=P(()=>{"use strict";ySe();vSe();xSe()});function e0t(t){return t.target.depth}function cH(t){return t.depth}function uH(t,e){return e-1-t.height}function GC(t,e){return t.sourceLinks.length?t.depth:e-1}function hH(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?lx(t.sourceLinks,e0t)-1:0}var fH=P(()=>{"use strict";lH();o(e0t,"targetDepth");o(cH,"left");o(uH,"right");o(GC,"justify");o(hH,"center")});function ux(t){return function(){return t}}var bSe=P(()=>{"use strict";o(ux,"constant")});function TSe(t,e){return j_(t.source,e.source)||t.index-e.index}function kSe(t,e){return j_(t.target,e.target)||t.index-e.index}function j_(t,e){return t.y0-e.y0}function dH(t){return t.value}function t0t(t){return t.index}function r0t(t){return t.nodes}function i0t(t){return t.links}function CSe(t,e){let r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function wSe({nodes:t}){for(let e of t){let r=e.y0,i=r;for(let n of e.sourceLinks)n.y0=r+n.width/2,r+=n.width;for(let n of e.targetLinks)n.y1=i+n.width/2,i+=n.width}}function X_(){let t=0,e=0,r=1,i=1,n=24,a=8,s,l=t0t,u=GC,h,f,d=r0t,p=i0t,m=6;function g(){let N={nodes:d.apply(null,arguments),links:p.apply(null,arguments)};return y(N),v(N),x(N),b(N),k(N),wSe(N),N}o(g,"sankey"),g.update=function(N){return wSe(N),N},g.nodeId=function(N){return arguments.length?(l=typeof N=="function"?N:ux(N),g):l},g.nodeAlign=function(N){return arguments.length?(u=typeof N=="function"?N:ux(N),g):u},g.nodeSort=function(N){return arguments.length?(h=N,g):h},g.nodeWidth=function(N){return arguments.length?(n=+N,g):n},g.nodePadding=function(N){return arguments.length?(a=s=+N,g):a},g.nodes=function(N){return arguments.length?(d=typeof N=="function"?N:ux(N),g):d},g.links=function(N){return arguments.length?(p=typeof N=="function"?N:ux(N),g):p},g.linkSort=function(N){return arguments.length?(f=N,g):f},g.size=function(N){return arguments.length?(t=e=0,r=+N[0],i=+N[1],g):[r-t,i-e]},g.extent=function(N){return arguments.length?(t=+N[0][0],r=+N[1][0],e=+N[0][1],i=+N[1][1],g):[[t,e],[r,i]]},g.iterations=function(N){return arguments.length?(m=+N,g):m};function y({nodes:N,links:R}){for(let[O,$]of N.entries())$.index=O,$.sourceLinks=[],$.targetLinks=[];let B=new Map(N.map((O,$)=>[l(O,$,N),O]));for(let[O,$]of R.entries()){$.index=O;let{source:z,target:F}=$;typeof z!="object"&&(z=$.source=CSe(B,z)),typeof F!="object"&&(F=$.target=CSe(B,F)),z.sourceLinks.push($),F.targetLinks.push($)}if(f!=null)for(let{sourceLinks:O,targetLinks:$}of N)O.sort(f),$.sort(f)}o(y,"computeNodeLinks");function v({nodes:N}){for(let R of N)R.value=R.fixedValue===void 0?Math.max(cx(R.sourceLinks,dH),cx(R.targetLinks,dH)):R.fixedValue}o(v,"computeNodeValues");function x({nodes:N}){let R=N.length,B=new Set(N),O=new Set,$=0;for(;B.size;){for(let z of B){z.depth=$;for(let{target:F}of z.sourceLinks)O.add(F)}if(++$>R)throw new Error("circular link");B=O,O=new Set}}o(x,"computeNodeDepths");function b({nodes:N}){let R=N.length,B=new Set(N),O=new Set,$=0;for(;B.size;){for(let z of B){z.height=$;for(let{source:F}of z.targetLinks)O.add(F)}if(++$>R)throw new Error("circular link");B=O,O=new Set}}o(b,"computeNodeHeights");function T({nodes:N}){let R=zC(N,$=>$.depth)+1,B=(r-t-n)/(R-1),O=new Array(R);for(let $ of N){let z=Math.max(0,Math.min(R-1,Math.floor(u.call(null,$,R))));$.layer=z,$.x0=t+z*B,$.x1=$.x0+n,O[z]?O[z].push($):O[z]=[$]}if(h)for(let $ of O)$.sort(h);return O}o(T,"computeNodeLayers");function w(N){let R=lx(N,B=>(i-e-(B.length-1)*s)/cx(B,dH));for(let B of N){let O=e;for(let $ of B){$.y0=O,$.y1=O+$.value*R,O=$.y1+s;for(let z of $.sourceLinks)z.width=z.value*R}O=(i-O+s)/(B.length+1);for(let $=0;$B.length)-1)),w(R);for(let B=0;B0))continue;let X=(V/H-F.y0)*R;F.y0+=X,F.y1+=X,I(F)}h===void 0&&z.sort(j_),S(z,B)}}o(C,"relaxLeftToRight");function E(N,R,B){for(let O=N.length,$=O-2;$>=0;--$){let z=N[$];for(let F of z){let V=0,H=0;for(let{target:W,value:Z}of F.sourceLinks){let Y=Z*(W.layer-F.layer);V+=D(F,W)*Y,H+=Y}if(!(H>0))continue;let X=(V/H-F.y0)*R;F.y0+=X,F.y1+=X,I(F)}h===void 0&&z.sort(j_),S(z,B)}}o(E,"relaxRightToLeft");function S(N,R){let B=N.length>>1,O=N[B];M(N,O.y0-s,B-1,R),L(N,O.y1+s,B+1,R),M(N,i,N.length-1,R),L(N,e,0,R)}o(S,"resolveCollisions");function L(N,R,B,O){for(;B1e-6&&($.y0+=z,$.y1+=z),R=$.y1+s}}o(L,"resolveCollisionsTopToBottom");function M(N,R,B,O){for(;B>=0;--B){let $=N[B],z=($.y1-R)*O;z>1e-6&&($.y0-=z,$.y1-=z),R=$.y0-s}}o(M,"resolveCollisionsBottomToTop");function I({sourceLinks:N,targetLinks:R}){if(f===void 0){for(let{source:{sourceLinks:B}}of R)B.sort(kSe);for(let{target:{targetLinks:B}}of N)B.sort(TSe)}}o(I,"reorderNodeLinks");function A(N){if(f===void 0)for(let{sourceLinks:R,targetLinks:B}of N)R.sort(kSe),B.sort(TSe)}o(A,"reorderLinks");function _(N,R){let B=N.y0-(N.sourceLinks.length-1)*s/2;for(let{target:O,width:$}of N.sourceLinks){if(O===R)break;B+=$+s}for(let{source:O,width:$}of R.targetLinks){if(O===N)break;B-=$}return B}o(_,"targetTop");function D(N,R){let B=R.y0-(R.targetLinks.length-1)*s/2;for(let{source:O,width:$}of R.targetLinks){if(O===N)break;B+=$+s}for(let{target:O,width:$}of N.sourceLinks){if(O===R)break;B-=$}return B}return o(D,"sourceTop"),g}var ESe=P(()=>{"use strict";lH();fH();bSe();o(TSe,"ascendingSourceBreadth");o(kSe,"ascendingTargetBreadth");o(j_,"ascendingBreadth");o(dH,"value");o(t0t,"defaultId");o(r0t,"defaultNodes");o(i0t,"defaultLinks");o(CSe,"find");o(wSe,"computeLinkBreadths");o(X_,"Sankey")});function gH(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function SSe(){return new gH}var pH,mH,pg,n0t,yH,ASe=P(()=>{"use strict";pH=Math.PI,mH=2*pH,pg=1e-6,n0t=mH-pg;o(gH,"Path");o(SSe,"path");gH.prototype=SSe.prototype={constructor:gH,moveTo:o(function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},"moveTo"),closePath:o(function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},"closePath"),lineTo:o(function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},"lineTo"),quadraticCurveTo:o(function(t,e,r,i){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+i)},"quadraticCurveTo"),bezierCurveTo:o(function(t,e,r,i,n,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +i+","+(this._x1=+n)+","+(this._y1=+a)},"bezierCurveTo"),arcTo:o(function(t,e,r,i,n){t=+t,e=+e,r=+r,i=+i,n=+n;var a=this._x1,s=this._y1,l=r-t,u=i-e,h=a-t,f=s-e,d=h*h+f*f;if(n<0)throw new Error("negative radius: "+n);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>pg)if(!(Math.abs(f*l-u*h)>pg)||!n)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var p=r-a,m=i-s,g=l*l+u*u,y=p*p+m*m,v=Math.sqrt(g),x=Math.sqrt(d),b=n*Math.tan((pH-Math.acos((g+d-y)/(2*v*x)))/2),T=b/x,w=b/v;Math.abs(T-1)>pg&&(this._+="L"+(t+T*h)+","+(e+T*f)),this._+="A"+n+","+n+",0,0,"+ +(f*p>h*m)+","+(this._x1=t+w*l)+","+(this._y1=e+w*u)}},"arcTo"),arc:o(function(t,e,r,i,n,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(i),l=r*Math.sin(i),u=t+s,h=e+l,f=1^a,d=a?i-n:n-i;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+u+","+h:(Math.abs(this._x1-u)>pg||Math.abs(this._y1-h)>pg)&&(this._+="L"+u+","+h),r&&(d<0&&(d=d%mH+mH),d>n0t?this._+="A"+r+","+r+",0,1,"+f+","+(t-s)+","+(e-l)+"A"+r+","+r+",0,1,"+f+","+(this._x1=u)+","+(this._y1=h):d>pg&&(this._+="A"+r+","+r+",0,"+ +(d>=pH)+","+f+","+(this._x1=t+r*Math.cos(n))+","+(this._y1=e+r*Math.sin(n))))},"arc"),rect:o(function(t,e,r,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +i+"h"+-r+"Z"},"rect"),toString:o(function(){return this._},"toString")};yH=SSe});var _Se=P(()=>{"use strict";ASe()});function K_(t){return o(function(){return t},"constant")}var DSe=P(()=>{"use strict";o(K_,"default")});function LSe(t){return t[0]}function RSe(t){return t[1]}var NSe=P(()=>{"use strict";o(LSe,"x");o(RSe,"y")});var ISe,MSe=P(()=>{"use strict";ISe=Array.prototype.slice});function a0t(t){return t.source}function s0t(t){return t.target}function o0t(t){var e=a0t,r=s0t,i=LSe,n=RSe,a=null;function s(){var l,u=ISe.call(arguments),h=e.apply(this,u),f=r.apply(this,u);if(a||(a=l=yH()),t(a,+i.apply(this,(u[0]=h,u)),+n.apply(this,u),+i.apply(this,(u[0]=f,u)),+n.apply(this,u)),l)return a=null,l+""||null}return o(s,"link"),s.source=function(l){return arguments.length?(e=l,s):e},s.target=function(l){return arguments.length?(r=l,s):r},s.x=function(l){return arguments.length?(i=typeof l=="function"?l:K_(+l),s):i},s.y=function(l){return arguments.length?(n=typeof l=="function"?l:K_(+l),s):n},s.context=function(l){return arguments.length?(a=l??null,s):a},s}function l0t(t,e,r,i,n){t.moveTo(e,r),t.bezierCurveTo(e=(e+i)/2,r,e,n,i,n)}function vH(){return o0t(l0t)}var OSe=P(()=>{"use strict";_Se();MSe();DSe();NSe();o(a0t,"linkSource");o(s0t,"linkTarget");o(o0t,"link");o(l0t,"curveHorizontal");o(vH,"linkHorizontal")});var PSe=P(()=>{"use strict";OSe()});function c0t(t){return[t.source.x1,t.y0]}function u0t(t){return[t.target.x0,t.y1]}function Q_(){return vH().source(c0t).target(u0t)}var BSe=P(()=>{"use strict";PSe();o(c0t,"horizontalSource");o(u0t,"horizontalTarget");o(Q_,"default")});var FSe=P(()=>{"use strict";ESe();fH();BSe()});var VC,$Se=P(()=>{"use strict";VC=class t{static{o(this,"Uid")}static{this.count=0}static next(e){return new t(e+ ++t.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}}});var h0t,f0t,zSe,GSe=P(()=>{"use strict";Ut();Pr();FSe();Xi();$Se();h0t={left:cH,right:uH,center:hH,justify:GC},f0t=o(function(t,e,r,i){let{securityLevel:n,sankey:a}=ge(),s=iw.sankey,l;n==="sandbox"&&(l=Ze("#i"+e));let u=n==="sandbox"?Ze(l.nodes()[0].contentDocument.body):Ze("body"),h=n==="sandbox"?u.select(`[id="${e}"]`):Ze(`[id="${e}"]`),f=a?.width??s.width,d=a?.height??s.width,p=a?.useMaxWidth??s.useMaxWidth,m=a?.nodeAlignment??s.nodeAlignment,g=a?.prefix??s.prefix,y=a?.suffix??s.suffix,v=a?.showValues??s.showValues,x=i.db.getGraph(),b=h0t[m];X_().nodeId(M=>M.id).nodeWidth(10).nodePadding(10+(v?15:0)).nodeAlign(b).extent([[0,0],[f,d]])(x);let k=jo(SN);h.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",M=>(M.uid=VC.next("node-")).id).attr("transform",function(M){return"translate("+M.x0+","+M.y0+")"}).attr("x",M=>M.x0).attr("y",M=>M.y0).append("rect").attr("height",M=>M.y1-M.y0).attr("width",M=>M.x1-M.x0).attr("fill",M=>k(M.id));let C=o(({id:M,value:I})=>v?`${M} -${g}${Math.round(I*100)/100}${y}`:M,"getText");h.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",M=>M.x0(M.y1+M.y0)/2).attr("dy",`${v?"0":"0.35"}em`).attr("text-anchor",M=>M.x0(I.uid=VC.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",I=>I.source.x1).attr("x2",I=>I.target.x0);M.append("stop").attr("offset","0%").attr("stop-color",I=>k(I.source.id)),M.append("stop").attr("offset","100%").attr("stop-color",I=>k(I.target.id))}let L;switch(S){case"gradient":L=o(M=>M.uid,"coloring");break;case"source":L=o(M=>k(M.source.id),"coloring");break;case"target":L=o(M=>k(M.target.id),"coloring");break;default:L=S}E.append("path").attr("d",Q_()).attr("stroke",L).attr("stroke-width",M=>Math.max(1,M.width)),El(void 0,h,0,p)},"draw"),zSe={draw:f0t}});var VSe,qSe=P(()=>{"use strict";VSe=o(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` -`).trim(),"prepareTextForParsing")});var d0t,WSe,USe=P(()=>{"use strict";d0t=o(t=>`.label { - font-family: ${t.fontFamily}; - }`,"getStyles"),WSe=d0t});var HSe={};ur(HSe,{diagram:()=>m0t});var p0t,m0t,YSe=P(()=>{"use strict";pSe();gSe();GSe();qSe();USe();p0t=$C.parse.bind($C);$C.parse=t=>p0t(VSe(t));m0t={styles:WSe,parser:$C,db:mSe,renderer:zSe}});var x0t,hx,xH=P(()=>{"use strict";Sr();wa();er();Ki();x0t=fr.packet,hx=class{constructor(){this.packet=[];this.setAccTitle=Ar;this.getAccTitle=Dr;this.setDiagramTitle=Mr;this.getDiagramTitle=Nr;this.getAccDescription=Rr;this.setAccDescription=Lr}static{o(this,"PacketDB")}getConfig(){let e=fi({...x0t,...Lt().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){wr(),this.packet=[]}}});var b0t,T0t,k0t,bH,KSe=P(()=>{"use strict";sh();bt();vf();xH();b0t=1e4,T0t=o((t,e)=>{Ss(t,e);let r=-1,i=[],n=1,{bitsPerRow:a}=e.getConfig();for(let{start:s,end:l,bits:u,label:h}of t.blocks){if(s!==void 0&&l!==void 0&&l{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];let i=e*r-1,n=e*r;return[{start:t.start,end:i,label:t.label,bits:i-t.start},{start:n,end:t.end,label:t.label,bits:t.end-n}]},"getNextFittingBlock"),bH={parser:{yy:void 0},parse:o(async t=>{let e=await ba("packet",t),r=bH.parser?.yy;if(!(r instanceof hx))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Q.debug(e),T0t(e,r)},"parse")}});var C0t,w0t,QSe,ZSe=P(()=>{"use strict";ro();Xi();C0t=o((t,e,r,i)=>{let n=i.db,a=n.getConfig(),{rowHeight:s,paddingY:l,bitWidth:u,bitsPerRow:h}=a,f=n.getPacket(),d=n.getDiagramTitle(),p=s+l,m=p*(f.length+1)-(d?0:s),g=u*h+2,y=Fi(e);y.attr("viewBox",`0 0 ${g} ${m}`),Hr(y,m,g,a.useMaxWidth);for(let[v,x]of f.entries())w0t(y,x,v,a);y.append("text").text(d).attr("x",g/2).attr("y",m-p/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),w0t=o((t,e,r,{rowHeight:i,paddingX:n,paddingY:a,bitWidth:s,bitsPerRow:l,showBits:u})=>{let h=t.append("g"),f=r*(i+a)+a;for(let d of e){let p=d.start%l*s+1,m=(d.end-d.start+1)*s-n;if(h.append("rect").attr("x",p).attr("y",f).attr("width",m).attr("height",i).attr("class","packetBlock"),h.append("text").attr("x",p+m/2).attr("y",f+i/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!u)continue;let g=d.end===d.start,y=f-2;h.append("text").attr("x",p+(g?m/2:0)).attr("y",y).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",g?"middle":"start").text(d.start),g||h.append("text").attr("x",p+m).attr("y",y).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),QSe={draw:C0t}});var E0t,JSe,e6e=P(()=>{"use strict";er();E0t={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},JSe=o(({packet:t}={})=>{let e=fi(E0t,t);return` - .packetByte { - font-size: ${e.byteFontSize}; - } - .packetByte.start { - fill: ${e.startByteColor}; - } - .packetByte.end { - fill: ${e.endByteColor}; - } - .packetLabel { - fill: ${e.labelColor}; - font-size: ${e.labelFontSize}; - } - .packetTitle { - fill: ${e.titleColor}; - font-size: ${e.titleFontSize}; - } - .packetBlock { - stroke: ${e.blockStrokeColor}; - stroke-width: ${e.blockStrokeWidth}; - fill: ${e.blockFillColor}; - } - `},"styles")});var t6e={};ur(t6e,{diagram:()=>S0t});var S0t,r6e=P(()=>{"use strict";xH();KSe();ZSe();e6e();S0t={parser:bH,get db(){return new hx},renderer:QSe,styles:JSe}});var fx,a6e,mg,D0t,L0t,s6e,R0t,N0t,I0t,M0t,O0t,P0t,B0t,gg,TH=P(()=>{"use strict";Sr();wa();er();Ki();fx={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},a6e={axes:[],curves:[],options:fx},mg=structuredClone(a6e),D0t=fr.radar,L0t=o(()=>fi({...D0t,...Lt().radar}),"getConfig"),s6e=o(()=>mg.axes,"getAxes"),R0t=o(()=>mg.curves,"getCurves"),N0t=o(()=>mg.options,"getOptions"),I0t=o(t=>{mg.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),M0t=o(t=>{mg.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:O0t(e.entries)}))},"setCurves"),O0t=o(t=>{if(t[0].axis==null)return t.map(r=>r.value);let e=s6e();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{let i=t.find(n=>n.axis?.$refText===r.name);if(i===void 0)throw new Error("Missing entry for axis "+r.label);return i.value})},"computeCurveEntries"),P0t=o(t=>{let e=t.reduce((r,i)=>(r[i.name]=i,r),{});mg.options={showLegend:e.showLegend?.value??fx.showLegend,ticks:e.ticks?.value??fx.ticks,max:e.max?.value??fx.max,min:e.min?.value??fx.min,graticule:e.graticule?.value??fx.graticule}},"setOptions"),B0t=o(()=>{wr(),mg=structuredClone(a6e)},"clear"),gg={getAxes:s6e,getCurves:R0t,getOptions:N0t,setAxes:I0t,setCurves:M0t,setOptions:P0t,getConfig:L0t,clear:B0t,setAccTitle:Ar,getAccTitle:Dr,setDiagramTitle:Mr,getDiagramTitle:Nr,getAccDescription:Rr,setAccDescription:Lr}});var F0t,o6e,l6e=P(()=>{"use strict";sh();bt();vf();TH();F0t=o(t=>{Ss(t,gg);let{axes:e,curves:r,options:i}=t;gg.setAxes(e),gg.setCurves(r),gg.setOptions(i)},"populate"),o6e={parse:o(async t=>{let e=await ba("radar",t);Q.debug(e),F0t(e)},"parse")}});function q0t(t,e,r,i,n,a,s){let l=e.length,u=Math.min(s.width,s.height)/2;r.forEach((h,f)=>{if(h.entries.length!==l)return;let d=h.entries.map((p,m)=>{let g=2*Math.PI*m/l-Math.PI/2,y=W0t(p,i,n,u),v=y*Math.cos(g),x=y*Math.sin(g);return{x:v,y:x}});a==="circle"?t.append("path").attr("d",U0t(d,s.curveTension)).attr("class",`radarCurve-${f}`):a==="polygon"&&t.append("polygon").attr("points",d.map(p=>`${p.x},${p.y}`).join(" ")).attr("class",`radarCurve-${f}`)})}function W0t(t,e,r,i){let n=Math.min(Math.max(t,e),r);return i*(n-e)/(r-e)}function U0t(t,e){let r=t.length,i=`M${t[0].x},${t[0].y}`;for(let n=0;n{let h=t.append("g").attr("transform",`translate(${n}, ${a+u*s})`);h.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${u}`),h.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(l.label)})}var $0t,z0t,G0t,V0t,c6e,u6e=P(()=>{"use strict";ro();Xi();$0t=o((t,e,r,i)=>{let n=i.db,a=n.getAxes(),s=n.getCurves(),l=n.getOptions(),u=n.getConfig(),h=n.getDiagramTitle(),f=Fi(e),d=z0t(f,u),p=l.max??Math.max(...s.map(y=>Math.max(...y.entries))),m=l.min,g=Math.min(u.width,u.height)/2;G0t(d,a,g,l.ticks,l.graticule),V0t(d,a,g,u),q0t(d,a,s,m,p,l.graticule,u),H0t(d,s,l.showLegend,u),d.append("text").attr("class","radarTitle").text(h).attr("x",0).attr("y",-u.height/2-u.marginTop)},"draw"),z0t=o((t,e)=>{let r=e.width+e.marginLeft+e.marginRight,i=e.height+e.marginTop+e.marginBottom,n={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return Hr(t,i,r,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${r} ${i}`),t.append("g").attr("transform",`translate(${n.x}, ${n.y})`)},"drawFrame"),G0t=o((t,e,r,i,n)=>{if(n==="circle")for(let a=0;a{let d=2*f*Math.PI/a-Math.PI/2,p=l*Math.cos(d),m=l*Math.sin(d);return`${p},${m}`}).join(" ");t.append("polygon").attr("points",u).attr("class","radarGraticule")}}},"drawGraticule"),V0t=o((t,e,r,i)=>{let n=e.length;for(let a=0;a{"use strict";er();wg();Sr();Y0t=o((t,e)=>{let r="";for(let i=0;i{let e=Zc(),r=Lt(),i=fi(e,r.themeVariables),n=fi(i.radar,t);return{themeVariables:i,radarOptions:n}},"buildRadarStyleOptions"),h6e=o(({radar:t}={})=>{let{themeVariables:e,radarOptions:r}=j0t(t);return` - .radarTitle { - font-size: ${e.fontSize}; - color: ${e.titleColor}; - dominant-baseline: hanging; - text-anchor: middle; - } - .radarAxisLine { - stroke: ${r.axisColor}; - stroke-width: ${r.axisStrokeWidth}; - } - .radarAxisLabel { - dominant-baseline: middle; - text-anchor: middle; - font-size: ${r.axisLabelFontSize}px; - color: ${r.axisColor}; - } - .radarGraticule { - fill: ${r.graticuleColor}; - fill-opacity: ${r.graticuleOpacity}; - stroke: ${r.graticuleColor}; - stroke-width: ${r.graticuleStrokeWidth}; - } - .radarLegendText { - text-anchor: start; - font-size: ${r.legendFontSize}px; - dominant-baseline: hanging; - } - ${Y0t(e,r)} - `},"styles")});var d6e={};ur(d6e,{diagram:()=>X0t});var X0t,p6e=P(()=>{"use strict";TH();l6e();u6e();f6e();X0t={parser:o6e,db:gg,renderer:c6e,styles:h6e}});var kH,y6e,v6e=P(()=>{"use strict";kH=(function(){var t=o(function(T,w,k,C){for(k=k||{},C=T.length;C--;k[T[C]]=w);return k},"o"),e=[1,15],r=[1,7],i=[1,13],n=[1,14],a=[1,19],s=[1,16],l=[1,17],u=[1,18],h=[8,30],f=[8,10,21,28,29,30,31,39,43,46],d=[1,23],p=[1,24],m=[8,10,15,16,21,28,29,30,31,39,43,46],g=[8,10,15,16,21,27,28,29,30,31,39,43,46],y=[1,49],v={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:o(function(w,k,C,E,S,L,M){var I=L.length-1;switch(S){case 4:E.getLogger().debug("Rule: separator (NL) ");break;case 5:E.getLogger().debug("Rule: separator (Space) ");break;case 6:E.getLogger().debug("Rule: separator (EOF) ");break;case 7:E.getLogger().debug("Rule: hierarchy: ",L[I-1]),E.setHierarchy(L[I-1]);break;case 8:E.getLogger().debug("Stop NL ");break;case 9:E.getLogger().debug("Stop EOF ");break;case 10:E.getLogger().debug("Stop NL2 ");break;case 11:E.getLogger().debug("Stop EOF2 ");break;case 12:E.getLogger().debug("Rule: statement: ",L[I]),typeof L[I].length=="number"?this.$=L[I]:this.$=[L[I]];break;case 13:E.getLogger().debug("Rule: statement #2: ",L[I-1]),this.$=[L[I-1]].concat(L[I]);break;case 14:E.getLogger().debug("Rule: link: ",L[I],w),this.$={edgeTypeStr:L[I],label:""};break;case 15:E.getLogger().debug("Rule: LABEL link: ",L[I-3],L[I-1],L[I]),this.$={edgeTypeStr:L[I],label:L[I-1]};break;case 18:let A=parseInt(L[I]),_=E.generateId();this.$={id:_,type:"space",label:"",width:A,children:[]};break;case 23:E.getLogger().debug("Rule: (nodeStatement link node) ",L[I-2],L[I-1],L[I]," typestr: ",L[I-1].edgeTypeStr);let D=E.edgeStrToEdgeData(L[I-1].edgeTypeStr);this.$=[{id:L[I-2].id,label:L[I-2].label,type:L[I-2].type,directions:L[I-2].directions},{id:L[I-2].id+"-"+L[I].id,start:L[I-2].id,end:L[I].id,label:L[I-1].label,type:"edge",directions:L[I].directions,arrowTypeEnd:D,arrowTypeStart:"arrow_open"},{id:L[I].id,label:L[I].label,type:E.typeStr2Type(L[I].typeStr),directions:L[I].directions}];break;case 24:E.getLogger().debug("Rule: nodeStatement (abc88 node size) ",L[I-1],L[I]),this.$={id:L[I-1].id,label:L[I-1].label,type:E.typeStr2Type(L[I-1].typeStr),directions:L[I-1].directions,widthInColumns:parseInt(L[I],10)};break;case 25:E.getLogger().debug("Rule: nodeStatement (node) ",L[I]),this.$={id:L[I].id,label:L[I].label,type:E.typeStr2Type(L[I].typeStr),directions:L[I].directions,widthInColumns:1};break;case 26:E.getLogger().debug("APA123",this?this:"na"),E.getLogger().debug("COLUMNS: ",L[I]),this.$={type:"column-setting",columns:L[I]==="auto"?-1:parseInt(L[I])};break;case 27:E.getLogger().debug("Rule: id-block statement : ",L[I-2],L[I-1]);let N=E.generateId();this.$={...L[I-2],type:"composite",children:L[I-1]};break;case 28:E.getLogger().debug("Rule: blockStatement : ",L[I-2],L[I-1],L[I]);let R=E.generateId();this.$={id:R,type:"composite",label:"",children:L[I-1]};break;case 29:E.getLogger().debug("Rule: node (NODE_ID separator): ",L[I]),this.$={id:L[I]};break;case 30:E.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",L[I-1],L[I]),this.$={id:L[I-1],label:L[I].label,typeStr:L[I].typeStr,directions:L[I].directions};break;case 31:E.getLogger().debug("Rule: dirList: ",L[I]),this.$=[L[I]];break;case 32:E.getLogger().debug("Rule: dirList: ",L[I-1],L[I]),this.$=[L[I-1]].concat(L[I]);break;case 33:E.getLogger().debug("Rule: nodeShapeNLabel: ",L[I-2],L[I-1],L[I]),this.$={typeStr:L[I-2]+L[I],label:L[I-1]};break;case 34:E.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",L[I-3],L[I-2]," #3:",L[I-1],L[I]),this.$={typeStr:L[I-3]+L[I],label:L[I-2],directions:L[I-1]};break;case 35:case 36:this.$={type:"classDef",id:L[I-1].trim(),css:L[I].trim()};break;case 37:this.$={type:"applyClass",id:L[I-1].trim(),styleClass:L[I].trim()};break;case 38:this.$={type:"applyStyles",id:L[I-1].trim(),stylesStr:L[I].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:e,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:i,29:n,31:a,39:s,43:l,46:u},{8:[1,20]},t(h,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:e,21:r,28:i,29:n,31:a,39:s,43:l,46:u}),t(f,[2,16],{14:22,15:d,16:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,22]),t(m,[2,25],{27:[1,25]}),t(f,[2,26]),{19:26,26:12,31:a},{10:e,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:i,29:n,31:a,39:s,43:l,46:u},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},t(g,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},t(h,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},t(m,[2,24]),{10:e,11:37,13:4,14:22,15:d,16:p,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:i,29:n,31:a,39:s,43:l,46:u},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},t(g,[2,30]),{18:[1,43]},{18:[1,44]},t(m,[2,23]),{18:[1,45]},{30:[1,46]},t(f,[2,28]),t(f,[2,35]),t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),{36:[1,47]},{33:48,34:y},{15:[1,50]},t(f,[2,27]),t(g,[2,33]),{38:[1,51]},{33:52,34:y,38:[2,31]},{31:[2,15]},t(g,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:o(function(w,k){if(k.recoverable)this.trace(w);else{var C=new Error(w);throw C.hash=k,C}},"parseError"),parse:o(function(w){var k=this,C=[0],E=[],S=[null],L=[],M=this.table,I="",A=0,_=0,D=0,N=2,R=1,B=L.slice.call(arguments,1),O=Object.create(this.lexer),$={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&($.yy[z]=this.yy[z]);O.setInput(w,$.yy),$.yy.lexer=O,$.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var F=O.yylloc;L.push(F);var V=O.options&&O.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function H(we){C.length=C.length-2*we,S.length=S.length-we,L.length=L.length-we}o(H,"popStack");function X(){var we;return we=E.pop()||O.lex()||R,typeof we!="number"&&(we instanceof Array&&(E=we,we=E.pop()),we=k.symbols_[we]||we),we}o(X,"lex");for(var W,Z,Y,ae,J,ee,re={},te,be,de,Ee;;){if(Y=C[C.length-1],this.defaultActions[Y]?ae=this.defaultActions[Y]:((W===null||typeof W>"u")&&(W=X()),ae=M[Y]&&M[Y][W]),typeof ae>"u"||!ae.length||!ae[0]){var Ne="";Ee=[];for(te in M[Y])this.terminals_[te]&&te>N&&Ee.push("'"+this.terminals_[te]+"'");O.showPosition?Ne="Parse error on line "+(A+1)+`: -`+O.showPosition()+` -Expecting `+Ee.join(", ")+", got '"+(this.terminals_[W]||W)+"'":Ne="Parse error on line "+(A+1)+": Unexpected "+(W==R?"end of input":"'"+(this.terminals_[W]||W)+"'"),this.parseError(Ne,{text:O.match,token:this.terminals_[W]||W,line:O.yylineno,loc:F,expected:Ee})}if(ae[0]instanceof Array&&ae.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Y+", token: "+W);switch(ae[0]){case 1:C.push(W),S.push(O.yytext),L.push(O.yylloc),C.push(ae[1]),W=null,Z?(W=Z,Z=null):(_=O.yyleng,I=O.yytext,A=O.yylineno,F=O.yylloc,D>0&&D--);break;case 2:if(be=this.productions_[ae[1]][1],re.$=S[S.length-be],re._$={first_line:L[L.length-(be||1)].first_line,last_line:L[L.length-1].last_line,first_column:L[L.length-(be||1)].first_column,last_column:L[L.length-1].last_column},V&&(re._$.range=[L[L.length-(be||1)].range[0],L[L.length-1].range[1]]),ee=this.performAction.apply(re,[I,_,A,$.yy,ae[1],S,L].concat(B)),typeof ee<"u")return ee;be&&(C=C.slice(0,-1*be*2),S=S.slice(0,-1*be),L=L.slice(0,-1*be)),C.push(this.productions_[ae[1]][0]),S.push(re.$),L.push(re._$),de=M[C[C.length-2]][C[C.length-1]],C.push(de);break;case 3:return!0}}return!0},"parse")},x=(function(){var T={EOF:1,parseError:o(function(k,C){if(this.yy.parser)this.yy.parser.parseError(k,C);else throw new Error(k)},"parseError"),setInput:o(function(w,k){return this.yy=k||this.yy||{},this._input=w,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var w=this._input[0];this.yytext+=w,this.yyleng++,this.offset++,this.match+=w,this.matched+=w;var k=w.match(/(?:\r\n?|\n).*/g);return k?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),w},"input"),unput:o(function(w){var k=w.length,C=w.split(/(?:\r\n?|\n)/g);this._input=w+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-k),this.offset-=k;var E=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),C.length-1&&(this.yylineno-=C.length-1);var S=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:C?(C.length===E.length?this.yylloc.first_column:0)+E[E.length-C.length].length-C[0].length:this.yylloc.first_column-k},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-k]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(w){this.unput(this.match.slice(w))},"less"),pastInput:o(function(){var w=this.matched.substr(0,this.matched.length-this.match.length);return(w.length>20?"...":"")+w.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var w=this.match;return w.length<20&&(w+=this._input.substr(0,20-w.length)),(w.substr(0,20)+(w.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var w=this.pastInput(),k=new Array(w.length+1).join("-");return w+this.upcomingInput()+` -`+k+"^"},"showPosition"),test_match:o(function(w,k){var C,E,S;if(this.options.backtrack_lexer&&(S={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(S.yylloc.range=this.yylloc.range.slice(0))),E=w[0].match(/(?:\r\n?|\n).*/g),E&&(this.yylineno+=E.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:E?E[E.length-1].length-E[E.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+w[0].length},this.yytext+=w[0],this.match+=w[0],this.matches=w,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(w[0].length),this.matched+=w[0],C=this.performAction.call(this,this.yy,this,k,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),C)return C;if(this._backtrack){for(var L in S)this[L]=S[L];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var w,k,C,E;this._more||(this.yytext="",this.match="");for(var S=this._currentRules(),L=0;Lk[0].length)){if(k=C,E=L,this.options.backtrack_lexer){if(w=this.test_match(C,S[L]),w!==!1)return w;if(this._backtrack){k=!1;continue}else return!1}else if(!this.options.flex)break}return k?(w=this.test_match(k,S[E]),w!==!1?w:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var k=this.next();return k||this.lex()},"lex"),begin:o(function(k){this.conditionStack.push(k)},"begin"),popState:o(function(){var k=this.conditionStack.length-1;return k>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(k){return k=this.conditionStack.length-1-Math.abs(k||0),k>=0?this.conditionStack[k]:"INITIAL"},"topState"),pushState:o(function(k){this.begin(k)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(k,C,E,S){var L=S;switch(E){case 0:return k.getLogger().debug("Found block-beta"),10;break;case 1:return k.getLogger().debug("Found id-block"),29;break;case 2:return k.getLogger().debug("Found block"),10;break;case 3:k.getLogger().debug(".",C.yytext);break;case 4:k.getLogger().debug("_",C.yytext);break;case 5:return 5;case 6:return C.yytext=-1,28;break;case 7:return C.yytext=C.yytext.replace(/columns\s+/,""),k.getLogger().debug("COLUMNS (LEX)",C.yytext),28;break;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:k.getLogger().debug("LEX: POPPING STR:",C.yytext),this.popState();break;case 13:return k.getLogger().debug("LEX: STR end:",C.yytext),"STR";break;case 14:return C.yytext=C.yytext.replace(/space\:/,""),k.getLogger().debug("SPACE NUM (LEX)",C.yytext),21;break;case 15:return C.yytext="1",k.getLogger().debug("COLUMNS (LEX)",C.yytext),21;break;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;break;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 21:return this.popState(),this.pushState("CLASSDEFID"),40;break;case 22:return this.popState(),41;break;case 23:return this.pushState("CLASS"),43;break;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;break;case 25:return this.popState(),45;break;case 26:return this.pushState("STYLE_STMNT"),46;break;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;break;case 28:return this.popState(),48;break;case 29:return this.pushState("acc_title"),"acc_title";break;case 30:return this.popState(),"acc_title_value";break;case 31:return this.pushState("acc_descr"),"acc_descr";break;case 32:return this.popState(),"acc_descr_value";break;case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),k.getLogger().debug("Lex: (("),"NODE_DEND";break;case 38:return this.popState(),k.getLogger().debug("Lex: (("),"NODE_DEND";break;case 39:return this.popState(),k.getLogger().debug("Lex: ))"),"NODE_DEND";break;case 40:return this.popState(),k.getLogger().debug("Lex: (("),"NODE_DEND";break;case 41:return this.popState(),k.getLogger().debug("Lex: (("),"NODE_DEND";break;case 42:return this.popState(),k.getLogger().debug("Lex: (-"),"NODE_DEND";break;case 43:return this.popState(),k.getLogger().debug("Lex: -)"),"NODE_DEND";break;case 44:return this.popState(),k.getLogger().debug("Lex: (("),"NODE_DEND";break;case 45:return this.popState(),k.getLogger().debug("Lex: ]]"),"NODE_DEND";break;case 46:return this.popState(),k.getLogger().debug("Lex: ("),"NODE_DEND";break;case 47:return this.popState(),k.getLogger().debug("Lex: ])"),"NODE_DEND";break;case 48:return this.popState(),k.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 49:return this.popState(),k.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 50:return this.popState(),k.getLogger().debug("Lex: )]"),"NODE_DEND";break;case 51:return this.popState(),k.getLogger().debug("Lex: )"),"NODE_DEND";break;case 52:return this.popState(),k.getLogger().debug("Lex: ]>"),"NODE_DEND";break;case 53:return this.popState(),k.getLogger().debug("Lex: ]"),"NODE_DEND";break;case 54:return k.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;break;case 55:return k.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;break;case 56:return k.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;break;case 57:return k.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 58:return k.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;break;case 59:return k.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 60:return k.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 61:return k.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 62:return k.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;break;case 63:return k.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;break;case 64:return k.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 65:return this.pushState("NODE"),35;break;case 66:return this.pushState("NODE"),35;break;case 67:return this.pushState("NODE"),35;break;case 68:return this.pushState("NODE"),35;break;case 69:return this.pushState("NODE"),35;break;case 70:return this.pushState("NODE"),35;break;case 71:return this.pushState("NODE"),35;break;case 72:return k.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;break;case 73:return this.pushState("BLOCK_ARROW"),k.getLogger().debug("LEX ARR START"),37;break;case 74:return k.getLogger().debug("Lex: NODE_ID",C.yytext),31;break;case 75:return k.getLogger().debug("Lex: EOF",C.yytext),8;break;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:k.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:k.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return k.getLogger().debug("LEX: NODE_DESCR:",C.yytext),"NODE_DESCR";break;case 83:k.getLogger().debug("LEX POPPING"),this.popState();break;case 84:k.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return C.yytext=C.yytext.replace(/^,\s*/,""),k.getLogger().debug("Lex (right): dir:",C.yytext),"DIR";break;case 86:return C.yytext=C.yytext.replace(/^,\s*/,""),k.getLogger().debug("Lex (left):",C.yytext),"DIR";break;case 87:return C.yytext=C.yytext.replace(/^,\s*/,""),k.getLogger().debug("Lex (x):",C.yytext),"DIR";break;case 88:return C.yytext=C.yytext.replace(/^,\s*/,""),k.getLogger().debug("Lex (y):",C.yytext),"DIR";break;case 89:return C.yytext=C.yytext.replace(/^,\s*/,""),k.getLogger().debug("Lex (up):",C.yytext),"DIR";break;case 90:return C.yytext=C.yytext.replace(/^,\s*/,""),k.getLogger().debug("Lex (down):",C.yytext),"DIR";break;case 91:return C.yytext="]>",k.getLogger().debug("Lex (ARROW_DIR end):",C.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";break;case 92:return k.getLogger().debug("Lex: LINK","#"+C.yytext+"#"),15;break;case 93:return k.getLogger().debug("Lex: LINK",C.yytext),15;break;case 94:return k.getLogger().debug("Lex: LINK",C.yytext),15;break;case 95:return k.getLogger().debug("Lex: LINK",C.yytext),15;break;case 96:return k.getLogger().debug("Lex: START_LINK",C.yytext),this.pushState("LLABEL"),16;break;case 97:return k.getLogger().debug("Lex: START_LINK",C.yytext),this.pushState("LLABEL"),16;break;case 98:return k.getLogger().debug("Lex: START_LINK",C.yytext),this.pushState("LLABEL"),16;break;case 99:this.pushState("md_string");break;case 100:return k.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";break;case 101:return this.popState(),k.getLogger().debug("Lex: LINK","#"+C.yytext+"#"),15;break;case 102:return this.popState(),k.getLogger().debug("Lex: LINK",C.yytext),15;break;case 103:return this.popState(),k.getLogger().debug("Lex: LINK",C.yytext),15;break;case 104:return k.getLogger().debug("Lex: COLON",C.yytext),C.yytext=C.yytext.slice(1),27;break}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return T})();v.lexer=x;function b(){this.yy={}}return o(b,"Parser"),b.prototype=v,v.Parser=b,new b})();kH.parser=kH;y6e=kH});function amt(t){switch(Q.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return Q.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function smt(t){switch(Q.debug("typeStr2Type",t),t){case"==":return"thick";default:return"normal"}}function omt(t){switch(t.replace(/^[\s-]+|[\s-]+$/g,"")){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}var Xc,wH,CH,x6e,b6e,Z0t,k6e,J0t,Z_,EH,emt,tmt,rmt,imt,C6e,SH,qC,nmt,T6e,lmt,cmt,umt,hmt,fmt,dmt,pmt,mmt,gmt,ymt,vmt,xmt,bmt,w6e,E6e=P(()=>{"use strict";YM();Sr();Ut();bt();Vr();Ki();Xc=new Map,wH=[],CH=new Map,x6e="color",b6e="fill",Z0t="bgFill",k6e=",",J0t=ge(),Z_=new Map,EH="",emt=o(t=>lt.sanitizeText(t,J0t),"sanitizeText"),tmt=o(function(t,e=""){let r=Z_.get(t);r||(r={id:t,styles:[],textStyles:[]},Z_.set(t,r)),e?.split(k6e).forEach(i=>{let n=i.replace(/([^;]*);/,"$1").trim();if(RegExp(x6e).exec(i)){let s=n.replace(b6e,Z0t).replace(x6e,b6e);r.textStyles.push(s)}r.styles.push(n)})},"addStyleClass"),rmt=o(function(t,e=""){let r=Xc.get(t);e!=null&&(r.styles=e.split(k6e))},"addStyle2Node"),imt=o(function(t,e){t.split(",").forEach(function(r){let i=Xc.get(r);if(i===void 0){let n=r.trim();i={id:n,type:"na",children:[]},Xc.set(n,i)}i.classes||(i.classes=[]),i.classes.push(e)})},"setCssClass"),C6e=o((t,e)=>{let r=t.flat(),i=[],a=r.find(s=>s?.type==="column-setting")?.columns??-1;for(let s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&Q.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=emt(s.label)),s.type==="classDef"){tmt(s.id,s.css);continue}if(s.type==="applyClass"){imt(s.id,s?.styleClass??"");continue}if(s.type==="applyStyles"){s?.stylesStr&&rmt(s.id,s?.stylesStr);continue}if(s.type==="column-setting")e.columns=s.columns??-1;else if(s.type==="edge"){let l=(CH.get(s.id)??0)+1;CH.set(s.id,l),s.id=l+"-"+s.id,wH.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);let l=Xc.get(s.id);if(l===void 0?Xc.set(s.id,s):(s.type!=="na"&&(l.type=s.type),s.label!==s.id&&(l.label=s.label)),s.children&&C6e(s.children,s),s.type==="space"){let u=s.width??1;for(let h=0;h{Q.debug("Clear called"),wr(),qC={id:"root",type:"composite",children:[],columns:-1},Xc=new Map([["root",qC]]),SH=[],Z_=new Map,wH=[],CH=new Map,EH=""},"clear");o(amt,"typeStr2Type");o(smt,"edgeTypeStr2Type");o(omt,"edgeStrToEdgeData");T6e=0,lmt=o(()=>(T6e++,"id-"+Math.random().toString(36).substr(2,12)+"-"+T6e),"generateId"),cmt=o(t=>{qC.children=t,C6e(t,qC),SH=qC.children},"setHierarchy"),umt=o(t=>{let e=Xc.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),hmt=o(()=>[...Xc.values()],"getBlocksFlat"),fmt=o(()=>SH||[],"getBlocks"),dmt=o(()=>wH,"getEdges"),pmt=o(t=>Xc.get(t),"getBlock"),mmt=o(t=>{Xc.set(t.id,t)},"setBlock"),gmt=o(t=>{EH=t},"setDiagramId"),ymt=o(()=>EH,"getDiagramId"),vmt=o(()=>Q,"getLogger"),xmt=o(function(){return Z_},"getClasses"),bmt={getConfig:o(()=>Lt().block,"getConfig"),typeStr2Type:amt,edgeTypeStr2Type:smt,edgeStrToEdgeData:omt,getLogger:vmt,getBlocksFlat:hmt,getBlocks:fmt,getEdges:dmt,setHierarchy:cmt,getBlock:pmt,setBlock:mmt,getColumns:umt,getClasses:xmt,clear:nmt,generateId:lmt,setDiagramId:gmt,getDiagramId:ymt},w6e=bmt});var AH,Tmt,S6e,A6e=P(()=>{"use strict";Yn();wy();AH=o((t,e)=>{let r=zp,i=r(t,"r"),n=r(t,"g"),a=r(t,"b");return Fn(i,n,a,e)},"fade"),Tmt=o(t=>`.label { - font-family: ${t.fontFamily}; - color: ${t.nodeTextColor||t.textColor}; - } - .cluster-label text { - fill: ${t.titleColor}; - } - .cluster-label span,p { - color: ${t.titleColor}; - } - - - - .label text,span,p { - fill: ${t.nodeTextColor||t.textColor}; - color: ${t.nodeTextColor||t.textColor}; - } - - .node rect, - .node circle, - .node ellipse, - .node polygon, - .node path { - fill: ${t.mainBkg}; - stroke: ${t.nodeBorder}; - stroke-width: 1px; - } - .flowchart-label text { - text-anchor: middle; - } - // .flowchart-label .text-outer-tspan { - // text-anchor: middle; - // } - // .flowchart-label .text-inner-tspan { - // text-anchor: start; - // } - - .node .label { - text-align: center; - } - .node.clickable { - cursor: pointer; - } - - .arrowheadPath { - fill: ${t.arrowheadColor}; - } - - .edgePath .path { - stroke: ${t.lineColor}; - stroke-width: 2.0px; - } - - .flowchart-link { - stroke: ${t.lineColor}; - fill: none; - } - - .edgeLabel { - background-color: ${t.edgeLabelBackground}; - /* - * This is for backward compatibility with existing code that didn't - * add a \`

    \` around edge labels. - * - * TODO: We should probably remove this in a future release. - */ - p { - margin: 0; - padding: 0; - display: inline; - } - rect { - opacity: 0.5; - background-color: ${t.edgeLabelBackground}; - fill: ${t.edgeLabelBackground}; - } - text-align: center; - } - - /* For html labels only */ - .labelBkg { - background-color: ${t.edgeLabelBackground}; - } - - .node .cluster { - // fill: ${AH(t.mainBkg,.5)}; - fill: ${AH(t.clusterBkg,.5)}; - stroke: ${AH(t.clusterBorder,.2)}; - box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; - stroke-width: 1px; - } - - .cluster text { - fill: ${t.titleColor}; - } - - .cluster span,p { - color: ${t.titleColor}; - } - /* .cluster div { - color: ${t.titleColor}; - } */ - - div.mermaidTooltip { - position: absolute; - text-align: center; - max-width: 200px; - padding: 2px; - font-family: ${t.fontFamily}; - font-size: 12px; - background: ${t.tertiaryColor}; - border: 1px solid ${t.border2}; - border-radius: 2px; - pointer-events: none; - z-index: 100; - } - - .flowchartTitleText { - text-anchor: middle; - font-size: 18px; - fill: ${t.textColor}; - } - ${qu()} -`,"getStyles"),S6e=Tmt});var kmt,Cmt,wmt,Emt,Smt,Amt,_mt,Dmt,Lmt,Rmt,Nmt,_6e,D6e=P(()=>{"use strict";bt();kmt=o((t,e,r,i)=>{e.forEach(n=>{Nmt[n](t,r,i)})},"insertMarkers"),Cmt=o((t,e,r)=>{Q.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),wmt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),Emt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),Smt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),Amt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),_mt=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),Dmt=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),Lmt=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),Rmt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),Nmt={extension:Cmt,composition:wmt,aggregation:Emt,dependency:Smt,lollipop:Amt,point:_mt,circle:Dmt,cross:Lmt,barb:Rmt},_6e=kmt});function L6e(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};let r=e%t,i=Math.floor(e/t);return{px:r,py:i}}function _H(t,e,r=0,i=0){Q.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"siblingWidth",r),t?.size?.width||(t.size={width:r,height:i,x:0,y:0});let n=0,a=0;if(t.children?.length>0){for(let m of t.children)_H(m,e);let s=Imt(t);n=s.width,a=s.height,Q.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",n,a);for(let m of t.children)m.size&&(Q.debug(`abc95 Setting size of children of ${t.id} id=${m.id} ${n} ${a} ${JSON.stringify(m.size)}`),m.size.width=n*(m.widthInColumns??1)+Hn*((m.widthInColumns??1)-1),m.size.height=a,m.size.x=0,m.size.y=0,Q.debug(`abc95 updating size of ${t.id} children child:${m.id} maxWidth:${n} maxHeight:${a}`));for(let m of t.children)_H(m,e,n,a);let l=t.columns??-1,u=0;for(let m of t.children)u+=m.widthInColumns??1;let h=t.children.length;l>0&&l0?Math.min(t.children.length,l):t.children.length;if(m>0){let g=(d-m*Hn-Hn)/m;Q.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,g);for(let y of t.children)y.size&&(y.size.width=g)}}t.size={width:d,height:p,x:0,y:0}}Q.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}function R6e(t,e){Q.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);let r=t.columns??-1;if(Q.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){let i=t?.children[0]?.size?.width??0,n=t.children.length*i+(t.children.length-1)*Hn;Q.debug("widthOfChildren 88",n,"posX");let a=new Map;{let f=0;for(let d of t.children){if(!d.size)continue;let{py:p}=L6e(r,f),m=a.get(p)??0;d.size.height>m&&a.set(p,d.size.height);let g=d?.widthInColumns??1;r>0&&(g=Math.min(g,r-f%r)),f+=g}}let s=new Map;{let f=0,d=[...a.keys()].sort((p,m)=>p-m);for(let p of d)s.set(p,f),f+=(a.get(p)??0)+Hn}let l=0;Q.debug("abc91 block?.size?.x",t.id,t?.size?.x);let u=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Hn,h=0;for(let f of t.children){let d=t;if(!f.size)continue;let{width:p,height:m}=f.size,{px:g,py:y}=L6e(r,l);if(y!=h&&(h=y,u=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Hn,Q.debug("New row in layout for block",t.id," and child ",f.id,h)),Q.debug(`abc89 layout blocks (child) id: ${f.id} Pos: ${l} (px, py) ${g},${y} (${d?.size?.x},${d?.size?.y}) parent: ${d.id} width: ${p}${Hn}`),d.size){let x=p/2;f.size.x=u+Hn+x,Q.debug(`abc91 layout blocks (calc) px, pyid:${f.id} startingPos=X${u} new startingPosX${f.size.x} ${x} padding=${Hn} width=${p} halfWidth=${x} => x:${f.size.x} y:${f.size.y} ${f.widthInColumns} (width * (child?.w || 1)) / 2 ${p*(f?.widthInColumns??1)/2}`),u=f.size.x+x;let b=s.get(y)??0,T=a.get(y)??m;f.size.y=d.size.y-d.size.height/2+b+T/2+Hn,Q.debug(`abc88 layout blocks (calc) px, pyid:${f.id}startingPosX${u}${Hn}${x}=>x:${f.size.x}y:${f.size.y}${f.widthInColumns}(width * (child?.w || 1)) / 2${p*(f?.widthInColumns??1)/2}`)}f.children&&R6e(f,e);let v=f?.widthInColumns??1;r>0&&(v=Math.min(v,r-l%r)),l+=v,Q.debug("abc88 columnsPos",f,l)}}Q.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}function N6e(t,{minX:e,minY:r,maxX:i,maxY:n}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){let{x:a,y:s,width:l,height:u}=t.size;a-l/2i&&(i=a+l/2),s+u/2>n&&(n=s+u/2)}if(t.children)for(let a of t.children)({minX:e,minY:r,maxX:i,maxY:n}=N6e(a,{minX:e,minY:r,maxX:i,maxY:n}));return{minX:e,minY:r,maxX:i,maxY:n}}function I6e(t){let e=t.getBlock("root");if(!e)return;_H(e,t,0,0),R6e(e,t),Q.debug("getBlocks",JSON.stringify(e,null,2));let{minX:r,minY:i,maxX:n,maxY:a}=N6e(e),s=a-i,l=n-r;return{x:r,y:i,width:l,height:s}}var Hn,Imt,M6e=P(()=>{"use strict";bt();Ut();Hn=ge()?.block?.padding??8;o(L6e,"calculateBlockPosition");Imt=o(t=>{let e=0,r=0;for(let i of t.children){let{width:n,height:a,x:s,y:l}=i.size??{width:0,height:0,x:0,y:0};Q.debug("getMaxChildSize abc95 child:",i.id,"width:",n,"height:",a,"x:",s,"y:",l,i.type),i.type!=="space"&&(n>e&&(e=n/(i.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");o(_H,"setBlockSizes");o(R6e,"layoutBlocks");o(N6e,"findBounds");o(I6e,"layout")});var Mmt,Vo,J_=P(()=>{"use strict";Sr();Ut();To();Mmt=o(async(t,e,r,i=!1,n=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);let s=ge(),l=Or(s);return await Vi(t,a,{style:r,isTitle:i,useHtmlLabels:l,markdown:!1,isNode:n,width:Number.POSITIVE_INFINITY},s)},"createLabel"),Vo=Mmt});var P6e,Omt,O6e,B6e=P(()=>{"use strict";bt();P6e=o((t,e,r,i,n)=>{e.arrowTypeStart&&O6e(t,"start",e.arrowTypeStart,r,i,n),e.arrowTypeEnd&&O6e(t,"end",e.arrowTypeEnd,r,i,n)},"addEdgeMarkers"),Omt={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},O6e=o((t,e,r,i,n,a)=>{let s=Omt[r];if(!s){Q.warn(`Unknown arrow type: ${r}`);return}let l=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${i}#${n}_${a}-${s}${l})`)},"addEdgeMarker")});function e8(t,e){Or(ge())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}var DH,_s,$6e,z6e,Pmt,Bmt,F6e,G6e,V6e=P(()=>{"use strict";bt();J_();To();_M();Pr();Ut();Sr();er();Vr();LM();Nb();B6e();DH={},_s={},$6e=o(async(t,e)=>{let r=ge(),i=Or(r),n=t.insert("g").attr("class","edgeLabel"),a=n.insert("g").attr("class","label"),s=e.labelType==="markdown",l=await Vi(t,e.label,{style:e.labelStyle,useHtmlLabels:i,addSvgBackground:s,isNode:!1,markdown:s,width:s?void 0:Number.POSITIVE_INFINITY},r);a.node().appendChild(l);let u=l.getBBox(),h=u;if(i){let d=l.children[0],p=Ze(l);u=d.getBoundingClientRect(),h=u,p.attr("width",u.width),p.attr("height",u.height)}else{let d=Ze(l).select("text").node();d&&typeof d.getBBox=="function"&&(h=d.getBBox())}a.attr("transform",Pl(h,i)),DH[e.id]=n,e.width=u.width,e.height=u.height;let f;if(e.startLabelLeft){let d=t.insert("g").attr("class","edgeTerminals"),p=d.insert("g").attr("class","inner"),m=await Vo(p,e.startLabelLeft,e.labelStyle);f=m;let g=m.getBBox();if(i){let y=m.children[0],v=Ze(m);g=y.getBoundingClientRect(),v.attr("width",g.width),v.attr("height",g.height)}p.attr("transform",Pl(g,i)),_s[e.id]||(_s[e.id]={}),_s[e.id].startLeft=d,e8(f,e.startLabelLeft)}if(e.startLabelRight){let d=t.insert("g").attr("class","edgeTerminals"),p=d.insert("g").attr("class","inner"),m=await Vo(d,e.startLabelRight,e.labelStyle);f=m,p.node().appendChild(m);let g=m.getBBox();if(i){let y=m.children[0],v=Ze(m);g=y.getBoundingClientRect(),v.attr("width",g.width),v.attr("height",g.height)}p.attr("transform",Pl(g,i)),_s[e.id]||(_s[e.id]={}),_s[e.id].startRight=d,e8(f,e.startLabelRight)}if(e.endLabelLeft){let d=t.insert("g").attr("class","edgeTerminals"),p=d.insert("g").attr("class","inner"),m=await Vo(p,e.endLabelLeft,e.labelStyle);f=m;let g=m.getBBox();if(i){let y=m.children[0],v=Ze(m);g=y.getBoundingClientRect(),v.attr("width",g.width),v.attr("height",g.height)}p.attr("transform",Pl(g,i)),d.node().appendChild(m),_s[e.id]||(_s[e.id]={}),_s[e.id].endLeft=d,e8(f,e.endLabelLeft)}if(e.endLabelRight){let d=t.insert("g").attr("class","edgeTerminals"),p=d.insert("g").attr("class","inner"),m=await Vo(p,e.endLabelRight,e.labelStyle);f=m;let g=m.getBBox();if(i){let y=m.children[0],v=Ze(m);g=y.getBoundingClientRect(),v.attr("width",g.width),v.attr("height",g.height)}p.attr("transform",Pl(g,i)),d.node().appendChild(m),_s[e.id]||(_s[e.id]={}),_s[e.id].endRight=d,e8(f,e.endLabelRight)}return l},"insertEdgeLabel");o(e8,"setTerminalWidth");z6e=o((t,e)=>{Q.debug("Moving label abc88 ",t.id,t.label,DH[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath,i=ge(),{subGraphTitleTotalMargin:n}=Uh(i);if(t.label){let a=DH[t.id],s=t.x,l=t.y;if(r){let u=Kt.calcLabelPosition(r);Q.debug("Moving label "+t.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+n/2})`)}if(t.startLabelLeft){let a=_s[t.id].startLeft,s=t.x,l=t.y;if(r){let u=Kt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.startLabelRight){let a=_s[t.id].startRight,s=t.x,l=t.y;if(r){let u=Kt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelLeft){let a=_s[t.id].endLeft,s=t.x,l=t.y;if(r){let u=Kt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelRight){let a=_s[t.id].endRight,s=t.x,l=t.y;if(r){let u=Kt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),Pmt=o((t,e)=>{let r=t.x,i=t.y,n=Math.abs(e.x-r),a=Math.abs(e.y-i),s=t.width/2,l=t.height/2;return n>=s||a>=l},"outsideNode"),Bmt=o((t,e,r)=>{Q.debug(`intersection calc abc89: - outsidePoint: ${JSON.stringify(e)} - insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let i=t.x,n=t.y,a=Math.abs(i-r.x),s=t.width/2,l=r.xMath.abs(i-e.x)*u){let d=r.y{Q.debug("abc88 cutPathAtIntersect",t,e);let r=[],i=t[0],n=!1;return t.forEach(a=>{if(!Pmt(e,a)&&!n){let s=Bmt(e,i,a),l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)||r.push(s),n=!0}else i=a,n||r.push(a)}),r},"cutPathAtIntersect"),G6e=o(function(t,e,r,i,n,a,s){let l=r.points;Q.debug("abc88 InsertEdge: edge=",r,"e=",e);let u=!1,h=a.node(e.v);var f=a.node(e.w);f?.intersect&&h?.intersect&&(l=l.slice(1,r.points.length-1),l.unshift(h.intersect(l[0])),l.push(f.intersect(l[l.length-1]))),r.toCluster&&(Q.debug("to cluster abc88",i[r.toCluster]),l=F6e(r.points,i[r.toCluster].node),u=!0),r.fromCluster&&(Q.debug("from cluster abc88",i[r.fromCluster]),l=F6e(l.reverse(),i[r.fromCluster].node).reverse(),u=!0);let d=l.filter(w=>!Number.isNaN(w.y)),p=wc;r.curve&&(n==="graph"||n==="flowchart")&&(p=r.curve);let{x:m,y:g}=D5(r),y=Cc().x(m).y(g).curve(p),v;switch(r.thickness){case"normal":v="edge-thickness-normal";break;case"thick":v="edge-thickness-thick";break;case"invisible":v="edge-thickness-thick";break;default:v=""}switch(r.pattern){case"solid":v+=" edge-pattern-solid";break;case"dotted":v+=" edge-pattern-dotted";break;case"dashed":v+=" edge-pattern-dashed";break}let x=t.append("path").attr("d",y(d)).attr("id",r.id).attr("class"," "+v+(r.classes?" "+r.classes:"")).attr("style",r.style),b="";(ge().flowchart.arrowMarkerAbsolute||ge().state.arrowMarkerAbsolute)&&(b=Yp(!0)),P6e(x,r,b,s,n);let T={};return u&&(T.updatedPath=l),T.originalPath=r.points,T},"insertEdge")});var Fmt,q6e,W6e=P(()=>{"use strict";Fmt=o(t=>{let e=new Set;for(let r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),q6e=o((t,e,r)=>{let i=Fmt(t),n=2,a=e.height+2*r.padding,s=a/n,l=e.width+2*s+r.padding,u=r.padding/2;return i.has("right")&&i.has("left")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:s,y:0},{x:l/2,y:2*u},{x:l-s,y:0},{x:l,y:0},{x:l,y:-a/3},{x:l+2*u,y:-a/2},{x:l,y:-2*a/3},{x:l,y:-a},{x:l-s,y:-a},{x:l/2,y:-a-2*u},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*u,y:-a/2},{x:0,y:-a/3}]:i.has("right")&&i.has("left")&&i.has("up")?[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:i.has("right")&&i.has("left")&&i.has("down")?[{x:0,y:0},{x:s,y:-a},{x:l-s,y:-a},{x:l,y:0}]:i.has("right")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:l,y:-s},{x:l,y:-a+s},{x:0,y:-a}]:i.has("left")&&i.has("up")&&i.has("down")?[{x:l,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:l,y:-a}]:i.has("right")&&i.has("left")?[{x:s,y:0},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a},{x:0,y:-a/2}]:i.has("up")&&i.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:s,y:-u},{x:s,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u},{x:l,y:-u}]:i.has("right")&&i.has("up")?[{x:0,y:0},{x:l,y:-s},{x:0,y:-a}]:i.has("right")&&i.has("down")?[{x:0,y:0},{x:l,y:0},{x:0,y:-a}]:i.has("left")&&i.has("up")?[{x:l,y:0},{x:0,y:-s},{x:l,y:-a}]:i.has("left")&&i.has("down")?[{x:l,y:0},{x:0,y:0},{x:l,y:-a}]:i.has("right")?[{x:s,y:-u},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a+u}]:i.has("left")?[{x:s,y:0},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a},{x:0,y:-a/2}]:i.has("up")?[{x:s,y:-u},{x:s,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u}]:i.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:s,y:-u},{x:s,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u},{x:l,y:-u}]:[{x:0,y:0}]},"getArrowPoints")});function $mt(t,e){return t.intersect(e)}var U6e,H6e=P(()=>{"use strict";o($mt,"intersectNode");U6e=$mt});function zmt(t,e,r,i){var n=t.x,a=t.y,s=n-i.x,l=a-i.y,u=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/u);i.x{"use strict";o(zmt,"intersectEllipse");t8=zmt});function Gmt(t,e,r){return t8(t,e,e,r)}var Y6e,j6e=P(()=>{"use strict";LH();o(Gmt,"intersectCircle");Y6e=Gmt});function Vmt(t,e,r,i){var n,a,s,l,u,h,f,d,p,m,g,y,v,x,b;if(n=e.y-t.y,s=t.x-e.x,u=e.x*t.y-t.x*e.y,p=n*r.x+s*r.y+u,m=n*i.x+s*i.y+u,!(p!==0&&m!==0&&X6e(p,m))&&(a=i.y-r.y,l=r.x-i.x,h=i.x*r.y-r.x*i.y,f=a*t.x+l*t.y+h,d=a*e.x+l*e.y+h,!(f!==0&&d!==0&&X6e(f,d))&&(g=n*l-a*s,g!==0)))return y=Math.abs(g/2),v=s*h-l*u,x=v<0?(v-y)/g:(v+y)/g,v=a*u-n*h,b=v<0?(v-y)/g:(v+y)/g,{x,y:b}}function X6e(t,e){return t*e>0}var K6e,Q6e=P(()=>{"use strict";o(Vmt,"intersectLine");o(X6e,"sameSign");K6e=Vmt});function qmt(t,e,r){var i=t.x,n=t.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(g){s=Math.min(s,g.x),l=Math.min(l,g.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));for(var u=i-t.width/2-s,h=n-t.height/2-l,f=0;f1&&a.sort(function(g,y){var v=g.x-r.x,x=g.y-r.y,b=Math.sqrt(v*v+x*x),T=y.x-r.x,w=y.y-r.y,k=Math.sqrt(T*T+w*w);return b{"use strict";Q6e();Z6e=qmt;o(qmt,"intersectPolygon")});var Wmt,eAe,tAe=P(()=>{"use strict";Wmt=o((t,e)=>{var r=t.x,i=t.y,n=e.x-r,a=e.y-i,s=t.width/2,l=t.height/2,u,h;return Math.abs(a)*s>Math.abs(n)*l?(a<0&&(l=-l),u=a===0?0:l*n/a,h=l):(n<0&&(s=-s),u=s,h=n===0?0:s*a/n),{x:r+u,y:i+h}},"intersectRect"),eAe=Wmt});var an,RH=P(()=>{"use strict";H6e();j6e();LH();J6e();tAe();an={node:U6e,circle:Y6e,ellipse:t8,polygon:Z6e,rect:eAe}});function Kc(t,e,r,i){return t.insert("polygon",":first-child").attr("points",i.map(function(n){return n.x+","+n.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}var na,Tn,NH=P(()=>{"use strict";J_();To();Ut();Sr();Pr();Vr();er();rM();na=o(async(t,e,r,i)=>{let n=ge(),a,s=e.useHtmlLabels||Or(n);r?a=r:a="node default";let l=t.insert("g").attr("class",a).attr("id",e.domId||e.id),u=l.insert("g").attr("class","label").attr("style",e.labelStyle),h;e.labelText===void 0?h="":h=typeof e.labelText=="string"?e.labelText:e.labelText[0];let f;e.labelType==="markdown"?f=Vi(u,Tr(zs(h),n),{useHtmlLabels:s,width:e.width||n.flowchart.wrappingWidth,classes:"markdown-node-label"},n):f=await Vo(u,Tr(zs(h),n),e.labelStyle,!1,i);let d=f.getBBox(),p=e.padding/2;if(Or(n)){let m=f.children[0],g=Ze(f);await u5(m,h),d=m.getBoundingClientRect(),g.attr("width",d.width),g.attr("height",d.height)}return s?u.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):u.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&u.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),u.insert("rect",":first-child"),{shapeSvg:l,bbox:d,halfPadding:p,label:u}},"labelHelper"),Tn=o((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");o(Kc,"insertPolygonShape")});var Umt,rAe,iAe=P(()=>{"use strict";NH();bt();Ut();Sr();RH();Umt=o(async(t,e)=>{e.useHtmlLabels||Or(ge())||(e.centerLabel=!0);let{shapeSvg:i,bbox:n,halfPadding:a}=await na(t,e,"node "+e.classes,!0);Q.info("Classes = ",e.classes);let s=i.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-n.width/2-a).attr("y",-n.height/2-a).attr("width",n.width+e.padding).attr("height",n.height+e.padding),Tn(e,s),e.intersect=function(l){return an.rect(e,l)},i},"note"),rAe=Umt});function IH(t,e,r,i){let n=[],a=o(l=>{n.push(l,0)},"addBorder"),s=o(l=>{n.push(0,l)},"skipBorder");e.includes("t")?(Q.debug("add top border"),a(r)):s(r),e.includes("r")?(Q.debug("add right border"),a(i)):s(i),e.includes("b")?(Q.debug("add bottom border"),a(r)):s(r),e.includes("l")?(Q.debug("add left border"),a(i)):s(i),t.attr("stroke-dasharray",n.join(" "))}var nAe,pl,aAe,Hmt,Ymt,jmt,Xmt,Kmt,Qmt,Zmt,Jmt,egt,tgt,rgt,igt,ngt,agt,sgt,ogt,lgt,cgt,ugt,sAe,hgt,fgt,oAe,r8,MH,lAe,cAe=P(()=>{"use strict";Pr();Ut();Sr();bt();W6e();J_();RH();iAe();NH();nAe=o(t=>t?" "+t:"","formatClass"),pl=o((t,e)=>`${e||"node default"}${nAe(t.classes)} ${nAe(t.class)}`,"getClassesFromNode"),aAe=o(async(t,e)=>{let{shapeSvg:r,bbox:i}=await na(t,e,pl(e,void 0),!0),n=i.width+e.padding,a=i.height+e.padding,s=n+a,l=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];Q.info("Question main (Circle)");let u=Kc(r,s,s,l);return u.attr("style",e.style),Tn(e,u),e.intersect=function(h){return Q.warn("Intersect called"),an.polygon(e,l,h)},r},"question"),Hmt=o((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=28,n=[{x:0,y:i/2},{x:i/2,y:0},{x:0,y:-i/2},{x:-i/2,y:0}];return r.insert("polygon",":first-child").attr("points",n.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return an.circle(e,14,s)},r},"choice"),Ymt=o(async(t,e)=>{let{shapeSvg:r,bbox:i}=await na(t,e,pl(e,void 0),!0),n=4,a=i.height+e.padding,s=a/n,l=i.width+2*s+e.padding,u=[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],h=Kc(r,l,a,u);return h.attr("style",e.style),Tn(e,h),e.intersect=function(f){return an.polygon(e,u,f)},r},"hexagon"),jmt=o(async(t,e)=>{let{shapeSvg:r,bbox:i}=await na(t,e,void 0,!0),n=2,a=i.height+2*e.padding,s=a/n,l=i.width+2*s+e.padding,u=q6e(e.directions,i,e),h=Kc(r,l,a,u);return h.attr("style",e.style),Tn(e,h),e.intersect=function(f){return an.polygon(e,u,f)},r},"block_arrow"),Xmt=o(async(t,e)=>{let{shapeSvg:r,bbox:i}=await na(t,e,pl(e,void 0),!0),n=i.width+e.padding,a=i.height+e.padding,s=[{x:-a/2,y:0},{x:n,y:0},{x:n,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return Kc(r,n,a,s).attr("style",e.style),e.width=n+a,e.height=a,e.intersect=function(u){return an.polygon(e,s,u)},r},"rect_left_inv_arrow"),Kmt=o(async(t,e)=>{let{shapeSvg:r,bbox:i}=await na(t,e,pl(e),!0),n=i.width+e.padding,a=i.height+e.padding,s=[{x:-2*a/6,y:0},{x:n-a/6,y:0},{x:n+2*a/6,y:-a},{x:a/6,y:-a}],l=Kc(r,n,a,s);return l.attr("style",e.style),Tn(e,l),e.intersect=function(u){return an.polygon(e,s,u)},r},"lean_right"),Qmt=o(async(t,e)=>{let{shapeSvg:r,bbox:i}=await na(t,e,pl(e,void 0),!0),n=i.width+e.padding,a=i.height+e.padding,s=[{x:2*a/6,y:0},{x:n+a/6,y:0},{x:n-2*a/6,y:-a},{x:-a/6,y:-a}],l=Kc(r,n,a,s);return l.attr("style",e.style),Tn(e,l),e.intersect=function(u){return an.polygon(e,s,u)},r},"lean_left"),Zmt=o(async(t,e)=>{let{shapeSvg:r,bbox:i}=await na(t,e,pl(e,void 0),!0),n=i.width+e.padding,a=i.height+e.padding,s=[{x:-2*a/6,y:0},{x:n+2*a/6,y:0},{x:n-a/6,y:-a},{x:a/6,y:-a}],l=Kc(r,n,a,s);return l.attr("style",e.style),Tn(e,l),e.intersect=function(u){return an.polygon(e,s,u)},r},"trapezoid"),Jmt=o(async(t,e)=>{let{shapeSvg:r,bbox:i}=await na(t,e,pl(e,void 0),!0),n=i.width+e.padding,a=i.height+e.padding,s=[{x:a/6,y:0},{x:n-a/6,y:0},{x:n+2*a/6,y:-a},{x:-2*a/6,y:-a}],l=Kc(r,n,a,s);return l.attr("style",e.style),Tn(e,l),e.intersect=function(u){return an.polygon(e,s,u)},r},"inv_trapezoid"),egt=o(async(t,e)=>{let{shapeSvg:r,bbox:i}=await na(t,e,pl(e,void 0),!0),n=i.width+e.padding,a=i.height+e.padding,s=[{x:0,y:0},{x:n+a/2,y:0},{x:n,y:-a/2},{x:n+a/2,y:-a},{x:0,y:-a}],l=Kc(r,n,a,s);return l.attr("style",e.style),Tn(e,l),e.intersect=function(u){return an.polygon(e,s,u)},r},"rect_right_inv_arrow"),tgt=o(async(t,e)=>{let{shapeSvg:r,bbox:i}=await na(t,e,pl(e,void 0),!0),n=i.width+e.padding,a=n/2,s=a/(2.5+n/50),l=i.height+s+e.padding,u="M 0,"+s+" a "+a+","+s+" 0,0,0 "+n+" 0 a "+a+","+s+" 0,0,0 "+-n+" 0 l 0,"+l+" a "+a+","+s+" 0,0,0 "+n+" 0 l 0,"+-l,h=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",u).attr("transform","translate("+-n/2+","+-(l/2+s)+")");return Tn(e,h),e.intersect=function(f){let d=an.rect(e,f),p=d.x-e.x;if(a!=0&&(Math.abs(p)e.height/2-s)){let m=s*s*(1-p*p/(a*a));m!=0&&(m=Math.sqrt(m)),m=s-m,f.y-e.y>0&&(m=-m),d.y+=m}return d},r},"cylinder"),rgt=o(async(t,e)=>{let{shapeSvg:r,bbox:i,halfPadding:n}=await na(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:i.width+e.padding,l=e.positioned?e.height:i.height+e.padding,u=e.positioned?-s/2:-i.width/2-n,h=e.positioned?-l/2:-i.height/2-n;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",s).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(IH(a,e.props.borders,s,l),f.delete("borders")),f.forEach(d=>{Q.warn(`Unknown node property ${d}`)})}return Tn(e,a),e.intersect=function(f){return an.rect(e,f)},r},"rect"),igt=o(async(t,e)=>{let{shapeSvg:r,bbox:i,halfPadding:n}=await na(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:i.width+e.padding,l=e.positioned?e.height:i.height+e.padding,u=e.positioned?-s/2:-i.width/2-n,h=e.positioned?-l/2:-i.height/2-n;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",s).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(IH(a,e.props.borders,s,l),f.delete("borders")),f.forEach(d=>{Q.warn(`Unknown node property ${d}`)})}return Tn(e,a),e.intersect=function(f){return an.rect(e,f)},r},"composite"),ngt=o(async(t,e)=>{let{shapeSvg:r}=await na(t,e,"label",!0);Q.trace("Classes = ",e.class);let i=r.insert("rect",":first-child"),n=0,a=0;if(i.attr("width",n).attr("height",a),r.attr("class","label edgeLabel"),e.props){let s=new Set(Object.keys(e.props));e.props.borders&&(IH(i,e.props.borders,n,a),s.delete("borders")),s.forEach(l=>{Q.warn(`Unknown node property ${l}`)})}return Tn(e,i),e.intersect=function(s){return an.rect(e,s)},r},"labelRect");o(IH,"applyNodePropertyBorders");agt=o(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";let i=t.insert("g").attr("class",r).attr("id",e.domId||e.id),n=i.insert("rect",":first-child"),a=i.insert("line"),s=i.insert("g").attr("class","label"),l=e.labelText.flat?e.labelText.flat():e.labelText,u="";typeof l=="object"?u=l[0]:u=l,Q.info("Label text abc79",u,l,typeof l=="object");let h=await Vo(s,u,e.labelStyle,!0,!0),f={width:0,height:0};if(Or(ge())){let y=h.children[0],v=Ze(h);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}Q.info("Text 2",l);let d=l.slice(1,l.length),p=h.getBBox(),m=await Vo(s,d.join?d.join("
    "):d,e.labelStyle,!0,!0);if(Or(ge())){let y=m.children[0],v=Ze(m);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}let g=e.padding/2;return Ze(m).attr("transform","translate( "+(f.width>p.width?0:(p.width-f.width)/2)+", "+(p.height+g+5)+")"),Ze(h).attr("transform","translate( "+(f.width{let{shapeSvg:r,bbox:i}=await na(t,e,pl(e,void 0),!0),n=i.height+e.padding,a=i.width+n/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",n/2).attr("ry",n/2).attr("x",-a/2).attr("y",-n/2).attr("width",a).attr("height",n);return Tn(e,s),e.intersect=function(l){return an.rect(e,l)},r},"stadium"),ogt=o(async(t,e)=>{let{shapeSvg:r,bbox:i,halfPadding:n}=await na(t,e,pl(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+n).attr("width",i.width+e.padding).attr("height",i.height+e.padding),Q.info("Circle main"),Tn(e,a),e.intersect=function(s){return Q.info("Circle intersect",e,i.width/2+n,s),an.circle(e,i.width/2+n,s)},r},"circle"),lgt=o(async(t,e)=>{let{shapeSvg:r,bbox:i,halfPadding:n}=await na(t,e,pl(e,void 0),!0),a=5,s=r.insert("g",":first-child"),l=s.insert("circle"),u=s.insert("circle");return s.attr("class",e.class),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+n+a).attr("width",i.width+e.padding+a*2).attr("height",i.height+e.padding+a*2),u.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+n).attr("width",i.width+e.padding).attr("height",i.height+e.padding),Q.info("DoubleCircle main"),Tn(e,l),e.intersect=function(h){return Q.info("DoubleCircle intersect",e,i.width/2+n+a,h),an.circle(e,i.width/2+n+a,h)},r},"doublecircle"),cgt=o(async(t,e)=>{let{shapeSvg:r,bbox:i}=await na(t,e,pl(e,void 0),!0),n=i.width+e.padding,a=i.height+e.padding,s=[{x:0,y:0},{x:n,y:0},{x:n,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:n+8,y:0},{x:n+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],l=Kc(r,n,a,s);return l.attr("style",e.style),Tn(e,l),e.intersect=function(u){return an.polygon(e,s,u)},r},"subroutine"),ugt=o((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),Tn(e,i),e.intersect=function(n){return an.circle(e,7,n)},r},"start"),sAe=o((t,e,r)=>{let i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=70,a=10;r==="LR"&&(n=10,a=70);let s=i.append("rect").attr("x",-1*n/2).attr("y",-1*a/2).attr("width",n).attr("height",a).attr("class","fork-join");return Tn(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(l){return an.rect(e,l)},i},"forkJoin"),hgt=o((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=r.insert("circle",":first-child"),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),i.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),Tn(e,n),e.intersect=function(a){return an.circle(e,7,a)},r},"end"),fgt=o(async(t,e)=>{let r=e.padding/2,i=4,n=8,a;e.classes?a="node "+e.classes:a="node default";let s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=s.insert("rect",":first-child"),u=s.insert("line"),h=s.insert("line"),f=0,d=i,p=s.insert("g").attr("class","label"),m=0,g=e.classData.annotations?.[0],y=e.classData.annotations[0]?"\xAB"+e.classData.annotations[0]+"\xBB":"",v=await Vo(p,y,e.labelStyle,!0,!0),x=v.getBBox();if(Or(ge())){let S=v.children[0],L=Ze(v);x=S.getBoundingClientRect(),L.attr("width",x.width),L.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+i,f+=x.width);let b=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(Or(ge())?b+="<"+e.classData.type+">":b+="<"+e.classData.type+">");let T=await Vo(p,b,e.labelStyle,!0,!0);Ze(T).attr("class","classTitle");let w=T.getBBox();if(Or(ge())){let S=T.children[0],L=Ze(T);w=S.getBoundingClientRect(),L.attr("width",w.width),L.attr("height",w.height)}d+=w.height+i,w.width>f&&(f=w.width);let k=[];e.classData.members.forEach(async S=>{let L=S.getDisplayDetails(),M=L.displayText;Or(ge())&&(M=M.replace(//g,">"));let I=await Vo(p,M,L.cssStyle?L.cssStyle:e.labelStyle,!0,!0),A=I.getBBox();if(Or(ge())){let _=I.children[0],D=Ze(I);A=_.getBoundingClientRect(),D.attr("width",A.width),D.attr("height",A.height)}A.width>f&&(f=A.width),d+=A.height+i,k.push(I)}),d+=n;let C=[];if(e.classData.methods.forEach(async S=>{let L=S.getDisplayDetails(),M=L.displayText;Or(ge())&&(M=M.replace(//g,">"));let I=await Vo(p,M,L.cssStyle?L.cssStyle:e.labelStyle,!0,!0),A=I.getBBox();if(Or(ge())){let _=I.children[0],D=Ze(I);A=_.getBoundingClientRect(),D.attr("width",A.width),D.attr("height",A.height)}A.width>f&&(f=A.width),d+=A.height+i,C.push(I)}),d+=n,g){let S=(f-x.width)/2;Ze(v).attr("transform","translate( "+(-1*f/2+S)+", "+-1*d/2+")"),m=x.height+i}let E=(f-w.width)/2;return Ze(T).attr("transform","translate( "+(-1*f/2+E)+", "+(-1*d/2+m)+")"),m+=w.height+i,u.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+n+m).attr("y2",-d/2-r+n+m),m+=n,k.forEach(S=>{Ze(S).attr("transform","translate( "+-f/2+", "+(-1*d/2+m+n/2)+")");let L=S?.getBBox();m+=(L?.height??0)+i}),m+=n,h.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+n+m).attr("y2",-d/2-r+n+m),m+=n,C.forEach(S=>{Ze(S).attr("transform","translate( "+-f/2+", "+(-1*d/2+m)+")");let L=S?.getBBox();m+=(L?.height??0)+i}),l.attr("style",e.style).attr("class","outer title-state").attr("x",-f/2-r).attr("y",-(d/2)-r).attr("width",f+e.padding).attr("height",d+e.padding),Tn(e,l),e.intersect=function(S){return an.rect(e,S)},s},"class_box"),oAe={rhombus:aAe,composite:igt,question:aAe,rect:rgt,labelRect:ngt,rectWithTitle:agt,choice:Hmt,circle:ogt,doublecircle:lgt,stadium:sgt,hexagon:Ymt,block_arrow:jmt,rect_left_inv_arrow:Xmt,lean_right:Kmt,lean_left:Qmt,trapezoid:Zmt,inv_trapezoid:Jmt,rect_right_inv_arrow:egt,cylinder:tgt,start:ugt,end:hgt,note:rAe,subroutine:cgt,fork:sAe,join:sAe,class_box:fgt},r8={},MH=o(async(t,e,r)=>{let i,n;if(e.link){let a;ge().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),i=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),n=await oAe[e.shape](i,e,r)}else n=await oAe[e.shape](t,e,r),i=n;return e.tooltip&&n.attr("title",e.tooltip),e.class&&n.attr("class","node default "+e.class),r8[e.id]=i,e.haveCallback&&r8[e.id].attr("class",r8[e.id].attr("class")+" clickable"),i},"insertNode"),lAe=o(t=>{let e=r8[t.id];Q.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=8,i=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+i-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),i},"positionNode")});function uAe(t,e,r=!1){let i=t,n="default";(i?.classes?.length||0)>0&&(n=(i?.classes??[]).join(" ")),n=n+" flowchart-label";let a=0,s="",l;switch(i.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",l=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}let u=xI(i?.styles??[]),h=i.label,f=i.size??{width:0,height:0,x:0,y:0},d=e.getDiagramId();return{labelStyle:u.labelStyle,shape:s,labelText:h,rx:a,ry:a,class:n,style:u.style,id:i.id,domId:d?`${d}-${i.id}`:i.id,directions:i.directions,width:f.width,height:f.height,x:f.x,y:f.y,positioned:r,intersect:void 0,type:i.type,padding:l??Lt()?.block?.padding??0}}async function dgt(t,e,r){let i=uAe(e,r,!1);if(i.type==="group")return;let n=Lt(),a=await MH(t,i,{config:n}),s=a.node().getBBox(),l=r.getBlock(i.id);l.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(l),a.remove()}async function pgt(t,e,r){let i=uAe(e,r,!0);if(r.getBlock(i.id).type!=="space"){let a=Lt();await MH(t,i,{config:a}),e.intersect=i?.intersect,lAe(i)}}async function OH(t,e,r,i){for(let n of e)await i(t,n,r),n.children&&await OH(t,n.children,r,i)}async function hAe(t,e,r){await OH(t,e,r,dgt)}async function fAe(t,e,r){await OH(t,e,r,pgt)}async function dAe(t,e,r,i,n){let a=new Ai({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(let s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(let s of e)if(s.start&&s.end){let l=i.getBlock(s.start),u=i.getBlock(s.end);if(l?.size&&u?.size){let h=l.size,f=u.size,d=[{x:h.x,y:h.y},{x:h.x+(f.x-h.x)/2,y:h.y+(f.y-h.y)/2},{x:f.x,y:f.y}],p=n?`${n}-${s.id}`:s.id;G6e(t,{v:s.start,w:s.end,name:p},{...s,id:p,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,n),s.label&&(await $6e(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),z6e({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}var pAe=P(()=>{"use strict";$l();Sr();V6e();cAe();er();o(uAe,"getNodeFromBlock");o(dgt,"calculateBlockSize");o(pgt,"insertBlockPositioned");o(OH,"performOperations");o(hAe,"calculateBlockSizes");o(fAe,"insertBlocks");o(dAe,"insertEdges")});var mgt,ggt,mAe,gAe=P(()=>{"use strict";Pr();Sr();D6e();bt();Xi();M6e();pAe();mgt=o(function(t,e){return e.db.getClasses()},"getClasses"),ggt=o(async function(t,e,r,i){let{securityLevel:n,block:a}=Lt(),s=i.db;s.setDiagramId(e);let l;n==="sandbox"&&(l=Ze("#i"+e));let u=n==="sandbox"?Ze(l.nodes()[0].contentDocument.body):Ze("body"),h=n==="sandbox"?u.select(`[id="${e}"]`):Ze(`[id="${e}"]`);_6e(h,["point","circle","cross"],i.type,e);let d=s.getBlocks(),p=s.getBlocksFlat(),m=s.getEdges(),g=h.insert("g").attr("class","block");await hAe(g,d,s);let y=I6e(s);if(await fAe(g,d,s),await dAe(g,m,p,s,e),y){let v=y,x=Math.max(1,Math.round(.125*(v.width/v.height))),b=v.height+x+10,T=v.width+10,{useMaxWidth:w}=a;Hr(h,b,T,!!w),Q.debug("Here Bounds",y,v),h.attr("viewBox",`${v.x-5} ${v.y-5} ${v.width+10} ${v.height+10}`)}},"draw"),mAe={draw:ggt,getClasses:mgt}});var yAe={};ur(yAe,{diagram:()=>ygt});var ygt,vAe=P(()=>{"use strict";v6e();E6e();A6e();gAe();ygt={parser:y6e,db:w6e,renderer:mAe,styles:S6e}});var uh,Tgt,kgt,Cgt,wgt,Egt,Sgt,Agt,WC,PH=P(()=>{"use strict";Sr();wa();Ki();er();J7();uh=new Cp(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),Tgt=o(()=>{uh.reset(),wr()},"clear"),kgt=o(()=>uh.records.stack[0],"getRoot"),Cgt=o(()=>uh.records.cnt,"getCount"),wgt=fr.treeView,Egt=o(()=>fi(wgt,Lt().treeView),"getConfig"),Sgt=o((t,e)=>{for(;t<=uh.records.stack[uh.records.stack.length-1].level;)uh.records.stack.pop();let r={id:uh.records.cnt++,level:t,name:e,children:[]};uh.records.stack[uh.records.stack.length-1].children.push(r),uh.records.stack.push(r)},"addNode"),Agt={clear:Tgt,addNode:Sgt,getRoot:kgt,getCount:Cgt,getConfig:Egt,getAccTitle:Dr,getAccDescription:Rr,getDiagramTitle:Nr,setAccDescription:Lr,setAccTitle:Ar,setDiagramTitle:Mr},WC=Agt});var _gt,TAe,kAe=P(()=>{"use strict";bt();vf();PH();sh();_gt=o(t=>{Ss(t,WC),t.nodes.map(e=>WC.addNode(e.indent?parseInt(e.indent):0,e.name))},"populate"),TAe={parse:o(async t=>{let e=await ba("treeView",t);Q.debug(e),_gt(e)},"parse")}});var Dgt,CAe,Lgt,Rgt,Ngt,wAe,EAe=P(()=>{"use strict";bt();ro();Xi();Dgt=o((t,e,r,i,n)=>{let a=i.append("text").text(r.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:s,width:l}=a.node().getBBox(),u=s+n.paddingY*2,h=l+n.paddingX*2;a.attr("x",t+n.paddingX),a.attr("y",e+u/2),r.BBox={x:t,y:e,width:h,height:u}},"positionLabel"),CAe=o((t,e,r,i,n,a)=>t.append("line").attr("x1",e).attr("y1",r).attr("x2",i).attr("y2",n).attr("stroke-width",a).attr("class","treeView-node-line"),"positionLine"),Lgt=o((t,e,r)=>{let i=0,n=0,a=o((l,u,h,f)=>{let d=f*(h.rowIndent+h.paddingX);Dgt(d,i,u,l,h);let{height:p,width:m}=u.BBox;CAe(l,d-h.rowIndent,i+p/2,d,i+p/2,h.lineThickness),n=Math.max(n,d+m),i+=p},"drawNode"),s=o((l,u=0)=>{a(t,l,r,u),l.children.forEach(p=>{s(p,u+1)});let{x:h,y:f,height:d}=l.BBox;if(l.children.length){let{y:p,height:m}=l.children[l.children.length-1].BBox;CAe(t,h+r.paddingX,f+d,h+r.paddingX,p+m/2+r.lineThickness/2,r.lineThickness)}},"processNode");return s(e),{totalHeight:i,totalWidth:n}},"drawTree"),Rgt=o((t,e,r,i)=>{Q.debug(`Rendering treeView diagram -`+t);let n=i.db,a=n.getRoot(),s=n.getConfig(),l=Fi(e),u=l.append("g");u.attr("class","tree-view");let{totalHeight:h,totalWidth:f}=Lgt(u,a,s);l.attr("viewBox",`-${s.lineThickness/2} 0 ${f} ${h}`),Hr(l,h,f,s.useMaxWidth)},"draw"),Ngt={draw:Rgt},wAe=Ngt});var Igt,Mgt,SAe,AAe=P(()=>{"use strict";er();Igt={labelFontSize:"16px",labelColor:"black",lineColor:"black"},Mgt=o(({treeView:t})=>{let{labelFontSize:e,labelColor:r,lineColor:i}=fi(Igt,t);return` - .treeView-node-label { - font-size: ${e}; - fill: ${r}; - } - .treeView-node-line { - stroke: ${i}; - } - `},"styles"),SAe=Mgt});var _Ae={};ur(_Ae,{diagram:()=>Ogt});var Ogt,DAe=P(()=>{"use strict";kAe();PH();EAe();AAe();Ogt={db:WC,renderer:wAe,parser:TAe,styles:SAe}});var BH,FH,UC,NAe,$H,Ds,hh,HC,IAe,$gt,YC,MAe,OAe,PAe,BAe,FAe,i8,Np,n8=P(()=>{"use strict";BH={L:"left",R:"right",T:"top",B:"bottom"},FH={L:o(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:o(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:o(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:o(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},UC={L:o((t,e)=>t-e+2,"L"),R:o((t,e)=>t-2,"R"),T:o((t,e)=>t-e+2,"T"),B:o((t,e)=>t-2,"B")},NAe=o(function(t){return Ds(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),$H=o(function(t){let e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),Ds=o(function(t){let e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),hh=o(function(t){let e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),HC=o(function(t,e){let r=Ds(t)&&hh(e),i=hh(t)&&Ds(e);return r||i},"isArchitectureDirectionXY"),IAe=o(function(t){let e=t[0],r=t[1],i=Ds(e)&&hh(r),n=hh(e)&&Ds(r);return i||n},"isArchitecturePairXY"),$gt=o(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),YC=o(function(t,e){let r=`${t}${e}`;return $gt(r)?r:void 0},"getArchitectureDirectionPair"),MAe=o(function([t,e],r){let i=r[0],n=r[1];return Ds(i)?hh(n)?[t+(i==="L"?-1:1),e+(n==="T"?1:-1)]:[t+(i==="L"?-1:1),e]:Ds(n)?[t+(n==="L"?1:-1),e+(i==="T"?1:-1)]:[t,e+(i==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),OAe=o(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),PAe=o(function(t,e){return HC(t,e)?"bend":Ds(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),BAe=o(function(t){return t.type==="service"},"isArchitectureService"),FAe=o(function(t){return t.type==="junction"},"isArchitectureJunction"),i8=o(t=>t.data(),"edgeData"),Np=o(t=>t.data(),"nodeData")});var zgt,dx,zH=P(()=>{"use strict";Sr();wa();er();Ki();n8();zgt=fr.architecture,dx=class{constructor(){this.nodes={};this.groups={};this.edges=[];this.registeredIds={};this.elements={};this.diagramId="";this.setAccTitle=Ar;this.getAccTitle=Dr;this.setDiagramTitle=Mr;this.getDiagramTitle=Nr;this.getAccDescription=Rr;this.setAccDescription=Lr;this.clear()}static{o(this,"ArchitectureDB")}setDiagramId(e){this.diagramId=e}getDiagramId(){return this.diagramId}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},this.diagramId="",wr()}addService({id:e,icon:r,in:i,title:n,iconText:a}){if(this.registeredIds[e]!==void 0)throw new Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);if(i!==void 0){if(e===i)throw new Error(`The service [${e}] cannot be placed within itself`);if(this.registeredIds[i]===void 0)throw new Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[i]==="node")throw new Error(`The service [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"service",icon:r,iconText:a,title:n,edges:[],in:i}}getServices(){return Object.values(this.nodes).filter(BAe)}addJunction({id:e,in:r}){if(this.registeredIds[e]!==void 0)throw new Error(`The junction id [${e}] is already in use by another ${this.registeredIds[e]}`);if(r!==void 0){if(e===r)throw new Error(`The junction [${e}] cannot be placed within itself`);if(this.registeredIds[r]===void 0)throw new Error(`The junction [${e}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds[r]==="node")throw new Error(`The junction [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"junction",edges:[],in:r}}getJunctions(){return Object.values(this.nodes).filter(FAe)}getNodes(){return Object.values(this.nodes)}getNode(e){return this.nodes[e]??null}addGroup({id:e,icon:r,in:i,title:n}){if(this.registeredIds?.[e]!==void 0)throw new Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);if(i!==void 0){if(e===i)throw new Error(`The group [${e}] cannot be placed within itself`);if(this.registeredIds?.[i]===void 0)throw new Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[i]==="node")throw new Error(`The group [${e}]'s parent is not a group`)}this.registeredIds[e]="group",this.groups[e]={id:e,icon:r,title:n,in:i}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:e,rhsId:r,lhsDir:i,rhsDir:n,lhsInto:a,rhsInto:s,lhsGroup:l,rhsGroup:u,title:h}){if(!$H(i))throw new Error(`Invalid direction given for left hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(i)}`);if(!$H(n))throw new Error(`Invalid direction given for right hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(this.nodes[e]===void 0&&this.groups[e]===void 0)throw new Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[r]===void 0&&this.groups[r]===void 0)throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);let f=this.nodes[e].in,d=this.nodes[r].in;if(l&&f&&d&&f==d)throw new Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(u&&f&&d&&f==d)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);let p={lhsId:e,lhsDir:i,lhsInto:a,lhsGroup:l,rhsId:r,rhsDir:n,rhsInto:s,rhsGroup:u,title:h};this.edges.push(p),this.nodes[e]&&this.nodes[r]&&(this.nodes[e].edges.push(this.edges[this.edges.length-1]),this.nodes[r].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){let e={},r=Object.entries(this.nodes).reduce((u,[h,f])=>(u[h]=f.edges.reduce((d,p)=>{let m=this.getNode(p.lhsId)?.in,g=this.getNode(p.rhsId)?.in;if(m&&g&&m!==g){let y=PAe(p.lhsDir,p.rhsDir);y!=="bend"&&(e[m]??={},e[m][g]=y,e[g]??={},e[g][m]=y)}if(p.lhsId===h){let y=YC(p.lhsDir,p.rhsDir);y&&(d[y]=p.rhsId)}else{let y=YC(p.rhsDir,p.lhsDir);y&&(d[y]=p.lhsId)}return d},{}),u),{}),i=Object.keys(r)[0],n={[i]:1},a=Object.keys(r).reduce((u,h)=>h===i?u:{...u,[h]:1},{}),s=o(u=>{let h={[u]:[0,0]},f=[u];for(;f.length>0;){let d=f.shift();if(d){n[d]=1,delete a[d];let p=r[d],[m,g]=h[d];Object.entries(p).forEach(([y,v])=>{n[v]||(h[v]=MAe([m,g],y),f.push(v))})}}return h},"BFS"),l=[s(i)];for(;Object.keys(a).length>0;)l.push(s(Object.keys(a)[0]));this.dataStructures={adjList:r,spatialMaps:l,groupAlignments:e}}return this.dataStructures}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}getConfig(){return fi({...zgt,...Lt().architecture})}getConfigField(e){return this.getConfig()[e]}}});var Ggt,GH,$Ae=P(()=>{"use strict";sh();bt();vf();zH();Ggt=o((t,e)=>{Ss(t,e),t.groups.map(r=>e.addGroup(r)),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(r=>e.addEdge(r))},"populateDb"),GH={parser:{yy:void 0},parse:o(async t=>{let e=await ba("architecture",t);Q.debug(e);let r=GH.parser?.yy;if(!(r instanceof dx))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Ggt(e,r)},"parse")}});var Vgt,zAe,GAe=P(()=>{"use strict";Vgt=o(t=>` - .edge { - stroke-width: ${t.archEdgeWidth}; - stroke: ${t.archEdgeColor}; - fill: none; - } - - .arrow { - fill: ${t.archEdgeArrowColor}; - } - - .node-bkg { - fill: none; - stroke: ${t.archGroupBorderColor}; - stroke-width: ${t.archGroupBorderWidth}; - stroke-dasharray: 8; - } - .node-icon-text { - display: flex; - align-items: center; - } - - .node-icon-text > div { - color: #fff; - margin: 1px; - height: fit-content; - text-align: center; - overflow: hidden; - display: -webkit-box; - -webkit-box-orient: vertical; - } -`,"getStyles"),zAe=Vgt});var qH=ar((jC,VH)=>{"use strict";o((function(e,r){typeof jC=="object"&&typeof VH=="object"?VH.exports=r():typeof define=="function"&&define.amd?define([],r):typeof jC=="object"?jC.layoutBase=r():e.layoutBase=r()}),"webpackUniversalModuleDefinition")(jC,function(){return(function(t){var e={};function r(i){if(e[i])return e[i].exports;var n=e[i]={i,l:!1,exports:{}};return t[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return o(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(i){return i},r.d=function(i,n,a){r.o(i,n)||Object.defineProperty(i,n,{configurable:!1,enumerable:!0,get:a})},r.n=function(i){var n=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return r.d(n,"a",n),n},r.o=function(i,n){return Object.prototype.hasOwnProperty.call(i,n)},r.p="",r(r.s=28)})([(function(t,e,r){"use strict";function i(){}o(i,"LayoutConstants"),i.QUALITY=1,i.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,i.DEFAULT_INCREMENTAL=!1,i.DEFAULT_ANIMATION_ON_LAYOUT=!0,i.DEFAULT_ANIMATION_DURING_LAYOUT=!1,i.DEFAULT_ANIMATION_PERIOD=50,i.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,i.DEFAULT_GRAPH_MARGIN=15,i.NODE_DIMENSIONS_INCLUDE_LABELS=!1,i.SIMPLE_NODE_SIZE=40,i.SIMPLE_NODE_HALF_SIZE=i.SIMPLE_NODE_SIZE/2,i.EMPTY_COMPOUND_NODE_SIZE=40,i.MIN_EDGE_LENGTH=1,i.WORLD_BOUNDARY=1e6,i.INITIAL_WORLD_BOUNDARY=i.WORLD_BOUNDARY/1e3,i.WORLD_CENTER_X=1200,i.WORLD_CENTER_Y=900,t.exports=i}),(function(t,e,r){"use strict";var i=r(2),n=r(8),a=r(9);function s(u,h,f){i.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(i.prototype);for(var l in i)s[l]=i[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=n.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s}),(function(t,e,r){"use strict";function i(n){this.vGraphObject=n}o(i,"LGraphObject"),t.exports=i}),(function(t,e,r){"use strict";var i=r(2),n=r(10),a=r(13),s=r(0),l=r(16),u=r(5);function h(d,p,m,g){m==null&&g==null&&(g=p),i.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=n.MIN_VALUE,this.inclusionTreeDepth=n.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(i.prototype);for(var f in i)h[f]=i[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp?(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(p+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(m+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>m?(this.rect.y-=(this.labelHeight-m)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(m+this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==n.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h}),(function(t,e,r){"use strict";var i=r(0);function n(){}o(n,"FDLayoutConstants");for(var a in i)n[a]=i[a];n.MAX_ITERATIONS=2500,n.DEFAULT_EDGE_LENGTH=50,n.DEFAULT_SPRING_STRENGTH=.45,n.DEFAULT_REPULSION_STRENGTH=4500,n.DEFAULT_GRAVITY_STRENGTH=.4,n.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,n.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,n.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,n.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,n.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,n.COOLING_ADAPTATION_FACTOR=.33,n.ADAPTATION_LOWER_NODE_LIMIT=1e3,n.ADAPTATION_UPPER_NODE_LIMIT=5e3,n.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,n.MAX_NODE_DISPLACEMENT=n.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,n.MIN_REPULSION_DIST=n.DEFAULT_EDGE_LENGTH/10,n.CONVERGENCE_CHECK_PERIOD=100,n.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,n.MIN_EDGE_LENGTH=1,n.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=n}),(function(t,e,r){"use strict";function i(n,a){n==null&&a==null?(this.x=0,this.y=0):(this.x=n,this.y=a)}o(i,"PointD"),i.prototype.getX=function(){return this.x},i.prototype.getY=function(){return this.y},i.prototype.setX=function(n){this.x=n},i.prototype.setY=function(n){this.y=n},i.prototype.getDifference=function(n){return new DimensionD(this.x-n.x,this.y-n.y)},i.prototype.getCopy=function(){return new i(this.x,this.y)},i.prototype.translate=function(n){return this.x+=n.width,this.y+=n.height,this},t.exports=i}),(function(t,e,r){"use strict";var i=r(2),n=r(10),a=r(0),s=r(7),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){i.call(this,v),this.estimatedSize=n.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(i.prototype);for(var m in i)p[m]=i[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,T=0;T-1&&C>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(k,1),x.target!=x.source&&x.target.edges.splice(C,1);var w=x.source.owner.getEdges().indexOf(x);if(w==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(w,1)}},p.prototype.updateLeftTop=function(){for(var g=n.MAX_VALUE,y=n.MAX_VALUE,v,x,b,T=this.getNodes(),w=T.length,k=0;kv&&(g=v),y>x&&(y=x)}return g==n.MAX_VALUE?null:(T[0].getParent().paddingLeft!=null?b=T[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=n.MAX_VALUE,v=-n.MAX_VALUE,x=n.MAX_VALUE,b=-n.MAX_VALUE,T,w,k,C,E,S=this.nodes,L=S.length,M=0;MT&&(y=T),vk&&(x=k),bT&&(y=T),vk&&(x=k),b=this.nodes.length){var L=0;v.forEach(function(M){M.owner==g&&L++}),L==this.nodes.length&&(this.isConnected=!0)}},t.exports=p}),(function(t,e,r){"use strict";var i,n=r(1);function a(s){i=r(6),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,f){if(u==null&&h==null&&f==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{f=u,h=l,u=s;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof i){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var f=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=S,!1;if(hf)return l[0]=p,l[1]=h,l[2]=C,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,A=!0):(l[0]=g,l[1]=m,A=!0):D===R&&(u>f?(l[0]=p,l[1]=m,A=!0):(l[0]=x,l[1]=v,A=!0)),-N===R?f>u?(l[2]=E,l[3]=S,_=!0):(l[2]=C,l[3]=k,_=!0):N===R&&(f>u?(l[2]=w,l[3]=k,_=!0):(l[2]=L,l[3]=S,_=!0)),A&&_)return!1;if(u>f?h>d?(B=this.getCardinalDirection(D,R,4),O=this.getCardinalDirection(N,R,2)):(B=this.getCardinalDirection(-D,R,3),O=this.getCardinalDirection(-N,R,1)):h>d?(B=this.getCardinalDirection(-D,R,1),O=this.getCardinalDirection(-N,R,3)):(B=this.getCardinalDirection(D,R,2),O=this.getCardinalDirection(N,R,4)),!A)switch(B){case 1:z=m,$=u+-T/R,l[0]=$,l[1]=z;break;case 2:$=x,z=h+b*R,l[0]=$,l[1]=z;break;case 3:z=v,$=u+T/R,l[0]=$,l[1]=z;break;case 4:$=y,z=h+-b*R,l[0]=$,l[1]=z;break}if(!_)switch(O){case 1:V=k,F=f+-I/R,l[2]=F,l[3]=V;break;case 2:F=L,V=d+M*R,l[2]=F,l[3]=V;break;case 3:V=S,F=f+I/R,l[2]=F,l[3]=V;break;case 4:F=E,V=d+-M*R,l[2]=F,l[3]=V;break}}return!1},n.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},n.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,f=a.y,d=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,T=void 0,w=void 0,k=void 0,C=void 0,E=void 0,S=void 0,L=void 0;return T=p-f,k=h-d,E=d*f-h*p,w=v-g,C=m-y,S=y*g-m*v,L=T*C-w*k,L===0?null:(x=(k*S-C*E)/L,b=(w*E-T*S)/L,new i(x,b))},n.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l=0){var v=(-m+Math.sqrt(m*m-4*p*g))/(2*p),x=(-m-Math.sqrt(m*m-4*p*g))/(2*p),b=null;return v>=0&&v<=1?[v]:x>=0&&x<=1?[x]:b}else return null},n.HALF_PI=.5*Math.PI,n.ONE_AND_HALF_PI=1.5*Math.PI,n.TWO_PI=2*Math.PI,n.THREE_PI=3*Math.PI,t.exports=n}),(function(t,e,r){"use strict";function i(){}o(i,"IMath"),i.sign=function(n){return n>0?1:n<0?-1:0},i.floor=function(n){return n<0?Math.ceil(n):Math.floor(n)},i.ceil=function(n){return n<0?Math.floor(n):Math.ceil(n)},t.exports=i}),(function(t,e,r){"use strict";function i(){}o(i,"Integer"),i.MAX_VALUE=2147483647,i.MIN_VALUE=-2147483648,t.exports=i}),(function(t,e,r){"use strict";var i=(function(){function h(f,d){for(var p=0;p"u"?"undefined":i(a);return a==null||s!="object"&&s!="function"},t.exports=n}),(function(t,e,r){"use strict";function i(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(T.push(k[0]);T.length>0&&g;){var C=T[0];T.splice(0,1),b.add(C);for(var E=C.getEdges(),x=0;x-1&&k.splice(I,1)}b=new Set,w=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(S,1);var L=w.getNeighborsList();L.forEach(function(A){if(y.indexOf(A)<0){var _=v.get(A),D=_-1;D==1&&C.push(A),v.set(A,D)}})}y=y.concat(C),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p}),(function(t,e,r){"use strict";function i(){}o(i,"RandomSeed"),i.seed=1,i.x=0,i.nextDouble=function(){return i.x=Math.sin(i.seed++)*1e4,i.x-Math.floor(i.x)},t.exports=i}),(function(t,e,r){"use strict";var i=r(5);function n(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(n,"Transform"),n.prototype.getWorldOrgX=function(){return this.lworldOrgX},n.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},n.prototype.getWorldOrgY=function(){return this.lworldOrgY},n.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},n.prototype.getWorldExtX=function(){return this.lworldExtX},n.prototype.setWorldExtX=function(a){this.lworldExtX=a},n.prototype.getWorldExtY=function(){return this.lworldExtY},n.prototype.setWorldExtY=function(a){this.lworldExtY=a},n.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},n.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},n.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},n.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},n.prototype.getDeviceExtX=function(){return this.ldeviceExtX},n.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},n.prototype.getDeviceExtY=function(){return this.ldeviceExtY},n.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},n.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},n.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},n.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},n.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},n.prototype.inverseTransformPoint=function(a){var s=new i(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},t.exports=n}),(function(t,e,r){"use strict";function i(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*a.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mT||b>T)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(T=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>T||b>T)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||T>=x[0].length)){for(var w=0;wh},"_defaultCompareFunction")}]),l})();t.exports=s}),(function(t,e,r){"use strict";function i(){}o(i,"SVD"),i.svd=function(n){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=n.length,this.n=n[0].length;var a=Math.min(this.m,this.n);this.s=(function(It){for(var ot=[];It-- >0;)ot.push(0);return ot})(Math.min(this.m+1,this.n)),this.U=(function(It){var ot=o(function ct(Dt){if(Dt.length==0)return 0;for(var kt=[],yt=0;yt0;)ot.push(0);return ot})(this.n),l=(function(It){for(var ot=[];It-- >0;)ot.push(0);return ot})(this.m),u=!0,h=!0,f=Math.min(this.m-1,this.n),d=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;R--)if(this.s[R]!==0){for(var B=R+1;B=0;X--){if((function(It,ot){return It&&ot})(X0;){var de=void 0,Ee=void 0;for(de=_-2;de>=-1&&de!==-1;de--)if(Math.abs(s[de])<=be+te*(Math.abs(this.s[de])+Math.abs(this.s[de+1]))){s[de]=0;break}if(de===_-2)Ee=4;else{var Ne=void 0;for(Ne=_-1;Ne>=de&&Ne!==de;Ne--){var we=(Ne!==_?Math.abs(s[Ne]):0)+(Ne!==de+1?Math.abs(s[Ne-1]):0);if(Math.abs(this.s[Ne])<=be+te*we){this.s[Ne]=0;break}}Ne===de?Ee=3:Ne===_-1?Ee=1:(Ee=2,de=Ne)}switch(de++,Ee){case 1:{var Te=s[_-2];s[_-2]=0;for(var De=_-2;De>=de;De--){var $e=i.hypot(this.s[De],Te),pe=this.s[De]/$e,Je=Te/$e;if(this.s[De]=$e,De!==de&&(Te=-Je*s[De-1],s[De-1]=pe*s[De-1]),h)for(var Ce=0;Ce=this.s[de+1]);){var ut=this.s[de];if(this.s[de]=this.s[de+1],this.s[de+1]=ut,h&&deMath.abs(a)?(s=a/n,s=Math.abs(n)*Math.sqrt(1+s*s)):a!=0?(s=n/a,s=Math.abs(a)*Math.sqrt(1+s*s)):s=0,s},t.exports=i}),(function(t,e,r){"use strict";var i=(function(){function s(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;n(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},n.emit=function(a,s){for(var l=0;l{"use strict";o((function(e,r){typeof XC=="object"&&typeof WH=="object"?WH.exports=r(qH()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof XC=="object"?XC.coseBase=r(qH()):e.coseBase=r(e.layoutBase)}),"webpackUniversalModuleDefinition")(XC,function(t){return(()=>{"use strict";var e={45:((a,s,l)=>{var u={};u.layoutBase=l(551),u.CoSEConstants=l(806),u.CoSEEdge=l(767),u.CoSEGraph=l(880),u.CoSEGraphManager=l(578),u.CoSELayout=l(765),u.CoSENode=l(991),u.ConstraintHandler=l(902),a.exports=u}),806:((a,s,l)=>{var u=l(551).FDLayoutConstants;function h(){}o(h,"CoSEConstants");for(var f in u)h[f]=u[f];h.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,h.DEFAULT_RADIAL_SEPARATION=u.DEFAULT_EDGE_LENGTH,h.DEFAULT_COMPONENT_SEPERATION=60,h.TILE=!0,h.TILING_PADDING_VERTICAL=10,h.TILING_PADDING_HORIZONTAL=10,h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!0,h.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,h.TREE_REDUCTION_ON_INCREMENTAL=!0,h.PURE_INCREMENTAL=h.DEFAULT_INCREMENTAL,a.exports=h}),767:((a,s,l)=>{var u=l(551).FDLayoutEdge;function h(d,p,m){u.call(this,d,p,m)}o(h,"CoSEEdge"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h}),880:((a,s,l)=>{var u=l(551).LGraph;function h(d,p,m){u.call(this,d,p,m)}o(h,"CoSEGraph"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h}),578:((a,s,l)=>{var u=l(551).LGraphManager;function h(d){u.call(this,d)}o(h,"CoSEGraphManager"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h}),765:((a,s,l)=>{var u=l(551).FDLayout,h=l(578),f=l(880),d=l(991),p=l(767),m=l(806),g=l(902),y=l(551).FDLayoutConstants,v=l(551).LayoutConstants,x=l(551).Point,b=l(551).PointD,T=l(551).DimensionD,w=l(551).Layout,k=l(551).Integer,C=l(551).IGeometry,E=l(551).LGraph,S=l(551).Transform,L=l(551).LinkedList;function M(){u.call(this),this.toBeTiled={},this.constraints={}}o(M,"CoSELayout"),M.prototype=Object.create(u.prototype);for(var I in u)M[I]=u[I];M.prototype.newGraphManager=function(){var A=new h(this);return this.graphManager=A,A},M.prototype.newGraph=function(A){return new f(null,this.graphManager,A)},M.prototype.newNode=function(A){return new d(this.graphManager,A)},M.prototype.newEdge=function(A){return new p(null,null,A)},M.prototype.initParameters=function(){u.prototype.initParameters.call(this,arguments),this.isSubLayout||(m.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=m.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=m.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=y.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=y.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=y.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},M.prototype.initSpringEmbedder=function(){u.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/y.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},M.prototype.layout=function(){var A=v.DEFAULT_CREATE_BENDS_AS_NEEDED;return A&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},M.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(m.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var _=new Set(this.getAllNodes()),D=this.nodesWithGravity.filter(function(B){return _.has(B)});this.graphManager.setAllNodesToApplyGravitation(D)}}else{var A=this.getFlatForest();if(A.length>0)this.positionNodesRadially(A);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var _=new Set(this.getAllNodes()),D=this.nodesWithGravity.filter(function(N){return _.has(N)});this.graphManager.setAllNodesToApplyGravitation(D),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(g.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),m.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},M.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%y.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var A=new Set(this.getAllNodes()),_=this.nodesWithGravity.filter(function(R){return A.has(R)});this.graphManager.setAllNodesToApplyGravitation(_),this.graphManager.updateBounds(),this.updateGrid(),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var D=!this.isTreeGrowing&&!this.isGrowthFinished,N=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(D,N),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},M.prototype.getPositionsData=function(){for(var A=this.graphManager.getAllNodes(),_={},D=0;D0&&this.updateDisplacements();for(var D=0;D0&&(N.fixedNodeWeight=B)}}if(this.constraints.relativePlacementConstraint){var O=new Map,$=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(Y){A.fixedNodesOnHorizontal.add(Y),A.fixedNodesOnVertical.add(Y)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var z=this.constraints.alignmentConstraint.vertical,D=0;D=2*Y.length/3;ee--)ae=Math.floor(Math.random()*(ee+1)),J=Y[ee],Y[ee]=Y[ae],Y[ae]=J;return Y},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(Y){if(Y.left){var ae=O.has(Y.left)?O.get(Y.left):Y.left,J=O.has(Y.right)?O.get(Y.right):Y.right;A.nodesInRelativeHorizontal.includes(ae)||(A.nodesInRelativeHorizontal.push(ae),A.nodeToRelativeConstraintMapHorizontal.set(ae,[]),A.dummyToNodeForVerticalAlignment.has(ae)?A.nodeToTempPositionMapHorizontal.set(ae,A.idToNodeMap.get(A.dummyToNodeForVerticalAlignment.get(ae)[0]).getCenterX()):A.nodeToTempPositionMapHorizontal.set(ae,A.idToNodeMap.get(ae).getCenterX())),A.nodesInRelativeHorizontal.includes(J)||(A.nodesInRelativeHorizontal.push(J),A.nodeToRelativeConstraintMapHorizontal.set(J,[]),A.dummyToNodeForVerticalAlignment.has(J)?A.nodeToTempPositionMapHorizontal.set(J,A.idToNodeMap.get(A.dummyToNodeForVerticalAlignment.get(J)[0]).getCenterX()):A.nodeToTempPositionMapHorizontal.set(J,A.idToNodeMap.get(J).getCenterX())),A.nodeToRelativeConstraintMapHorizontal.get(ae).push({right:J,gap:Y.gap}),A.nodeToRelativeConstraintMapHorizontal.get(J).push({left:ae,gap:Y.gap})}else{var ee=$.has(Y.top)?$.get(Y.top):Y.top,re=$.has(Y.bottom)?$.get(Y.bottom):Y.bottom;A.nodesInRelativeVertical.includes(ee)||(A.nodesInRelativeVertical.push(ee),A.nodeToRelativeConstraintMapVertical.set(ee,[]),A.dummyToNodeForHorizontalAlignment.has(ee)?A.nodeToTempPositionMapVertical.set(ee,A.idToNodeMap.get(A.dummyToNodeForHorizontalAlignment.get(ee)[0]).getCenterY()):A.nodeToTempPositionMapVertical.set(ee,A.idToNodeMap.get(ee).getCenterY())),A.nodesInRelativeVertical.includes(re)||(A.nodesInRelativeVertical.push(re),A.nodeToRelativeConstraintMapVertical.set(re,[]),A.dummyToNodeForHorizontalAlignment.has(re)?A.nodeToTempPositionMapVertical.set(re,A.idToNodeMap.get(A.dummyToNodeForHorizontalAlignment.get(re)[0]).getCenterY()):A.nodeToTempPositionMapVertical.set(re,A.idToNodeMap.get(re).getCenterY())),A.nodeToRelativeConstraintMapVertical.get(ee).push({bottom:re,gap:Y.gap}),A.nodeToRelativeConstraintMapVertical.get(re).push({top:ee,gap:Y.gap})}});else{var V=new Map,H=new Map;this.constraints.relativePlacementConstraint.forEach(function(Y){if(Y.left){var ae=O.has(Y.left)?O.get(Y.left):Y.left,J=O.has(Y.right)?O.get(Y.right):Y.right;V.has(ae)?V.get(ae).push(J):V.set(ae,[J]),V.has(J)?V.get(J).push(ae):V.set(J,[ae])}else{var ee=$.has(Y.top)?$.get(Y.top):Y.top,re=$.has(Y.bottom)?$.get(Y.bottom):Y.bottom;H.has(ee)?H.get(ee).push(re):H.set(ee,[re]),H.has(re)?H.get(re).push(ee):H.set(re,[ee])}});var X=o(function(ae,J){var ee=[],re=[],te=new L,be=new Set,de=0;return ae.forEach(function(Ee,Ne){if(!be.has(Ne)){ee[de]=[],re[de]=!1;var we=Ne;for(te.push(we),be.add(we),ee[de].push(we);te.length!=0;){we=te.shift(),J.has(we)&&(re[de]=!0);var Te=ae.get(we);Te.forEach(function(De){be.has(De)||(te.push(De),be.add(De),ee[de].push(De))})}de++}}),{components:ee,isFixed:re}},"constructComponents"),W=X(V,A.fixedNodesOnHorizontal);this.componentsOnHorizontal=W.components,this.fixedComponentsOnHorizontal=W.isFixed;var Z=X(H,A.fixedNodesOnVertical);this.componentsOnVertical=Z.components,this.fixedComponentsOnVertical=Z.isFixed}}},M.prototype.updateDisplacements=function(){var A=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(Z){var Y=A.idToNodeMap.get(Z.nodeId);Y.displacementX=0,Y.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var _=this.constraints.alignmentConstraint.vertical,D=0;D<_.length;D++){for(var N=0,R=0;R<_[D].length;R++){if(this.fixedNodeSet.has(_[D][R])){N=0;break}N+=this.idToNodeMap.get(_[D][R]).displacementX}for(var B=N/_[D].length,R=0;R<_[D].length;R++)this.idToNodeMap.get(_[D][R]).displacementX=B}if(this.constraints.alignmentConstraint.horizontal)for(var O=this.constraints.alignmentConstraint.horizontal,D=0;D1){var $;for($=0;$N&&(N=Math.floor(O.y)),B=Math.floor(O.x+m.DEFAULT_COMPONENT_SEPERATION)}this.transform(new b(v.WORLD_CENTER_X-O.x/2,v.WORLD_CENTER_Y-O.y/2))},M.radialLayout=function(A,_,D){var N=Math.max(this.maxDiagonalInTree(A),m.DEFAULT_RADIAL_SEPARATION);M.branchRadialLayout(_,null,0,359,0,N);var R=E.calculateBounds(A),B=new S;B.setDeviceOrgX(R.getMinX()),B.setDeviceOrgY(R.getMinY()),B.setWorldOrgX(D.x),B.setWorldOrgY(D.y);for(var O=0;O1;){var ee=J[0];J.splice(0,1);var re=X.indexOf(ee);re>=0&&X.splice(re,1),Y--,W--}_!=null?ae=(X.indexOf(J[0])+1)%Y:ae=0;for(var te=Math.abs(N-D)/W,be=ae;Z!=W;be=++be%Y){var de=X[be].getOtherEnd(A);if(de!=_){var Ee=(D+Z*te)%360,Ne=(Ee+te)%360;M.branchRadialLayout(de,A,Ee,Ne,R+B,B),Z++}}},M.maxDiagonalInTree=function(A){for(var _=k.MIN_VALUE,D=0;D_&&(_=R)}return _},M.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},M.prototype.groupZeroDegreeMembers=function(){var A=this,_={};this.memberGroups={},this.idToDummyNode={};for(var D=[],N=this.graphManager.getAllNodes(),R=0;R"u"&&(_[$]=[]),_[$]=_[$].concat(B)}Object.keys(_).forEach(function(z){if(_[z].length>1){var F="DummyCompound_"+z;A.memberGroups[F]=_[z];var V=_[z][0].getParent(),H=new d(A.graphManager);H.id=F,H.paddingLeft=V.paddingLeft||0,H.paddingRight=V.paddingRight||0,H.paddingBottom=V.paddingBottom||0,H.paddingTop=V.paddingTop||0,A.idToDummyNode[F]=H;var X=A.getGraphManager().add(A.newGraph(),H),W=V.getChild();W.add(H);for(var Z=0;Z<_[z].length;Z++){var Y=_[z][Z];W.remove(Y),X.add(Y)}}})},M.prototype.clearCompounds=function(){var A={},_={};this.performDFSOnCompounds();for(var D=0;DR?(N.rect.x-=(N.labelWidth-R)/2,N.setWidth(N.labelWidth),N.labelMarginLeft=(N.labelWidth-R)/2):N.labelPosHorizontal=="right"&&N.setWidth(R+N.labelWidth)),N.labelHeight&&(N.labelPosVertical=="top"?(N.rect.y-=N.labelHeight,N.setHeight(B+N.labelHeight),N.labelMarginTop=N.labelHeight):N.labelPosVertical=="center"&&N.labelHeight>B?(N.rect.y-=(N.labelHeight-B)/2,N.setHeight(N.labelHeight),N.labelMarginTop=(N.labelHeight-B)/2):N.labelPosVertical=="bottom"&&N.setHeight(B+N.labelHeight))}})},M.prototype.repopulateCompounds=function(){for(var A=this.compoundOrder.length-1;A>=0;A--){var _=this.compoundOrder[A],D=_.id,N=_.paddingLeft,R=_.paddingTop,B=_.labelMarginLeft,O=_.labelMarginTop;this.adjustLocations(this.tiledMemberPack[D],_.rect.x,_.rect.y,N,R,B,O)}},M.prototype.repopulateZeroDegreeMembers=function(){var A=this,_=this.tiledZeroDegreePack;Object.keys(_).forEach(function(D){var N=A.idToDummyNode[D],R=N.paddingLeft,B=N.paddingTop,O=N.labelMarginLeft,$=N.labelMarginTop;A.adjustLocations(_[D],N.rect.x,N.rect.y,R,B,O,$)})},M.prototype.getToBeTiled=function(A){var _=A.id;if(this.toBeTiled[_]!=null)return this.toBeTiled[_];var D=A.getChild();if(D==null)return this.toBeTiled[_]=!1,!1;for(var N=D.getNodes(),R=0;R0)return this.toBeTiled[_]=!1,!1;if(B.getChild()==null){this.toBeTiled[B.id]=!1;continue}if(!this.getToBeTiled(B))return this.toBeTiled[_]=!1,!1}return this.toBeTiled[_]=!0,!0},M.prototype.getNodeDegree=function(A){for(var _=A.id,D=A.getEdges(),N=0,R=0;RV&&(V=X.rect.height)}D+=V+A.verticalPadding}},M.prototype.tileCompoundMembers=function(A,_){var D=this;this.tiledMemberPack=[],Object.keys(A).forEach(function(N){var R=_[N];if(D.tiledMemberPack[N]=D.tileNodes(A[N],R.paddingLeft+R.paddingRight),R.rect.width=D.tiledMemberPack[N].width,R.rect.height=D.tiledMemberPack[N].height,R.setCenter(D.tiledMemberPack[N].centerX,D.tiledMemberPack[N].centerY),R.labelMarginLeft=0,R.labelMarginTop=0,m.NODE_DIMENSIONS_INCLUDE_LABELS){var B=R.rect.width,O=R.rect.height;R.labelWidth&&(R.labelPosHorizontal=="left"?(R.rect.x-=R.labelWidth,R.setWidth(B+R.labelWidth),R.labelMarginLeft=R.labelWidth):R.labelPosHorizontal=="center"&&R.labelWidth>B?(R.rect.x-=(R.labelWidth-B)/2,R.setWidth(R.labelWidth),R.labelMarginLeft=(R.labelWidth-B)/2):R.labelPosHorizontal=="right"&&R.setWidth(B+R.labelWidth)),R.labelHeight&&(R.labelPosVertical=="top"?(R.rect.y-=R.labelHeight,R.setHeight(O+R.labelHeight),R.labelMarginTop=R.labelHeight):R.labelPosVertical=="center"&&R.labelHeight>O?(R.rect.y-=(R.labelHeight-O)/2,R.setHeight(R.labelHeight),R.labelMarginTop=(R.labelHeight-O)/2):R.labelPosVertical=="bottom"&&R.setHeight(O+R.labelHeight))}})},M.prototype.tileNodes=function(A,_){var D=this.tileNodesByFavoringDim(A,_,!0),N=this.tileNodesByFavoringDim(A,_,!1),R=this.getOrgRatio(D),B=this.getOrgRatio(N),O;return B$&&($=Z.getWidth())});var z=B/R,F=O/R,V=Math.pow(D-N,2)+4*(z+N)*(F+D)*R,H=(N-D+Math.sqrt(V))/(2*(z+N)),X;_?(X=Math.ceil(H),X==H&&X++):X=Math.floor(H);var W=X*(z+N)-N;return $>W&&(W=$),W+=N*2,W},M.prototype.tileNodesByFavoringDim=function(A,_,D){var N=m.TILING_PADDING_VERTICAL,R=m.TILING_PADDING_HORIZONTAL,B=m.TILING_COMPARE_BY,O={rows:[],rowWidth:[],rowHeight:[],width:0,height:_,verticalPadding:N,horizontalPadding:R,centerX:0,centerY:0};B&&(O.idealRowWidth=this.calcIdealRowWidth(A,D));var $=o(function(Y){return Y.rect.width*Y.rect.height},"getNodeArea"),z=o(function(Y,ae){return $(ae)-$(Y)},"areaCompareFcn");A.sort(function(Z,Y){var ae=z;return O.idealRowWidth?(ae=B,ae(Z.id,Y.id)):ae(Z,Y)});for(var F=0,V=0,H=0;H0&&(O+=A.horizontalPadding),A.rowWidth[D]=O,A.width0&&($+=A.verticalPadding);var z=0;$>A.rowHeight[D]&&(z=A.rowHeight[D],A.rowHeight[D]=$,z=A.rowHeight[D]-z),A.height+=z,A.rows[D].push(_)},M.prototype.getShortestRowIndex=function(A){for(var _=-1,D=Number.MAX_VALUE,N=0;ND&&(_=N,D=A.rowWidth[N]);return _},M.prototype.canAddHorizontal=function(A,_,D){if(A.idealRowWidth){var N=A.rows.length-1,R=A.rowWidth[N];return R+_+A.horizontalPadding<=A.idealRowWidth}var B=this.getShortestRowIndex(A);if(B<0)return!0;var O=A.rowWidth[B];if(O+A.horizontalPadding+_<=A.width)return!0;var $=0;A.rowHeight[B]0&&($=D+A.verticalPadding-A.rowHeight[B]);var z;A.width-O>=_+A.horizontalPadding?z=(A.height+$)/(O+_+A.horizontalPadding):z=(A.height+$)/A.width,$=D+A.verticalPadding;var F;return A.width<_?F=(A.height+$)/_:F=(A.height+$)/A.width,F<1&&(F=1/F),z<1&&(z=1/z),zB&&_!=D){N.splice(-1,1),A.rows[D].push(R),A.rowWidth[_]=A.rowWidth[_]-B,A.rowWidth[D]=A.rowWidth[D]+B,A.width=A.rowWidth[instance.getLongestRowIndex(A)];for(var O=Number.MIN_VALUE,$=0;$O&&(O=N[$].height);_>0&&(O+=A.verticalPadding);var z=A.rowHeight[_]+A.rowHeight[D];A.rowHeight[_]=O,A.rowHeight[D]0)for(var W=R;W<=B;W++)X[0]+=this.grid[W][O-1].length+this.grid[W][O].length-1;if(B0)for(var W=O;W<=$;W++)X[3]+=this.grid[R-1][W].length+this.grid[R][W].length-1;for(var Z=k.MAX_VALUE,Y,ae,J=0;J{var u=l(551).FDLayoutNode,h=l(551).IMath;function f(p,m,g,y){u.call(this,p,m,g,y)}o(f,"CoSENode"),f.prototype=Object.create(u.prototype);for(var d in u)f[d]=u[d];f.prototype.calculateDisplacement=function(){var p=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementX=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementX)),Math.abs(this.displacementY)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementY=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(p,m){for(var g=this.getChild().getNodes(),y,v=0;v{function u(g){if(Array.isArray(g)){for(var y=0,v=Array(g.length);y0){var it=0;ce.forEach(function(ut){ue=="horizontal"?(ye.set(ut,x.has(ut)?b[x.get(ut)]:se.get(ut)),it+=ye.get(ut)):(ye.set(ut,x.has(ut)?T[x.get(ut)]:se.get(ut)),it+=ye.get(ut))}),it=it/ce.length,Qe.forEach(function(ut){G.has(ut)||ye.set(ut,it)})}else{var fe=0;Qe.forEach(function(ut){ue=="horizontal"?fe+=x.has(ut)?b[x.get(ut)]:se.get(ut):fe+=x.has(ut)?T[x.get(ut)]:se.get(ut)}),fe=fe/Qe.length,Qe.forEach(function(ut){ye.set(ut,fe)})}});for(var Oe=o(function(){var ce=ve.shift(),it=U.get(ce);it.forEach(function(fe){if(ye.get(fe.id)ut&&(ut=kt),ytNt&&(Nt=yt)}}catch(Ii){St=!0,It=Ii}finally{try{!Pt&&ot.return&&ot.return()}finally{if(St)throw It}}var jt=(it+ut)/2-(fe+Nt)/2,hr=!0,Qt=!1,Er=void 0;try{for(var dr=Qe[Symbol.iterator](),ir;!(hr=(ir=dr.next()).done);hr=!0){var pr=ir.value;ye.set(pr,ye.get(pr)+jt)}}catch(Ii){Qt=!0,Er=Ii}finally{try{!hr&&dr.return&&dr.return()}finally{if(Qt)throw Er}}})}return ye},"findAppropriatePositionForRelativePlacement"),I=o(function(U){var ue=0,G=0,se=0,le=0;if(U.forEach(function(Re){Re.left?b[x.get(Re.left)]-b[x.get(Re.right)]>=0?ue++:G++:T[x.get(Re.top)]-T[x.get(Re.bottom)]>=0?se++:le++}),ue>G&&se>le)for(var ke=0;keG)for(var me=0;mele)for(var ye=0;ye1)y.fixedNodeConstraint.forEach(function(oe,U){N[U]=[oe.position.x,oe.position.y],R[U]=[b[x.get(oe.nodeId)],T[x.get(oe.nodeId)]]}),B=!0;else if(y.alignmentConstraint)(function(){var oe=0;if(y.alignmentConstraint.vertical){for(var U=y.alignmentConstraint.vertical,ue=o(function(ye){var Re=new Set;U[ye].forEach(function(We){Re.add(We)});var ve=new Set([].concat(u(Re)).filter(function(We){return $.has(We)})),Oe=void 0;ve.size>0?Oe=b[x.get(ve.values().next().value)]:Oe=L(Re).x,U[ye].forEach(function(We){N[oe]=[Oe,T[x.get(We)]],R[oe]=[b[x.get(We)],T[x.get(We)]],oe++})},"_loop2"),G=0;G0?Oe=b[x.get(ve.values().next().value)]:Oe=L(Re).y,se[ye].forEach(function(We){N[oe]=[b[x.get(We)],Oe],R[oe]=[b[x.get(We)],T[x.get(We)]],oe++})},"_loop3"),ke=0;keH&&(H=V[W].length,X=W);if(H0){var pe={x:0,y:0};y.fixedNodeConstraint.forEach(function(oe,U){var ue={x:b[x.get(oe.nodeId)],y:T[x.get(oe.nodeId)]},G=oe.position,se=S(G,ue);pe.x+=se.x,pe.y+=se.y}),pe.x/=y.fixedNodeConstraint.length,pe.y/=y.fixedNodeConstraint.length,b.forEach(function(oe,U){b[U]+=pe.x}),T.forEach(function(oe,U){T[U]+=pe.y}),y.fixedNodeConstraint.forEach(function(oe){b[x.get(oe.nodeId)]=oe.position.x,T[x.get(oe.nodeId)]=oe.position.y})}if(y.alignmentConstraint){if(y.alignmentConstraint.vertical)for(var Je=y.alignmentConstraint.vertical,Ce=o(function(U){var ue=new Set;Je[U].forEach(function(le){ue.add(le)});var G=new Set([].concat(u(ue)).filter(function(le){return $.has(le)})),se=void 0;G.size>0?se=b[x.get(G.values().next().value)]:se=L(ue).x,ue.forEach(function(le){$.has(le)||(b[x.get(le)]=se)})},"_loop4"),Fe=0;Fe0?se=T[x.get(G.values().next().value)]:se=L(ue).y,ue.forEach(function(le){$.has(le)||(T[x.get(le)]=se)})},"_loop5"),Me=0;Me{a.exports=t})},r={};function i(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return e[a](l,l.exports,i),l.exports}o(i,"__webpack_require__");var n=i(45);return n})()})});var VAe=ar((KC,HH)=>{"use strict";o((function(e,r){typeof KC=="object"&&typeof HH=="object"?HH.exports=r(UH()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof KC=="object"?KC.cytoscapeFcose=r(UH()):e.cytoscapeFcose=r(e.coseBase)}),"webpackUniversalModuleDefinition")(KC,function(t){return(()=>{"use strict";var e={658:(a=>{a.exports=Object.assign!=null?Object.assign.bind(Object):function(s){for(var l=arguments.length,u=Array(l>1?l-1:0),h=1;h{var u=(function(){function d(p,m){var g=[],y=!0,v=!1,x=void 0;try{for(var b=p[Symbol.iterator](),T;!(y=(T=b.next()).done)&&(g.push(T.value),!(m&&g.length===m));y=!0);}catch(w){v=!0,x=w}finally{try{!y&&b.return&&b.return()}finally{if(v)throw x}}return g}return o(d,"sliceIterator"),function(p,m){if(Array.isArray(p))return p;if(Symbol.iterator in Object(p))return d(p,m);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),h=l(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(d){for(var p={},m=0;m0&&B.merge(F)});for(var O=0;O1){T=x[0],w=T.connectedEdges().length,x.forEach(function(R){R.connectedEdges().length0&&g.set("dummy"+(g.size+1),E),S},f.relocateComponent=function(d,p,m){if(!m.fixedNodeConstraint){var g=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY,v=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY;if(m.quality=="draft"){var b=!0,T=!1,w=void 0;try{for(var k=p.nodeIndexes[Symbol.iterator](),C;!(b=(C=k.next()).done);b=!0){var E=C.value,S=u(E,2),L=S[0],M=S[1],I=m.cy.getElementById(L);if(I){var A=I.boundingBox(),_=p.xCoords[M]-A.w/2,D=p.xCoords[M]+A.w/2,N=p.yCoords[M]-A.h/2,R=p.yCoords[M]+A.h/2;_y&&(y=D),Nx&&(x=R)}}}catch(F){T=!0,w=F}finally{try{!b&&k.return&&k.return()}finally{if(T)throw w}}var B=d.x-(y+g)/2,O=d.y-(x+v)/2;p.xCoords=p.xCoords.map(function(F){return F+B}),p.yCoords=p.yCoords.map(function(F){return F+O})}else{Object.keys(p).forEach(function(F){var V=p[F],H=V.getRect().x,X=V.getRect().x+V.getRect().width,W=V.getRect().y,Z=V.getRect().y+V.getRect().height;Hy&&(y=X),Wx&&(x=Z)});var $=d.x-(y+g)/2,z=d.y-(x+v)/2;Object.keys(p).forEach(function(F){var V=p[F];V.setCenter(V.getCenterX()+$,V.getCenterY()+z)})}}},f.calcBoundingBox=function(d,p,m,g){for(var y=Number.MAX_SAFE_INTEGER,v=Number.MIN_SAFE_INTEGER,x=Number.MAX_SAFE_INTEGER,b=Number.MIN_SAFE_INTEGER,T=void 0,w=void 0,k=void 0,C=void 0,E=d.descendants().not(":parent"),S=E.length,L=0;LT&&(y=T),vk&&(x=k),b{var u=l(548),h=l(140).CoSELayout,f=l(140).CoSENode,d=l(140).layoutBase.PointD,p=l(140).layoutBase.DimensionD,m=l(140).layoutBase.LayoutConstants,g=l(140).layoutBase.FDLayoutConstants,y=l(140).CoSEConstants,v=o(function(b,T){var w=b.cy,k=b.eles,C=k.nodes(),E=k.edges(),S=void 0,L=void 0,M=void 0,I={};b.randomize&&(S=T.nodeIndexes,L=T.xCoords,M=T.yCoords);var A=o(function(F){return typeof F=="function"},"isFn"),_=o(function(F,V){return A(F)?F(V):F},"optFn"),D=u.calcParentsWithoutChildren(w,k),N=o(function z(F,V,H,X){for(var W=V.length,Z=0;Z0){var te=void 0;te=H.getGraphManager().add(H.newGraph(),J),z(te,ae,H,X)}}},"processChildrenList"),R=o(function(F,V,H){for(var X=0,W=0,Z=0;Z0?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=X/W:A(b.idealEdgeLength)?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=50:y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=b.idealEdgeLength,y.MIN_REPULSION_DIST=g.MIN_REPULSION_DIST=g.DEFAULT_EDGE_LENGTH/10,y.DEFAULT_RADIAL_SEPARATION=g.DEFAULT_EDGE_LENGTH)},"processEdges"),B=o(function(F,V){V.fixedNodeConstraint&&(F.constraints.fixedNodeConstraint=V.fixedNodeConstraint),V.alignmentConstraint&&(F.constraints.alignmentConstraint=V.alignmentConstraint),V.relativePlacementConstraint&&(F.constraints.relativePlacementConstraint=V.relativePlacementConstraint)},"processConstraints");b.nestingFactor!=null&&(y.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=g.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.nestingFactor),b.gravity!=null&&(y.DEFAULT_GRAVITY_STRENGTH=g.DEFAULT_GRAVITY_STRENGTH=b.gravity),b.numIter!=null&&(y.MAX_ITERATIONS=g.MAX_ITERATIONS=b.numIter),b.gravityRange!=null&&(y.DEFAULT_GRAVITY_RANGE_FACTOR=g.DEFAULT_GRAVITY_RANGE_FACTOR=b.gravityRange),b.gravityCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_STRENGTH=g.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.gravityCompound),b.gravityRangeCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=g.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.gravityRangeCompound),b.initialEnergyOnIncremental!=null&&(y.DEFAULT_COOLING_FACTOR_INCREMENTAL=g.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.initialEnergyOnIncremental),b.tilingCompareBy!=null&&(y.TILING_COMPARE_BY=b.tilingCompareBy),b.quality=="proof"?m.QUALITY=2:m.QUALITY=0,y.NODE_DIMENSIONS_INCLUDE_LABELS=g.NODE_DIMENSIONS_INCLUDE_LABELS=m.NODE_DIMENSIONS_INCLUDE_LABELS=b.nodeDimensionsIncludeLabels,y.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!b.randomize,y.ANIMATE=g.ANIMATE=m.ANIMATE=b.animate,y.TILE=b.tile,y.TILING_PADDING_VERTICAL=typeof b.tilingPaddingVertical=="function"?b.tilingPaddingVertical.call():b.tilingPaddingVertical,y.TILING_PADDING_HORIZONTAL=typeof b.tilingPaddingHorizontal=="function"?b.tilingPaddingHorizontal.call():b.tilingPaddingHorizontal,y.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!0,y.PURE_INCREMENTAL=!b.randomize,m.DEFAULT_UNIFORM_LEAF_NODE_SIZES=b.uniformNodeDimensions,b.step=="transformed"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!1),b.step=="enforced"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!1),b.step=="cose"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!0),b.step=="all"&&(b.randomize?y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!0),b.fixedNodeConstraint||b.alignmentConstraint||b.relativePlacementConstraint?y.TREE_REDUCTION_ON_INCREMENTAL=!1:y.TREE_REDUCTION_ON_INCREMENTAL=!0;var O=new h,$=O.newGraphManager();return N($.addRoot(),u.getTopMostNodes(C),O,b),R(O,$,E),B(O,b),O.runLayout(),I},"coseLayout");a.exports={coseLayout:v}}),212:((a,s,l)=>{var u=(function(){function b(T,w){for(var k=0;k0)if(R){var $=d.getTopMostNodes(k.eles.nodes());if(A=d.connectComponents(C,k.eles,$),A.forEach(function(we){var Te=we.boundingBox();_.push({x:Te.x1+Te.w/2,y:Te.y1+Te.h/2})}),k.randomize&&A.forEach(function(we){k.eles=we,S.push(m(k))}),k.quality=="default"||k.quality=="proof"){var z=C.collection();if(k.tile){var F=new Map,V=[],H=[],X=0,W={nodeIndexes:F,xCoords:V,yCoords:H},Z=[];if(A.forEach(function(we,Te){we.edges().length==0&&(we.nodes().forEach(function(De,$e){z.merge(we.nodes()[$e]),De.isParent()||(W.nodeIndexes.set(we.nodes()[$e].id(),X++),W.xCoords.push(we.nodes()[0].position().x),W.yCoords.push(we.nodes()[0].position().y))}),Z.push(Te))}),z.length>1){var Y=z.boundingBox();_.push({x:Y.x1+Y.w/2,y:Y.y1+Y.h/2}),A.push(z),S.push(W);for(var ae=Z.length-1;ae>=0;ae--)A.splice(Z[ae],1),S.splice(Z[ae],1),_.splice(Z[ae],1)}}A.forEach(function(we,Te){k.eles=we,I.push(y(k,S[Te])),d.relocateComponent(_[Te],I[Te],k)})}else A.forEach(function(we,Te){d.relocateComponent(_[Te],S[Te],k)});var J=new Set;if(A.length>1){var ee=[],re=E.filter(function(we){return we.css("display")=="none"});A.forEach(function(we,Te){var De=void 0;if(k.quality=="draft"&&(De=S[Te].nodeIndexes),we.nodes().not(re).length>0){var $e={};$e.edges=[],$e.nodes=[];var pe=void 0;we.nodes().not(re).forEach(function(Je){if(k.quality=="draft")if(!Je.isParent())pe=De.get(Je.id()),$e.nodes.push({x:S[Te].xCoords[pe]-Je.boundingbox().w/2,y:S[Te].yCoords[pe]-Je.boundingbox().h/2,width:Je.boundingbox().w,height:Je.boundingbox().h});else{var Ce=d.calcBoundingBox(Je,S[Te].xCoords,S[Te].yCoords,De);$e.nodes.push({x:Ce.topLeftX,y:Ce.topLeftY,width:Ce.width,height:Ce.height})}else I[Te][Je.id()]&&$e.nodes.push({x:I[Te][Je.id()].getLeft(),y:I[Te][Je.id()].getTop(),width:I[Te][Je.id()].getWidth(),height:I[Te][Je.id()].getHeight()})}),we.edges().forEach(function(Je){var Ce=Je.source(),Fe=Je.target();if(Ce.css("display")!="none"&&Fe.css("display")!="none")if(k.quality=="draft"){var Ue=De.get(Ce.id()),qe=De.get(Fe.id()),Me=[],He=[];if(Ce.isParent()){var K=d.calcBoundingBox(Ce,S[Te].xCoords,S[Te].yCoords,De);Me.push(K.topLeftX+K.width/2),Me.push(K.topLeftY+K.height/2)}else Me.push(S[Te].xCoords[Ue]),Me.push(S[Te].yCoords[Ue]);if(Fe.isParent()){var oe=d.calcBoundingBox(Fe,S[Te].xCoords,S[Te].yCoords,De);He.push(oe.topLeftX+oe.width/2),He.push(oe.topLeftY+oe.height/2)}else He.push(S[Te].xCoords[qe]),He.push(S[Te].yCoords[qe]);$e.edges.push({startX:Me[0],startY:Me[1],endX:He[0],endY:He[1]})}else I[Te][Ce.id()]&&I[Te][Fe.id()]&&$e.edges.push({startX:I[Te][Ce.id()].getCenterX(),startY:I[Te][Ce.id()].getCenterY(),endX:I[Te][Fe.id()].getCenterX(),endY:I[Te][Fe.id()].getCenterY()})}),$e.nodes.length>0&&(ee.push($e),J.add(Te))}});var te=N.packComponents(ee,k.randomize).shifts;if(k.quality=="draft")S.forEach(function(we,Te){var De=we.xCoords.map(function(pe){return pe+te[Te].dx}),$e=we.yCoords.map(function(pe){return pe+te[Te].dy});we.xCoords=De,we.yCoords=$e});else{var be=0;J.forEach(function(we){Object.keys(I[we]).forEach(function(Te){var De=I[we][Te];De.setCenter(De.getCenterX()+te[be].dx,De.getCenterY()+te[be].dy)}),be++})}}}else{var B=k.eles.boundingBox();if(_.push({x:B.x1+B.w/2,y:B.y1+B.h/2}),k.randomize){var O=m(k);S.push(O)}k.quality=="default"||k.quality=="proof"?(I.push(y(k,S[0])),d.relocateComponent(_[0],I[0],k)):d.relocateComponent(_[0],S[0],k)}var de=o(function(Te,De){if(k.quality=="default"||k.quality=="proof"){typeof Te=="number"&&(Te=De);var $e=void 0,pe=void 0,Je=Te.data("id");return I.forEach(function(Fe){Je in Fe&&($e={x:Fe[Je].getRect().getCenterX(),y:Fe[Je].getRect().getCenterY()},pe=Fe[Je])}),k.nodeDimensionsIncludeLabels&&(pe.labelWidth&&(pe.labelPosHorizontal=="left"?$e.x+=pe.labelWidth/2:pe.labelPosHorizontal=="right"&&($e.x-=pe.labelWidth/2)),pe.labelHeight&&(pe.labelPosVertical=="top"?$e.y+=pe.labelHeight/2:pe.labelPosVertical=="bottom"&&($e.y-=pe.labelHeight/2))),$e==null&&($e={x:Te.position("x"),y:Te.position("y")}),{x:$e.x,y:$e.y}}else{var Ce=void 0;return S.forEach(function(Fe){var Ue=Fe.nodeIndexes.get(Te.id());Ue!=null&&(Ce={x:Fe.xCoords[Ue],y:Fe.yCoords[Ue]})}),Ce==null&&(Ce={x:Te.position("x"),y:Te.position("y")}),{x:Ce.x,y:Ce.y}}},"getPositions");if(k.quality=="default"||k.quality=="proof"||k.randomize){var Ee=d.calcParentsWithoutChildren(C,E),Ne=E.filter(function(we){return we.css("display")=="none"});k.eles=E.not(Ne),E.nodes().not(":parent").not(Ne).layoutPositions(w,k,de),Ee.length>0&&Ee.forEach(function(we){we.position(de(we))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")},"run")}]),b})();a.exports=x}),657:((a,s,l)=>{var u=l(548),h=l(140).layoutBase.Matrix,f=l(140).layoutBase.SVD,d=o(function(m){var g=m.cy,y=m.eles,v=y.nodes(),x=y.nodes(":parent"),b=new Map,T=new Map,w=new Map,k=[],C=[],E=[],S=[],L=[],M=[],I=[],A=[],_=void 0,D=void 0,N=1e8,R=1e-9,B=m.piTol,O=m.samplingType,$=m.nodeSeparation,z=void 0,F=o(function(){for(var ue=0,G=0,se=!1;G=ke;){ye=le[ke++];for(var Qe=k[ye],ce=0;ceOe&&(Oe=L[fe],We=fe)}return We},"BFS"),H=o(function(ue){var G=void 0;if(ue){G=Math.floor(Math.random()*D),_=G;for(var le=0;le=1)break;Oe=ve}for(var Qe=0;Qe=1)break;Oe=ve}for(var it=0;it0&&(G.isParent()?k[ue].push(w.get(G.id())):k[ue].push(G.id()))})});var Ee=o(function(ue){var G=T.get(ue),se=void 0;b.get(ue).forEach(function(le){g.getElementById(le).isParent()?se=w.get(le):se=le,k[G].push(se),k[T.get(se)].push(ue)})},"_loop"),Ne=!0,we=!1,Te=void 0;try{for(var De=b.keys()[Symbol.iterator](),$e;!(Ne=($e=De.next()).done);Ne=!0){var pe=$e.value;Ee(pe)}}catch(U){we=!0,Te=U}finally{try{!Ne&&De.return&&De.return()}finally{if(we)throw Te}}D=T.size;var Je=void 0;if(D>2){z=D{var u=l(212),h=o(function(d){d&&d("layout","fcose",u)},"register");typeof cytoscape<"u"&&h(cytoscape),a.exports=h}),140:(a=>{a.exports=t})},r={};function i(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return e[a](l,l.exports,i),l.exports}o(i,"__webpack_require__");var n=i(579);return n})()})});var px,yg,YH=P(()=>{"use strict";lu();px=o(t=>`${t}`,"wrapIcon"),yg={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:px('')},server:{body:px('')},disk:{body:px('')},internet:{body:px('')},cloud:{body:px('')},unknown:sL,blank:{body:px("")}}}});var qAe,WAe,UAe,HAe,YAe=P(()=>{"use strict";Ut();To();lu();Vr();YH();n8();er();qAe=o(async function(t,e,r,i){let n=r.getConfigField("padding"),a=r.getConfigField("iconSize"),s=a/2,l=a/6,u=l/2;await Promise.all(e.edges().map(async h=>{let{source:f,sourceDir:d,sourceArrow:p,sourceGroup:m,target:g,targetDir:y,targetArrow:v,targetGroup:x,label:b}=i8(h),{x:T,y:w}=h[0].sourceEndpoint(),{x:k,y:C}=h[0].midpoint(),{x:E,y:S}=h[0].targetEndpoint(),L=n+4;if(m&&(Ds(d)?T+=d==="L"?-L:L:w+=d==="T"?-L:L+18),x&&(Ds(y)?E+=y==="L"?-L:L:S+=y==="T"?-L:L+18),!m&&r.getNode(f)?.type==="junction"&&(Ds(d)?T+=d==="L"?s:-s:w+=d==="T"?s:-s),!x&&r.getNode(g)?.type==="junction"&&(Ds(y)?E+=y==="L"?s:-s:S+=y==="T"?s:-s),h[0]._private.rscratch){let M=t.insert("g");if(M.insert("path").attr("d",`M ${T},${w} L ${k},${C} L${E},${S} `).attr("class","edge").attr("id",`${i}-${Cu(f,g,{prefix:"L"})}`),p){let I=Ds(d)?UC[d](T,l):T-u,A=hh(d)?UC[d](w,l):w-u;M.insert("polygon").attr("points",FH[d](l)).attr("transform",`translate(${I},${A})`).attr("class","arrow")}if(v){let I=Ds(y)?UC[y](E,l):E-u,A=hh(y)?UC[y](S,l):S-u;M.insert("polygon").attr("points",FH[y](l)).attr("transform",`translate(${I},${A})`).attr("class","arrow")}if(b){let I=HC(d,y)?"XY":Ds(d)?"X":"Y",A=0;I==="X"?A=Math.abs(T-E):I==="Y"?A=Math.abs(w-S)/1.5:A=Math.abs(T-E)/2;let _=M.append("g");if(await Vi(_,b,{useHtmlLabels:!1,width:A,classes:"architecture-service-label"},ge()),_.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),I==="X")_.attr("transform","translate("+k+", "+C+")");else if(I==="Y")_.attr("transform","translate("+k+", "+C+") rotate(-90)");else if(I==="XY"){let D=YC(d,y);if(D&&IAe(D)){let N=_.node().getBoundingClientRect(),[R,B]=OAe(D);_.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*R*B*45})`);let O=_.node().getBoundingClientRect();_.attr("transform",` - translate(${k}, ${C-N.height/2}) - translate(${R*O.width/2}, ${B*O.height/2}) - rotate(${-1*R*B*45}, 0, ${N.height/2}) - `)}}}}}))},"drawEdges"),WAe=o(async function(t,e,r,i){let a=r.getConfigField("padding")*.75,s=r.getConfigField("fontSize"),u=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async h=>{let f=Np(h);if(f.type==="group"){let{h:d,w:p,x1:m,y1:g}=h.boundingBox(),y=t.append("rect");y.attr("id",`${i}-group-${f.id}`).attr("x",m+u).attr("y",g+u).attr("width",p).attr("height",d).attr("class","node-bkg");let v=t.append("g"),x=m,b=g;if(f.icon){let T=v.append("g");T.html(`${await fo(f.icon,{height:a,width:a,fallbackPrefix:yg.prefix})}`),T.attr("transform","translate("+(x+u+1)+", "+(b+u+1)+")"),x+=a,b+=s/2-1-2}if(f.label){let T=v.append("g");await Vi(T,f.label,{useHtmlLabels:!1,width:p,classes:"architecture-service-label"},ge()),T.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),T.attr("transform","translate("+(x+u+4)+", "+(b+u+2)+")")}r.setElementForId(f.id,y)}}))},"drawGroups"),UAe=o(async function(t,e,r,i){let n=ge();for(let a of r){let s=e.append("g"),l=t.getConfigField("iconSize");if(a.title){let d=s.append("g");await Vi(d,a.title,{useHtmlLabels:!1,width:l*1.5,classes:"architecture-service-label"},n),d.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),d.attr("transform","translate("+l/2+", "+l+")")}let u=s.append("g");if(a.icon)u.html(`${await fo(a.icon,{height:l,width:l,fallbackPrefix:yg.prefix})}`);else if(a.iconText){u.html(`${await fo("blank",{height:l,width:l,fallbackPrefix:yg.prefix})}`);let m=u.append("g").append("foreignObject").attr("width",l).attr("height",l).append("div").attr("class","node-icon-text").attr("style",`height: ${l}px;`).append("div").html(Tr(a.iconText,n)),g=parseInt(window.getComputedStyle(m.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;m.attr("style",`-webkit-line-clamp: ${Math.floor((l-2)/g)};`)}else u.append("path").attr("class","node-bkg").attr("id",`${i}-node-${a.id}`).attr("d",`M0,${l} V5 Q0,0 5,0 H${l-5} Q${l},0 ${l},5 V${l} Z`);s.attr("id",`${i}-service-${a.id}`).attr("class","architecture-service");let{width:h,height:f}=s.node().getBBox();a.width=h,a.height=f,t.setElementForId(a.id,s)}return 0},"drawServices"),HAe=o(function(t,e,r,i){r.forEach(n=>{let a=e.append("g"),s=t.getConfigField("iconSize");a.append("g").append("rect").attr("id",`${i}-node-${n.id}`).attr("fill-opacity","0").attr("width",s).attr("height",s),a.attr("class","architecture-junction");let{width:u,height:h}=a._groups[0][0].getBBox();a.width=u,a.height=h,t.setElementForId(n.id,a)})},"drawJunctions")});function qgt(t,e,r){t.forEach(i=>{e.add({group:"nodes",data:{type:"service",id:i.id,icon:i.icon,label:i.title,parent:i.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}function Wgt(t,e,r){t.forEach(i=>{e.add({group:"nodes",data:{type:"junction",id:i.id,parent:i.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}function Ugt(t,e){e.nodes().map(r=>{let i=Np(r);if(i.type==="group")return;i.x=r.position().x,i.y=r.position().y,t.getElementById(i.id).attr("transform","translate("+(i.x||0)+","+(i.y||0)+")")})}function Hgt(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}function Ygt(t,e){t.forEach(r=>{let{lhsId:i,rhsId:n,lhsInto:a,lhsGroup:s,rhsInto:l,lhsDir:u,rhsDir:h,rhsGroup:f,title:d}=r,p=HC(r.lhsDir,r.rhsDir)?"segments":"straight",m={id:`${i}-${n}`,label:d,source:i,sourceDir:u,sourceArrow:a,sourceGroup:s,sourceEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%",target:n,targetDir:h,targetArrow:l,targetGroup:f,targetEndpoint:h==="L"?"0 50%":h==="R"?"100% 50%":h==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:m,classes:p})})}function jgt(t,e,r){let i=o((l,u)=>Object.entries(l).reduce((h,[f,d])=>{let p=0,m=Object.entries(d);if(m.length===1)return h[f]=m[0][1],h;for(let g=0;g{let u={},h={};return Object.entries(l).forEach(([f,[d,p]])=>{let m=t.getNode(f)?.in??"default";u[p]??={},u[p][m]??=[],u[p][m].push(f),h[d]??={},h[d][m]??=[],h[d][m].push(f)}),{horiz:Object.values(i(u,"horizontal")).filter(f=>f.length>1),vert:Object.values(i(h,"vertical")).filter(f=>f.length>1)}}),[a,s]=n.reduce(([l,u],{horiz:h,vert:f})=>[[...l,...h],[...u,...f]],[[],[]]);return{horizontal:a,vertical:s}}function Xgt(t,e){let r=[],i=o(a=>`${a[0]},${a[1]}`,"posToStr"),n=o(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{let s=Object.fromEntries(Object.entries(a).map(([f,d])=>[i(d),f])),l=[i([0,0])],u={},h={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;l.length>0;){let f=l.shift();if(f){u[f]=1;let d=s[f];if(d){let p=n(f);Object.entries(h).forEach(([m,g])=>{let y=i([p[0]+g[0],p[1]+g[1]]),v=s[y];v&&!u[y]&&(l.push(y),r.push({[BH[m]]:v,[BH[NAe(m)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}function Kgt(t,e,r,i,n,{spatialMaps:a,groupAlignments:s}){return new Promise(l=>{let u=Ze("body").append("div").attr("id","cy").attr("style","display:none"),h=Wl({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${n.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${n.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});u.remove(),Hgt(r,h),qgt(t,h,n),Wgt(e,h,n),Ygt(i,h);let f=jgt(n,a,s),d=Xgt(a,n),p=h.layout({name:"fcose",quality:"proof",randomize:n.getConfigField("randomize"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(m){let[g,y]=m.connectedNodes(),{parent:v}=Np(g),{parent:x}=Np(y);return v===x?1.5*n.getConfigField("iconSize"):.5*n.getConfigField("iconSize")},edgeElasticity(m){let[g,y]=m.connectedNodes(),{parent:v}=Np(g),{parent:x}=Np(y);return v===x?.45:.001},alignmentConstraint:f,relativePlacementConstraint:d});p.one("layoutstop",()=>{function m(g,y,v,x){let b,T,{x:w,y:k}=g,{x:C,y:E}=y;T=(x-k+(w-v)*(k-E)/(w-C))/Math.sqrt(1+Math.pow((k-E)/(w-C),2)),b=Math.sqrt(Math.pow(x-k,2)+Math.pow(v-w,2)-Math.pow(T,2));let S=Math.sqrt(Math.pow(C-w,2)+Math.pow(E-k,2));b=b/S;let L=(C-w)*(x-k)-(E-k)*(v-w);switch(!0){case L>=0:L=1;break;case L<0:L=-1;break}let M=(C-w)*(v-w)+(E-k)*(x-k);switch(!0){case M>=0:M=1;break;case M<0:M=-1;break}return T=Math.abs(T)*L,b=b*M,{distances:T,weights:b}}o(m,"getSegmentWeights"),h.startBatch();for(let g of Object.values(h.edges()))if(g.data?.()){let{x:y,y:v}=g.source().position(),{x,y:b}=g.target().position();if(y!==x&&v!==b){let T=g.sourceEndpoint(),w=g.targetEndpoint(),{sourceDir:k}=i8(g),[C,E]=hh(k)?[T.x,w.y]:[w.x,T.y],{weights:S,distances:L}=m(T,w,C,E);g.style("segment-distances",L),g.style("segment-weights",S)}}h.endBatch(),p.run()}),p.run(),h.ready(m=>{Q.info("Ready",m),l(h)})})}var jAe,Qgt,XAe,KAe=P(()=>{"use strict";gF();jAe=Wa(VAe(),1);Pr();bt();lu();ro();Xi();YH();n8();YAe();Q4([{name:yg.prefix,icons:yg}]);Wl.use(jAe.default);o(qgt,"addServices");o(Wgt,"addJunctions");o(Ugt,"positionNodes");o(Hgt,"addGroups");o(Ygt,"addEdges");o(jgt,"getAlignments");o(Xgt,"getRelativeConstraints");o(Kgt,"layoutArchitecture");Qgt=o(async(t,e,r,i)=>{let n=i.db;n.setDiagramId(e);let a=n.getServices(),s=n.getJunctions(),l=n.getGroups(),u=n.getEdges(),h=n.getDataStructures(),f=Fi(e),d=f.append("g");d.attr("class","architecture-edges");let p=f.append("g");p.attr("class","architecture-services");let m=f.append("g");m.attr("class","architecture-groups"),await UAe(n,p,a,e),HAe(n,p,s,e);let g=await Kgt(a,s,l,u,n,h);await qAe(d,g,n,e),await WAe(m,g,n,e),Ugt(n,g),El(void 0,f,n.getConfigField("padding"),n.getConfigField("useMaxWidth"))},"draw"),XAe={draw:Qgt}});var QAe={};ur(QAe,{diagram:()=>Zgt});var Zgt,ZAe=P(()=>{"use strict";$Ae();zH();GAe();KAe();Zgt={parser:GH,get db(){return new dx},renderer:XAe,styles:zAe}});var jH,t7e,r7e=P(()=>{"use strict";jH=(function(){var t=o(function(x,b,T,w){for(T=T||{},w=x.length;w--;T[x[w]]=b);return T},"o"),e=[1,4],r=[1,14],i=[1,12],n=[1,13],a=[6,7,8],s=[1,20],l=[1,18],u=[1,19],h=[6,7,11],f=[1,6,13,14],d=[1,23],p=[1,24],m=[1,6,7,11,13,14],g={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:o(function(b,T,w,k,C,E,S){var L=E.length-1;switch(C){case 6:case 7:return k;case 15:k.addNode(E[L-1].length,E[L].trim());break;case 16:k.addNode(0,E[L].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:i,14:n},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:r,12:15,13:i,14:n},{6:r,9:16,12:11,13:i,14:n},{6:s,7:l,10:17,11:u},t(h,[2,18],{14:[1,21]}),t(h,[2,16]),t(h,[2,17]),{6:s,7:l,10:22,11:u},{1:[2,7],6:r,12:15,13:i,14:n},t(f,[2,14],{7:d,11:p}),t(m,[2,8]),t(m,[2,9]),t(m,[2,10]),t(h,[2,15]),t(f,[2,13],{7:d,11:p}),t(m,[2,11]),t(m,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(b,T){if(T.recoverable)this.trace(b);else{var w=new Error(b);throw w.hash=T,w}},"parseError"),parse:o(function(b){var T=this,w=[0],k=[],C=[null],E=[],S=this.table,L="",M=0,I=0,A=0,_=2,D=1,N=E.slice.call(arguments,1),R=Object.create(this.lexer),B={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(B.yy[O]=this.yy[O]);R.setInput(b,B.yy),B.yy.lexer=R,B.yy.parser=this,typeof R.yylloc>"u"&&(R.yylloc={});var $=R.yylloc;E.push($);var z=R.options&&R.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function F(Ee){w.length=w.length-2*Ee,C.length=C.length-Ee,E.length=E.length-Ee}o(F,"popStack");function V(){var Ee;return Ee=k.pop()||R.lex()||D,typeof Ee!="number"&&(Ee instanceof Array&&(k=Ee,Ee=k.pop()),Ee=T.symbols_[Ee]||Ee),Ee}o(V,"lex");for(var H,X,W,Z,Y,ae,J={},ee,re,te,be;;){if(W=w[w.length-1],this.defaultActions[W]?Z=this.defaultActions[W]:((H===null||typeof H>"u")&&(H=V()),Z=S[W]&&S[W][H]),typeof Z>"u"||!Z.length||!Z[0]){var de="";be=[];for(ee in S[W])this.terminals_[ee]&&ee>_&&be.push("'"+this.terminals_[ee]+"'");R.showPosition?de="Parse error on line "+(M+1)+`: -`+R.showPosition()+` -Expecting `+be.join(", ")+", got '"+(this.terminals_[H]||H)+"'":de="Parse error on line "+(M+1)+": Unexpected "+(H==D?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(de,{text:R.match,token:this.terminals_[H]||H,line:R.yylineno,loc:$,expected:be})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+H);switch(Z[0]){case 1:w.push(H),C.push(R.yytext),E.push(R.yylloc),w.push(Z[1]),H=null,X?(H=X,X=null):(I=R.yyleng,L=R.yytext,M=R.yylineno,$=R.yylloc,A>0&&A--);break;case 2:if(re=this.productions_[Z[1]][1],J.$=C[C.length-re],J._$={first_line:E[E.length-(re||1)].first_line,last_line:E[E.length-1].last_line,first_column:E[E.length-(re||1)].first_column,last_column:E[E.length-1].last_column},z&&(J._$.range=[E[E.length-(re||1)].range[0],E[E.length-1].range[1]]),ae=this.performAction.apply(J,[L,I,M,B.yy,Z[1],C,E].concat(N)),typeof ae<"u")return ae;re&&(w=w.slice(0,-1*re*2),C=C.slice(0,-1*re),E=E.slice(0,-1*re)),w.push(this.productions_[Z[1]][0]),C.push(J.$),E.push(J._$),te=S[w[w.length-2]][w[w.length-1]],w.push(te);break;case 3:return!0}}return!0},"parse")},y=(function(){var x={EOF:1,parseError:o(function(T,w){if(this.yy.parser)this.yy.parser.parseError(T,w);else throw new Error(T)},"parseError"),setInput:o(function(b,T){return this.yy=T||this.yy||{},this._input=b,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var T=b.match(/(?:\r\n?|\n).*/g);return T?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),b},"input"),unput:o(function(b){var T=b.length,w=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-T),this.offset-=T;var k=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),w.length-1&&(this.yylineno-=w.length-1);var C=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:w?(w.length===k.length?this.yylloc.first_column:0)+k[k.length-w.length].length-w[0].length:this.yylloc.first_column-T},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-T]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(b){this.unput(this.match.slice(b))},"less"),pastInput:o(function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var b=this.match;return b.length<20&&(b+=this._input.substr(0,20-b.length)),(b.substr(0,20)+(b.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var b=this.pastInput(),T=new Array(b.length+1).join("-");return b+this.upcomingInput()+` -`+T+"^"},"showPosition"),test_match:o(function(b,T){var w,k,C;if(this.options.backtrack_lexer&&(C={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(C.yylloc.range=this.yylloc.range.slice(0))),k=b[0].match(/(?:\r\n?|\n).*/g),k&&(this.yylineno+=k.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:k?k[k.length-1].length-k[k.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],w=this.performAction.call(this,this.yy,this,T,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),w)return w;if(this._backtrack){for(var E in C)this[E]=C[E];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var b,T,w,k;this._more||(this.yytext="",this.match="");for(var C=this._currentRules(),E=0;ET[0].length)){if(T=w,k=E,this.options.backtrack_lexer){if(b=this.test_match(w,C[E]),b!==!1)return b;if(this._backtrack){T=!1;continue}else return!1}else if(!this.options.flex)break}return T?(b=this.test_match(T,C[k]),b!==!1?b:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var T=this.next();return T||this.lex()},"lex"),begin:o(function(T){this.conditionStack.push(T)},"begin"),popState:o(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:o(function(T){this.begin(T)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(T,w,k,C){var E=C;switch(k){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return x})();g.lexer=y;function v(){this.yy={}}return o(v,"Parser"),v.prototype=g,g.Parser=v,new v})();jH.parser=jH;t7e=jH});var a8,i7e=P(()=>{"use strict";Ut();Vr();Ki();a8=class{constructor(){this.stack=[];this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}static{o(this,"IshikawaDB")}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,wr()}getRoot(){return this.root}addNode(e,r){let i=lt.sanitizeText(r,ge());if(!this.root){this.root={text:i,children:[]},this.stack=[{level:0,node:this.root}],Mr(i);return}this.baseLevel??=e;let n=e-this.baseLevel+1;for(n<=0&&(n=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=n;)this.stack.pop();let a=this.stack[this.stack.length-1].node,s={text:i,children:[]};a.children.push(s),this.stack.push({level:n,node:s})}getAccTitle(){return Dr()}setAccTitle(e){Ar(e)}getAccDescription(){return Rr()}setAccDescription(e){Lr(e)}getDiagramTitle(){return Nr()}setDiagramTitle(e){Mr(e)}}});var r1t,mx,i1t,n1t,a1t,c7e,n7e,a7e,s7e,s1t,o7e,o1t,l1t,c1t,XH,u1t,h1t,u7e,s8,l7e,gx,h7e,f7e=P(()=>{"use strict";Ut();ro();Xi();er();Yt();r1t=14,mx=250,i1t=30,n1t=60,a1t=5,c7e=82*Math.PI/180,n7e=Math.cos(c7e),a7e=Math.sin(c7e),s7e=o((t,e,r)=>{let i=t.node().getBBox(),n=i.width+e*2,a=i.height+e*2;Hr(t,a,n,r),t.attr("viewBox",`${i.x-e} ${i.y-e} ${n} ${a}`)},"applyPaddedViewBox"),s1t=o((t,e,r,i)=>{let a=i.db.getRoot();if(!a)return;let s=ge(),{look:l,handDrawnSeed:u,themeVariables:h}=s,f=$s(s.fontSize)[0]??r1t,d=l==="handDrawn",p=a.children??[],m=s.ishikawa?.diagramPadding??20,g=s.ishikawa?.useMaxWidth??!1,y=Fi(e),v=y.append("g").attr("class","ishikawa"),x=d?rt.svg(y.node()):void 0,b=x?{roughSvg:x,seed:u??0,lineColor:h?.lineColor??"#333",fillColor:h?.mainBkg??"#fff"}:void 0,T=`ishikawa-arrow-${e}`;d||v.append("defs").append("marker").attr("id",T).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let w=0,k=mx,C=d?void 0:gx(v,w,k,w,k,"ishikawa-spine");if(o1t(v,w,k,a.text,f,b),!p.length){d&&gx(v,w,k,w,k,"ishikawa-spine",b),s7e(y,m,g);return}w-=20;let E=p.filter((R,B)=>B%2===0),S=p.filter((R,B)=>B%2===1),L=o7e(E),M=o7e(S),I=L.total+M.total,A=mx,_=mx;if(I>0){let R=mx*2,B=mx*.3;A=Math.max(B,R*(L.total/I)),_=Math.max(B,R*(M.total/I))}let D=f*2;A=Math.max(A,L.max*D),_=Math.max(_,M.max*D),k=Math.max(A,mx),C&&C.attr("y1",k).attr("y2",k),v.select(".ishikawa-head-group").attr("transform",`translate(0,${k})`);let N=Math.ceil(p.length/2);for(let R=0;RMath.min(O,$.getBBox().x),1/0)}if(d)gx(v,w,k,0,k,"ishikawa-spine",b);else{C.attr("x1",w);let R=`url(#${T})`;v.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",R)}s7e(y,m,g)},"draw"),o7e=o(t=>{let e=o(r=>r.children.reduce((i,n)=>i+1+e(n),0),"countDescendants");return t.reduce((r,i)=>{let n=e(i);return r.total+=n,r.max=Math.max(r.max,n),r},{total:0,max:0})},"sideStats"),o1t=o((t,e,r,i,n,a)=>{let s=Math.max(6,Math.floor(110/(n*.6))),l=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${e},${r})`),u=s8(l,u7e(i,s),0,0,"ishikawa-head-label","start",n),h=u.node().getBBox(),f=Math.max(60,h.width+6),d=Math.max(40,h.height*2+40),p=`M 0 ${-d/2} L 0 ${d/2} Q ${f*2.4} 0 0 ${-d/2} Z`;if(a){let m=a.roughSvg.path(p,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});l.insert(()=>m,":first-child").attr("class","ishikawa-head")}else l.insert("path",":first-child").attr("class","ishikawa-head").attr("d",p);u.attr("transform",`translate(${(f-h.width)/2-h.x+3},${-h.y-h.height/2})`)},"drawHead"),l1t=o((t,e)=>{let r=[],i=[],n=o((a,s,l)=>{let u=e===-1?[...a].reverse():a;for(let h of u){let f=r.length,d=h.children??[];r.push({depth:l,text:u7e(h.text,15),parentIndex:s,childCount:d.length}),l%2===0?(i.push(f),d.length&&n(d,f,l+1)):(d.length&&n(d,f,l+1),i.push(f))}},"walk");return n(t,-1,2),{entries:r,yOrder:i}},"flattenTree"),c1t=o((t,e,r,i,n,a,s)=>{let l=t.append("g").attr("class","ishikawa-label-group"),h=s8(l,e,r,i+11*n,"ishikawa-label cause","middle",a).node().getBBox();if(s){let f=s.roughSvg.rectangle(h.x-20,h.y-2,h.width+40,h.height+4,{roughness:1.5,seed:s.seed,fill:s.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:s.lineColor,strokeWidth:2});l.insert(()=>f,":first-child").attr("class","ishikawa-label-box")}else l.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",h.x-20).attr("y",h.y-2).attr("width",h.width+40).attr("height",h.height+4)},"drawCauseLabel"),XH=o((t,e,r,i,n,a)=>{let s=Math.sqrt(i*i+n*n);if(s===0)return;let l=i/s,u=n/s,h=6,f=-u*h,d=l*h,p=e,m=r,g=`M ${p} ${m} L ${p-l*h*2+f} ${m-u*h*2+d} L ${p-l*h*2-f} ${m-u*h*2-d} Z`,y=a.roughSvg.path(g,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>y)},"drawArrowMarker"),u1t=o((t,e,r,i,n,a,s,l)=>{let u=e.children??[],h=a*(u.length?1:.2),f=-n7e*h,d=a7e*h*n,p=r+f,m=i+d;if(gx(t,r,i,p,m,"ishikawa-branch",l),l&&XH(t,r,i,r-p,i-m,l),c1t(t,e.text,p,m,n,s,l),!u.length)return;let{entries:g,yOrder:y}=l1t(u,n),v=g.length,x=new Array(v);for(let[C,E]of y.entries())x[E]=i+d*((C+1)/(v+1));let b=new Map;b.set(-1,{x0:r,y0:i,x1:p,y1:m,childCount:u.length,childrenDrawn:0});let T=-n7e,w=a7e*n,k=n<0?"ishikawa-label up":"ishikawa-label down";for(let[C,E]of g.entries()){let S=x[C],L=b.get(E.parentIndex),M=t.append("g").attr("class","ishikawa-sub-group"),I=0,A=0,_=0;if(E.depth%2===0){let D=L.y1-L.y0;I=l7e(L.x0,L.x1,D?(S-L.y0)/D:.5),A=S,_=I-(E.childCount>0?n1t+E.childCount*a1t:i1t),gx(M,I,S,_,S,"ishikawa-sub-branch",l),l&&XH(M,I,S,1,0,l),s8(M,E.text,_,S,"ishikawa-label align","end",s)}else{let D=L.childrenDrawn++;I=l7e(L.x0,L.x1,(L.childCount-D)/(L.childCount+1)),A=L.y0,_=I+T*((S-A)/w),gx(M,I,A,_,S,"ishikawa-sub-branch",l),l&&XH(M,I,A,I-_,A-S,l),s8(M,E.text,_,S,k,"end",s)}E.childCount>0&&b.set(C,{x0:I,y0:A,x1:_,y1:S,childCount:E.childCount,childrenDrawn:0})}},"drawBranch"),h1t=o(t=>t.split(/|\n/),"splitLines"),u7e=o((t,e)=>{if(t.length<=e)return t;let r=[];for(let i of t.split(/\s+/)){let n=r.length-1;n>=0&&r[n].length+1+i.length<=e?r[n]+=" "+i:r.push(i)}return r.join(` -`)},"wrapText"),s8=o((t,e,r,i,n,a,s)=>{let l=h1t(e),u=s*1.05,h=t.append("text").attr("class",n).attr("text-anchor",a).attr("x",r).attr("y",i-(l.length-1)*u/2);for(let[f,d]of l.entries())h.append("tspan").attr("x",r).attr("dy",f===0?0:u).text(d);return h},"drawMultilineText"),l7e=o((t,e,r)=>t+(e-t)*r,"lerp"),gx=o((t,e,r,i,n,a,s)=>{if(s){let l=s.roughSvg.line(e,r,i,n,{roughness:1.5,seed:s.seed,stroke:s.lineColor,strokeWidth:2});t.append(()=>l).attr("class",a);return}return t.append("line").attr("class",a).attr("x1",e).attr("y1",r).attr("x2",i).attr("y2",n)},"drawLine"),h7e={draw:s1t}});var f1t,d7e,p7e=P(()=>{"use strict";f1t=o(t=>` -.ishikawa .ishikawa-spine, -.ishikawa .ishikawa-branch, -.ishikawa .ishikawa-sub-branch { - stroke: ${t.lineColor}; - stroke-width: 2; - fill: none; -} - -.ishikawa .ishikawa-sub-branch { - stroke-width: 1; -} - -.ishikawa .ishikawa-arrow { - fill: ${t.lineColor}; -} - -.ishikawa .ishikawa-head { - fill: ${t.mainBkg}; - stroke: ${t.lineColor}; - stroke-width: 2; -} - -.ishikawa .ishikawa-label-box { - fill: ${t.mainBkg}; - stroke: ${t.lineColor}; - stroke-width: 2; -} - -.ishikawa text { - font-family: ${t.fontFamily}; - font-size: ${t.fontSize}; - fill: ${t.textColor}; -} - -.ishikawa .ishikawa-head-label { - font-weight: 600; - text-anchor: middle; - dominant-baseline: middle; - font-size: 14px; -} - -.ishikawa .ishikawa-label { - text-anchor: end; -} - -.ishikawa .ishikawa-label.cause { - text-anchor: middle; - dominant-baseline: middle; -} - -.ishikawa .ishikawa-label.align { - text-anchor: end; - dominant-baseline: middle; -} - -.ishikawa .ishikawa-label.up { - dominant-baseline: baseline; -} - -.ishikawa .ishikawa-label.down { - dominant-baseline: hanging; -} -`,"getStyles"),d7e=f1t});var m7e={};ur(m7e,{diagram:()=>d1t});var d1t,g7e=P(()=>{"use strict";r7e();i7e();f7e();p7e();d1t={parser:t7e,get db(){return new a8},renderer:h7e,styles:d7e}});var KH,x7e,b7e=P(()=>{"use strict";KH=(function(){var t=o(function(b,T,w,k){for(w=w||{},k=b.length;k--;w[b[k]]=T);return w},"o"),e=[5,8],r=[7,8,11,12,17,19,22,24],i=[1,17],n=[1,18],a=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],s=[1,31],l=[1,39],u=[7,8,11,12,17,19,22,24,27],h=[1,57],f=[1,56],d=[1,58],p=[1,59],m=[1,60],g=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],y={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:o(function(T,w,k,C,E,S,L){var M=S.length-1;switch(E){case 1:return S[M-1];case 2:case 3:case 4:this.$=[];break;case 5:S[M-1].push(S[M]),this.$=S[M-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=S[M];break;case 8:C.setDiagramTitle(S[M].substr(6)),this.$=S[M].substr(6);break;case 9:C.addSubsetData([S[M]],void 0,void 0),C.setIndentMode&&C.setIndentMode(!0);break;case 10:C.addSubsetData([S[M-1]],S[M],void 0),C.setIndentMode&&C.setIndentMode(!0);break;case 11:C.addSubsetData([S[M-2]],void 0,parseFloat(S[M])),C.setIndentMode&&C.setIndentMode(!0);break;case 12:C.addSubsetData([S[M-3]],S[M-2],parseFloat(S[M])),C.setIndentMode&&C.setIndentMode(!0);break;case 13:if(S[M].length<2)throw new Error("union requires multiple identifiers");C.validateUnionIdentifiers&&C.validateUnionIdentifiers(S[M]),C.addSubsetData(S[M],void 0,void 0),C.setIndentMode&&C.setIndentMode(!0);break;case 14:if(S[M-1].length<2)throw new Error("union requires multiple identifiers");C.validateUnionIdentifiers&&C.validateUnionIdentifiers(S[M-1]),C.addSubsetData(S[M-1],S[M],void 0),C.setIndentMode&&C.setIndentMode(!0);break;case 15:if(S[M-2].length<2)throw new Error("union requires multiple identifiers");C.validateUnionIdentifiers&&C.validateUnionIdentifiers(S[M-2]),C.addSubsetData(S[M-2],void 0,parseFloat(S[M])),C.setIndentMode&&C.setIndentMode(!0);break;case 16:if(S[M-3].length<2)throw new Error("union requires multiple identifiers");C.validateUnionIdentifiers&&C.validateUnionIdentifiers(S[M-3]),C.addSubsetData(S[M-3],S[M-2],parseFloat(S[M])),C.setIndentMode&&C.setIndentMode(!0);break;case 17:case 18:case 19:C.addTextData(S[M-1],S[M],void 0);break;case 20:case 21:C.addTextData(S[M-2],S[M-1],S[M]);break;case 23:C.addStyleData(S[M-1],S[M]);break;case 24:case 25:case 26:var I=C.getCurrentSets();if(!I)throw new Error("text requires set");C.addTextData(I,S[M],void 0);break;case 27:case 28:var I=C.getCurrentSets();if(!I)throw new Error("text requires set");C.addTextData(I,S[M-1],S[M]);break;case 29:case 41:this.$=[S[M]];break;case 30:case 42:this.$=[...S[M-2],S[M]];break;case 31:this.$=[S[M-2],S[M]];break;case 33:this.$=S[M].join(" ");break;case 34:this.$=[S[M]];break;case 35:S[M-1].push(S[M]),this.$=S[M-1];break;case 43:case 44:this.$=S[M];break}},"anonymous"),table:[t(e,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(r,[2,4],{6:5}),t(e,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(r,[2,5]),t(r,[2,6]),t(r,[2,7]),t(r,[2,8]),{13:16,20:i,21:n},{13:20,18:19,20:i,21:n},{13:20,18:21,20:i,21:n},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:i,21:n},t(r,[2,9],{14:[1,27],15:[1,28]}),t(a,[2,43]),t(a,[2,44]),t(r,[2,13],{14:[1,29],15:[1,30],27:s}),t(a,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:s},t(r,[2,22]),t(r,[2,24],{14:[1,35]}),t(r,[2,25],{14:[1,36]}),t(r,[2,26]),{20:l,25:37,26:38,27:s},t(r,[2,10],{15:[1,40]}),{16:[1,41]},t(r,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:i,21:n},t(r,[2,17],{14:[1,45]}),t(r,[2,18],{14:[1,46]}),t(r,[2,19]),t(r,[2,27]),t(r,[2,28]),t(r,[2,23],{27:[1,47]}),t(u,[2,29]),{15:[1,48]},{16:[1,49]},t(r,[2,11]),{16:[1,50]},t(r,[2,15]),t(a,[2,42]),t(r,[2,20]),t(r,[2,21]),{20:l,26:51},{16:h,20:f,21:[1,53],28:52,29:54,30:55,31:d,32:p,33:m},t(r,[2,12]),t(r,[2,16]),t(u,[2,30]),t(u,[2,31]),t(u,[2,32]),t(u,[2,33],{30:61,16:h,20:f,31:d,32:p,33:m}),t(g,[2,34]),t(g,[2,36]),t(g,[2,37]),t(g,[2,38]),t(g,[2,39]),t(g,[2,40]),t(g,[2,35])],defaultActions:{6:[2,1]},parseError:o(function(T,w){if(w.recoverable)this.trace(T);else{var k=new Error(T);throw k.hash=w,k}},"parseError"),parse:o(function(T){var w=this,k=[0],C=[],E=[null],S=[],L=this.table,M="",I=0,A=0,_=0,D=2,N=1,R=S.slice.call(arguments,1),B=Object.create(this.lexer),O={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(O.yy[$]=this.yy[$]);B.setInput(T,O.yy),O.yy.lexer=B,O.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var z=B.yylloc;S.push(z);var F=B.options&&B.options.ranges;typeof O.yy.parseError=="function"?this.parseError=O.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function V(Ne){k.length=k.length-2*Ne,E.length=E.length-Ne,S.length=S.length-Ne}o(V,"popStack");function H(){var Ne;return Ne=C.pop()||B.lex()||N,typeof Ne!="number"&&(Ne instanceof Array&&(C=Ne,Ne=C.pop()),Ne=w.symbols_[Ne]||Ne),Ne}o(H,"lex");for(var X,W,Z,Y,ae,J,ee={},re,te,be,de;;){if(Z=k[k.length-1],this.defaultActions[Z]?Y=this.defaultActions[Z]:((X===null||typeof X>"u")&&(X=H()),Y=L[Z]&&L[Z][X]),typeof Y>"u"||!Y.length||!Y[0]){var Ee="";de=[];for(re in L[Z])this.terminals_[re]&&re>D&&de.push("'"+this.terminals_[re]+"'");B.showPosition?Ee="Parse error on line "+(I+1)+`: -`+B.showPosition()+` -Expecting `+de.join(", ")+", got '"+(this.terminals_[X]||X)+"'":Ee="Parse error on line "+(I+1)+": Unexpected "+(X==N?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(Ee,{text:B.match,token:this.terminals_[X]||X,line:B.yylineno,loc:z,expected:de})}if(Y[0]instanceof Array&&Y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+X);switch(Y[0]){case 1:k.push(X),E.push(B.yytext),S.push(B.yylloc),k.push(Y[1]),X=null,W?(X=W,W=null):(A=B.yyleng,M=B.yytext,I=B.yylineno,z=B.yylloc,_>0&&_--);break;case 2:if(te=this.productions_[Y[1]][1],ee.$=E[E.length-te],ee._$={first_line:S[S.length-(te||1)].first_line,last_line:S[S.length-1].last_line,first_column:S[S.length-(te||1)].first_column,last_column:S[S.length-1].last_column},F&&(ee._$.range=[S[S.length-(te||1)].range[0],S[S.length-1].range[1]]),J=this.performAction.apply(ee,[M,A,I,O.yy,Y[1],E,S].concat(R)),typeof J<"u")return J;te&&(k=k.slice(0,-1*te*2),E=E.slice(0,-1*te),S=S.slice(0,-1*te)),k.push(this.productions_[Y[1]][0]),E.push(ee.$),S.push(ee._$),be=L[k[k.length-2]][k[k.length-1]],k.push(be);break;case 3:return!0}}return!0},"parse")},v=(function(){var b={EOF:1,parseError:o(function(w,k){if(this.yy.parser)this.yy.parser.parseError(w,k);else throw new Error(w)},"parseError"),setInput:o(function(T,w){return this.yy=w||this.yy||{},this._input=T,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var T=this._input[0];this.yytext+=T,this.yyleng++,this.offset++,this.match+=T,this.matched+=T;var w=T.match(/(?:\r\n?|\n).*/g);return w?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),T},"input"),unput:o(function(T){var w=T.length,k=T.split(/(?:\r\n?|\n)/g);this._input=T+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-w),this.offset-=w;var C=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),k.length-1&&(this.yylineno-=k.length-1);var E=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:k?(k.length===C.length?this.yylloc.first_column:0)+C[C.length-k.length].length-k[0].length:this.yylloc.first_column-w},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-w]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(T){this.unput(this.match.slice(T))},"less"),pastInput:o(function(){var T=this.matched.substr(0,this.matched.length-this.match.length);return(T.length>20?"...":"")+T.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var T=this.match;return T.length<20&&(T+=this._input.substr(0,20-T.length)),(T.substr(0,20)+(T.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var T=this.pastInput(),w=new Array(T.length+1).join("-");return T+this.upcomingInput()+` -`+w+"^"},"showPosition"),test_match:o(function(T,w){var k,C,E;if(this.options.backtrack_lexer&&(E={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(E.yylloc.range=this.yylloc.range.slice(0))),C=T[0].match(/(?:\r\n?|\n).*/g),C&&(this.yylineno+=C.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:C?C[C.length-1].length-C[C.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+T[0].length},this.yytext+=T[0],this.match+=T[0],this.matches=T,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(T[0].length),this.matched+=T[0],k=this.performAction.call(this,this.yy,this,w,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),k)return k;if(this._backtrack){for(var S in E)this[S]=E[S];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var T,w,k,C;this._more||(this.yytext="",this.match="");for(var E=this._currentRules(),S=0;Sw[0].length)){if(w=k,C=S,this.options.backtrack_lexer){if(T=this.test_match(k,E[S]),T!==!1)return T;if(this._backtrack){w=!1;continue}else return!1}else if(!this.options.flex)break}return w?(T=this.test_match(w,E[C]),T!==!1?T:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var w=this.next();return w||this.lex()},"lex"),begin:o(function(w){this.conditionStack.push(w)},"begin"),popState:o(function(){var w=this.conditionStack.length-1;return w>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(w){return w=this.conditionStack.length-1-Math.abs(w||0),w>=0?this.conditionStack[w]:"INITIAL"},"topState"),pushState:o(function(w){this.begin(w)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(w,k,C,E){var S=E;switch(C){case 0:break;case 1:break;case 2:break;case 3:if(w.getIndentMode&&w.getIndentMode())return w.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:w.setIndentMode&&w.setIndentMode(!1),this.begin("INITIAL"),this.unput(k.yytext);break;case 6:return this.begin("bol"),8;break;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(w.consumeIndentText)w.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return k.yytext=k.yytext.slice(2,-2),14;break;case 17:return k.yytext=k.yytext.slice(1,-1).trim(),14;break;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return b})();y.lexer=v;function x(){this.yy={}}return o(x,"Parser"),x.prototype=y,y.Parser=x,new x})();KH.parser=KH;x7e=KH});function _1t(){return fi(A1t,Lt().venn)}var QH,ZH,JH,eY,tY,rY,g1t,y1t,QC,v1t,x1t,b1t,T1t,o8,k1t,C1t,w1t,E1t,S1t,A1t,D1t,T7e,k7e=P(()=>{"use strict";er();Sr();Ki();wa();QH=[],ZH=[],JH=[],eY=new Set,rY=!1,g1t=o((t,e,r)=>{let i=o8(t).sort(),n=r??10/Math.pow(t.length,2);tY=i,i.length===1&&eY.add(i[0]),QH.push({sets:i,size:n,label:e?QC(e):void 0})},"addSubsetData"),y1t=o(()=>QH,"getSubsetData"),QC=o(t=>{let e=t.trim();return e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e},"normalizeText"),v1t=o(t=>t&&QC(t),"normalizeStyleValue"),x1t=o((t,e,r)=>{let i=QC(e);ZH.push({sets:o8(t).sort(),id:i,label:r?QC(r):void 0})},"addTextData"),b1t=o((t,e)=>{let r=o8(t).sort(),i={};for(let[n,a]of e)i[n]=v1t(a)??a;JH.push({targets:r,styles:i})},"addStyleData"),T1t=o(()=>JH,"getStyleData"),o8=o(t=>t.map(e=>QC(e)),"normalizeIdentifierList"),k1t=o(t=>{let r=o8(t).filter(i=>!eY.has(i));if(r.length>0)throw new Error(`unknown set identifier: ${r.join(", ")}`)},"validateUnionIdentifiers"),C1t=o(()=>ZH,"getTextData"),w1t=o(()=>tY,"getCurrentSets"),E1t=o(()=>rY,"getIndentMode"),S1t=o(t=>{rY=t},"setIndentMode"),A1t=fr.venn;o(_1t,"getConfig");D1t=o(()=>{wr(),QH.length=0,ZH.length=0,JH.length=0,eY.clear(),tY=void 0,rY=!1},"customClear"),T7e={getConfig:_1t,clear:D1t,setAccTitle:Ar,getAccTitle:Dr,setDiagramTitle:Mr,getDiagramTitle:Nr,getAccDescription:Rr,setAccDescription:Lr,addSubsetData:g1t,getSubsetData:y1t,addTextData:x1t,addStyleData:b1t,validateUnionIdentifiers:k1t,getTextData:C1t,getStyleData:T1t,getCurrentSets:w1t,getIndentMode:E1t,setIndentMode:S1t}});var L1t,C7e,w7e=P(()=>{"use strict";L1t=o(t=>` - .venn-title { - font-size: 32px; - fill: ${t.vennTitleTextColor}; - font-family: ${t.fontFamily}; - } - - .venn-circle text { - font-size: 48px; - font-family: ${t.fontFamily}; - } - - .venn-intersection text { - font-size: 48px; - fill: ${t.vennSetTextColor}; - font-family: ${t.fontFamily}; - } - - .venn-text-node { - font-family: ${t.fontFamily}; - color: ${t.vennSetTextColor}; - } -`,"getStyles"),C7e=L1t});function l8(t,e){let r=N1t(t),i=r.filter(l=>R1t(l,t)),n=0,a=0,s=[];if(i.length>1){let l=_7e(i);for(let h=0;hf.angle-h.angle);let u=i[i.length-1];for(let h=0;hg.radius*2&&(T=g.radius*2),(p==null||p.width>T)&&(p={circle:g,width:T,p1:f,p2:u,large:T>g.radius,sweep:!0})}p!=null&&(s.push(p),n+=aY(p.circle.radius,p.width),u=f)}}else{let l=t[0];for(let h=1;hMath.abs(l.radius-t[h].radius)){u=!0;break}u?n=a=0:(n=l.radius*l.radius*Math.PI,s.push({circle:l,p1:{x:l.x,y:l.y+l.radius},p2:{x:l.x-1e-10,y:l.y+l.radius},width:l.radius*2,large:!0,sweep:!0}))}return a/=2,e&&(e.area=n+a,e.arcArea=n,e.polygonArea=a,e.arcs=s,e.innerPoints=i,e.intersectionPoints=r),n+a}function R1t(t,e){return e.every(r=>qo(t,r)=t+e)return 0;if(r<=Math.abs(t-e))return Math.PI*Math.min(t,e)*Math.min(t,e);let i=t-(r*r-e*e+t*t)/(2*r),n=e-(r*r-t*t+e*e)/(2*r);return aY(t,i)+aY(e,n)}function A7e(t,e){let r=qo(t,e),i=t.radius,n=e.radius;if(r>=i+n||r<=Math.abs(i-n))return[];let a=(i*i-n*n+r*r)/(2*r),s=Math.sqrt(i*i-a*a),l=t.x+a*(e.x-t.x)/r,u=t.y+a*(e.y-t.y)/r,h=-(e.y-t.y)*(s/r),f=-(e.x-t.x)*(s/r);return[{x:l+h,y:u-f},{x:l-h,y:u+f}]}function _7e(t){let e={x:0,y:0};for(let r of t)e.x+=r.x,e.y+=r.y;return e.x/=t.length,e.y/=t.length,e}function I1t(t,e,r,i){i=i||{};let n=i.maxIterations||100,a=i.tolerance||1e-10,s=t(e),l=t(r),u=r-e;if(s*l>0)throw"Initial bisect points must have opposite signs";if(s===0)return e;if(l===0)return r;for(let h=0;h=0&&(e=f),Math.abs(u)sY(e))}function yx(t,e){let r=0;for(let i=0;ik.fx-C.fx,"sortOrder"),x=e.slice(),b=e.slice(),T=e.slice(),w=e.slice();for(let k=0;k{let L=S.slice();return L.fx=S.fx,L.id=S.id,L});E.sort((S,L)=>S.id-L.id),r.history.push({x:g[0].slice(),fx:g[0].fx,simplex:E})}p=0;for(let E=0;E=g[m-1].fx){let E=!1;if(b.fx>C.fx?(_f(T,1+f,x,-f,C),T.fx=t(T),T.fx=1)break;for(let S=1;Sl+a*n*u||h>=v)y=n;else{if(Math.abs(d)<=-s*u)return n;d*(y-g)>=0&&(y=g),g=n,v=h}return 0}o(m,"zoom");for(let g=0;g<10;++g){if(_f(i.x,1,r.x,n,e),h=i.fx=t(i.x,i.fxprime),d=yx(i.fxprime,e),h>l+a*n*u||g&&h>=f)return m(p,n,f);if(Math.abs(d)<=-s*u)return n;if(d>=0)return m(n,p,h);f=h,p=n,n*=2}return n}function O1t(t,e,r){let i={x:e.slice(),fx:0,fxprime:e.slice()},n={x:e.slice(),fx:0,fxprime:e.slice()},a=e.slice(),s,l,u=1,h;r=r||{},h=r.maxIterations||e.length*20,i.fx=t(i.x,i.fxprime),s=i.fxprime.slice(),lY(s,i.fxprime,-1);for(let f=0;f{let d={};for(let p=0;phY(t,e,i)-r,0,t+e)}function P1t(t,e={}){let r=e.distinct,i=t.map(l=>Object.assign({},l));function n(l){return l.join(";")}if(o(n,"toKey"),r){let l=new Map;for(let u of i)for(let h=0;hl===u?0:la.sets.length===2).forEach(a=>{let s=r[a.sets[0]],l=r[a.sets[1]],u=Math.sqrt(e[s].size/Math.PI),h=Math.sqrt(e[l].size/Math.PI),f=cY(u,h,a.size);i[s][l]=i[l][s]=f;let d=0;a.size+1e-10>=Math.min(e[s].size,e[l].size)?d=1:a.size<=1e-10&&(d=-1),n[s][l]=n[l][s]=d}),{distances:i,constraints:n}}function F1t(t,e,r,i){for(let a=0;a0&&g<=d||p<0&&g>=d||(n+=2*y*y,e[2*a]+=4*y*(s-h),e[2*a+1]+=4*y*(l-f),e[2*u]+=4*y*(h-s),e[2*u+1]+=4*y*(f-l))}}return n}function $1t(t,e={}){let r=G1t(t,e),i=e.lossFunction||vx;if(t.length>=8){let n=z1t(t,e),a=i(n,t),s=i(r,t);a+1e-8p.map(m=>m/l));let u=o((p,m)=>F1t(p,m,a,s),"obj"),h=null;for(let p=0;pd.sets.length===2);for(let d of t){let p=d.weight!=null?d.weight:1,m=d.sets[0],g=d.sets[1];d.size+R7e>=Math.min(i[m].size,i[g].size)&&(p=0),n[m].push({set:g,size:d.size,weight:p}),n[g].push({set:m,size:d.size,weight:p})}let a=[];Object.keys(n).forEach(d=>{let p=0;for(let m=0;mt[s]));let a=i.weight!=null?i.weight:1;r+=a*(n-i.size)*(n-i.size)}return r}function N7e(t,e){let r=0;for(let i of e){if(i.sets.length===1)continue;let n;if(i.sets.length===2){let l=t[i.sets[0]],u=t[i.sets[1]];n=hY(l.radius,u.radius,qo(l,u))}else n=l8(i.sets.map(l=>t[l]));let a=i.weight!=null?i.weight:1,s=Math.log((n+1)/(i.size+1));r+=a*s*s}return r}function V1t(t,e,r){if(r==null?t.sort((n,a)=>a.radius-n.radius):t.sort(r),t.length>0){let n=t[0].x,a=t[0].y;for(let s of t)s.x-=n,s.y-=a}if(t.length===2&&qo(t[0],t[1])1){let n=Math.atan2(t[1].x,t[1].y)-e,a=Math.cos(n),s=Math.sin(n);for(let l of t){let u=l.x,h=l.y;l.x=a*u-s*h,l.y=s*u+a*h}}if(t.length>2){let n=Math.atan2(t[2].x,t[2].y)-e;for(;n<0;)n+=2*Math.PI;for(;n>2*Math.PI;)n-=2*Math.PI;if(n>Math.PI){let a=t[1].y/(1e-10+t[1].x);for(let s of t){var i=(s.x+a*s.y)/(1+a*a);s.x=2*i-s.x,s.y=2*i*a-s.y}}}}function q1t(t){t.forEach(n=>{n.parent=n});function e(n){return n.parent!==n&&(n.parent=e(n.parent)),n.parent}o(e,"find");function r(n,a){let s=e(n),l=e(a);s.parent=l}o(r,"union");for(let n=0;n{delete n.parent}),Array.from(i.values())}function uY(t){let e=o(r=>{let i=t.reduce((a,s)=>Math.max(a,s[r]+s.radius),Number.NEGATIVE_INFINITY),n=t.reduce((a,s)=>Math.min(a,s[r]-s.radius),Number.POSITIVE_INFINITY);return{max:i,min:n}},"minMax");return{xRange:e("x"),yRange:e("y")}}function I7e(t,e,r){e==null&&(e=Math.PI/2);let i=P7e(t).map(h=>Object.assign({},h)),n=q1t(i);for(let h of n){V1t(h,e,r);let f=uY(h);h.size=(f.xRange.max-f.xRange.min)*(f.yRange.max-f.yRange.min),h.bounds=f}n.sort((h,f)=>f.size-h.size),i=n[0];let a=i.bounds,s=(a.xRange.max-a.xRange.min)/50;function l(h,f,d){if(!h)return;let p=h.bounds,m,g;if(f)m=a.xRange.max-p.xRange.min+s;else{m=a.xRange.max-p.xRange.max;let y=(p.xRange.max-p.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;y<0&&(m+=y)}if(d)g=a.yRange.max-p.yRange.min+s;else{g=a.yRange.max-p.yRange.max;let y=(p.yRange.max-p.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;y<0&&(g+=y)}for(let y of h)y.x+=m,y.y+=g,i.push(y)}o(l,"addCluster");let u=1;for(;u({radius:f*m.radius,x:i+d+(m.x-s.min)*f,y:i+p+(m.y-l.min)*f,setid:m.setid})))}function O7e(t){let e={};for(let r of t)e[r.setid]=r;return e}function P7e(t){return Object.keys(t).map(r=>Object.assign(t[r],{setid:r}))}function B7e(t={}){let e=!1,r=600,i=350,n=15,a=1e3,s=Math.PI/2,l=!0,u=null,h=!0,f=!0,d=null,p=null,m=!1,g=null,y=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,v={},x=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],b=0,T=o(function(E){if(E in v)return v[E];var S=v[E]=x[b];return b+=1,b>=x.length&&(b=0),S},"colours"),w=L7e,k=vx;function C(E){let S=E.datum(),L=new Set;S.forEach(Y=>{Y.size==0&&Y.sets.length==1&&L.add(Y.sets[0])}),S=S.filter(Y=>!Y.sets.some(ae=>L.has(ae)));let M={},I={};if(S.length>0){let Y=w(S,{lossFunction:k,distinct:m});l&&(Y=I7e(Y,s,p)),M=M7e(Y,r,i,n,u),I=$7e(M,S,y)}let A={};S.forEach(Y=>{Y.label&&(A[Y.sets]=Y.label)});function _(Y){if(Y.sets in A)return A[Y.sets];if(Y.sets.length==1)return""+Y.sets[0]}o(_,"label"),E.selectAll("svg").data([M]).enter().append("svg");let D=E.select("svg");e?D.attr("viewBox",`0 0 ${r} ${i}`):D.attr("width",r).attr("height",i);let N={},R=!1;D.selectAll(".venn-area path").each(function(Y){let ae=this.getAttribute("d");Y.sets.length==1&&ae&&!m&&(R=!0,N[Y.sets[0]]=H1t(ae))});function B(Y){return ae=>{let J=Y.sets.map(ee=>{let re=N[ee],te=M[ee];return re||(re={x:r/2,y:i/2,radius:1}),te||(te={x:r/2,y:i/2,radius:1}),{x:re.x*(1-ae)+te.x*ae,y:re.y*(1-ae)+te.y*ae,radius:re.radius*(1-ae)+te.radius*ae}});return S7e(J,g)}}o(B,"pathTween");let O=D.selectAll(".venn-area").data(S,Y=>Y.sets),$=O.enter().append("g").attr("class",Y=>`venn-area venn-${Y.sets.length==1?"circle":"intersection"}${Y.colour||Y.color?" venn-coloured":""}`).attr("data-venn-sets",Y=>Y.sets.join("_")),z=$.append("path"),F=$.append("text").attr("class","label").text(Y=>_(Y)).attr("text-anchor","middle").attr("dy",".35em").attr("x",r/2).attr("y",i/2);f&&(z.style("fill-opacity","0").filter(Y=>Y.sets.length==1).style("fill",Y=>Y.colour?Y.colour:Y.color?Y.color:T(Y.sets)).style("fill-opacity",".25"),F.style("fill",Y=>Y.colour||Y.color?"#FFF":t.textFill?t.textFill:Y.sets.length==1?T(Y.sets):"#444"));function V(Y){return typeof Y.transition=="function"?Y.transition("venn").duration(a):Y}o(V,"asTransition");let H=E;R&&typeof H.transition=="function"?(H=V(E),H.selectAll("path").attrTween("d",B)):H.selectAll("path").attr("d",Y=>S7e(Y.sets.map(ae=>M[ae])),g);let X=H.selectAll("text").filter(Y=>Y.sets in I).text(Y=>_(Y)).attr("x",Y=>Math.floor(I[Y.sets].x)).attr("y",Y=>Math.floor(I[Y.sets].y));h&&(R?"on"in X?X.on("end",iY(M,_)):X.each("end",iY(M,_)):X.each(iY(M,_)));let W=V(O.exit()).remove();typeof O.transition=="function"&&W.selectAll("path").attrTween("d",B);let Z=W.selectAll("text").attr("x",r/2).attr("y",i/2);return d!==null&&(F.style("font-size","0px"),X.style("font-size",d),Z.style("font-size","0px")),{circles:M,textCentres:I,nodes:O,enter:$,update:H,exit:W}}return o(C,"chart"),C.wrap=function(E){return arguments.length?(h=E,C):h},C.useViewBox=function(){return e=!0,C},C.width=function(E){return arguments.length?(r=E,C):r},C.height=function(E){return arguments.length?(i=E,C):i},C.padding=function(E){return arguments.length?(n=E,C):n},C.distinct=function(E){return arguments.length?(m=E,C):m},C.colours=function(E){return arguments.length?(T=E,C):T},C.colors=function(E){return arguments.length?(T=E,C):T},C.fontSize=function(E){return arguments.length?(d=E,C):d},C.round=function(E){return arguments.length?(g=E,C):g},C.duration=function(E){return arguments.length?(a=E,C):a},C.layoutFunction=function(E){return arguments.length?(w=E,C):w},C.normalize=function(E){return arguments.length?(l=E,C):l},C.scaleToFit=function(E){return arguments.length?(u=E,C):u},C.styled=function(E){return arguments.length?(f=E,C):f},C.orientation=function(E){return arguments.length?(s=E,C):s},C.orientationOrder=function(E){return arguments.length?(p=E,C):p},C.lossFunction=function(E){return arguments.length?(k=E==="default"?vx:E==="logRatio"?N7e:E,C):k},C}function iY(t,e){return function(r){let i=this,n=t[r.sets[0]].radius||50,a=e(r)||"",s=a.split(/\s+/).reverse(),u=(a.length+s.length)/3,h=s.pop(),f=[h],d=0,p=1.1;i.textContent=null;let m=[];function g(T){let w=i.ownerDocument.createElementNS(i.namespaceURI,"tspan");return w.textContent=T,m.push(w),i.append(w),w}o(g,"append");let y=g(h);for(;h=s.pop(),!!h;){f.push(h);let T=f.join(" ");y.textContent=T,T.length>u&&y.getComputedTextLength()>n&&(f.pop(),y.textContent=f.join(" "),f=[h],y=g(h),d++)}let v=.35-d*p/2,x=i.getAttribute("x"),b=i.getAttribute("y");m.forEach((T,w)=>{T.setAttribute("x",x),T.setAttribute("y",b),T.setAttribute("dy",`${v+w*p}em`)})}}function nY(t,e,r){let i=e[0].radius-qo(e[0],t);for(let n=1;n=a&&(n=i[f],a=d)}let s=D7e(f=>-1*nY({x:f[0],y:f[1]},t,e),[n.x,n.y],{maxIterations:500,minErrorDelta:1e-10}).x,l={x:r?0:s[0],y:s[1]},u=!0;for(let f of t)if(qo(l,f)>f.radius){u=!1;break}for(let f of e)if(qo(l,f)f.p1))}function W1t(t){let e={},r=Object.keys(t);for(let i of r)e[i]=[];for(let i=0;i0&&console.log("WARNING: area "+s+" not represented on screen")}return i}function U1t(t,e,r){let i=[];return i.push(` -M`,t,e),i.push(` -m`,-r,0),i.push(` -a`,r,r,0,1,0,r*2,0),i.push(` -a`,r,r,0,1,0,-r*2,0),i.join(" ")}function H1t(t){let e=t.split(" ");return{x:Number.parseFloat(e[1]),y:Number.parseFloat(e[2]),radius:-Number.parseFloat(e[4])}}function z7e(t){if(t.length===0)return[];let e={};return l8(t,e),e.arcs}function G7e(t,e){if(t.length===0)return"M 0 0";let r=Math.pow(10,e||0),i=e!=null?a=>Math.round(a*r)/r:a=>a;if(t.length==1){let a=t[0].circle;return U1t(i(a.x),i(a.y),i(a.radius))}let n=[` -M`,i(t[0].p2.x),i(t[0].p2.y)];for(let a of t){let s=i(a.circle.radius);n.push(` -A`,s,s,0,a.large?1:0,a.sweep?1:0,i(a.p1.x),i(a.p1.y))}return n.join(" ")}function S7e(t,e){return G7e(z7e(t),e)}function V7e(t,e={}){let{lossFunction:r,layoutFunction:i=L7e,normalize:n=!0,orientation:a=Math.PI/2,orientationOrder:s,width:l=600,height:u=350,padding:h=15,scaleToFit:f=!1,symmetricalTextCentre:d=!1,distinct:p,round:m=2}=e,g=i(t,{lossFunction:r==="default"||!r?vx:r==="logRatio"?N7e:r,distinct:p});n&&(g=I7e(g,a,s));let y=M7e(g,l,u,h,f),v=$7e(y,t,d),x=new Map(Object.keys(y).map(w=>[w,{set:w,x:y[w].x,y:y[w].y,radius:y[w].radius}])),b=t.map(w=>{let k=w.sets.map(S=>x.get(S)),C=z7e(k),E=G7e(C,m);return{circles:k,arcs:C,path:E,area:w,has:new Set(w.sets)}});function T(w){let k="";for(let C of b)C.has.size>w.length&&w.every(E=>C.has.has(E))&&(k+=" "+C.path);return k}return o(T,"genDistinctPath"),b.map(({circles:w,arcs:k,path:C,area:E})=>({data:E,text:v[E.sets],circles:w,arcs:k,path:C,distinctPath:C+T(E.sets)}))}var R7e,q7e=P(()=>{"use strict";o(l8,"intersectionArea");o(R1t,"containedInCircles");o(N1t,"getIntersectionPoints");o(aY,"circleArea");o(qo,"distance");o(hY,"circleOverlap");o(A7e,"circleCircleIntersection");o(_7e,"getCenter");o(I1t,"bisect");o(sY,"zeros");o(E7e,"zerosM");o(yx,"dot");o(oY,"norm2");o(lY,"scale");o(_f,"weightedSum");o(D7e,"nelderMead");o(M1t,"wolfeLineSearch");o(O1t,"conjugateGradient");o(L7e,"venn");R7e=1e-10;o(cY,"distanceFromIntersectArea");o(P1t,"addMissingAreas");o(B1t,"getDistanceMatrices");o(F1t,"constrainedMDSGradient");o($1t,"bestInitialLayout");o(z1t,"constrainedMDSLayout");o(G1t,"greedyLayout");o(vx,"lossFunction");o(N7e,"logRatioLossFunction");o(V1t,"orientateCircles");o(q1t,"disjointCluster");o(uY,"getBoundingBox");o(I7e,"normalizeSolution");o(M7e,"scaleSolution");o(O7e,"toObjectNotation");o(P7e,"fromObjectNotation");o(B7e,"VennDiagram");o(iY,"wrapText");o(nY,"circleMargin");o(F7e,"computeTextCentre");o(W1t,"getOverlappingCircles");o($7e,"computeTextCentres");o(U1t,"circlePath");o(H1t,"circleFromPath");o(z7e,"intersectionAreaArcs");o(G7e,"arcsToPath");o(S7e,"intersectionAreaPath");o(V7e,"layout")});function j1t(t){let e=new Map;for(let r of t){let i=r.targets.join("|"),n=e.get(i);n?Object.assign(n,r.styles):e.set(i,{...r.styles})}return e}function vg(t){return t.join("|")}function K1t(t,e,r,i,n,a){let s=t?.useDebugLayout??!1,u=r.select("svg").append("g").attr("class","venn-text-nodes"),h=new Map;for(let f of i){let d=vg(f.sets),p=h.get(d);p?p.push(f):h.set(d,[f])}for(let[f,d]of h.entries()){let p=e.get(f);if(!p?.text)continue;let m=p.text.x,g=p.text.y,y=Math.min(...p.circles.map(D=>D.radius)),v=Math.min(...p.circles.map(D=>D.radius-Math.hypot(m-D.x,g-D.y))),x=Number.isFinite(v)?Math.max(0,v):0;x===0&&Number.isFinite(y)&&(x=y*.6);let b=u.append("g").attr("class","venn-text-area").attr("font-size",`${40*n}px`);s&&b.append("circle").attr("class","venn-text-debug-circle").attr("cx",m).attr("cy",g).attr("r",x).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*n).attr("stroke-dasharray",`${6*n} ${4*n}`);let T=Math.max(80*n,x*2*.95),w=Math.max(60*n,x*2*.95),E=(p.data.label&&p.data.label.length>0?Math.min(32*n,x*.25):0)+(d.length<=2?30*n:0),S=m-T/2,L=g-w/2+E,M=Math.max(1,Math.ceil(Math.sqrt(d.length))),I=Math.max(1,Math.ceil(d.length/M)),A=T/M,_=w/I;for(let[D,N]of d.entries()){let R=D%M,B=Math.floor(D/M),O=S+A*(R+.5),$=L+_*(B+.5);s&&b.append("rect").attr("class","venn-text-debug-cell").attr("x",S+A*R).attr("y",L+_*B).attr("width",A).attr("height",_).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*n).attr("stroke-dasharray",`${4*n} ${3*n}`);let z=A*.9,F=_*.9,V=b.append("foreignObject").attr("class","venn-text-node-fo").attr("width",z).attr("height",F).attr("x",O-z/2).attr("y",$-F/2).attr("overflow","visible"),H=a.get(N.id)?.color,X=V.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(N.label??N.id);H&&X.style("color",H)}}}var X1t,W7e,U7e=P(()=>{"use strict";Pr();Yn();Sr();ro();q7e();Xi();Yt();o(j1t,"buildStyleByKey");X1t=o((t,e,r,i)=>{let n=i.db,a=n.getConfig?.(),{themeVariables:s,look:l,handDrawnSeed:u}=Lt(),h=l==="handDrawn",f=[s.venn1,s.venn2,s.venn3,s.venn4,s.venn5,s.venn6,s.venn7,s.venn8].filter(Boolean),d=n.getDiagramTitle?.(),p=n.getSubsetData(),m=n.getTextData(),g=j1t(n.getStyleData()),y=a?.width??800,v=a?.height??450,b=y/1600,T=d?48*b:0,w=s.primaryTextColor??s.textColor,k=Fi(e);k.attr("viewBox",`0 0 ${y} ${v}`),d&&k.append("text").text(d).attr("class","venn-title").attr("font-size",`${32*b}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*b).style("fill",s.vennTitleTextColor||s.titleColor);let C=Ze(document.createElement("div")),E=B7e().width(y).height(v-T);C.datum(p).call(E);let S=h?rt.svg(C.select("svg").node()):void 0,L=V7e(p,{width:y,height:v-T,padding:a?.padding??15}),M=new Map;for(let D of L){let N=vg([...D.data.sets].sort());M.set(N,D)}m.length>0&&K1t(a,M,C,m,b,g);let I=yi(s.background||"#f4f4f4");C.selectAll(".venn-circle").each(function(D,N){let R=Ze(this),O=vg([...D.sets].sort()),$=g.get(O),z=$?.fill||f[N%f.length]||s.primaryColor;R.classed(`venn-set-${N%8}`,!0);let F=$?.["fill-opacity"]??.1,V=$?.stroke||z,H=$?.["stroke-width"]||`${5*b}`;if(h&&S){let W=M.get(O);if(W&&W.circles.length>0){let Z=W.circles[0],Y=S.circle(Z.x,Z.y,Z.radius*2,{roughness:.7,seed:u,fill:m4(z,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+N*60,stroke:V,strokeWidth:parseFloat(String(H))});R.select("path").remove(),R.node()?.insertBefore(Y,R.select("text").node())}}else R.select("path").style("fill",z).style("fill-opacity",F).style("stroke",V).style("stroke-width",H).style("stroke-opacity",.95);let X=$?.color||(I?Ke(z,30):Ye(z,30));R.select("text").style("font-size",`${48*b}px`).style("fill",X)}),h&&S?C.selectAll(".venn-intersection").each(function(D){let N=Ze(this),B=vg([...D.sets].sort()),O=g.get(B),$=O?.fill;if($){let z=N.select("path"),F=z.attr("d");if(F){let V=S.path(F,{roughness:.7,seed:u,fill:m4($,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),H=z.node();H?.parentNode?.insertBefore(V,H),z.remove()}}else N.select("path").style("fill-opacity",0);N.select("text").style("font-size",`${48*b}px`).style("fill",O?.color??s.vennSetTextColor??w)}):(C.selectAll(".venn-intersection text").style("font-size",`${48*b}px`).style("fill",D=>{let R=vg([...D.sets].sort());return g.get(R)?.color??s.vennSetTextColor??w}),C.selectAll(".venn-intersection path").style("fill-opacity",D=>{let R=vg([...D.sets].sort());return g.get(R)?.fill?1:0}).style("fill",D=>{let R=vg([...D.sets].sort());return g.get(R)?.fill??"transparent"}));let A=k.append("g").attr("transform",`translate(0, ${T})`),_=C.select("svg").node();if(_&&"childNodes"in _)for(let D of[..._.childNodes])A.node()?.appendChild(D);Hr(k,v,y,a?.useMaxWidth??!0)},"draw");o(vg,"stableSetsKey");o(K1t,"renderTextNodes");W7e={draw:X1t}});var H7e={};ur(H7e,{diagram:()=>Q1t});var Q1t,Y7e=P(()=>{"use strict";b7e();k7e();w7e();U7e();Q1t={parser:x7e,db:T7e,renderer:W7e,styles:C7e}});var xx,fY=P(()=>{"use strict";wa();Sr();er();Ht();Ki();xx=class{constructor(){this.nodes=[];this.levels=new Map;this.outerNodes=[];this.classes=new Map;this.setAccTitle=Ar;this.getAccTitle=Dr;this.setDiagramTitle=Mr;this.getDiagramTitle=Nr;this.getAccDescription=Rr;this.setAccDescription=Lr}static{o(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){let e=fr,r=Lt();return fi({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){let i=this.classes.get(e)??{id:e,styles:[],textStyles:[]},n=r.replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");n&&n.forEach(a=>{Eb(a)&&(i?.textStyles?i.textStyles.push(a):i.textStyles=[a]),i?.styles?i.styles.push(a):i.styles=[a]}),this.classes.set(e,i)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){wr(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}}});function K7e(t){if(!t.length)return[];let e=[],r=[];return t.forEach(i=>{let n={name:i.name,children:i.type==="Leaf"?void 0:[]};for(n.classSelector=i?.classSelector,i?.cssCompiledStyles&&(n.cssCompiledStyles=i.cssCompiledStyles),i.type==="Leaf"&&i.value!==void 0&&(n.value=i.value);r.length>0&&r[r.length-1].level>=i.level;)r.pop();if(r.length===0)e.push(n);else{let a=r[r.length-1].node;a.children?a.children.push(n):a.children=[n]}i.type!=="Leaf"&&r.push({node:n,level:i.level})}),e}var Q7e=P(()=>{"use strict";o(K7e,"buildHierarchy")});var tyt,ryt,dY,Z7e=P(()=>{"use strict";sh();bt();vf();Q7e();fY();tyt=o((t,e)=>{Ss(t,e);let r=[];for(let a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(let a of t.TreemapRows??[]){let s=a.item;if(!s)continue;let l=a.indent?parseInt(a.indent):0,u=ryt(s),h=s.classSelector?e.getStylesForClass(s.classSelector):[],f=h.length>0?h:void 0,d={level:l,name:u,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:f};r.push(d)}let i=K7e(r),n=o((a,s)=>{for(let l of a)e.addNode(l,s),l.children&&l.children.length>0&&n(l.children,s+1)},"addNodesRecursively");n(i,0)},"populate"),ryt=o(t=>t.name?String(t.name):"","getItemName"),dY={parser:{yy:void 0},parse:o(async t=>{try{let r=await ba("treemap",t);Q.debug("Treemap AST:",r);let i=dY.parser?.yy;if(!(i instanceof xx))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");tyt(r,i)}catch(e){throw Q.error("Error parsing treemap:",e),e}},"parse")}});var iyt,bx,ZC,nyt,ayt,J7e,e_e=P(()=>{"use strict";ro();Ud();Xi();Pr();Ht();Sr();bt();iyt=10,bx=10,ZC=25,nyt=o((t,e,r,i)=>{let n=i.db,a=n.getConfig(),s=a.padding??iyt,l=n.getDiagramTitle(),u=n.getRoot(),{themeVariables:h}=Lt();if(!u)return;let f=l?30:0,d=Fi(e),p=a.nodeWidth?a.nodeWidth*bx:960,m=a.nodeHeight?a.nodeHeight*bx:500,g=p,y=m+f;d.attr("viewBox",`0 0 ${g} ${y}`),Hr(d,y,g,a.useMaxWidth);let v;try{let D=a.valueFormat||",";if(D==="$0,0")v=o(N=>"$"+du(",")(N),"valueFormat");else if(D.startsWith("$")&&D.includes(",")){let N=/\.\d+/.exec(D),R=N?N[0]:"";v=o(B=>"$"+du(","+R)(B),"valueFormat")}else if(D.startsWith("$")){let N=D.substring(1);v=o(R=>"$"+du(N||"")(R),"valueFormat")}else v=du(D)}catch(D){Q.error("Error creating format function:",D),v=du(",")}let x=jo().range(["transparent",h.cScale0,h.cScale1,h.cScale2,h.cScale3,h.cScale4,h.cScale5,h.cScale6,h.cScale7,h.cScale8,h.cScale9,h.cScale10,h.cScale11]),b=jo().range(["transparent",h.cScalePeer0,h.cScalePeer1,h.cScalePeer2,h.cScalePeer3,h.cScalePeer4,h.cScalePeer5,h.cScalePeer6,h.cScalePeer7,h.cScalePeer8,h.cScalePeer9,h.cScalePeer10,h.cScalePeer11]),T=jo().range([h.cScaleLabel0,h.cScaleLabel1,h.cScaleLabel2,h.cScaleLabel3,h.cScaleLabel4,h.cScaleLabel5,h.cScaleLabel6,h.cScaleLabel7,h.cScaleLabel8,h.cScaleLabel9,h.cScaleLabel10,h.cScaleLabel11]);l&&d.append("text").attr("x",g/2).attr("y",f/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(l);let w=d.append("g").attr("transform",`translate(0, ${f})`).attr("class","treemapContainer"),k=jg(u).sum(D=>D.value??0).sort((D,N)=>(N.value??0)-(D.value??0)),E=Yw().size([p,m]).paddingTop(D=>D.children&&D.children.length>0?ZC+bx:0).paddingInner(s).paddingLeft(D=>D.children&&D.children.length>0?bx:0).paddingRight(D=>D.children&&D.children.length>0?bx:0).paddingBottom(D=>D.children&&D.children.length>0?bx:0).round(!0)(k),S=E.descendants().filter(D=>D.children&&D.children.length>0),L=w.selectAll(".treemapSection").data(S).enter().append("g").attr("class","treemapSection").attr("transform",D=>`translate(${D.x0},${D.y0})`);L.append("rect").attr("width",D=>D.x1-D.x0).attr("height",ZC).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",D=>D.depth===0?"display: none;":""),L.append("clipPath").attr("id",(D,N)=>`clip-section-${e}-${N}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-12)).attr("height",ZC),L.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class",(D,N)=>`treemapSection section${N}`).attr("fill",D=>x(D.data.name)).attr("fill-opacity",.6).attr("stroke",D=>b(D.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",D=>{if(D.depth===0)return"display: none;";let N=tt({cssCompiledStyles:D.data.cssCompiledStyles});return N.nodeStyles+";"+N.borderStyles.join(";")}),L.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",ZC/2).attr("dominant-baseline","middle").text(D=>D.depth===0?"":D.data.name).attr("font-weight","bold").attr("style",D=>{if(D.depth===0)return"display: none;";let N="dominant-baseline: middle; font-size: 12px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",R=tt({cssCompiledStyles:D.data.cssCompiledStyles});return N+R.labelStyles.replace("color:","fill:")}).each(function(D){if(D.depth===0)return;let N=Ze(this),R=D.data.name;N.text(R);let B=D.x1-D.x0,O=6,$;a.showValues!==!1&&D.value?$=B-10-30-10-O:$=B-O-6;let F=Math.max(15,$),V=N.node();if(V.getComputedTextLength()>F){let W=R;for(;W.length>0;){if(W=R.substring(0,W.length-1),W.length===0){N.text("..."),V.getComputedTextLength()>F&&N.text("");break}if(N.text(W+"..."),V.getComputedTextLength()<=F)break}}}),a.showValues!==!1&&L.append("text").attr("class","treemapSectionValue").attr("x",D=>D.x1-D.x0-10).attr("y",ZC/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(D=>D.value?v(D.value):"").attr("font-style","italic").attr("style",D=>{if(D.depth===0)return"display: none;";let N="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",R=tt({cssCompiledStyles:D.data.cssCompiledStyles});return N+R.labelStyles.replace("color:","fill:")});let M=E.leaves(),I=w.selectAll(".treemapLeafGroup").data(M).enter().append("g").attr("class",(D,N)=>`treemapNode treemapLeafGroup leaf${N}${D.data.classSelector?` ${D.data.classSelector}`:""}x`).attr("transform",D=>`translate(${D.x0},${D.y0})`);I.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class","treemapLeaf").attr("fill",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("style",D=>tt({cssCompiledStyles:D.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("stroke-width",3),I.append("clipPath").attr("id",(D,N)=>`clip-${e}-${N}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-4)).attr("height",D=>Math.max(0,D.y1-D.y0-4)),I.append("text").attr("class","treemapLabel").attr("x",D=>(D.x1-D.x0)/2).attr("y",D=>(D.y1-D.y0)/2).attr("style",D=>{let N="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(D.data.name)+";",R=tt({cssCompiledStyles:D.data.cssCompiledStyles});return N+R.labelStyles.replace("color:","fill:")}).attr("clip-path",(D,N)=>`url(#clip-${e}-${N})`).text(D=>D.data.name).each(function(D){let N=Ze(this),R=D.x1-D.x0,B=D.y1-D.y0,O=N.node(),$=4,z=R-2*$,F=B-2*$;if(z<10||F<10){N.style("display","none");return}let V=parseInt(N.style("font-size"),10),H=8,X=28,W=.6,Z=6,Y=2;for(;O.getComputedTextLength()>z&&V>H;)V--,N.style("font-size",`${V}px`);let ae=Math.max(Z,Math.min(X,Math.round(V*W))),J=V+Y+ae;for(;J>F&&V>H&&(V--,ae=Math.max(Z,Math.min(X,Math.round(V*W))),!(aeF;N.style("font-size",`${V}px`),(O.getComputedTextLength()>z||V(N.x1-N.x0)/2).attr("y",function(N){return(N.y1-N.y0)/2}).attr("style",N=>{let R="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(N.data.name)+";",B=tt({cssCompiledStyles:N.data.cssCompiledStyles});return R+B.labelStyles.replace("color:","fill:")}).attr("clip-path",(N,R)=>`url(#clip-${e}-${R})`).text(N=>N.value?v(N.value):"").each(function(N){let R=Ze(this),B=this.parentNode;if(!B){R.style("display","none");return}let O=Ze(B).select(".treemapLabel");if(O.empty()||O.style("display")==="none"){R.style("display","none");return}let $=parseFloat(O.style("font-size")),z=28,F=.6,V=6,H=2,X=Math.max(V,Math.min(z,Math.round($*F)));R.style("font-size",`${X}px`);let Z=(N.y1-N.y0)/2+$/2+H;R.attr("y",Z);let Y=N.x1-N.x0,ee=N.y1-N.y0-4,re=Y-8;R.node().getComputedTextLength()>re||Z+X>ee||X{"use strict";er();wg();Sr();syt={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},oyt=o(({treemap:t}={})=>{let e=Zc(),r=Lt(),i=fi(e,r.themeVariables),n=fi(syt,t),a=n.titleColor??i.titleColor,s=n.labelColor??i.textColor,l=n.valueColor??i.textColor;return` - .treemapNode.section { - stroke: ${n.sectionStrokeColor}; - stroke-width: ${n.sectionStrokeWidth}; - fill: ${n.sectionFillColor}; - } - .treemapNode.leaf { - stroke: ${n.leafStrokeColor}; - stroke-width: ${n.leafStrokeWidth}; - fill: ${n.leafFillColor}; - } - .treemapLabel { - fill: ${s}; - font-size: ${n.labelFontSize}; - } - .treemapValue { - fill: ${l}; - font-size: ${n.valueFontSize}; - } - .treemapTitle { - fill: ${a}; - font-size: ${n.titleFontSize}; - } - `},"getStyles"),t_e=oyt});var i_e={};ur(i_e,{diagram:()=>lyt});var lyt,n_e=P(()=>{"use strict";fY();Z7e();e_e();r_e();lyt={parser:dY,get db(){return new xx},renderer:J7e,styles:t_e}});var c8,xg,o_e,hyt,fyt,pY,l_e=P(()=>{"use strict";sh();bt();vf();c8=o((t,e)=>{let r=t<=1?t*100:t;if(r<0||r>100)throw new Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${t}`);return r},"toPercent"),xg=o((t,e,r)=>({x:c8(e,`${r} evolution`),y:c8(t,`${r} visibility`)}),"toCoordinates"),o_e=o(t=>{if(t){if(t==="+<>")return"bidirectional";if(t==="+<")return"backward";if(t==="+>")return"forward"}},"getFlowFromPort"),hyt=o(t=>{if(!t?.startsWith("+"))return{};let r=/^\+'([^']*)'/.exec(t)?.[1];return t.includes("<>")?{flow:"bidirectional",label:r}:t.includes("<")?{flow:"backward",label:r}:t.includes(">")?{flow:"forward",label:r}:{label:r}},"extractFlowFromArrow"),fyt=o((t,e)=>{if(Ss(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){let r=t.evolution.stages.map(n=>n.secondName?`${n.name.trim()} / ${n.secondName.trim()}`:n.name.trim()),i=t.evolution.stages.filter(n=>n.boundary!==void 0).map(n=>n.boundary);e.updateAxes({stages:r,stageBoundaries:i})}if(t.anchors.forEach(r=>{let i=xg(r.visibility,r.evolution,`Anchor "${r.name}"`);e.addNode(r.name,r.name,i.x,i.y,"anchor")}),t.components.forEach(r=>{let i=xg(r.visibility,r.evolution,`Component "${r.name}"`),n=r.label?(r.label.negX?-1:1)*r.label.offsetX:void 0,a=r.label?(r.label.negY?-1:1)*r.label.offsetY:void 0,s=r.decorator?.strategy;e.addNode(r.name,r.name,i.x,i.y,"component",n,a,r.inertia,s)}),t.notes.forEach(r=>{let i=xg(r.visibility,r.evolution,`Note "${r.text}"`);e.addNote(r.text,i.x,i.y)}),t.pipelines.forEach(r=>{let i=e.getNode(r.parent);if(!i||typeof i.y!="number")throw new Error(`Pipeline "${r.parent}" must reference an existing component with coordinates.`);let n=i.y;e.startPipeline(r.parent),r.components.forEach(a=>{let s=`${r.parent}_${a.name}`,l=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,u=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,h=c8(a.evolution,`Pipeline component "${a.name}" evolution`);e.addNode(s,a.name,h,n,"pipeline-component",l,u),e.addPipelineComponent(r.parent,s)})}),t.links.forEach(r=>{let i=!!r.arrow&&(r.arrow.includes("-.->")||r.arrow.includes(".-.")),n=o_e(r.fromPort)??o_e(r.toPort),{flow:a,label:s}=hyt(r.arrow);!n&&a&&(n=a);let l=r.linkLabel,u=s??l;e.addLink(r.from,r.to,i,u,n)}),t.evolves.forEach(r=>{let i=e.getNode(r.component);if(i?.y!==void 0){let n=c8(r.target,`Evolve target for "${r.component}"`);e.addTrend(r.component,n,i.y)}}),t.annotations.length>0){let r=t.annotations[0],i=xg(r.x,r.y,"Annotations box");e.setAnnotationsBox(i.x,i.y)}t.annotation.forEach(r=>{let i=xg(r.x,r.y,`Annotation ${r.number}`);e.addAnnotation(r.number,[{x:i.x,y:i.y}],r.text)}),t.accelerators.forEach(r=>{let i=xg(r.x,r.y,`Accelerator "${r.name}"`);e.addAccelerator(r.name,i.x,i.y)}),t.deaccelerators.forEach(r=>{let i=xg(r.x,r.y,`Deaccelerator "${r.name}"`);e.addDeaccelerator(r.name,i.x,i.y)})},"populateDb"),pY={parser:{yy:void 0},parse:o(async t=>{let e=await ba("wardley",t);Q.debug(e);let r=pY.parser?.yy;if(!r||typeof r.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");fyt(e,r)},"parse")}});var u8,c_e=P(()=>{"use strict";u8=class{constructor(){this.nodes=new Map;this.links=[];this.trends=new Map;this.pipelines=new Map;this.annotations=[];this.notes=[];this.accelerators=[];this.deaccelerators=[];this.axes={}}static{o(this,"WardleyBuilder")}addNode(e){let r=this.nodes.get(e.id)??{id:e.id,label:e.label},i={...r,...e,className:e.className??r.className,labelOffsetX:e.labelOffsetX??r.labelOffsetX,labelOffsetY:e.labelOffsetY??r.labelOffsetY};this.nodes.set(e.id,i)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});let r=this.nodes.get(e);r&&(r.isPipelineParent=!0)}addPipelineComponent(e,r){let i=this.pipelines.get(e);i&&i.componentIds.push(r);let n=this.nodes.get(r);n&&(n.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,r){this.annotationsBox={x:e,y:r}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,r){this.size={width:e,height:r}}getNode(e){return this.nodes.get(e)}build(){let e=[];for(let r of this.nodes.values()){if(typeof r.x!="number"||typeof r.y!="number")throw new Error(`Node "${r.label}" is missing coordinates`);e.push(r)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}}});function Ip(t){let e=ge();return Tr(t.trim(),e)}function dyt(){return ge()["wardley-beta"]}function pyt(t,e,r,i,n,a,s,l,u){ao.addNode({id:t,label:Ip(e),x:r,y:i,className:n,labelOffsetX:a,labelOffsetY:s,inertia:l,sourceStrategy:u})}function myt(t,e,r=!1,i,n){ao.addLink({source:t,target:e,dashed:r,label:i,flow:n})}function gyt(t,e,r){ao.addTrend({nodeId:t,targetX:e,targetY:r})}function yyt(t,e,r){ao.addAnnotation({number:t,coordinates:e,text:r?Ip(r):void 0})}function vyt(t,e,r){ao.addNote({text:Ip(t),x:e,y:r})}function xyt(t,e,r){ao.addAccelerator({name:Ip(t),x:e,y:r})}function byt(t,e,r){ao.addDeaccelerator({name:Ip(t),x:e,y:r})}function Tyt(t,e){ao.setAnnotationsBox(t,e)}function kyt(t,e){ao.setSize(t,e)}function Cyt(t){ao.startPipeline(t)}function wyt(t,e){ao.addPipelineComponent(t,e)}function Eyt(t){let e={};t.xLabel&&(e.xLabel=Ip(t.xLabel)),t.yLabel&&(e.yLabel=Ip(t.yLabel)),t.stages&&(e.stages=t.stages.map(r=>Ip(r))),t.stageBoundaries&&(e.stageBoundaries=t.stageBoundaries),ao.setAxes(e)}function Syt(t){return ao.getNode(t)}function Ayt(){return ao.build()}function _yt(){ao.clear(),wr()}var ao,u_e,h_e=P(()=>{"use strict";Ut();Vr();Ki();c_e();ao=new u8;o(Ip,"textSanitizer");o(dyt,"getConfig");o(pyt,"addNode");o(myt,"addLink");o(gyt,"addTrend");o(yyt,"addAnnotation");o(vyt,"addNote");o(xyt,"addAccelerator");o(byt,"addDeaccelerator");o(Tyt,"setAnnotationsBox");o(kyt,"setSize");o(Cyt,"startPipeline");o(wyt,"addPipelineComponent");o(Eyt,"updateAxes");o(Syt,"getNode");o(Ayt,"getWardleyData");o(_yt,"clear");u_e={getConfig:dyt,addNode:pyt,addLink:myt,addTrend:gyt,addAnnotation:yyt,addNote:vyt,addAccelerator:xyt,addDeaccelerator:byt,setAnnotationsBox:Tyt,setSize:kyt,startPipeline:Cyt,addPipelineComponent:wyt,updateAxes:Eyt,getNode:Syt,getWardleyData:Ayt,clear:_yt,setAccTitle:Ar,getAccTitle:Dr,setDiagramTitle:Mr,getDiagramTitle:Nr,getAccDescription:Rr,setAccDescription:Lr}});var Dyt,Lyt,Ryt,Nyt,f_e,d_e=P(()=>{"use strict";Ut();bt();ro();Xi();Dyt=["Genesis","Custom Built","Product","Commodity"],Lyt=o(()=>{let{themeVariables:t}=ge();return{backgroundColor:t.wardley?.backgroundColor??t.background??"#fff",axisColor:t.wardley?.axisColor??"#000",axisTextColor:t.wardley?.axisTextColor??t.primaryTextColor??"#222",gridColor:t.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:t.wardley?.componentFill??"#fff",componentStroke:t.wardley?.componentStroke??"#000",componentLabelColor:t.wardley?.componentLabelColor??t.primaryTextColor??"#222",linkStroke:t.wardley?.linkStroke??"#000",evolutionStroke:t.wardley?.evolutionStroke??"#dc3545",annotationStroke:t.wardley?.annotationStroke??"#000",annotationTextColor:t.wardley?.annotationTextColor??t.primaryTextColor??"#222",annotationFill:t.wardley?.annotationFill??t.background??"#fff"}},"getTheme"),Ryt=o(()=>{let t=ge()["wardley-beta"];return{width:t?.width??900,height:t?.height??600,padding:t?.padding??48,nodeRadius:t?.nodeRadius??6,nodeLabelOffset:t?.nodeLabelOffset??8,axisFontSize:t?.axisFontSize??12,labelFontSize:t?.labelFontSize??10,showGrid:t?.showGrid??!1,useMaxWidth:t?.useMaxWidth??!0}},"getConfigValues"),Nyt=o((t,e,r,i)=>{Q.debug(`Rendering Wardley map -`+t);let n=Ryt(),a=Lyt(),s=n.nodeRadius*1.6,l=i.db,u=l.getWardleyData(),h=l.getDiagramTitle(),f=u.size?.width??n.width,d=u.size?.height??n.height,p=Fi(e);p.selectAll("*").remove(),Hr(p,d,f,n.useMaxWidth),p.attr("viewBox",`0 0 ${f} ${d}`);let m=p.append("g").attr("class","wardley-map"),g=p.append("defs");g.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.evolutionStroke).attr("stroke","none"),g.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.linkStroke).attr("stroke","none"),g.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",a.linkStroke).attr("stroke","none"),m.append("rect").attr("class","wardley-background").attr("width",f).attr("height",d).attr("fill",a.backgroundColor);let y=f-n.padding*2,v=d-n.padding*2;h&&m.append("text").attr("class","wardley-title").attr("x",f/2).attr("y",n.padding/2).attr("fill",a.axisTextColor).attr("font-size",n.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(h);let x=o(O=>n.padding+O/100*y,"projectX"),b=o(O=>d-n.padding-O/100*v,"projectY"),T=m.append("g").attr("class","wardley-axes");T.append("line").attr("x1",n.padding).attr("x2",f-n.padding).attr("y1",d-n.padding).attr("y2",d-n.padding).attr("stroke",a.axisColor).attr("stroke-width",1),T.append("line").attr("x1",n.padding).attr("x2",n.padding).attr("y1",n.padding).attr("y2",d-n.padding).attr("stroke",a.axisColor).attr("stroke-width",1);let w=u.axes.xLabel??"Evolution",k=u.axes.yLabel??"Visibility";T.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",n.padding+y/2).attr("y",d-n.padding/4).attr("fill",a.axisTextColor).attr("font-size",n.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(w),T.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",n.padding/3).attr("y",n.padding+v/2).attr("fill",a.axisTextColor).attr("font-size",n.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${n.padding/3} ${n.padding+v/2})`).text(k);let C=u.axes.stages&&u.axes.stages.length>0?u.axes.stages:Dyt;if(C.length>0){let O=m.append("g").attr("class","wardley-stages"),$=u.axes.stageBoundaries,z=[];if($&&$.length===C.length){let F=0;$.forEach(V=>{z.push({start:F,end:V}),F=V})}else{let F=1/C.length;C.forEach((V,H)=>{z.push({start:H*F,end:(H+1)*F})})}C.forEach((F,V)=>{let H=z[V],X=n.padding+H.start*y,W=n.padding+H.end*y,Z=(X+W)/2;V>0&&O.append("line").attr("x1",X).attr("x2",X).attr("y1",n.padding).attr("y2",d-n.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),O.append("text").attr("class","wardley-stage-label").attr("x",Z).attr("y",d-n.padding/1.5).attr("fill",a.axisTextColor).attr("font-size",n.axisFontSize-2).attr("text-anchor","middle").text(F)})}if(n.showGrid){let O=m.append("g").attr("class","wardley-grid");for(let $=1;$<4;$++){let z=$/4,F=n.padding+y*z;O.append("line").attr("x1",F).attr("x2",F).attr("y1",n.padding).attr("y2",d-n.padding).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6"),O.append("line").attr("x1",n.padding).attr("x2",f-n.padding).attr("y1",d-n.padding-v*z).attr("y2",d-n.padding-v*z).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6")}}let E=new Map;if(u.nodes.forEach(O=>{E.set(O.id,{x:x(O.x),y:b(O.y),node:O})}),u.pipelines.length>0){let O=m.append("g").attr("class","wardley-pipelines"),$=m.append("g").attr("class","wardley-pipeline-links");u.pipelines.forEach(z=>{if(z.componentIds.length===0)return;let F=z.componentIds.map(W=>({id:W,pos:E.get(W),node:u.nodes.find(Z=>Z.id===W)})).filter(W=>W.pos&&W.node).sort((W,Z)=>W.node.x-Z.node.x);for(let W=0;W{let Z=E.get(W);Z&&(V=Math.min(V,Z.x),H=Math.max(H,Z.x),X=Z.y)}),V!==1/0&&H!==-1/0){let Z=n.nodeRadius*4,Y=X-Z/2,ae=E.get(z.nodeId);if(ae){let J=(V+H)/2;ae.x=J,ae.y=Y-s/6}O.append("rect").attr("class","wardley-pipeline-box").attr("x",V-15).attr("y",Y).attr("width",H-V+30).attr("height",Z).attr("fill","none").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}let S=m.append("g").attr("class","wardley-links"),L=new Map;u.pipelines.forEach(O=>{L.set(O.nodeId,new Set(O.componentIds))});let M=u.links.filter(O=>!(!E.has(O.source)||!E.has(O.target)||L.get(O.target)?.has(O.source)));S.selectAll("line").data(M).enter().append("line").attr("class",O=>`wardley-link${O.dashed?" wardley-link--dashed":""}`).attr("x1",O=>{let $=E.get(O.source),z=E.get(O.target),V=u.nodes.find(Z=>Z.id===O.source).isPipelineParent?s/Math.sqrt(2):n.nodeRadius,H=z.x-$.x,X=z.y-$.y,W=Math.sqrt(H*H+X*X);return $.x+H/W*V}).attr("y1",O=>{let $=E.get(O.source),z=E.get(O.target),V=u.nodes.find(Z=>Z.id===O.source).isPipelineParent?s/Math.sqrt(2):n.nodeRadius,H=z.x-$.x,X=z.y-$.y,W=Math.sqrt(H*H+X*X);return $.y+X/W*V}).attr("x2",O=>{let $=E.get(O.source),z=E.get(O.target),V=u.nodes.find(Z=>Z.id===O.target).isPipelineParent?s/Math.sqrt(2):n.nodeRadius,H=$.x-z.x,X=$.y-z.y,W=Math.sqrt(H*H+X*X);return z.x+H/W*V}).attr("y2",O=>{let $=E.get(O.source),z=E.get(O.target),V=u.nodes.find(Z=>Z.id===O.target).isPipelineParent?s/Math.sqrt(2):n.nodeRadius,H=$.x-z.x,X=$.y-z.y,W=Math.sqrt(H*H+X*X);return z.y+X/W*V}).attr("stroke",a.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",O=>O.dashed?"6 6":null).attr("marker-end",O=>O.flow==="forward"||O.flow==="bidirectional"?`url(#link-arrow-end-${e})`:null).attr("marker-start",O=>O.flow==="backward"||O.flow==="bidirectional"?`url(#link-arrow-start-${e})`:null),S.selectAll("text").data(M.filter(O=>O.label)).enter().append("text").attr("class","wardley-link-label").attr("x",O=>{let $=E.get(O.source),z=E.get(O.target),F=($.x+z.x)/2,V=z.y-$.y,H=z.x-$.x,X=Math.sqrt(H*H+V*V),W=8,Z=V/X;return F+Z*W}).attr("y",O=>{let $=E.get(O.source),z=E.get(O.target),F=($.y+z.y)/2,V=z.x-$.x,H=z.y-$.y,X=Math.sqrt(V*V+H*H),W=8,Z=-V/X;return F+Z*W}).attr("fill",a.axisTextColor).attr("font-size",n.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",O=>{let $=E.get(O.source),z=E.get(O.target),F=($.x+z.x)/2,V=($.y+z.y)/2,H=z.x-$.x,X=z.y-$.y,W=Math.sqrt(H*H+X*X),Z=8,Y=X/W,ae=-H/W,J=F+Y*Z,ee=V+ae*Z,re=Math.atan2(X,H)*180/Math.PI;return(re>90||re<-90)&&(re+=180),`rotate(${re} ${J} ${ee})`}).text(O=>O.label);let I=m.append("g").attr("class","wardley-trends"),A=u.trends.map(O=>{let $=E.get(O.nodeId);if(!$)return null;let z=x(O.targetX),F=b(O.targetY),V=z-$.x,H=F-$.y,X=Math.sqrt(V*V+H*H),W=n.nodeRadius+2,Z=X>W?z-V/X*W:z,Y=X>W?F-H/X*W:F;return{origin:$,targetX:z,targetY:F,adjustedX2:Z,adjustedY2:Y}}).filter(O=>O!==null);I.selectAll("line").data(A).enter().append("line").attr("class","wardley-trend").attr("x1",O=>O.origin.x).attr("y1",O=>O.origin.y).attr("x2",O=>O.adjustedX2).attr("y2",O=>O.adjustedY2).attr("stroke",a.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);let D=m.append("g").attr("class","wardley-nodes").selectAll("g").data(u.nodes).enter().append("g").attr("class",O=>["wardley-node",O.className?`wardley-node--${O.className}`:""].filter(Boolean).join(" "));D.filter(O=>O.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",O=>E.get(O.id).x).attr("cy",O=>E.get(O.id).y).attr("r",n.nodeRadius*2).attr("fill","#666").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(O=>O.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",O=>E.get(O.id).x).attr("cy",O=>E.get(O.id).y).attr("r",n.nodeRadius*2).attr("fill","#ccc").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(O=>O.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",O=>E.get(O.id).x).attr("cy",O=>E.get(O.id).y).attr("r",n.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);let N=D.filter(O=>O.sourceStrategy==="market");N.append("circle").attr("class","wardley-market-overlay").attr("cx",O=>E.get(O.id).x).attr("cy",O=>E.get(O.id).y).attr("r",n.nodeRadius*2).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(O=>!O.isPipelineParent&&O.sourceStrategy!=="market"&&O.className!=="anchor").append("circle").attr("cx",O=>E.get(O.id).x).attr("cy",O=>E.get(O.id).y).attr("r",n.nodeRadius).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1);let R=n.nodeRadius*.7,B=n.nodeRadius*1.2;if(N.append("line").attr("class","wardley-market-line").attr("x1",O=>E.get(O.id).x).attr("y1",O=>E.get(O.id).y-B).attr("x2",O=>E.get(O.id).x-B*Math.cos(Math.PI/6)).attr("y2",O=>E.get(O.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),N.append("line").attr("class","wardley-market-line").attr("x1",O=>E.get(O.id).x-B*Math.cos(Math.PI/6)).attr("y1",O=>E.get(O.id).y+B*Math.sin(Math.PI/6)).attr("x2",O=>E.get(O.id).x+B*Math.cos(Math.PI/6)).attr("y2",O=>E.get(O.id).y+B*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),N.append("line").attr("class","wardley-market-line").attr("x1",O=>E.get(O.id).x+B*Math.cos(Math.PI/6)).attr("y1",O=>E.get(O.id).y+B*Math.sin(Math.PI/6)).attr("x2",O=>E.get(O.id).x).attr("y2",O=>E.get(O.id).y-B).attr("stroke",a.componentStroke).attr("stroke-width",1),N.append("circle").attr("class","wardley-market-dot").attr("cx",O=>E.get(O.id).x).attr("cy",O=>E.get(O.id).y-B).attr("r",R).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),N.append("circle").attr("class","wardley-market-dot").attr("cx",O=>E.get(O.id).x-B*Math.cos(Math.PI/6)).attr("cy",O=>E.get(O.id).y+B*Math.sin(Math.PI/6)).attr("r",R).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),N.append("circle").attr("class","wardley-market-dot").attr("cx",O=>E.get(O.id).x+B*Math.cos(Math.PI/6)).attr("cy",O=>E.get(O.id).y+B*Math.sin(Math.PI/6)).attr("r",R).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),D.filter(O=>O.isPipelineParent===!0).append("rect").attr("x",O=>E.get(O.id).x-s/2).attr("y",O=>E.get(O.id).y-s/2).attr("width",s).attr("height",s).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1),D.filter(O=>O.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",O=>{let $=E.get(O.id),z=O.isPipelineParent?s/2+15:n.nodeRadius+15;return O.sourceStrategy&&(z+=n.nodeRadius+10),$.x+z}).attr("y1",O=>{let $=E.get(O.id),z=O.isPipelineParent?s:n.nodeRadius*2;return $.y-z/2}).attr("x2",O=>{let $=E.get(O.id),z=O.isPipelineParent?s/2+15:n.nodeRadius+15;return O.sourceStrategy&&(z+=n.nodeRadius+10),$.x+z}).attr("y2",O=>{let $=E.get(O.id),z=O.isPipelineParent?s:n.nodeRadius*2;return $.y+z/2}).attr("stroke",a.componentStroke).attr("stroke-width",6),D.append("text").attr("x",O=>{let $=E.get(O.id);if(O.className==="anchor")return O.labelOffsetX!==void 0?$.x+O.labelOffsetX:$.x;let z=n.nodeLabelOffset;O.sourceStrategy&&O.labelOffsetX===void 0&&(z+=10);let F=O.labelOffsetX??z;return $.x+F}).attr("y",O=>{let $=E.get(O.id);if(O.className==="anchor")return O.labelOffsetY!==void 0?$.y+O.labelOffsetY:$.y-3;let z=-n.nodeLabelOffset;O.sourceStrategy&&O.labelOffsetY===void 0&&(z-=10);let F=O.labelOffsetY??z;return $.y+F}).attr("class","wardley-node-label").attr("fill",O=>O.className==="evolved"?a.evolutionStroke:O.className==="anchor"?"#000":a.componentLabelColor).attr("font-size",n.labelFontSize).attr("font-weight",O=>O.className==="anchor"?"bold":"normal").attr("text-anchor",O=>O.className==="anchor"?"middle":"start").attr("dominant-baseline",O=>O.className==="anchor"?"middle":"auto").text(O=>O.label),u.annotations.length>0){let O=m.append("g").attr("class","wardley-annotations");if(u.annotations.forEach($=>{let z=$.coordinates.map(F=>({x:x(F.x),y:b(F.y)}));if(z.length>1)for(let F=0;F{let V=O.append("g").attr("class","wardley-annotation");V.append("circle").attr("cx",F.x).attr("cy",F.y).attr("r",10).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5),V.append("text").attr("x",F.x).attr("y",F.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text($.number)})}),u.annotationsBox){let $=x(u.annotationsBox.x),z=b(u.annotationsBox.y),F=10,V=16,H=11,X=O.append("g").attr("class","wardley-annotations-box"),W=[...u.annotations].filter(Y=>Y.text).sort((Y,ae)=>Y.number-ae.number),Z=[];if(W.forEach((Y,ae)=>{let J=X.append("text").attr("x",$+F).attr("y",z+F+(ae+1)*V).attr("font-size",H).attr("fill",a.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${Y.number}. ${Y.text}`);Z.push(J)}),Z.length>0){let Y=0,ae=0;Z.forEach(Ee=>{let Ne=Ee.node(),we=Ne.getComputedTextLength();Y=Math.max(Y,we);let Te=Ne.getBBox();ae=Math.max(ae,Te.height)});let J=Y+F*2+105,ee=W.length*V+F*2+ae/2,re=n.padding,te=f-n.padding-J,be=n.padding,de=d-n.padding-ee;$=Math.max(re,Math.min($,te)),z=Math.max(be,Math.min(z,de)),Z.forEach((Ee,Ne)=>{Ee.attr("x",$+F).attr("y",z+F+(Ne+1)*V)}),X.insert("rect","text").attr("x",$).attr("y",z).attr("width",J).attr("height",ee).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(u.notes.length>0){let O=m.append("g").attr("class","wardley-notes");u.notes.forEach($=>{let z=x($.x),F=b($.y);O.append("text").attr("x",z).attr("y",F).attr("text-anchor","start").attr("font-size",11).attr("fill",a.axisTextColor).attr("font-weight","bold").text($.text)})}if(u.accelerators.length>0){let O=m.append("g").attr("class","wardley-accelerators");u.accelerators.forEach($=>{let z=x($.x),F=b($.y),V=60,H=30,X=20,W=` - M ${z} ${F-H/2} - L ${z+V-X} ${F-H/2} - L ${z+V-X} ${F-H/2-8} - L ${z+V} ${F} - L ${z+V-X} ${F+H/2+8} - L ${z+V-X} ${F+H/2} - L ${z} ${F+H/2} - Z - `;O.append("path").attr("d",W).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),O.append("text").attr("x",z+V/2).attr("y",F+H/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text($.name)})}if(u.deaccelerators.length>0){let O=m.append("g").attr("class","wardley-deaccelerators");u.deaccelerators.forEach($=>{let z=x($.x),F=b($.y),V=60,H=30,X=20,W=` - M ${z+V} ${F-H/2} - L ${z+X} ${F-H/2} - L ${z+X} ${F-H/2-8} - L ${z} ${F} - L ${z+X} ${F+H/2+8} - L ${z+X} ${F+H/2} - L ${z+V} ${F+H/2} - Z - `;O.append("path").attr("d",W).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),O.append("text").attr("x",z+V/2).attr("y",F+H/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text($.name)})}},"draw"),f_e={draw:Nyt}});var p_e={};ur(p_e,{diagram:()=>Iyt});var Iyt,m_e=P(()=>{"use strict";l_e();h_e();d_e();Iyt={parser:pY,db:u_e,renderer:f_e,styles:o(()=>"","styles")}});var bvt={};ur(bvt,{default:()=>xvt});lu();oL();Kp();var KFe=o(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),QFe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(kne(),Tne));return{id:"c4",diagram:t}},"loader"),ZFe={id:"c4",detector:KFe,loader:QFe},Cne=ZFe;var Cye="flowchart",Lit=o((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),Rit=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(WS(),qS));return{id:Cye,diagram:t}},"loader"),Nit={id:Cye,detector:Lit,loader:Rit},wye=Nit;var Eye="flowchart-v2",Iit=o((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),Mit=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(WS(),qS));return{id:Eye,diagram:t}},"loader"),Oit={id:Eye,detector:Iit,loader:Mit},Sye=Oit;var zit=o(t=>/^\s*erDiagram/.test(t),"detector"),Git=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Oye(),Mye));return{id:"er",diagram:t}},"loader"),Vit={id:"er",detector:zit,loader:Git},Pye=Vit;var k4e="gitGraph",Ect=o(t=>/^\s*gitGraph/.test(t),"detector"),Sct=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(T4e(),b4e));return{id:k4e,diagram:t}},"loader"),Act={id:k4e,detector:Ect,loader:Sct},C4e=Act;var twe="gantt",mut=o(t=>/^\s*gantt/.test(t),"detector"),gut=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(ewe(),J4e));return{id:twe,diagram:t}},"loader"),yut={id:twe,detector:mut,loader:gut},rwe=yut;var hwe="info",kut=o(t=>/^\s*info/.test(t),"detector"),Cut=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(uwe(),cwe));return{id:hwe,diagram:t}},"loader"),fwe={id:hwe,detector:kut,loader:Cut};var Put=o(t=>/^\s*pie/.test(t),"detector"),But=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Twe(),bwe));return{id:"pie",diagram:t}},"loader"),kwe={id:"pie",detector:Put,loader:But};var Owe="quadrantChart",tht=o(t=>/^\s*quadrantChart/.test(t),"detector"),rht=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Mwe(),Iwe));return{id:Owe,diagram:t}},"loader"),iht={id:Owe,detector:tht,loader:rht},Pwe=iht;var c3e="xychart",bht=o(t=>/^\s*xychart(-beta)?/.test(t),"detector"),Tht=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(l3e(),o3e));return{id:c3e,diagram:t}},"loader"),kht={id:c3e,detector:bht,loader:Tht},u3e=kht;var x3e="requirement",Aht=o(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),_ht=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(v3e(),y3e));return{id:x3e,diagram:t}},"loader"),Dht={id:x3e,detector:Aht,loader:_ht},b3e=Dht;var F3e="sequence",Eft=o(t=>/^\s*sequenceDiagram/.test(t),"detector"),Sft=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(B3e(),P3e));return{id:F3e,diagram:t}},"loader"),Aft={id:F3e,detector:Eft,loader:Sft},$3e=Aft;var U3e="class",Ift=o((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),Mft=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(W3e(),q3e));return{id:U3e,diagram:t}},"loader"),Oft={id:U3e,detector:Ift,loader:Mft},H3e=Oft;var X3e="classDiagram",Bft=o((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),Fft=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(j3e(),Y3e));return{id:X3e,diagram:t}},"loader"),$ft={id:X3e,detector:Bft,loader:Fft},K3e=$ft;var _5e="state",hdt=o((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),fdt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(A5e(),S5e));return{id:_5e,diagram:t}},"loader"),ddt={id:_5e,detector:hdt,loader:fdt},D5e=ddt;var N5e="stateDiagram",mdt=o((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),gdt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(R5e(),L5e));return{id:N5e,diagram:t}},"loader"),ydt={id:N5e,detector:mdt,loader:gdt},I5e=ydt;var j5e="journey",Fdt=o(t=>/^\s*journey/.test(t),"detector"),$dt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Y5e(),H5e));return{id:j5e,diagram:t}},"loader"),zdt={id:j5e,detector:Fdt,loader:$dt},X5e=zdt;bt();ro();Xi();var Gdt=o((t,e,r)=>{Q.debug(`rendering svg for syntax error -`);let i=Fi(e),n=i.append("g");i.attr("viewBox","0 0 2412 512"),Hr(i,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),GU={draw:Gdt},K5e=GU;var Vdt={db:{},renderer:GU,parser:{parse:o(()=>{},"parse")}},Q5e=Vdt;var Z5e="flowchart-elk",qdt=o((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),Wdt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(WS(),qS));return{id:Z5e,diagram:t}},"loader"),Udt={id:Z5e,detector:qdt,loader:Wdt},J5e=Udt;var MEe="timeline",gpt=o(t=>/^\s*timeline/.test(t),"detector"),ypt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(IEe(),NEe));return{id:MEe,diagram:t}},"loader"),vpt={id:MEe,detector:gpt,loader:ypt},OEe=vpt;var JEe="mindmap",Apt=o(t=>/^\s*mindmap/.test(t),"detector"),_pt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(ZEe(),QEe));return{id:JEe,diagram:t}},"loader"),Dpt={id:JEe,detector:Apt,loader:_pt},eSe=Dpt;var fSe="kanban",Upt=o(t=>/^\s*kanban/.test(t),"detector"),Hpt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(hSe(),uSe));return{id:fSe,diagram:t}},"loader"),Ypt={id:fSe,detector:Upt,loader:Hpt},dSe=Ypt;var jSe="sankey",g0t=o(t=>/^\s*sankey(-beta)?/.test(t),"detector"),y0t=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(YSe(),HSe));return{id:jSe,diagram:t}},"loader"),v0t={id:jSe,detector:g0t,loader:y0t},XSe=v0t;var i6e="packet",A0t=o(t=>/^\s*packet(-beta)?/.test(t),"detector"),_0t=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(r6e(),t6e));return{id:i6e,diagram:t}},"loader"),n6e={id:i6e,detector:A0t,loader:_0t};var m6e="radar",K0t=o(t=>/^\s*radar-beta/.test(t),"detector"),Q0t=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(p6e(),d6e));return{id:m6e,diagram:t}},"loader"),g6e={id:m6e,detector:K0t,loader:Q0t};var xAe="block",vgt=o(t=>/^\s*block(-beta)?/.test(t),"detector"),xgt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(vAe(),yAe));return{id:xAe,diagram:t}},"loader"),bgt={id:xAe,detector:vgt,loader:xgt},bAe=bgt;var LAe="treeView",Pgt=o(t=>/^\s*treeView-beta/.test(t),"detector"),Bgt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(DAe(),_Ae));return{id:LAe,diagram:t}},"loader"),Fgt={id:LAe,detector:Pgt,loader:Bgt},RAe=Fgt;var JAe="architecture",Jgt=o(t=>/^\s*architecture/.test(t),"detector"),e1t=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(ZAe(),QAe));return{id:JAe,diagram:t}},"loader"),t1t={id:JAe,detector:Jgt,loader:e1t},e7e=t1t;var y7e="ishikawa",p1t=o(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),m1t=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(g7e(),m7e));return{id:y7e,diagram:t}},"loader"),v7e={id:y7e,detector:p1t,loader:m1t};var j7e="venn",Z1t=o(t=>/^\s*venn-beta/.test(t),"detector"),J1t=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Y7e(),H7e));return{id:j7e,diagram:t}},"loader"),eyt={id:j7e,detector:Z1t,loader:J1t},X7e=eyt;Kp();Ut();var a_e="treemap",cyt=o(t=>/^\s*treemap/.test(t),"detector"),uyt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(n_e(),i_e));return{id:a_e,diagram:t}},"loader"),s_e={id:a_e,detector:cyt,loader:uyt};var g_e="wardley-beta",Myt=o(t=>/^\s*wardley-beta/i.test(t),"detector"),Oyt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(m_e(),p_e));return{id:g_e,diagram:t}},"loader"),Pyt={id:g_e,detector:Myt,loader:Oyt},y_e=Pyt;var v_e=!1,Tx=o(()=>{v_e||(v_e=!0,Qp("error",Q5e,t=>t.toLowerCase().trim()==="error"),Qp("---",{db:{clear:o(()=>{},"clear")},styles:{},renderer:{draw:o(()=>{},"draw")},parser:{parse:o(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:o(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),Zx(J5e,eSe,e7e),Zx(Cne,dSe,K3e,H3e,Pye,rwe,fwe,kwe,b3e,$3e,Sye,wye,OEe,C4e,I5e,D5e,X5e,Pwe,XSe,n6e,u3e,bAe,RAe,g6e,v7e,s_e,X7e,y_e))},"addDiagrams");bt();Kp();Ut();var x_e=o(async()=>{Q.debug("Loading registered diagrams");let e=(await Promise.allSettled(Object.entries(wh).map(async([r,{detector:i,loader:n}])=>{if(n)try{i2(r)}catch{try{let{diagram:a,id:s}=await n();Qp(s,a,i)}catch(a){throw Q.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete wh[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){Q.error(`Failed to load ${e.length} external diagrams`);for(let r of e)Q.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams");bt();Pr();var h8="comm",f8="rule",d8="decl";var b_e="@import";var T_e="@namespace",k_e="@keyframes";var C_e="@layer";var mY=Math.abs,JC=String.fromCharCode;function p8(t){return t.trim()}o(p8,"trim");function e4(t,e,r){return t.replace(e,r)}o(e4,"replace");function w_e(t,e,r){return t.indexOf(e,r)}o(w_e,"indexof");function Mp(t,e){return t.charCodeAt(e)|0}o(Mp,"charat");function Op(t,e,r){return t.slice(e,r)}o(Op,"substr");function ml(t){return t.length}o(ml,"strlen");function E_e(t){return t.length}o(E_e,"sizeof");function kx(t,e){return e.push(t),t}o(kx,"append");var m8=1,Cx=1,S_e=0,ac=0,aa=0,Ex="";function g8(t,e,r,i,n,a,s,l){return{value:t,root:e,parent:r,type:i,props:n,children:a,line:m8,column:Cx,length:s,return:"",siblings:l}}o(g8,"node");function A_e(){return aa}o(A_e,"char");function __e(){return aa=ac>0?Mp(Ex,--ac):0,Cx--,aa===10&&(Cx=1,m8--),aa}o(__e,"prev");function sc(){return aa=ac2||wx(aa)>3?"":" "}o(R_e,"whitespace");function N_e(t,e){for(;--e&&sc()&&!(aa<48||aa>102||aa>57&&aa<65||aa>70&&aa<97););return y8(t,t4()+(e<6&&Df()==32&&sc()==32))}o(N_e,"escaping");function gY(t){for(;sc();)switch(aa){case t:return ac;case 34:case 39:t!==34&&t!==39&&gY(aa);break;case 40:t===41&&gY(t);break;case 92:sc();break}return ac}o(gY,"delimiter");function I_e(t,e){for(;sc()&&t+aa!==57;)if(t+aa===84&&Df()===47)break;return"/*"+y8(e,ac-1)+"*"+JC(t===47?t:sc())}o(I_e,"commenter");function M_e(t){for(;!wx(Df());)sc();return y8(t,ac)}o(M_e,"identifier");function B_e(t){return L_e(x8("",null,null,null,[""],t=D_e(t),0,[0],t))}o(B_e,"compile");function x8(t,e,r,i,n,a,s,l,u){for(var h=0,f=0,d=s,p=0,m=0,g=0,y=1,v=1,x=1,b=0,T="",w=n,k=a,C=i,E=T;v;)switch(g=b,b=sc()){case 40:if(g!=108&&Mp(E,d-1)==58){w_e(E+=e4(v8(b),"&","&\f"),"&\f",mY(h?l[h-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:E+=v8(b);break;case 9:case 10:case 13:case 32:E+=R_e(g);break;case 92:E+=N_e(t4()-1,7);continue;case 47:switch(Df()){case 42:case 47:kx(Byt(I_e(sc(),t4()),e,r,u),u),(wx(g||1)==5||wx(Df()||1)==5)&&ml(E)&&Op(E,-1,void 0)!==" "&&(E+=" ");break;default:E+="/"}break;case 123*y:l[h++]=ml(E)*x;case 125*y:case 59:case 0:switch(b){case 0:case 125:v=0;case 59+f:x==-1&&(E=e4(E,/\f/g,"")),m>0&&(ml(E)-d||y===0&&g===47)&&kx(m>32?P_e(E+";",i,r,d-1,u):P_e(e4(E," ","")+";",i,r,d-2,u),u);break;case 59:E+=";";default:if(kx(C=O_e(E,e,r,h,f,n,l,T,w=[],k=[],d,a),a),b===123)if(f===0)x8(E,e,C,C,w,a,d,l,k);else{switch(p){case 99:if(Mp(E,3)===110)break;case 108:if(Mp(E,2)===97)break;default:f=0;case 100:case 109:case 115:}f?x8(t,C,C,i&&kx(O_e(t,C,C,0,0,n,l,T,n,w=[],d,k),k),n,k,d,l,i?w:k):x8(E,C,C,C,[""],k,0,l,k)}}h=f=m=0,y=x=1,T=E="",d=s;break;case 58:d=1+ml(E),m=g;default:if(y<1){if(b==123)--y;else if(b==125&&y++==0&&__e()==125)continue}switch(E+=JC(b),b*y){case 38:x=f>0?1:(E+="\f",-1);break;case 44:l[h++]=(ml(E)-1)*x,x=1;break;case 64:Df()===45&&(E+=v8(sc())),p=Df(),f=d=ml(T=E+=M_e(t4())),b++;break;case 45:g===45&&ml(E)==2&&(y=0)}}return a}o(x8,"parse");function O_e(t,e,r,i,n,a,s,l,u,h,f,d){for(var p=n-1,m=n===0?a:[""],g=E_e(m),y=0,v=0,x=0;y0?m[b]+" "+T:e4(T,/&\f/g,m[b])))&&(u[x++]=w);return g8(t,e,r,n===0?f8:l,u,h,f,d)}o(O_e,"ruleset");function Byt(t,e,r,i){return g8(t,e,r,h8,JC(A_e()),Op(t,2,-2),0,i)}o(Byt,"comment");function P_e(t,e,r,i,n){return g8(t,e,r,d8,Op(t,0,i),Op(t,i+1,-1),i,n)}o(P_e,"declaration");function b8(t,e){for(var r="",i=0;i{G_e.forEach(t=>{t()}),G_e=[]},"attachFunctions");bt();var q_e=o(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");ew();xb();function W_e(t){let e=t.match(J4);if(!e)return{text:t,metadata:{}};let r=ud(e[1],{schema:cd})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};let i={};return r.displayMode&&(i.displayMode=r.displayMode.toString()),r.title&&(i.title=r.title.toString()),r.config&&(i.config=r.config),{text:t.slice(e[0].length),metadata:i}}o(W_e,"extractFrontMatter");er();var $yt=o(t=>t.replace(/\r\n?/g,` -`).replace(/<(\w+)([^>]*)>/g,(e,r,i)=>"<"+r+i.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),zyt=o(t=>{let{text:e,metadata:r}=W_e(t),{displayMode:i,title:n,config:a={}}=r;return i&&(a.gantt||(a.gantt={}),a.gantt.displayMode=i),{title:n,config:a,text:e}},"processFrontmatter"),Gyt=o(t=>{let e=Kt.detectInit(t)??{},r=Kt.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:i})=>i==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:une(t),directive:e}},"processDirectives");function yY(t){let e=$yt(t),r=zyt(e),i=Gyt(r.text),n=fi(r.config,i.directive);return t=q_e(i.text),{code:t,title:r.title,config:n}}o(yY,"preprocessDiagram");hL();g4();er();function U_e(t){let e=new TextEncoder().encode(t),r=Array.from(e,i=>String.fromCodePoint(i)).join("");return btoa(r)}o(U_e,"toBase64");var Vyt=5e4,qyt="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",Wyt="sandbox",Uyt="loose",Hyt="http://www.w3.org/2000/svg",Yyt="http://www.w3.org/1999/xlink",jyt="http://www.w3.org/1999/xhtml",Xyt="100%",Kyt="100%",Qyt="border:0;margin:0;",Zyt="margin:0",Jyt="allow-top-navigation-by-user-activation allow-popups",evt='The "iframe" tag is not supported by your browser.',tvt=["foreignobject"],rvt=["dominant-baseline"];function X_e(t){let e=yY(t);return Mx(),qj(e.config??{}),e}o(X_e,"processAndSetConfigs");async function ivt(t,e){Tx();try{let{code:r,config:i}=X_e(t);return{diagramType:(await K_e(r)).type,config:i}}catch(r){if(e?.suppressErrors)return!1;throw r}}o(ivt,"parse");var H_e=o((t,e,r=[])=>` -.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),nvt=o((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` -${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` -:root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(r+=` -:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){let s=Or(t)?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(l=>{_r(l.styles)||s.forEach(u=>{r+=H_e(l.id,u,l.styles)}),_r(l.textStyles)||(r+=H_e(l.id,"tspan",(l?.textStyles||[]).map(u=>u.replace("color","fill"))))})}return r},"createCssStyles"),avt=o((t,e,r,i)=>{let n=nvt(t,r),a=XK(e,n,{...t.themeVariables,theme:t.theme,look:t.look},i);return b8(B_e(`${i}{${a}}`),F_e)},"createUserStyles"),svt=o((t="",e,r)=>{let i=t;return!r&&!e&&(i=i.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),i=zs(i),i=i.replace(/
    /g,"
    "),i},"cleanUpSvgCode"),ovt=o((t="",e)=>{let r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":Kyt,i=U_e(`${t}`);return``},"putIntoIFrame"),Y_e=o((t,e,r,i,n)=>{let a=t.append("div");a.attr("id",r),i&&a.attr("style",i);let s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",Hyt);return n&&s.attr("xmlns:xlink",n),s.append("g"),t},"appendDivSvgG");function j_e(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}o(j_e,"sandboxedIframe");var lvt=o((t,e,r,i)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(i)?.remove()},"removeExistingElements"),cvt=o(async function(t,e,r){Tx();let i=X_e(e);e=i.code;let n=Lt();Q.debug(n),e.length>(n?.maxTextSize??Vyt)&&(e=qyt);let a="#"+t,s="i"+t,l="#"+s,u="d"+t,h="#"+u,f=o(()=>{let _=Ze(p?l:h).node();_&&"remove"in _&&_.remove()},"removeTempElements"),d=Ze("body"),p=n.securityLevel===Wyt,m=n.securityLevel===Uyt,g=n.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),p){let A=j_e(Ze(r),s);d=Ze(A.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=Ze(r);Y_e(d,t,u,`font-family: ${g}`,Yyt)}else{if(lvt(document,t,u,s),p){let A=j_e(Ze("body"),s);d=Ze(A.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=Ze("body");Y_e(d,t,u)}let y,v;try{y=await Sx.fromText(e,{title:i.title})}catch(A){if(n.suppressErrorRendering)throw f(),A;y=await Sx.fromText("error"),v=A}let x=d.select(h).node(),b=y.type,T=x.firstChild,w=T.firstChild,k=y.renderer.getClasses?.(e,y),C=avt(n,b,k,a),E=document.createElement("style");E.innerHTML=C,T.insertBefore(E,w);try{await y.renderer.draw(e,t,"11.14.0",y)}catch(A){throw n.suppressErrorRendering?f():K5e.draw(e,t,"11.14.0"),A}let S=d.select(`${h} svg`),L=y.db.getAccTitle?.(),M=y.db.getAccDescription?.();hvt(b,S,L,M),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",jyt);let I=d.select(h).node().innerHTML;if(Q.debug("config.arrowMarkerAbsolute",n.arrowMarkerAbsolute),I=svt(I,p,ls(n.arrowMarkerAbsolute)),p){let A=d.select(h+" svg").node();I=ovt(I,A)}else m||(I=Tl.sanitize(I,{ADD_TAGS:tvt,ADD_ATTR:rvt,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(V_e(),v)throw v;return f(),{diagramType:b,svg:I,bindFunctions:y.db.bindFunctions}},"render");function uvt(t={}){let e=Yi({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),zj(e),e?.theme&&e.theme in xl?e.themeVariables=xl[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=xl.default.getThemeVariables(e.themeVariables));let r=typeof e=="object"?nD(e):aD();_x(r.logLevel),Tx()}o(uvt,"initialize");var K_e=o((t,e={})=>{let{code:r}=yY(t);return Sx.fromText(r,e)},"getDiagramFromText");function hvt(t,e,r,i){$_e(e,t),z_e(e,r,i,e.attr("id"))}o(hvt,"addA11yInfo");var Pp=Object.freeze({render:cvt,parse:ivt,getDiagramFromText:K_e,initialize:uvt,getConfig:Lt,setConfig:x4,getSiteConfig:aD,updateSiteConfig:Gj,reset:o(()=>{Mx()},"reset"),globalReset:o(()=>{Mx(Nf)},"globalReset"),defaultConfig:Nf});_x(Lt().logLevel);Mx(Lt());Wd();er();var fvt=o((t,e,r)=>{Q.warn(t),wI(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),Q_e=o(async function(t={querySelector:".mermaid"}){try{await dvt(t)}catch(e){if(wI(e)&&Q.error(e.str),Lf.parseError&&Lf.parseError(e),!t.suppressErrors)throw Q.error("Use the suppressErrors option to suppress these errors"),e}},"run"),dvt=o(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){let i=Pp.getConfig();Q.debug(`${t?"":"No "}Callback function found`);let n;if(r)n=r;else if(e)n=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");Q.debug(`Found ${n.length} diagrams`),i?.startOnLoad!==void 0&&(Q.debug("Start On Load: "+i?.startOnLoad),Pp.updateSiteConfig({startOnLoad:i?.startOnLoad}));let a=new Kt.InitIDGenerator(i.deterministicIds,i.deterministicIDSeed),s,l=[];for(let u of Array.from(n)){Q.info("Rendering diagram: "+u.id);if(u.getAttribute("data-processed"))continue;u.setAttribute("data-processed","true");let h=`mermaid-${a.next()}`;s=u.innerHTML,s=Z4(Kt.entityDecode(s)).trim().replace(//gi,"
    ");let f=Kt.detectInit(s);f&&Q.debug("Detected early reinit: ",f);try{let{svg:d,bindFunctions:p}=await t8e(h,s,u);u.innerHTML=d,t&&await t(h),p&&p(u)}catch(d){fvt(d,l,Lf.parseError)}}if(l.length>0)throw l[0]},"runThrowsErrors"),Z_e=o(function(t){Pp.initialize(t)},"initialize"),pvt=o(async function(t,e,r){Q.warn("mermaid.init is deprecated. Please use run instead."),t&&Z_e(t);let i={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?i.querySelector=e:e&&(e instanceof HTMLElement?i.nodes=[e]:i.nodes=e),await Q_e(i)},"init"),mvt=o(async(t,{lazyLoad:e=!0}={})=>{Tx(),Zx(...t),e===!1&&await x_e()},"registerExternalDiagrams"),J_e=o(function(){if(Lf.startOnLoad){let{startOnLoad:t}=Pp.getConfig();t&&Lf.run().catch(e=>Q.error("Mermaid failed to initialize",e))}},"contentLoaded");if(typeof document<"u"){window.addEventListener("load",J_e,!1)}var gvt=o(function(t){Lf.parseError=t},"setParseErrorHandler"),T8=[],vY=!1,e8e=o(async()=>{if(!vY){for(vY=!0;T8.length>0;){let t=T8.shift();if(t)try{await t()}catch(e){Q.error("Error executing queue",e)}}vY=!1}},"executeQueue"),yvt=o(async(t,e)=>new Promise((r,i)=>{let n=o(()=>new Promise((a,s)=>{Pp.parse(t,e).then(l=>{a(l),r(l)},l=>{Q.error("Error parsing",l),Lf.parseError?.(l),s(l),i(l)})}),"performCall");T8.push(n),e8e().catch(i)}),"parse"),t8e=o((t,e,r)=>new Promise((i,n)=>{let a=o(()=>new Promise((s,l)=>{Pp.render(t,e,r).then(u=>{s(u),i(u)},u=>{Q.error("Error parsing",u),Lf.parseError?.(u),l(u),n(u)})}),"performCall");T8.push(a),e8e().catch(n)}),"render"),vvt=o(()=>Object.keys(wh).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),Lf={startOnLoad:!0,mermaidAPI:Pp,parse:yvt,render:t8e,init:pvt,run:Q_e,registerExternalDiagrams:mvt,registerLayoutLoaders:kF,initialize:Z_e,parseError:void 0,contentLoaded:J_e,setParseErrorHandler:gvt,detectType:Ig,registerIconPacks:Q4,getRegisteredDiagramsMetadata:vvt},xvt=Lf;return s4(bvt);})(); -/*! Check if previously processed */ -/*! - * Wait for document loaded before starting the execution - */ -/*! Bundled license information: - -dompurify/dist/purify.es.mjs: - (*! @license DOMPurify 3.3.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.1/LICENSE *) - -js-yaml/dist/js-yaml.mjs: - (*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT *) - -lodash-es/lodash.js: - (** - * @license - * Lodash (Custom Build) - * Build: `lodash modularize exports="es" -o ./` - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - *) - -cytoscape/dist/cytoscape.esm.mjs: - (*! - Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable - Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) - Licensed under The MIT License (http://opensource.org/licenses/MIT) - *) - (*! - Event object based on jQuery events, MIT license - - https://jquery.org/license/ - https://tldrlegal.com/license/mit-license - https://github.com/jquery/jquery/blob/master/src/event.js - *) - (*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License *) - (*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License *) -*/ -globalThis["mermaid"] = globalThis.__esbuild_esm_mermaid_nm["mermaid"].default; diff --git a/plugin-plantuml/.settings/org.eclipse.jdt.core.prefs b/plugin-plantuml/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index b1dda13..0000000 --- a/plugin-plantuml/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,123 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.annotationPath.allLocations=enabled -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.notowning=org.eclipse.jdt.annotation.NotOwning -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled -org.eclipse.jdt.core.compiler.annotation.owning=org.eclipse.jdt.annotation.Owning -org.eclipse.jdt.core.compiler.annotation.resourceanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=17 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompatibleOwningContract=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.insufficientResourceAnalysis=warning -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=error -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=warning -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=enabled -org.eclipse.jdt.core.compiler.source=17 diff --git a/plugin-plantuml/META-INF/MANIFEST.MF b/plugin-plantuml/META-INF/MANIFEST.MF deleted file mode 100644 index 1c021ad..0000000 --- a/plugin-plantuml/META-INF/MANIFEST.MF +++ /dev/null @@ -1,22 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %PluginName -Bundle-SymbolicName: de.sebthom.eclipse.previewer.plantuml;singleton:=true -Bundle-Version: 1.0.0.qualifier -Bundle-Vendor: Sebastian Thomschke -Bundle-Localization: src/main/java/de/sebthom/eclipse/previewer/plantuml/localization/messages -Automatic-Module-Name: de.sebthom.eclipse.previewer.plantuml -Bundle-Activator: de.sebthom.eclipse.previewer.plantuml.Plugin -Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-17 -Bundle-ClassPath: . -Export-Package: de.sebthom.eclipse.previewer.plantuml;x-friends:="de.sebthom.eclipse.previewer.markdown" -Require-Bundle: org.eclipse.platform;bundle-version="4.25.0", - org.eclipse.core.resources, - org.eclipse.core.runtime, - org.eclipse.osgi, - org.eclipse.ui, - net.sf.jstuff.core;bundle-version="[8.2.0,9.0.0)", - de.sebthom.eclipse.commons;bundle-version="[1.0.0.20251127-1946,2.0.0)", - de.sebthom.eclipse.previewer;bundle-version="[1.0.0,2.0.0)", - net.sourceforge.plantuml.plantuml-mit;bundle-version="[1.2026.2,2.0.0)" diff --git a/plugin-plantuml/about.ini b/plugin-plantuml/about.ini deleted file mode 100644 index babf53c..0000000 --- a/plugin-plantuml/about.ini +++ /dev/null @@ -1,12 +0,0 @@ -# https://ekkescorner.wordpress.com/2010/06/13/brand-your-feature-and-be-part-of-about-eclipse/ -aboutText=\ -Previewer plugin to render PlantUml diagrams\n\ -\n\ -Copyright 2024 by Sebastian Thomschke and contributors.\n\ -\n\ -All rights reserved. This program and the accompanying materials \ -are made available under the terms of the Eclipse Public License v2.0 \ -which accompanies this distribution, and is available at \ -https://www.eclipse.org/legal/epl-v20.html\n\ -\n\ -Visit https://github.com/sebthom/previewer-eclipse-plugin diff --git a/plugin-plantuml/build.properties b/plugin-plantuml/build.properties deleted file mode 100644 index 9247046..0000000 --- a/plugin-plantuml/build.properties +++ /dev/null @@ -1,11 +0,0 @@ -source.. = src/main/java/ -output.. = target/classes/ -bin.includes = META-INF/,\ - .,\ - plugin.xml,\ - about.ini,\ - src/main/java/de/sebthom/eclipse/previewer/plantuml/localization/ -bin.excludes = src/main/java/de/sebthom/eclipse/previewer/plantuml/localization/Messages.java - -# JDT Null Analysis for Eclipse -additional.bundles = org.eclipse.jdt.annotation diff --git a/plugin-plantuml/plugin.xml b/plugin-plantuml/plugin.xml deleted file mode 100644 index a6a1733..0000000 --- a/plugin-plantuml/plugin.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugin-plantuml/pom.xml b/plugin-plantuml/pom.xml deleted file mode 100644 index acc54a4..0000000 --- a/plugin-plantuml/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - 4.0.0 - - - de.sebthom.eclipse.previewer - de.sebthom.eclipse.previewer.parent - 1.0.0-SNAPSHOT - - - de.sebthom.eclipse.previewer.plantuml - eclipse-plugin - - - - true - - - - \ No newline at end of file diff --git a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/Constants.java b/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/Constants.java deleted file mode 100644 index 3e719f5..0000000 --- a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/Constants.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.plantuml; - -/** - * @author Sebastian Thomschke - */ -public interface Constants { -} diff --git a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/PlantUmlHtmlPreviewRenderer.java b/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/PlantUmlHtmlPreviewRenderer.java deleted file mode 100644 index b8c3abd..0000000 --- a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/PlantUmlHtmlPreviewRenderer.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.plantuml; - -import java.io.IOException; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.api.HtmlPreviewRenderer; -import de.sebthom.eclipse.previewer.util.MiscUtils; -import de.sebthom.eclipse.previewer.util.StringUtils; - -/** - * @author Sebastian Thomschke - */ -public class PlantUmlHtmlPreviewRenderer implements HtmlPreviewRenderer { - - @Override - public void dispose() { - } - - @Override - public void renderToHtml(final ContentSource source, final Appendable out) throws IOException { - - out.append(""" - - - - - - - """); - - PlantUmlRendering.renderToHtmlFragment(source.contentAsString(), out); - out.append(StringUtils.htmlInfoBox(source.shortDisplayPath() + " " + MiscUtils.getCurrentTime())); - out.append(""); - } -} diff --git a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/PlantUmlRendering.java b/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/PlantUmlRendering.java deleted file mode 100644 index 715b161..0000000 --- a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/PlantUmlRendering.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.plantuml; - -import java.io.IOException; -import java.nio.charset.StandardCharsets; - -import de.sebthom.eclipse.previewer.plantuml.prefs.PluginPreferences; -import de.sebthom.eclipse.previewer.util.StringUtils; -import net.sf.jstuff.core.io.stream.FastByteArrayOutputStream; -import net.sourceforge.plantuml.BlockUml; -import net.sourceforge.plantuml.FileFormat; -import net.sourceforge.plantuml.FileFormatOption; -import net.sourceforge.plantuml.SourceStringReader; -import net.sourceforge.plantuml.TitledDiagram; -import net.sourceforge.plantuml.core.Diagram; - -/** - * Renders PlantUML source into embeddable HTML fragments. - * - * @author Sebastian Thomschke - */ -public final class PlantUmlRendering { - - @SuppressWarnings("null") - private static final FileFormatOption SVG_FORMAT = new FileFormatOption(FileFormat.SVG).withUseRedForError(); - - public static String renderToHtmlFragment(final String source) throws IOException { - final var html = new StringBuilder(); - renderToHtmlFragment(source, html); - return html.toString(); - } - - public static void renderToHtmlFragment(final String source, final Appendable out) throws IOException { - final var reader = new SourceStringReader(source); - TitledDiagram.FORCE_SMETANA = "smetana".equals(PluginPreferences.getPlantUmlLayoutEngine()); - try (var baos = new FastByteArrayOutputStream()) { - final var blocks = reader.getBlocks(); - if (blocks.isEmpty()) { - reader.noValidStartFound(baos, SVG_FORMAT); - out.append(StringUtils.htmlSvgWithHoverDownloadButton(new String(baos.toByteArray(), StandardCharsets.UTF_8))); - } else { - for (final BlockUml block : blocks) { - final Diagram system = block.getDiagram(); - final int imageCount = system.getNbImages(); - for (int j = 0; j < imageCount; j++) { - baos.reset(); - system.exportDiagram(baos, j, SVG_FORMAT); - out.append(StringUtils.htmlSvgWithHoverDownloadButton(new String(baos.toByteArray(), StandardCharsets.UTF_8))); - } - } - } - } - } - - private PlantUmlRendering() { - } -} diff --git a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/Plugin.java b/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/Plugin.java deleted file mode 100644 index e23256f..0000000 --- a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/Plugin.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.plantuml; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.asNonNull; - -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jface.resource.ImageRegistry; -import org.osgi.framework.BundleContext; - -import de.sebthom.eclipse.commons.AbstractEclipsePlugin; -import de.sebthom.eclipse.commons.BundleResources; -import de.sebthom.eclipse.commons.logging.PluginLogger; -import de.sebthom.eclipse.commons.logging.StatusFactory; -import net.sf.jstuff.core.reflection.Fields; - -/** - * @author Sebastian Thomschke - */ -public class Plugin extends AbstractEclipsePlugin { - - /** - * during runtime you can get ID with getBundle().getSymbolicName() - */ - public static final String PLUGIN_ID = asNonNull(Plugin.class.getPackage()).getName().replace('_', '-'); - - private static @Nullable Plugin instance; - - /** - * @return the shared instance - */ - public static Plugin get() { - return asNonNull(instance, "Default plugin instance is still null."); - } - - public static boolean isInitialized() { - return instance != null; - } - - public static PluginLogger log() { - return get().getLogger(); - } - - public static BundleResources resources() { - return get().getBundleResources(); - } - - public static StatusFactory status() { - return get().getStatusFactory(); - } - - @Override - public BundleResources getBundleResources() { - var bundleResources = this.bundleResources; - if (bundleResources == null) { - bundleResources = this.bundleResources = new BundleResources(this, "src/main/resources"); - } - return bundleResources; - } - - @Override - protected void initializeImageRegistry(final ImageRegistry registry) { - for (final var field : Constants.class.getFields()) { - if (Fields.isStatic(field) && field.getType() == String.class && field.getName().startsWith("IMAGE_")) { - final String imagePath = Fields.read(null, field); - if (imagePath != null) { - registerImage(registry, imagePath); - } - } - } - } - - @Override - public void start(final BundleContext context) throws Exception { - super.start(context); - instance = this; - } - - @Override - public void stop(final BundleContext context) throws Exception { - instance = null; - super.stop(context); - } -} diff --git a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/localization/Messages.java b/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/localization/Messages.java deleted file mode 100644 index 1e9a5a5..0000000 --- a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/localization/Messages.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.plantuml.localization; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.lateNonNull; - -import de.sebthom.eclipse.commons.localization.MessagesInitializer; - -/** - * @author Sebastian Thomschke - */ -public final class Messages { - - private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; - - // Keys with default values directly assigned in this class are only used by Java classes. - // Keys without default values are loaded from messages.properties, because they are also referenced in plugin.xml - - // CHECKSTYLE:IGNORE .* FOR NEXT 100 LINES - - public static String PluginName = lateNonNull(); - - static { - MessagesInitializer.initializeMessages(BUNDLE_NAME, Messages.class); - } - - private Messages() { - } -} diff --git a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/localization/messages.properties b/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/localization/messages.properties deleted file mode 100644 index f744ea0..0000000 --- a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/localization/messages.properties +++ /dev/null @@ -1,2 +0,0 @@ -PluginName=Previewer: PlantUML -PreferencePageName=PlantUML diff --git a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/localization/package-info.java b/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/localization/package-info.java deleted file mode 100644 index b4e789b..0000000 --- a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/localization/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.plantuml.localization; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/package-info.java b/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/package-info.java deleted file mode 100644 index 1a5655f..0000000 --- a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.plantuml; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/prefs/PluginPreferencePage.java b/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/prefs/PluginPreferencePage.java deleted file mode 100644 index fb47bb5..0000000 --- a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/prefs/PluginPreferencePage.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.plantuml.prefs; - -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.List; - -import org.eclipse.jface.preference.ComboFieldEditor; -import org.eclipse.jface.preference.FieldEditorPreferencePage; -import org.eclipse.jface.preference.FileFieldEditor; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; - -import de.sebthom.eclipse.commons.prefs.fieldeditor.GroupFieldEditor; -import net.sf.jstuff.core.SystemUtils; - -/** - * @author Sebastian Thomschke - */ -public final class PluginPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { - - @Override - protected void createFieldEditors() { - final var parent = getFieldEditorParent(); - - final var layoutEngineCombo = new ComboFieldEditor(PluginPreferences.PREF_PLANTUML_LAYOUT_ENGINE, "PlantUML Layout Engine:", - new String[][] { // - {"GraphViz DOT (external)", "dot"}, // - {"Smetana (built-in)", "smetana"} // - }, parent); - addField(layoutEngineCombo); - - addField(new GroupFieldEditor("External layout engine", parent, group -> List.of( // - new FileFieldEditor(PluginPreferences.PREF_GRAPHVIZ_DOT_EXE, "GraphViz dot Executable", group) { - @Override - protected boolean checkState() { - final var layoutEngine = layoutEngineCombo.getPreferenceStore().getString(layoutEngineCombo.getPreferenceName()); - - if (!"smetana".equals(layoutEngine)) - return true; - - String msg = null; - final String path = getTextControl().getText().trim(); - if (path.isEmpty()) { - msg = "The name of the GraphViz dot command must be specified!"; - } else if (path.contains("/") || path.contains("\\")) { - if (!Files.exists(Path.of(path))) { - msg = "Given path does not point to an existing file!"; - } else if (!Files.isExecutable(Path.of(path))) { - msg = "Given path does not point to an executable file!"; - } - } else { - if (SystemUtils.findExecutable(path, false) == null) { - msg = "The GraphViz dot executable cannot be found on PATH!"; - } - } - - if (msg != null) { // error - showErrorMessage(msg); - return false; - } - - clearErrorMessage(); - return true; - } - }))); - } - - public PluginPreferencePage() { - super(FieldEditorPreferencePage.GRID); - } - - @Override - public void init(final IWorkbench workbench) { - setPreferenceStore(PluginPreferences.STORE); - } -} diff --git a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/prefs/PluginPreferences.java b/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/prefs/PluginPreferences.java deleted file mode 100644 index 06e8bfb..0000000 --- a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/prefs/PluginPreferences.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.plantuml.prefs; - -import java.io.IOException; - -import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; -import org.eclipse.jface.preference.IPersistentPreferenceStore; -import org.eclipse.jface.util.IPropertyChangeListener; - -import de.sebthom.eclipse.previewer.plantuml.Plugin; -import net.sf.jstuff.core.io.RuntimeIOException; - -/** - * @author Sebastian Thomschke - */ -public final class PluginPreferences { - - public static final class Initializer extends AbstractPreferenceInitializer { - - @Override - public void initializeDefaultPreferences() { - STORE.setDefault(PREF_PLANTUML_LAYOUT_ENGINE, "smetana"); - STORE.setDefault(PREF_GRAPHVIZ_DOT_EXE, "dot"); - } - } - - public static final IPersistentPreferenceStore STORE = Plugin.get().getPreferenceStore(); - - public static final String PREF_PLANTUML_LAYOUT_ENGINE = "plantumlLayoutEngine"; - public static final String PREF_GRAPHVIZ_DOT_EXE = "graphvizDotExe"; - - public static void addListener(final IPropertyChangeListener listener) { - STORE.addPropertyChangeListener(listener); - } - - public static void removeListener(final IPropertyChangeListener listener) { - STORE.removePropertyChangeListener(listener); - } - - public static void save() { - if (STORE.needsSaving()) { - try { - STORE.save(); - } catch (final IOException ex) { - throw new RuntimeIOException(ex); - } - } - } - - public static String getPlantUmlLayoutEngine() { - return STORE.getString(PREF_PLANTUML_LAYOUT_ENGINE); - } - - public static String getGraphvizDotExe() { - return STORE.getString(PREF_GRAPHVIZ_DOT_EXE); - } - - private PluginPreferences() { - } -} diff --git a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/prefs/package-info.java b/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/prefs/package-info.java deleted file mode 100644 index f6d42a0..0000000 --- a/plugin-plantuml/src/main/java/de/sebthom/eclipse/previewer/plantuml/prefs/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.plantuml.prefs; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-textmate/.settings/org.eclipse.jdt.core.prefs b/plugin-textmate/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index b1dda13..0000000 --- a/plugin-textmate/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,123 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.annotationPath.allLocations=enabled -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.notowning=org.eclipse.jdt.annotation.NotOwning -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled -org.eclipse.jdt.core.compiler.annotation.owning=org.eclipse.jdt.annotation.Owning -org.eclipse.jdt.core.compiler.annotation.resourceanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=17 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompatibleOwningContract=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.insufficientResourceAnalysis=warning -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=error -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=warning -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=enabled -org.eclipse.jdt.core.compiler.source=17 diff --git a/plugin-textmate/META-INF/MANIFEST.MF b/plugin-textmate/META-INF/MANIFEST.MF deleted file mode 100644 index d10ede2..0000000 --- a/plugin-textmate/META-INF/MANIFEST.MF +++ /dev/null @@ -1,25 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %PluginName -Bundle-SymbolicName: de.sebthom.eclipse.previewer.textmate;singleton:=true -Bundle-Version: 1.0.0.qualifier -Bundle-Vendor: Sebastian Thomschke -Bundle-Localization: src/main/java/de/sebthom/eclipse/previewer/textmate/localization/messages -Automatic-Module-Name: de.sebthom.eclipse.previewer.textmate -Bundle-Activator: de.sebthom.eclipse.previewer.textmate.Plugin -Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-17 -Bundle-ClassPath: . -Require-Bundle: org.eclipse.platform;bundle-version="4.29.0", - org.eclipse.core.runtime, - org.eclipse.jface, - org.eclipse.jface.text, - org.eclipse.osgi, - org.eclipse.ui.ide, - org.eclipse.ui.workbench.texteditor, - org.eclipse.tm4e.core;bundle-version="0.15.0", - org.eclipse.tm4e.registry;bundle-version="0.15.0", - org.eclipse.tm4e.ui;bundle-version="0.15.0", - de.sebthom.eclipse.commons;bundle-version="[1.0.0.20251127-1946,2.0.0)", - de.sebthom.eclipse.previewer;bundle-version="[1.0.0,2.0.0)", - net.sf.jstuff.core;bundle-version="8.2.0" diff --git a/plugin-textmate/about.ini b/plugin-textmate/about.ini deleted file mode 100644 index 61b59dd..0000000 --- a/plugin-textmate/about.ini +++ /dev/null @@ -1,12 +0,0 @@ -# https://ekkescorner.wordpress.com/2010/06/13/brand-your-feature-and-be-part-of-about-eclipse/ -aboutText=\ -Previewer plugin to preview TextMate Grammars.\n\ -\n\ -Copyright 2025 by Sebastian Thomschke and contributors.\n\ -\n\ -All rights reserved. This program and the accompanying materials \ -are made available under the terms of the Eclipse Public License v2.0 \ -which accompanies this distribution, and is available at \ -https://www.eclipse.org/legal/epl-v20.html\n\ -\n\ -Visit https://github.com/sebthom/previewer-eclipse-plugin diff --git a/plugin-textmate/build.properties b/plugin-textmate/build.properties deleted file mode 100644 index 9fa43e5..0000000 --- a/plugin-textmate/build.properties +++ /dev/null @@ -1,11 +0,0 @@ -source.. = src/main/java/ -output.. = target/classes/ -bin.includes = META-INF/,\ - .,\ - plugin.xml,\ - about.ini,\ - src/main/java/de/sebthom/eclipse/previewer/textmate/localization/ -bin.excludes = src/main/java/de/sebthom/eclipse/previewer/textmate/localization/Messages.java - -# JDT Null Analysis for Eclipse -additional.bundles = org.eclipse.jdt.annotation diff --git a/plugin-textmate/plugin.xml b/plugin-textmate/plugin.xml deleted file mode 100644 index be9294e..0000000 --- a/plugin-textmate/plugin.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - diff --git a/plugin-textmate/pom.xml b/plugin-textmate/pom.xml deleted file mode 100644 index f205c1e..0000000 --- a/plugin-textmate/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - 4.0.0 - - - de.sebthom.eclipse.previewer - de.sebthom.eclipse.previewer.parent - 1.0.0-SNAPSHOT - - - de.sebthom.eclipse.previewer.textmate - eclipse-plugin - - - - true - - - - \ No newline at end of file diff --git a/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/Constants.java b/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/Constants.java deleted file mode 100644 index 119ccd6..0000000 --- a/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/Constants.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.textmate; - -/** - * @author Sebastian Thomschke - */ -public interface Constants { -} diff --git a/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/Plugin.java b/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/Plugin.java deleted file mode 100644 index eb83c65..0000000 --- a/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/Plugin.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.textmate; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.asNonNull; - -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jface.resource.ImageRegistry; -import org.osgi.framework.BundleContext; - -import de.sebthom.eclipse.commons.AbstractEclipsePlugin; -import de.sebthom.eclipse.commons.BundleResources; -import de.sebthom.eclipse.commons.logging.PluginLogger; -import de.sebthom.eclipse.commons.logging.StatusFactory; -import net.sf.jstuff.core.reflection.Fields; - -/** - * @author Sebastian Thomschke - */ -public class Plugin extends AbstractEclipsePlugin { - - /** - * during runtime you can get ID with getBundle().getSymbolicName() - */ - public static final String PLUGIN_ID = asNonNull(Plugin.class.getPackage()).getName().replace('_', '-'); - - private static @Nullable Plugin instance; - - /** - * @return the shared instance - */ - public static Plugin get() { - return asNonNull(instance, "Default plugin instance is still null."); - } - - public static boolean isInitialized() { - return instance != null; - } - - public static PluginLogger log() { - return get().getLogger(); - } - - public static BundleResources resources() { - return get().getBundleResources(); - } - - public static StatusFactory status() { - return get().getStatusFactory(); - } - - @Override - public BundleResources getBundleResources() { - var bundleResources = this.bundleResources; - if (bundleResources == null) { - bundleResources = this.bundleResources = new BundleResources(this, "src/main/resources"); - } - return bundleResources; - } - - @Override - protected void initializeImageRegistry(final ImageRegistry registry) { - for (final var field : Constants.class.getFields()) { - if (Fields.isStatic(field) && field.getType() == String.class && field.getName().startsWith("IMAGE_")) { - final String imagePath = Fields.read(null, field); - if (imagePath != null) { - registerImage(registry, imagePath); - } - } - } - } - - @Override - public void start(final BundleContext context) throws Exception { - super.start(context); - instance = this; - } - - @Override - public void stop(final BundleContext context) throws Exception { - instance = null; - super.stop(context); - } -} diff --git a/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/TextMatePreviewRenderer.java b/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/TextMatePreviewRenderer.java deleted file mode 100644 index e7013a1..0000000 --- a/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/TextMatePreviewRenderer.java +++ /dev/null @@ -1,351 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.textmate; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.*; -import static org.eclipse.tm4e.registry.TMEclipseRegistryPlugin.getGrammarRegistryManager; -import static org.eclipse.tm4e.ui.TMUIPlugin.*; - -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.Reader; -import java.net.URI; -import java.nio.charset.StandardCharsets; -import java.nio.file.Path; -import java.util.Collection; -import java.util.Objects; - -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jface.layout.GridLayoutFactory; -import org.eclipse.jface.resource.FontDescriptor; -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.jface.text.Document; -import org.eclipse.jface.text.DocumentEvent; -import org.eclipse.jface.text.IDocumentListener; -import org.eclipse.jface.text.presentation.IPresentationReconciler; -import org.eclipse.jface.text.source.ISourceViewer; -import org.eclipse.jface.text.source.SourceViewer; -import org.eclipse.jface.text.source.SourceViewerConfiguration; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.StyledText; -import org.eclipse.swt.events.PaintListener; -import org.eclipse.swt.graphics.Font; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.graphics.Rectangle; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Link; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.swt.widgets.MenuItem; -import org.eclipse.tm4e.core.grammar.IGrammar; -import org.eclipse.tm4e.core.registry.IGrammarSource; -import org.eclipse.tm4e.core.registry.IRegistryOptions; -import org.eclipse.tm4e.core.registry.Registry; -import org.eclipse.tm4e.registry.IGrammarDefinition; -import org.eclipse.tm4e.registry.ITMScope; -import org.eclipse.tm4e.ui.samples.ISample; -import org.eclipse.tm4e.ui.text.TMPresentationReconciler; -import org.eclipse.tm4e.ui.themes.ITheme; - -import de.sebthom.eclipse.commons.ui.UI; -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.api.PreviewRenderer; - -/** - * @author Sebastian Thomschke - */ -public class TextMatePreviewRenderer implements PreviewRenderer { - - private static IGrammarSource.ContentType detectContentType(final Path path) { - final String name = path.getFileName().toString().toLowerCase(); - if (name.endsWith(".json") || name.endsWith(".tmlanguage.json")) - return IGrammarSource.ContentType.JSON; - if (name.endsWith(".yaml") || name.endsWith(".yml") || name.endsWith(".tmlanguage.yaml")) - return IGrammarSource.ContentType.YAML; - // default to XML/plist - return IGrammarSource.ContentType.XML; - } - - private final TMPresentationReconciler reconciler = new TMPresentationReconciler(); - private SourceViewer viewer = lateNonNull(); - - private float zoom = 1.0f; - private @Nullable Font zoomedFont; - - private @Nullable ITheme selectedTheme; - private Link themeLink = lateNonNull(); - - private @Nullable Path lastPath; - private long lastModified; - private boolean lastSynced; - private int lastContentHash; - - private final IDocumentListener placeholderUpdatingDocumentListener = new IDocumentListener() { - @Override - public void documentAboutToBeChanged(final DocumentEvent event) { - } - - @Override - public void documentChanged(final DocumentEvent event) { - final boolean isDocumentEmpty = event.fDocument.getLength() == 0; - if (placeholderVisible != isDocumentEmpty) { - placeholderVisible = isDocumentEmpty; - final var st = viewer.getTextWidget(); - if (!st.isDisposed()) { - st.redraw(); - } - } - } - }; - private boolean placeholderVisible = true; - private final PaintListener placeholderPainter = e -> { - if (!placeholderVisible) - return; - final StyledText st = viewer.getTextWidget(); - if (st.isDisposed()) - return; - final var old = e.gc.getForeground(); - e.gc.setForeground(st.getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY)); - e.gc.drawText("Type or paste sample text...", st.getLeftMargin(), st.getTopMargin(), true); - e.gc.setForeground(old); - }; - - private void applyZoom() { - final var textWidget = viewer.getTextWidget(); - if (textWidget == null || textWidget.isDisposed()) - return; - - UI.run(() -> { - if (textWidget.isDisposed()) - return; - final Font baseFont = JFaceResources.getTextFont(); - final Font newFont = FontDescriptor.createFrom(baseFont) // - .setHeight(Math.max(1, Math.round(baseFont.getFontData()[0].getHeight() * zoom))) // - .createFont(UI.getDisplay()); - - final var old = zoomedFont; - zoomedFont = newFont; - textWidget.setFont(newFont); - if (old != null && !old.isDisposed()) { - old.dispose(); - } - }); - } - - private Menu buildThemeMenu(final Control anchor) { - final var menu = new Menu(anchor.getShell(), SWT.POP_UP); - - // First entry: use associated/default theme - final var useAssoc = new MenuItem(menu, SWT.CHECK); - useAssoc.setText("Use associated/default"); - useAssoc.setSelection(selectedTheme == null); - useAssoc.addListener(SWT.Selection, e -> setTheme(null)); - - @SuppressWarnings("unused") - final var seperator = new MenuItem(menu, SWT.SEPARATOR); - - // List themes with check mark on the selected one - final String selectedId = selectedTheme == null ? null : selectedTheme.getId(); - for (final ITheme theme : getThemeManager().getThemes()) { - final var mi = new MenuItem(menu, SWT.CHECK); - mi.setText(theme.getName()); - mi.setSelection(selectedId != null && selectedId.equals(theme.getId())); - mi.addListener(SWT.Selection, e -> setTheme(theme)); - } - - return menu; - } - - @Override - public void dispose() { - final var vf = zoomedFont; - if (vf != null && !vf.isDisposed()) { - vf.dispose(); - } - zoomedFont = null; - - final var st = viewer.getTextWidget(); - if (!st.isDisposed()) { - st.removePaintListener(placeholderPainter); - } - } - - @Override - public float getZoom() { - return zoom; - } - - @Override - public void init(final Composite parent) { - final var root = new Composite(parent, SWT.NONE); - root.setLayout(GridLayoutFactory.fillDefaults().spacing(0, 0).numColumns(1).create()); - - // custom toolbar with right padding: link + spacer - final var toolBar = new Composite(root, SWT.NONE); - toolBar.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); - toolBar.setLayout(GridLayoutFactory.fillDefaults().extendedMargins(0, 16, 0, 0).numColumns(2).create()); - - themeLink = new Link(toolBar, SWT.NONE); - themeLink.setLayoutData(new GridData(SWT.END, SWT.CENTER, true, false)); - themeLink.setText("Theme:"); - themeLink.addListener(SWT.Selection, e -> { - final Menu menu = buildThemeMenu(themeLink); - final Rectangle rect = themeLink.getBounds(); - final Point pt = themeLink.toDisplay(0, rect.height); - menu.setLocation(pt.x, pt.y); - menu.setVisible(true); - }); - - viewer = new SourceViewer(root, null, null, false, org.eclipse.swt.SWT.BORDER | org.eclipse.swt.SWT.V_SCROLL - | org.eclipse.swt.SWT.H_SCROLL); - viewer.getTextWidget().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); - viewer.configure(new SourceViewerConfiguration() { - @Override - public IPresentationReconciler getPresentationReconciler(final @Nullable ISourceViewer sourceViewer) { - return reconciler; - } - }); - - // setting up placeholder text - viewer.getTextWidget().addPaintListener(placeholderPainter); - final var document = new Document(); - viewer.setDocument(document); - document.addDocumentListener(placeholderUpdatingDocumentListener); - - setTheme(null); - } - - private Registry newTemporaryRegistry() { - return new Registry(new IRegistryOptions() { - @Override - public @Nullable Collection getInjections(final String scopeName) { - return getGrammarRegistryManager().getInjections(ITMScope.parse(scopeName)); - } - }) { - @Override - protected @Nullable IGrammarSource _grammarSourceForScopeName(final String scopeName) { - final IGrammarSource src = super._grammarSourceForScopeName(scopeName); - if (src != null) - return src; - - // Fallback to TM4E manager: provide sources for included grammars - for (final IGrammarDefinition def : getGrammarRegistryManager().getDefinitions()) { - final ITMScope scope = def.getScope(); - if (scopeName.equals(scope.getQualifiedName()) || scopeName.equals(scope.getName())) - return new IGrammarSource() { - @Override - public long getLastModified() { - return def.getLastModified(); - } - - @Override - public Reader getReader() throws IOException { - return new InputStreamReader(def.getInputStream(), StandardCharsets.UTF_8); - } - - @Override - public URI getURI() { - return def.getURI(); - } - }; - } - return null; - } - - @Override - public @Nullable IGrammar grammarForScopeName(final String scopeName) { - final IGrammar grammar = super.grammarForScopeName(scopeName); - return grammar == null // - ? getGrammarRegistryManager().getGrammarForScope(ITMScope.parse(scopeName)) - : grammar; - } - - @Override - public @Nullable IGrammar loadGrammar(final String initialScopeName) { - final IGrammar grammar = super.loadGrammar(initialScopeName); - return grammar == null // - ? getGrammarRegistryManager().getGrammarForScope(ITMScope.parse(initialScopeName)) - : grammar; - } - }; - } - - @Override - public boolean render(final ContentSource source, final boolean forceCacheUpdate) throws IOException { - final Path path = source.path(); - final boolean isSynced = source.isSynced(); - - String content = null; - long modified = 0L; - int contentHash = 0; - if (isSynced) { - modified = source.lastModified(); - } else { - content = source.contentAsString(); - contentHash = content.hashCode(); - } - - final boolean needsUpdate = forceCacheUpdate // - || lastSynced != isSynced // - || (isSynced ? lastModified != modified : lastContentHash != contentHash) // - || !Objects.equals(lastPath, path); - lastPath = path; - lastModified = modified; - lastSynced = isSynced; - lastContentHash = contentHash; - - // always claim we can render these sources (extension filtering happens at extension layer) - if (!needsUpdate) - return true; - - final var gs = isSynced // - ? IGrammarSource.fromFile(path) - : IGrammarSource.fromString(detectContentType(path), asNonNull(content)); - - final IGrammar grammar = newTemporaryRegistry().addGrammar(gs); - - final ISample[] samples = getSampleManager().getSamples(grammar.getScopeName()); - final String sampleText = samples.length > 0 ? samples[0].getContent() : ""; - - UI.run(() -> { - reconciler.setGrammar(grammar); - setTheme(selectedTheme); - asNonNull(viewer.getDocument()).set(sampleText); - applyZoom(); - }); - return true; - } - - private void setTheme(@Nullable ITheme theme) { - selectedTheme = theme; - if (theme == null) { - final var grammar = reconciler.getGrammar(); - theme = grammar == null // - ? getThemeManager().getDefaultTheme() - : getThemeManager().getThemeForScope(grammar.getScopeName()); - } - reconciler.setTheme(theme); - final StyledText styledText = viewer.getTextWidget(); - styledText.setFont(JFaceResources.getTextFont()); - styledText.setForeground(null); - styledText.setBackground(null); - theme.initializeViewerColors(styledText); - themeLink.setText("Theme:
    " + theme.getName() + ""); - themeLink.pack(); - final var parent = themeLink.getParent(); - if (parent != null && !parent.isDisposed()) { - parent.layout(true, true); - } - } - - @Override - public void setZoom(final float level) { - zoom = level <= 0 ? 1.0f : level; - applyZoom(); - } -} diff --git a/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/localization/Messages.java b/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/localization/Messages.java deleted file mode 100644 index 113327e..0000000 --- a/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/localization/Messages.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.textmate.localization; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.lateNonNull; - -import de.sebthom.eclipse.commons.localization.MessagesInitializer; - -/** - * @author Sebastian Thomschke - */ -public final class Messages { - - private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; - - // Keys with default values directly assigned in this class are only used by Java classes. - // Keys without default values are loaded from messages.properties, because they are also referenced in plugin.xml - - // CHECKSTYLE:IGNORE .* FOR NEXT 100 LINES - - public static String PluginName = lateNonNull(); - - static { - MessagesInitializer.initializeMessages(BUNDLE_NAME, Messages.class); - } - - private Messages() { - } -} diff --git a/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/localization/messages.properties b/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/localization/messages.properties deleted file mode 100644 index 1ee205e..0000000 --- a/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/localization/messages.properties +++ /dev/null @@ -1,2 +0,0 @@ -PluginName=Previewer: TextMate -PreferencePageName=TextMate diff --git a/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/localization/package-info.java b/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/localization/package-info.java deleted file mode 100644 index b8bab18..0000000 --- a/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/localization/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.textmate.localization; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/package-info.java b/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/package-info.java deleted file mode 100644 index 80f86e7..0000000 --- a/plugin-textmate/src/main/java/de/sebthom/eclipse/previewer/textmate/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.textmate; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin/.settings/org.eclipse.jdt.core.prefs b/plugin/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 9dab7af..0000000 --- a/plugin/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,117 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.annotationPath.allLocations=enabled -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.notowning=org.eclipse.jdt.annotation.NotOwning -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled -org.eclipse.jdt.core.compiler.annotation.owning=org.eclipse.jdt.annotation.Owning -org.eclipse.jdt.core.compiler.annotation.resourceanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 -org.eclipse.jdt.core.compiler.compliance=17 -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompatibleOwningContract=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.insufficientResourceAnalysis=warning -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=error -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=warning -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=enabled -org.eclipse.jdt.core.compiler.source=17 diff --git a/plugin/META-INF/MANIFEST.MF b/plugin/META-INF/MANIFEST.MF deleted file mode 100644 index 5c412bc..0000000 --- a/plugin/META-INF/MANIFEST.MF +++ /dev/null @@ -1,36 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %PluginName -Bundle-SymbolicName: de.sebthom.eclipse.previewer;singleton:=true -Bundle-Version: 1.0.0.qualifier -Bundle-Vendor: Sebastian Thomschke -Bundle-Localization: src/main/java/de/sebthom/eclipse/previewer/localization/messages -Automatic-Module-Name: de.sebthom.eclipse.previewer -Bundle-Activator: de.sebthom.eclipse.previewer.Plugin -Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-17 -Bundle-ClassPath: . -Export-Package: de.sebthom.eclipse.previewer.api, - de.sebthom.eclipse.previewer.util;x-friends:=" - de.sebthom.eclipse.previewer.d2, - de.sebthom.eclipse.previewer.drawio, - de.sebthom.eclipse.previewer.graphviz, - de.sebthom.eclipse.previewer.markdown, - de.sebthom.eclipse.previewer.mermaid, - de.sebthom.eclipse.previewer.plantuml" -Require-Bundle: org.eclipse.platform;bundle-version="4.25.0", - org.eclipse.core.filesystem, - org.eclipse.core.resources, - org.eclipse.core.runtime, - org.eclipse.compare, - org.eclipse.osgi, - org.eclipse.jface, - org.eclipse.jface.text, - org.eclipse.ui, - org.eclipse.ui.editors, - org.eclipse.ui.ide, - org.apache.commons.commons-csv;bundle-version="[1.14.1,2.0.0)", - org.apache.commons.commons-io;bundle-version="[2.20.0,3.0.0)", - org.apache.commons.lang3;bundle-version="[3.19.0,4.0.0)", - net.sf.jstuff.core;bundle-version="[8.2.0,9.0.0)", - de.sebthom.eclipse.commons;bundle-version="[1.0.0.20251127-1946,2.0.0)" diff --git a/plugin/about.ini b/plugin/about.ini deleted file mode 100644 index d320e81..0000000 --- a/plugin/about.ini +++ /dev/null @@ -1,13 +0,0 @@ -# https://ekkescorner.wordpress.com/2010/06/13/brand-your-feature-and-be-part-of-about-eclipse/ -featureImage=src/main/resources/images/logo@2x.png -aboutText=\ -Eclipse view that displays rendered versions of files (e.g. Markdown, GraphViz, SVG).\n\ -\n\ -Copyright 2024 by Sebastian Thomschke and contributors.\n\ -\n\ -All rights reserved. This program and the accompanying materials \ -are made available under the terms of the Eclipse Public License v2.0 \ -which accompanies this distribution, and is available at \ -https://www.eclipse.org/legal/epl-v20.html\n\ -\n\ -Visit https://github.com/sebthom/previewer-eclipse-plugin diff --git a/plugin/build.properties b/plugin/build.properties deleted file mode 100644 index 20aa454..0000000 --- a/plugin/build.properties +++ /dev/null @@ -1,13 +0,0 @@ -source.. = src/main/java/ -output.. = target/classes/ -bin.includes = META-INF/,\ - .,\ - plugin.xml,\ - about.ini,\ - schema/renderers.exsd,\ - src/main/resources/,\ - src/main/java/de/sebthom/eclipse/previewer/localization/ -bin.excludes = src/main/java/de/sebthom/eclipse/previewer/localization/Messages.java - -# JDT Null Analysis for Eclipse -additional.bundles = org.eclipse.jdt.annotation diff --git a/plugin/plugin.xml b/plugin/plugin.xml deleted file mode 100644 index 0ade7db..0000000 --- a/plugin/plugin.xml +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugin/pom.xml b/plugin/pom.xml deleted file mode 100644 index 0859424..0000000 --- a/plugin/pom.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - 4.0.0 - - - de.sebthom.eclipse.previewer - de.sebthom.eclipse.previewer.parent - 1.0.0-SNAPSHOT - - - previewer-eclipse-plugin - de.sebthom.eclipse.previewer - eclipse-plugin - - - - true - - - - \ No newline at end of file diff --git a/plugin/schema/renderers.exsd b/plugin/schema/renderers.exsd deleted file mode 100644 index 4f24d71..0000000 --- a/plugin/schema/renderers.exsd +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - Extension point to register preview renderers. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a comma-separated list of file extensions for files supported by this renderer - - - - - - - a comma-separated list of file names for files supported by this renderer - - - - - - - a comma-separated list of file path patterns for files supported by this renderer - - - - - - - - - - - - - - - - - - - - - - - - - a comma-separated list of file extensions for files supported by this renderer - - - - - - - a comma-separated list of file names for files supported by this renderer - - - - - - - a comma-separated list of file path patterns for files supported by this renderer - - - - - - - - - - Content-type of files supported by this renderer - - - - - - - - - - - - - - - - - - - 1.0 - - - - - - - - diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/Constants.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/Constants.java deleted file mode 100644 index 8a765a2..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/Constants.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer; - -/** - * @author Sebastian Thomschke - */ -public interface Constants { - - String IMAGE_ICON = "src/main/resources/images/logo.png"; - - String IMAGE_ZOOM_IN = "src/main/resources/images/zoomIn.png"; - String IMAGE_ZOOM_IN_2X = "src/main/resources/images/zoomIn@2x.png"; - - String IMAGE_ZOOM_OUT = "src/main/resources/images/zoomOut.png"; - String IMAGE_ZOOM_OUT_2X = "src/main/resources/images/zoomOut@2x.png"; - - String IMAGE_ZOOM_RESET = "src/main/resources/images/zoomReset.png"; - String IMAGE_ZOOM_RESET_2X = "src/main/resources/images/zoomReset@2x.png"; - - String IMAGE_REFRESH = "src/main/resources/images/refresh.png"; - String IMAGE_REFRESH_2X = "src/main/resources/images/refresh@2x.png"; - - String IMAGE_SETTINGS = "src/main/resources/images/settings.png"; - String IMAGE_SETTINGS_2X = "src/main/resources/images/settings@2x.png"; - - String EXTENSION_POINT_RENDERERS = "renderers"; -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/Plugin.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/Plugin.java deleted file mode 100644 index 2bc630f..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/Plugin.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.asNonNull; - -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.Platform; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jface.resource.ImageRegistry; -import org.osgi.framework.BundleContext; - -import de.sebthom.eclipse.commons.AbstractEclipsePlugin; -import de.sebthom.eclipse.commons.BundleResources; -import de.sebthom.eclipse.commons.logging.PluginLogger; -import de.sebthom.eclipse.commons.logging.StatusFactory; -import net.sf.jstuff.core.reflection.Fields; - -/** - * @author Sebastian Thomschke - */ -public class Plugin extends AbstractEclipsePlugin { - - /** - * during runtime you can get ID with getBundle().getSymbolicName() - */ - public static final String PLUGIN_ID = asNonNull(Plugin.class.getPackage()).getName().replace('_', '-'); - - private static @Nullable Plugin instance; - - /** - * @return the shared instance - */ - public static Plugin get() { - return asNonNull(instance, "Default plugin instance is still null."); - } - - public static boolean isInitialized() { - return instance != null; - } - - public static PluginLogger log() { - return get().getLogger(); - } - - public static BundleResources resources() { - return get().getBundleResources(); - } - - public static StatusFactory status() { - return get().getStatusFactory(); - } - - @Override - public BundleResources getBundleResources() { - var bundleResources = this.bundleResources; - if (bundleResources == null) { - bundleResources = this.bundleResources = new BundleResources(this, "src/main/resources"); - } - return bundleResources; - } - - public static IConfigurationElement[] getExtensionConfigurations(final String extensionPointSimpleId) { - return Platform.getExtensionRegistry().getConfigurationElementsFor(Plugin.PLUGIN_ID, extensionPointSimpleId); - } - - @Override - protected void initializeImageRegistry(final ImageRegistry registry) { - for (final var field : Constants.class.getFields()) { - if (Fields.isStatic(field) && field.getType() == String.class && field.getName().startsWith("IMAGE_")) { - final String imagePath = Fields.read(null, field); - if (imagePath != null) { - registerImage(registry, imagePath); - } - } - } - } - - @Override - public void start(final BundleContext context) throws Exception { - super.start(context); - instance = this; - } - - @Override - public void stop(final BundleContext context) throws Exception { - instance = null; - super.stop(context); - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/api/ContentSource.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/api/ContentSource.java deleted file mode 100644 index 6df8365..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/api/ContentSource.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.api; - -import java.io.IOException; -import java.io.InputStream; -import java.io.Reader; -import java.nio.file.Path; -import java.util.List; - -import org.eclipse.core.runtime.content.IContentType; - -import de.sebthom.eclipse.previewer.util.ContentSources.ContentSourceSnapshot; - -/** - * @author Sebastian Thomschke - */ -public interface ContentSource { - - InputStream contentAsInputStream() throws IOException; - - Reader contentAsReader() throws IOException; - - String contentAsString() throws IOException; - - List contentTypes(); - - boolean isSnapshot(); - - boolean isSynced(); - - long lastModified() throws IOException; - - /** - * @return the source identity path. File-backed sources return an absolute filesystem path; virtual sources may return a synthetic - * path that is only meant for renderer matching, cache keys, and display labels. - */ - Path path(); - - /** - * @return a compact path label for preview UI messages, using the filename and its direct parent when available. - */ - default String shortDisplayPath() { - final Path path = path(); - final Path fileName = path.getFileName(); - if (fileName == null) - return path.toString(); - - final Path parent = path.getParent(); - if (parent == null) - return fileName.toString(); - - final Path parentFileName = parent.getFileName(); - // This is UI text, not a filesystem-relative path: root-level files and virtual sources may not have two name elements. - return parentFileName == null ? fileName.toString() : parentFileName.resolve(fileName).toString(); - } - - /** - * @return an immutable source snapshot, or this source itself when it is already a snapshot. - */ - default ContentSource snapshot() throws IOException { - return isSnapshot() // - ? this - : new ContentSourceSnapshot(path(), contentAsString(), lastModified(), contentTypes()); - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/api/HtmlPreviewRenderer.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/api/HtmlPreviewRenderer.java deleted file mode 100644 index dae5cba..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/api/HtmlPreviewRenderer.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.api; - -import java.io.IOException; - -import org.eclipse.ui.services.IDisposable; - -/** - * Specialized renderer that renders the given {@link ContentSource} to an HTML representation. - * - * @author Sebastian Thomschke - */ -public interface HtmlPreviewRenderer extends IDisposable { - void renderToHtml(ContentSource source, Appendable out) throws IOException; -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/api/PreviewRenderer.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/api/PreviewRenderer.java deleted file mode 100644 index 0665a2d..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/api/PreviewRenderer.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.api; - -import java.io.IOException; - -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.ui.services.IDisposable; - -/** - * Renderer that renders the given {@link ContentSource} into a {@link Control} managed by the renderer - * - * @author Sebastian Thomschke - */ -public interface PreviewRenderer extends IDisposable { - - /** - * @param parent the parent under which the renderer places the rendering UI components - */ - void init(Composite parent); - - /** - * @return true if rendering of the given {@link ContentSource} is supported and rendering was performed. - */ - boolean render(ContentSource source, boolean forceCacheUpdate) throws IOException; - - float getZoom(); - - /** - * @param level 1.0f means no zoom - */ - void setZoom(float level); -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/api/package-info.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/api/package-info.java deleted file mode 100644 index 39c787a..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/api/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.api; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/cache/AbstractRenderCache.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/cache/AbstractRenderCache.java deleted file mode 100644 index e22ff6f..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/cache/AbstractRenderCache.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.cache; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; - -import org.apache.commons.io.FileUtils; -import org.apache.commons.lang3.SystemUtils; - -import de.sebthom.eclipse.previewer.Plugin; -import net.sf.jstuff.core.security.Hash; - -/** - * @author Sebastian Thomschke - */ -abstract class AbstractRenderCache implements RenderCache { - - static final Path SOURCE_PATH_FILE = Path.of("source_path"); - - final Path cacheRoot; - - AbstractRenderCache(final String cacheFolderName) { - cacheRoot = SystemUtils.getJavaIoTmpDir().toPath().resolve(Plugin.PLUGIN_ID).resolve(cacheFolderName); - Plugin.log().info("Initializing render cache folder [{0}]...", cacheRoot); - try { - if (Files.isRegularFile(cacheRoot)) { - Files.delete(cacheRoot); - } - - Files.createDirectories(cacheRoot); - } catch (final IOException ex) { - Plugin.log().error(ex); - } - - removeStaleCacheEntries(); - } - - Path getCacheEntryDir(final Path sourcePath) { - return cacheRoot.resolve(Hash.SHA256.hash(sourcePath.toString())); - } - - private void removeStaleCacheEntries() { - try (var cacheEntryDirs = Files.newDirectoryStream(cacheRoot)) { - for (final Path cacheEntryDir : cacheEntryDirs) { - try { - final var sourcePathFile = cacheEntryDir.resolve(SOURCE_PATH_FILE); - if (Files.exists(sourcePathFile)) { - final var sourcePath = Path.of(Files.readString(sourcePathFile)); - if (Files.exists(sourcePath)) { - continue; - } - } - Plugin.log().info("Deleting stale cache dir [{0}]...", cacheEntryDir); - FileUtils.deleteDirectory(cacheEntryDir.toFile()); - } catch (final IOException ex) { - Plugin.log().error(ex); - } - } - } catch (final IOException ex) { - Plugin.log().error(ex); - } - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/cache/RenderCache.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/cache/RenderCache.java deleted file mode 100644 index da6fdb9..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/cache/RenderCache.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.cache; - -import java.io.IOException; -import java.nio.file.Path; - -import org.eclipse.jdt.annotation.Nullable; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import net.sf.jstuff.core.functional.ThrowingFunction; - -/** - * @author Sebastian Thomschke - */ -public interface RenderCache { - - @Nullable - Path computeIfAbsent(ContentSource source, ThrowingFunction renderer, - String fileExtension) throws IOException; - - @Nullable - Path replace(ContentSource source, ThrowingFunction renderer, String fileExtension) - throws IOException; - - @Nullable - Path get(ContentSource source, String fileExtension); - - Path put(ContentSource source, CharSequence renderedContent, String fileExtension) throws IOException; -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/cache/RenderCacheByLastModified.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/cache/RenderCacheByLastModified.java deleted file mode 100644 index 65a3d39..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/cache/RenderCacheByLastModified.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.cache; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.attribute.FileTime; - -import org.apache.commons.io.FileUtils; -import org.eclipse.jdt.annotation.Nullable; - -import de.sebthom.eclipse.previewer.Plugin; -import de.sebthom.eclipse.previewer.api.ContentSource; -import net.sf.jstuff.core.functional.ThrowingFunction; - -/** - * @author Sebastian Thomschke - */ -public final class RenderCacheByLastModified extends AbstractRenderCache { - - public RenderCacheByLastModified(final String cacheFolderName) { - super(cacheFolderName); - } - - @Override - public @Nullable Path computeIfAbsent(final ContentSource source, - final ThrowingFunction renderer, final String fileExtension) - throws IOException { - final Path renderedContentPath = get(source, fileExtension); - if (renderedContentPath != null) - return renderedContentPath; - final CharSequence renderedContent = renderer.apply(source); - return renderedContent == null // - ? null - : put(source, renderedContent, fileExtension); - } - - @Override - public @Nullable Path get(final ContentSource source, final String fileExtension) { - final Path cacheDir = getCacheEntryDir(source.path()); - if (!Files.exists(cacheDir)) - return null; - - try { - final Path renderedContentPath = getRenderedContentFilePath(cacheDir, fileExtension); - if (renderedContentPath.toFile().lastModified() == source.lastModified()) - return renderedContentPath; - } catch (final IOException ex) { - Plugin.log().error(ex); - } - return null; - } - - private Path getRenderedContentFilePath(final Path cacheDir, final String fileExtension) { - return cacheDir.resolve("rendered_content." + fileExtension); - } - - @Override - public Path put(final ContentSource source, final CharSequence renderedContent, final String fileExtension) throws IOException { - final var cacheDir = getCacheEntryDir(source.path()); - try { - Files.createDirectories(cacheDir); - - final Path renderedContentPath = getRenderedContentFilePath(cacheDir, fileExtension); - Files.writeString(cacheDir.resolve(SOURCE_PATH_FILE), source.path().toString()); - Files.writeString(renderedContentPath, renderedContent); - Files.setLastModifiedTime(renderedContentPath, FileTime.fromMillis(source.lastModified())); - return renderedContentPath; - } catch (final IOException ex) { - FileUtils.deleteDirectory(cacheDir.toFile()); - throw ex; - } - } - - @Override - public @Nullable Path replace(final ContentSource source, - final ThrowingFunction renderer, final String fileExtension) - throws IOException { - final CharSequence renderedContent = renderer.apply(source); - if (renderedContent == null) { - final Path cacheDir = getCacheEntryDir(source.path()); - if (Files.exists(cacheDir)) { - FileUtils.deleteDirectory(cacheDir.toFile()); - } - return null; - } - return put(source, renderedContent, fileExtension); - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/cache/RenderCacheUsingSourceContentHash.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/cache/RenderCacheUsingSourceContentHash.java deleted file mode 100644 index 98a7d7f..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/cache/RenderCacheUsingSourceContentHash.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.cache; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; - -import org.apache.commons.io.FileUtils; -import org.eclipse.jdt.annotation.Nullable; - -import de.sebthom.eclipse.previewer.Plugin; -import de.sebthom.eclipse.previewer.api.ContentSource; -import net.sf.jstuff.core.functional.ThrowingFunction; -import net.sf.jstuff.core.functional.ThrowingSupplier; -import net.sf.jstuff.core.security.Hash; - -/** - * @author Sebastian Thomschke - */ -public final class RenderCacheUsingSourceContentHash extends AbstractRenderCache { - - private static final Path SOURCE_CONTENT_HASH_FILE = Path.of("source_content.sha1"); - - public RenderCacheUsingSourceContentHash(final String cacheFolderName) { - super(cacheFolderName); - } - - @Override - public @Nullable Path computeIfAbsent(final ContentSource source, - final ThrowingFunction renderer, final String fileExtension) - throws IOException { - try (var sourceContent = source.contentAsInputStream()) { - final var sourceContentHash = Hash.SHA1.hash(sourceContent); - final var renderedContentPath = get(source, () -> sourceContentHash, fileExtension); - if (renderedContentPath != null) - return renderedContentPath; - - final var renderedContent = renderer.apply(source); - return renderedContent == null // - ? null - : put(source, renderedContent, () -> sourceContentHash, fileExtension); - } - } - - @Override - public @Nullable Path get(final ContentSource source, final String fileExtension) { - return get(source, () -> { - try (var sourceContent = source.contentAsInputStream()) { - return Hash.SHA1.hash(sourceContent); - } - }, fileExtension); - } - - private @Nullable Path get(final ContentSource source, final ThrowingSupplier sourceContentHashProvider, - final String fileExtension) { - final var cacheDir = getCacheEntryDir(source.path()); - if (!Files.exists(cacheDir)) - return null; - - try { - final Path renderedContentPath = getRenderedContentFilePath(cacheDir, fileExtension); - if (!Files.isRegularFile(renderedContentPath)) - return null; - - // invalidate the cache if hash mismatch - final var sourceContentHashPath = cacheDir.resolve(SOURCE_CONTENT_HASH_FILE); - if (!sourceContentHashProvider.get().equals(Files.readString(sourceContentHashPath))) - return null; - - return renderedContentPath; - - } catch (final Exception ex) { - Plugin.log().error(ex); - } - return null; - } - - private Path getRenderedContentFilePath(final Path cacheDir, final String fileExtension) { - return cacheDir.resolve("rendered_content." + fileExtension); - } - - @Override - public Path put(final ContentSource source, final CharSequence renderedContent, final String fileExtension) throws IOException { - return put(source, renderedContent, () -> { - try (var sourceContent = source.contentAsInputStream()) { - return Hash.SHA1.hash(sourceContent); - } - }, fileExtension); - } - - private Path put(final ContentSource source, final CharSequence renderedContent, - final ThrowingSupplier sourceContentHashProvider, final String fileExtension) throws IOException { - final var cacheDir = getCacheEntryDir(source.path()); - try { - Files.createDirectories(cacheDir); - } catch (final IOException ex) { - FileUtils.deleteDirectory(cacheDir.toFile()); - throw ex; - } - - final Path renderedContentPath = getRenderedContentFilePath(cacheDir, fileExtension); - Files.writeString(cacheDir.resolve(SOURCE_PATH_FILE), source.path().toString()); - Files.writeString(renderedContentPath, renderedContent); - Files.writeString(cacheDir.resolve(SOURCE_CONTENT_HASH_FILE), sourceContentHashProvider.get()); - return renderedContentPath; - } - - @Override - public @Nullable Path replace(final ContentSource source, - final ThrowingFunction renderer, final String fileExtension) - throws IOException { - try (var sourceContent = source.contentAsInputStream()) { - final var sourceContentHash = Hash.SHA1.hash(sourceContent); - final var renderedContent = renderer.apply(source); - if (renderedContent == null) { - final Path cacheDir = getCacheEntryDir(source.path()); - if (Files.exists(cacheDir)) { - FileUtils.deleteDirectory(cacheDir.toFile()); - } - return null; - } - return put(source, renderedContent, () -> sourceContentHash, fileExtension); - } - } - -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/cache/RenderCacheUsingSourceContentHashWithVersions.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/cache/RenderCacheUsingSourceContentHashWithVersions.java deleted file mode 100644 index 23b1499..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/cache/RenderCacheUsingSourceContentHashWithVersions.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.cache; - -import java.io.File; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.Arrays; -import java.util.Comparator; - -import org.apache.commons.io.FileUtils; -import org.apache.commons.lang3.stream.Streams; -import org.eclipse.jdt.annotation.Nullable; - -import de.sebthom.eclipse.previewer.Plugin; -import de.sebthom.eclipse.previewer.api.ContentSource; -import net.sf.jstuff.core.functional.ThrowingFunction; -import net.sf.jstuff.core.functional.ThrowingSupplier; -import net.sf.jstuff.core.security.Hash; - -/** - * @author Sebastian Thomschke - */ -public final class RenderCacheUsingSourceContentHashWithVersions extends AbstractRenderCache { - - private final int versionsToKeep; - - public RenderCacheUsingSourceContentHashWithVersions(final String cacheFolderName, final int versionsToKeep) { - super(cacheFolderName); - this.versionsToKeep = versionsToKeep < 0 ? 0 : versionsToKeep; - } - - private Path getRenderedContentFilePath(final Path cacheDir, final ThrowingSupplier sourceContentHashProvider, - final String fileExtension) { - return cacheDir.resolve("rendered_content_" + sourceContentHashProvider.get() + "." + fileExtension); - } - - @Override - public @Nullable Path computeIfAbsent(final ContentSource source, - final ThrowingFunction renderer, final String fileExtension) - throws IOException { - try (var sourceContent = source.contentAsInputStream()) { - final var sourceContentHash = Hash.SHA1.hash(sourceContent); - final var renderedContentPath = get(source, () -> sourceContentHash, fileExtension); - if (renderedContentPath != null) - return renderedContentPath; - - final var renderedContent = renderer.apply(source); - return renderedContent == null // - ? null - : put(source, renderedContent, () -> sourceContentHash, fileExtension); - } - } - - @Override - public @Nullable Path get(final ContentSource source, final String fileExtension) { - return get(source, () -> { - try (var sourceContent = source.contentAsInputStream()) { - return Hash.SHA1.hash(sourceContent); - } - }, fileExtension); - } - - private @Nullable Path get(final ContentSource source, final ThrowingSupplier sourceContentHashProvider, - final String fileExtension) { - final var cacheDir = getCacheEntryDir(source.path()); - if (!Files.exists(cacheDir)) - return null; - - try { - final Path renderedContentPath = getRenderedContentFilePath(cacheDir, sourceContentHashProvider, fileExtension); - if (Files.isRegularFile(renderedContentPath)) - return renderedContentPath; - } catch (final Exception ex) { - Plugin.log().error(ex); - } - return null; - } - - @Override - public Path put(final ContentSource source, final CharSequence renderedContent, final String fileExtension) throws IOException { - return put(source, renderedContent, () -> { - try (var sourceContent = source.contentAsInputStream()) { - return Hash.SHA1.hash(sourceContent); - } - }, fileExtension); - } - - private Path put(final ContentSource source, final CharSequence renderedContent, - final ThrowingSupplier sourceContentHashProvider, final String fileExtension) throws IOException { - final var cacheDir = getCacheEntryDir(source.path()); - try { - Files.createDirectories(cacheDir); - } catch (final IOException ex) { - FileUtils.deleteDirectory(cacheDir.toFile()); - throw ex; - } - if (versionsToKeep == 0) { - try (var fileStream = Files.newDirectoryStream(cacheDir, "rendered_content_*")) { - fileStream.forEach(file -> { - try { - Files.delete(file); - } catch (final IOException ex) { - Plugin.log().error(ex); - } - }); - } - } else { - try (var fileStream = Files.newDirectoryStream(cacheDir, "rendered_content_*")) { - final File[] files = Streams.of(fileStream).map(Path::toFile).toArray(File[]::new); - if (files.length > versionsToKeep) { - Arrays.sort(files, Comparator.comparingLong(File::lastModified).reversed()); - for (int i = versionsToKeep; i < files.length; i++) { - Files.delete(files[i].toPath()); - } - } - } - } - - final Path renderedContentPath = getRenderedContentFilePath(cacheDir, sourceContentHashProvider, fileExtension); - Files.writeString(cacheDir.resolve(SOURCE_PATH_FILE), source.path().toString()); - Files.writeString(renderedContentPath, renderedContent); - return renderedContentPath; - } - - @Override - public @Nullable Path replace(final ContentSource source, - final ThrowingFunction renderer, final String fileExtension) - throws IOException { - try (var sourceContent = source.contentAsInputStream()) { - final var sourceContentHash = Hash.SHA1.hash(sourceContent); - final var renderedContent = renderer.apply(source); - if (renderedContent == null) { - final Path cacheDir = getCacheEntryDir(source.path()); - if (Files.exists(cacheDir)) { - FileUtils.deleteDirectory(cacheDir.toFile()); - } - return null; - } - return put(source, renderedContent, () -> sourceContentHash, fileExtension); - } - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/cache/package-info.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/cache/package-info.java deleted file mode 100644 index 36bf5b0..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/cache/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.cache; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/command/OpenPreferences.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/command/OpenPreferences.java deleted file mode 100644 index 08add02..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/command/OpenPreferences.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.command; - -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.ui.dialogs.PreferencesUtil; - -import de.sebthom.eclipse.commons.ui.UI; -import de.sebthom.eclipse.previewer.prefs.PluginPreferencePage; - -/** - * @author Sebastian Thomschke - */ -public class OpenPreferences extends AbstractHandler { - - @Override - public @Nullable Object execute(final ExecutionEvent event) throws ExecutionException { - PreferencesUtil.createPreferenceDialogOn( // - UI.getShell(), // - PluginPreferencePage.class.getName(), // - null, // - null // - ).open(); - return null; - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/command/RefreshPreview.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/command/RefreshPreview.java deleted file mode 100644 index 2b97f19..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/command/RefreshPreview.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.command; - -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.jdt.annotation.Nullable; - -import de.sebthom.eclipse.commons.ui.UI; -import de.sebthom.eclipse.previewer.ui.PreviewView; - -/** - * @author Sebastian Thomschke - */ -public class RefreshPreview extends AbstractHandler { - - @Override - public @Nullable Object execute(final ExecutionEvent event) throws ExecutionException { - final PreviewView previewView = UI.findView(PreviewView.ID); - if (previewView != null) { - previewView.forceRefresh(); - } - return null; - } - -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/command/ToggleLivePreview.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/command/ToggleLivePreview.java deleted file mode 100644 index 9966c6e..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/command/ToggleLivePreview.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.command; - -import de.sebthom.eclipse.commons.command.ToggleCommand; - -/** - * @author Sebastian Thomschke - */ -public class ToggleLivePreview extends ToggleCommand { - - public static final String COMMAND_ID = ToggleLivePreview.class.getName(); - - public static boolean isLivePreviewEnabled() { - return isEnabled(COMMAND_ID); - } - -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/command/TogglePinPreview.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/command/TogglePinPreview.java deleted file mode 100644 index 92b431d..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/command/TogglePinPreview.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.command; - -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.jdt.annotation.Nullable; - -import de.sebthom.eclipse.commons.command.ToggleCommand; -import de.sebthom.eclipse.commons.ui.UI; -import de.sebthom.eclipse.previewer.ui.PreviewView; - -/** - * Toggle pinning the Preview to the current editor (disables auto-switching on editor activation changes). - * - * When pinned, the Preview stays attached to the current editor and does not switch when you activate a different editor. - * Live Preview still applies to the pinned editor if enabled. - * - * @author Sebastian Thomschke - */ -public class TogglePinPreview extends ToggleCommand { - - public static final String COMMAND_ID = TogglePinPreview.class.getName(); - - public static boolean isPinned() { - return isEnabled(COMMAND_ID); - } - - @Override - public @Nullable Object execute(final ExecutionEvent event) throws ExecutionException { - super.execute(event); - - final PreviewView previewView = UI.findView(PreviewView.ID); - if (previewView != null) { - if (isPinned()) { - // Pinned: keep current link; optionally focus the linked editor - previewView.openEditor(); - } else { - // Unpinned: immediately follow the currently active editor - previewView.linkToActiveEditor(); - } - } - return null; - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/command/ZoomIn.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/command/ZoomIn.java deleted file mode 100644 index 5606474..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/command/ZoomIn.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.command; - -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.jdt.annotation.Nullable; - -import de.sebthom.eclipse.commons.ui.UI; -import de.sebthom.eclipse.previewer.ui.PreviewView; - -/** - * @author Sebastian Thomschke - */ -public class ZoomIn extends AbstractHandler { - - @Override - public @Nullable Object execute(final ExecutionEvent event) throws ExecutionException { - final PreviewView previewView = UI.findView(PreviewView.ID); - if (previewView != null) { - previewView.setZoom(previewView.getZoom() + 0.1f); - } - return null; - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/command/ZoomOut.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/command/ZoomOut.java deleted file mode 100644 index a2f0f48..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/command/ZoomOut.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.command; - -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.jdt.annotation.Nullable; - -import de.sebthom.eclipse.commons.ui.UI; -import de.sebthom.eclipse.previewer.ui.PreviewView; - -/** - * @author Sebastian Thomschke - */ -public class ZoomOut extends AbstractHandler { - - @Override - public @Nullable Object execute(final ExecutionEvent event) throws ExecutionException { - final PreviewView previewView = UI.findView(PreviewView.ID); - if (previewView != null) { - previewView.setZoom(previewView.getZoom() - 0.1f); - } - return null; - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/command/ZoomReset.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/command/ZoomReset.java deleted file mode 100644 index 1dbbf55..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/command/ZoomReset.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.command; - -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.jdt.annotation.Nullable; - -import de.sebthom.eclipse.commons.ui.UI; -import de.sebthom.eclipse.previewer.ui.PreviewView; - -/** - * @author Sebastian Thomschke - */ -public class ZoomReset extends AbstractHandler { - - @Override - public @Nullable Object execute(final ExecutionEvent event) throws ExecutionException { - final PreviewView previewView = UI.findView(PreviewView.ID); - if (previewView != null) { - previewView.setZoom(1); - } - return null; - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/command/package-info.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/command/package-info.java deleted file mode 100644 index cbc883c..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/command/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.command; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/localization/Messages.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/localization/Messages.java deleted file mode 100644 index ff6ccdd..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/localization/Messages.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.localization; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.lateNonNull; - -import de.sebthom.eclipse.commons.localization.MessagesInitializer; - -/** - * @author Sebastian Thomschke - */ -public final class Messages { - - private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; - - // Keys with default values directly assigned in this class are only used by Java classes. - // Keys without default values are loaded from messages.properties, because they are also referenced in plugin.xml - - // CHECKSTYLE:IGNORE .* FOR NEXT 100 LINES - - public static String PluginName = lateNonNull(); - - static { - MessagesInitializer.initializeMessages(BUNDLE_NAME, Messages.class); - } - - private Messages() { - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/localization/messages.properties b/plugin/src/main/java/de/sebthom/eclipse/previewer/localization/messages.properties deleted file mode 100644 index b0b6615..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/localization/messages.properties +++ /dev/null @@ -1,2 +0,0 @@ -PluginName=Previewer -ViewName=Preview diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/localization/package-info.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/localization/package-info.java deleted file mode 100644 index 89b156f..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/localization/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.localization; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/package-info.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/package-info.java deleted file mode 100644 index d580b5e..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/prefs/PluginPreferencePage.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/prefs/PluginPreferencePage.java deleted file mode 100644 index 08b1849..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/prefs/PluginPreferencePage.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.prefs; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.asNonNull; - -import java.util.ArrayList; -import java.util.Arrays; - -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jface.preference.ComboFieldEditor; -import org.eclipse.jface.preference.FieldEditor; -import org.eclipse.jface.preference.FieldEditorPreferencePage; -import org.eclipse.jface.viewers.ColumnLabelProvider; -import org.eclipse.jface.viewers.IStructuredContentProvider; -import org.eclipse.jface.viewers.TableViewer; -import org.eclipse.jface.viewers.TableViewerColumn; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; - -import de.sebthom.eclipse.commons.prefs.fieldeditor.LabelFieldEditor; -import de.sebthom.eclipse.commons.ui.Tables; -import de.sebthom.eclipse.previewer.Constants; -import de.sebthom.eclipse.previewer.Plugin; -import net.sf.jstuff.core.Strings; -import net.sf.jstuff.core.SystemUtils; - -/** - * @author Sebastian Thomschke - */ -public final class PluginPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { - - private final class TableFieldEditor extends FieldEditor { - final GridData tableLayoutData = new GridData(GridData.FILL, GridData.CENTER, false, false, 1, 1); - final IStructuredContentProvider contentProvider; - - TableFieldEditor(final Composite parent, final IStructuredContentProvider contentProvider) { - this.contentProvider = contentProvider; - doFillIntoGrid(parent, getNumberOfControls()); - } - - @Override - protected void adjustForNumColumns(final int numColumns) { - tableLayoutData.horizontalSpan = numColumns; - } - - @Override - protected void doFillIntoGrid(final Composite parent, final int numColumns) { - adjustForNumColumns(numColumns); - - final var tableViewer = new TableViewer(parent, SWT.BORDER | SWT.FULL_SELECTION); - final var table = tableViewer.getTable(); - table.setLayoutData(tableLayoutData); - table.setHeaderVisible(true); - table.setLinesVisible(true); - - final var colContributor = new TableViewerColumn(tableViewer, SWT.NONE); - colContributor.setLabelProvider(new ColumnLabelProvider() { - @Override - public @Nullable String getText(final Object element) { - final var ce = (IConfigurationElement) element; - return ce.getContributor().getName(); - } - }); - colContributor.getColumn().setText("Contributor ID"); - - final var colClass = new TableViewerColumn(tableViewer, SWT.NONE); - colClass.setLabelProvider(new ColumnLabelProvider() { - @Override - public @Nullable String getText(final Object element) { - final var ce = (IConfigurationElement) element; - final var contributor = ce.getContributor().getName(); - final var renderer = asNonNull(ce.getAttribute("class")); - return Strings.removeStart(renderer, contributor); - } - }); - colClass.getColumn().setText("Renderer"); - - final var colFileExt = new TableViewerColumn(tableViewer, SWT.NONE); - colFileExt.setLabelProvider(new ColumnLabelProvider() { - @Override - public @Nullable String getText(final Object element) { - final var ce = (IConfigurationElement) element; - return ce.getAttribute("file-extensions"); - } - }); - colFileExt.getColumn().setText("File Extensions"); - - final var colFileName = new TableViewerColumn(tableViewer, SWT.NONE); - colFileName.setLabelProvider(new ColumnLabelProvider() { - @Override - public @Nullable String getText(final Object element) { - final var ce = (IConfigurationElement) element; - return ce.getAttribute("file-names"); - } - }); - colFileName.getColumn().setText("File Names"); - - final var colFilePatterns = new TableViewerColumn(tableViewer, SWT.NONE); - colFilePatterns.setLabelProvider(new ColumnLabelProvider() { - @Override - public @Nullable String getText(final Object element) { - final var ce = (IConfigurationElement) element; - return ce.getAttribute("file-patterns"); - } - }); - colFilePatterns.getColumn().setText("File Patterns"); - - final var colFileContentTypes = new TableViewerColumn(tableViewer, SWT.NONE); - colFileContentTypes.setLabelProvider(new ColumnLabelProvider() { - @Override - public String getText(final Object element) { - final var contentTypes = new ArrayList(); - final var ce = (IConfigurationElement) element; - for (final var contentType : ce.getChildren("content-type")) { - final var id = contentType.getAttribute("id"); - if (id != null && !id.isBlank()) { - contentTypes.add(id); - } - } - return Strings.join(contentTypes); - } - }); - colFileContentTypes.getColumn().setText("Content Types"); - - tableViewer.setContentProvider(contentProvider); - tableViewer.setInput(""); - Tables.autoResizeColumns(tableViewer); - } - - @Override - protected void doLoad() { - // nothing to do - } - - @Override - protected void doLoadDefault() { - // nothing to do - } - - @Override - protected void doStore() { - // nothing to do - } - - @Override - public int getNumberOfControls() { - return 1; - } - } - - public PluginPreferencePage() { - super(FieldEditorPreferencePage.GRID); - } - - @Override - protected void createFieldEditors() { - final var parent = getFieldEditorParent(); - - addField(new LabelFieldEditor("Previewer plugins:", parent)); - addField(new TableFieldEditor(parent, input -> // - Arrays.stream(Plugin.getExtensionConfigurations(Constants.EXTENSION_POINT_RENDERERS)) // - .filter(ce -> "previewRenderer".equals(ce.getName())).toArray())); - addField(new LabelFieldEditor("HTML previewer plugins:", parent)); - addField(new TableFieldEditor(parent, input -> // - Arrays.stream(Plugin.getExtensionConfigurations(Constants.EXTENSION_POINT_RENDERERS)) // - .filter(ce -> "htmlPreviewRenderer".equals(ce.getName())).toArray())); - if (SystemUtils.IS_OS_WINDOWS) { - addField(new ComboFieldEditor(PluginPreferences.PREF_WINDOWS_WEBVIEW, - "Web View Implementation (changing may require app restart):", new String[][] { // - new String[] {"Microsoft Edge WebView2 (experimental, may freeze)", "edge"}, // - new String[] {"Microsoft Internet Explorer (stable, but does not support rendering Mermaid diagrams)", "default"} // - }, parent)); - } - } - - @Override - public void init(final IWorkbench workbench) { - setPreferenceStore(PluginPreferences.STORE); - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/prefs/PluginPreferences.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/prefs/PluginPreferences.java deleted file mode 100644 index fe197f3..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/prefs/PluginPreferences.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.prefs; - -import java.io.IOException; - -import org.apache.commons.lang3.SystemUtils; -import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; -import org.eclipse.jface.preference.IPersistentPreferenceStore; -import org.eclipse.jface.util.IPropertyChangeListener; - -import de.sebthom.eclipse.previewer.Plugin; -import net.sf.jstuff.core.io.RuntimeIOException; - -/** - * @author Sebastian Thomschke - */ -public final class PluginPreferences { - - public static final class Initializer extends AbstractPreferenceInitializer { - - @Override - public void initializeDefaultPreferences() { - STORE.setDefault(PREF_WINDOWS_WEBVIEW, "default"); - } - } - - public static final IPersistentPreferenceStore STORE = Plugin.get().getPreferenceStore(); - - public static final String PREF_WINDOWS_WEBVIEW = "edge"; - - public static void addListener(final IPropertyChangeListener listener) { - STORE.addPropertyChangeListener(listener); - } - - public static String getWebView() { - if (SystemUtils.IS_OS_WINDOWS) - return STORE.getString(PREF_WINDOWS_WEBVIEW); - return "default"; - } - - public static void removeListener(final IPropertyChangeListener listener) { - STORE.removePropertyChangeListener(listener); - } - - public static void save() { - if (STORE.needsSaving()) { - try { - STORE.save(); - } catch (final IOException ex) { - throw new RuntimeIOException(ex); - } - } - } - - private PluginPreferences() { - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/prefs/package-info.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/prefs/package-info.java deleted file mode 100644 index 7291557..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/prefs/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.prefs; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/PreviewRendererExtension.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/PreviewRendererExtension.java deleted file mode 100644 index ae033e9..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/PreviewRendererExtension.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.renderer; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; - -import net.sf.jstuff.core.Strings; - -/** - * @author Sebastian Thomschke - */ -public class PreviewRendererExtension extends RenderSourceSupport { - - public final T renderer; - - @SuppressWarnings("unchecked") - public PreviewRendererExtension(final IConfigurationElement config) throws CoreException { - renderer = (T) config.createExecutableExtension("class"); - - for (final var contentType : config.getChildren("content-type")) { - final var id = contentType.getAttribute("id"); - if (id != null && !id.isBlank()) { - addContentType(id); - } - } - - final var fileExtsArg = config.getAttribute("file-extensions"); - if (fileExtsArg != null && !fileExtsArg.isBlank()) { - addFileExtensions(Strings.splitAsStream(fileExtsArg, ',')); - } - - final var fileNamesArg = config.getAttribute("file-names"); - if (fileNamesArg != null && !fileNamesArg.isBlank()) { - addFileNames(Strings.splitAsStream(fileNamesArg, ',')); - } - - final var filePatternsArg = config.getAttribute("file-patterns"); - if (filePatternsArg != null && !filePatternsArg.isBlank()) { - addFilePatterns(Strings.splitAsStream(filePatternsArg, ',')); - } - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/PreviewRendererRegistration.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/PreviewRendererRegistration.java deleted file mode 100644 index 4c24e2a..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/PreviewRendererRegistration.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.renderer; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.content.IContentType; - -import de.sebthom.eclipse.previewer.api.PreviewRenderer; - -/** - * @author Sebastian Thomschke - */ -public class PreviewRendererRegistration { - - public final Class implementationClass; - public final List contentTypes = new ArrayList<>(); - public final List fileExtensions = new ArrayList<>(); - public final List filePathPatterns = new ArrayList<>(); - - public PreviewRendererRegistration(final Class implementationClass) { - this.implementationClass = implementationClass; - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/RenderSourceSupport.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/RenderSourceSupport.java deleted file mode 100644 index 825933f..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/RenderSourceSupport.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.renderer; - -import java.nio.file.Path; -import java.nio.file.PathMatcher; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Set; -import java.util.stream.Stream; - -import org.apache.commons.io.FilenameUtils; -import org.eclipse.core.runtime.content.IContentType; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import net.sf.jstuff.core.Strings; - -/** - * @author Sebastian Thomschke - */ -public class RenderSourceSupport { - - private final Set contentTypes = new HashSet<>(); - private final Set fileExtensions = new HashSet<>(); - private final Set fileNames = new HashSet<>(); - private final Set filePatterns = new HashSet<>(); - - protected void addContentType(final String id) { - contentTypes.add(id); - } - - protected void addContentTypes(final Stream contentTypeIds) { - contentTypes.addAll(contentTypeIds.toList()); - } - - protected void addContentTypes(final String... contentTypeIds) { - addContentTypes(Arrays.stream(contentTypeIds)); - } - - protected void addFileExtensions(final Stream values) { - fileExtensions.addAll(values // - .map(ext -> Strings.removeStart(ext.trim(), ".").toLowerCase()) // - .filter(name -> !name.isBlank()) // - .toList()); - } - - protected void addFileExtensions(final String... values) { - addFileExtensions(Arrays.stream(values)); - } - - protected void addFileNames(final Stream values) { - fileNames.addAll(values // - .map(String::trim) // - .filter(name -> !name.isBlank()) // - .toList()); - } - - protected void addFileNames(final String... values) { - addFileNames(Arrays.stream(values)); - } - - protected void addFilePatterns(final Stream values) { - @SuppressWarnings("resource") - final var fs = Path.of(".").getFileSystem(); - filePatterns.addAll(values // - .map(String::trim) // - .filter(name -> !name.isEmpty()) // - .map(pattern -> fs.getPathMatcher("glob:" + pattern)) // - .toList()); - } - - protected void addFilePatterns(final String... values) { - addFilePatterns(Arrays.stream(values)); - } - - public boolean supports(final ContentSource source) { - final var path = source.path(); - if (!fileNames.isEmpty() && fileNames.contains(path.getFileName().toString()) // - || !fileExtensions.isEmpty() && fileExtensions.contains(FilenameUtils.getExtension(path.getFileName().toString()) - .toLowerCase())) - return true; - - if (!contentTypes.isEmpty()) { - for (final IContentType contentType : source.contentTypes()) { - if (contentTypes.contains(contentType.getId())) - return true; - } - } - - for (final var filePattern : filePatterns) { - if (filePattern.matches(path)) - return true; - } - - return false; - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/html/CsvPreviewRenderer.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/html/CsvPreviewRenderer.java deleted file mode 100644 index 275d4d4..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/html/CsvPreviewRenderer.java +++ /dev/null @@ -1,755 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.renderer.html; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.Reader; -import java.io.StringReader; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Locale; -import java.util.regex.Pattern; - -import org.apache.commons.csv.CSVFormat; -import org.apache.commons.csv.CSVParser; -import org.apache.commons.csv.CSVRecord; -import org.eclipse.jdt.annotation.Nullable; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.api.HtmlPreviewRenderer; -import de.sebthom.eclipse.previewer.util.MiscUtils; -import de.sebthom.eclipse.previewer.util.StringUtils; - -/** - * Renders delimited text files as a bounded HTML table. - * - * @author Sebastian Thomschke - */ -public class CsvPreviewRenderer implements HtmlPreviewRenderer { - - private record DelimiterCandidate(char delimiter, int score) { - } - - private record ParsedCsv(char delimiter, boolean hasHeader, boolean rowsTruncated, boolean columnsTruncated, List> rows, - int visibleColumnCount, int detectedColumnCount, List columnSums) { - } - - private static final char[] DELIMITER_CANDIDATES = {',', ';', '\t', '|'}; - private static final int MAX_CELL_LENGTH = 2000; - private static final int MAX_COLUMNS = 200; - private static final int MAX_DETECTION_RECORDS = 50; - private static final int MAX_PREVIEW_ROWS = 1000; - private static final int SAMPLE_CHAR_LIMIT = 64 * 1024; - private static final Pattern BOOLEAN_PATTERN = Pattern.compile("(?i:true|false|yes|no|y|n)"); - private static final Pattern DATE_PATTERN = Pattern.compile("\\d{4}-\\d{1,2}-\\d{1,2}|\\d{1,2}[./-]\\d{1,2}[./-]\\d{2,4}"); - private static final Pattern HEADER_LABEL_PATTERN = Pattern.compile("[\\p{L}_][\\p{L}\\p{N}_ ./%()#-]{0,59}"); - - private static void appendEscapedHtml(final Appendable out, final String value) throws IOException { - for (int i = 0; i < value.length(); i++) { - switch (value.charAt(i)) { - case '&' -> out.append("&"); - case '<' -> out.append("<"); - case '>' -> out.append(">"); - case '"' -> out.append("""); - case '\'' -> out.append("'"); - default -> out.append(value.charAt(i)); - } - } - } - - @SuppressWarnings("null") - private static CSVFormat csvFormat(final char delimiter) { - return CSVFormat.DEFAULT.builder() // - .setDelimiter(delimiter) // - .setIgnoreEmptyLines(false) // - .get(); - } - - private static DelimiterCandidate detectDelimiter(final String sample, final boolean preferTab) { - var best = new DelimiterCandidate(preferTab ? '\t' : ',', Integer.MIN_VALUE); - for (final char delimiter : DELIMITER_CANDIDATES) { - final int score = scoreDelimiter(sample, delimiter, preferTab); - if (score > best.score) { - best = new DelimiterCandidate(delimiter, score); - } - } - return best; - } - - private static boolean detectHeader(final List> rows) { - if (rows.size() < 2) - return false; - - final var firstRow = rows.get(0); - final int columns = firstRow.size(); - if (columns < 2) - return false; - - final var normalizedHeaders = new HashSet(); - int blankColumn = -1; - int labeledColumnCount = 0; - for (int column = 0; column < columns; column++) { - final String headerCell = firstRow.get(column).trim(); - if (headerCell.isBlank()) { - if (blankColumn >= 0) - return false; - blankColumn = column; - continue; - } - labeledColumnCount++; - if (!normalizedHeaders.add(headerCell.toLowerCase(Locale.ROOT))) - return false; - } - - // Empty edge headers are common for row labels or trailing delimiters; middle blanks make detection too ambiguous. - if (blankColumn > 0 && blankColumn < columns - 1) - return false; - - int evidence = 0; - for (int column = 0; column < columns; column++) { - final String headerCell = firstRow.get(column).trim(); - if (!isHeaderLabel(headerCell)) { - continue; - } - - int inspectedValues = 0; - int dataLikeValues = 0; - for (int rowIndex = 1; inspectedValues < 8 && rowIndex < rows.size(); rowIndex++) { - final var row = rows.get(rowIndex); - if (column >= row.size()) { - continue; - } - final String value = row.get(column).trim(); - if (value.isEmpty()) { - continue; - } - inspectedValues++; - if (isDataLike(value) || !isHeaderLabel(value)) { - dataLikeValues++; - } - } - - if (dataLikeValues > 0 && dataLikeValues * 2 >= inspectedValues) { - evidence++; - } - } - - return evidence >= Math.max(1, labeledColumnCount / 2); - } - - private static String delimiterLabel(final char delimiter) { - return switch (delimiter) { - case '\t' -> "tab"; - case ',' -> "comma"; - case ';' -> "semicolon"; - case '|' -> "pipe"; - default -> Character.toString(delimiter); - }; - } - - @Override - public void dispose() { - } - - private static boolean isDataLike(final String value) { - return numericSortKey(value) != null // - || BOOLEAN_PATTERN.matcher(value).matches() // - || DATE_PATTERN.matcher(value).matches() // - || value.indexOf('@') > 0 // - || value.startsWith("http://") // - || value.startsWith("https://"); - } - - private static boolean isHeaderLabel(final String value) { - return !isDataLike(value) && HEADER_LABEL_PATTERN.matcher(value).matches(); - } - - private static String normalizeCell(final String value) { - if (value.length() <= MAX_CELL_LENGTH) - return value; - - int end = MAX_CELL_LENGTH; - // Truncation is by UTF-16 code units; do not leave an unpaired high surrogate before the ellipsis. - if (Character.isHighSurrogate(value.charAt(end - 1))) { - end--; - } - return value.substring(0, end) + "..."; - } - - private static boolean isGroupedInteger(final String value, final char separator) { - final String[] groups = value.split(Pattern.quote(Character.toString(separator)), -1); - if (groups.length < 2 || !groups[0].matches("\\d{1,3}")) - return false; - for (int i = 1; i < groups.length; i++) { - if (!groups[i].matches("\\d{3}")) - return false; - } - return true; - } - - private static List normalizeRow(final Iterable record) { - final var row = new ArrayList(); - for (final String value : record) { - row.add(normalizeCell(value)); - } - return row; - } - - private static ParsedCsv parse(final ContentSource source) throws IOException { - final var rows = new ArrayList>(); - boolean rowsTruncated = false; - int detectedColumnCount = 0; - final boolean preferTab = source.path().getFileName().toString().toLowerCase(Locale.ROOT).endsWith(".tsv"); - final char delimiter; - try (BufferedReader reader = new BufferedReader(source.contentAsReader())) { - // BufferedReader supplies mark/reset for sources that only expose a forward reader. - // readSample is capped at the mark limit, so reset remains valid before Commons CSV parses the same stream. - reader.mark(SAMPLE_CHAR_LIMIT); - final String sample = readSample(reader); - delimiter = detectDelimiter(sample, preferTab).delimiter; - reader.reset(); - - try (CSVParser parser = csvFormat(delimiter).parse(reader)) { - for (final CSVRecord rec : parser) { - if (rows.size() >= MAX_PREVIEW_ROWS) { - rowsTruncated = true; - break; - } - @SuppressWarnings("null") - final var row = normalizeRow(rec); - detectedColumnCount = Math.max(detectedColumnCount, row.size()); - rows.add(row); - } - } - } - - final int visibleColumnCount = Math.min(detectedColumnCount, MAX_COLUMNS); - final boolean columnsTruncated = detectedColumnCount > visibleColumnCount; - final boolean hasHeader = detectHeader(rows); - // A partial total looks authoritative, so only show sums when the complete file fits in the preview row limit. - final List columnSums = rowsTruncated ? List.of() : numericColumnSums(rows, hasHeader, visibleColumnCount); - return new ParsedCsv(delimiter, hasHeader, rowsTruncated, columnsTruncated, rows, visibleColumnCount, detectedColumnCount, - columnSums); - } - - private static String readSample(final Reader reader) throws IOException { - final var sample = new StringBuilder(SAMPLE_CHAR_LIMIT); - final char[] buffer = new char[4096]; - while (sample.length() < SAMPLE_CHAR_LIMIT) { - final int maxToRead = Math.min(buffer.length, SAMPLE_CHAR_LIMIT - sample.length()); - final int read = reader.read(buffer, 0, maxToRead); - if (read == -1) { - break; - } - sample.append(buffer, 0, read); - } - return sample.toString(); - } - - private static @Nullable String numericSortKey(final String value) { - var trimmed = value.trim(); - if (trimmed.isEmpty()) - return null; - if (trimmed.endsWith("%")) { - trimmed = trimmed.substring(0, trimmed.length() - 1).trim(); - } - if (trimmed.isEmpty()) - return null; - - var sign = ""; - final char firstChar = trimmed.charAt(0); - if (firstChar == '+' || firstChar == '-') { - sign = Character.toString(firstChar); - trimmed = trimmed.substring(1); - } - if (trimmed.isEmpty() || !trimmed.matches("[0-9,. ]+")) - return null; - - final int lastComma = trimmed.lastIndexOf(','); - final int lastDot = trimmed.lastIndexOf('.'); - Character decimalSeparator = null; - if (lastComma >= 0 && lastDot >= 0) { - decimalSeparator = lastComma > lastDot ? ',' : '.'; - } else { - final @Nullable Character separator = lastComma >= 0 ? Character.valueOf(',') : lastDot >= 0 ? Character.valueOf('.') : null; - if (separator != null) { - final int separatorCount = trimmed.length() - trimmed.replace(separator.toString(), "").length(); - final int lastSeparator = trimmed.lastIndexOf(separator); - final int digitsBefore = lastSeparator; - final int digitsAfter = trimmed.length() - lastSeparator - 1; - if (separatorCount == 1 && (digitsAfter != 3 || digitsBefore > 3 || trimmed.indexOf(' ') >= 0)) { - decimalSeparator = separator; - } - } - } - - String integerPart = trimmed; - String fractionPart = ""; - if (decimalSeparator != null) { - final int decimalIndex = trimmed.lastIndexOf(decimalSeparator); - integerPart = trimmed.substring(0, decimalIndex); - fractionPart = trimmed.substring(decimalIndex + 1); - if (integerPart.indexOf(decimalSeparator) >= 0 || !fractionPart.matches("\\d+")) - return null; - } - - Character groupingSeparator = null; - if (integerPart.indexOf(' ') >= 0) { - groupingSeparator = ' '; - } else if (Character.valueOf(',').equals(decimalSeparator)) { - groupingSeparator = '.'; - } else if (Character.valueOf('.').equals(decimalSeparator)) { - groupingSeparator = ','; - } else if (integerPart.indexOf(',') >= 0) { - groupingSeparator = ','; - } else if (integerPart.indexOf('.') >= 0) { - groupingSeparator = '.'; - } - - final boolean plainInteger = integerPart.matches("\\d+"); - if (!plainInteger && (groupingSeparator == null || !isGroupedInteger(integerPart, groupingSeparator))) - return null; - - // Keep header detection and browser sorting on the same conservative parser; malformed grouping stays textual. - final String normalizedInteger = groupingSeparator == null ? integerPart - : integerPart.replace(Character.toString(groupingSeparator), ""); - return sign + normalizedInteger + (fractionPart.isEmpty() ? "" : "." + fractionPart); - } - - private static List numericColumnSums(final List> rows, final boolean hasHeader, final int visibleColumnCount) { - final int firstBodyRow = hasHeader ? 1 : 0; - if (visibleColumnCount == 0 || firstBodyRow >= rows.size()) - return List.of(); - - final var sums = new ArrayList(visibleColumnCount); - final var numericCellCounts = new int[visibleColumnCount]; - final var hasNonNumericCells = new boolean[visibleColumnCount]; - for (int column = 0; column < visibleColumnCount; column++) { - sums.add(BigDecimal.ZERO); - } - - for (int rowIndex = firstBodyRow; rowIndex < rows.size(); rowIndex++) { - final var row = rows.get(rowIndex); - for (int column = 0; column < visibleColumnCount; column++) { - final String value = column < row.size() ? row.get(column).trim() : ""; - if (value.isEmpty()) { - continue; - } - final BigDecimal numericValue = numericSumValue(value); - if (numericValue == null) { - hasNonNumericCells[column] = true; - } else { - sums.set(column, sums.get(column).add(numericValue)); - numericCellCounts[column]++; - } - } - } - - var hasSums = false; - final var columnSums = new ArrayList(visibleColumnCount); - for (int column = 0; column < visibleColumnCount; column++) { - if (!hasNonNumericCells[column] && numericCellCounts[column] > 0) { - columnSums.add(sums.get(column).toPlainString()); - hasSums = true; - } else { - columnSums.add(""); - } - } - return hasSums ? columnSums : List.of(); - } - - private static @Nullable BigDecimal numericSumValue(final String value) { - final String trimmed = value.trim(); - // Sorting accepts percentages, but a footer sum would drop the percent unit and imply a plain numeric total. - if (trimmed.endsWith("%")) - return null; - - final String numericValue = numericSortKey(trimmed); - if (numericValue == null) - return null; - return new BigDecimal(numericValue); - } - - private static void renderBody(final ParsedCsv csv, final Appendable out) throws IOException { - final int firstBodyRow = csv.hasHeader() ? 1 : 0; - out.append(""); - for (int rowIndex = firstBodyRow; rowIndex < csv.rows().size(); rowIndex++) { - final var row = csv.rows().get(rowIndex); - final String displayRowNumber = Integer.toString(rowIndex - firstBodyRow + 1); - out.append("").append( - displayRowNumber).append(""); - for (int column = 0; column < csv.visibleColumnCount(); column++) { - renderCell(out, "td", column < row.size() ? row.get(column) : ""); - } - out.append(""); - } - out.append(""); - } - - private static void renderFooter(final ParsedCsv csv, final Appendable out) throws IOException { - if (csv.columnSums().isEmpty()) - return; - - // Keep aggregates outside tbody so column sorting never moves them with the data rows. - out.append("Sum"); - for (int column = 0; column < csv.visibleColumnCount(); column++) { - renderCell(out, "td", column < csv.columnSums().size() ? csv.columnSums().get(column) : ""); - } - out.append(""); - } - - private static void renderCell(final Appendable out, final String tagName, final String value) throws IOException { - out.append('<').append(tagName); - final String numericSortKey = numericSortKey(value); - if (numericSortKey != null) { - out.append(" data-sort-number=\"").append(numericSortKey).append('"'); - } - out.append('>'); - appendEscapedHtml(out, value); - out.append("'); - } - - private static void renderSortableHeaderCell(final Appendable out, final int column, final String cssClass, final String value) - throws IOException { - out.append(""); - out.append(""); - } - - private static void renderHeader(final ParsedCsv csv, final Appendable out) throws IOException { - if (csv.rows().isEmpty()) - return; - - out.append(""); - renderSortableHeaderCell(out, -1, "row-number", "#"); - final var headerRow = csv.hasHeader() ? csv.rows().get(0) : List.of(); - for (int column = 0; column < csv.visibleColumnCount(); column++) { - final String header = csv.hasHeader() && column < headerRow.size() && !headerRow.get(column).isBlank() ? headerRow.get(column) - : "Column " + (column + 1); - renderSortableHeaderCell(out, column, "", header); - } - out.append(""); - } - - @Override - public void renderToHtml(final ContentSource source, final Appendable out) throws IOException { - final ParsedCsv csv = parse(source); - - out.append(""" - - - - - - - - """); - - if (csv.rowsTruncated() || csv.columnsTruncated()) { - out.append("

    "); - if (csv.rowsTruncated()) { - out.append("Preview is limited to ").append(Integer.toString(MAX_PREVIEW_ROWS)).append(" rows."); - } - if (csv.rowsTruncated() && csv.columnsTruncated()) { - out.append(" "); - } - if (csv.columnsTruncated()) { - out.append("Showing ").append(Integer.toString(csv.visibleColumnCount())).append(" of ").append(Integer.toString(csv - .detectedColumnCount())).append(" columns."); - } - out.append("
    "); - } - - out.append("
    "); - renderHeader(csv, out); - renderBody(csv, out); - renderFooter(csv, out); - out.append("
    "); - out.append(""" - - """); - - final var shortPath = source.shortDisplayPath(); - final var info = new StringBuilder(); - appendEscapedHtml(info, shortPath); - info.append(" (delimiter: ").append(delimiterLabel(csv.delimiter())).append(", "); - info.append(csv.hasHeader() ? "header detected" : "no header detected").append(", "); - info.append(csv.rows().size()).append(csv.rowsTruncated() ? "+ rows" : " rows").append(") "); - info.append(MiscUtils.getCurrentTime()); - out.append(StringUtils.htmlInfoBox(info.toString())); - out.append(""); - } - - private static int scoreDelimiter(final String sample, final char delimiter, final boolean preferTab) { - int records = 0; - int multiColumnRecords = 0; - int maxColumns = 0; - final var columnCounts = new ArrayList(); - - try (CSVParser parser = csvFormat(delimiter).parse(new StringReader(sample))) { - for (final CSVRecord rec : parser) { - records++; - final int columns = rec.size(); - columnCounts.add(columns); - maxColumns = Math.max(maxColumns, columns); - if (columns > 1) { - multiColumnRecords++; - } - if (records >= MAX_DETECTION_RECORDS) { - break; - } - } - } catch (final IOException | IllegalArgumentException ex) { - return Integer.MIN_VALUE; - } - - if (records == 0) - return Integer.MIN_VALUE + 1; - - int modeColumnCount = 0; - int modeFrequency = 0; - for (final int columns : columnCounts) { - int frequency = 0; - for (final int other : columnCounts) { - if (columns == other) { - frequency++; - } - } - if (frequency > modeFrequency) { - modeColumnCount = columns; - modeFrequency = frequency; - } - } - - int score = multiColumnRecords * 20 + maxColumns * 8 + modeFrequency * 10; - for (final int columns : columnCounts) { - score -= Math.abs(columns - modeColumnCount) * 5; - } - if (maxColumns <= 1) { - score -= 100; - } - if (preferTab && delimiter == '\t') { - score += 50; - } else if (!preferTab && delimiter == ',') { - score += 5; - } - return score; - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/html/ExtensibleHtmlPreviewRenderer.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/html/ExtensibleHtmlPreviewRenderer.java deleted file mode 100644 index 70e225f..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/html/ExtensibleHtmlPreviewRenderer.java +++ /dev/null @@ -1,322 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.renderer.html; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.*; - -import java.io.IOException; -import java.net.URI; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; - -import org.apache.commons.lang3.SystemUtils; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.swt.widgets.Composite; - -import de.sebthom.eclipse.previewer.Constants; -import de.sebthom.eclipse.previewer.Plugin; -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.api.HtmlPreviewRenderer; -import de.sebthom.eclipse.previewer.api.PreviewRenderer; -import de.sebthom.eclipse.previewer.cache.RenderCache; -import de.sebthom.eclipse.previewer.cache.RenderCacheByLastModified; -import de.sebthom.eclipse.previewer.cache.RenderCacheUsingSourceContentHash; -import de.sebthom.eclipse.previewer.renderer.PreviewRendererExtension; -import de.sebthom.eclipse.previewer.ui.BrowserWrapper; -import de.sebthom.eclipse.previewer.util.MiscUtils; -import net.sf.jstuff.core.collection.LRUMap; -import net.sf.jstuff.core.collection.tuple.Tuple2; -import net.sf.jstuff.core.exception.Exceptions; -import net.sf.jstuff.core.functional.ThrowingFunction; - -/** - * @author Sebastian Thomschke - */ -public class ExtensibleHtmlPreviewRenderer implements PreviewRenderer { - - @FunctionalInterface - public interface LocalFileLinkHandler { - /** - * @param path existing local file path resolved from the clicked browser link - * @param target file URI for {@code path}, with any URI fragment removed - * @return true if the target was handled and browser navigation should be cancelled - */ - boolean openLocalFileLink(Path path, URI target); - } - - private static final class PageState { - Tuple2 scrollPos = Tuple2.create(0, 0); - float zoomLevel = 1.0f; - } - - private static final Path RENDER_CACHE_ROOT = SystemUtils.getJavaIoTmpDir().toPath().resolve(Plugin.PLUGIN_ID); - - private LRUMap pageStates = new LRUMap<>(500); - private @Nullable String currentPageStateKey; - - private final RenderCache renderCacheOfEditors = new RenderCacheUsingSourceContentHash("render_cache_editors"); - private final RenderCache renderCacheOfFiles = new RenderCacheByLastModified("render_cache_files"); - - private final List> renderers = new ArrayList<>(); - private PreviewRendererExtension passthroughHtmlRenderer = lateNonNull(); - private PreviewRendererExtension passthroughXmlRenderer = lateNonNull(); - - private BrowserWrapper browser = lateNonNull(); - private @Nullable LocalFileLinkHandler localFileLinkHandler; - private @Nullable Path currentRenderedContentPath; - - private void loadRenderersFromExtensionPoints() { - for (final IConfigurationElement ce : Plugin.getExtensionConfigurations(Constants.EXTENSION_POINT_RENDERERS)) { - final String extensionName = ce.getName(); - if ("htmlPreviewRenderer".equals(extensionName)) { - try { - renderers.add(new PreviewRendererExtension<>(ce)); - } catch (final LinkageError | CoreException ex) { - Plugin.log().error(ex); - } - } - } - - passthroughHtmlRenderer = renderers.stream().filter(r -> r.renderer instanceof HtmlFilePreviewRenderer).findFirst().get(); - renderers.remove(passthroughHtmlRenderer); - - passthroughXmlRenderer = renderers.stream().filter(r -> r.renderer instanceof XmlPreviewRenderer).findFirst().get(); - renderers.remove(passthroughXmlRenderer); - } - - @Override - public void init(final Composite parent) { - browser = new BrowserWrapper(parent); - browser.setShouldOverrideNavigation(this::tryOpenLocalFileLink); - loadRenderersFromExtensionPoints(); - } - - private boolean tryOpenLocalFileLink(final URI target) { - final Path path = toRegularFilePath(target); - if (path == null) - return false; - - final boolean internalNavigation = isInternalNavigation(path); - final boolean sameDocumentNavigation = isSameDocumentNavigation(target, path); - if (internalNavigation || sameDocumentNavigation || isRenderCachePath(path)) - return false; - - final URI targetWithoutFragment = path.toUri(); - final var handler = localFileLinkHandler; - return handler != null && handler.openLocalFileLink(path, targetWithoutFragment); - } - - private boolean isInternalNavigation(final Path target) { - final var currentRenderedContentPath = this.currentRenderedContentPath; - if (currentRenderedContentPath == null) - return false; - - // SWT/WebView can report more than one navigation event for the generated preview page. Keep treating the current - // rendered output as an internal page load so it is never opened as a linked file editor. - return currentRenderedContentPath.equals(target); - } - - private static @Nullable Path toRegularFilePath(final URI target) { - if (!"file".equalsIgnoreCase(target.getScheme())) - return null; - - try { - final Path path = Path.of(MiscUtils.withoutFragment(target)); - if (!Files.isRegularFile(path)) - return null; - return toCanonicalPath(path); - } catch (final RuntimeException ex) { - return null; - } - } - - private static boolean isRenderCachePath(final Path path) { - return path.startsWith(toCanonicalPath(RENDER_CACHE_ROOT)); - } - - private static Path toCanonicalPath(final Path path) { - final Path absolutePath = path.toAbsolutePath().normalize(); - try { - return absolutePath.toRealPath(); - } catch (final IOException ex) { - return absolutePath; - } - } - - private static boolean isSameDocument(final URI left, final URI right) { - final String leftScheme = left.getScheme(); - final String rightScheme = right.getScheme(); - return (leftScheme == null ? rightScheme == null : leftScheme.equalsIgnoreCase(rightScheme)) // - && Objects.equals(left.getRawSchemeSpecificPart(), right.getRawSchemeSpecificPart()); - } - - private boolean isSameDocumentNavigation(final URI target, final Path targetPath) { - final URI current = MiscUtils.toURI(browser.getUrl()); - if (current == null) - return false; - - final Path currentPath = toRegularFilePath(current); - if (currentPath != null) - return currentPath.equals(targetPath); - - return isSameDocument(current, target); - } - - /** - * Sets the handler used when a clicked link in rendered HTML resolves to an existing local file. - *

    - * This renderer handles the browser-specific work first: internal preview page loads and same-document anchors are - * ignored, then this class accepts only {@code file:} links, strips URI fragments, converts the target to a - * {@link Path}, and verifies that it is a regular file. The handler only decides what Eclipse should do with that - * resolved local file. - */ - public void setLocalFileLinkHandler(final @Nullable LocalFileLinkHandler localFileLinkHandler) { - this.localFileLinkHandler = localFileLinkHandler; - } - - @Override - public void dispose() { - renderers.forEach(ext -> ext.renderer.dispose()); - renderers.clear(); - browser.dispose(); - } - - @Override - public float getZoom() { - final var pageStateKey = currentPageStateKey; - if (pageStateKey == null) - return 1.0f; - final var pageState = pageStates.get(pageStateKey); - return pageState == null ? 1.0f : pageState.zoomLevel; - } - - @Override - public synchronized void setZoom(final float level) { - final var pageStateKey = currentPageStateKey; - if (pageStateKey != null) { - final var pageState = pageStates.computeIfAbsent(pageStateKey, k -> new PageState()); - pageState.zoomLevel = level; - browser.setZoom(level); - } - } - - private synchronized void navigateTo(final ContentSource source, final Path renderedContentPath) { - var pageStateKey = currentPageStateKey; - if (pageStateKey != null) { - final var pageState = pageStates.get(pageStateKey); - if (pageState != null) { - pageState.scrollPos = browser.getScrollPos(); - } - } - - pageStateKey = currentPageStateKey = source.path().toString(); - final var pageState = pageStates.computeIfAbsent(pageStateKey, k -> new PageState()); - currentRenderedContentPath = toCanonicalPath(renderedContentPath); - browser.navigateTo(renderedContentPath).thenRun(() -> { - if (pageState.zoomLevel != 1.0f) { - browser.setZoom(pageState.zoomLevel); - } - if (pageState.scrollPos.get1() > 0 || pageState.scrollPos.get2() > 0) { - browser.setScrollPos(pageState.scrollPos); - } - }); - } - - @Override - public boolean render(final ContentSource source, final boolean forceCacheUpdate) throws IOException { - final var path = source.path(); - - final var renderCache = source.isSynced() // - ? renderCacheOfFiles - : renderCacheOfEditors; - - final ThrowingFunction cacheFunction = sourceArg -> { - Exception renderException = null; - for (final var rendererExt : renderers) { - if (rendererExt.supports(sourceArg)) { - final var htmlBuilder = new StringBuilder(); - try { - rendererExt.renderer.renderToHtml(sourceArg, htmlBuilder); - } catch (RuntimeException | IOException ex) { - renderException = ex; - break; - } - adjustHTML(path, htmlBuilder); - return htmlBuilder; - } - } - if (renderException != null) { - Exceptions.throwSneakily(renderException); - } - return null; - }; - - final Path renderedContentPath = forceCacheUpdate // - ? renderCache.replace(source, cacheFunction, "html") - : renderCache.computeIfAbsent(source, cacheFunction, "html"); - - if (renderedContentPath != null) { - navigateTo(source, renderedContentPath); - return true; - } - - if (source.isSynced()) { - if (passthroughHtmlRenderer.supports(source) || passthroughXmlRenderer.supports(source)) { - navigateTo(source, path); - return true; - } - } else { - if (passthroughHtmlRenderer.supports(source)) { - navigateTo(source, asNonNull(renderCache.computeIfAbsent(source, sourceArg -> { - final var htmlBuilder = new StringBuilder(); - htmlBuilder.append(source.contentAsString()); - adjustHTML(path, htmlBuilder); - return htmlBuilder; - }, "html"))); - return true; - } - - if (passthroughXmlRenderer.supports(source)) { - navigateTo(source, asNonNull(renderCache.computeIfAbsent(source, sourceArg -> source.contentAsString(), "xml"))); - return true; - } - } - return false; - } - - private void adjustHTML(final Path path, final StringBuilder html) { - // add meta footer - html.append(""); - - // add tag to be able to resolve relatively referenced images - final var headEndPos = html.indexOf(""); - html.insert(headEndPos > -1 ? headEndPos : 0, ""); - - // make # anchor tags work while having defined - // see https://stackoverflow.com/questions/8108836/make-anchor-links-refer-to-the-current-page-when-using-base - html.insert(headEndPos > -1 ? headEndPos : 0, """ - - """); - } - - public boolean supports(final ContentSource source) { - return passthroughHtmlRenderer.supports(source) || passthroughXmlRenderer.supports(source) || renderers.stream() // - .anyMatch(renderer -> renderer.supports(source)); - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/html/HtmlFilePreviewRenderer.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/html/HtmlFilePreviewRenderer.java deleted file mode 100644 index d3f193a..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/html/HtmlFilePreviewRenderer.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.renderer.html; - -import java.io.IOException; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.api.HtmlPreviewRenderer; - -/** - * @author Sebastian Thomschke - */ -public class HtmlFilePreviewRenderer implements HtmlPreviewRenderer { - - @Override - public void dispose() { - } - - @Override - public void renderToHtml(final ContentSource source, final Appendable out) throws IOException { - throw new UnsupportedOperationException(); - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/html/SvgPreviewRenderer.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/html/SvgPreviewRenderer.java deleted file mode 100644 index 6a2e10d..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/html/SvgPreviewRenderer.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.renderer.html; - -import java.io.IOException; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.api.HtmlPreviewRenderer; -import de.sebthom.eclipse.previewer.util.MiscUtils; -import de.sebthom.eclipse.previewer.util.StringUtils; -import net.sf.jstuff.core.Strings; - -/** - * @author Sebastian Thomschke - */ -public class SvgPreviewRenderer implements HtmlPreviewRenderer { - - @Override - public void dispose() { - } - - @Override - public void renderToHtml(final ContentSource source, final Appendable out) throws IOException { - - out.append(""" - - - - - - - """); - - out.append(StringUtils.htmlSvgWithHoverDownloadButton("") + "")); - out.append(StringUtils.htmlInfoBox(source.shortDisplayPath() + " " + MiscUtils.getCurrentTime())); - out.append(""); - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/html/XmlPreviewRenderer.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/html/XmlPreviewRenderer.java deleted file mode 100644 index f6c73af..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/html/XmlPreviewRenderer.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.renderer.html; - -import java.io.IOException; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.api.HtmlPreviewRenderer; - -/** - * @author Sebastian Thomschke - */ -public class XmlPreviewRenderer implements HtmlPreviewRenderer { - - @Override - public void dispose() { - } - - @Override - public void renderToHtml(final ContentSource source, final Appendable out) throws IOException { - throw new UnsupportedOperationException(); - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/html/package-info.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/html/package-info.java deleted file mode 100644 index c8a85b7..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/html/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.renderer.html; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/package-info.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/package-info.java deleted file mode 100644 index ace3674..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/renderer/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.renderer; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/BrowserWrapper.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/BrowserWrapper.java deleted file mode 100644 index 1d086f9..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/BrowserWrapper.java +++ /dev/null @@ -1,249 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.ui; - -import java.io.IOException; -import java.net.URI; -import java.nio.file.Path; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.CompletionStage; -import java.util.function.Predicate; - -import org.apache.commons.lang3.SystemUtils; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.swt.SWT; -import org.eclipse.swt.SWTException; -import org.eclipse.swt.browser.Browser; -import org.eclipse.swt.browser.LocationAdapter; -import org.eclipse.swt.browser.LocationEvent; -import org.eclipse.swt.browser.ProgressAdapter; -import org.eclipse.swt.browser.ProgressEvent; -import org.eclipse.swt.browser.ProgressListener; -import org.eclipse.swt.dnd.Clipboard; -import org.eclipse.swt.dnd.TextTransfer; -import org.eclipse.swt.dnd.Transfer; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.services.IDisposable; - -import de.sebthom.eclipse.commons.ui.UI; -import de.sebthom.eclipse.previewer.Plugin; -import de.sebthom.eclipse.previewer.prefs.PluginPreferences; -import de.sebthom.eclipse.previewer.util.MiscUtils; -import net.sf.jstuff.core.collection.tuple.Tuple2; - -/** - * @author Sebastian Thomschke - */ -public final class BrowserWrapper implements IDisposable { - - private static Browser createBrowser(final Composite parent) { - if (!SystemUtils.IS_OS_WINDOWS) - return new Browser(parent, SWT.NONE); - - final int style = switch (PluginPreferences.getWebView()) { - case "edge" -> SWT.EDGE; - // The stored value is "default" for historical reasons. On old SWT releases, SWT.NONE was IE on Windows; - // on newer releases, request SWT.IE reflectively to keep that preference stable. - case "default" -> getInternetExplorerBrowserStyle(); - default -> SWT.NONE; - }; - - try { - return new Browser(parent, style); - } catch (final SWTException ex) { - Plugin.log().error(ex); - return new Browser(parent, SWT.NONE); - } - } - - private static int getInternetExplorerBrowserStyle() { - try { - return SWT.class.getField("IE").getInt(null); - } catch (final NoSuchFieldException | IllegalAccessException | IllegalArgumentException | SecurityException ex) { - return SWT.NONE; - } - } - - private final Browser browser; - private final Clipboard clipboard; - private @Nullable Predicate shouldOverrideNavigation; - - public BrowserWrapper(final Composite parent) { - final var browser = createBrowser(parent); - this.browser = browser; - clipboard = new Clipboard(parent.getDisplay()); - - // Workaround for Eclipse keybinding handling: Ctrl+C often triggers the workbench Copy command, - // which does not propagate the embedded web selection to the system clipboard. - // Copy the current web selection ourselves when the Browser has focus. - browser.addListener(SWT.KeyDown, event -> { - if (this.browser.isDisposed()) - return; - - final boolean mod1 = (event.stateMask & SWT.MOD1) != 0; - // SWT uses ASCII key codes for letters in KeyDown events. - if (!mod1 || event.keyCode != 'c' && event.keyCode != 'C') - return; - - final String selection = getSelectedText(); - if (selection.isEmpty()) - return; - - clipboard.setContents(new Object[] {selection}, new Transfer[] {TextTransfer.getInstance()}); - event.doit = false; - }); - - browser.addLocationListener(new LocationAdapter() { - @Override - public void changing(final LocationEvent event) { - final URI target = MiscUtils.toURI(event.location); - if (target == null) - return; - - final var shouldOverrideNavigation = BrowserWrapper.this.shouldOverrideNavigation; - try { - if (shouldOverrideNavigation != null && shouldOverrideNavigation.test(target)) { - event.doit = false; - } - } catch (final RuntimeException ex) { - Plugin.log().warn(ex, "Cannot handle browser navigation to [" + target + "]."); - } - } - }); - } - - /** - * Sets a callback that can override user-initiated browser navigation before the embedded browser follows the target - * URI. - *

    - * Return {@code true} when the target was handled elsewhere and the embedded browser should cancel its native - * navigation. Return {@code false} to let the browser continue normally. - */ - public void setShouldOverrideNavigation(final @Nullable Predicate shouldOverrideNavigation) { - this.shouldOverrideNavigation = shouldOverrideNavigation; - } - - private String getSelectedText() { - if (browser.isDisposed()) - return ""; - - try { - final Object result = browser.evaluate(""" - try { - return (window.getSelection && window.getSelection().toString()) || ""; - } catch (e) { - return ""; - } - """); - return result instanceof final String s ? s : ""; - } catch (final SWTException ex) { - Plugin.log().warn(ex, "Cannot read browser selection."); - return ""; - } - } - - public boolean setContent(final String content) { - return UI.supply(() -> { - if (browser.isDisposed()) - return false; - - return browser.setText(content); - }); - } - - public CompletionStage<@Nullable Void> navigateTo(Path target) { - if (SystemUtils.IS_OS_WINDOWS && target.toString().contains("~")) { - try { - target = target.toRealPath(); // resolve 8.3 short paths, this is required to make save/restore BrowserScrollPos work reliably - } catch (final IOException ex) { - Plugin.log().error(ex); - } - } - return navigateTo(target.toUri()); - } - - public CompletionStage<@Nullable Void> navigateTo(final URI target) { - return navigateTo(target.toString()); - } - - private ProgressListener onPageLoaded = new ProgressAdapter() {}; - - public CompletionStage<@Nullable Void> navigateTo(final String url) { - return UI.supply(() -> { - if (browser.isDisposed()) - return CompletableFuture.failedStage(new IllegalStateException("Browser is already disposed")); - - browser.removeProgressListener(onPageLoaded); - - final var future = new CompletableFuture<@Nullable Void>(); - onPageLoaded = new ProgressAdapter() { - @Override - public void completed(final ProgressEvent event) { - browser.removeProgressListener(this); - future.complete(null); - } - }; - browser.addProgressListener(onPageLoaded); - - if (browser.setUrl(url)) - return future; - - browser.removeProgressListener(onPageLoaded); - return CompletableFuture.failedStage(new IllegalStateException("Failed to navigate to " + url + " for an unknown reason.")); - }); - } - - public String getUrl() { - return UI.supply(() -> browser.isDisposed() ? "" : browser.getUrl()); - } - - public Tuple2 getScrollPos() { - return UI.supply(() -> { - try { - if (browser.evaluate(""" - return window.pageXOffset || (document.documentElement - && document.documentElement.scrollLeft) || (document.body && document.body.scrollLeft) || 0; - """) instanceof final Number posX && browser.evaluate(""" - return window.pageYOffset || (document.documentElement - && document.documentElement.scrollTop) || (document.body && document.body.scrollTop) || 0; - """) instanceof final Number posY) - return Tuple2.create(posX.intValue(), posY.intValue()); - } catch (final SWTException ex) { - Plugin.log().warn(ex, "Cannot determine scroll position."); - } - return Tuple2.create(0, 0); - }); - } - - public void setScrollPos(final Tuple2 pos) { - UI.run(() -> browser.execute(String.format("window.scrollTo(%d, %d);", pos.get1(), pos.get2()))); - } - - public float getZoom() { - return UI.supply(() -> { - if (browser.evaluate(""" - const transform = document.body.style.transform; - if (transform) return 1; - - const scaleMatch = transform.match(/scale\\(([^)]+)\\)/); - return scaleMatch ? parseFloat(scaleMatch[1]) : 1; - """) instanceof final Number zoom) - return zoom.floatValue(); - return 1.0f; - }); - } - - public void setZoom(final float zoom) { - UI.run(() -> browser.execute("document.body.style.transform = 'scale(" + zoom + ")';document.body.style.transformOrigin = '0 0';")); - } - - @Override - public void dispose() { - clipboard.dispose(); - browser.dispose(); - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/PreviewComposite.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/PreviewComposite.java deleted file mode 100644 index 36b7f65..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/PreviewComposite.java +++ /dev/null @@ -1,241 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.ui; - -import java.net.URI; -import java.nio.file.Path; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.concurrent.CompletableFuture; - -import org.apache.commons.lang3.SystemUtils; -import org.apache.commons.lang3.mutable.MutableFloat; -import org.eclipse.core.filesystem.EFS; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.StackLayout; -import org.eclipse.swt.custom.StyledText; -import org.eclipse.swt.layout.FillLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.ide.FileStoreEditorInput; -import org.eclipse.ui.ide.IDE; - -import de.sebthom.eclipse.commons.ui.UI; -import de.sebthom.eclipse.previewer.Constants; -import de.sebthom.eclipse.previewer.Plugin; -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.api.PreviewRenderer; -import de.sebthom.eclipse.previewer.prefs.PluginPreferences; -import de.sebthom.eclipse.previewer.renderer.PreviewRendererExtension; -import de.sebthom.eclipse.previewer.renderer.html.ExtensibleHtmlPreviewRenderer; -import de.sebthom.eclipse.previewer.util.ContentSources; -import de.sebthom.eclipse.previewer.util.MiscUtils; -import net.sf.jstuff.core.exception.Exceptions; - -/** - * Base rendering composite reused by {@link PreviewEditor} and {@link PreviewView}. - * - * @author Sebastian Thomschke - */ -final class PreviewComposite extends Composite { - - static final String MARKDOWN_WEBVIEW_CRASHED = """ - If you see this message, it means the **Microsoft Edge WebView2** view has crashed. You can try the following solutions: - - 1. Restart Eclipse. - 2. Restart your computer. - 3. Switch to using the **Internet Explorer WebView** via **Window > Preferences > Previewer > Web View Implementation**. - 4. Download/install a newer WebView2 version from: https://developer.microsoft.com/microsoft-edge/webview2 - """; - - private final Map, Composite> renderers = new LinkedHashMap<>(); - private final StackLayout stack = new StackLayout(); - private final boolean openPreviewableLinksInPreviewEditor; - private StyledText infoPanel; - - static PreviewComposite forPreviewEditor(final Composite parent, final int style) { - return new PreviewComposite(parent, style, true); - } - - static PreviewComposite forPreviewView(final Composite parent, final int style) { - return new PreviewComposite(parent, style, false); - } - - private PreviewComposite(final Composite parent, final int style, final boolean openPreviewableLinksInPreviewEditor) { - super(parent, style); - this.openPreviewableLinksInPreviewEditor = openPreviewableLinksInPreviewEditor; - setLayout(stack); - - infoPanel = new StyledText(this, SWT.NONE); - infoPanel.setLeftMargin(10); - infoPanel.setRightMargin(10); - infoPanel.setTopMargin(10); - infoPanel.setBottomMargin(5); - infoPanel.setWordWrap(true); - infoPanel.setCaret(null); - - loadRenderersFromExtensionPoints(); - } - - @Override - public void dispose() { - renderers.keySet().forEach(ext -> ext.renderer.dispose()); - renderers.clear(); - super.dispose(); - } - - @SuppressWarnings("all") - float getZoom() { - final var zoom = new MutableFloat(1); - renderers.entrySet().stream() // - .filter(e -> e.getValue() == stack.topControl) // - .findFirst().ifPresent(e -> zoom.setValue(e.getKey().renderer.getZoom())); - return zoom.floatValue(); - } - - private void loadRenderersFromExtensionPoints() { - for (final IConfigurationElement ce : Plugin.getExtensionConfigurations(Constants.EXTENSION_POINT_RENDERERS)) { - final String extensionName = ce.getName(); - if ("previewRenderer".equals(extensionName)) { - try { - final var rendererExt = new PreviewRendererExtension(ce); - final var rendererParent = new Composite(this, SWT.NONE); - rendererParent.setLayout(new FillLayout()); - rendererExt.renderer.init(rendererParent); - if (rendererExt.renderer instanceof final ExtensibleHtmlPreviewRenderer htmlRenderer) { - htmlRenderer.setLocalFileLinkHandler(this::openLocalFileLink); - } - renderers.put(rendererExt, rendererParent); - } catch (final LinkageError | CoreException ex) { - Plugin.log().error(ex); - } - } - } - } - - private boolean canPreview(final ContentSource source) { - for (final var rendererExt : renderers.keySet()) { - final var renderer = rendererExt.renderer; - if (renderer instanceof final ExtensibleHtmlPreviewRenderer htmlRenderer) { - if (htmlRenderer.supports(source)) - return true; - } else if (rendererExt.supports(source)) - return true; - } - return false; - } - - private static @Nullable IFile findWorkspaceFile(final URI uri) { - for (final IFile file : ResourcesPlugin.getWorkspace().getRoot().findFilesForLocationURI(uri)) { - if (file.exists()) - return file; - } - return null; - } - - private boolean openExternalFile(final IWorkbenchPage page, final URI target, final boolean previewable) throws CoreException { - final var fileStore = EFS.getStore(target); - if (shouldOpenInPreviewEditor(previewable)) { - page.openEditor(new FileStoreEditorInput(fileStore), PreviewEditor.ID, true); - } else { - IDE.openEditorOnFileStore(page, fileStore); - } - return true; - } - - private void openWorkspaceFile(final IWorkbenchPage page, final IFile workspaceFile, final boolean previewable) throws CoreException { - if (shouldOpenInPreviewEditor(previewable)) { - IDE.openEditor(page, workspaceFile, PreviewEditor.ID, true); - } else { - IDE.openEditor(page, workspaceFile, true); - } - } - - private boolean shouldOpenInPreviewEditor(final boolean previewable) { - // Preview View opens normal editors so activation drives its follow-active-editor behavior; Preview Editor opens - // preview links as standalone preview editors. - return previewable && openPreviewableLinksInPreviewEditor; - } - - private boolean openLocalFileLink(final Path path, final URI target) { - final var page = UI.getActiveWorkbenchPage(); - if (page == null) - return false; - - final boolean previewable = canPreview(ContentSources.of(path)); - try { - final IFile workspaceFile = findWorkspaceFile(target); - if (workspaceFile != null) { - openWorkspaceFile(page, workspaceFile, previewable); - return true; - } - - return openExternalFile(page, target, previewable); - } catch (final CoreException ex) { - Plugin.log().warn(ex, "Cannot open linked file [" + target + "]."); - return false; - } - } - - void render(final ContentSource source, final boolean forceCacheUpdate) { - if (UI.isUIThread()) { - CompletableFuture.runAsync(() -> render(source, forceCacheUpdate)); - return; - } - - for (final var entry : renderers.entrySet()) { - final var rendererExt = entry.getKey(); - try { - if (rendererExt.supports(source) && rendererExt.renderer.render(source, forceCacheUpdate)) { - if (SystemUtils.IS_OS_WINDOWS && "edge".equals(PluginPreferences.getWebView())) { - showMessage(MARKDOWN_WEBVIEW_CRASHED); - } - showStackElement(entry.getValue()); - return; - } - } catch (final LinkageError | StackOverflowError | Exception ex) { - Plugin.log().error(ex); - showMessage("Failed to render: **" + source.path() + "**\n" // - + "Renderer: **" + rendererExt.renderer.getClass().getName() + "**\n" // - + "Time: **" + MiscUtils.getCurrentTime() + "**\n" // - + "Reason:\n```" + Exceptions.getStackTrace(ex).replace("\t", " ") + "```\n"); - } - } - - showMessage("No renderer found for: **" + source.path() + "**"); - } - - void setZoom(final float zoom) { - renderers.entrySet().stream() // - .filter(e -> e.getValue() == stack.topControl) // - .findFirst().ifPresent(e -> e.getKey().renderer.setZoom(zoom)); - } - - void showMessage(final String markdown) { - UI.run(() -> { - if (!isDisposed()) { - MiscUtils.setMarkdown(infoPanel, markdown); - showStackElement(infoPanel); - } - }); - } - - private void showStackElement(final Control control) { - UI.run(() -> { - if (!isDisposed()) { - stack.topControl = control; - layout(); - } - }); - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/PreviewEditor.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/PreviewEditor.java deleted file mode 100644 index 5ce0886..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/PreviewEditor.java +++ /dev/null @@ -1,195 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.ui; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.lateNonNull; - -import java.nio.file.Path; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IResourceChangeEvent; -import org.eclipse.core.resources.IResourceChangeListener; -import org.eclipse.core.resources.IResourceDelta; -import org.eclipse.core.resources.IResourceDeltaVisitor; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.ToolBar; -import org.eclipse.swt.widgets.ToolItem; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorSite; -import org.eclipse.ui.IFileEditorInput; -import org.eclipse.ui.IURIEditorInput; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.dialogs.PreferencesUtil; -import org.eclipse.ui.part.EditorPart; - -import de.sebthom.eclipse.commons.resources.Resources; -import de.sebthom.eclipse.commons.ui.Buttons; -import de.sebthom.eclipse.commons.ui.UI; -import de.sebthom.eclipse.previewer.Constants; -import de.sebthom.eclipse.previewer.Plugin; -import de.sebthom.eclipse.previewer.command.ToggleLivePreview; -import de.sebthom.eclipse.previewer.util.ContentSources; - -/** - * Preview EditorPart that renders a file without requiring a text editor. - * - * @author Sebastian Thomschke - */ -public final class PreviewEditor extends EditorPart { - - public static final String ID = PreviewEditor.class.getName(); - - private @Nullable IFile workspaceFile; - private @Nullable Path filePath; - - private PreviewComposite renderPane = lateNonNull(); - - private final IResourceChangeListener resourceListener = event -> { - if (workspaceFile == null || event.getType() != IResourceChangeEvent.POST_CHANGE) - return; - final IResourceDelta delta = event.getDelta(); - if (delta == null) - return; - try { - delta.accept((IResourceDeltaVisitor) d -> { - if (d.getResource() instanceof final IFile f && f.equals(workspaceFile)) { - // re-render on save/change when Live Preview is enabled - if (ToggleLivePreview.isLivePreviewEnabled()) { - renderCurrent(false); - } - return false; - } - return true; - }); - } catch (final CoreException ignore) { - // ignore - } - }; - - @Override - public void createPartControl(final Composite parent) { - final var root = new Composite(parent, SWT.NONE); - final var layout = new GridLayout(1, false); - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.horizontalSpacing = 0; - layout.verticalSpacing = 0; - root.setLayout(layout); - - final var toolbar = new ToolBar(root, SWT.FLAT | SWT.RIGHT); - toolbar.setLayoutData(new GridData(SWT.END, SWT.CENTER, true, false)); - - final boolean hiDPI = UI.getDisplay().getDPI().x > 120; - final var zoomIn = new ToolItem(toolbar, SWT.PUSH); - zoomIn.setImage(Plugin.get().getImageRegistry().get(hiDPI ? Constants.IMAGE_ZOOM_IN_2X : Constants.IMAGE_ZOOM_IN)); - zoomIn.setToolTipText("Zoom In"); - Buttons.onSelected(zoomIn, () -> renderPane.setZoom(renderPane.getZoom() + 0.1f)); - - final var zoomReset = new ToolItem(toolbar, SWT.PUSH); - zoomReset.setImage(Plugin.get().getImageRegistry().get(hiDPI ? Constants.IMAGE_ZOOM_RESET_2X : Constants.IMAGE_ZOOM_RESET)); - zoomReset.setToolTipText("Reset Zoom"); - Buttons.onSelected(zoomReset, () -> renderPane.setZoom(1.0f)); - - final var zoomOut = new ToolItem(toolbar, SWT.PUSH); - zoomOut.setImage(Plugin.get().getImageRegistry().get(hiDPI ? Constants.IMAGE_ZOOM_OUT_2X : Constants.IMAGE_ZOOM_OUT)); - zoomOut.setToolTipText("Zoom Out"); - Buttons.onSelected(zoomOut, () -> renderPane.setZoom(renderPane.getZoom() - 0.1f)); - - @SuppressWarnings("unused") - final var separator = new ToolItem(toolbar, SWT.SEPARATOR); - - final var refresh = new ToolItem(toolbar, SWT.PUSH); - refresh.setImage(Plugin.get().getImageRegistry().get(hiDPI ? Constants.IMAGE_REFRESH_2X : Constants.IMAGE_REFRESH)); - refresh.setToolTipText("Refresh"); - Buttons.onSelected(refresh, () -> renderCurrent(true)); - - final var settings = new ToolItem(toolbar, SWT.PUSH); - settings.setImage(Plugin.get().getImageRegistry().get(hiDPI ? Constants.IMAGE_SETTINGS_2X : Constants.IMAGE_SETTINGS)); - settings.setToolTipText("Open Preferences"); - Buttons.onSelected(settings, () -> PreferencesUtil.createPreferenceDialogOn(getSite().getShell(), - de.sebthom.eclipse.previewer.prefs.PluginPreferencePage.class.getName(), null, null).open()); - - renderPane = PreviewComposite.forPreviewEditor(root, SWT.NONE); - renderPane.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); - renderPane.showMessage("Rendering preview..."); - - renderCurrent(false); - } - - @Override - public void dispose() { - ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceListener); - super.dispose(); - } - - @Override - public void doSave(final @Nullable IProgressMonitor monitor) { - // read-only editor - } - - @Override - public void doSaveAs() { - // not supported - } - - @Override - public void init(final @NonNullByDefault({}) IEditorSite site, final @NonNullByDefault({}) IEditorInput input) throws PartInitException { - setSite(site); - setInput(input); - - if (input instanceof final IFileEditorInput fei) { - final var workspaceFile = this.workspaceFile = fei.getFile(); - filePath = Resources.toAbsolutePath(workspaceFile); - setPartName(workspaceFile.getName()); - } else if (input instanceof final IURIEditorInput uei) { - final var uri = uei.getURI(); - if ("file".equalsIgnoreCase(uri.getScheme())) { - filePath = Path.of(uri); - setPartName(filePath.getFileName().toString()); - } else - throw new PartInitException("Unsupported editor input URI: " + uri); - } else - throw new PartInitException("Unsupported editor input: " + input.getClass().getName()); - - // listen for resource changes to refresh on saves - if (workspaceFile != null) { - ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceListener, IResourceChangeEvent.POST_CHANGE); - } - } - - @Override - public boolean isDirty() { - return false; - } - - @Override - public boolean isSaveAsAllowed() { - return false; - } - - private void renderCurrent(final boolean forceCacheUpdate) { - final var path = filePath; - if (path == null) { - renderPane.showMessage("No file selected."); - return; - } - renderPane.render(ContentSources.of(path), forceCacheUpdate); - } - - @Override - public void setFocus() { - renderPane.setFocus(); - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/PreviewView.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/PreviewView.java deleted file mode 100644 index c18d36a..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/PreviewView.java +++ /dev/null @@ -1,242 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.ui; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.lateNonNull; - -import java.time.Duration; -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jface.text.DocumentEvent; -import org.eclipse.jface.text.IDocumentListener; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.FillLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.IEditorReference; -import org.eclipse.ui.IPartListener2; -import org.eclipse.ui.IPartService; -import org.eclipse.ui.IPropertyListener; -import org.eclipse.ui.ISaveablePart; -import org.eclipse.ui.IWorkbenchPartReference; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.handlers.IHandlerService; -import org.eclipse.ui.part.ViewPart; - -import de.sebthom.eclipse.commons.ui.Editors; -import de.sebthom.eclipse.commons.ui.UI; -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.command.ToggleLivePreview; -import de.sebthom.eclipse.previewer.command.TogglePinPreview; -import de.sebthom.eclipse.previewer.ui.editorsupport.CompareEditorSupport; -import de.sebthom.eclipse.previewer.ui.editorsupport.EditorSupport; -import de.sebthom.eclipse.previewer.ui.editorsupport.PreviewEditorSupport; -import de.sebthom.eclipse.previewer.ui.editorsupport.TextEditorSupport; -import de.sebthom.eclipse.previewer.ui.editorsupport.TrackedEditorContext; -import net.sf.jstuff.core.event.ThrottlingEventDispatcher; - -/** - * Preview view that embeds the shared PreviewComposite and handles linking to editors. - * - * @author Sebastian Thomschke - */ -public final class PreviewView extends ViewPart { - - public static final String ID = PreviewView.class.getName(); - - private PreviewComposite renderPane = lateNonNull(); - private final List editorSupports = new ArrayList<>(); - private @Nullable TrackedEditorContext linkedEditorContext; - private IPartService partService = lateNonNull(); - private final ThrottlingEventDispatcher editorTextModifiedEventDispatcher = ThrottlingEventDispatcher // - .builder(TrackedEditorContext.class, Duration.ofMillis(1_000)).build(); - - private final IPropertyListener editorDirtyStateListener = (source, propId) -> { - if (propId == ISaveablePart.PROP_DIRTY && source instanceof final ISaveablePart saveable && !saveable.isDirty()) { - final var linkedEditorContext = this.linkedEditorContext; - if (linkedEditorContext != null && source == linkedEditorContext.getEditor()) { - onDocumentSaved(linkedEditorContext); - } - } - }; - - private final IPartListener2 partListener = new IPartListener2() { - @Override - public void partActivated(final IWorkbenchPartReference partRef) { - if (partRef instanceof final IEditorReference editorRef) { - for (final var support : editorSupports) { - @SuppressWarnings("resource") - final TrackedEditorContext newEditorContext = support.createFrom(editorRef); - if (newEditorContext != null) { - final var linkedEditorContext = PreviewView.this.linkedEditorContext; - if (linkedEditorContext == null || !TogglePinPreview.isPinned()) { - linkToEditorContext(newEditorContext); - } - break; - } - } - } - } - - @Override - public void partClosed(final IWorkbenchPartReference partRef) { - if (partRef instanceof final IEditorReference editorRef) { - final var linkedEditorContext = PreviewView.this.linkedEditorContext; - if (linkedEditorContext != null && editorRef.getEditor(false) == linkedEditorContext.editor) { - linkedEditorContext.document.removeDocumentListener(editorTextModifiedListener); - linkedEditorContext.editor.removePropertyListener(editorDirtyStateListener); - linkedEditorContext.close(); - PreviewView.this.linkedEditorContext = null; - renderPane.showMessage("Open a **supported** file in a text or compare editor to see a rendered preview here."); - - if (TogglePinPreview.isPinned()) { - try { - final IHandlerService handlerService = PlatformUI.getWorkbench().getService(IHandlerService.class); - if (handlerService != null) { - handlerService.executeCommand(TogglePinPreview.COMMAND_ID, null); - } - } catch (final Exception ignore) { - // ignore - } - } - } - } - } - }; - - private final IDocumentListener editorTextModifiedListener = new IDocumentListener() { - @Override - public void documentAboutToBeChanged(final DocumentEvent event) { - } - - @Override - public void documentChanged(final DocumentEvent event) { - final var linkedEditorContext = PreviewView.this.linkedEditorContext; - if (linkedEditorContext != null && linkedEditorContext.document == event.getDocument()) { - editorTextModifiedEventDispatcher.fire(linkedEditorContext); - } - } - }; - - @Override - public void createPartControl(final Composite parent) { - partService = getSite().getWorkbenchWindow().getPartService(); - partService.addPartListener(partListener); - - parent.setLayout(new FillLayout()); - renderPane = PreviewComposite.forPreviewView(parent, SWT.NONE); - renderPane.showMessage("Open a **supported** file in a text or compare editor to see a rendered preview here."); - - editorTextModifiedEventDispatcher.subscribe(this::onDocumentEdited); - - // register editor supports in precedence order - editorSupports.add(new TextEditorSupport()); - editorSupports.add(new CompareEditorSupport()); - editorSupports.add(new PreviewEditorSupport()); - - // try to link to the currently active editor (if not pinned) - linkToActiveEditor(); - } - - @Override - public void dispose() { - partService.removePartListener(partListener); - editorTextModifiedEventDispatcher.close(); - - final var linkedEditorContext = this.linkedEditorContext; - if (linkedEditorContext != null) { - linkedEditorContext.document.removeDocumentListener(editorTextModifiedListener); - linkedEditorContext.editor.removePropertyListener(editorDirtyStateListener); - linkedEditorContext.close(); - } - this.linkedEditorContext = null; - super.dispose(); - } - - public void forceRefresh() { - final var linkedEditorContext = this.linkedEditorContext; - if (linkedEditorContext == null) - return; - final ContentSource source = linkedEditorContext.getSource(); - renderPane.render(source, true); - } - - public float getZoom() { - return renderPane.getZoom(); - } - - public void linkToActiveEditor() { - linkToActiveEditorInternal(); - } - - @SuppressWarnings("resource") - private void linkToActiveEditorInternal() { - if (TogglePinPreview.isPinned()) - return; - final var activeEditor = Editors.getActiveEditor(); - if (activeEditor == null) - return; - - for (final IEditorReference editorRef : activeEditor.getSite().getPage().getEditorReferences()) { - if (editorRef.getEditor(false) == activeEditor) { - for (final var support : editorSupports) { - final TrackedEditorContext newEditorContext = support.createFrom(editorRef); - if (newEditorContext != null) { - linkToEditorContext(newEditorContext); - return; - } - } - return; - } - } - } - - private void linkToEditorContext(final TrackedEditorContext newEditorContext) { - final var linkedEditorContext = this.linkedEditorContext; - if (linkedEditorContext != null) { - linkedEditorContext.document.removeDocumentListener(editorTextModifiedListener); - linkedEditorContext.editor.removePropertyListener(editorDirtyStateListener); - linkedEditorContext.close(); - } - newEditorContext.editor.addPropertyListener(editorDirtyStateListener); - newEditorContext.document.addDocumentListener(editorTextModifiedListener); - this.linkedEditorContext = newEditorContext; - renderPane.render(newEditorContext.getSource(), false); - } - - private void onDocumentEdited(final TrackedEditorContext editorCtx) { - if (editorCtx == linkedEditorContext && ToggleLivePreview.isLivePreviewEnabled()) { - renderPane.render(editorCtx.getSource(), false); - } - } - - private void onDocumentSaved(final TrackedEditorContext editorCtx) { - if (editorCtx == linkedEditorContext) { - renderPane.render(editorCtx.getSource(), false); - } - } - - public void openEditor() { - final var page = UI.getActiveWorkbenchPage(); - if (page == null) - return; - final var linkedEditorContext = this.linkedEditorContext; - if (linkedEditorContext != null) { - linkedEditorContext.activateEditor(); - } - } - - @Override - public void setFocus() { - renderPane.setFocus(); - } - - public void setZoom(final float zoom) { - renderPane.setZoom(zoom); - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/editorsupport/CompareEditorSupport.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/editorsupport/CompareEditorSupport.java deleted file mode 100644 index b22cb79..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/editorsupport/CompareEditorSupport.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.ui.editorsupport; - -import java.nio.file.Path; - -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.ui.IEditorReference; - -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.command.ToggleLivePreview; -import de.sebthom.eclipse.previewer.util.CompareEditorUtils; -import de.sebthom.eclipse.previewer.util.CompareEditorUtils.CompareEditorRef; -import de.sebthom.eclipse.previewer.util.CompareEditorUtils.CompareEditorSide; -import de.sebthom.eclipse.previewer.util.CompareEditorUtils.SharedDocContext; -import de.sebthom.eclipse.previewer.util.ContentSources; - -/** - * @author Sebastian Thomschke - */ -public final class CompareEditorSupport implements EditorSupport { - - public static final class TrackedCompareEditorContext extends TrackedEditorContext { - - private final CompareEditorRef compareEditor; - private final SharedDocContext sharedDocCtx; - private final CompareEditorSide side; - - TrackedCompareEditorContext(final CompareEditorRef compareEditor, final Path path, final SharedDocContext sharedDocCtx, - final CompareEditorSide side) { - super(compareEditor.editor(), path, sharedDocCtx.doc()); - this.compareEditor = compareEditor; - this.sharedDocCtx = sharedDocCtx; - this.side = side; - } - - @Override - public void close() { - try { - sharedDocCtx.close(); - } catch (final Exception ignore) { - // - } - } - - @Override - public ContentSource getSource() { - if (ToggleLivePreview.isLivePreviewEnabled()) - return ContentSources.of(sharedDocCtx.virtualPathName(), sharedDocCtx.doc().get()); - final var cs = CompareEditorUtils.resolve(compareEditor.input(), side); - return cs != null ? cs : ContentSources.of(sharedDocCtx.virtualPathName(), sharedDocCtx.doc().get()); - } - } - - @SuppressWarnings("resource") - @Override - public @Nullable TrackedCompareEditorContext createFrom(final IEditorReference editorRef) { - final CompareEditorRef ref = CompareEditorUtils.getCompareEditor(editorRef); - if (ref == null) - return null; - - // Prefer LEFT side, with fallback handled internally by util - final CompareEditorSide side = CompareEditorSide.LEFT; - final SharedDocContext shared = CompareEditorUtils.connectSharedDocument(ref.input(), side); - if (shared == null) - return null; - - final ContentSource resolved = CompareEditorUtils.resolve(ref.input(), side); - final Path path = resolved != null ? resolved.path() : Path.of(shared.virtualPathName()); - return new TrackedCompareEditorContext(ref, path, shared, side); - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/editorsupport/EditorSupport.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/editorsupport/EditorSupport.java deleted file mode 100644 index 4444674..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/editorsupport/EditorSupport.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.ui.editorsupport; - -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.ui.IEditorReference; - -/** - * SPI for wiring editor types to PreviewComposite via contexts. - * - * Implementations should be internal to this plugin and registered - * manually in PreviewComposite's constructor, in precedence order. - * - * @author Sebastian Thomschke - */ -public interface EditorSupport { - - @Nullable - TrackedEditorContext createFrom(IEditorReference editorRef); -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/editorsupport/PreviewEditorSupport.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/editorsupport/PreviewEditorSupport.java deleted file mode 100644 index 9ad3511..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/editorsupport/PreviewEditorSupport.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.ui.editorsupport; - -import java.nio.file.Path; - -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jface.text.Document; -import org.eclipse.ui.IEditorReference; -import org.eclipse.ui.IFileEditorInput; -import org.eclipse.ui.IURIEditorInput; -import org.eclipse.ui.PartInitException; - -import de.sebthom.eclipse.commons.resources.Resources; -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.ui.PreviewEditor; -import de.sebthom.eclipse.previewer.util.ContentSources; - -/** - * EditorSupport for the {@link PreviewEditor}, so the Preview view can link to it. - * - * @author Sebastian Thomschke - */ -public final class PreviewEditorSupport implements EditorSupport { - - public static final class TrackedPreviewEditorContext extends TrackedEditorContext { - - TrackedPreviewEditorContext(final PreviewEditor editor, final Path file) { - super(editor, file, new Document()); - } - - @Override - public ContentSource getSource() { - return ContentSources.of(file); - } - } - - @Override - public @Nullable TrackedPreviewEditorContext createFrom(final IEditorReference editorRef) { - if (!(editorRef.getEditor(false) instanceof final PreviewEditor editor)) - return null; - try { - final var input = editorRef.getEditorInput(); - Path file = null; - if (input instanceof final IFileEditorInput fei) { - file = Resources.toAbsolutePath(fei.getFile()); - } else if (input instanceof final IURIEditorInput uei) { - final var uri = uei.getURI(); - if ("file".equalsIgnoreCase(uri.getScheme())) { - file = Path.of(uri); - } - } - return file != null ? new TrackedPreviewEditorContext(editor, file) : null; - } catch (final PartInitException ignore) { - return null; - } - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/editorsupport/TextEditorSupport.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/editorsupport/TextEditorSupport.java deleted file mode 100644 index 23ad9bc..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/editorsupport/TextEditorSupport.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.ui.editorsupport; - -import java.nio.file.Path; - -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jface.text.IDocument; -import org.eclipse.ui.IEditorReference; -import org.eclipse.ui.texteditor.ITextEditor; - -import de.sebthom.eclipse.commons.ui.Editors; -import de.sebthom.eclipse.previewer.api.ContentSource; -import de.sebthom.eclipse.previewer.command.ToggleLivePreview; -import de.sebthom.eclipse.previewer.util.ContentSources; - -/** - * @author Sebastian Thomschke - */ -public final class TextEditorSupport implements EditorSupport { - - public static final class TrackedTextEditorContext extends TrackedEditorContext { - - TrackedTextEditorContext(final ITextEditor editor, final Path file, final IDocument doc) { - super(editor, file, doc); - } - - @Override - public ITextEditor getEditor() { - return (ITextEditor) editor; - } - - @Override - public ContentSource getSource() { - return ToggleLivePreview.isLivePreviewEnabled() && editor.isDirty() // - ? ContentSources.of(getEditor()) - : ContentSources.of(file); - } - } - - @Override - public @Nullable TrackedTextEditorContext createFrom(final IEditorReference editorRef) { - if (editorRef.getEditor(false) instanceof final ITextEditor editor) { - final Path file = Editors.getFilePath(editor); - if (file == null) - return null; - final var doc = Editors.getDocument(editor); - if (doc == null) - return null; - return new TrackedTextEditorContext(editor, file, doc); - } - return null; - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/editorsupport/TrackedEditorContext.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/editorsupport/TrackedEditorContext.java deleted file mode 100644 index 6685958..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/editorsupport/TrackedEditorContext.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.ui.editorsupport; - -import java.nio.file.Path; - -import org.eclipse.jface.text.IDocument; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.IWorkbenchPage; - -import de.sebthom.eclipse.commons.ui.UI; -import de.sebthom.eclipse.previewer.api.ContentSource; - -/** - * @author Sebastian Thomschke - */ -public abstract class TrackedEditorContext implements AutoCloseable { - - public final IDocument document; - public final IEditorPart editor; - public final Path file; - - protected TrackedEditorContext(final IEditorPart editor, final Path file, final IDocument doc) { - this.editor = editor; - this.file = file; - document = doc; - } - - public void activateEditor() { - final IWorkbenchPage page = UI.getActiveWorkbenchPage(); - if (page != null) { - page.activate(editor); - } - } - - @Override - public void close() { - // default no-op; subclasses may release resources - } - - public IEditorPart getEditor() { - return editor; - } - - public abstract ContentSource getSource(); -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/editorsupport/package-info.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/editorsupport/package-info.java deleted file mode 100644 index 3dcafec..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/editorsupport/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.ui.editorsupport; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/package-info.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/package-info.java deleted file mode 100644 index 522aca6..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/ui/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.ui; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/util/CompareEditorUtils.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/util/CompareEditorUtils.java deleted file mode 100644 index f645275..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/util/CompareEditorUtils.java +++ /dev/null @@ -1,206 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.util; - -import java.io.InputStream; -import java.nio.charset.Charset; -import java.nio.charset.StandardCharsets; -import java.util.Objects; - -import org.apache.commons.io.IOUtils; -import org.eclipse.compare.CompareEditorInput; -import org.eclipse.compare.IEncodedStreamContentAccessor; -import org.eclipse.compare.ISharedDocumentAdapter; -import org.eclipse.compare.IStreamContentAccessor; -import org.eclipse.compare.ITypedElement; -import org.eclipse.compare.SharedDocumentAdapter; -import org.eclipse.compare.structuremergeviewer.ICompareInput; -import org.eclipse.compare.structuremergeviewer.SharedDocumentAdapterWrapper; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.Adapters; -import org.eclipse.jdt.annotation.NonNull; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jface.text.IDocument; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.IEditorReference; -import org.eclipse.ui.texteditor.IDocumentProvider; - -import de.sebthom.eclipse.previewer.Plugin; -import de.sebthom.eclipse.previewer.api.ContentSource; - -/** - * Utilities for working with Eclipse Compare editors and their document content. - * - *

    - * Provides helpers to locate the active Compare editor, connect to a shared - * document for one side (left/right), and resolve that side into a {@link ContentSource}. - *

    - * - * @author Sebastian Thomschke - */ -public final class CompareEditorUtils { - - /** - * Side of a Compare editor to reference. - */ - public enum CompareEditorSide { - LEFT, - RIGHT - } - - /** - * Holds a CompareEditor and its associated CompareEditorInput. - */ - public record CompareEditorRef(@NonNull IEditorPart editor, @NonNull CompareEditorInput input) { - } - - /** - * Connected shared-document context for a Compare side. - * - *

    - * Disconnects automatically on {@link #close()}. - *

    - */ - public record SharedDocContext(@NonNull ISharedDocumentAdapter adapter, @NonNull IDocumentProvider provider, @NonNull IEditorInput key, - @NonNull IDocument doc, @NonNull String virtualPathName) implements AutoCloseable { - - @Override - public void close() { - adapter.disconnect(provider, key); - } - } - - public static final String COMPARE_EDITOR_ID = "org.eclipse.compare.CompareEditor"; - - /** - * Connects to the shared document of the given side of a Compare input. - * - * @param input the Compare editor input - * @param preferredSide which side (LEFT/RIGHT) to reference - * @return a connected {@link SharedDocContext}, or {@code null} if not available - */ - public static @Nullable SharedDocContext connectSharedDocument(final CompareEditorInput input, final CompareEditorSide preferredSide) { - final ITypedElement elem = getCompareElement(input, preferredSide); - if (elem == null) - return null; - final ISharedDocumentAdapter sda = SharedDocumentAdapterWrapper.getAdapter(elem); - if (sda == null) - return null; - final IEditorInput key = sda.getDocumentKey(elem); - if (key == null) - return null; - final IDocumentProvider prov = SharedDocumentAdapter.getDocumentProvider(key); - if (prov == null) - return null; - try { - sda.connect(prov, key); - } catch (final Exception ex) { - return null; - } - final IDocument doc = prov.getDocument(key); - if (doc == null) { - sda.disconnect(prov, key); - return null; - } - return new SharedDocContext(sda, prov, key, doc, virtualPathName(elem)); - } - - /** - * Returns the active Compare editor and input if the given part reference is a Compare editor. - * - * @return a {@link CompareEditorRef} wrapper, or {@code null} if not a Compare editor - */ - public static @Nullable CompareEditorRef getCompareEditor(final IEditorReference editorRef) { - if (!COMPARE_EDITOR_ID.equals(editorRef.getId())) - return null; - - final IEditorPart editor = editorRef.getEditor(false); - if (editor != null && editor.getEditorInput() instanceof final CompareEditorInput compareInput) - return new CompareEditorRef(editor, compareInput); - return null; - } - - /** - * Selects the typed element for the requested side of a Compare input (falling back to the other side if null). - * - * @param input the Compare editor input - * @param preferredSide which side (LEFT/RIGHT) to reference - * @return the selected {@link ITypedElement}, or {@code null} if unavailable - */ - private static @Nullable ITypedElement getCompareElement(final CompareEditorInput input, final CompareEditorSide preferredSide) { - final Object result = input.getCompareResult(); - if (!(result instanceof final ICompareInput ci)) - return null; - - return switch (preferredSide) { - case LEFT -> { - final var elem = ci.getLeft(); - yield elem == null ? ci.getRight() : elem; - } - case RIGHT -> { - final var elem = ci.getRight(); - yield elem == null ? ci.getLeft() : elem; - } - }; - } - - /** - * Resolves the content of the requested side of a Compare input to a {@link ContentSource}. - * - *

    - * If the side adapts to an {@link IFile}, the file-backed source is returned; - * otherwise streamed content is read (respecting {@link IEncodedStreamContentAccessor} if present). - *

    - * - * @param input the Compare editor input - * @param preferredSide which side (LEFT/RIGHT) to reference - * @return a {@link ContentSource}, or {@code null} if the side cannot be resolved - */ - public static @Nullable ContentSource resolve(final CompareEditorInput input, final CompareEditorSide preferredSide) { - final var elem = getCompareElement(input, preferredSide); - if (elem == null) { - Plugin.log().warn("No element in CompareEditor."); - return null; - } - - final IFile file = Adapters.adapt(elem, IFile.class); - if (file != null) - return ContentSources.of(file); - - if (elem instanceof final IStreamContentAccessor sca) { - try (InputStream is = sca.getContents()) { - if (is != null) { - @SuppressWarnings("null") - final Charset cs = elem instanceof final IEncodedStreamContentAccessor esa // - ? Charset.forName(Objects.toString(esa.getCharset(), StandardCharsets.UTF_8.name())) - : StandardCharsets.UTF_8; - return ContentSources.of(virtualPathName(elem), IOUtils.toString(is, cs)); - } - } catch (final Exception ex) { - Plugin.log().error(ex); - } - } - - Plugin.log().warn("Unsupported element " + elem + " in CompareEditor."); - return null; - } - - /** - * Builds a stable virtual path for a non-file compare element. - * - * @param elem the compare element - * @return a virtual path like {@code /virtual/compare/} - */ - private static String virtualPathName(final ITypedElement elem) { - final String name = elem.getName(); - return "/virtual/compare/" + (name == null ? "unknown" : name); - } - - private CompareEditorUtils() { - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/util/ContentSources.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/util/ContentSources.java deleted file mode 100644 index 1d3ab81..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/util/ContentSources.java +++ /dev/null @@ -1,272 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.util; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.asNonNull; - -import java.io.BufferedInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.Reader; -import java.io.StringReader; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.List; - -import org.apache.commons.io.input.CharSequenceInputStream; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.ui.texteditor.ITextEditor; - -import de.sebthom.eclipse.commons.resources.Resources; -import de.sebthom.eclipse.commons.text.ContentTypes; -import de.sebthom.eclipse.commons.ui.Editors; -import de.sebthom.eclipse.previewer.api.ContentSource; -import net.sf.jstuff.core.Strings; - -/** - * @author Sebastian Thomschke - */ -public final class ContentSources { - public static final class ContentSourceSnapshot implements ContentSource { - private final Path path; - private final String content; - private final long lastModified; - private final List contentTypes; - - public ContentSourceSnapshot(final Path path, final String content, final long lastModified, final List contentTypes) { - this.path = path; - this.content = content; - this.lastModified = lastModified; - this.contentTypes = List.copyOf(contentTypes); - } - - @Override - public InputStream contentAsInputStream() throws IOException { - return CharSequenceInputStream.builder().setCharSequence(content).get(); - } - - @Override - public Reader contentAsReader() throws IOException { - return new StringReader(content); - } - - @Override - public String contentAsString() throws IOException { - return content; - } - - @Override - public List contentTypes() { - return contentTypes; - } - - @Override - public boolean isSnapshot() { - return true; - } - - @Override - public boolean isSynced() { - final var file = path.toFile(); - return file.lastModified() == lastModified && file.length() == Strings.lengthUTF8(content); - } - - @Override - public long lastModified() throws IOException { - return lastModified; - } - - @Override - public Path path() { - return path; - } - } - - public static class FileContentSource implements ContentSource { - public final IFile file; - - FileContentSource(final IFile file) { - this.file = file; - } - - @Override - public InputStream contentAsInputStream() throws IOException { - try { - return new BufferedInputStream(file.getContents()); - } catch (final CoreException ex) { - throw new IOException(ex); - } - } - - @Override - public Reader contentAsReader() throws IOException { - try { - return Resources.newBufferedReader(file); - } catch (final CoreException ex) { - throw new IOException(ex); - } - } - - @Override - public String contentAsString() throws IOException { - try { - return Resources.readString(file); - } catch (final CoreException ex) { - throw new IOException(ex); - } - } - - @Override - public List contentTypes() { - return ContentTypes.of(file); - } - - @Override - public boolean isSnapshot() { - return false; - } - - @Override - public boolean isSynced() { - return true; - } - - @Override - public long lastModified() { - return file.getModificationStamp(); - } - - @Override - public Path path() { - return Resources.toAbsolutePath(file); - } - } - - public static class PathContentSource implements ContentSource { - private final Path path; - - PathContentSource(final Path path) { - this.path = path; - } - - @Override - public InputStream contentAsInputStream() throws IOException { - return new BufferedInputStream(Files.newInputStream(path)); - } - - @Override - public Reader contentAsReader() throws IOException { - return Files.newBufferedReader(path); - } - - @Override - public String contentAsString() throws IOException { - return Files.readString(path); - } - - @Override - public List contentTypes() { - return ContentTypes.of(path); - } - - @Override - public boolean isSnapshot() { - return false; - } - - @Override - public boolean isSynced() { - return true; - } - - @Override - public long lastModified() throws IOException { - return Files.getLastModifiedTime(path).toMillis(); - } - - @Override - public Path path() { - return path; - } - } - - public static class TextEditorContentSource implements ContentSource { - public final ITextEditor editor; - - public TextEditorContentSource(final ITextEditor editor) { - this.editor = editor; - } - - @Override - public InputStream contentAsInputStream() { - return CharSequenceInputStream.builder().setCharSequence(contentAsString()).get(); - } - - @Override - public Reader contentAsReader() { - return new StringReader(contentAsString()); - } - - @Override - public String contentAsString() { - return Editors.getText(editor); - } - - @Override - public List contentTypes() { - return ContentTypes.of(path()); - } - - @Override - public boolean isSnapshot() { - return false; - } - - @Override - public boolean isSynced() { - return !editor.isDirty(); - } - - @Override - public long lastModified() { - return editor.isDirty() ? System.currentTimeMillis() : Resources.lastModified(Editors.getFile(editor)); - } - - @Override - public Path path() { - return asNonNull(Editors.getFilePath(editor)); - } - } - - public static ContentSource of(final IFile file) { - return new FileContentSource(file); - } - - public static ContentSource of(final ITextEditor editor) { - return new TextEditorContentSource(editor); - } - - public static ContentSource of(final Path path) { - return new PathContentSource(path); - } - - /** - * Creates a ContentSource from string content with a virtual file path. - * Used for e.g. CompareEditor content where we have the document content but not a physical file. - */ - public static ContentSource of(final String filePath, final String content) { - // Keep the caller-provided virtual path because renderer matching and cache keys both depend on the path string. - final Path virtualPath = Path.of(filePath); - final long now = System.currentTimeMillis(); - return new ContentSourceSnapshot(virtualPath, content, now, ContentTypes.of(virtualPath)); - } - - private ContentSources() { - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/util/MiscUtils.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/util/MiscUtils.java deleted file mode 100644 index 9029648..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/util/MiscUtils.java +++ /dev/null @@ -1,129 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.util; - -import java.net.URI; -import java.net.URISyntaxException; -import java.time.LocalTime; -import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.StyleRange; -import org.eclipse.swt.custom.StyledText; - -import de.sebthom.eclipse.commons.ui.Colors; -import de.sebthom.eclipse.commons.ui.UI; -import net.sf.jstuff.core.graphic.RGB; - -/** - * @author Sebastian Thomschke - */ -public final class MiscUtils { - - public static String getCurrentTime() { - return LocalTime.now().format(DateTimeFormatter.ofPattern("HH:mm:ss")); - } - - public static boolean isDarkEclipseTheme() { - final var bgColor = UI.supply(() -> UI.getShell().getBackground()); - return new RGB(bgColor.getRed(), bgColor.getGreen(), bgColor.getBlue()).getBrightnessFast() < 128; - } - - /** - * Applies basic Markdown formatting to a {@link StyledText} widget. - *

    - * This method parses a limited subset of Markdown syntax in the provided text - * and applies corresponding SWT style ranges to visually format the text. - * Supported Markdown directives include: - *

    - *
      - *
    • Bold**text**
    • - *
    • Inline code`code`
    • - *
    • Code block```block```
    • - *
    - * - *

    - * Example: - *

    - *
    {@code
    -    * var styledText = new StyledText(parent, SWT.NONE);
    -    * MiscUtils.setMarkdown(styledText, "This is **bold**, `inline code`, and ```block code```.");
    -    * }
    - * - * @param styledText the {@link StyledText} control to which the formatted text will be applied - * @param markdown the input string containing Markdown-formatted text - */ - public static void setMarkdown(final StyledText styledText, final String markdown) { - final var markdownDirectivesPattern = Pattern.compile("" // - + "\\*\\*(.*?)\\*\\*" + '|' // bold - + "```(.*?)```" + '|' // code block - + "`([^`]*)`"); // inline code - - final var plainText = new StringBuilder(); - final var styleRanges = new ArrayList(); - int previousEndIndex = 0; - final Matcher markdownDirectivesMatcher = markdownDirectivesPattern.matcher(markdown); - while (markdownDirectivesMatcher.find()) { - plainText.append(markdown, previousEndIndex, markdownDirectivesMatcher.start()); - - // Determine the style based on the matched group - final var styleRange = new StyleRange(); - styleRange.start = plainText.length(); - if (markdownDirectivesMatcher.group(1) != null) { // bold - plainText.append(markdownDirectivesMatcher.group(1)); - styleRange.length = markdownDirectivesMatcher.group(1).length(); - styleRange.fontStyle = SWT.BOLD; - } else if (markdownDirectivesMatcher.group(2) != null) { // code block - plainText.append(markdownDirectivesMatcher.group(2)); - styleRange.length = markdownDirectivesMatcher.group(3).length(); - styleRange.font = JFaceResources.getTextFont(); - styleRange.background = Colors.GRAY; - } else if (markdownDirectivesMatcher.group(3) != null) { // inline code - plainText.append(markdownDirectivesMatcher.group(3)); - styleRange.length = markdownDirectivesMatcher.group(3).length(); - styleRange.font = JFaceResources.getTextFont(); - } - styleRanges.add(styleRange); - previousEndIndex = markdownDirectivesMatcher.end(); - } - - plainText.append(markdown.substring(previousEndIndex)); - styledText.setText(plainText.toString()); - for (final StyleRange styleRange : styleRanges) { - styledText.setStyleRange(styleRange); - } - } - - public static @Nullable URI toURI(final @Nullable String url) { - if (url == null || url.isBlank()) - return null; - try { - return new URI(url); - } catch (final IllegalArgumentException | URISyntaxException ex) { - return null; - } - } - - public static URI withoutFragment(final URI target) { - if (target.getRawFragment() == null) - return target; - try { - return new URI(target.getScheme(), target.getUserInfo(), target.getHost(), target.getPort(), target.getPath(), target.getQuery(), - null); - } catch (final URISyntaxException ex) { - return target; - } - } - - private MiscUtils() { - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/util/SerializablePath.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/util/SerializablePath.java deleted file mode 100644 index 2f8de9d..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/util/SerializablePath.java +++ /dev/null @@ -1,185 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors - * SPDX-License-Identifier: EPL-2.0 - */ -package de.sebthom.eclipse.previewer.util; - -import java.io.IOException; -import java.io.Serializable; -import java.net.URI; -import java.nio.file.FileSystem; -import java.nio.file.LinkOption; -import java.nio.file.Path; -import java.nio.file.WatchEvent.Kind; -import java.nio.file.WatchEvent.Modifier; -import java.nio.file.WatchKey; -import java.nio.file.WatchService; -import java.util.Iterator; - -import org.eclipse.jdt.annotation.Nullable; - -import net.sf.jstuff.core.types.Decorator; - -/** - * @author Sebastian Thomschke - */ -public final class SerializablePath implements Decorator, Path, Serializable { - - private static final long serialVersionUID = 1L; - - public static SerializablePath of(final Path path) { - return new SerializablePath(path); - } - - private final String path; - private transient Path wrapped; - - private SerializablePath(final Path wrapped) { - this.wrapped = wrapped; - path = wrapped.toString(); - } - - @Override - public int compareTo(final Path other) { - return wrapped.compareTo(other); - } - - @Override - public boolean endsWith(final Path other) { - return wrapped.endsWith(other); - } - - @Override - public boolean equals(final @Nullable Object other) { - if (other instanceof final SerializablePath otherPath) - return wrapped.equals(otherPath.wrapped); - else if (other instanceof Path) - return wrapped.equals(other); - - return false; - } - - @Override - public @Nullable Path getFileName() { - return wrapped.getFileName(); - } - - @Override - public FileSystem getFileSystem() { - return wrapped.getFileSystem(); - } - - @Override - public Path getName(final int index) { - return wrapped.getName(index); - } - - @Override - public int getNameCount() { - return wrapped.getNameCount(); - } - - @Override - public @Nullable Path getParent() { - return wrapped.getParent(); - } - - @Override - public @Nullable Path getRoot() { - return wrapped.getRoot(); - } - - @Override - public Path getWrapped() { - return wrapped; - } - - @Override - public int hashCode() { - return wrapped.hashCode(); - } - - @Override - public boolean isAbsolute() { - return wrapped.isAbsolute(); - } - - @Override - public boolean isWrappedGettable() { - return true; - } - - @Override - public boolean isWrappedSettable() { - return false; - } - - @Override - public Iterator iterator() { - return wrapped.iterator(); - } - - @Override - public Path normalize() { - return wrapped.normalize(); - } - - private void readObject(final java.io.ObjectInputStream in) throws IOException, ClassNotFoundException { - in.defaultReadObject(); - wrapped = Path.of(path); - } - - @Override - public WatchKey register(final WatchService watcher, final Kind[] events, final Modifier... modifiers) throws IOException { - return wrapped.register(watcher, events, modifiers); - } - - @Override - public Path relativize(final Path other) { - return wrapped.relativize(other); - } - - @Override - public Path resolve(final Path other) { - return wrapped.resolve(other); - } - - @Override - public void setWrapped(final Path wrapped) { - throw new UnsupportedOperationException(); - } - - @Override - public boolean startsWith(final Path other) { - return wrapped.startsWith(other); - } - - @Override - public Path subpath(final int beginIndex, final int endIndex) { - return wrapped.subpath(beginIndex, endIndex); - } - - @Override - public Path toAbsolutePath() { - return wrapped.toAbsolutePath(); - } - - @Override - public Path toRealPath(final LinkOption... options) throws IOException { - return wrapped.toRealPath(options); - } - - @Override - public String toString() { - return path; - } - - @Override - public URI toUri() { - return wrapped.toUri(); - } - - private void writeObject(final java.io.ObjectOutputStream stream) throws IOException { - stream.defaultWriteObject(); - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/util/StringUtils.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/util/StringUtils.java deleted file mode 100644 index 1297dfb..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/util/StringUtils.java +++ /dev/null @@ -1,357 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -package de.sebthom.eclipse.previewer.util; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.asNonNull; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.apache.commons.lang3.RandomStringUtils; - -import net.sf.jstuff.core.Strings; - -/** - * @author Sebastian Thomschke - */ -public final class StringUtils { - - private static final Pattern[] RESOURCE_TAG_PATTERNS = new Pattern[] { // - Pattern.compile("]*src=[\"']([^\"']*)[\"']"), // - Pattern.compile("]*src=[\"']([^\"']*)[\"']"), // - Pattern.compile("]*href=[\"']([^\"^]*)[\"']"), // - Pattern.compile("]*href=[\"']([^\"']*)[\"']")}; - - private static boolean isRelativeOrLocalPath(final String path) { - return !Strings.startsWithIgnoreCase(path, "http://") // - && !Strings.startsWithIgnoreCase(path, "https://") // - && !Strings.startsWithIgnoreCase(path, "ftp://") // - && Strings.startsWithIgnoreCase(path, "file:/") // - && !path.startsWith("//") // - && !path.startsWith("/"); - } - - public static boolean htmlContainsRelativeOrLocalPaths(final CharSequence html) { - for (final Pattern pattern : RESOURCE_TAG_PATTERNS) { - final Matcher matcher = pattern.matcher(html); - while (matcher.find()) { - final String path = asNonNull(matcher.group(1)); - if (isRelativeOrLocalPath(path)) - return true; - } - } - return false; - } - - public static String htmlInfoBox(final String htmlContent) { - return """ - - - -
    - - - """ + htmlContent + """ - -
    - - - - """; - } - - public static String htmlSvgWithHoverDownloadButton(final String svgContent) { - return Strings.replaceEach(""" - -
    - -
    ${SVG}
    -
    - - - - - - """, "${SVG_ID}", RandomStringUtils.insecure().nextAlphabetic(16), "${SVG}", svgContent); - } - - public static String htmlSvgZoomControls() { - return """ - - - -
    - - - -
    - - - - """; - } - - public static void jsonEscape(final Reader input, final Appendable out) throws IOException { - int c; - - while ((c = input.read()) != -1) { - switch (c) { - case '"' -> out.append("\\\""); - case '\\' -> out.append("\\\\"); - case '\b' -> out.append("\\b"); - case '\f' -> out.append("\\f"); - case '\n' -> out.append("\\n"); - case '\r' -> out.append("\\r"); - case '\t' -> out.append("\\t"); - default -> { - if (c < ' ' || c >= '\u0080' && c < '\u00a0' || c >= '\u2000' && c < '\u2100') { - out.append(String.format("\\u%04x", c)); - } else { - out.append((char) c); - } - } - } - } - } - - public static String minifyCss(final InputStream in) throws IOException { - final var minifiedCss = new StringBuilder(); - boolean inComment = false; - boolean inString = false; - char stringDelimiter = ' '; - - try (var reader = new BufferedReader(new InputStreamReader(in))) { - String line; - while ((line = reader.readLine()) != null) { - line = line.trim(); - for (int i = 0; i < line.length(); i++) { - final char c = line.charAt(i); - - // handle string literals - if (inString) { - minifiedCss.append(c); - if (c == stringDelimiter) { - inString = false; - } - continue; - } - - // handle comments - if (inComment) { - if (c == '*' && i + 1 < line.length() && line.charAt(i + 1) == '/') { - inComment = false; - i++; - } - continue; - } - - // detect comment start - if (c == '/' && i + 1 < line.length()) { - final char next = line.charAt(i + 1); - if (next == '*') { - inComment = true; - i++; - continue; - } - } - - // detect string literals - if (c == '"' || c == '\'') { - inString = true; - stringDelimiter = c; - } - - // add character to output if not in a comment - if (!inComment) { - if (c == ' ' || c == '\t' || c == '\n' || c == '\r') { - // ignore whitespace - if (!minifiedCss.isEmpty() && !Character.isWhitespace(minifiedCss.charAt(minifiedCss.length() - 1))) { - minifiedCss.append(' '); - } - } else { - minifiedCss.append(c); - } - } - } - } - } - - Strings.replaceEach(minifiedCss, // - new String[] {";}", " {", "{ ", " ;", "; ", " :", ": ", " :", ", "}, // - new String[] {"}", "{", "{", ";", ";", ":", ":", ":", ","}); - return minifiedCss.toString(); - } - - private StringUtils() { - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/previewer/util/package-info.java b/plugin/src/main/java/de/sebthom/eclipse/previewer/util/package-info.java deleted file mode 100644 index 94c5586..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/previewer/util/package-info.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: © Sebastian Thomschke and contributors. - * SPDX-FileContributor: Sebastian Thomschke - * SPDX-License-Identifier: EPL-2.0 - * SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/previewer-eclipse-plugin - */ -/** - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.previewer.util; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin/src/main/resources/images/live_preview.png b/plugin/src/main/resources/images/live_preview.png deleted file mode 100644 index 6e2485f..0000000 Binary files a/plugin/src/main/resources/images/live_preview.png and /dev/null differ diff --git a/plugin/src/main/resources/images/live_preview.svg b/plugin/src/main/resources/images/live_preview.svg deleted file mode 100644 index 57b3286..0000000 --- a/plugin/src/main/resources/images/live_preview.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/plugin/src/main/resources/images/live_preview@2x.png b/plugin/src/main/resources/images/live_preview@2x.png deleted file mode 100644 index dd33aa1..0000000 Binary files a/plugin/src/main/resources/images/live_preview@2x.png and /dev/null differ diff --git a/plugin/src/main/resources/images/logo.png b/plugin/src/main/resources/images/logo.png deleted file mode 100644 index fb7ef74..0000000 Binary files a/plugin/src/main/resources/images/logo.png and /dev/null differ diff --git a/plugin/src/main/resources/images/logo@2x.png b/plugin/src/main/resources/images/logo@2x.png deleted file mode 100644 index 864308e..0000000 Binary files a/plugin/src/main/resources/images/logo@2x.png and /dev/null differ diff --git a/plugin/src/main/resources/images/pin_preview.png b/plugin/src/main/resources/images/pin_preview.png deleted file mode 100644 index 7b715ab..0000000 Binary files a/plugin/src/main/resources/images/pin_preview.png and /dev/null differ diff --git a/plugin/src/main/resources/images/pin_preview.svg b/plugin/src/main/resources/images/pin_preview.svg deleted file mode 100644 index 75e965b..0000000 --- a/plugin/src/main/resources/images/pin_preview.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/plugin/src/main/resources/images/pin_preview@2x.png b/plugin/src/main/resources/images/pin_preview@2x.png deleted file mode 100644 index 946a007..0000000 Binary files a/plugin/src/main/resources/images/pin_preview@2x.png and /dev/null differ diff --git a/plugin/src/main/resources/images/refresh.png b/plugin/src/main/resources/images/refresh.png deleted file mode 100644 index ef0c615..0000000 Binary files a/plugin/src/main/resources/images/refresh.png and /dev/null differ diff --git a/plugin/src/main/resources/images/refresh@2x.png b/plugin/src/main/resources/images/refresh@2x.png deleted file mode 100644 index a4a85ee..0000000 Binary files a/plugin/src/main/resources/images/refresh@2x.png and /dev/null differ diff --git a/plugin/src/main/resources/images/settings.png b/plugin/src/main/resources/images/settings.png deleted file mode 100644 index b6f0aa0..0000000 Binary files a/plugin/src/main/resources/images/settings.png and /dev/null differ diff --git a/plugin/src/main/resources/images/settings@2x.png b/plugin/src/main/resources/images/settings@2x.png deleted file mode 100644 index 3e2061e..0000000 Binary files a/plugin/src/main/resources/images/settings@2x.png and /dev/null differ diff --git a/plugin/src/main/resources/images/zoomIn.png b/plugin/src/main/resources/images/zoomIn.png deleted file mode 100644 index b7c9ef3..0000000 Binary files a/plugin/src/main/resources/images/zoomIn.png and /dev/null differ diff --git a/plugin/src/main/resources/images/zoomIn@2x.png b/plugin/src/main/resources/images/zoomIn@2x.png deleted file mode 100644 index 8a0cf87..0000000 Binary files a/plugin/src/main/resources/images/zoomIn@2x.png and /dev/null differ diff --git a/plugin/src/main/resources/images/zoomOut.png b/plugin/src/main/resources/images/zoomOut.png deleted file mode 100644 index 82cb7da..0000000 Binary files a/plugin/src/main/resources/images/zoomOut.png and /dev/null differ diff --git a/plugin/src/main/resources/images/zoomOut@2x.png b/plugin/src/main/resources/images/zoomOut@2x.png deleted file mode 100644 index 9b8fa26..0000000 Binary files a/plugin/src/main/resources/images/zoomOut@2x.png and /dev/null differ diff --git a/plugin/src/main/resources/images/zoomReset.png b/plugin/src/main/resources/images/zoomReset.png deleted file mode 100644 index 5736427..0000000 Binary files a/plugin/src/main/resources/images/zoomReset.png and /dev/null differ diff --git a/plugin/src/main/resources/images/zoomReset@2x.png b/plugin/src/main/resources/images/zoomReset@2x.png deleted file mode 100644 index 6215dae..0000000 Binary files a/plugin/src/main/resources/images/zoomReset@2x.png and /dev/null differ diff --git a/plugins/de.sebthom.eclipse.previewer.drawio_1.0.0.20260601-1954.jar b/plugins/de.sebthom.eclipse.previewer.drawio_1.0.0.20260601-1954.jar new file mode 100644 index 0000000..83278c3 Binary files /dev/null and b/plugins/de.sebthom.eclipse.previewer.drawio_1.0.0.20260601-1954.jar differ diff --git a/plugins/de.sebthom.eclipse.previewer.graphviz_1.0.0.20260601-1954.jar b/plugins/de.sebthom.eclipse.previewer.graphviz_1.0.0.20260601-1954.jar new file mode 100644 index 0000000..cf23d58 Binary files /dev/null and b/plugins/de.sebthom.eclipse.previewer.graphviz_1.0.0.20260601-1954.jar differ diff --git a/plugins/de.sebthom.eclipse.previewer.markdown_1.0.0.20260601-1954.jar b/plugins/de.sebthom.eclipse.previewer.markdown_1.0.0.20260601-1954.jar new file mode 100644 index 0000000..6b46ace Binary files /dev/null and b/plugins/de.sebthom.eclipse.previewer.markdown_1.0.0.20260601-1954.jar differ diff --git a/plugins/de.sebthom.eclipse.previewer.mermaid_1.0.0.20260601-1954.jar b/plugins/de.sebthom.eclipse.previewer.mermaid_1.0.0.20260601-1954.jar new file mode 100644 index 0000000..c23d591 Binary files /dev/null and b/plugins/de.sebthom.eclipse.previewer.mermaid_1.0.0.20260601-1954.jar differ diff --git a/plugins/de.sebthom.eclipse.previewer.plantuml_1.0.0.20260601-1954.jar b/plugins/de.sebthom.eclipse.previewer.plantuml_1.0.0.20260601-1954.jar new file mode 100644 index 0000000..4784a27 Binary files /dev/null and b/plugins/de.sebthom.eclipse.previewer.plantuml_1.0.0.20260601-1954.jar differ diff --git a/plugins/de.sebthom.eclipse.previewer.textmate_1.0.0.20260601-1954.jar b/plugins/de.sebthom.eclipse.previewer.textmate_1.0.0.20260601-1954.jar new file mode 100644 index 0000000..896718a Binary files /dev/null and b/plugins/de.sebthom.eclipse.previewer.textmate_1.0.0.20260601-1954.jar differ diff --git a/plugins/de.sebthom.eclipse.previewer_1.0.0.20260601-1954.jar b/plugins/de.sebthom.eclipse.previewer_1.0.0.20260601-1954.jar new file mode 100644 index 0000000..b1bda92 Binary files /dev/null and b/plugins/de.sebthom.eclipse.previewer_1.0.0.20260601-1954.jar differ diff --git a/plugins/net.sf.jstuff.core_8.2.0.jar b/plugins/net.sf.jstuff.core_8.2.0.jar new file mode 100644 index 0000000..0da53f6 Binary files /dev/null and b/plugins/net.sf.jstuff.core_8.2.0.jar differ diff --git a/plugins/net.sourceforge.plantuml.plantuml-mit_1.2026.2.jar b/plugins/net.sourceforge.plantuml.plantuml-mit_1.2026.2.jar new file mode 100644 index 0000000..d352a3a Binary files /dev/null and b/plugins/net.sourceforge.plantuml.plantuml-mit_1.2026.2.jar differ diff --git a/plugins/org.apache.commons.commons-csv_1.14.1.jar b/plugins/org.apache.commons.commons-csv_1.14.1.jar new file mode 100644 index 0000000..c04b0d6 Binary files /dev/null and b/plugins/org.apache.commons.commons-csv_1.14.1.jar differ diff --git a/plugins/org.apache.commons.commons-io_2.20.0.jar b/plugins/org.apache.commons.commons-io_2.20.0.jar new file mode 100644 index 0000000..5e06db2 Binary files /dev/null and b/plugins/org.apache.commons.commons-io_2.20.0.jar differ diff --git a/plugins/org.apache.commons.lang3_3.19.0.jar b/plugins/org.apache.commons.lang3_3.19.0.jar new file mode 100644 index 0000000..1ee7e03 Binary files /dev/null and b/plugins/org.apache.commons.lang3_3.19.0.jar differ diff --git a/plugins/org.commonmark.ext-autolink_0.28.0.jar b/plugins/org.commonmark.ext-autolink_0.28.0.jar new file mode 100644 index 0000000..116004c Binary files /dev/null and b/plugins/org.commonmark.ext-autolink_0.28.0.jar differ diff --git a/plugins/org.commonmark.ext-footnotes_0.28.0.jar b/plugins/org.commonmark.ext-footnotes_0.28.0.jar new file mode 100644 index 0000000..0d9323a Binary files /dev/null and b/plugins/org.commonmark.ext-footnotes_0.28.0.jar differ diff --git a/plugins/org.commonmark.ext-gfm-alerts_0.28.0.jar b/plugins/org.commonmark.ext-gfm-alerts_0.28.0.jar new file mode 100644 index 0000000..5e062c9 Binary files /dev/null and b/plugins/org.commonmark.ext-gfm-alerts_0.28.0.jar differ diff --git a/plugins/org.commonmark.ext-gfm-strikethrough_0.28.0.jar b/plugins/org.commonmark.ext-gfm-strikethrough_0.28.0.jar new file mode 100644 index 0000000..ad69a02 Binary files /dev/null and b/plugins/org.commonmark.ext-gfm-strikethrough_0.28.0.jar differ diff --git a/plugins/org.commonmark.ext-gfm-tables_0.28.0.jar b/plugins/org.commonmark.ext-gfm-tables_0.28.0.jar new file mode 100644 index 0000000..6482c60 Binary files /dev/null and b/plugins/org.commonmark.ext-gfm-tables_0.28.0.jar differ diff --git a/plugins/org.commonmark.ext-heading-anchor_0.28.0.jar b/plugins/org.commonmark.ext-heading-anchor_0.28.0.jar new file mode 100644 index 0000000..15c03df Binary files /dev/null and b/plugins/org.commonmark.ext-heading-anchor_0.28.0.jar differ diff --git a/plugins/org.commonmark.ext-image-attributes_0.28.0.jar b/plugins/org.commonmark.ext-image-attributes_0.28.0.jar new file mode 100644 index 0000000..752228e Binary files /dev/null and b/plugins/org.commonmark.ext-image-attributes_0.28.0.jar differ diff --git a/plugins/org.commonmark.ext-ins_0.28.0.jar b/plugins/org.commonmark.ext-ins_0.28.0.jar new file mode 100644 index 0000000..16c8a62 Binary files /dev/null and b/plugins/org.commonmark.ext-ins_0.28.0.jar differ diff --git a/plugins/org.commonmark.ext-task-list-items_0.28.0.jar b/plugins/org.commonmark.ext-task-list-items_0.28.0.jar new file mode 100644 index 0000000..1396738 Binary files /dev/null and b/plugins/org.commonmark.ext-task-list-items_0.28.0.jar differ diff --git a/plugins/org.commonmark.ext-yaml-front-matter_0.28.0.jar b/plugins/org.commonmark.ext-yaml-front-matter_0.28.0.jar new file mode 100644 index 0000000..5e244a9 Binary files /dev/null and b/plugins/org.commonmark.ext-yaml-front-matter_0.28.0.jar differ diff --git a/plugins/org.commonmark_0.28.0.jar b/plugins/org.commonmark_0.28.0.jar new file mode 100644 index 0000000..d802c46 Binary files /dev/null and b/plugins/org.commonmark_0.28.0.jar differ diff --git a/plugins/org.nibor.autolink_0.12.0.jar b/plugins/org.nibor.autolink_0.12.0.jar new file mode 100644 index 0000000..40622ea Binary files /dev/null and b/plugins/org.nibor.autolink_0.12.0.jar differ diff --git a/pom.xml b/pom.xml deleted file mode 100644 index c26b847..0000000 --- a/pom.xml +++ /dev/null @@ -1,364 +0,0 @@ - - - - - 4.0.0 - - - com.vegardit.maven - vegardit-maven-parent - 8.1.0 - - - de.sebthom.eclipse.previewer - de.sebthom.eclipse.previewer.parent - 1.0.0-SNAPSHOT - pom - - previewer-eclipse - https://github.com/sebthom/previewer-eclipse-plugin - 2021 - - - Sebastian Thomschke - https://github.com/sebthom - - - - Eclipse Public License 2.0 - repo - https://spdx.org/licenses/EPL-2.0 - - - - - - plugin - plugin-d2 - plugin-drawio - plugin-graphviz - plugin-markdown - plugin-mermaid - plugin-plantuml - plugin-textmate - feature - updatesite - - - - - - https://github.com/sebthom/previewer-eclipse-plugin - scm:git: https://github.com/sebthom/previewer-eclipse-plugin.git - scm:git: https://github.com/sebthom/previewer-eclipse-plugin.git - HEAD - - - - - github.com - https://github.com/sebthom/previewer-eclipse-plugin/issues - - - - - github.com - https://github.com/sebthom/previewer-eclipse-plugin/actions - - - - - 17 - 5.0.3 - - - true - true - - - - - - com.vegardit.no-npe - no-npe-eea-all - [1.3.11,) - provided - - - - - no-npe-snapshots - https://raw.githubusercontent.com/vegardit/no-npe/mvn-snapshots-repo/ - false - true - - - - - - - - - maven-deploy-plugin - - true - - - - - org.codehaus.gmavenplus - gmavenplus-plugin - - - - commons-codec - commons-codec - 1.19.0 - - - - - - org.eclipse.tycho - tycho-bnd-plugin - ${tycho.version} - - - - org.eclipse.tycho - tycho-compiler-plugin - ${tycho.version} - - true - - -annotationpath - CLASSPATH - - - - true - - - - - org.eclipse.tycho - tycho-ds-plugin - ${tycho.version} - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho.version} - - yyyyMMdd-HHmm - - ${project.artifactId}_${unqualifiedVersion}.${buildQualifier} - - - - - org.eclipse.tycho - tycho-p2-plugin - ${tycho.version} - - - - org.eclipse.tycho - tycho-surefire-plugin - ${tycho.version} - - - - org.eclipse.tycho - tycho-versions-plugin - ${tycho.version} - - - org.eclipse.tycho - tycho-p2-director-plugin - ${tycho.version} - - - org.eclipse.tycho - tycho-p2-publisher-plugin - ${tycho.version} - - - org.eclipse.tycho - tycho-p2-repository-plugin - ${tycho.version} - - - - - org.eclipse.m2e - lifecycle-mapping - 1.0.0 - - - - - - org.apache.maven.plugins - maven-clean-plugin - [1.0,) - - clean - - - - - - - - - org.eclipse.tycho - tycho-packaging-plugin - [1.0,) - - build-qualifier-aggregator - validate-id - validate-version - - - - - - - - - org.eclipse.tycho - tycho-compiler-plugin - [1.0,) - - compile - testCompile - - - - - - - - - org.eclipse.tycho - target-platform-configuration - [1.0,) - - target-platform - - - - - - - - - - - - - - - - org.eclipse.tycho - tycho-maven-plugin - ${tycho.version} - true - - - - org.eclipse.tycho - target-platform-configuration - ${tycho.version} - - ignore - - JavaSE-${java.version} - - - ../build.target - - - - linux - gtk - x86_64 - - - macosx - cocoa - x86_64 - - - win32 - win32 - x86_64 - - - - - - org.eclipse.tycho - tycho-source-plugin - ${tycho.version} - - - attach-source - - plugin-source - - - - - - - - - - disable-tycho-packaging-plugin-if-executed-in-eclipse - - - eclipse.application - - - - - - - org.eclipse.tycho - tycho-packaging-plugin - - - default-package-plugin - none - - - - - - - - diff --git a/src/site/img/screen_graphviz.png b/src/site/img/screen_graphviz.png deleted file mode 100644 index 3a157a6..0000000 Binary files a/src/site/img/screen_graphviz.png and /dev/null differ diff --git a/src/site/img/screen_markdown.png b/src/site/img/screen_markdown.png deleted file mode 100644 index a5fdfe8..0000000 Binary files a/src/site/img/screen_markdown.png and /dev/null differ diff --git a/src/site/img/screen_textmate.png b/src/site/img/screen_textmate.png deleted file mode 100644 index 6858a8e..0000000 Binary files a/src/site/img/screen_textmate.png and /dev/null differ diff --git a/updatesite/category.xml b/updatesite/category.xml deleted file mode 100644 index 1512267..0000000 --- a/updatesite/category.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/updatesite/pom.xml b/updatesite/pom.xml deleted file mode 100644 index ecc386b..0000000 --- a/updatesite/pom.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - - - 4.0.0 - - - de.sebthom.eclipse.previewer - de.sebthom.eclipse.previewer.parent - 1.0.0-SNAPSHOT - - - previewer-updatesite - de.sebthom.eclipse.previewer.updatesite - eclipse-repository - - - - http://timestamp.digicert.com?alg=sha256 - - - - - - - - - - - - jarsigner.keystore - - - - - - - org.apache.maven.plugins - maven-jarsigner-plugin - 3.1.0 - - - sign - - sign - - prepare-package - - ${jarsigner.timestamp.url} - - - - verify - - verify - - verify - - true - - - - - ${project.build.directory}/repository/ - - features/${project.groupId}* - plugins/${project.groupId}* - - - false - false - - - - org.eclipse.tycho - tycho-p2-repository-plugin - - - - update - - fix-artifacts-metadata - - - - verify - - verify-repository - - - - - - - - -